Problem Overview
Inserting a SIMATIC Micro Memory Card (MMC) that was last programmed for a different S7-300 CPU (for example, a 6ES7 313C that the card was previously inserted in) into a 6ES7 317 PN/DP produces an immediate, unrecoverable-looking fault: the STOP LED blinks continuously, the CPU drops out of RUN/STOP transitions, and both the PN port and the MPI/DP port become unreachable from a PG/PC. Removing the MMC restores communication instantly, confirming the card is the source of the lock-up rather than a hardware failure of the destination CPU.
This fault is reproducible across the S7-300 CPU families that accept 3.3 V MMCs (CPU 31x, 31xC, 31x PN/DP, 317 PN/DP, 319 PN/DP). The CPU compares the boot signature on the card against its own firmware-defined acceptance table during power-on self-test, and a mismatch forces a permanent STOP state with the diagnostic buffer populated by entries such as "Memory card not compatible" or "Firmware update required".
Affected Hardware and MMC Catalog Numbers
Siemens Micro Memory Cards for S7-300 use a 3.3 V NAND-flash format with a proprietary boot block. MMC order numbers and their working/system memory sizes are listed below.
| MMC Order Number | Capacity | Usable for Firmware Update | Typical Use |
|---|---|---|---|
| 6ES7953-8LF00-0AA0 | 64 KB | No (load memory only) | CPU 31x, 31xC program storage |
| 6ES7953-8LH00-0AA0 | 128 KB | No | CPU 31x with small projects |
| 6ES7953-8LJ00-0AA0 | 512 KB | No | Standard S7-300 programs |
| 6ES7953-8LL00-0AA0 | 2 MB | Yes (FEC) | CPU 317/319 firmware updates |
| 6ES7953-8LM00-0AA0 | 4 MB | Yes (FEC) | CPU 319 large projects |
| 6ES7953-8LP00-0AA0 | 8 MB | Yes (FEC) | CPU 319 with extensive options |
STOP LED Blink Codes and What They Mean
The S7-300 STOP LED does not have a single meaning. The blink rate encodes a fault class. The relevant blink patterns for MMC-related faults on CPU 31x are:
| STOP LED Behavior | Meaning | Typical Diagnostic Buffer Entry |
|---|---|---|
| Slow blink (~0.5 Hz), RUN LED off | Memory reset request / MMC format request | "Memory card requested memory reset" |
| Fast blink (~2 Hz), RUN LED off | Memory card fault or incompatible card | "Memory card not compatible" / "Memory card error" |
| Steady OFF, all other LEDs OFF | No MMC inserted or MMC unformatted | None (normal no-card state) |
| Steady ON | CPU in STOP due to user/program request | "STOP by operator" |
A continuously blinking STOP LED at the fast rate is the signature symptom of a card whose boot block does not match the destination CPU's firmware. Both PN and MPI ports are disabled by firmware in this state because the CPU is in a diagnostic mode that requires physical operator intervention (MRES) to clear.
Root Cause Analysis
Three root causes can produce the observed behavior, and they must be distinguished because each has a different fix path.
Cause 1: Cross-CPU boot block mismatch
When a STEP 7 project is downloaded to an MMC, the CPU writes a boot signature that includes a CPU type identifier, the target firmware version, and a configuration checksum. The destination CPU validates this signature during the boot phase. A 6ES7 317-2EK14-0AB0 (CPU 317 PN/DP, FW 3.x) will reject a card whose signature was written by a 6ES7 313-5BF03-0AB0 (CPU 313C, FW 2.x) because the firmware-update envelope flag is set differently and the type-code byte does not match.
Cause 2: Windows-formatted MMC
Per the Siemens S7-300 MMC documentation, an MMC formatted with Windows (FAT16/FAT32) using a commercial card reader is no longer usable as storage in an S7-300 CPU. The CPU expects a proprietary Siemens filesystem that includes a 16-byte boot header at sector 0; Windows tools strip or overwrite that header, leaving the card readable as a mass-storage device but invisible to the CPU. The CPU then enters a fast-blink STOP loop because it cannot find a valid boot header.
Cause 3: Residual passive project
If the card contains a valid passive project (a project that was uploaded with the S7-300 PG option Upload to PC rather than a true program download), the destination CPU may load that project, find a missing or mismatched hardware configuration, and enter STOP with a configuration error. This is the easiest case to recover from because the card itself is healthy.
Diagnostic Procedure Before Recovery
Before attempting any of the recovery methods below, capture the diagnostic buffer contents. With the MMC inserted and the CPU in STOP, perform a single MRES toggle (described below) to attempt a memory reset. If the CPU transitions to a slow-blink STOP state, connect via MPI/DP and read the diagnostic buffer with STEP 7:
- Open SIMATIC Manager, select PLC > Display Accessible Nodes.
- Right-click the detected CPU and choose PLC > Diagnostic/Setting > Clear/Reset.
- Read the Diagnostic Buffer tab and note the most recent 10 events.
The exact wording of the top event tells you which recovery path to take. If the buffer shows "Memory card error: please format", the card is recoverable in the destination CPU. If it shows "Firmware update on memory card" without a matching firmware, the card must be cleared from a CPU of the original family or via a Siemens Prommer.
Recovery Method 1: MRES on the Destination CPU
The standard S7-300 memory-reset procedure is the first attempt for any MMC-related STOP state. It works when the firmware in the destination CPU can claim the card, which is the case for Cause 3 (residual passive project) and most Cause 1 cases where the boot block was not locked.
- Insert the MMC into the destination CPU (for this guide, 6ES7 317-2EK14-0AB0).
- Power-cycle the CPU. Wait until the STOP LED is steady ON or blinking.
- Set the mode selector to STOP (if not already in STOP).
- Hold the MRES switch in the pressed position for at least 3 seconds until the STOP LED lights steadily.
- Release MRES, wait approximately 3 seconds, then press MRES again and hold for at least 3 seconds.
- The STOP LED will blink rapidly during the reset; when the LED returns to a steady state (typically steady ON after ~10 seconds), the reset is complete.
After a successful MRES, the diagnostic buffer is cleared and the CPU is in clean STOP with no project loaded. You can verify by re-establishing an online connection and reading PLC > Module Information > Memory: the load memory usage should be 0 bytes.
Recovery Method 2: S7 Memory Reset via Online Connection
If the destination CPU reaches a state where MPI or PN communication works (for example, after the card is removed and re-inserted briefly with a power cycle to make the card a passive load source), use the online S7 memory reset path.
- With the MMC inserted and the CPU blinking STOP, perform a power cycle. Some CPU 317 PN/DP firmware versions (FW 3.3 and later) will fall back to a passive mode after the second consecutive power cycle if the card's boot block is unreadable, exposing the MPI/DP port briefly for diagnostic access.
- Connect via MPI cable (6ES7901-0BF00-0AA0) to the X1 MPI/DP port. Set PG/PC interface to PC Adapter (MPI) at 187.5 kbps.
- In SIMATIC Manager, select PLC > Accessible Nodes. The CPU should appear with its MPI address (default 2).
- Choose PLC > Diagnostic/Setting > Clear/Reset.
- In the dialog, select the "Delete S7 memory card" option. This sends a diagnostic command that re-formats the card under CPU control.
- Click OK and wait. The operation takes 20-90 seconds depending on MMC capacity.
Verify the operation by re-reading Module Information > Memory > Load Memory. A successful reset shows 0 bytes used and the file system listed as empty S7 filesystem.
Recovery Method 3: Siemens PG Field PG or Prommer
A Siemens Field PG (for example, 6ES7710-1xxxxx) or an external Prommer (for example, 6ES7792-0AA00-0XA0 USB Prommer) running STEP 7 can format an MMC directly. This is the cleanest method because it does not depend on the destination CPU's firmware behavior.
- Insert the MMC into the PG's PC card slot (using a passive MMC-to-PC-card adapter, 6ES7792-0AA00-0XA0) or into the USB Prommer.
- In SIMATIC Manager, select File > S7 Memory Card > Format.
- Choose the target filesystem: S7-300 MMC.
- Confirm. The PG writes the Siemens boot header and clears all sectors.
After formatting, insert the card into the destination CPU. The CPU should now power up in clean STOP with no project loaded. The full PN/MPI stack is initialized, and the CPU is accessible from the PG.
Recovery Method 4: Inserting the Card Back into the Original CPU
If the original 6ES7 313C CPU is available, even temporarily, perform the following to clear the card properly:
- Insert the MMC into the 313C CPU.
- Power on. The CPU should load the program from the card and enter RUN or STOP, depending on the project's mode selector setting.
- Connect via MPI.
- Choose PLC > Diagnostic/Setting > Clear/Reset.
- In the dialog, select "Delete S7 memory card" AND "Reset CPU".
- Click OK. The 313C writes a blank Siemens boot block to the card, which is now usable in any 31x-family CPU.
For 64 KB cards that originate from a 6ES7 313-5BF03-0AB0, this method also removes any CPU-type-specific boot flags that were confusing the 317 PN/DP firmware.
Recovery Method 5: Third-Party MMC Tools (Use With Caution)
Third-party utilities (typically USB MMC readers paired with vendor-specific software) can read, write, and re-format Siemens MMCs at the sector level. This method is documented in informal sources but is not supported by Siemens. Risk vectors include:
- Overwriting the Siemens boot header with a non-matching signature, permanently bricking the card.
- Writing a card size or timing parameter that mismatches the CPU's wait-state table, causing intermittent read errors.
- Loss of card wear-leveling tables, reducing long-term reliability.
Firmware-Update Envelope on the Card
Some 2 MB and larger MMCs are used to deliver a firmware update to a CPU. The card contains both the user program and a firmware envelope with the target firmware binary. When inserted into a CPU whose firmware version is older than the envelope, the CPU enters a special update mode and refuses all standard PG communication. The STOP LED blinks at the fast rate, and only the MPI port may be reachable for a Siemens field service technician running a secured update tool.
If the original 313C firmware was older than 2.6 and the 64 KB card was inadvertently used as a temporary firmware-upgrade carrier, the card must be returned to the 313C for a proper unwrap, or a Siemens service technician must clear the envelope. Do not attempt to MRES or use third-party tools on such a card; the envelope can be permanently damaged.
Verification Checklist
After any recovery method, run the following checks before declaring the CPU and card healthy.
| Check | Expected Result | How to Verify |
|---|---|---|
| STOP LED state | Steady ON, no blink | Visual inspection after power-on |
| Diagnostic buffer clean | No MMC-related errors at top of list | SIMATIC Manager > Module Information > Diagnostic Buffer |
| Load memory usage | 0 bytes if no project, or expected project size | Module Information > Memory > Load Memory |
| PN port reachable | CPU visible in Accessible Nodes on PROFINET | PG/PC interface set to TCP/IP, scan subnet |
| MPI port reachable | CPU visible at MPI address 2 (default) | PG/PC interface set to PC Adapter (MPI) at 187.5 kbps |
| Time-of-day clock | Reads correctly after power cycle | Module Information > Time |
| Card re-readable | Inserting the card into a PG shows empty Siemens filesystem | SIMATIC Manager > File > S7 Memory Card > Read |
Prevention and Best Practices
- Label every MMC with the CPU order number, the last project name, and the last download date. Use a label printer (for example, Brady BMP21-PLUS) with permanent polyimide labels; standard paper labels can detach and contaminate the card slot.
- Use a dedicated card per CPU in a maintenance environment. The cost difference between a 64 KB (6ES7953-8LF00-0AA0) and a 2 MB (6ES7953-8LL00-0AA0) card is small relative to the downtime of a STOP-locked CPU.
- Never format an MMC with Windows tools. The card will be rendered unusable in S7-300 CPUs. If a Windows format is accidentally applied, recovery requires a Siemens PG, Prommer, or original CPU.
- Document the CPU's firmware version on the project CD. If a card is shared between CPUs, the firmware differences will surface as boot-block mismatches.
- Avoid mixing 64 KB cards between 31xC and 31x PN/DP in the same maintenance kit. The 64 KB capacity is too small to hold a 317-class project's hardware configuration, and partial downloads from STEP 7 can leave the card in a non-bootable state.
- Use STEP 7's Save to Memory Card workflow rather than copy-paste file operations on the card. The STEP 7 workflow writes the correct boot header, file allocation table, and CPU-type flag set.
Compatibility Matrix for MMC Capacities by CPU
| CPU Type | Minimum MMC | Recommended MMC | Max Project Size on MMC |
|---|---|---|---|
| CPU 312 (6ES7 312-1AE13-0AB0) | 64 KB | 128 KB | ~ 40 KB code + data |
| CPU 313C (6ES7 313-5BF03-0AB0) | 64 KB | 512 KB | ~ 400 KB |
| CPU 314 (6ES7 314-1AG13-0AB0) | 64 KB | 512 KB | ~ 400 KB |
| CPU 315-2 DP (6ES7 315-2AG10-0AB0) | 128 KB | 2 MB | ~ 1.5 MB |
| CPU 317-2 PN/DP (6ES7 317-2EK14-0AB0) | 2 MB | 4 MB | ~ 3 MB |
| CPU 319-3 PN/DP (6ES7 319-3EL00-0AB0) | 4 MB | 8 MB | ~ 7 MB |
Troubleshooting Matrix
| Symptom | Most Likely Cause | First Action | Escalation |
|---|---|---|---|
| STOP LED fast blink, no PG access with MMC | Boot block mismatch | Try MRES twice; if no change, remove card and re-insert for passive mode | Use Siemens PG/Prommer to format card |
| STOP LED fast blink, intermittent PG access | Firmware envelope on card | Use original CPU to clear envelope | Siemens service technician |
| STOP LED steady ON, MMC in destination CPU | Passive project with configuration error | MRES twice to clear project | Download corrected hardware config from STEP 7 |
| CPU does not recognize card at all (STOP LED off, all other LEDs off) | Card is Windows-formatted | Insert in Siemens PG and re-format as S7-300 MMC | Replace card; Windows-formatted cards may have damaged NAND wear tables |
| CPU boots, RUN LED comes on, then STOP after 5 seconds | Hardware config mismatch in downloaded project | Connect via PG, read diagnostic buffer | Re-download hardware config from STEP 7 |
Safety and ESD Considerations
Micro Memory Cards are ESD-sensitive. When handling outside the CPU, observe the following:
- Ground yourself with a wrist strap (1 MΩ series resistor) before touching the card contacts.
- Do not touch the gold contact fingers; skin oils can cause long-term corrosion.
- Store cards in anti-static cases when not inserted in a CPU.
- Power off the CPU before inserting or removing the MMC; hot-swapping is supported on CPU 31xC and 31x PN/DP only, and a partial insertion can corrupt the card.
Frequently Asked Questions
Why does my S7-300 CPU show a fast-blinking STOP LED after I insert a 64 KB MMC from another CPU?
The destination CPU validates the boot block signature written by the original CPU's firmware during power-on self-test. A mismatch between the source CPU type-code byte and the destination CPU's accepted type-codes forces a permanent STOP with both PN and MPI ports disabled. Recovery requires clearing the card with MRES, a Siemens PG, or the original CPU.
Can I clear the MMC without having the original 6ES7 313C CPU available?
Yes. Use a Siemens Field PG or USB Prommer (6ES7792-0AA00-0XA0) running STEP 7 to select File > S7 Memory Card > Format. This writes a clean Siemens boot header and clears all sectors without requiring the original CPU. Alternatively, insert the card in the destination CPU, power-cycle twice, and attempt the Delete S7 memory card command in SIMATIC Manager's online dialog.
Will MRES on the destination CPU clear the MMC?
No. MRES resets the CPU's work memory and clears the diagnostic buffer, but it does not delete or reformat the MMC. To reformat the card itself, use one of the four methods described above: S7 Memory Reset via online dialog, Siemens PG/Prommer format, original-CPU reset, or third-party tools (last resort, with risk of card damage).
Does a Windows-formatted MMC ever work in an S7-300 CPU?
No. Siemens MMCs require a proprietary boot header at sector 0 that Windows tools strip or overwrite. Per the Siemens S7-300 MMC documentation, any card formatted with Windows is unusable as storage in the CPU and must be reformatted with a Siemens PG or replaced.
What MMC capacity is safe to share between a CPU 313C and a CPU 317 PN/DP?
Use a 2 MB card (6ES7953-8LL00-0AA0) or larger for any cross-CPU sharing. Cards smaller than 2 MB cannot hold a 317-class hardware configuration reliably, and partial STEP 7 downloads can leave the card in a non-bootable state. Always clear the card with Delete S7 memory card in the online dialog before moving it between CPUs of different families.