Siemens S7-300 CPU 315-2DP: Defective MMC Locks Out Industrial Ethernet on CP 343-1
This reference documents a field-confirmed fault pattern on a Siemens CPU 315-2DP (order number 6ES7315-2AG10-0AB0) equipped with a CP 343-1 (6GK7343-1EX11-0XE0) and a 512 KB Flash MMC (6ES7953-8LJ11-0AA0). Symptom: the CPU sits in STOP with SF lit whenever the MMC is inserted, and the CP 343-1 stops answering the PG on Industrial Ethernet. Pulling the MMC restores the PG link but blows the on-chip work-memory ceiling. The root cause is a deteriorated MMC, and the resolution path (CP bypass > load via MPI/PROFIBUS > replace MMC > rebuild project on a verified card) is reproducible without changing program code. The procedure, supported by Siemens KB ID 21830698 and the broader MMC FAQ set, is laid out in full below.
1. Affected Hardware and Firmware Context
| Item | Order number (MLFB) | Function | Firmware notes |
|---|---|---|---|
| CPU 315-2DP | 6ES7315-2AG10-0AB0 | S7-300 CPU with integrated PROFIBUS-DP master/slave | Firmware V2.x covers STEP 7 V5.3 and V5.4 SPx |
| CP 343-1 | 6GK7343-1EX11-0XE0 | Industrial Ethernet CP for S7-300 (ISO-on-TCP, TCP, UDP, PROFINET IO not supported on -1EX11) | Firmware V2.x via SIMATIC NET commissioning |
| Flash MMC, 512 KB | 6ES7953-8LJ11-0AA0 | Load memory / firmware-update card for S7-300 | Revision "11" is the contemporary variant for CPU 31x |
| Engineering | STEP 7 V5.3 + SP3 (or later) | PC/PG programming tool | PG/PC interface = "TCP/IP → ... CP 343-1 ..." |
-1EX11 variant of CP 343-1 is the older 10/100 Mbit/s TCP/IP-only module (no PROFINET, no PN-IO controller). If your CP is 6GK7343-1CX10-0XE0 (the lead-free / PROFINET-capable successor) the LED nomenclature and the diagnostics buffer entry naming differs; the MMC root-cause logic in this article still applies but check the CP-specific entry in the diagnostics buffer.
2. Observed Symptom Matrix
| Test condition | CPU LEDs | CP 343-1 status | PG result over Ethernet | Interpretation |
|---|---|---|---|---|
| MMC inserted, power on | SF (red) ON, STOP (yellow) ON, RUN off, DC5V green | No SF on CP, link/activity indicator normal but no PG handshake | PG "Target CPU not found" / connection refused | CPU cannot complete OB100 startup; project cannot be read from MMC |
| MMC inserted, CP re-IP'd via "Reset to factory settings" | SF + STOP remain | CP comes up with new IP but TCP socket to PG never opens | Still no access | CP-level reset insufficient; the CPU load-memory read fail is upstream |
| MMC removed, power on | SF off, RUN green, STOP off (after download) | PG obtains connection | Online access works, but download fails: "project exceeds work memory" (CPU 315-2DP = 128 KB work, 256 KB load integrated, expandable only via MMC) | CP and CPU are healthy; load memory source is bad |
| MMC inserted, second "defective" MMC | Same as row 1 | Same as row 1 | Same as row 1 | Corroborates MMC, not CPU |
3. S7-300 Memory Model Recap (Why "MMC out" Restores the CPU)
An S7-300 CPU draws program blocks from load memory (Flash) and copies the active code into work memory (integrated RAM). Without a memory card, the only load memory is the integrated non-remain-load area (typically <= CPU work memory). The CPU 315-2DP ships with 128 KB work memory and 256 KB integrated load memory that is wiped at every power-on, so any project larger than ~128 KB blocks will not load without an MMC. The Flash MMC is therefore mandatory for non-trivial projects. If the MMC cannot be read, the CPU cannot populate work memory and stops in OB100 with SF lit; the CP 343-1 sits in OPERATE but the CPU is not in RUN, so the CP rejects online requests from the PG.
- Load memory: MMC (Flash FEPROM), persistent across power-cycle, removable. See S7-300 CPU Memory Cards Operating Instructions.
- Work memory: integrated RAM, volatile, ~128 KB on CPU 315-2DP. Holds data blocks (DBs), instance DBs, executable code from load memory.
- System memory: counters, timers, bit memory, process-image. Cleared on power-off unless configured to be retentive.
4. Root-Cause Path: Defective MMC vs. Other Suspects
The diagnostic decision tree documented below is intentionally narrow; it accepts the field-confirmed conclusion that the MMC is the failing component, while showing the systematic branch points that were walked before that conclusion was reached. Two equally bad MMCs (same batch, both >8 years in service) collapsed at exactly the same time, ruling out CPU flash-controller faults. The earlier "Industrial Ethernet dropouts" before the power-cycle are reproduced in many field reports and typically point to either an aging MMC or to a CP firmware lock-up. Per the Opto 22 Industrial Ethernet troubleshooting guidance and the Automation.com article on Industrial Ethernet troubleshooting, intermittent PG drops with no physical-layer alarm are nearly always either side (PC firewall, MMC, or CP) - not a bad switch or cable.
Decision-flow outline: if PG access resumes with the MMC removed, the MMC is the most likely culprit; if it does not resume, the CP or physical layer is suspect.
4.1 Other suspects ruled out before replacing the MMC
- CP 343-1 factory-reset and re-IP: did not change behaviour.
- On-CPU MMC format (MRES procedure per ID 21830698): format routine appeared not to start, no SD log error surfaced - a known indicator of unreadable NAND.
- STEP 7 diagnostics-buffer readout (with MMC pulled): entries "Firmware update incomplete / MMC read error" or simply no entries from past online attempts mean the CPU itself cannot flag the MMC - the OS gives up before erroring.
- Second MMC of identical order number: same symptom, two independent cards with same MLFB reading no project.
- CP bypass load via MPI or PROFIBUS (see Section 7): CPU accepted download and reported work-memory error - confirming CPU and CP are healthy.
5. Pre-Replacement Diagnostics (Do This Before Touching the MMC)
- Power-cycle with the MMC inserted. Watch for SF/STOP, and immediately count whether the diagnostic procedure (CPU stop » MRES-rotate "to MRES" then back) runs. If the FC LED group does not pulse the format routine at all, the CPU flash controller cannot communicate with the MMC.
- Read the diagnostics buffer: STEP 7 → PLC → Module Information → Diagnostics Buffer. Search for entries tagged
MMC,FWU, or error code W#16#A3xx. Examples:SP error: MMC not readable (W#16#73C0 / W#16#73C2)Loader stop, error in passive file system (W#16#4503 / 4520)Firmware update error, no FW image on MMC
- Check PLC → Assign Ethernet Address against the configured CP IP/subnet. Document mismatch (default CP IP after factory reset is
0.0.0.0until assigned). - Replace the PG/PC firewall rule for TCP ports
102(S7),50000...50100(S7ONLINE). Disable Windows Firewall temporarily to rule out a transient drop that masquerades as a MMC issue, as per the broad first-step guidance in the Opto 22 network troubleshooting article. - Re-seat the MMC while the CPU is powered down (mating-oxide on the contacts can produce the same symptoms after years in the field).
6. Compatibilty and Sizing: Picking the Replacement MMC
| Size | MLFB (current rev) | Suitable for CPU 315-2DP? | Notes |
|---|---|---|---|
| 128 KB | 6ES7953-8LG11-0AA0 | Marginal for typical projects | Obsolete - supersede with >=512 KB card |
| 512 KB | 6ES7953-8LJ11-0AA0 | Yes (same card as in the case) | Matches the load-memory envelope |
| 2 MB | 6ES7953-8LL11-0AA0 | Yes, recommended spare | Standard 2 MB spare used in most field engineering kits |
| 4 MB | 6ES7953-8LM11-0AA0 | Yes | Use if your project contains large C or S source blocks |
| 8 MB | 6ES7953-8LP11-0AA0 | Yes | Future-proof for FW upgrades (e.g. CLC) |
| 16 MB | 6ES7953-8LR11-0AA0 | Yes | Mandatory for some CLC FUs |
| FEPROM module on FLASH card | 6ES7953-1AL00-0AA0 (8 MB) | Use only if CPU firmware identifies it | Different form factor; verify before order |
Compatibility is governed by CPU firmware: the CPU 315-2DP at FW V2.x supports all -8LJ...-8LR revisions. Ordering tip: keep one brand-new sealed 2 MB card as a swap spare - DO NOT swap with an MMC that has spent years inside another running CPU. Old cards carry the same ageing risk.
7. Bypassing the CP 343-1 via MPI / PROFIBUS to Reach the CPU
When the CP 343-1 stops bridging to the PG, you can still reach the CPU using the integrated PROFIBUS-DP port (X2 on the CPU). This is the most reliable recovery move.
7.1 Hardware required
- PC adapter:
PC Adapter USB A2(6ES7972-0CB20-0XA0) for RS232-to-MPI/DP, OR a CP 5611 / CP 5621 / CP 5622 PC card. - PROFIBUS DP cable (violet) plus PROFIBUS connector with selectable terminating resistor (e.g. 6ES7972-0BB12-0XA0).
7.2 STEP 7 settings
-
PG/PC interface → select
S7ONLINE → PC Adapter USB A2 (MPI/DP)(or the appropriate CP 5611 driver). - On the MPI/DP cable, set the master address to the PG default (0 if not assigned).
- Set the CPU MPI/DP "DP address" (in HW Config) - default is 2, baud rate is 187.5 kbit/s by default on MPI, 1.5 Mbit/s on DP.
- Set the PG interface parameters to match. Click Accessible Nodes. The CPU should appear even with no MMC online.
- Open the project → PLC → Download with target CPU set to
CPU 315-2DPdirectly (not via the CP). This populates on-chip load memory to confirm CPU health.
7.3 Why this matters
If the download via MPI/DP succeeds on the bare work memory (~128 KB total or less), the CPU is verified. The remainder of the commissioning can proceed by reinserting a known-good MMC and downloading the full project onto the MMC, which the CPU then uses as a load-memory source.
8. MMC Replacement Procedure
- Power down the CPU 315-2DP. (Hot swap of MMC is supported by STEP 7 firmware on many CPUs, but for the -2AG10 the safe path is a cold power-down to avoid corrupting the new card on initial write.)
- Slide the old MMC (6ES7953-8LJ11-0AA0) out of the slot on the front of the CPU. Bezel notch is to the right; pull along the slot's axis, no rotation.
- Insert the replacement MMC (e.g.
6ES7953-8LJ11-0AA0new in the box, or upgrade to6ES7953-8LL11-0AA02 MB). - Power up. CPU should come up to CPU: MRES-less boot if MMC is empty; it will report "MMC empty - new load memory" in the diagnostics buffer (W#16#4545 family).
STEP 7 → PLC → Module Information → Diagnostics Buffer -> this entry confirms the MMC slot is good. - Re-establish Ethernet via the CP 343-1: Accessible Nodes on
TCP/IP → ...; the CP should now respond because the CPU is no longer stuck in OB100 read failure. - Download the project onto the new MMC: PLC → Download (or Download to Target Device in STEP 7 V5.x). Confirm
RAM to FEPROMprogress completes.
9. Verification & Commissioning Checklist
| # | Check | Pass criterion |
|---|---|---|
| V1 | LED pattern at cold start, MMC inserted | DC5V green; SF off; RUN on or blinking; BF off (no master on DP). |
| V2 | Diagnostics buffer | No MMC/SPI/class 73C0 entries within the last hour; clean OB100 startup. |
| V3 | Industrial Ethernet via CP 343-1 | Accessible Nodes resolves CPU in < 2 s; Online → Monitor/Modify works. |
| V4 | Download to MMC |
RAM → FEPROM completes; project total < rated MMC size; remaining free space visible. |
| V5 | Power-cycle test (3×) | All three cold starts return RUN with no SF. |
| V6 | Retentive memory | Configured DBs, flags, timers restored across V5 cycle. |
| V7 | CP test buffer | Read CP diagnostics (Module Information on the CP node) - no "connection aborted / TCP expired" entries. |
10. Preventive Practices for MMC Lifespan
- Avoid hot-cycling the CPU while a firmware update is mid-write. Mid-write power loss is the leading source of "MMC bit-flipped" failures.
- Store spare MMCs sealed and ESD-bagged. A spare kept inside an active cabinet runs the same thermal ageing as the working card.
- Rotate MMCs every 5-7 years in continuously operating plants - Siemens Flash FEPROMs inside -8L... cards are typically rated for ~10 years of on-card retention but wear on read cycles accelerates.
- Document the MMC order number as part of the asset record so that a future CP-locked outage can be correlated to card age.
- After every commissioning, perform one full upload from the running CPU: PLC → Upload to PG -> archive. This gives you the ground truth in case the next MMC is suspect.
- For new installations, prefer the 2 MB card (6ES7953-8LL11-0AA0) to keep headroom for future CLC or HMI download stations.
11. Field-Reporting Summary (For Copy-Paste to Your Service Request)
- Hardware: CPU 315-2DP (6ES7315-2AG10-0AB0), CP 343-1 (6GK7343-1EX11-0XE0), MMC 512 KB (6ES7953-8LJ11-0AA0), STEP 7 V5.3 SP3.
- Symptoms: SF + STOP with MMC inserted; CP refuses PG on Ethernet; removing MMC restores PG link; CPU rejects download due to "project > work memory".
- Diagnostics attempted: CP factory-reset, MMC format via MRES, second card swap, MPI/DP direct download, on-board diagnostics buffer read.
- Root cause: defective MMC (Flash card unable to load project at OB100).
- Resolution: replace MMC; cold-boot; download project via CP 343-1 over Industrial Ethernet; three consecutive power-cycle verifications.
12. Frequently Asked Questions
Why does removing the MMC restore the Ethernet connection to the CP 343-1?
Because the CPU 315-2DP fails OB100 startup when it cannot read a usable load-memory image from the MMC, leaving the CPU in STOP with SF lit. The CP 343-1 stays in OPERATE but does not bridge an online session because the CPU is not in RUN. With the MMC removed, the CPU boots from on-chip load memory, reaches RUN, and the CP accepts PG connections again.
Does the "MMC defective" diagnostic message always appear?
No. Many defective cards wedging the SPI read flow simply return bad blocks until the CPU firmware times out, with no SDB / W#16#73xx entry. Absence of a diagnostic-buffer MMC error does not rule out an MMC fault; mechanical symptom - "fixes when I pull it" - is the more reliable indicator.
Can I reuse a spare MMC pulled from another running S7-300 cabinet to fix this?
You can use it as a temporary card to confirm the slot is good, but treat it as a known-aged asset: an in-service MMC carries the same wear profile as the failed one. For permanent recovery, install a fresh MMC of size >= 512 KB and rerun the load-memory download.
Why does STEP 7 fail to format the MMC on the CPU?
The on-CPU format routine is invoked through the MRES selector and is implemented in CPU firmware. If the MMC SPI handshake is wedged, the format routine never actually acquires the card and "appears" to hang. This matches Siemens ID 21830698 ("How do you format the MMC in the S7-300 CPU?") and indicates the card cannot be reformatted by the controller.
Will an active "factory reset" of the CP 343-1 fix it?
Not by itself. Resetting the CP only restores its own configuration. If the upstream CPU is still in SF + STOP due to an unreadable MMC, the CP has nothing healthy to bridge to, so PG access remains blocked. Always combine CP reset with verifying the CPU state via the MPI/DP interface or by swapping the MMC.
What MMC size should I order as a replacement spare for the engineering kit?
Order 2 MB (6ES7953-8LL11-0AA0) as the standard spare. It is large enough for typical CPU 315-2DP projects (which rarely exceed ~1 MB after compilation) and small enough to keep procurement cost low if you keep multiple spares per plant.