Problem Statement
On a SIMATIC S7-300 system built around the CPU 312, MLFB 6ES7 312-5BD00-0AB0, the following fault is reported after commissioning or a hot-swap of the Micro Memory Card (MMC):
- CPU is in STOP immediately after the MMC is inserted into the slot.
- The STOP LED blinks at the slow 0.5 Hz / 2 Hz error rate, not a steady STOP.
- STEP 7 / SIMATIC Manager reports "No online partner is active" or "The partner is not reachable" when the MMC is in place.
- Removing the MMC allows an MPI/PG connection and the project can be downloaded; behaviour returns to normal.
Operation without the MMC is acceptable only for diagnostics because the CPU 312 has no integrated load memory – the MMC is the load memory. The platform must be returned to a state in which the card is loadable, formatted correctly, and accepted by the firmware.
CPU 312 Hardware Identification (MLFB 6ES7 312-5BD00-0AB0)
Before any corrective action, confirm the exact hardware version. The 312-5BD00-0AB0 differs from sibling 312-C CPUs and from later 312-5BE/5BF revisions in work memory size, instruction set, and supported MMC types.
| Parameter | Value |
|---|---|
| MLFB | 6ES7 312-5BD00-0AB0 |
| Product family | SIMATIC S7-300 |
| Work memory (code) | 16 KB |
| Work memory (data) | 8 KB |
| Bit instruction time | |
| Integrated interfaces | 1 × MPI (187.5 kbit/s default) |
| Load memory | MMC only (no integrated RAM) |
| Supported MMC sizes | 64 KB up to 4 MB (FCS MMC, later up to 8 MB via HSP) |
| Retentivity | All data via NVRAM plug (optional) |
| Firmware versions | V1.x, V2.x, V3.x (visible in PG – Accessible Nodes) |
Two consequences flow directly from the table:
- The CPU cannot run any user program without a valid MMC. Removing the card allows online access for engineering, not for production operation.
- Any MMC formatted on a different CPU family (e.g. an S7-400 MMC, an S7-22x MMC, or a consumer SD card re-labelled) is rejected at startup, producing the blinking STOP pattern described above.
Cross-reference: SIMATIC S7-300 CPU 31xC and CPU 31x Operating Instructions – section 4.2 "Memory concept of the CPU 31x".
STOP LED Blink Patterns and Diagnostic Meaning
The CPU 31x family uses a small grammar of LED states. Reading the exact pattern avoids chasing the wrong fault.
| STOP LED | Meaning | Typical root cause |
|---|---|---|
| Off | CPU in RUN or power not present | Normal operation |
| Steady on | CPU in STOP, no fault | User-triggered stop, OB missing |
| Slow blink (0.5 Hz) | STOP with memory reset request | MMC unreadable, checksum error, hardware fault |
| Fast blink (2 Hz) | STOP – firmware/diagnostic request | Firmware update pending, MMC password locked |
| 2 Hz with SF/BF lit | STOP – configuration mismatch | HW config differs from inserted module set |
The reported symptom (CPU works without the card, blinks with the card) is consistent with the slow 0.5 Hz blink: the CPU is signalling that the inserted load memory is invalid and is asking the operator to perform a memory reset before it will accept a fresh download.
To read the same information in software, connect the PG with the MMC removed, switch the interface to Accessible Nodes, navigate to the CPU, and open PLC → Diagnostics/Setting → Diagnostic Buffer. Typical entries that match this scenario:
- "MMC error – no readable content" (event ID 0xE201 / W#16#E201)
- "Memory card check sum error" (event ID 0xE202)
- "STOP due to MMC read error"
- "User program not executable – OB missing"
Each entry has a time stamp and the OB / FC / DB address that triggered the request, which is invaluable when multiple engineers are swapping the card.
Root Cause Analysis: MMC Corruption and Mismatch
The blinking-STOP-with-MMC symptom is almost always one of the following five root causes. The fix path differs for each – identify first, then act.
| # | Cause | Indicator | Fix path |
|---|---|---|---|
| 1 | MMC previously used on a different CPU (e.g. S7-400) and not deleted | Diagnostic buffer shows "unknown card content" | Delete MMC via SIMATIC Manager or MRES |
| 2 | MMC filesystem invalid (power loss during write, ESD damage, wear-out) | Diagnostic buffer shows checksum error | Reformat via Field PG / external prommer |
| 3 | Non-Siemens MMC, wrong flash type, or oversized MMC (>4 MB without HSP) | CPU does not recognise card geometry | Replace with original Siemens MMC (6ES7 953-…) |
| 4 | STEP 7 / HSP does not know the target firmware | PG cannot go online with MMC inserted | Install matching Hardware Support Package |
| 5 | MMC password-locked on a different project | SF + STOP blink together | Unlock via SIMATIC Manager (know password) or format physically |
Solution Path A – Delete / Format the MMC from SIMATIC Manager
The cleanest path when you have a Field PG with STEP 7 installed. This path does not require a live CPU connection – the MMC is read/written directly through the PG's MMC slot (any SIMATIC Field PG M, Premium, or Advanced has an MMC slot on the left side, MMC label facing down).
Step-by-step procedure
- Power the CPU down and remove the MMC. Label it immediately – in a plant with many spare MMCs this prevents cross-contamination.
- Insert the MMC into the Field PG's MMC slot. The text/label side of the card faces down; the chamfered corner is at the front.
- Open SIMATIC Manager. On the left-hand project tree you will see an icon representing the removable card (the SIMATIC Memory Card icon – a small card symbol above the project tree).
- Right-click the icon and select "SIMATIC Memory Card → Display contents" (German: Speicherkarte S7 → Inhalt anzeigen).
- Select all blocks with
Ctrl+Aand pressDel. If the card was used on a foreign CPU this is the only way to remove the project-specific SDBs. - Alternative menu path: File → S7 Memory Card → Delete. This issues a low-level format that rebuilds the Siemens MMC header. Wait for the progress bar to complete – do not remove the card while the red LED on the Field PG is lit.
- Eject the card via the SIMATIC Manager icon (right-click → Remove Memory Card) before physically pulling it.
- Insert the MMC into the powered-down CPU 312 and power up.
- Verify with the Accessible Nodes view that the CPU now reports a normal hardware-OK state with no diagnostic buffer entries.
If SIMATIC Manager reports "The card is write-protected", the card has a mechanical write-protect slide (rare on Siemens MMCs; common on no-name cards). Slide it to the unlocked position and retry. Genuine Siemens 6ES7 953-8LG00-0AA0 (4 MB) and 6ES7 953-8LJ00-0AA0 (8 MB) cards do not have a write-protect tab.
Solution Path B – MRES Memory Reset on the CPU
When the MMC contains a project the CPU will not run (wrong CPU type, password locked, corrupted) and the field engineer does not have a PG, the CPU itself can perform the equivalent of a low-level format. This is the MRES (Memory Reset) operation, executed via the mode selector switch on the front of the CPU 312.
Mode selector positions
| Position | Function |
|---|---|
| RUN | Normal program execution (redundant position on CPU 312 – same as RUN-P) |
| STOP | Stop; allows download |
| MRES | Spring-return – hold for timed operation |
MRES procedure for a 312-5BD00-0AB0
- Insert the MMC that is suspected of being bad.
- Turn the mode selector to STOP. Wait for the STOP LED to come on steady.
- Turn the selector to MRES and hold for ~3 seconds, then release. The STOP LED goes out briefly.
- Within 3 seconds, turn the selector to MRES again and hold for 9 to 11 seconds exactly. The STOP LED blinks at 2 Hz during the hold and goes steady when complete.
- Release the selector – it springs back to STOP. The MMC is now formatted and the CPU is ready for a fresh download.
After MRES, the diagnostic buffer retains its previous entries (MRES does not clear the buffer) – clear it manually with PLC → Clear/Reset Diagnostic Buffer from a connected PG if you need a clean log.
Solution Path C – External EPROM Prommer
When the MMC is unreadable to the CPU and to the Field PG – typically after an under-voltage event on the card – the only remaining option is to reformat the flash through a Siemens external prommer.
Hardware required: SIMATIC S5/S7 External Prommer, MLFB 6ES7 792-0AA00-0XA0 (USB variant) or the legacy 6ES7 792-0AA00-0AA0 (parallel). The 0XA0 version supports:
- S7-300 MMCs (all sizes 64 KB – 8 MB)
- S7-400 memory cards (RAM and Flash)
- S7-200 memory cards
- S5 memory cards and EPROMs (legacy)
Procedure
- Install the prommer driver and the accompanying S7PROMM software on a Windows 7/10/11 PC. The driver package is shipped with the device; current builds are available from the Siemens Industry Online Support portal under article ID 16666712.
- Insert the MMC into the prommer's slot, label side up.
- Launch S7PROMM, select File → Format → MMC → Format. Acknowledge the warning that all data will be erased.
- After the format completes (typically 30–90 s for a 4 MB card), the prommer writes a fresh Siemens MMC header that the CPU 312 will accept.
- Insert the card into the CPU. The CPU should now boot to STOP-without-blink. Proceed with a normal project download.
Field PG and HSP Prerequisites
Before any of the three paths above, verify the following so that the engineer is not chasing ghosts on a green-field bench or during a hot callout.
| Item | Required | How to verify |
|---|---|---|
| STEP 7 version | V5.4 SP5+ or V5.5 for CPU 312 firmware V3.x | Help → About |
| HSP for CPU 31x | Latest available for the firmware | Start → SIMATIC → Hardware Support Packages |
| Field PG MPI/DP driver | PC adapter USB (6GK1 571-1AA00) or CP 5611 / CP 5621 | Device Manager → SIMATIC NET |
| Accessible Nodes visible | PG sees the CPU on MPI address 2 (default) | PG – Accessible Nodes |
| Project version matches | Target firmware visible in HW Config → CPU → Properties | Compare with CPU's online diagnostic buffer |
If Accessible Nodes does not show the CPU when the MMC is in place, but does show it when the MMC is removed, the firmware is refusing to start the communication stack because the load memory is unreadable. This is the exact symptom of the original report and is solved by paths A, B or C above.
Verification and Re-commissioning
After any of the three solutions, perform the verification sequence below before handing the system back to operations. Each step has a pass criterion – do not skip.
- Power cycle with MMC inserted. CPU should come up in STOP (steady LED), not blinking. The SF, BF and FRCE LEDs should be off.
- Read the diagnostic buffer. Confirm that the previous MMC errors are no longer being added. The most recent entry should be "Power on" or "STOP requested by user".
- Download the project. Use PLC → Download. The transfer should complete in seconds (a 4 MB MMC over MPI 187.5 kbit/s will take ~30 s; a DP/USB adapter 1.5 Mbit/s will take ~5 s).
- Switch to RUN. The RUN LED should illuminate within 1 s. The STOP LED must go off completely – no residual blink.
- Force table read. If the project uses forces, confirm PLC → Display Force Values shows the expected values and the FRCE LED is lit only when active forces exist.
- Process signal sanity check. With the machine in a safe state, toggle one digital output via VAT or watch table, confirm the physical actuator responds, and reset.
If after these steps the STOP LED still blinks, re-read the diagnostic buffer for the most recent entry. A repeat checksum error points to a hardware fault on the MMC itself; replace it with a new Siemens 6ES7 953-8LG00-0AA0 (4 MB) or equivalent before continuing.
Preventing Future MMC Corruption
Three engineering practices reduce the probability of recurrence and the MTTR when it does.
- Apply the write filter. In the CPU 312's object properties (HW Config → CPU → Properties → Diagnostics/Clock), enable the Operating Mode setting to keep the CPU in RUN-P and avoid hot-swap of the MMC under power. The CPU 312 MMC is rated for 100 000 write cycles – PLCs that frequently write setpoints or recipes to the card will exceed this within a few years of three-shift operation.
- Label and segregate MMCs by project. A small plastic case with dividers and project labels prevents the single most common cause of the blinking STOP: an MMC carrying a foreign SDB set being inserted into the wrong CPU after maintenance.
- Keep a hot spare. A formatted, project-loaded spare MMC in a static-shielded bag at the panel door restores MTTR from hours to minutes. Spare cards should be refreshed annually because flash data retention is 10 years typical but degrades with temperature and bit-errors.
Troubleshooting Matrix – Quick Reference
| Symptom | First action | Second action |
|---|---|---|
| STOP LED steady, MMC in place | Check program, download to CPU | Inspect OB1, OB82, OB86, OB121 presence |
| STOP LED slow blink, MMC in place | MRES reset (Path B) | Delete via SIMATIC Manager (Path A) |
| STOP LED fast blink, MMC in place | Check MMC password / format | External prommer reformat (Path C) |
| CPU not visible in Accessible Nodes, MMC in | Remove MMC, go online, read buffer | Format MMC, then re-insert |
| SF + STOP blink together | Hardware configuration mismatch | Re-run HW Config download |
| BF + STOP blink together | Bus fault blocking startup | Check DP/MPI wiring, slave addresses |
FAQ
What does a blinking STOP LED mean on a Siemens S7-300 CPU 312?
A blinking STOP LED on a CPU 312 (MLFB 6ES7 312-5BD00-0AB0) indicates a fault that prevents the firmware from completing startup – most commonly a corrupted, foreign or unreadable MMC. A slow 0.5 Hz blink requests a memory reset; a fast 2 Hz blink can indicate a password lock or pending firmware action. Read the diagnostic buffer (with the MMC removed) to confirm the exact event ID.
How do I format an MMC for the CPU 312 using a SIMATIC Field PG?
Insert the MMC into the Field PG's slot (label side down), open SIMATIC Manager, right-click the SIMATIC Memory Card icon, and select File → S7 Memory Card → Delete. For a true low-level format (flash translation table rewrite), use the external prommer 6ES7 792-0AA00-0XA0 with the S7PROMM software.
Can I perform a memory reset on the CPU 312 without a PG?
Yes. Use the MRES (Memory Reset) procedure: turn the mode selector to STOP, then to MRES for ~3 s and release, then back to MRES for 9–11 s and release. The timing of the second hold is critical – shorter than 9 s does nothing, longer than 11 s aborts the sequence. The MMC is formatted and the CPU returns to STOP ready for download.
Why does my PG say "no online partner is active" only when the MMC is inserted?
The CPU 312 has no integrated load memory; the MMC is the load memory. If the firmware cannot read the MMC during startup, it never initialises the MPI communication stack, so the PG cannot establish a session. Removing the MMC lets the CPU boot its diagnostic mode, which keeps the MPI active so the PG can read the diagnostic buffer. Solving the MMC issue (Paths A, B or C) restores normal online behaviour with the card inserted.
Which Siemens MMC part numbers are compatible with the CPU 312-5BD00-0AB0?
Use genuine Siemens MMCs from the 6ES7 953-8L… family: 6ES7 953-8LG00-0AA0 (4 MB) and 6ES7 953-8LJ00-0AA0 (8 MB) are the most common production sizes. Cards up to 4 MB are supported natively; 8 MB requires the matching HSP installed in STEP 7. Non-Siemens cards, S7-200/400 cards, and consumer SD adapters are not supported and will cause the blinking STOP fault.