CP 343-1 Lean: Resolving the 500ms Update Bottleneck on S7-300
The CP 343-1 Lean communications processor (Siemens order number 6GK7 343-1CX10-0XE0) is widely deployed as a low-cost Ethernet attachment for S7-300 stations. Field reports, however, repeatedly surface one specific failure mode: cyclic data exchange from a supervisory system such as iba PDA, WinCC, or a custom OPC client plateaus at 300–500 ms even when the LAN itself is empty 100 Mbit/s infrastructure. The cause is not the Ethernet cable, the switch, or the SCADA driver — it is the serial S7-300 backplane channel that connects the CPU to the CP, which is fixed at 187.5 kbit/s. This reference explains why that limit exists, how to prove it in the field, and what hardware/software changes actually move the update time below 100 ms.
1. Problem Description
A typical configuration that exhibits the symptom:
- CPU:
6ES7 315-2AG10-0AB0(CPU 315-2DP) or any non-PN CPU in the S7-300 family. - Communications processor:
6GK7 343-1CX10-0XE0(CP 343-1 Lean) seated in slot 4 of the rack. - Supervisory system: iba PDA client requesting process values at a configured update time of 100 ms but receiving them at 500 ms.
- Physical LAN: 100 Mbit/s industrial switch, Cat 5e, RJ45.
- Observed anomaly: a digital input that toggles every 70 ms is captured only every 500 ms; analog values visibly lag.
The user expectation, formed by reading the CP 343-1 Lean datasheet, is that Ethernet bandwidth should govern the throughput. Because the LAN is essentially idle and the PC driver reports no errors, the symptom is misdiagnosed as a polling-rate problem on the SCADA side, an FB call that is too slow, or an OB1 priority issue. None of these address the real constraint.
2. Root Cause: The 187.5 kbit/s Backplane Bus
Inside an S7-300 rack, the CPU and every CP communicate over a serial backplane that is proprietary to the S7-300 platform. The signaling rate is fixed by the CPU's backplane controller and is documented in the S7-300 automation system manual at 187.5 kbit/s. The CP 343-1 Lean has no parallel path to the CPU's process image; every byte — every PUT/GET, every S7 communication frame, every diagnostic request — must traverse that 187.5 kbit/s channel twice (request + acknowledgement).
Useful throughput after protocol overhead is roughly 20–25 kByte/s. At that rate, exchanging a typical 200-byte PDU in S7 communication mode requires about 16 ms of pure backplane time. With multiple subscribed clients (iba, WinCC, plus a programming terminal), 500 ms cycle times are not surprising — they are the expected outcome.
3. CP 343-1 Lean Key Specifications
The following table summarizes the parameters most relevant to data-acquisition throughput. Values are taken from the Siemens CP 343-1 Lean manual (CP 343-1 Lean manual, edition 06/2015) and the S7-300 module data manual.
| Parameter | Value |
|---|---|
| Order number (MLFB) | 6GK7 343-1CX10-0XE0 |
| External interface | 1 × RJ45, 10/100 Mbit/s autonegotiation, full/half duplex |
| Backplane interface | S7-300 serial backplane, 187.5 kbit/s |
| Max. number of connections | 16 total (S7 + SEND/RECEIVE) |
| Supported protocols | S7 communication (PUT/GET), SEND/RECEIVE (ISO-on-TCP, TCP, UDP), FETCH/WRITE, MODBUS TCP (via block library), PROFINET IO Device (limited), Web diagnostics |
| PROFINET IO Controller | Not supported on the Lean variant |
| PG/OP routing | Yes (with STEP 7 ≥ V5.5 SP2) |
| Configuration tool | STEP 7 V5.5 + SPx, or TIA Portal V13 and later |
| Configuration via Web | Yes, port 80 (diagnostics only) |
| Firmware updateable | Yes, via STEP 7 / TIA |
| Diagnostic buffer entries | Yes, read via Web or STEP 7 online |
| Power consumption (24 V) | typ. 180 mA (from backplane + external 24 V) |
| Operating temperature | 0 °C … +60 °C horizontal mounting |
Two facts in this table govern the troubleshooting outcome:
- The backplane rate of 187.5 kbit/s is the binding limit. No configuration change — connection resourcing, PG/OP routing, or FB choice — will raise it.
- The Lean variant is not a PROFINET IO controller. It can act only as PROFINET IO Device on a subset of slot types and cannot substitute for the CPU's own PROFINET interface when cyclic I/O update is required.
4. Confirming the Bottleneck in the Field
Before changing hardware, prove the diagnosis with measurements. Three independent methods give consistent results.
4.1 CP Diagnostic Buffer and Statistics
Open the CP in STEP 7 / TIA online, select Diagnostics > Buffer, and read the CP's communication-statistics block. Look for:
- Backplane utilization counter rising above 70 % during normal cyclic traffic.
-
Rejected connection attempts with error code
0x8001(resource bottleneck on CP). - Time-stamped entries showing PUT/GET round-trips > 100 ms on a 100 Mbit/s LAN.
4.2 Wire-Trace Round-Trip Test
Capture a TCP stream on the switch port using Wireshark or a managed switch's mirrored port. Time the delta between a PUT request and its ACK from the CP. With an empty LAN, a 200-byte S7 PDU typically returns in:
- 8–12 ms when the CPU has its own PROFINET interface.
- 40–120 ms when the CP 343-1 Lean is in the path.
If the round-trip is > 30 ms on an otherwise quiet network, the backplane is the cause.
4.3 OB1 Cycle and FC/FB Loopback Test
Insert a self-triggered PUT/GET pair into OB1 and instrument it with the system clock SFC64 (TIME_TCK). Measure t1 = TIME_TCK before, t2 = TIME_TCK after. If the program itself completes in < 5 ms but the supervisory client still sees 500 ms, the delay is external — on the backplane or on the LAN — and not in the application code.
5. Solution Paths, Ranked by Cost/Disruption
5.1 Path A — Use the CPU's Integrated PROFINET Interface (Recommended)
If the station contains a CPU 31x PN/DP (for example 6ES7 315-2EH14-0AB0 or 6ES7 317-2EK14-0AB0) the cleanest fix is to remove the CP 343-1 Lean entirely and let the supervisory system talk directly to the CPU's built-in PROFINET port. The integrated interface operates at 10/100 Mbit/s and terminates directly on the CPU core — there is no intermediate 187.5 kbit/s bus.
Procedure:
- Identify the CPU MLFB. Only CPUs with "PN" in the designation have an integrated PROFINET interface. The
315-2AG10(CPU 315-2DP) has only MPI/DP and must be replaced. - Configure the integrated PN interface in STEP 7 / TIA with the same IP address previously assigned to the CP 343-1 Lean so that no firewall rule changes on the supervisory host are required.
- Enable Permit PUT/GET access on the CPU's protection settings (this option is required for S7 communication initiated by the SCADA driver).
- Update the SCADA driver connection from the CP's IP to the CPU's IP. For iba PDA, edit the S7-TCP node.
- Remove the CP 343-1 Lean from the hardware configuration and download the project.
- Power down, remove the CP, and restart.
Expected result: update time drops to 5–25 ms per cycle, depending on OB1 priority and PDU size. This is the dominant recommendation in the Siemens CP 343-1 Lean manual's Application section: the CP is intended for stations where the CPU has no PROFINET port of its own.
5.2 Path B — Keep CP 343-1 Lean but Reduce Traffic
If hardware replacement is impossible (no spare CPU, plant in operation, certification locked), the existing CP can be tuned to within 100–150 ms by reducing the volume of data on the 187.5 kbit/s bus:
- Combine polled items into a single contiguous data block on the CPU and read once per cycle, rather than issuing many small PUT/GET calls.
- Disable Web diagnostics if enabled; each HTTP request consumes backplane time.
- Disable unused connections in the CP's connection table. Each configured-but-idle connection still consumes keep-alive bandwidth.
- Raise OB1 priority for the communication FB only if it is currently running in OB100 / OB1 of low priority; however, this rarely helps because the bottleneck is on the CP side, not the CPU.
These tuning steps bring the update time from 500 ms to roughly 150–200 ms but cannot reach the 10 ms class achievable with Path A.
5.3 Path C — Migrate Data Acquisition to PROFIBUS DP
The original poster asked whether to use the CPU's PROFIBUS DP port instead of the CP 343-1 Lean. The DP port on a CPU 315-2DP is also bound to the same backplane bus, so the throughput ceiling is identical. The only difference is that DP runs at 12 Mbit/s on the external side and uses deterministic cyclic I/O — useful when iba or the SCADA is replaced by a PROFIBUS-capable acquisition card. PROFIBUS DP does not in itself escape the 187.5 kbit/s backplane constraint, but it does push the I/O update latency into a deterministic 1–10 ms range instead of the request/response asymmetry of TCP-based polling.
This path is appropriate only when the supervisory system can be re-equipped with a PROFIBUS master card (e.g., iba BMD-PN or a Siemens CP 5611/A2 successor).
5.4 Path D — Replace the CP 343-1 Lean with CP 343-1 (non-Lean)
The full-feature CP 343-1 (for example 6GK7 343-1EX30-0XE0) offers additional connection resources, ISO transport, and faster diagnostic interfaces but, critically, still uses the same 187.5 kbit/s backplane. Upgrading to the non-Lean CP will not solve the throughput problem; it may, however, increase the maximum number of connections from 16 to 64 and add PROFINET IO Device capability, which helps if the bottleneck is connection-resource exhaustion rather than raw bandwidth.
5.5 Path E — Replace the S7-300 with an S7-400
An S7-400 CPU such as 6ES7 414-3EM06-0AB0 (CPU 414-3 PN/DP) has an integrated PROFINET interface and a backplane designed for higher-throughput CPs. Update times of 25–100 ms are typical. Migration is justified only for larger plants where the S7-300 is already at the end of its service life.
6. Recommended Configuration for Path A
The recommended STEP 7 / TIA settings when moving to the CPU's integrated PROFINET interface:
| Parameter | Recommended Value |
|---|---|
| CPU protection level | "Complete protection (no access)" disabled; "Permit PUT/GET access by remote partner (PLC, HMI, OPC)" = checked |
| CPU PN port IP address | Same subnet as the supervisory host; static (no DHCP) |
| CPU PN port connection type | Auto-negotiation, 100 Mbit/s FD |
| PG/OP communication | Enabled on the PN interface |
| S7 connection resource | Reserved for the SCADA driver; 1–2 connections |
| OP/PG connection resource | Reserved for engineering |
| SNMP | Enabled only if a network monitor is in place |
| Web server | Disabled on the CPU PN port if not used (frees CPU load) |
| Time-of-day synchronization | NTP via the PN port (replaces any path that went through the CP) |
7. Verification After Migration
- From the supervisory host, ping the new CPU IP. Reply should be < 1 ms on a 100 Mbit/s LAN.
- Open the CPU's Web diagnostics page (
http://<CPU IP>) and confirm the active connections list shows the SCADA driver. - In iba PDA, force a 100 ms polling cycle and inspect the actual cycle time reported by the driver. It should stabilize at 90–110 ms; if it remains at 500 ms, the driver is still pointing to the old CP IP — the most common residual error.
- Capture one second of Wireshark traffic on the SCADA switch port. The number of TCP retries should be zero and the average delta between request and ACK should be < 20 ms.
- Toggle a digital input faster than 100 ms and confirm the SCADA captures every edge.
8. Common Pitfalls
- Reusing the CP IP on the CPU PN port. STEP 7 will not warn that two devices on the same subnet will collide. Move the CPU to the CP's old address only after physically removing the CP.
-
Forgetting "Permit PUT/GET access". Default CPU protection level in newer firmware (V3.x and later on S7-300 PN CPUs) blocks PUT/GET by default. The driver will see
W#16#80A7"connection refused" with no further detail. - PG/OP routing enabled. If the CP is removed but a routing entry still references it, the engineering station will lose its online connection. Clear the routing table in NetPro before download.
- Configuring the CP for "Web diagnostics" only as a diagnostic tool, then leaving it in the rack. Even with one TCP connection, the CP's HTTP keep-alive consumes ~2 % of the backplane permanently.
- Mistaking a 500 ms update time for an OB1 cycle time. OB1 of a CPU 315 typically runs at 50–150 ms; a 500 ms number is too coarse to be OB1 itself and is the signature of supervisory-driver-side polling plus backplane queuing.
9. Related Error Codes
When the backplane saturates, the CPU and CP report specific entries that are useful in root-cause documentation.
| Error code / event | Source | Meaning |
|---|---|---|
W#16#80A7 |
CPU | Connection refused (PUT/GET blocked by protection level) |
W#16#8080 |
CPU | Connection resource exhausted on CPU side |
W#16#8302 |
CP | CP backplane error; possible hardware fault — but very often triggered when utilization is high |
| Diagnostic buffer "backplane load > 80 %" | CP web page | Indicates the 187.5 kbit/s channel is the bottleneck |
| Connection entry "aborted by remote partner" | CP log | SCADA driver timed out waiting for the CP's slow backplane response |
10. Frequently Asked Questions
What is the maximum throughput of a CP 343-1 Lean?
About 20–25 kByte/s of useful payload. The Ethernet port is 100 Mbit/s but the serial S7-300 backplane that connects the CP to the CPU runs at only 187.5 kbit/s and is the binding limit. No firmware update or configuration change raises this number.
Can the CP 343-1 Lean act as a PROFINET IO controller?
No. The Lean variant supports PROFINET IO Device only on a limited subset of slot configurations. For IO controller functionality, use the CPU's integrated PROFINET interface (on any CPU 31x PN/DP) or migrate to a CP 343-1 (non-Lean) plus a CPU 31x PN/DP.
Will replacing the CP 343-1 Lean with a CP 343-1 (non-Lean) improve update time?
Not for raw throughput. Both CPs use the same 187.5 kbit/s backplane. The non-Lean CP adds connection count, FETCH/WRITE performance, and PROFINET IO Device support, but the 500 ms symptom remains until you move to the CPU's own PROFINET port.
How do I confirm the backplane is the bottleneck before swapping hardware?
Three checks: (1) read the CP web diagnostics and look for backplane utilization > 70 %; (2) capture a Wireshark trace and measure PUT/GET round-trip — values > 30 ms on a quiet LAN confirm the bottleneck; (3) instrument the FC/FB pair with SFC64 TIME_TCK to prove the program itself finishes in < 5 ms. If all three agree, the backplane is the cause.
What update time can I expect after moving to the CPU's PROFINET interface?
For S7-300 PN CPUs, 5–25 ms per cycle is typical for a 100–200 byte PDU and one SCADA client. For S7-400 PN CPUs, 25–100 ms is typical, governed mainly by the CPU's OB1 cycle. The 500 ms number disappears entirely once the 187.5 kbit/s backplane is removed from the data path.