Resolving Siemens S7-313 Upload Error 33:17106 MMC Card Fault
Problem Definition
When attempting to upload a STEP 7 project from a SIMATIC S7-313 CPU using SIMATIC Manager V5.4 SP3 over an MPI USB PC Adapter, the operation aborts with the dialog error:
Error 33:17106 — "Communication Link to the adapter is damaged" (Verbindung zum Adapter ist gestört).
The error appears at the very first handshake between STEP 7 and the target CPU, before any block read is performed. Two diagnostic facts narrow the root cause to the CPU's removable storage rather than the PC side:
- The same PC, the same USB MPI Adapter, and the same cable successfully upload other S7-300 stations in the plant — confirming that the hardware path (USB driver, COM port mapping, MPI bus termination, and PC Adapter firmware) is healthy.
- Swapping the Micro Memory Card (MMC) on the affected CPU restores the upload path. Reinserting the original MMC reproduces the error on the same CPU, on other S7-313 CPUs, and on a brand-new replacement CPU installed in the same slot.
This pattern isolates the fault to the MMC itself, not to the CPU, the backplane, or the PC Adapter.
Affected Hardware and Software
| Component | Catalog Number / Version | Notes |
|---|---|---|
| S7-313 CPU | 6ES7 313-1AD03-0AB0, 6ES7 313-5BE01-0AB0, 6ES7 313-5BF03-0AB0 | All 313 / 313C / 313C-2 variants that rely exclusively on MMC for load memory |
| Micro Memory Card | 6ES7 953-8LF20-0AA0 (64 KB) up to 6ES7 953-8LM20-0AA0 (8 MB) | Any generation; failures observed on 64 KB, 128 KB, 512 KB, and 2 MB |
| PC Adapter USB | 6ES7 972-0CB20-0XA0 (USB) or 6ES7 972-0CA23-0XA0 (legacy USB) | Firmware 2.x or 3.x |
| STEP 7 | V5.4 + SP3 (HF11 recommended) | Also reproduced under V5.4 SP4, SP5, SP6, and the V5.5 final release |
| Operating System | Windows XP SP3, Windows 7 32-bit, Windows 7 64-bit | 32-bit STEP 7 install recommended even on 64-bit OS |
Root Cause Analysis
Error 33:17106 is a STEP 7 error class 33 (online interface / adapter) and code 17106 (0x42E2 — adapter communication interrupted). It does not, by itself, prove that the MMC is at fault; STEP 7 can raise the same code when:
- The PC Adapter USB drops characters because the COM port mapping is wrong.
- The MPI bus is unterminated or terminator-only-on-one-end.
- The CPU is in STOP-with-fatal-error and cannot service MPI requests.
- The MMC has internal CRC faults, write-protect, or a corrupted directory structure.
- Know-how-protected or password-encrypted blocks trigger an early abort during the upload of the project header.
The diagnostic matrix that resolves the ambiguity is:
| Test | Pass Result | Fail Result | Conclusion |
|---|---|---|---|
| Upload another S7-300 with same PC Adapter | Upload succeeds | — | PC side, driver, cable, and adapter are healthy |
| Upload the affected S7-313 with a known-good MMC | Upload succeeds | Upload fails | CPU firmware, MPI port, or backplane problem — escalate to CPU replacement |
| Insert the suspect MMC into a second S7-313 and upload | Upload fails with 33:17106 | Upload succeeds | MMC is defective, encrypted, or write-protected — MMC replacement is the fix |
| Insert the suspect MMC into a different S7-31x model (e.g., 314, 315-2 DP) | Upload fails with 33:17106 at header | — | Confirms MMC-level corruption independent of CPU model |
In the reported case, all four rows produced the same pattern: only the suspect MMC is non-functional. The machine keeps running with the suspect MMC installed (the CPU can still execute the loaded blocks from RAM), but any attempt to read the offline image through STEP 7 fails at the very first Online → Accessible Nodes request.
Diagnostic Procedure
Run the following checks in order before declaring the MMC defective. Each step is cheap and reversible.
Step 1 — Verify the PC Adapter Channel
- Open SIMATIC Manager → Options → Set PG/PC Interface.
- Set the access point
S7ONLINEtoPC Adapter (MPI) -> USB(orPC Adapter (Auto)for newer adapters). - In Properties, confirm the local MPI address (default
0), the highest MPI address (default15), and the transmission rate (187.5 kbpsfor S7-313). - From the Windows Control Panel, confirm that the PC Adapter enumerates as a virtual COM port and that no other application holds it open (Siemens COM-monitor, Putty, HyperTerminal, etc.).
Step 2 — Verify the MPI Bus
- Terminate the bus at both physical ends with 220 Ω terminators (or use the active terminator on the PC Adapter cable).
- Confirm that the MPI address of the target CPU is unique on the bus and that its highest MPI address is set higher than the actual address — STEP 7 scans up to that address.
- Cycle power on the S7-313 and watch the SF / BF / DC5V LEDs. A steady SF with a flashing pattern other than the request-from-PG blink usually means a hardware fault that also blocks online access.
Step 3 — Read the CPU Diagnostic Buffer
Even when upload fails, the diagnostic buffer can usually be retrieved through PLC → Diagnostics/Settings → Diagnostic Buffer, because that read uses the operating-system interface rather than the project-image interface. Look for entries containing:
Memory card removed/insertedMMC read errorFlash error in load memory-
Corrupted blockorInconsistency in MMC
Any of these entries, combined with the matrix above, confirms MMC-level corruption.
Step 4 — Read the SZL System State List
From STEP 7, execute PLC → Diagnostics/Settings → System Information (or use a small script calling SFC 51 with SZL ID W#16#0131 and W#16#0132) and inspect:
| SZL ID | Meaning | Healthy Value | Faulty Value |
|---|---|---|---|
| W#16#0131 | Communication status data | Bus OK, all configured connections active | Connection interrupted, adapter damaged |
| W#16#0132 | Communication stack partial | CPU services available | Passive link state |
| W#16#0019 | LED status | SF off, BF off, DC5V on | SF solid, BF flashing |
| W#16#001C | Module identification | Order number matches the CPU | Module ID mismatches |
MMC Card Verification
When the diagnostic matrix points at the MMC, validate the card with the following checks before declaring it scrap.
Visual Inspection
- Look for cracked solder joints at the connector fingers — common on cards that have been hot-plugged dozens of times.
- Inspect the alignment notch: an MMC inserted in reverse polarity (with a third-party adapter) will still fit but will not be detected; an MMC that has been bent may report present-and-faulty.
- Check for oxidation on the contact pads. A pencil eraser followed by isopropyl alcohol often restores a borderline card.
File-System Inspection
Insert the suspect MMC into a SIMATIC Field PG or a SIMATIC PC with an MMC reader. From a DOS prompt:
DIR <MMC-DRIVE>\S7_JOB\
DIR <MMC-DRIVE>\SIMATIC\
DIR <MMC-DRIVE>\FWUPDATE\
A healthy MMC contains at least the SIMATIC and S7_JOB directories. Missing directories or zero-byte files in SIMATIC indicate a corrupted FAT. The S7-300 MMC uses a 16-bit FAT (no subdirectories beyond the four Siemens-defined ones). Any deviation points to a defective card.
Test in a Reference CPU
Insert the suspect MMC into a known-good S7-313C-2 DP on the bench. Power up. The CPU should perform a RAM-to-MMC consistency check. If the SF LED lights solid and the diagnostic buffer reports Memory card fault, the MMC is unrecoverable.
Encryption Check
Siemens S7-300 MMC files can be encrypted with one of the following mechanisms:
- Know-how protection on individual blocks (OB, FB, FC, DB) — set with STEP 7 in the block properties. Encrypted blocks upload only as a placeholder stub; this is not the root cause of 33:17106.
- CPU password (read/write/insert/remove protection) — set in PLC → Access Protection. The CPU will reject a Read-Online request without the password, but it will not raise 33:17106; it will raise a different dialog ("Access to the object is denied").
- SIMATIC Logon / MMC encryption (only available on S7-31x PN/DP and S7-1500 with newer firmware, not on the S7-313). The S7-313 CPU family does not support MMC-level encryption, so encryption can be ruled out as a cause of the failure.
Because the S7-313 cannot encrypt the MMC, the answer to the recurring question "What if the MMC is encrypted?" is: in the S7-313 product line, MMC encryption is not a feature. If the same MMC behaves as defective across multiple CPUs, the card has a hardware fault, not an encryption state.
MPI Communication Settings
Once the MMC is replaced, lock in the MPI parameters to prevent recurrence. Recommended values for a small S7-300 station with one CPU and one PG:
| Parameter | CPU Side (HW Config → CPU Properties → MPI) | PC Adapter Side (Set PG/PC Interface) |
|---|---|---|
| Address | 2 (do not use 0; the PG defaults to 0) | 0 |
| Highest MPI Address | 15 | 15 |
| Baud Rate | 187.5 kbps | 187.5 kbps (auto-detect up to 12 Mbps if the adapter is a 6GK1571 series) |
| Subnet | MPI subnet 1 | (assigned to access point S7ONLINE) |
| PG/PC is the only master | Uncheck "PG/PC is the only master on the bus" if HMI panels are also on the bus | — |
STEP 7 Configuration Checks
Three configuration paths must be aligned. Mismatches here produce exactly the same 33:17106 dialog as an MMC fault, so verify them after the MMC swap to make sure the new card is not masking a configuration issue.
Path 1 — PG/PC Interface
From Start → SIMATIC → STEP 7 → Set PG/PC Interface:
- Access Point of the Application:
S7ONLINE - Interface Parameter Assignment Used:
PC Adapter (MPI) -> USB
Path 2 — Accessible Nodes
From SIMATIC Manager → PLC → Accessible Nodes the CPU must appear with its MPI address. If it does not, the bus is the problem, not the MMC.
Path 3 — Online View
From SIMATIC Manager → View → Online the project tree of the running CPU should mirror the offline tree. If it does not, the new MMC has not yet been written by the CPU's RAM-to-MMC copy, or it contains a project that the online view cannot reconcile with the offline view in STEP 7.
Step-by-Step Resolution
- Power down the S7-313. Open the front cover, depress the MMC ejector, and remove the card. Place it in an antistatic bag and label it "DO NOT REUSE — TEST ONLY".
- Insert a known-good MMC of equal or larger size. For an S7-313, the smallest card Siemens ships is the 64 KB 6ES7 953-8LF11-0AA0. Newer cards in the 6ES7 953-8Lxxx-0AA0 family (up to 8 MB) are fully backward-compatible.
- Power up the CPU. The CPU will boot from RAM (the project is mirrored in work memory) and will mark the new MMC as unformatted. The SF LED will be off; the RUN LED may flash once and go solid green.
- Connect STEP 7 with the PC Adapter and PLC → Accessible Nodes. The CPU should appear.
- Download the project to the new MMC: PLC → Download User Program to Memory Card. STEP 7 writes the entire project image to the MMC.
- MRES the CPU if you want a fully clean state: place the mode switch in MRES, hold for ~3 s until the STOP LED blinks, release, push again within 1 s, hold for ~3 s. The CPU erases work memory and reloads from the new MMC.
-
Verify by reading the diagnostic buffer. It should contain a single entry
Restart (cold start) initiated by userwith timestamp 0. - Mark the suspect MMC for RMA or destruction. Even if the card passes a one-time read, its flash wear is non-uniform and the failure will recur.
Verification Procedure
After the resolution, run the following acceptance checks. The machine must be in a safe state; the checks are read-only.
- Accessible Nodes returns the CPU with correct MPI address.
- Upload (PLC → Upload Station to PG) succeeds without error.
- Compare Online / Offline shows no differences (or only the expected time-stamp differences in OB1 / OB35).
- Diagnostic buffer shows no MMC-related entries since the swap.
- Monitor / Modify of a known tag (e.g., a marker in MB10) returns a current value.
- Cycle time on PLC → Module Information → Scan Cycle Time is within ±10 % of the design value.
Related Error Codes
| Error Code | Class | Meaning | Most Common Cause |
|---|---|---|---|
| 33:17106 | 33 — adapter / online interface | Connection to the adapter is damaged | Defective MMC, weak MPI bus, bad PC Adapter driver |
| 33:0001 | 33 — adapter | Connection aborted by partner | CPU in STOP with a fatal error |
| 33:0002 | 33 — adapter | Time-out when establishing the connection | Wrong baud rate, wrong MPI address |
| 33:0011 | 33 — adapter | Resource allocation error in the adapter | COM port held by another process |
| 33:0012 | 33 — adapter | Adapter not plugged in / powered off | USB cable intermittent, USB port underpowered |
| 33:0102 | 33 — adapter | Time-out reading from the partner | MMC read error |
| 0x0031 | CPU diagnostic buffer | Memory card fault | Defective MMC |
| 0x0051 | CPU diagnostic buffer | Corrupted block in MMC | Flash wear, hot-unplug during write |
Official Siemens References
The Siemens support database contains the canonical root-cause notes for this family of errors. The most directly relevant entries are:
- Siemens FAQ 19215608 — "Why is it not possible to upload to the PG?"
- Siemens FAQ 26123822 — "S7-300/S7-400: Communication problems between PG and CPU"
- Siemens FAQ 10420976 — "MPI parameter settings for the S7-300"
FAQ
What does STEP 7 error 33:17106 mean on an S7-313?
Error 33:17106 is a class-33 (online/adapter) error, code 17106 — "Communication Link to the adapter is damaged". STEP 7 raises it when the very first Read-Online request times out. On an S7-313 the most common root cause is a defective MMC, because the MMC is the only load memory and is involved even in the header read that the upload operation performs first.
Can the S7-313 MMC be encrypted so that upload fails with 33:17106?
No. The S7-313 / 313C / 313C-2 product line does not support MMC-level encryption. The only protection that can be set is know-how protection on individual blocks and the CPU password, neither of which produces 33:17106. If a card behaves as defective across multiple S7-31x CPUs, the card has a hardware fault, not an encryption state.
I swapped the MMC and the upload now works — can I still use the original MMC?
No. A card that fails a CRC check or directory walk once is no longer trustworthy. The S7-313 has no ECC on the MMC, and the flash wear that caused the first failure is permanent. Mark the suspect MMC for destruction and continue with the new card.
The machine keeps running with the original MMC, but STEP 7 cannot upload. Is that normal?
Yes. The CPU executes the project from RAM, which is mirrored from the MMC at boot. Once the mirror is in RAM, the CPU does not read the MMC during normal cyclic execution. STEP 7 upload, however, reads the offline image from the MMC, so any MMC corruption that does not block boot can still block the upload. Replacing the MMC is the only fix.
What MPI baud rate should I use for an S7-313 with a USB PC Adapter?
Use 187.5 kbps. The S7-313 supports 19.2 kbps and 187.5 kbps on the MPI interface. The USB PC Adapter 6ES7 972-0CB20-0XA0 auto-negotiates, but matching the values explicitly in the PC Adapter properties and in HW Config prevents 33:17106 timeouts caused by a brief baud-rate mismatch during handshake.
Will the new MMC need to be re-formatted with STEP 7?
No. The S7-313 formats the MMC automatically on first insert; you only need to download the project with PLC → Download User Program to Memory Card. If you need a fully clean state, perform an MRES after the download so that the CPU reloads from the freshly written MMC rather than from the old RAM mirror.