Problem Description
A SIMATIC S7-300 CPU 314 is observed with the STOP LED flashing continuously whenever a Micro Memory Card (MMC) is inserted into the card slot. The CPU is reachable in STEP 7 via the "Accessible Nodes" function only when the MMC is removed. The same MMC operates correctly when inserted into a CPU 312 in the same rack, which rules out a hardware defect on the card itself. The user-visible symptom is interpreted as a "missing bootloader" or corrupted CPU firmware image stored on the MMC.
The STOP LED flashing pattern is the CPU's diagnostic channel. In the SIMATIC S7-300 family, the STOP LED is implemented as a tri-state indicator:
- OFF – CPU is in RUN, no fault.
- Steady ON – CPU is in STOP; the diagnostic buffer can be read for the cause.
- Flashing at 2 Hz – CPU is in STOP and is requesting an overall reset. A flashing STOP LED is the classic "I need a fresh image" signal and is one of the standard request-for-reset states defined in the S7-300/400 System Manual.
Flashing STOP combined with the inability to go online while the MMC is inserted is a strong indicator that the files on the MMC do not match the CPU type or that the card contains data that references an incompatible firmware core.
Affected Hardware and Firmware
The condition discussed applies to the following representative CPUs from the 6ES7314 family:
| Order Number (MLFB) | Model | Firmware Range | Work Memory |
|---|---|---|---|
| 6ES7314-1AF10-0AB0 | CPU 314 | V1.x – V2.x | 96 KB code / 96 KB data |
| 6ES7314-1AG14-0AB0 | CPU 314 | V3.x | 128 KB code / 128 KB data |
| 6ES7314-6CG03-0AB0 | CPU 314C-2 DP | V3.x | 96 KB code / 96 KB data |
| 6ES7314-6EH04-0AB0 | CPU 314C-2 PN/DP | V4.x | 192 KB code / 192 KB data |
All S7-300 CPUs from the 31x series use the Micro Memory Card (MMC) as their only non-volatile storage medium. There is no internal flash on classic S7-300 CPUs – the MMC is mandatory for the operating system, user program, retain data, and configuration to survive power-down.
Root Cause Analysis
Three failure modes can produce a flashing STOP LED that recovers only when the MMC is removed:
- Cross-CPU MMC migration: The MMC was last programmed for a CPU 312 (order numbers beginning with 6ES7312-). When the same card is installed in a CPU 314, the CPU's loader compares its hardware identifier against the card's stored identifier and refuses to boot. The loader then demands an overall reset.
-
Corrupted firmware area on MMC: The MMC's S7 file system contains the user project plus hidden system files (
SIMATIC.MMC,__S7FIRM__and project archives). If the firmware descriptor or boot sector is corrupted by an interrupted write, a hot-removal, or a non-Siemens card programmer, the CPU enters the request-for-reset state. - Operating system update on MMC without matching CPU firmware: If a firmware update was performed and the project was stored on a card originally written for a different firmware major version, the new CPU can reject the boot sector.
The term "bootloader is missing" used informally in the field actually refers to the CPU firmware image that the loader expects to find in the card's system area. Siemens-supplied MMCs ship with a clean S7 file system; MMCs that have been used in a project carry an additional project archive. Either way, the loader expects a consistent CPU_TYPE field that matches the receiving CPU.
Diagnostic Steps Before Resetting
Before performing a destructive reset, capture the diagnostic buffer to confirm the cause. Proceed in this order:
- Remove the MMC from the CPU 314.
- Connect the MPI/DP interface of the CPU to the engineering PG/PC running STEP 7 V5.5 or TIA Portal V13+ (the legacy S7-300 family is fully supported by both).
- In STEP 7 V5.5: PLC > Accessible Nodes. In TIA Portal: Online > Accessible Devices. The CPU 314 will appear with its MPI address (default 2).
- Open PLC > Diagnostic/Setting > Diagnostic Buffer (STEP 7) or Online & diagnostics > Diagnostic buffer (TIA).
- Read the top entries. Typical entries in this scenario include:
| Event ID | Text (typical) | Meaning |
|---|---|---|
| 16#4502 | STOP due to STOP switch / MMC | User-requested STOP |
| 16#494E | Stop because card has wrong content | MMC contents do not match the CPU |
| 16#494D | Stop because card type wrong | Wrong card class (FEPROM vs. FLASH) |
| 16#4300 | Module/IO fault | Distributed I/O issue (not this case) |
| 16#4570 | OB not loaded (OB 85, OB 122 etc.) | Program execution error |
If entries 16#494E or 16#494D appear at the top, the diagnosis is confirmed: the MMC is mismatched or rejected by the loader. A reset is mandatory.
MMC File Structure (for Reference)
The Siemens S7-300 MMC uses a proprietary FAT-based file system (not Windows-compatible). The root directory contains:
-
S7JOB.S7S– active job marker (e.g., overall reset pending). -
SIMATIC.MMC– the user project (S7 program, blocks, system data). -
__S7FIRM__– hidden CPU firmware reference and CPU_TYPE descriptor. -
LOGDEVICE.S7L– diagnostic log device (optional). - Project archives under user-named folders.
The __S7FIRM__ entry is the file the loader reads first. It carries the CPU family identifier. When that identifier does not match the host CPU, the loader halts before any further file is opened, which is why the CPU is unreachable online.
Solution: Overall Reset of the MMC
The recommended field-procedure is a factory / overall reset of the MMC using the CPU's mode selector. This procedure is documented in the Siemens S7-300 System Manual and is the sanctioned recovery path.
Prerequisites
- CPU 314 with stable 24 V supply on the PS 307 / PS 305 power module.
- A working, Siemens-supported MMC of compatible size (see table below).
- Access to the front-panel mode selector (key or toggle).
- STEP 7 V5.5 SP2+ or TIA Portal V13 SP1+ for online verification after the reset.
Compatible MMC Types for CPU 314
| Order Number | Size | Type | Usable for CPU 314 |
|---|---|---|---|
| 6ES7953-8LF00-0AA0 | 64 KB | FLASH | Yes (tight) |
| 6ES7953-8LG00-0AA0 | 128 KB | FLASH | Yes |
| 6ES7953-8LJ00-0AA0 | 512 KB | FLASH | Yes (recommended) |
| 6ES7953-8LL00-0AA0 | 2 MB | FLASH | Yes |
| 6ES7953-8LM00-0AA0 | 4 MB | FLASH | Yes |
| 6ES7953-8LP00-0AA0 | 8 MB | FLASH | Yes |
| 6ES7953-8LR00-0AA0 | 16 MB | FLASH | Yes |
Use a card with sufficient free memory for the project; 512 KB (6ES7953-8LJ00-0AA0) is a practical minimum for most CPU 314 applications.
Reset Procedure via MRES
- Insert the card to be reset into the CPU 314.
- Set the mode selector to STOP. The STOP LED will begin flashing at 2 Hz because the card's content is rejected.
- Hold the mode selector in the MRES position. Expect the STOP LED to switch OFF briefly, then to a steady ON state.
- Within 3 seconds, release the selector, then turn it back to MRES again. The STOP LED will flash rapidly (about 5 Hz) while the overall reset progresses.
- Wait until the STOP LED returns to a steady ON state. The MMC is now reformatted to its Siemens-factory state (empty S7 file system).
- Power-cycle the CPU (PS 307 OFF/ON) to force a fresh loader pass.
If the rapid-flash sequence (step 4) does not occur, the reset was not acknowledged. Wait 30 seconds, power-cycle the station, and repeat steps 2 through 5.
Alternative: Reset from STEP 7 with a "Foreign" Card
If the MMC was previously used in a CPU 312 and you need to wipe it from inside STEP 7:
- Insert the "foreign" card into the CPU 314 anyway.
- From STEP 7 V5.5: PLC > Accessible Nodes shows the CPU 314 at its MPI address. Open the online interface.
- Select PLC > Operating Mode > Overall Reset. STEP 7 will issue an MRES job through the loader. The job writes a reset marker (
S7JOB.S7S) onto the card and then power-cycles the firmware path. - Confirm the prompt "Delete all data on the card?" with Yes.
- The CPU will report back with a fresh empty S7 file system on the next stop-start transition.
Programming the CPU 314 after Reset
After the overall reset completes, the CPU is reachable online again. Restore the project using either of two field methods:
Method A – Download from STEP 7 (Recommended)
- Open the project in STEP 7 V5.5 or TIA Portal.
- Compile the S7 program (Station > Save and Compile All in STEP 7).
- Download the entire station (PLC > Download to Target Device) including hardware configuration, system data, and blocks.
- Toggle the mode selector to RUN. The CPU will run the freshly downloaded program.
Method B – Restore from an Archived Project
- In STEP 7: File > Retrieve > From MMC (only available if the archive is on a card reader attached to the PG).
- Or transfer an
*.s7parchive through the MPI interface using PLC > Upload Station to PG after a temporary project download to receive the blocks.
Verification
Confirm recovery with the following checklist:
- STOP LED stops flashing within 5 seconds of power-up with the freshly reset MMC inserted.
- CPU appears in Accessible Nodes with its MPI address.
- Diagnostic buffer shows a STOP entry due to Reset request only; no 16#494E or 16#494D entries.
- Toggling the selector to RUN with a downloaded program transitions to RUN LED solid ON.
- SF (Group Fault) and BF (Bus Fault) LEDs remain OFF after warm restart.
| LED | Expected after Recovery | Failure Indicator |
|---|---|---|
| RUN | Solid ON (program loaded) | OFF or flashing |
| STOP | OFF | Solid ON or 2 Hz flash |
| SF | OFF | ON = hardware/program fault |
| BF (CPU 314C-2 DP only) | OFF | ON = DP/PN cable or slave fault |
| DC5V | Solid ON | OFF = backplane power issue |
Preventive Best Practices
- Label every MMC with the CPU order number and the last project it served. A label printer (e.g., Brady BMP21-PLUS) or a hand-written label on the card slot housing prevents accidental cross-CPU insertion.
- Maintain a master MMC per CPU type, kept in a static-shielded bag in the cabinet drawer. Use it only to recover from a field-card failure.
- Avoid hot-removal of the MMC. Always power down the PS 307 before pulling the card to prevent filesystem corruption.
- Document the firmware version on the front of each CPU (e.g., "CPU 314 / FW V3.3"). This speeds up diagnosis when a card is moved between cabinets.
- Never share a CPU 312 and CPU 314 MMC, even temporarily. The cost of a 512 KB MMC is far less than the downtime of an unrelated production cell.
Related Documents and References
Authoritative references for the procedure and diagnostic codes listed above are:
- SIMATIC S7-300 CPU 31x and CPU 31xC Operating Instructions – primary source for mode-selector behavior, MRES sequence, and STOP LED patterns.
- SIMATIC S7-300 System Manual – system-wide reference for MMC file system and diagnostic buffer codes.
- SIMATIC Micro Memory Card (MMC) – Compatibility List – compatible order numbers for each CPU family.
- Diagnostic Buffer Event IDs for S7-300/400 CPUs – reference for event IDs 0x45xx, 0x49xx, 0x43xx.
Why does my CPU 314 STOP LED flash only when an MMC is inserted?
A 2 Hz flashing STOP LED means the CPU is requesting an overall reset. When the MMC contains a project written for a different CPU family (for example a CPU 312 card placed in a CPU 314), the loader detects the CPU_TYPE mismatch during the boot sector read and refuses to start. With no MMC installed, the loader finds nothing to validate and the CPU enters a minimal stop state that is still accessible online.
Can I reuse the MMC from a CPU 312 in a CPU 314?
Only as a temporary carrier to issue a reset. The card must be cleared via MRES or by selecting Overall Reset from STEP 7. After the reset it is empty and can be reprogrammed for the CPU 314. Never run a CPU 314 with the CPU 312 project still on the card.
Will an overall reset delete my STEP 7 project source files?
No. An overall reset only clears the MMC in the CPU. The project files stored on the programming device's hard drive (STEP 7 V5.5 archive *.s7p, TIA Portal *.ap14, or the S7 program's source folder) are unaffected. After the reset, download the project again from STEP 7 to the CPU.
What MMC order numbers are recommended for CPU 314 in 2024/2025 spares?
For new spares use 6ES7953-8LJ00-0AA0 (512 KB FLASH) or 6ES7953-8LL00-0AA0 (2 MB FLASH). Older 64 KB cards (6ES7953-8LF00-0AA0) are no longer recommended and may not accept firmware updates on recent CPU 314 firmware versions.
Is the term "missing bootloader" correct for this fault?
Technically no – the CPU has a built-in loader in firmware. The colloquial "missing bootloader" refers to the CPU firmware descriptor file __S7FIRM__ on the MMC, which is required for the loader to hand control to the user program. If that descriptor is missing or references the wrong CPU, the loader signals a request-for-reset, which is the flashing STOP LED state.