Fix Siemens S7-1200 CPU Stuck in STOP: HW Configuration Inconsistent
An S7-1200 CPU that compiles, downloads, and reports matching order numbers in the diagnostics buffer can still refuse to enter RUN mode if its online hardware configuration diverges from the offline project. This article documents the field-proven recovery procedure for the "Pending startup inhibit(s): HW configuration inconsistent (TIA portal activity) - Manual warm start required" condition on firmware-level CPU 1214C DC/DC/DC (order number 6ES7 214-1AE30-0XB0) and other S7-1200 CPUs, and explains why a basic Download to Device in TIA Portal is not enough to clear it.
1. Problem Description
The fault presents the following symptoms on a SIMATIC S7-1200 (CPU 1214C DC/DC/DC, MLFB 6ES7 214-1AE30-0XB0, firmware release V4.x):
- TIA Portal project compiles without errors.
- Initial download to the CPU completes and reports success.
- CPU remains in STOP state; pressing RUN in the online panel produces brief RUN/STOP, ERROR, and MAINT LED activity plus network Rx/Tx on the PROFINET port, then the CPU returns to STOP.
- Online > Diagnostics > Diagnostics buffer lists:
- "New startup inhibit information - Current CPU operating state: STOP"
- "Pending startup inhibit(s): - HW configuration inconsistent (TIA portal activity) - Manual warm start required"
- "The loaded configuration and the offline project are not identical. The online and offline module configuration data are different. Order number: 6ES7 214-1AE30-0XB0 / Configured order number: 6ES7 214-1AE30-0XB0"
- Online > Accessible nodes shows the CPU with identical MLFB on both sides.
- MRES via the online panel does not clear the inhibit.
- Replacing the CPU with a brand-new unit of the same order number reproduces the fault immediately after download.
The key diagnostic clue is that the order numbers reported for the online and offline configuration are identical, yet the CPU still claims the configurations are different. This is a flag set by the CPU because the system data blocks generated by TIA Portal do not match the system data currently loaded in the target.
2. Affected Hardware and Software
| Item | Value |
|---|---|
| CPU family | SIMATIC S7-1200 |
| Order number (MLFB) | 6ES7 214-1AE30-0XB0 (CPU 1214C DC/DC/DC) |
| Typical firmware versions observed | V4.2, V4.4, V4.5, V4.6 |
| Engineering tool | Siemens TIA Portal (STEP 7 Basic / Professional) |
| Tested TIA Portal versions | V15.1, V16, V17, V18 |
| Communication | PROFINET (online via accessible nodes) |
| Display elements monitored | RUN/STOP, ERROR, MAINT, Rx/Tx |
For background, see the official SIMATIC S7-1200 Programmable Controller system manual on the Siemens Industry Online Support portal: SIMATIC S7-1200 Programmable Controller - System Manual (entry ID 91696622).
3. Root Cause Analysis
The S7-1200 boot loader validates the system data blocks (SDBs) loaded into the work memory against the detected module topology at power-on. A "HW configuration inconsistent" startup inhibit is raised when the SDB checksum or the module list produced by the offline build of the hardware configuration does not match what the CPU has in its load memory.
Three common upstream causes lead to this state:
- Stale SDBs in load memory. A previous compile/deploy sequence (or a partial download of program blocks only) leaves old system data behind. Subsequent edits to the device configuration in the project tree are saved to the offline project but are not propagated to the CPU until a full Download to device with Replace system data semantics runs.
- Missing "Compile > Hardware (rebuild all)" step. When the device or rack configuration is edited (adding/removing signal modules, changing PROFINET device names, swapping the CPU type, or modifying slot assignments), the offline hardware configuration must be recompiled before it is downloaded. Without this step, the SDBs delivered to the CPU are stale even though the project itself looks consistent.
- Program-only download in a previous session. An earlier Download to device configured for "Download to device: program blocks only" or "PLC program only" loaded the user blocks but did not overwrite the system data. The CPU's runtime check then fails when the next startup compares the new program against the old SDBs.
The user's report confirms the third cause: the project compiled cleanly, the user expected TIA Portal to push the new hardware configuration "automatically" or "during the next software download", and that expectation was wrong. The fix is to force a Compile > Hardware (rebuild all) followed by a Download to device > All that explicitly overwrites the existing SDBs in load memory.
4. Solution Procedure
Execute the following steps in TIA Portal. They are written for TIA V16/V17/V18 and are functionally identical in V15.1.
4.1 Prerequisites
- Project opens without consistency errors in the project tree.
- PG/PC interface is set to the correct network adapter (accessible nodes must list the CPU).
- You have administrator rights on the engineering station; TIA Portal writes to
%ProgramData%\Siemens\Automation\during compile/deploy.
4.2 Step-by-step recovery
-
Open the project and select the CPU in the project tree (e.g.,
PLC_1>CPU 1214C DC/DC/DC). - Recompile the hardware configuration. In the project tree, right-click the CPU or the Device configuration editor and choose Compile > Hardware (rebuild all). Wait for the compile to finish; check the Info / Compile pane for errors and warnings.
- Open the Devices & networks editor and verify the rack, slot assignments, and any distributed I/O (PROFINET devices) match the physical layout. The order number for the central CPU must equal the MLFB printed on the front of the physical unit.
- Re-select the PG/PC interface. Online > Accessible nodes, pick the CPU from the list, then close the dialog.
-
Use a full, replacement download. In the project tree, right-click the CPU and choose Download to device > All (not "Program blocks only"). In the Download preview dialog, confirm that the action shows:
-
Replace system data in target(or equivalent "Overwrite system data") is selected. - The Consistent download option is selected, not Download to device: program only.
-
- Click Load. If the CPU asks to stop, accept. If it prompts for an Assign IP address or Assign PROFINET device name, accept and confirm.
- Restart the CPU in warm restart mode. After the download completes, TIA Portal typically offers Start module / Finish & start. Click Start module to issue a manual warm start. The startup inhibit will clear because the system data now matches the offline build.
- Verify RUN state. The RUN/STOP LED should be solid green; ERROR and MAINT LEDs should be off.
4.3 Alternative recovery when the CPU still refuses
If the inhibit persists after a successful full download, the load memory has residual data that survives the download. Use one of the following escalation paths:
- MRES to factory default via the online panel. In the project tree, right-click the CPU > Online & diagnostics > Operation > Memory reset (MRES). Choose Format / delete user program and reset to factory settings. Then repeat steps 4.2-1 through 4.2-7 with a fresh full download.
- Reset via the physical mode switch. Set the mode switch to STOP, then perform the MRES sequence: STOP, switch to MRES, hold for ~3 s, return to STOP. The CPU will flash the MAINT LED; cycle power and download again.
- Reset IP and PROFINET name first. Some engineers find that the inhibit reappears when the IP or PROFINET device name on the CPU still matches an older project's SDBs. From Online & diagnostics > Functions > Assign IP address and Assign PROFINET device name, reset to defaults, then download.
5. Verification
Confirm the fix has been applied correctly by running all of the checks below:
| Check | Expected result |
|---|---|
| RUN/STOP LED | Solid green (RUN) |
| ERROR LED | Off |
| MAINT LED | Off (may flash briefly during startup) |
| Diagnostics buffer > newest entries | Startup completed, RUN entered, no further "HW configuration inconsistent" events |
| Online & diagnostics > Operating state | RUN |
| Online & diagnostics > Module information > Identification | MLFB matches configured order number; firmware version reports correctly |
| Watch table test | Force a known bit in the user program; observe the value change in the online watch table |
| Power cycle test | Disconnect and reconnect power; CPU must come back to RUN (no startup inhibit) |
6. Diagnostic Buffer Event Reference
When reading the diagnostics buffer in TIA Portal (Online & diagnostics > Diagnostics buffer), the following events are the canonical signatures for the fault described in this article. Use this table to triage other reported "STOP / inconsistent" events.
| Event ID (text) | Meaning | Action |
|---|---|---|
| "New startup inhibit information - Current CPU operating state: STOP" | CPU entered STOP because at least one startup inhibit is pending | Inspect the subsequent entry for the specific inhibit |
| "Pending startup inhibit(s): HW configuration inconsistent (TIA portal activity) - Manual warm start required" | Loaded system data does not match the offline project; CPU refuses to start automatically | Recompile HW config, then Download to device > All with replace system data |
| "The loaded configuration and the offline project are not identical. The online and offline module configuration data are different. Order number: ... / Configured order number: ..." | Module-level divergence between load memory and offline project | Same as above; verify slot assignment in the device configuration |
| "Manual warm start required" | CPU is waiting for an operator to acknowledge and start | Issue Start module from TIA Portal or cycle power after the download |
| "Startup completed" | CPU successfully left STOP and entered RUN | No action; reference event for verification |
For more detail on the diagnostics buffer and its event ID encoding, see the SIMATIC S7-1200 system manual and the S7-1200 function manuals in the Siemens Industry Online Support portal: S7-1200 Automation System - Manual Collection.
7. Prevention: Engineering Workflow Checklist
To prevent this class of startup inhibit from recurring, standardize the following workflow for every project edit cycle on S7-1200 and S7-1500 systems:
- Edit the device configuration first. Any change to the rack, modules, IP address, or PROFINET device name must precede the next compile.
- Always run Compile > Hardware (rebuild all) after editing the device configuration. TIA Portal does not push the SDBs unless a clean compile has produced new ones.
- Use Download to device > All for the first download and any download that includes HW changes. Reserve Program blocks only for hot fixes that do not touch the device configuration.
- Check the download preview dialog for the "Replace system data" toggle. If it is greyed out or missing, the target does not yet have matching SDBs and the download is incomplete.
- Always finish with a manual warm start when the diagnostics buffer reports "Manual warm start required". Do not assume a power cycle is equivalent; the inhibit can survive power-on if SDBs are still inconsistent.
- Version-control the project (e.g., TIA Portal project under Git or SVN). A corrupted or partially modified offline project is a frequent root cause that is invisible until the next download.
- Keep the TIA Portal installation consistent across the engineering team. Mixing TIA V16 and V17 on a project that targets a V4.4 firmware CPU can produce SDBs that the older runtime rejects with a "HW configuration inconsistent" event.
8. Common Edge Cases and How to Recognize Them
The error pattern described in this article has several look-alike faults. Use the matrix below to triage.
| Symptom | Likely cause | First action |
|---|---|---|
| Diagnostics buffer: "HW configuration inconsistent" with identical order numbers | Stale SDBs from a prior partial download | Compile HW (rebuild all) and Download to device > All with replace system data |
| Diagnostics buffer: "Configured order number" differs from physical MLFB | Device configuration has the wrong CPU type or wrong MLFB | Right-click the CPU in the project tree > Change device and pick the correct MLFB, recompile, full download |
| CPU cycles RUN-STOP every few seconds; same diagnostic event repeats | SDB divergence; PROFINET device name mismatch on distributed I/O | Reassign PROFINET device name from Online & diagnostics, then full download |
| CPU halts in RUN, RUN LED solid ON, no error LED, no diagnostic event | Watchdog or pointer error; user program is corrupting its own runtime | Open Online & diagnostics > Call environment; review the last OB1 cycle; check indirect addressing |
| CPU enters STOP and stays there with "System error" events | Firmware bug or hardware fault | Check SiePortal knowledge base for the firmware version; verify signal modules; replace CPU as last resort |
| Same fault on a known-good replacement CPU | Offline project is corrupted; PG/PC has a bad TIA Portal installation | Rebuild project from backup; reinstall TIA Portal; perform a clean compile/deploy |
9. Related Firmware and Tooling Notes
The S7-1200 firmware V4.x line has historically been stable for the diagnostics-buffer error described here, but the following practices reduce the chance of seeing it on a fresh deployment:
- Match the TIA Portal version to the CPU firmware capability set. For firmware V4.6 CPUs, use TIA V18 or later. For firmware V4.4, TIA V17 is the minimum supported tool.
- After upgrading TIA Portal, run Project > Compile > Software (rebuild all) and Compile > Hardware (rebuild all) before the first download to a CPU.
- Use the S7-1200 firmware update tool (
SIMATIC Automation Toolor the firmware assistant in TIA Portal) only when the CPU is in STOP. Do not interrupt a firmware update; a bricked CPU will need a factory reset and a serial-mode recovery.
For official firmware notes and known issues, see the Siemens Industry Online Support entry for the SIMATIC S7-1200: SIMATIC S7-1200 product page and the Siemens Industry Online Support portal.
10. Engineering Field Notes
Three principles to keep in mind when a S7-1200 CPU refuses to leave STOP after a download:
- Trust the diagnostics buffer, not the order-number string. An identical MLFB on both sides is the most common confusing case, but the system-data checksum below the MLFB is what the CPU is actually comparing.
- Replace the CPU last. The fact that the fault reproduced on a brand-new CPU of the same MLFB is itself a strong signal that the offline project (or the TIA Portal install) is the culprit, not the hardware. Engineers who swap the CPU first usually end up with two bricked PLCs and the same problem.
- Use the full download path. The phrase Download to device > All in TIA Portal is not a marketing term; it is the specific menu entry that overwrites both the program blocks and the system data in the target. The "program blocks only" toggle exists for a reason (fast iteration on user code) and that reason is not HW configuration changes.
11. Frequently Asked Questions
Why does my S7-1200 stay in STOP even though the online and configured order numbers are identical?
The CPU compares the system data blocks (SDBs) below the order-number level: slot assignments, module parameters, and PROFINET device names. The MLFB can match while the SDBs differ. The fix is Compile > Hardware (rebuild all) followed by Download to device > All with the Replace system data option selected.
Does MRES (memory reset) clear a "HW configuration inconsistent" startup inhibit?
MRES resets the CPU to factory defaults and clears user program and most SDBs, but it does not always clear the startup inhibit if a partial download is re-applied immediately afterwards. The robust sequence is MRES first, then a fresh full download with a recompiled hardware configuration.
Why did the fault follow a brand-new replacement CPU?
Because the fault is in the offline project or in the engineering station, not in the hardware. Replace the CPU only after the offline project has been verified to compile cleanly and the full download path has been re-run end-to-end.
Can I prevent this in future projects?
Yes. Standardize on Compile > Hardware (rebuild all) before every download that touches the device configuration, and use Download to device > All with replace system data for the first download in a session. Reserve Program blocks only for changes that do not affect the rack or PROFINET topology.
What is the difference between a warm start and a cold start on the S7-1200?
A warm start (the default after a download) retains the retentive tags and DB contents from the last RUN. A cold start resets all retentive memory to the initial values defined in the project. The "Manual warm start required" startup inhibit is cleared by issuing a warm start from TIA Portal (Start module) after the system data is consistent.