Problem Overview
The CPU 312C (order number 6ES7312-5BF04-0AB0 and earlier -C variants in the S7-300 family) occasionally returns a "PC adaptor damaged" dialog when an engineer attempts to download a STEP 7 project from SIMATIC Manager. The same fault typically blocks the "Display Accessible Nodes" (PG/PC → "Display Accessible Nodes") function, so the engineer cannot read station addresses, online diagnostics, or perform a download at all. Both the legacy PC-Adapter (serial, RS-232 to MPI) and the modern USB PC-Adapter (order number 6ES7972-0CB20-0XA0) can trigger the same symptom if the bus parameters, the physical DIP switch, or the MMC content are inconsistent.
The fault usually points to one of three real problems:
- Bus parameter mismatch between the PC-Adapter firmware and STEP 7 PG/PC interface (baud rate, segment timeout, master role, max node count).
- Stuck or mis-set DIP switch on the serial PC-Adapter (19.2 kbps vs. 38.4 kbps).
- Corrupted hardware configuration in the load memory (MMC), which prevents the CPU from bringing up its MPI interface in a state the programming device can negotiate with.
Affected Hardware and Firmware Context
| Component | Order Number | Firmware Range | Notes |
|---|---|---|---|
| CPU 312C (compact) | 6ES7312-5BF04-0AB0 | V3.3 | 32 KB work memory, integrated DI16/DO16 |
| CPU 313C / 313C-2 | 6ES7313-5BG04-0AB0 | V3.3 | 64 KB; same MPI mechanism |
| CPU 314 / 314C-2 | 6ES7314-1AG14-0AB0 | V3.3 / V2.6 | 192 KB; same MRES sequence |
| PC-Adapter USB A2 | 6ES7972-0CB20-0XA0 | FW 2.0+ | USB, supports MPI/PROFIBUS up to 12 Mbps |
| PC-Adapter RS-232 | 6ES7972-0CA20-0XA0 | All | DIP-switch selectable 19.2 / 38.4 kbps only |
| MMC 64 KB to 8 MB | 6ES7953-8LF20-0AA0 (4 MB) | N/A | Required for S7-300 V3 CPUs |
The CPU 312C and the rest of the S7-300 V3 generation require the MMC for firmware and project storage. If the MMC contains a hardware configuration that the current STEP 7 version cannot parse - for example, an SDB referencing a module that is no longer in the rack - the CPU may come up in STOP with a request for overall reset, but the MPI port still answers in a degraded mode that STEP 7 reports as "adaptor damaged".
Root Cause Analysis
STEP 7 raises the PC adaptor damaged popup (error class 0x0311 to 0x0315 depending on sub-cause) when the PC-Adapter driver detects a hardware handshake failure, a timeout, or a parameter mismatch before any S7 connection is opened. For the CPU 312C specifically the most common underlying causes are:
- Speed mismatch. The serial PC-Adapter is hard-capped at 19.2 kbps or 38.4 kbps by a 2-position DIP switch. STEP 7 by default attempts 187.5 kbps. If the switch reads 19.2 and STEP 7 expects 38.4, or vice-versa, the driver aborts.
- Master role not asserted. The PG must be the only active master on the MPI bus. With several CPUs online, the driver cannot guarantee token passing and aborts.
- Timeout too aggressive. The default 3 s timeout is borderline for legacy serial adapters. Increase to 10 s.
- Node count too high. The default MPI profile can request 126 addresses; serial adapters only support 31. Lower to 31.
- Corrupt SDB on MMC. A previously downloaded HW Config that does not match the current rack produces an MPI bring-up failure. MRES does not erase SDBs on the MMC - it only clears work memory and the diagnostic buffer. The hardware configuration must be removed by erasing the MMC.
Step 1 - Validate the PG/PC Interface
- Open Start → SIMATIC → STEP 7 → Set PG/PC Interface.
- Select the access point S7ONLINE (STEP 7) → PC Adapter (MPI) → PC Adapter (PROFIBUS) for the legacy serial, or PC Adapter USB (MPI/PROFIBUS) for USB.
- Click Properties and apply the following values, which match the Siemens PC Adapter FAQ 23898073:
| Parameter | Recommended value | Reason |
|---|---|---|
| Transmission rate | 187.5 kbps | Highest stable rate for serial PC-Adapter; standard for CPU 312C |
| Highest station address (HSA) | 31 | Serial adapter only addresses 0-31 |
| Timeout | 10 s | Allows slow MMC access on first online attempt |
| PG/PC is the only master on the bus | Enabled | Prevents token-passing failures on noisy plant networks |
- Set the local PG/PC MPI address to a high unused value, e.g.
20, so it does not clash with any default CPU address2. - Click OK, close STEP 7, and reboot the PC. Reopen SIMATIC Manager before connecting.
Step 2 - Verify the Physical PC-Adapter
For the RS-232 PC-Adapter (6ES7972-0CA20-0XA0):
- Open the small hatch on the adapter and inspect the 2-position DIP switch. Position 1 = 19.2 kbps, position 2 = 38.4 kbps. Older units have a 4-position switch where SW1 selects baud, SW2-SW4 are unused.
- The switch is known to become "sticky" - the slider looks centred but the internal contact is half-open. Cycle it: slide fully to one end, back, and then to the desired position.
- Confirm the 24 V power LED is solid green; flashing or off indicates the MPI bus is shorted or the supply is below 19 V.
For the USB PC-Adapter (6ES7972-0CB20-0XA0):
- In Set PG/PC Interface, the device dropdown must show USB, not COM port. If a virtual COM port driver was installed in error, the bus will not come up.
- Baud rate selection is firmware-controlled - the speed dropdown in STEP 7 directly programs the adapter. Use 187.5 kbps for first contact.
- Verify the USB driver is at least V2.0.4; older drivers cannot read the USB descriptor and report "adaptor damaged".
Step 3 - Memory Reset (MRES) Procedure
MRES clears the work memory, the diagnostic buffer, and the run-time DBs. It does not erase the SDBs on the MMC. Use MRES as the first recovery step; if the fault persists, proceed to Step 4 - MMC Erase.
- Set the mode selector to STOP (the key must be in the white position).
- Hold the MRES switch toward the spring-loaded MRES position. The amber/yellow STOP LED will:
- First flash slowly twice (~2 s on / 2 s off).
- Then change to a steady amber glow after approximately 5-7 s.
- Release the switch briefly, then press and hold MRES again.
- The amber LED will now flash rapidly (> 2 Hz). Release immediately when the rapid flash starts.
- The CPU is now reset. All RAM-resident data blocks, flags, and the diagnostic buffer are cleared. The SDBs and the HW Config remain on the MMC.
- Cycle power to the rack to make sure the bring-up is clean.
Reference: SIMATIC S7-300 CPU 31xC Operating Instructions (entry ID 19537634), section 7.2 "Memory reset".
Step 4 - Erase the MMC (Deletes the Hardware Configuration)
This is the procedure that removes the offending SDB set from the load memory. There are two approved methods.
Method A - In-CPU Erase via Mode Selector
- Power down the rack, remove the CPU 312C.
- Remove the MMC from the slot on top of the CPU.
- Insert the MMC into a different S7-300 CPU type, e.g. a CPU 314 or CPU 315-2 PN that you know is healthy and has its own power supply. The other CPU will detect an unknown MMC and offer to format it.
- Confirm Yes to format. The MMC is wiped, including all SDBs and the HW Config.
- Reinsert the MMC into the CPU 312C and power up.
- The CPU will boot with no configuration, the STOP LED will blink at 1 Hz, and the MPI port will respond to PG/PC scans with the default address
2.
Method B - External Prommer (Field PG or SIMATIC Field PG)
- Remove the MMC from the CPU and insert it into the external MMC prommer (e.g. SIMATIC Field PG with integrated prommer).
- Open SIMATIC Manager and choose File → S7-Memory Card → Delete.
- Confirm deletion. The MMC is wiped to factory state.
- Reinsert into the CPU 312C and power up.
Step 5 - Rebuild and Download a Clean Configuration
- Open your STEP 7 project. In HW Config, right-click the CPU 312C and select Object Properties → MPI Interface Properties. Confirm:
| Property | Required value |
|---|---|
| Address | 2 (or as per project) |
| Subnet | MPI, 187.5 kbps |
| Highest MPI address | 31 |
| Number of masters | 1 (the PG) |
- Compile and save the HW Config (Station → Save and Compile).
- Use PLC → Download to Target System from HW Config, not from the project tree. This forces the full SD
- Compile and save the HW Config (Station → Save and Compile).
- Use PLC → Download to Target System from HW Config, not from the project tree. This forces the full SDB refresh.
- When STEP 7 prompts "Do you want to overwrite the existing configuration?", click Yes.
- After the download, the CPU should switch to RUN within 5 s if the program is consistent.
Step 6 - Verification Procedure
- Open PLC → Display Accessible Nodes. The CPU 312C must appear with address
2. - Open PLC → Online → Diagnostic Buffer. The most recent entries should show "Power-on", "STOP caused by", or "RUN" with no SDB-format errors (SF LED off).
- Open PLC → Module Information. All configured modules should be present in slot 1-N with status OK.
- Test a small edit: toggle a single bit in OB1, download, verify the change is reflected in the VAT table.
Communication Parameter Reference Table
| Parameter | PG/PC Setting | CPU 312C Default | Match? |
|---|---|---|---|
| Baud rate | 187.5 kbps | 187.5 kbps | Yes |
| Local PG address | 20 | n/a | n/a |
| CPU MPI address | n/a | 2 | n/a |
| Highest station address | 31 | 31 | Yes |
| Bus profile | Standard | Standard | Yes |
| PG is only master | Enabled | n/a | n/a |
| Timeout | 10 s | n/a | n/a |
| PC-Adapter DIP switch | 187.5 kbps (auto for USB) | n/a | Yes |
Troubleshooting Matrix
| Symptom | Likely Cause | First Action |
|---|---|---|
| "PC adaptor damaged" immediate | DIP switch stuck or wrong speed | Cycle DIP switch; verify 187.5 kbps |
| "PC adaptor damaged" after timeout | Timeout too short | Set 10 s |
| "Display Accessible Nodes" empty | Bus address conflict or HSA too high | PG address 20, HSA 31 |
| SF LED on, BF LED on, STOP blinking | Corrupt SDB on MMC | Erase MMC via second CPU or prommer |
| SF LED off but download fails | Master role contention | Enable "PG/PC is only master" |
| USB adapter not detected | Old driver | Update to V2.0.4+ |
| Serial adapter gives "adaptor damaged" intermittently | EMI on long MPI cable | Replace cable; max 50 m at 187.5 kbps |
Edge Cases and Field Notes
- USB adapter on a virtualised engineering station: VMware or Hyper-V can re-route the USB descriptor and cause the PC-Adapter to enumerate on the wrong pipe. Use a native Windows host or pass-through the USB device directly.
- STEP 7 V5.4 SP5 and CPU 312C V3.3: the HW Config library must be at least HSP0186 to include the latest 312C GSD. Without it, the download will succeed but the SDB will reference modules with firmware the CPU cannot find, producing an SF on first RUN.
- MMC write protection: MMC cards for S7-300 do not have a write-protect tab; protect them at the project level by exporting a final SDBL snapshot before live editing.
- 24 V supply to the PC-Adapter: the RS-232 adapter draws up to 100 mA from the MPI connector. If the CPU's 24 V sensor supply is loaded above 80 %, the adapter may brown out and report damage. Power the adapter from a separate 24 V source if in doubt.
- Multiple PG on the bus: if another PG is online on the same MPI, the PC-Adapter driver can lose the token and time out. Disconnect the second PG before troubleshooting.
FAQ
Why does STEP 7 show "PC adaptor damaged" even though the LED on the adapter is green?
The LED only confirms 24 V supply. The fault is usually a baud-rate mismatch between the adapter's DIP switch (19.2 vs 38.4 kbps on legacy serial units) and STEP 7 (187.5 kbps). Cycle the DIP switch and confirm the rate in Set PG/PC Interface.
Does MRES delete the hardware configuration from the CPU 312C?
No. MRES clears work memory, diagnostic buffer, and runtime DBs. The hardware configuration (SDBs) lives on the MMC and survives MRES. To delete the hardware configuration you must erase the MMC either with a second S7-300 CPU or an external prommer.
How do I erase the MMC without a prommer?
Remove the MMC and insert it into a different S7-300 CPU type (e.g. a CPU 314). Power up the donor CPU; it will detect the foreign MMC and offer to format it. Confirm the format, reinsert the MMC into the CPU 312C, and download a clean HW Config.
What baud rate should I use for a USB PC-Adapter to CPU 312C?
Set 187.5 kbps in Set PG/PC Interface → USB. This is the highest stable rate for the MPI port on a 312C and matches the CPU's default. Do not exceed 1.5 Mbps on a 312C; higher rates require the CPU 315/317.
Why is "Display Accessible Nodes" empty even after I erase the MMC?
Verify the PG/PC local address is unique (use 20), the highest station address is 31, the timeout is at least 10 s, and no other PG is the active master. The PC-Adapter USB driver must be V2.0.4 or higher; older drivers fail silently.