1. Problem Overview
An Siemens SIMATIC S7-400 CPU 416-3 PN/DP transitions to STOP operating mode immediately after a Hardware Configuration download from SIMATIC Manager (Step 7 V5.x) when the configured rack does not match the physically inserted modules. The SF (System Fault) LED is illuminated on the CPU, and the diagnostic buffer records a configuration mismatch event. A second symptom occurs when a user program from a different S7-400 CPU (e.g., 416-2 DP) is downloaded into the new CPU: the controller again enters STOP, but in this case no LED is lit, leaving the engineer without an immediate visible fault indicator.
This is a classic hardware configuration mismatch condition and is fully expected behavior of the S7-400 firmware. The CPU compares the configured slot map in System Data (SDB) with the actual physical presence of modules detected during power-up and refuses to enter RUN when the two do not agree.
2. Affected Hardware and Firmware
| Component | Order Number (MLFB) | Firmware Range | Notes |
|---|---|---|---|
| S7-400 CPU 416-2 DP | 6ES7416-2XP07-0AB0 | V7.0+ | Source CPU in the user case |
| S7-400 CPU 416-3 PN/DP | 6ES7416-3ES07-0AB0 | V7.0+ | Target CPU being commissioned |
| CP 443-5 Extended | 6GK7443-5DX05-0XE0 | All | PROFIBUS master |
| CP 443-1 | 6GK7443-1EX20-0XE0 | All | Industrial Ethernet |
| PS 405/407 | 6ES7405-0KA02-0AA0 / 6ES7407-0KA02-0AA0 | All | Power supply modules |
Both CPUs belong to the same S7-400 V7 generation and are binary-compatible at the user-program level, but they have different hardware catalogs, different default PN/DP interface configurations, and a different number of communication resources. The CPU 416-3 PN/DP adds a PROFINET interface on the X5 port in addition to the MPI/DP (X1) and PROFIBUS-DP (X2) ports present on the 416-2 DP.
3. Root Cause Analysis
The S7-400 firmware performs a strict physical-vs-configured reconciliation on every transition from STOP to RUN and on every cold/warm restart. The reconciliation process checks:
- Slot population — Every rack slot (0-18) configured in HW Config must contain the exact module type specified, identified by order number (MLFB) and hardware revision.
- Module diagnostic — All configured modules must respond on the backplane bus during the slot-check phase.
-
Interface consistency — The MPI, DP, and PN (where present) interface parameters in
SDBmust be valid for the CPU type in use. - User program signature — The downloaded blocks (OB, FB, FC, DB) must be compileable against the new CPU's instruction set and resource map.
If any of these checks fail, the CPU enters STOP with a fault entry written to the diagnostic buffer. The behavior described in the source — first download with SF LED on, then user program copy with no LED on — corresponds to two distinct fault conditions:
| Download | Result | Diagnostic Buffer Entry | LED Pattern |
|---|---|---|---|
| HW Config download, physical rack = CPU + PS only | STOP with hardware configuration error | "Module does not exist / wrong module in slot X" or "Distributed I/O error" | SF (red), possibly BF (bus fault) if DP configured |
| User program (DB + SDB) from a different CPU downloaded | STOP with no visible LED | "STOP due to unknown error / OB not loaded / system data not consistent" or "CPU defective / RAM comparison error" | None or transiently INTF/EXTF |
4. Why the SF LED Disappears on the Second Download
When the original, mismatched System Data is overwritten by the user program copy, the diagnostic buffer is itself partially overwritten. The S7-400 keeps the most recent 100 diagnostic events in a ring buffer; once the new (still inconsistent) SDBs are loaded, the buffer may be repopulated with startup-type entries that do not raise the SF latch. The CPU then holds in STOP because the startup OBs (OB100/OB101/OB102) and the error OBs are either missing or referenced resources that no longer exist in the new CPU's resource map.
Key points:
- The S7-400 distinguishes hardware-detected faults (which set SF) from startup-time aborts (which simply hold the CPU in STOP without raising SF if OB100/OB101/OB102 are missing or empty).
- Copying Data Blocks from a different CPU is safe only if the DB interfaces match exactly; copying System Data from a different CPU is always wrong and will cause a STOP condition.
- The absence of an LED does not mean the CPU is healthy — it only means no active hardware fault is latched at the time of inspection. Open the diagnostic buffer in STEP 7 to see the real cause.
5. Diagnostic Procedure: Reading the Diagnostic Buffer
The diagnostic buffer is the single most important tool for any S7-400 STOP-mode investigation. Procedure in SIMATIC Manager:
- Connect to the target CPU via Accessible Nodes or via the configured PG/PC interface.
- Select the target CPU in the project tree.
- Choose PLC → Diagnostic/Setting → Diagnostic Buffer (German: Zielsystem → Diagnose/Einstellung → Diagnosepuffer).
- Read the most recent entries. Each entry has a timestamp (relative to power-on) and an event code.
- Double-click any entry to open the help text that explains the event in detail.
Common event codes for the symptom in this article:
| Event ID | Meaning | Recommended Action |
|---|---|---|
| 0x130E | Module does not exist in slot | Reconcile physical rack with HW Config |
| 0x1311 | Module type/MLFB mismatch in slot | Insert correct module or correct HW Config |
| 0x3571 | STOP due to missing or faulty system data | Re-download correct SDBs for this CPU |
| 0x4301 | Mode transition from RUN to STOP by user/error | Inspect stack info for OB that aborted |
| 0x49A2 | Error in startup OB (OB100/101/102) | Inspect OB source; check CPU resources |
| 0x2521 | Time-of-day interrupt error | OB10-OB17 missing or invalid |
6. Correct CPU Replacement Procedure
The field report recommends a clean, supported migration path: right-click on the CPU in HW Config and select "Change CPU…" (German: CPU tauschen). This is the proper method for upgrading within the S7-400 family. STEP 7 then asks for the target CPU type, copies the existing hardware tree, and re-parameterizes only the differences between the old and new CPU (interface assignments, work memory, communication resources, integrated PN if present).
- Open the existing project in SIMATIC Manager (V5.5 SP4 or later recommended).
- Open HW Config for the station containing the 416-2 DP.
- Right-click the CPU icon (slot 3) and select Change CPU.
- Choose CPU 416-3 PN/DP with the same firmware version if possible.
- Confirm the change. STEP 7 will report any incompatible objects (e.g., F-modules if going from F to non-F).
- Open Station → Save and Compile (Strg+S).
- Verify the slot map matches the physical rack you intend to use.
- Download the entire station to the new CPU using PLC → Download.
7. PLCSim Validation Workflow
PLCSim (S7-PLCSIM V5.4 SP5 or later) emulates the S7-400 CPU, including the diagnostic buffer and STOP/RUN state machine. The discussion thread specifically recommends PLCSim to verify the new program before field deployment.
- Open the project in SIMATIC Manager.
- Start S7-PLCSIM from the toolbar.
- Download the HW Config and the user program to the simulated CPU.
- Use the PLCSim CPU panel to toggle the simulated CPU from STOP to RUN.
- Monitor OB1, OB100, and any user OBs using the PLCSim watch table.
- If the simulated CPU enters STOP, read its diagnostic buffer (right-click the PLCSim CPU → Diagnostic Buffer) to identify the cause before going to the field.
PLCSim does not require a real rack, so the entire hardware configuration can be tested against the new CPU type without any physical hardware. The limitation is that PLCSim does not validate physical module presence — it validates only the programmatic configuration. The final field acceptance must still confirm that the real rack matches HW Config.
8. Field Commissioning Procedure for the 416-3 PN/DP
Given the production-line constraint mentioned in the source (2-day window, must reuse old I/O modules from the 416-2 DP machine), the following procedure is recommended:
- Power down the existing 416-2 DP rack. Note the slot-by-slot module layout (labels, MLFBs, firmware stickers).
- Replace the CPU with the 416-3 PN/DP in slot 3. Re-seat all I/O modules in the same slots they occupied previously.
- Connect a PG to the CPU via MPI/DP (X1) using a PC-Adapter USB or CP 5611/CP 5621.
- Open the migrated project (already changed from 416-2 DP to 416-3 PN/DP via the Change CPU wizard).
- Perform a full Download to Target: HW Config, then user program, then System Data. Use PLC → Download User Program to Memory Card if the project will be archived on the PLC's Flash card.
- Switch the CPU to
RUNvia the PG (PLC → Operating Mode → RUN) or the mode selector switch. - Observe the RUN LED and SF/BF/INTF/EXTF LEDs. A clean start shows only RUN and DC5V green.
- Read the diagnostic buffer immediately after a successful RUN to confirm no latent events.
9. LED Status Reference
| LED | Color | State | Meaning |
|---|---|---|---|
| RUN | Green | On | CPU in RUN mode, executing OB1 cyclically |
| RUN | Green | Flashing 2 Hz | CPU in RUN with active force table |
| STOP | Yellow | On | CPU in STOP mode (normal at power-up) |
| STOP | Yellow | Flashing 0.5 Hz | CPU requests a memory reset |
| SF | Red | On | Group error: hardware fault, diagnostic buffer error, or programming error |
| BF (DP) | Red | On | PROFIBUS-DP bus fault — slave missing or wire break |
| BF (PN) | Red | On | PROFINET bus fault — device missing or configuration error |
| INTF | Red | On | Internal error — time-of-day interrupt, diagnostic interrupt, or programming error |
| EXTF | Red | On | External error — I/O fault, module diagnostic interrupt |
The absence of all fault LEDs (SF, BF, INTF, EXTF) with the CPU in STOP indicates a startup-time abort, not a runtime hardware fault. The diagnostic buffer must still be read to determine the cause.
10. System Data Blocks vs User Program
A common source of STOP conditions in S7-400 migrations is confusion between System Data and the User Program:
| Object Type | Contents | CPU-Specific? | Editable? |
|---|---|---|---|
| System Data (SDB) | HW Config, communication connections, time-of-day settings, MPI/DP/PN parameters | Yes — bound to CPU type and slot map | Only via HW Config / NetPro |
| User Program (OB/FB/FC/DB/UDT) | Application logic, process data, recipes | No — portable within the same family if interfaces match | Yes, in LAD/FBD/STL or SCL |
When migrating from 416-2 DP to 416-3 PN/DP, the System Data must be regenerated by STEP 7 when the CPU is changed. Manually copying SDBs from the old project is not supported and produces the silent-STOP behavior described in the source. The user program (OB1, OB100, all FBs/FCs/DBs) can usually be reused verbatim, provided the new CPU has at least the same work memory and the same number of S7-400-specific resources (timers, counters, bit memory, I/O).
11. Memory Reset and Re-Commissioning
If the CPU is stuck in STOP with no LED and the diagnostic buffer points to a system-data inconsistency, a memory reset followed by a clean download will clear the condition:
- Set the mode selector to
MRESand hold for ~3 seconds until the STOP LED flashes slowly. - Release the switch, then within 3 seconds turn it back to
MRESand hold again until the STOP LED is steady on. - Release — the CPU is now memory-reset and the diagnostic buffer is cleared.
- Connect with STEP 7 and download HW Config first, then user program.
12. Pre-Deployment Verification Checklist
| Step | Verification | Pass Criteria |
|---|---|---|
| 1. Hardware catalog match | Open HW Config, compare each slot to the physical rack | MLFB and firmware version match exactly |
| 2. PLCSim run | Download full project to PLCSim, toggle to RUN | CPU enters RUN, OB1 cycles, no STOP events |
| 3. Diagnostic buffer on PLCSim | Right-click PLCSim CPU → Diagnostic Buffer | No errors, no warnings |
| 4. PG connection on bench | Connect PG to the physical CPU via MPI/DP, download | Download completes without SDB error |
| 5. Mode transition | PG → PLC → Operating Mode → RUN | CPU transitions to RUN, RUN LED solid green |
| 6. LED check | Inspect all front-panel LEDs | Only RUN and DC5V green; all others off |
| 7. OB100 execution | Read diagnostic buffer; verify warm restart event | Event ID 0x4304 "Restart completed" present |
| 8. OB1 execution | Monitor OB1 cycle time in PG online → module information | OB1 cycle time stable, < 150 ms typical |
| 9. I/O handshake | Force a known input, observe the mapped input word in VAT | Process image updates within 1 OB1 cycle |
| 10. Final diagnostic buffer review | After 10 minutes of clean RUN, read buffer again | No new errors or warnings |
13. Key Takeaways
- Yes, the physical rack must match the SIMATIC Manager hardware configuration exactly — there is no "best-effort" mode in the S7-400.
- Copying a user program (OB/FB/FC/DB) from a different CPU is permitted if the CPU family and interfaces are compatible, but System Data must be regenerated by STEP 7.
- A STOP condition with no LED is a startup-time abort, not a hardware-detected fault — always read the diagnostic buffer.
- Use STEP 7's Change CPU wizard to migrate within the S7-400 family. It preserves the program and updates only the system data.
- Validate every migration in PLCSim before taking the production line offline.
14. Frequently Asked Questions
Does the S7-400 require the physical rack to match the hardware configuration exactly?
Yes. The S7-400 performs a strict slot-by-slot check of MLFB and hardware revision at every STOP-to-RUN transition. Any mismatch — missing module, wrong module, or extra module — will place the CPU in STOP with event ID 0x130E or 0x1311 in the diagnostic buffer. There is no permissive mode in the standard firmware.
Why does the CPU go to STOP with no LED after copying the user program from another S7-400?
When System Data Blocks (SDB) are overwritten by a download that does not match the current CPU's resource map, the CPU aborts during startup OB processing. This is a startup-time abort, not a hardware-detected fault, so the SF LED is not latched. Reading the diagnostic buffer will show event ID 0x49A2 (error in startup OB) or 0x3571 (system data error).
How do I migrate a program from a 416-2 DP to a 416-3 PN/DP without rewriting the code?
Open the project in SIMATIC Manager, go to HW Config, right-click the existing CPU and select Change CPU. Choose the 416-3 PN/DP with matching firmware, confirm, and recompile. The user program is preserved automatically; only the System Data is regenerated. Always validate the result in PLCSim before deploying to the real hardware.
Can I test the new program without having all the I/O modules on the bench?
Yes — use S7-PLCSIM V5.4 SP5 or later. PLCSim emulates the CPU, including the diagnostic buffer and STOP/RUN state machine. Download the complete project (HW Config + user program) to the simulated CPU and verify the RUN transition. PLCSim does not validate physical module presence, so a final field check is still required.
What is the difference between copying the user program and copying the System Data in STEP 7?
The user program (OB, FB, FC, DB, UDT) contains the application logic and is portable between CPUs of the same family if interfaces match. The System Data (SDB) contains the hardware configuration, communication connections, and interface parameters and is CPU-specific. Copying user program blocks is safe; copying System Data Blocks from a different CPU is not supported and will cause a STOP condition.