Problem Summary
On a multi-cell machine network built around three SIMATIC S7-300 stations, each CPU uses a CP 343-1 Lean (Siemens part number 6GK7343-1CX10-0XE0) for Ethernet/IP-based S7 communication. After a working installation, one of the three PLCs is suddenly only able to maintain one active S7 connection out of the two configured partner connections. The CP's diagnostic buffer shows the second connection as "Not Set Up" and the related diagnostic event reads W#16#F9C1:0220. Ping tests to the remote partner succeed, so the physical link and the CP's basic IP stack are healthy. The fault is purely at the S7 connection / IP layer above Layer 3.
This is one of the most common S7-300 communication faults seen on brownfield S7-300 cells: a single cell drops one or more of its S7 partner connections while remaining reachable on the network, with the diagnostic buffer pointing at F9C1. The root cause is almost always one of the following, ranked by frequency:
- Duplicate IPv4 address on the same Ethernet subnet (most common).
- Mismatched or corrupted S7 connection configuration in NetPro/STEP 7.
- CP firmware bug or CP that has been reset to factory defaults.
- Switch port security, MAC filter, or managed-switch ACL rejecting the second MAC.
- Partner CPU in STOP or partner CP removed/de-energised.
This article walks through the diagnostic path, the meaning of the event ID, and the exact procedure to isolate and fix the fault on a CP 343-1 Lean.
CP 343-1 Lean Hardware and Communication Architecture
The CP 343-1 Lean is the entry-level Ethernet CP for the S7-300 family. The variants in the field relevant to this fault are:
| MLFB / Part Number | Description | Max S7 Connections | Firmware of interest |
|---|---|---|---|
| 6GK7343-1CX10-0XE0 | CP 343-1 Lean, 1× RJ45 10/100 Mbit/s, ISO + TCP/IP + S7 communication | 8 (S7) / 8 (TCP/ISO) | V2.0 → V3.0 |
| 6GK7343-1CX00-0XE0 | Predecessor variant, 10 Mbit/s only | 8 | V1.x |
| 6GK7343-1CX30-0XE0 | Successor with security (SNMPv3, firewall) for newer STEP 7 V5.6 / TIA migration scenarios | 8 | V3.0+ |
The CP occupies a single slot in the S7-300 rack and is configured as a separate station in the STEP 7 project. S7 connections are not owned by the CPU; they are owned by the CP, even though the CPU's program uses them via PUT/GET or BSEND/BRCV SFCs (SFC 30 / SFC 20, SFB 12 / SFB 13, etc.). This is why a successful ping test does not prove that S7 connections are healthy — ICMP echoes are answered by the CP's IP stack, but S7 connections are end-to-end CPU-to-CPU application relations over ISO-on-TCP (port 102) or TCP.
In the failing cell, the typical topology is:
PLC_A (CPU 315-2 DP + CP 343-1 Lean 192.168.0.10)
|
+--< Ethernet switch >--+-- PLC_B (192.168.0.11) <-- connection 1: OK
| |
| +-- PLC_C (192.168.0.12) <-- connection 2: "Not Set Up"
|
+-- Engineering station / server
The CP at PLC_A holds two S7 connections in NetPro, one to PLC_B and one to PLC_C. Connection 1 is "Established"; connection 2 is "Not Set Up" and the diagnostic buffer holds F9C1:0220.
Root Cause: Duplicate IP Address on Subnet
On the affected cell, both partner PLCs (B and C) were eventually found to share the same configured IPv4 address. The user confirmed: "the IP address configuration for both partner are same."
This is the classic IP-collision failure mode for the CP 343-1 Lean, and the reason it manifests as one working connection plus one failed connection is straightforward:
- The CP at PLC_A sends its ARP request before opening an S7 connection.
- ARP resolution returns whichever partner is reached first (e.g. the switch replies with the MAC of the most-recent responder on that IP).
- The first S7 connection that opens therefore "wins" the MAC of the conflicting partner; the second S7 connection either times out or terminates on a different host than expected.
- Because the CP is connected to the network through an unmanaged switch, the duplicate IP is not detected by any client; it only surfaces as a missing connection.
The CP 343-1 Lean has no built-in IP-conflict detection in firmware versions V2.x. Detection is delegated to the operator through LED patterns and diagnostic buffer events — which is why the diagnostic buffer is the first thing to check on a CP-only fault.
Decoding Event ID 16#F9C1:0220
The CP's diagnostic buffer (also called the "diagnostic list") is the canonical source of truth for CP-side connection faults. Event IDs in the W#16#F9xx range are CP343-1 Lean communication events. F9C1 is the connection-related sub-class.
| Event ID | Class | Meaning | Typical Trigger |
|---|---|---|---|
| W#16#F9C1:0220 | ERROR | Connection setup failed — no response from partner CP / no ISO-on-TCP partner reachable on the configured IP and TSAP | Wrong partner IP, duplicate IP shadowing the real partner, partner not in RUN, TSAP mismatch |
| W#16#F9C1:0201 | ERROR | Connection setup aborted by partner (partner CPU/CP sent ABORT) | CPU in STOP, partner NetPro project not downloaded to partner CP |
| W#16#F9C1:0202 | ERROR | Connection setup aborted locally (resource problem) | Max S7 connections exceeded (>8), CP firmware out of resources |
| W#16#F9C1:0301 | WARNING | Connection exists but partner not reachable (send failed) | Switched path broken, partner CP rebooted |
| W#16#F9C1:0A01 | INFO | Connection established | Normal handshake completion |
For a full list, refer to the SIMATIC NET S7-300 CP 343-1 Lean Operating Instructions (Siemens manual A5E01274660), section "Diagnostics of the CP" — the diagnostic-event table lists the full F9xx range with byte-by-byte meanings.
For F9C1:0220 the standard remediation is to walk through the OSI layers upwards from the CP:
- Verify the configured partner IP matches the partner CP's actual IP (do this on the partner CP, not the CPU).
- Verify the partner CP is powered, has its LINK LED solid, and is bound to the same subnet mask.
- Verify there is no duplicate IP on the subnet.
- Verify the partner CPU is in RUN (S7 connections require the CPU, not the CP, to be in RUN for the partner side to accept a connection).
- Verify the TSAPs on both ends match exactly. CP 343-1 Lean defaults to TSAP
01.01for server connections and is freely configurable for client connections.
CP 343-1 Lean Diagnostic Buffer Interpretation
To read the diagnostic buffer in STEP 7 V5.x:
- Open SIMATIC Manager > PLC > Diagnostics/Settings > Diagnostics Buffer on the CP (not the CPU). Right-click the CP node under the S7-300 station and choose CP Diagnostics > Diagnostic Buffer or use
PG/PC > Diagnostics > Onlinewith the CP's MPI/TCP address. - Read the most recent events. The first entry is the latest.
- For each F9xx event, double-click to expand the byte fields. The lower 4 bytes identify the local and remote connection endpoint, the TSAPs, and the reason code.
Example diagnostic buffer content for the fault described in this article:
12:34:56.789 16#F9C1:0220 ERROR CP CONN_SETUP_FAIL Local : CP 192.168.0.10 TSAP 01.01 Remote : CP 192.168.0.12 TSAP 03.02 Reason : no response from partner / timeout
To read the same buffer on the CPU (the CPU also logs the failure on the affected connection):
- Open PLC > Diagnostics/Settings > Diagnostics Buffer on the CPU.
- Look for events from class
OB85 / OB86 / OB122(connection-related) and fromSFB / SFCerrors (e.g.REQ=1, BUSY=1, ERROR=1, STATUS=W#16#81E1from SFB 12 BSEND).
Cross-referencing the CP buffer with the CPU buffer is essential: a CP-side F9C1:0220 will often appear on the CPU side as a STATUS=81E1 on the SFC/SFB doing the send or fetch. The CP buffer tells you why the connection failed; the CPU buffer tells you which user program was affected.
Prerequisites for Troubleshooting
Before opening STEP 7, ensure the following are available:
- STEP 7 V5.5 SP4 (or later, up to V5.7) installed on the engineering station. TIA Portal V13+ can read CP 343-1 Lean stations as "unspecified S7-300" with limited diagnostics, but full event-ID decoding is best in STEP 7 V5.x.
- STEP 7 project archive (
.zipor unzipped) for all three PLCs in the cell, dated to a known-good point in time. The project must include the NetPro view with the S7 connections. - Online access to each CP via Ethernet (TCP) or MPI/Profibus if the CP's Ethernet port is unusable.
- IP address book (or the system commissioning sheet) listing every device on the cell's subnet, including the engineering station, the HMI, the cell server, and any third-party devices (vision systems, weighing terminals, etc.).
- A managed switch with port-mirroring capability (helpful but not required). Even an unmanaged switch with Wireshark on a tap will work.
PLC > Consistency Check and Compile and Download Objects (Target system: All) in NetPro — STEP 7 will offer to delete connections that are not in the new project, and an unintended connection wipe can stop the line.Step-by-Step Diagnostic Procedure
- Read the CP diagnostic buffer. Connect to the failing CP, read the diagnostic buffer, and record the first F9C1 entry. Note the partner IP, the local TSAP, the remote TSAP, and the reason code.
- Read the CPU diagnostic buffer. Note any OB85/OB86/OB122 events and any SFB/SFC STATUS values from the connection-using blocks.
-
Check the connection status in NetPro. In STEP 7, right-click the failing S7 connection in NetPro and choose Connection Status (requires online). The status field will show
Established,Not Set Up, orDisabled.Not Set Upconfirms a connection setup failure, not a runtime abort. -
List every device on the subnet. From the engineering station, ping the entire subnet (
for /L %i in (1,1,254) do @ping -n 1 -w 100 192.168.0.%i > nulon Windows, or usenmap -sn 192.168.0.0/24on Linux). Cross-reference the responses with the IP address book. Any IP that responds from a device that is not in the book is a duplicate-IP candidate. - Compare the partner CP's actual IP with the project's IP. For each partner (B and C), connect to its CP, read the Ethernet interface IP (Online > CP Diagnostics > Ethernet Interface, or STEP 7 Hardware Configuration > CP Properties), and compare it with the IP entered in NetPro for the partner. The two must match exactly. This is the most common reason for F9C1:0220.
-
Check for ARP collisions. On the engineering station, run
arp -atwice with a 30-second gap. If the MAC address associated with a given IP changes between the two samples, two devices are responding to ARP for the same IP — this is the smoking gun for a duplicate. -
Capture traffic on the failing connection. If the project allows it, mirror the switch port of the CP and run Wireshark with the filter
tcp.port == 102. S7-300 uses ISO-on-TCP (RFC 1006) on TCP port 102. A healthy setup shows a CR (Connection Request) from the client CP, then CC (Connection Confirm). On a partner-not-reachable fault, the CR is sent repeatedly and the CP retransmits without ever receiving a CC. -
Verify the partner CPU is in RUN. S7 connections are accepted by the partner CPU, not the partner CP. If the partner CPU is in STOP, the partner CP will reject the connection with reason code
0201rather than0220. If you see0220, the CR is not even reaching a TCP listener, which strongly suggests an IP-stack problem (duplicate IP, wrong subnet, firewall). -
Check the CP firmware version. Read the CP's diagnostic buffer for the firmware string. Firmware V2.0 has known issues with connection re-establishment after switch reboots; upgrade to V3.0 (file
6GK7343-1CX10-0XE0_V30.fwl, see Siemens firmware download portal entry 109744658) if the firmware is below V3.0.
Resolving Duplicate IP Conflicts
Once the duplicate IP has been identified, the correction is mechanical. Follow this sequence to avoid locking yourself out of the cell:
- Document the current state. Print the diagnostic buffer of all three CPs, the CPU buffers, and a screenshot of NetPro's online connection status. This is your rollback point.
-
Identify the device whose IP is wrong. The "correct" device is the one whose IP matches the NetPro project for that station. The "wrong" device is the one whose IP has drifted (typically because an integrator re-used an IP from a different cell during commissioning, or because a default-firmware CP booted up with its pre-configured
192.168.0.xaddress). On the wrong device, note its MAC address (arp -aon the engineering station). - Power off the wrong device first. Bringing the wrong device down frees the IP for the correct one and makes the cell temporarily healthy again — this also confirms the diagnosis before any project change is made.
-
Re-assign the IP of the wrong device. Connect the wrong device to the engineering station on a separate subnet (e.g. direct cross-over cable with the PG on
192.168.1.x) and use STEP 7 Hardware Configuration to download the correct IP for that station. Verify withpingfrom the PG. - Reconnect the corrected device to the cell subnet. Power it up. From the engineering station, ping its new IP. Then watch the CP diagnostic buffer of the previously failing CP: the F9C1:0220 entry should be replaced by F9C1:0A01 (Connection Established) within 30-60 seconds.
-
Verify the application. Run the relevant blocks (
SFB 8 / SFB 9for PUT/GET-style data exchange;SFB 12 / SFB 13for BSEND/BRCV). Check that theSTATUSoutput isW#16#0000on every call.
Verifying S7 Connections in NetPro / STEP 7
After the duplicate IP is removed, formally verify the S7 connections:
- Open the STEP 7 project in NetPro.
- Select PLC > Verify Project (icon with the green checkmark, or menu Options > Verify Project). STEP 7 will cross-check the project for connection, subnet, and TSAP consistency across all stations.
- Right-click the previously failing S7 connection and choose Connection Status. The status should now read
Establishedin the online view. The "Status of the S7 Connection" dialog also shows the connection's local and remote TSAP and the underlying transport (ISO-on-TCP or TCP). - Force a connection re-establishment by re-downloading the connection configuration. In NetPro, right-click the connection and choose Download Selected Connection to Target Station. This is non-destructive — STEP 7 will not delete connections that are not in the project; it will only update the selected one.
- Cross-check by reading the CP diagnostic buffer again. The latest F9xx entry should be
F9C1:0A01(Connection Established). If you instead seeF9C1:0220repeating, there is a second instance of the same fault or a different root cause (e.g. a third device with a duplicate IP that was not caught in step 4 of the diagnostic procedure).
Preventive Measures and Network Hardening
Duplicate-IP faults on CP 343-1 Lean cells are avoidable. Apply the following in order of effort vs. payoff:
| Countermeasure | Effort | Payoff | How |
|---|---|---|---|
| Managed switch with DHCP snooping / IP source guard | Medium | High | Binds each switch port to a specific IP/MAC pair; duplicate IPs are dropped at L2 |
| Reserved IP range in the cell server's DHCP scope | Low | Medium | Any device that boots and gets the wrong IP is flagged immediately |
| Documented IP address book in the cell F-AT folder | Low | High | One-page subnet map with every IP, device, and MAC — print and laminate near the cabinet |
| STEP 7 project with explicit "single source of truth" for IPs | Low | High | Store the IP in the project, not on the device; every CP must be reloaded from the project after any firmware reset |
Scheduled scan: nmap -sn of the cell subnet every shift |
Low | Medium | Catches unauthorized devices; can be scripted as a daily job on the engineering station |
| Upgrade CP 343-1 Lean to V3.0 firmware | Low | Medium | Improved connection-retry behaviour; better diagnostic events |
| Use CP 343-1 (non-Lean, 6GK7343-1EX30-0XE0) with integrated diagnostics | High | Medium | Non-Lean CP supports more S7 connections and has a web interface for diagnostic events — useful on new builds |
For high-availability cells, the documented cell Failure Mode and Effects Analysis (FMEA) should list "CP cannot reach all partners" as a failure mode with "duplicate partner IP" as a documented cause. The above countermeasures are the technical controls that close that risk.
Related Diagnostic Event IDs on CP 343-1 Lean
For the field engineer, the following event IDs are the ones that recur on S7-300 cells using CP 343-1 Lean. Keep this table as a quick reference:
| Event ID | Cause | First Action |
|---|---|---|
| W#16#F9C1:0220 | Connection setup failed (no response from partner) | Verify partner IP and duplicate-IP status |
| W#16#F9C1:0201 | Connection aborted by partner | Verify partner CPU is in RUN; verify partner project downloaded |
| W#16#F9C1:0202 | Local resource exhausted | Check number of configured S7 connections (max 8) and reset CP |
| W#16#F9C1:0301 | Send failed on existing connection | Check switch path, partner reboot, cable |
| W#16#F9C1:0A01 | Connection established | No action; informational |
| W#16#F9C1:0A02 | Connection terminated cleanly | No action; informational |
| W#16#F9C1:0A03 | Connection terminated by partner | Check partner CPU mode and CP status |
| W#16#F9C0:0001 | CP boot / firmware load | No action; informational |
| W#16#F9F0:0001 | Ethernet interface link up/down | Check cable and switch port |
For the full canonical list, see the CP 343-1 Lean Operating Instructions (Siemens A5E01274660). The same event ID range applies to CP 343-1, CP 343-1 Advanced, and CP 343-1 ERPC, so familiarity with this table is portable across the entire S7-300 Ethernet CP family.
Field-Proven Notes and Edge Cases
The following are conditions that look like a duplicate-IP fault but are not:
-
Switch port security with sticky MAC. If the managed switch has port security enabled and the CP's MAC is bound to a port, a second device with a different MAC on the same port will be silently dropped. The symptom is identical to a duplicate IP from the perspective of the application — only the second connection is broken — but the cause is at L2, not L3. Always check the switch's
show port-securityoutput before blaming the PLC. -
Subnet mask mismatch. If the engineering station and one CP are on
/24(255.255.255.0) and another is on/23(255.255.254.0), the/23device will see a duplicate of any IP on the larger subnet. This is a common commissioning error on cells that were originally designed at/24and later expanded. - CP in a Profinet sub-module configuration (rare on Lean, common on the Advanced variant). If the CP's Profinet port is enabled and the IP is set on the Profinet interface while the Ethernet interface still holds the old IP, the two interfaces can ARP-conflict on the same subnet. Disable Profinet on the CP if it is not in use.
-
Power-on delay of partner CP. After a power cycle, the partner CP takes 30-60 seconds to bring up its IP stack. If the local CP starts sending CRs before the partner CP's stack is up, the first connection setup will fail with
F9C1:0220. The CP retries automatically; the entry clears after the partner is reachable. This is not a duplicate-IP fault, but it can be confused with one if the operator only looks at the buffer during the boot window.
What does CP 343-1 Lean event ID 16#F9C1:0220 mean?
W#16#F9C1:0220 is a CP-side connection-setup error: the CP sent an ISO-on-TCP Connection Request (CR) on TCP port 102 to the configured partner IP and TSAP, and no Connection Confirm (CC) was received before the setup timeout. The most common cause is a duplicate IP address on the subnet, with the second most common being a wrong partner IP, a wrong subnet mask, or a partner CP that is not yet ready. See the CP 343-1 Lean Operating Instructions for the full event-ID list.
One of three S7 connections on my CP 343-1 Lean is "Not Set Up" but ping works. What should I check first?
Check for a duplicate IP on the cell subnet first. Ping only proves Layer 3 is reachable; S7 connections use ISO-on-TCP on port 102 and can fail even when ICMP echoes succeed. Use arp -a on the engineering station to look for MAC/IP pairs that change between two samples, then connect to each CP, read the IP from the CP's online diagnostics, and compare it with the IP in the NetPro project. A mismatch is the most common root cause.
How do I read the CP 343-1 Lean diagnostic buffer in STEP 7?
Open the project in SIMATIC Manager, expand the S7-300 station, right-click the CP node, and choose CP Diagnostics > Diagnostic Buffer. The most recent event is at the top; double-click any F9xx entry to see the local TSAP, the remote TSAP, the partner IP, and the reason code. Cross-check the CPU's diagnostic buffer for OB85/OB86/OB122 events and any SFC/SFB STATUS errors (e.g. W#16#81E1 on SFB 12 BSEND).
Why does the CP 343-1 Lean not detect duplicate IP addresses on its own?
Firmware V2.x of the CP 343-1 Lean (part number 6GK7343-1CX10-0XE0) does not perform an ARP-probe or DAD (Duplicate Address Detection) on its own IP. The CP only detects collisions reactively, by logging F9C1:0220 when a connection setup fails. To get proactive detection, you need a managed switch with DHCP snooping / IP source guard, or you must move to the CP 343-1 Advanced (6GK7343-1EX30-0XE0) or CP 343-1 ERPC (6GK7343-1FX00-0XE0), which support a web interface that shows the ARP table.
What is the maximum number of S7 connections on a CP 343-1 Lean?
The CP 343-1 Lean supports a maximum of 8 S7 connections and 8 ISO/TCP connections simultaneously, regardless of firmware version. Hitting this limit is logged as F9C1:0202 (local resource exhausted) rather than F9C1:0220. If you need more, migrate to the CP 343-1 (16 S7 connections) or CP 343-1 Advanced (32+ S7 connections).