Siemens S7-300 CPU313C: Resolving PG/PC MPI Communication Errors

David Krause11 min read
S7-300SiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Siemens S7-300 CPU313C: Resolving PG/PC MPI Communication Errors

When a Siemens CPU313C (S7-300 family) refuses to establish a programming link with a PG/PC, the symptom almost always traces back to the Multi-Point Interface (MPI) configuration on the PC side rather than a hardware defect on the CPU itself. This reference consolidates the field-proven diagnostic procedure for PG/PC Interface, documents the relevant default parameters, maps the 0x031a error code, and provides a complete recovery workflow for technicians commissioning or restoring STEP 7 / SIMATIC Manager connectivity to a CPU313C.

Engineering note: Always confirm the MPI cable integrity on a known-good CPU before assuming a CPU313C failure. Field data shows that more than 80% of "CPU not communicating" tickets on the S7-300 platform resolve to a PG/PC Interface access-point mismatch, baud-rate mismatch, or PC-side adapter setting, not a defective CPU.

1. Problem Description

The reported fault is a CPU313C that does not establish an online connection to a programming device (PG) or PC running STEP 7 V5.x or SIMATIC Manager. Typical user-visible symptoms include:

  • STEP 7 "Accessible Nodes" or "Online → Connect to Target System" returns an empty node list or times out.
  • The PG/PC Interface diagnostics window reports a hex error (commonly 0x031a) when the "Test" button is pressed.
  • Windows Device Manager shows the PC adapter (e.g. PC Adapter USB, CP 5611 / CP 5621) installed and enumerated, yet no MPI traffic reaches the CPU.
  • The same PC, cable, and adapter combination works against another S7-300 CPU in the cabinet, ruling out cable and PC-side hardware defects.

The differentiating clue is the last bullet: a working cable on a peer CPU eliminates the cable as the variable, so the investigation must move to either the CPU313C's MPI parameters or the PG/PC Interface settings in the Windows Control Panel.

2. Root Cause Analysis

The CPU313C ships with an integrated MPI/PROFIBUS DP interface (X1 connector). Out of the box the following defaults apply unless an existing project has been downloaded to the CPU and re-parameterised it:

Parameter Default Value Configurable Range
Protocol MPI MPI / PROFIBUS-DP (switchable in HW Config)
MPI Address (CPU) 2 1 – 126
Highest Station Address (HSA) 31 1 – 126
Transmission Rate 187.5 kbps 19.2 / 187.5 / 1.5 Mbps
Bus Profile Standard Standard / Universal (DP only)

When an existing project has been loaded onto the CPU, two fields frequently differ from defaults and cause the diagnostic error:

  1. Highest Station Address > 31 — STEP 7 and the PG/PC adapter token-ring search only scan up to HSA 31 by default. If the CPU has been moved to address 32 or higher (or the project was authored with HSA = 126), the PC will not see the CPU unless the PC's HSA setting is raised.
  2. Transmission Rate ≠ 187.5 kbps — older projects, retrofits, or DP-configured CPUs may run at 1.5 Mbps (PROFIBUS DP) or 19.2 kbps (legacy installations). The PC adapter must match the bus baud rate exactly; otherwise MPI token passing fails and the diagnostic returns the bus-access error.

The Windows error code 0x031A (decimal 794) in the PG/PC diagnostics window is the S7MPI driver's "bus access error" / "no response from station" class. In Win32 terms it maps to ERROR_NETNAME_DELETED when the adapter layer reports that the remote station dropped off the bus. The remedy is configuration, not driver replacement.

3. Prerequisites

Before running the procedure, gather the following:

  • STEP 7 V5.5 (or compatible) installed, with SIMATIC Manager reachable.
  • "Set PG/PC Interface" entry visible in Windows Control Panel (legacy Control Panel applet, not the modern Settings panel).
  • Siemens PC Adapter (USB or RS-232) or CP 5611 / CP 5621 PCI/PCIe card installed and recognised by Windows.
  • Known-good MPI cable terminated only at the two end nodes, or PROFIBUS cable with bus terminators switched ON at both physical ends.
  • If possible, the offline STEP 7 project for the CPU313C to read the configured MPI parameters directly from HW Config → CPU Properties → MPI Interface.
Windows version note: Set PG/PC Interface is a 32-bit applet. On 64-bit Windows it must be launched as the 32-bit version. Right-click the shortcut and verify it points to %SystemRoot%\syswow64\s7eapcpx.cpl (or the equivalent path) on x64 systems, or %SystemRoot%\system32\s7eapcpx.cpl on 32-bit systems.

4. Step-by-Step Diagnostic Procedure

Step 1 — Launch Set PG/PC Interface

Open Windows Control Panel → "Set PG/PC Interface" (also reachable from SIMATIC Manager under Options → Set PG/PC Interface). The application point selector at the top of the dialog defaults to the access point of the last active application. For STEP 7 commissioning, choose the access point S7ONLINE.

Step 2 — Select the MPI Interface Parameter Assignment

In the "Interface Parameter Assignment Used" list, pick the physical adapter you are using:

Adapter Parameter Assignment Entry
PC Adapter USB (6ES7972-0CB20-0XA0) PC Adapter (MPI) or PC Adapter (PROFIBUS)
PC Adapter RS-232 (6ES7972-0CA23-0XA0) PC Adapter (MPI)
CP 5611 CP5611 (MPI) or CP5611 (PROFIBUS)
CP 5621 CP5621 (MPI) or CP5621 (PROFIBUS)
CP 5711 CP5711 (MPI) or CP5711 (PROFIBUS)

Verify the selection matches the protocol layer the CPU is actually running (MPI vs. PROFIBUS-DP). If the CPU is in DP mode the bus speed is typically 1.5 Mbps; in pure MPI mode it is 187.5 kbps.

Step 3 — Raise Highest Station Address

Click "Properties…" on the selected adapter. In the MPI / PROFIBUS properties dialog, locate the Highest Station Address field (HSA). Change it from the default 31 to 126 and click OK. This forces the PC adapter to scan the entire valid MPI address range instead of stopping at address 31. If the CPU has been re-addressed (e.g. to 33, 47, or 64) inside an existing project, raising the HSA to 126 is required for the PC to ever see it.

Step 4 — Run the Diagnostics

Return to the Set PG/PC Interface main window and click "Diagnostics…". The Diagnostics dialog opens; click the "Test" button. The system runs an internal loopback / bus check:

  • No error → the bus is reachable, addresses match, baud rate is correct. Close the dialog and proceed to STEP 7 → Accessible Nodes to confirm the CPU appears.
  • Error 0x031A (or similar) → continue to Step 5.

Step 5 — Cycle the Transmission Rate

Open the adapter Properties again and change the Transmission Rate to the next candidate value:

  1. Start at 187.5 kbps (the documented MPI default). Run Diagnostics.
  2. If the diagnostic fails, try 1.5 Mbps. Run Diagnostics.
  3. If still failing, try 19.2 kbps. Run Diagnostics.
  4. On PC Adapter USB hardware, the adapter firmware itself must support the selected rate; older 6ES7972-0CA20 / -0CB20 firmware revisions only support 187.5 kbps and 1.5 Mbps.

Leave HSA = 126 in place while iterating. The first combination of (HSA, Rate) that returns a clean diagnostic is the configuration that the live CPU is running.

Engineer field tip: The configuration that "sticks" is the one in the offline STEP 7 project under HW Config → CPU313C → MPI Interface → Properties. Always align the PC to the CPU, not the other way around. Resetting the CPU to factory defaults (MRES) restores the 187.5 kbps / address 2 / HSA 31 baseline but wipes the user program.

5. Parameter Reference Table

Field Where Set Default Comment
PG/PC Access Point Set PG/PC Interface, top dropdown S7ONLINE Must match the application using the bus
Interface Parameter Assignment Set PG/PC Interface, list box Last used Must point to the physically installed adapter
Highest Station Address Adapter Properties → Network 31 Raise to 126 to find re-addressed CPUs
Transmission Rate Adapter Properties → Network 187.5 kbps Must equal the CPU's active MPI/DP rate
PC Address (PG/PC own MPI address) Adapter Properties → Network 0 0 = PG/PC master; do not duplicate the CPU's address
Timeout Adapter Properties → Network 30 s Increase on long cable runs
Bus Profile HW Config → MPI Properties Standard Universal only valid for PROFIBUS-DP

6. Error Code Reference

Hex Code Decimal Meaning in PG/PC Diagnostics Common Cause
0x031A 794 Bus access error / station did not respond Baud rate mismatch, HSA too low, broken cable, CPU in STOP with no MPI active
0x031B 795 Token-passing failure Two active nodes with the same MPI address
0x031C 796 No active node found in ring No terminator, open cable end, adapter not seated
0x031D 797 Configuration inconsistency Profile mismatch between PC adapter and CPU
0x0301 769 Adapter hardware not responding Driver not loaded, USB enumeration issue

For an exhaustive list, refer to the STEP 7 Online Help under "PG/PC Interface — Diagnostics" and the Win32 error-code appendix in the Microsoft Developer documentation.

7. Verification

After the diagnostics test passes, validate the full end-to-end stack from inside STEP 7:

  1. Open SIMATIC Manager. Choose PLC → Accessible Nodes (or Target System → Connect to Target System). The CPU313C should appear with its configured MPI address.
  2. Right-click the discovered node → Go Online. The orange/yellow online indicator in the project tree should turn active.
  3. Open the CPU's online diagnostic buffer (PLC → Diagnostics/Settings → Module Information → Diagnostic Buffer). Confirm there are no bus or station-fault entries after the connection was established.
  4. Run a small read: PLC → Monitor/Modify → Monitor All. The current OB1 cycle should stream in real time, confirming cyclic MPI traffic.
  5. Optionally flash the CPU SF/BAT LEDs: a healthy MPI online connection will show steady RUN/STOP behaviour and a quiescent SF LED.

If Accessible Nodes still returns empty after a clean diagnostic, the next step is to re-check the cable pinout. A PC Adapter USB 6ES7972-0CB20-0XA0 ships with PROFIBUS-terminated pinout; an MPI-only network may need a 9-pin DSUB gender changer or a non-crossed cable.

8. Extended Troubleshooting Matrix

Symptom Check Fix
Diagnostic returns 0x031A on all baud rates CPU in STOP with MPI disabled Re-enable MPI in HW Config and download, or perform MRES
Diagnostic passes, Accessible Nodes empty Wrong access point selected Switch S7ONLINE access point to the right adapter
Diagnostic passes, no online after Go Online Different subnets between project and CPU Open the project offline and check MPI subnet ID consistency
Intermittent disconnects EMI on PROFIBUS cable Re-route cable away from VFD power, add ferrite
Works on CPU315, fails on CPU313C CPU313C has no DP master interface selected Verify X1 is set to MPI mode in HW Config
Error 0x0301 PC adapter driver missing Reinstall SIMATIC NET PC software
Error 0x031C Cable break or missing terminator Replace cable; enable bus terminator at both ends

9. Cable and Physical Layer Notes

MPI is a subset of PROFIBUS RS-485 and therefore requires the same physical rules:

  • Maximum segment length at 187.5 kbps: 1,000 m; at 1.5 Mbps: 200 m.
  • Maximum of 32 nodes per segment without repeaters; up to 127 with repeaters.
  • Bus terminator (220 Ω between A–A and B–B with 390 Ω pull-up/pull-down) must be ON only at the two physical ends.
  • Shielded PROFIBUS cable (Siemens 6XV1830-0EH10, purple jacket) is recommended; the shield must be bonded to ground at both ends via the connector housing.
  • Connectors: 6ES7972-0BA12-0XA0 (with PG socket, 90° cable outlet) or 6ES7972-0BA52-0XA0 (with axial outlet).

A cable that works against one CPU but not another usually has a marginal open circuit, not a short. Wiggle-test the connector while running the diagnostic; a flickering 0x031A → 0x031C pattern is a definitive cable fault signature.

10. CPU313C-Specific Considerations

The CPU313C (6ES7313-5BF03-0AB0 with firmware V2.6 is a typical variant) integrates:

  • 32 KB work memory, 64 KB load memory
  • 24 digital inputs, 16 digital outputs, 4 analog inputs, 2 analog outputs (on-board)
  • One MPI/DP interface (X1) and one PTP interface (X2) for serial ASCII / 3964R
  • Integrated technology functions (counting, frequency measurement, PID control)

The X1 port is shared between MPI and PROFIBUS-DP. If a project has downloaded the CPU in DP master or DP slave mode, the bus rate automatically moves to 187.5 kbps minimum but often 1.5 Mbps. Always inspect the offline project before assuming the default 187.5 kbps applies.

11. Preventive Recommendations

  1. Always document the configured MPI address, HSA, and baud rate in the project header on paper next to the cabinet.
  2. Lock the PG/PC Interface access point to S7ONLINE and disable any other active assignment to avoid silent routing through a different adapter.
  3. Keep STEP 7 (V5.5 SP2 or later) and SIMATIC NET PC software on a service pack level matching the cabinet's tooling baseline.
  4. Store at least one known-good MPI cable in the spares drawer and label it — it is the single fastest diagnostic accelerator on a fault call.

12. Frequently Asked Questions

What is the default MPI address and baud rate of a Siemens CPU313C?

A factory-default CPU313C ships with MPI address 2, Highest Station Address 31, and a transmission rate of 187.5 kbps. These defaults are overwritten as soon as a STEP 7 project with different parameters is downloaded.

What does error 0x031A mean in the PG/PC Interface diagnostics window?

Hex 0x031A (decimal 794) is the S7MPI driver's bus-access / station-not-responding error. The most common causes are a baud-rate mismatch between the PC adapter and the CPU, an MPI address higher than the PC's Highest Station Address, or a broken/loose cable. Adjust the PC adapter's transmission rate and raise HSA to 126, then re-test.

Why does the same cable work on one S7-300 CPU but not on a CPU313C?

The cable is almost certainly not the problem. The CPU313C's MPI parameters have likely been changed inside its project — typically a higher station address or a different baud rate. Open the offline STEP 7 project, read the MPI properties, and align the PG/PC Interface settings to match.

How do I reset a CPU313C to its factory MPI defaults?

Perform a memory reset (MRES): turn the mode switch to STOP, then to MRES for ~3 seconds until the STOP LED flashes slowly, hold for another 3 seconds until it flashes rapidly, then release. The CPU returns to address 2, HSA 31, 187.5 kbps, with the user program erased. Back up the project first.

Can the CPU313C be addressed at MPI address 64 or higher?

Yes. MPI addresses from 1 to 126 are valid for any MPI node including the CPU. The PG/PC adapter, however, scans only up to its configured Highest Station Address (default 31). Raise the PC adapter's HSA to 126 in the Properties dialog so it can locate CPUs at non-default addresses.

Back to blog