Troubleshooting CP 343-1 Lean Event 16#457F STOP on S7-300 H Systems
This reference covers diagnosis and resolution of a recurring STOP event in S7-300 software-redundant (R) systems that use a CP 343-1 Lean (6GK7 343-1CX10-0XE0) for the partner link. The specific symptom is Event ID 16#457F logged during OB100 execution, with FC100 cited as the failing block and a module logical address of 2860 decimal. The failure is asymmetric: the primary CPU enters RUN, the secondary CPU transitions through warm restart to STOP.
1. Problem Description and Failure Mode
In the affected system, two CPU 315-2DP stations are configured as a software-redundant pair. Each station is loaded with the same STEP 7 project, which includes a CP 343-1 Lean inserted into the rack. The first station completes warm restart (OB100) and enters RUN, while the second station exits warm restart and enters STOP. The diagnostic buffer of the second station records an event with ID 16#457F, described by STEP 7 as "STOP caused by STOP command" with the additional attributes "Breakpoint in user program: startup OB (OB100)," priority class 27, FC number 100, module address 2860, previous operating mode START UP (warm restart), and requested operating mode STOP (internal).
This asymmetric behavior is diagnostic. If both CPUs stopped with the same event, the cause would most likely be a project-wide error (for example, a programming error in FC100 that triggers on both stations). Because only the secondary CPU stops, the cause is almost always a configuration or data-area mismatch that affects the secondary differently from the primary. Common cases include a different slot for the CP, a different logical address for the CP, a missing instance DB on the secondary, or a firmware mismatch between the two CPs that only manifests on the secondary during initialization.
2. Affected Hardware Components
| Component | MLFB / Part Number | Function in the Redundant Pair |
|---|---|---|
| Primary CPU | 6ES7 315-1AH14-0AB0 | CPU 315-2DP, master of rack 0; completes startup, enters RUN |
| Secondary CPU | 6ES7 315-2AG10-0AB0 | CPU 315-2DP, master of rack 0 (secondary); stops at OB100 with 16#457F |
| Ethernet CP | 6GK7 343-1CX10-0XE0 | CP 343-1 Lean, Industrial Ethernet interface used for the redundancy partner link |
The CP 343-1 Lean is a single-slot module for the S7-300 rack. It provides two RJ45 ports (integrated 2-port switch), 10/100 Mbps auto-negotiation, and supports the protocols TCP, ISO-on-TCP, UDP, and PROFINET. The CX10 variant is the original release; later variants in the CX family add enhanced PROFINET features and updated firmware. The CP is suitable for standard S7 communication and for the partner link in S7 Software Redundancy (SWR). It is not a synchronization module for true S7-300H systems; H-systems require H-type CPs (such as CP 443-1 with fiber-optic sync modules) and H-type CPUs.
Both CPU 315-2DP variants used here are standard CPUs. They are not H-type CPUs. Standard CPUs cannot form a true hot-standby pair; they can only form a software-redundant pair using the SWR library (FBs loaded into the user program). The CP 343-1 Lean participates in this setup as a normal Ethernet interface for the partner connection.
3. Event ID 16#457F — Field-by-Field Decode
| Buffer Field | Value Reported | Interpretation |
|---|---|---|
| Event ID | 16#457F | Internal STOP class event. The CPU itself commanded the STOP in response to an unrecoverable error. |
| Event text | STOP caused by STOP command | The system issued a STOP, not the user (no PG STOP, no mode switch STOP). The cause is internal. |
| Breakpoint | Startup OB (OB100) | The error was raised while OB100 was executing. OB100 runs once per warm restart, at priority class 27. |
| Priority class | 27 | Confirms OB100 (priority 27). OB1 runs at 1, OB35 at 12, OB100 at 27. |
| FC number | 100 | FC100 was on the call stack when the error was detected. FC100 is in the user FC range (0–255), so this is either a user-written FC or a library FC numbered into that range. |
| Module address | 2860 | Logical base address of the peripheral area involved in the error. 2860 decimal is outside the standard I/O area (0–2047) and falls in the CP/FM address range, which strongly indicates the CP 343-1 Lean. |
| Previous operating mode | START UP (warm restart) | The CPU was performing OB100. It did not yet reach RUN. |
| Requested operating mode | STOP (internal) | The CPU will not retry. Operator must clear the stop cause and perform STOP→RUN. |
Event 16#457F is not a hardware-fault event (those use IDs in the 0x4xxx range, e.g., 16#4301, 16#4302). It is a software/firmware reaction to an error condition. The "internal" STOP is raised when the CPU encounters an error in OB100 and no corresponding error OB is loaded, or when OB100 itself executes a STOP instruction, or when a programming error occurs that the CPU cannot recover from. Because the module address 2860 is reported, the error is tied to a peripheral access. The most common cause in this exact configuration is a peripheral I/O access (L PIW, T PQW, PEB, PAB) inside FC100 that targets the CP's logical address and either fails (because the CP is not yet ready, or the address is wrong, or the CP is missing from the rack) or produces a value that FC100 then misinterprets as a fatal condition.
4. Root Cause Analysis
Three categories of defect, in order of frequency in the field, produce the reported symptom:
4.1 Hardware Configuration Mismatch (most common)
The two stations have different HW Config objects. The CP 343-1 Lean is plugged into slot 4 on the primary and slot 5 on the secondary, or the CP is assigned a different logical address on each station, or the CP is missing entirely on the secondary. When OB100 executes FC100 and FC100 accesses the CP's peripheral area, the secondary CPU cannot find the CP at the expected address, raises an I/O access error, and—because OB122 (I/O access error OB) is typically not loaded—transitions to STOP.
4.2 FC100 Parameter or Data Block Inconsistency
FC100 is a function (no instance DB). It is called from OB100 with parameters that reference DBs, bit memory, or process image areas. If FC100 opens a DB (e.g., OPN DB[xx] or uses DBxx.DBX0.0) that exists on the primary but not on the secondary, or if FC100 writes to a bit memory area beyond the configured M size on the secondary, the CPU raises a programming error. Because OB121 (programming error OB) is typically not loaded, the CPU transitions to STOP. The error is attributed to FC100 because FC100 is the call site of the failed instruction.
4.3 Redundancy Architecture Error
The system is configured as if it were a true S7-300H hot-standby system, but the CPUs are standard 315-2DP units. True S7-300H requires CPU 315H PN/DP (6ES7 315-7TH10-0AB0) or CPU 317H PN/DP (6ES7 317-7TH10-0AB0) and uses the S7-300H system software. The CP 343-1 Lean cannot be used as the synchronization link in an S7-300H system. If the project was set up with H-system assumptions, the secondary CPU will reject the configuration during startup and stop.
5. S7-300 Redundancy Architecture Options
Two distinct architectures support redundancy on S7-300. The hardware and the troubleshooting path differ between them.
5.1 S7-300H — True Hot-Standby (requires H-CPUs)
S7-300H uses dedicated fault-tolerant CPUs:
- CPU 315H PN/DP (6ES7 315-7TH10-0AB0)
- CPU 317H PN/DP (6ES7 317-7TH10-0AB0)
These CPUs synchronize over fiber-optic cables through H-type CPs. The CP 343-1 Lean is not used in an S7-300H system for synchronization. If the application requires hot-standby, the CPUs and the CPs must be replaced with H-type components, and the project must be re-engineered for the S7-300H system manual.
5.2 S7 Software Redundancy (SWR) — Warm-Standby with Standard CPUs
The S7 Software Redundancy (SWR) library is a free Siemens library that allows two standard S7-300 CPUs (or one S7-300 and one S7-400) to operate as a redundant pair. The secondary CPU runs in a limited RUN state and takes over when the primary fails. Switchover time is typically a few hundred milliseconds, which is acceptable for non-safety processes but not for continuous-motion applications.
The SWR library provides blocks such as:
- FB 100 — startup and partner connection establishment (SWR_START equivalent)
- FB 101 — cyclic redundancy processing (SWR_ZYK equivalent)
- Associated instance DBs and the SWR_AG (redundancy agent) block
The library is loaded into both CPUs. OB100 calls the SWR startup FB; OB1 calls the SWR cyclic FB. The CP 343-1 Lean is used as the partner link, configured with TCP or ISO-on-TCP transport. The SWR library is available on the Siemens Industry Online Support portal.
6. CP 343-1 Lean Technical Specifications Relevant to the Fault
| Attribute | Value / Range | Relevance to Event 16#457F |
|---|---|---|
| MLFB | 6GK7 343-1CX10-0XE0 | Identifies the part. Other CX variants have different firmware capabilities. |
| Ethernet ports | 2 × RJ45, 10/100 Mbps, auto-crossover, integrated 2-port switch | Allows direct cable to partner CP without external switch. |
| Logical address range | Default 2860 decimal (configurable in HW Config) | Matches the module address reported in the diagnostic buffer. |
| Protocols | TCP, ISO-on-TCP, UDP, PROFINET (firmware-dependent), S7 communication, PG/OP communication | Determine which FBs/FCs the user program can use. |
| Configuration tool | STEP 7 V5.4 SPx or higher, or TIA Portal (with limitations for S7-300) | Older STEP 7 versions cannot configure the CP correctly. |
| SWR compatibility | Yes, when used as a standard Ethernet CP with TCP or ISO-on-TCP | Allows the CP to carry the SWR partner link. |
The default logical address 2860 decimal is the address the user likely sees if they did not change it in HW Config. STEP 7's CP 343-1 Lean object places the CP at the next free address above the CPU's integrated I/O. The CPU 315-2DP has no integrated I/O, so the CP often ends up at 2860. If the user explicitly set a different address, that value would appear in the diagnostic buffer.
7. Hardware Configuration Verification Procedure
Perform these steps in STEP 7 / SIMATIC Manager before touching the user program. The procedure assumes the project is open and online to the secondary CPU.
- Open HW Config for the primary station. Right-click the rack and select "Station > Open with STEP 7" (or equivalent from the SIMATIC Manager context menu).
- Note the slot number of the CP 343-1 Lean (e.g., slot 4) and its logical base address. Export the configuration: Station > Export.
- Open HW Config for the secondary station. Compare slot-by-slot. The CP must be in the same slot, with the same order number, the same firmware version, and the same logical address.
- Right-click the CP 343-1 Lean on the secondary station. Select "Object Properties." On the Addresses tab, confirm the logical address matches the primary. On the Diagnostic tab, confirm the diagnostic address is enabled and matches the primary.
- Open the CP's Properties > Ethernet Interface and confirm the IP address, subnet mask, and gateway match the planned partner link. In an SWR setup, the two CPs must be in the same subnet and must be able to ping each other.
- Save and compile HW Config for the secondary station. Download only the hardware configuration (not the user program) to the secondary CPU: PLC > Download > Hardware Configuration.
- Perform a STOP→RUN on the secondary CPU. Observe whether the STOP is still raised. If yes, proceed to the diagnostic buffer analysis in Section 8.
If the slot and address are already identical, the fault is in the user program or in the SWR library. Proceed to Section 8.
8. Diagnostic Buffer and OB100/FC100 Analysis
STEP 7 displays the diagnostic buffer through PLC > Diagnostics/Setting > Diagnostic Buffer. The most recent event is at the top; older events are below. When a STOP event (16#457F) is at the top, scroll down to find the events that occurred before the STOP. Those are the actual cause events.
8.1 Reading the Buffer
- Go online to the secondary CPU.
- Select PLC > Diagnostics/Setting > Diagnostic Buffer.
- Locate the 16#457F event. Note the timestamp and the auxiliary fields (FC 100, module address 2860, priority 27).
- Scroll down to the events immediately before the 16#457F event. Typical preceding events include:
- 16#4301 — module removed or not responding
- 16#4302 — module error (check the slot number)
- 16#4570 — OB not loaded (OB121 or OB122 missing)
- 16#4571 — OB stack overflow
- 16#35xx — distributed I/O error (PROFIBUS DP or PROFINET IO)
- Click each preceding event to read the detailed description. Note any slot numbers, logical addresses, and event text.
- Export the complete buffer for the project archive: select all events, right-click, and copy to a text file or print to PDF.
8.2 Inspecting OB100
OB100 is the warm-restart OB. It runs once when the CPU transitions from STOP to RUN. In a redundant system, OB100 also runs on the secondary when it starts. Open OB100 in the LAD/FBD/STL editor and look for:
- Calls to FC100 (or to any block that eventually calls FC100)
- Direct peripheral accesses (
L PIW,T PQW,L PIB,T PQB) with addresses near 2860 - Calls to CP-specific FBs (e.g., FB 12 BSEND, FB 13 BRCV, FB 14 PUT, FB 15 GET) with parameters referencing the CP's logical address
- Calls to the SWR library FBs (if used)
8.3 Inspecting FC100
FC100 is a function (no instance DB). Its parameters and local data must be consistent on both stations. Open FC100 in the LAD/FBD/STL editor and document:
- The interface (IN, OUT, IN_OUT, TEMP) of FC100. Record each parameter's name and data type.
- Every DB opened or referenced in FC100. In STEP 7, use Options > Reference Data > Cross-references, filter by FC100, and record every DB, I/O address, and FC/FB called from FC100.
- Every call to a CP-specific FB (BSEND/BRCV, PUT/GET, USEND/URCV). Note the ID parameter and the logical address parameters.
- Any use of bit memory, timers, or counters. Confirm the M area, T area, and C area sizes on the secondary CPU are at least as large as on the primary.
- Any direct peripheral access to address 2860 or its surrounding area. The CP 343-1 Lean typically occupies a few bytes of input and a few bytes of output in the peripheral area. The default is 2 bytes input + 2 bytes output, but the user can configure longer areas for S7 communication.
9. Resolution Paths
Choose the path that matches the actual root cause identified in Section 4.
9.1 Path A — Fix the Hardware Configuration Mismatch
- In HW Config on the secondary station, adjust the CP 343-1 Lean to match the primary station's slot, order number, and logical address.
- Save and compile the station.
- Download the hardware configuration to the secondary CPU (PLC > Download > Hardware Configuration).
- Switch the secondary CPU from STOP to RUN. Verify the diagnostic buffer no longer contains 16#457F and the secondary CPU reaches RUN.
- If the secondary still stops, read the diagnostic buffer again. The next preceding event will point to the next layer of the problem (e.g., missing DB).
9.2 Path B — Fix the FC100 / OB100 Logic
- In FC100, identify every DB reference. Create any missing DBs on the secondary CPU or download the missing DBs (PLC > Download > User Program to Memory Card).
- Confirm all DBs referenced by FC100 have the same length and structure on both stations. In STEP 7, use Options > Compare Blocks to compare the offline project against the online program on the secondary.
- If FC100 uses peripheral I/O on the CP, wrap the access in a try/recover block using the BR (binary result) bit and
SAVE/LERinstructions. If the CP is not yet ready during startup, the program should not treat the access as fatal. - Load error OBs: download OB121 (programming error), OB122 (I/O access error), and OB80 (time error) to the secondary CPU. With these OBs loaded, a non-fatal error in FC100 will be passed to the error OB and the CPU will not stop. This is a defensive measure, not a fix for the root cause.
- Recompile and download the user program to the secondary CPU.
- Switch the secondary to RUN and verify the buffer is clean.
9.3 Path C — Convert to Proper S7-300H Architecture
If the application requires true hot-standby redundancy rather than software redundancy:
- Replace the CPUs with H-type CPUs: CPU 315H PN/DP (6ES7 315-7TH10-0AB0) or CPU 317H PN/DP (6ES7 317-7TH10-0AB0).
- Replace the CP 343-1 Lean with an H-type CP. S7-300H typically uses the CP 443-1 with fiber-optic sync modules, or the integrated PROFINET interface on the -7TH10-0AB0 CPUs.
- Re-engineer the HW Config as an H station. In STEP 7, create a new project with an S7-300H station. Configure both racks.
- Migrate the user program. The SWR library is not used in S7-300H; the H system's own runtime handles redundancy.
- Validate against the S7-300H system manual before commissioning.
9.4 Path D — Use CPU 315-2PN/DP with Integrated PROFINET
If the standard CPU 315-2DP is retained but a simpler partner link is desired:
- Replace the secondary CPU (6ES7 315-2AG10-0AB0) with CPU 315-2PN/DP (6ES7 315-2EH14-0AB0). The integrated PROFINET interface can serve as the SWR partner link.
- Remove the CP 343-1 Lean from the secondary rack, or keep it for other Ethernet traffic but configure the SWR partner link on the integrated PN port.
- Reconfigure the SWR library FBs to use the integrated PN interface (logical address 0, typically).
10. Verification Procedure
After applying the fix, run the following checks. Do not return the system to production until all checks pass.
- Power-cycle the secondary CPU (or perform MRES to clear and STOP→RUN). Watch the mode LEDs: STOP should clear, RUN should light within a few seconds.
- Open the diagnostic buffer on the secondary. Confirm no Event 16#457F and no preceding module-error or programming-error events.
- Open the operating mode dialog (PLC > Diagnostics/Setting > Operating Mode). Confirm the secondary shows RUN.
- Check the CP 343-1 Lean's diagnostic buffer: PLC > Diagnostics/Setting > Module Information > CP 343-1 Lean > Diagnostic Buffer. Confirm no channel errors and the partner connection is established (look for "S7 connection established" entries).
- Test redundancy: with both CPUs in RUN, disconnect the primary CPU's PROFINET/DP cable or stop the primary. The secondary should take over the process. Monitor the process for interruption; SWR switchover typically takes 100–500 ms.
- Restore the primary. The primary should re-synchronize and resume master role without process interruption.
- Document the final configuration (slot, address, IP, subnet, firmware versions, SWR library version) in the project archive.
11. Common Pitfalls and Edge Cases
| Pitfall | Symptom | Detection | Fix |
|---|---|---|---|
| CP at different slot on secondary | OB100 raises I/O error; 16#457F STOP | Compare HW Config slot-by-slot | Move CP to the same slot on both stations |
| CP at different logical address | FC100 reads wrong area; 16#457F STOP | HW Config > CP > Object Properties > Addresses | Set the same logical address on both stations |
| FC100 references DB that exists only on primary | Programming error in FC100; 16#457F STOP | Cross-reference FC100; check DB presence on secondary | Download missing DBs to secondary |
| Different CP firmware versions | Secondary rejects CP during init; 16#457F STOP | Read CP diagnostic buffer; compare firmware | Update both CPs to the same firmware |
| Standard CPUs used with H-system HW Config | Secondary cannot pair; 16#457F STOP | Check project type in STEP 7 | Use SWR library with standard CPUs, or switch to H-system |
| M area too small on secondary | FC100 writes beyond M area; 16#457F STOP | CPU properties > Memory; check M area size | Increase M area or reduce usage in FC100 |
| OB121 / OB122 not loaded | Any programming error causes STOP | Check program folder for OB121, OB122 | Load OB121 and OB122 as defensive measure |
| Network cable not connected between CPs | Partner connection fails; 16#457F STOP if SWR startup cannot proceed | Ping partner CP from primary | Connect crossover cable or use a switch; verify link LED |
Edge Case: Firmware Mismatch
If the two CP 343-1 Lean modules have different firmware versions (e.g., primary has V2.x, secondary has V1.x), the secondary may not support a feature the primary uses. The secondary's OB100 might call an FB that the secondary's CP firmware does not support, producing an I/O error and Event 16#457F. Use the same firmware version on both CPs. Siemens provides firmware update packages on the Siemens Industry Online Support portal; search for the order number 6GK7 343-1CX10-0XE0.
Edge Case: Memory Reset on Secondary
If the secondary was memory-reset (MRES) after the last download, all DBs are deleted. The secondary will not re-create DBs at startup; it expects them to be in the load memory. After MRES, re-download the user program to the secondary. The "STOP at first startup" symptom often appears after an MRES that was not followed by a download.
Edge Case: Slot for CP Occupied by Different Module on Secondary
If the secondary rack has a different module in the slot where the primary has the CP (e.g., a digital input module), the secondary's OB100 will not find the CP and will stop. Verify the rack layout physically and in HW Config.
12. Operational and Safety Considerations
While diagnosing a redundant CPU that stops at startup, the system is running in degraded mode (single CPU, no redundancy). Plan the diagnostic window accordingly:
- Notify operations before taking the secondary CPU in and out of RUN.
- Disable any automatic restart logic in the primary that depends on the secondary's state.
- Record the diagnostic buffer before and after each attempt to start the secondary. Compare entries to identify which event is being cleared and which persists.
- If the process is safety-relevant, do not perform switchover tests until the secondary has been verified to reach RUN cleanly for at least 30 minutes.
- After resolution, update the project documentation with the final configuration, the firmware versions, and the SWR library version used.
FAQ
What does Siemens Event ID 16#457F mean on an S7-300 CPU?
Event ID 16#457F is an internal STOP event. The CPU detected an unrecoverable error and forced itself to STOP. The diagnostic buffer attributes the event to the OB that was running (OB100 in this case), the FC on the call stack (FC100), and the module logical address involved (2860). The actual fault is almost always the event recorded immediately before 16#457F in the buffer, not the STOP itself.
Why does my secondary CPU 315-2DP stop at startup while the primary runs?
The two stations differ in hardware configuration, in the data blocks loaded, or in the firmware of the CP 343-1 Lean. Common causes: the CP is in a different slot on the secondary, the CP has a different logical address, FC100 references a DB that was not downloaded to the secondary, or the CP firmware versions differ. Read the complete diagnostic buffer and compare the two HW Configs slot by slot.
Can the CP 343-1 Lean (6GK7 343-1CX10-0XE0) be used in an S7-300H system?
No. The CP 343-1 Lean is for S7-300 standard systems. It supports TCP, ISO-on-TCP, UDP, and PROFINET. S7-300H requires H-type CPUs (CPU 315H PN/DP 6ES7 315-7TH10-0AB0 or CPU 317H PN/DP 6ES7 317-7TH10-0AB0) and H-type CPs (e.g., CP 443-1 with fiber-optic sync modules) for the synchronization link. The CP 343-1 Lean can, however, be used in a software-redundant setup with standard CPUs via the SWR library.
How do I find all DBs and addresses referenced by FC100 in STEP 7?
Open FC100 in the LAD/FBD/STL editor, then go to Options > Reference Data > Display. In the cross-reference window, filter by FC100. The cross-reference list shows every location in the program where FC100 is called, every block FC100 calls, every DB FC100 opens, and every I/O address FC100 accesses. Cross-check this list against the online program on the secondary CPU (PLC > Compare Blocks) to find any missing DB or mismatched address.
Is the module logical address 2860 in the diagnostic buffer always the CP address?
In a configuration with a single CP and no other modules in the address range above 2047, address 2860 is the CP 343-1 Lean. The default STEP 7 placement for a CP in an S7-300 rack with no integrated I/O on the CPU is 2860 decimal. If the user has multiple CPs or FMs, or if the CPU has integrated I/O, the address 2860 in the buffer corresponds to whichever module sits at that logical address in the user's HW Config. Always read the HW Config to confirm which module occupies address 2860.
What is the difference between Event 16#457F and Event 16#4570 in an S7-300?
Event 16#457F is "internal STOP," the CPU itself initiated the transition to STOP. Event 16#4570 is "OB not loaded" or "OB stack error," meaning the CPU tried to call an OB (e.g., OB121, OB122, OB80) that is not present in the user program. A 16#4570 event often precedes a 16#457F event in the buffer: the error OB is missing, so the CPU cannot handle the error and stops.