Overview
The SIMATIC S7-1200 CPU 6ES7 212-1HD30-0XB0 (1212C DC/DC/Relay) ships from the factory with firmware V1.0 and is field-upgradeable to V2.2.x via the front-panel SIMATIC Memory Card (SMC) slot. The update procedure is documented in the Siemens Industry Online Support portal and uses a self-extracting Windows executable (.EXE) whose output is written to the \SIMATIC\S7_1200\FWUPDATE directory on the SMC. The PLC bootloader reads this directory at the next power-up and applies the firmware, then signals completion with a specific LED pattern.
When the procedure terminates early — for example at V2.1 instead of V2.2 — the root cause is almost always one of three things:
- The memory card in use is not a SIMATIC SMC. The 6AV6671-1CB00-0AX2 is an MMC designed for S7-300 / ET 200S, not for the S7-1200.
- The firmware executable extracted to the card does not match the exact MLFB (order number) of the target CPU, including the I/O variant suffix (DC/DC/DC vs. DC/DC/Relay vs. AC/DC/Relay).
- The card contains multiple firmware
.UPfiles in theFWUPDATEdirectory. The bootloader selects the first valid match and stops, leaving the remainder unprocessed.
This reference walks through identification of the correct SMC, the correct firmware file name pattern, the LED-based status decoding, the recovery procedure when V2.1 is reported as the active version, and a verification matrix that confirms a clean V2.2 install.
Affected Hardware and Required Components
| Component | Siemens MLFB / Catalog No. | Notes |
|---|---|---|
| Target CPU | 6ES7 212-1HD30-0XB0 | 1212C DC/DC/Relay; 8 DI / 6 DO relay / 2 AI onboard |
| Source firmware (PC side) | 212-1HD30-0XB0_V220.EXE | Self-extracting; produces S7_1200.WUP and supporting files in FWUPDATE
|
| Required SMC (4 MB) | 6ES7 954-8LE01-0AA0 | Minimum for V2.2 update payload |
| Required SMC (12 MB) | 6ES7 954-8LF01-0AA0 | Recommended; works for any S7-1200 firmware up to V4.x |
| Programmer / Engineering | STEP 7 V11 SP2 (TIA Portal) or later, or V13 for V2.2 project files | Required to verify firmware level after update |
| Not supported for S7-1200 update | 6AV6 671-1CB00-0AX2 | SIMATIC MMC for S7-300 / ET 200S — will not initiate a valid update on an S7-1200 |
6ES7 954-8L.... Any 6AV6 671 series card belongs to the S7-300/C7/ET 200S product line and is not a valid firmware-update medium for the S7-1200. If the card in use is from the 6AV6 671 family, the PLC will still attempt to read it, may report a maintenance (MAINT) flash, but the firmware level will not advance beyond the version already installed.Firmware File Naming Convention
The Siemens .EXE firmware updater for the S7-1200 always uses the order number (MLFB) of the target module in the file name. The string between the underscores breaks down as follows:
212-1HD30-0XB0_V220.EXE
│ │ │ │
│ │ │ └── V2.2.0 firmware build
│ │ └─────── Hardware variant suffix (-0XB0 = DC/DC/Relay, -0XB1 = DC/DC/DC)
│ └─────────────── Product family / I/O group
└─────────────────── Module family code (2 = CPU 12xx)
Common 1212C variants and their matching update files:
| CPU Order Number (MLFB) | Variant | Firmware File |
|---|---|---|
| 6ES7 212-1AE31-0XB0 | 1212C AC/DC/Relay | 212-1AE31-0XB0_V220.EXE |
| 6ES7 212-1AE40-0XB0 | 1212C AC/DC/Relay (newer) | 212-1AE40-0XB0_V220.EXE |
| 6ES7 212-1BD30-0XB0 | 1212C DC/DC/DC (early) | 212-1BD30-0XB0_V220.EXE |
| 6ES7 212-1BD40-0XB0 | 1212C DC/DC/DC (later) | 212-1BD40-0XB0_V220.EXE |
| 6ES7 212-1HD30-0XB0 | 1212C DC/DC/Relay (this article) | 212-1HD30-0XB0_V220.EXE |
| 6ES7 212-1HD40-0XB0 | 1212C DC/DC/Relay (later) | 212-1HD40-0XB0_V220.EXE |
Do not assume that two CPUs with the same I/O count are interchangeable. The HD30 vs. HD40 difference, for example, reflects a hardware revision that requires its own firmware. Loading the wrong file appears to the user as a successful update (LEDs cycle, MAINT stops flashing), but the firmware level reported in TIA Portal is unchanged, or worse, the PLC enters a recurring reboot loop.
Root Cause Analysis: Why the Update Stops at V2.1
Three root causes produce the symptom "update appears to run, but firmware level remains at V2.1 (or any pre-V2.2 level)":
Root Cause 1 — Wrong SMC Catalog Number
The 6AV6 671-1CB00-0AX2 is a 4 MB MultiMediaCard intended for S7-300 CPUs. The S7-1200 SMC slot is electrically and mechanically compatible with the SD-card-form-factor SMCs in the 6ES7 954-8L family, but the bootloader requires a SIMATIC SMC with the correct filesystem structure. When a non-SIMATIC card or an S7-300 MMC is inserted, the PLC's update routine either:
- Reads the card, finds no valid
FWUPDATEdirectory, leaves the firmware untouched, but the operator may misread the LED pattern as a successful update; or - Partially processes the file and stops at the next non-matching point, leaving the previous firmware (e.g., V2.1) intact.
Root Cause 2 — Mismatched EXE in the Update Directory
If the extracted FWUPDATE folder contains a file for a different MLFB — e.g., 1214 firmware (214-1BD30-0XB0) copied to a 1212C, or DC/DC/DC firmware (212-1BD30-0XB0) on a DC/DC/Relay CPU (212-1HD30-0XB0) — the bootloader validates the order number against the CPU's hardware ID. On mismatch, the bootloader reports a "firmware not for this module" condition. The PLC remains in its previous state (often V2.1 after a prior good update from V2.0).
Root Cause 3 — Multiple Firmware Files in FWUPDATE
If two or more valid .UP files are present (for example, a V2.0 leftover plus a V2.2 fresh extract), the bootloader processes the first valid match alphabetically and stops. It does not iterate to the higher version automatically. The user sees what looks like a successful update, but the level reported is whichever file was processed first.
Pre-Update Verification
Before inserting the card, perform these checks. Any failure here saves an entire update cycle.
- Confirm CPU MLFB. Read the label on the front of the CPU. Confirm the exact string, including every character of the suffix. Photograph the label if needed. The PLC's own diagnostic buffer in TIA Portal also reports the order number under Online & Diagnostics > Diagnostics > Module Information > Identification.
-
Inspect the SMC. Read the part number laser-etched on the card. Acceptable SMCs for S7-1200 firmware update begin with
6ES7 954-8L. Anything in the6AV6 671-1family is not an SMC. -
Verify file integrity on the PC. Right-click
212-1HD30-0XB0_V220.EXE> Properties > Digital Signatures. The signer should be "Siemens AG". If the file was repackaged or truncated, the bootloader will reject it at the CRC check and the PLC will not change state. - Format the SMC. Use only the Siemens SIMATIC Automation Tool, the S7-1200 Program Card utility in TIA Portal, or a clean SD-formatter from the SD Association. Windows quick-format is acceptable provided the filesystem is FAT or FAT32 and a single primary partition is present. A card with an MBR from another tool may not be readable by the PLC.
-
Extract to a known path. Run the
.EXEand extract directly to the root of the SMC. The resulting tree should be:\pre>\\SMC\SIMATIC\S7_1200\FWUPDATE\S7_1200.WUP \\SMC\SIMATIC\S7_1200\FWUPDATE\ORDER.TXT (optional) -
Confirm a single firmware target. The
FWUPDATEdirectory must contain exactly one.UPor.WUPpayload. Any second file must be removed.
Step-by-Step Firmware Update Procedure
- Bring the PLC to STOP. Either turn the mode switch to STOP, or stop the CPU from TIA Portal. Wait for the RUN LED to be off and the STOP LED to be solid yellow.
- Insert the SMC. With power applied, push the card into the slot on the underside of the CPU module until it clicks. Do not use excessive force — the card is keyed.
-
Power-cycle the PLC. Remove and re-apply the 24 V supply. The PLC will boot into the firmware-update routine because it detects a valid
FWUPDATEdirectory on the SMC. - Observe the LED sequence. The expected pattern during a V2.2 update from V2.x takes 2 to 5 minutes. See the LED state diagram below.
- Wait for the MAINT LED to stop flashing and the RUN LED to be solid yellow. The PLC is in the post-update state but not yet running the user program.
-
Remove the SMC. The card is no longer needed and the PLC will not boot normally with the
FWUPDATEdirectory still present. - Power-cycle the PLC. The PLC should boot into RUN (or remain in STOP per the mode switch position) with the new firmware active.
- Verify in TIA Portal. Go online, right-click the CPU, and read the firmware version under Online & Diagnostics > Diagnostics > Module Information. Confirm it shows 2.2.x, not 2.1.x.
LED Status Decoding During the Update
Troubleshooting Matrix
| Symptom | Most Likely Root Cause | Action |
|---|---|---|
| MAINT flashes red during write phase | Firmware file does not match the CPU MLFB (e.g., 1214 file on 1212, or DC/DC/DC file on DC/DC/Relay CPU) | Re-extract the correct 212-1HD30-0XB0_V220.EXE to a freshly formatted SMC; remove any other .UP files |
| PLC reboots, no LED change, firmware still at V1.x | Card is not a SIMATIC SMC (e.g., 6AV6 671-1CB00-0AX2) | Replace with 6ES7 954-8LE01-0AA0 or 6ES7 954-8LF01-0AA0 |
| Update appears to succeed but level still reports V2.1 | Multiple firmware files in FWUPDATE; bootloader processed the lower version first |
Wipe SMC; extract only the V2.2 EXE; re-run the procedure |
| RUN LED stays off, MAINT solid red after power cycle | Card was left inserted after a previous attempt; PLC keeps finding old payload | Remove SMC, power cycle, confirm fault clears; then prepare a clean SMC |
| PLC remains in cyclic reboot with the SMC inserted | Truncated or corrupt .EXE download — CRC mismatch |
Delete the SMC contents, re-download the EXE from Siemens support, verify digital signature, re-extract |
| STOP solid, MAINT solid yellow, ERROR flashing | Hardware revision mismatch (e.g., HD30 file on a HD40 CPU) |
Identify the exact MLFB and download the matching V2.2 file |
Verification Steps After a Successful Update
- In TIA Portal, go online with the CPU.
- Open Online & Diagnostics &em> Diagnostics > Module Information.
- Confirm the firmware version is reported as 2.2.x.
- Open the diagnostic buffer and look for the entry
Firmware update successfulwith a corresponding timestamp. - Cycle power to the PLC and confirm it boots into RUN (assuming a program is loaded) and that the user program executes without an I/O error storm.
- Re-download the project to confirm tool-to-PLC firmware compatibility — STEP 7 V11 SP2 supports V2.2 projects; older versions will reject the connection.
Recovery Procedure When the Update Has Been Performed with the Wrong File
If the firmware has been partially updated and the PLC is stuck at V2.1 or the bootloader is rejecting the file mid-write, perform the following recovery:
- Power down the PLC.
- Remove the SMC.
- On a Windows PC, use a card reader to wipe the SMC (full format, FAT32, default allocation size).
- Re-download
212-1HD30-0XB0_V220.EXEfrom the Siemens Industry Online Support portal. Verify the file size matches the published value on the download page. - Run the EXE and extract to the SMC root.
- Confirm only one
.UP/.WUPfile exists in\SIMATIC\S7_1200\FWUPDATE. - Insert the SMC into the PLC, power up, and observe the LED sequence described above.
- If the PLC still does not advance, perform a factory reset by writing an empty program card (SMC with a fresh
S7_JOB\S7_1200SIMATICstructure) and re-attempting the firmware update on a different SMC of the same catalog family.
Process Flow: Diagnostic Decision Tree
Reference: SIMATIC SMC Family for S7-1200
| MLFB | Capacity | Usable for S7-1200 Firmware Update |
|---|---|---|
| 6ES7 954-8LB01-0AA0 | 2 MB | Yes (smaller payloads only — V1.x to V2.0) |
| 6ES7 954-8LC01-0AA0 | 2 MB | Yes |
| 6ES7 954-8LE01-0AA0 | 4 MB | Yes — minimum for V2.2 update on 1212C |
| 6ES7 954-8LF01-0AA0 | 12 MB | Yes — recommended universal card |
| 6ES7 954-8LF02-0AA0 | 12 MB | Yes (newer revision) |
| 6ES7 954-8LL02-0AA0 | 24 MB | Yes (large programs + firmware) |
| 6ES7 954-8LP02-0AA0 | 256 MB | Yes (high-end S7-1200 only) |
| 6ES7 954-8LP03-0AA0 | 2 GB | Yes (S7-1200 G2 and later) |
| 6AV6 671-1CB00-0AX2 | 4 MB | No — S7-300 / ET 200S MMC, not an S7-1200 SMC |
Safety and Operational Notes
- Do not remove the SMC while the MAINT LED is flashing during the write phase. Interrupting the write can leave the PLC in a state that requires a factory reset via an empty program card.
- Do not cycle power during the firmware update. The PLC's internal flash is being rewritten, and an interruption can cause an irrecoverable boot failure.
- Update the project to a STEP 7 version that supports the target firmware (V2.2 requires STEP 7 V11 SP2 Update 2 / V12 SP1 / V13 or later). Older TIA Portal versions will refuse to connect to a V2.2 CPU.
- If the CPU is part of a safety-related application (fail-safe variant
-0XB0 F), confirm the F-firmware version is consistent. S7-1200F updates use a different SMC procedure and a different EXE name. - After the update, perform a complete backup of the project to the SMC using TIA Portal's Online > Backup from online device to a freshly formatted card, to provide a rollback point.
FAQ
Why does the S7-1200 firmware update appear to succeed but the firmware version still shows V2.1?
The bootloader validates the firmware file's order number against the CPU's hardware ID. If the file is for a different module — for example, 1214 firmware on a 1212C, or DC/DC/DC firmware on a DC/DC/Relay CPU — the bootloader rejects it. The PLC may also stop at an earlier version if two or more .UP files are present in \SIMATIC\S7_1200\FWUPDATE and the first alphabetical match is the older one. Re-extract the exact 212-1HD30-0XB0_V220.EXE to a freshly formatted SMC and remove all other firmware payloads.
Can the SIMATIC MMC 6AV6 671-1CB00-0AX2 be used to update an S7-1200 CPU?
No. The 6AV6 671-1CB00-0AX2 is a MultiMediaCard designed for the S7-300 and ET 200S families. The S7-1200 requires a SIMATIC Memory Card (SMC) from the 6ES7 954-8L family. For a V2.2 update of a 1212C, use 6ES7 954-8LE01-0AA0 (4 MB) or 6ES7 954-8LF01-0AA0 (12 MB).
How long does a V2.0 to V2.2 firmware update take on a 1212C?
From power-on with a valid SMC present, expect 2 to 5 minutes. The RUN LED is off and STOP is solid yellow during the erase and write phases. When the RUN LED turns solid yellow and the MAINT LED begins to flash, the bootloader is in the verify and reboot stage. Removing the SMC and power-cycling the PLC at this point finalizes the update.
What is the exact firmware file name for the 6ES7 212-1HD30-0XB0 V2.2 update?
The self-extracting firmware updater published by Siemens is 212-1HD30-0XB0_V220.EXE. The string HD30 in the file name must match the suffix on the CPU's order number label. Loading a HD40 or BD30 file on a HD30 CPU will be rejected at the hardware-ID check.
What should I do if the PLC is stuck in a reboot loop after a failed firmware update?
Power down the PLC, remove any SMC, then prepare a fresh SMC with a single, verified copy of the matching .EXE extracted to \SIMATIC\S7_1200\FWUPDATE. Reinsert the card and power up. If the loop persists, the internal flash may be corrupt; in that case an empty program card can be used to force the PLC back to a known state, after which the firmware update can be retried with a different SMC of the same catalog family.