Siemens CPU313C-2DP Onboard I/O Not Responding in STEP 7

David Krause12 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

1. Problem Overview

The Siemens SIMATIC S7-300 CPU 313C-2DP (Siemens order number 6ES7 313-6CF03-0AB0, firmware family V2.x and V3.x) is a compact CPU with integrated digital inputs (DI16), digital outputs (DO16), and analog inputs (AI5/AO2) located on the front panel. A recurring field failure mode occurs when the integrated I/O appear physically functional (status LEDs illuminate when field contacts close) but the process image in STEP 7 V5.4 SP5 online monitoring shows no logic transition.

In the affected case, the CPU accepted the downloaded program, the online connection was established, the user had verified the wiring against the manual, and the LEDs confirmed the input transitions. Despite this, signals at I 0.0 and the associated output Q 0.0 failed to animate under monitoring. A separately installed SM 321 module (6ES7 321-1BH02-0AA0) on the same rack functioned correctly, isolating the failure to the onboard I/O section of the CPU313C-2DP.

Symptom summary: LED OK, process image dead. This combination almost always points to one of four causes: (1) missing or weak 24 VDC sensor supply on Pin 1 of the front connector, (2) a corrupted MMC (Micro Memory Card) preventing block execution, (3) incorrect hardware configuration masking the onboard channels, or (4) the channels being configured as counter/frequency inputs instead of standard DI.

2. Affected Hardware and Software Versions

Component Order Number (MLFB) Notes
CPU 313C-2DP 6ES7 313-6CF03-0AB0 Compact CPU with DP master/slave interface, 16 DI / 16 DO onboard, 4 AI / 2 AO onboard (note: variants vary — confirm MLFB suffix)
Firmware V2.6, V3.0, V3.3 Issues observed regardless of firmware level
STEP 7 V5.4 SP5 (and earlier SP3/SP4) Programming / online tool
S7-PLCSIM V5.4 SP3 or higher Used for offline program verification
MMC 6ES7 953-8LF11-0AA0 (3 V, 64 KB minimum, 8 MB recommended) Required for CPU 31xC; SFCs/SFBs are stored on MMC
Expansion DI 6ES7 321-1BH02-0AA0 SM 321, 16 DI, 24 VDC, used in this case for comparison
Front connector 6ES7 392-1AM00-0AA0 (20-pin screw type) or 6ES7 392-1BJ00-0AA0 (40-pin) 40-pin required for full DI16/DO16 access

3. Root Cause Analysis Matrix

# Probable Cause Indicator Confirm via
1 Missing or reverse 24 VDC at Pin 1 (L+) of front connector LEDs flicker or do not light; if LED works the input still sees 0 V because the optocoupler pull-up is unpowered DMM across Pin 1 (+) and Pin 20 (−)
2 Onboard DI channel remapped to counter mode Channel address still present but process image stays 0 regardless of voltage HW Config → CPU → Properties → Inputs tab → Operating mode dropdown
3 Corrupted MMC or write-protected MMC inserted CPU in STOP after download, diagnostic buffer entries SF / MMC fault PLC → Diagnostic/Setting → Information → Memory
4 Wrong hardware configuration in HW Config (different MLFB selected) Compiles fine, downloads fine, but onboard I/O addresses do not match I0.x / Q0.x mapping HW Config → right-click CPU → Module Information → Compare
5 Forced variable (Force table) User forced I0.0 or Q0.0 to a fixed value Variable Table → Monitor/Modify → remove Force
6 Bus connector / backplane damage Intermittent, signal lost only after mechanical disturbance Inspect connector pins for bent or pushed-back contacts
7 Defective onboard I/O ASIC on CPU Replacement CPU exhibits identical symptoms Substitute with known-good CPU313C of same MLFB

4. Required Tools and Prerequisites

  • STEP 7 V5.4 SP5 installed and licensed
  • PC adapter (MPI/USB) — 6ES7 972-0CB20-0XA0 (PC Adapter USB) or MPI/DP cable
  • Digital multimeter (DMM) capable of measuring 24 VDC and continuity
  • Spare 40-pin front connector (e.g. 6ES7 392-1AM00-0AA0) or hook-clip leads for direct probing
  • Spare MMC (6ES7 953-8LF11-0AA0 or newer 8 MB card) formatted to FAT16
  • Spare CPU313C-2DP of identical MLFB for substitution test
  • Access to SIMATIC S7-300 CPU 31xC and CPU 31x Manual
  • Access to SIMATIC S7-300 SM 321 Signal Modules Manual

5. Wiring Verification (Most Likely Cause)

The CPU313C-2DP onboard DI16 is organized on a 40-pin front connector. Unlike a stand-alone SM 321 DI module (such as the 6ES7 321-1BH02-0AA0 tested working in this case, which is fed internally through the backplane bus), the integrated inputs of the CPU 31xC require an external 24 VDC supply on Pin 1 (L+) and Pin 20 (M) of the front connector. The LED for each input is wired to indicate field voltage, but the digital status (1) is only generated when the input optocoupler receives both L+ on Pin 1 and the field signal on its assigned input pin.

  1. Remove the front connector from the CPU.
  2. With the field supply OFF, use a DMM in continuity mode to verify Pin 1 is isolated from Pin 20 (no short).
  3. Apply 24 VDC ± 5 % between Pin 1 (+) and Pin 20 (−). This is the sensor supply for the onboard DI, separate from the 24 VDC that powers the CPU module itself (which is supplied at the top of the CPU via the 4-pin power connector, L+/M).
  4. Verify with the DMM that 24 VDC is present at every input pin you intend to use, by touching Pin 1 to the chosen input pin through a 1 kΩ test resistor (do not short directly).
  5. The corresponding channel LED on the CPU front face should illuminate and the process image in STEP 7 should flip to 1 within 1.4 ms (typical input delay for type 1 24 V inputs).
Critical: The fact that LEDs light does not guarantee that the digital process image is set. The LED driver and the input logic share the same optocoupler in some revisions, but in others the LED is wired to a separate front-panel tap. Always measure Pin 1 voltage first.

5.1 Front Connector Pinout (CPU 313C-2DP integrated DI/DO)

Pin Signal Pin Signal Pin Signal Pin Signal
1 L+ (24 V, sensor supply) 11 DI a5 21 DO b0 31 DO b5
2 DI a0 12 DI a6 22 DO b1 32 DO b6
3 DI a1 13 DI a7 23 DO b2 33 DO b7
4 DI a2 14 24 DO b3 34
5 DI a3 15 25 DO b4 35
6 16 AI0+ 26 36 AI0−
7 17 AI1+ 27 37 AI1−
8 DI a4 18 28 38
9 19 29 39
10 20 M (ground for sensor supply) 30 40 M (ground for DO)

Refer to the CPU 31xC Operating Instructions for the binding pinout for the specific MLFB variant installed; pinout differs slightly between the older 6ES7 313-6CF03-0AB0 and the later -0AB0 rev.

6. Hardware Configuration Verification (HW Config)

  1. Open SIMATIC Manager → your project → double-click Hardware.
  2. Confirm the rack slot 2 contains a CPU whose MLFB exactly matches the physical module (e.g. 6ES7 313-6CF03-0AB0, firmware V2.6 or V3.3). A mismatched MLFB compiles and downloads cleanly but does not behave like the installed module.
  3. Click the CPU → PropertiesInputs tab. Verify each onboard DI is set to Standard DI (default). If a channel is set to Count, Frequency measurement, or Pulse Width Modulation, that channel no longer appears in the input process image.
  4. Click the CPU → PropertiesOutputs tab. Verify DO is Standard DO.
  5. Click the SM 321 in slot 4 → confirm input addresses begin at I 4.0 (or whatever HW Config assigns). A misaligned addressing slot in HW Config will not overlap the onboard I 0.x but will silently shift SM offsets if the wrong order is dragged in.
  6. Compile and Save (Station → Save and Compile).
If HW Config is older than the firmware, the compiler will still allow download, but the CPU will reject the configuration at startup and stay in STOP with diagnostic buffer entry Parameter assignment error (event ID 0x1470 / parameter 0001). After download, always read the diagnostic buffer.

7. STEP 7 Online Diagnostics Procedure

  1. Establish online connection: PLC → Go Online (or F5).
  2. Read the diagnostic buffer: PLC → Diagnostic/Setting → Information → Diagnostic Buffer. Look for SF events such as:
    • 0x1470 0001 – Parameter assignment error (configuration does not match module)
    • 0x3931 0001 – MMC write-protected or defective
    • 0x43A1 0001 – Module removed / inserted during operation
    • 0x2520 0001 – Distributed I/O failure (PROFIBUS side, not relevant here)
  3. Open Accessible Nodes (PLC → Accessible Nodes). The CPU should appear with its MPI address and rack/slot. Confirm the diagnostic status (green SF = no faults, red SF = fault).
  4. Right-click the CPU and select Monitor/Modify. Add variables I 0.0, I 0.1, Q 0.0. Click the Monitor icon (glasses). Force a signal on the field side and watch for status change.
  5. Click Force tab to confirm no values are currently forced (a green dot next to a row indicates an active force).

8. Module Information Verification (I/O Status)

  1. In SIMATIC Manager online, right-click the CPU 313C in the project tree → Module Information.
  2. Select the I/O tab. The status of each onboard DI should toggle between 0 and 1 in real time when the field signal changes.
  3. If the status changes here but does not change in OB1 online monitoring, the issue is in the program (e.g. wrong address used in the LAD/FBD/ST code, e.g. I 0.0 vs IB 0 misinterpretation).
  4. If the status does not change here either, the issue is hardware — proceed with wiring verification (Section 5).

9. MMC (Memory Card) and Reset Procedure

The CPU 31xC series has no internal non-volatile memory. The MMC is mandatory for retaining the user program and all SFCs/SFBs. A corrupted MMC can cause the CPU to load a partial program where DI/DO update portions are skipped.

  1. Power off the CPU.
  2. Press and hold the MRES switch.
  3. Power on the CPU. Release MRES when all LEDs light briefly.
  4. Within 3 seconds, press MRES again for 3 seconds, release for 3 seconds, press MRES a third time for 3 seconds. This performs a full reset (factory reset), formatting the MMC.
  5. Reinsert the MMC if it was removed, power on, then redownload the hardware configuration and program.
Warning: MRES deletes the user program and all data blocks from the MMC. Have a current backup before performing the reset. After reset, the CPU will be in STOP with the SF LED on until a fresh download is performed.

9.1 Alternative: Online Clear/Reset

  1. PLC → Diagnostic/Setting → Clear/Reset.
  2. Click Delete All. This clears the RAM load memory but does not format the MMC.
  3. PLC → Download the full project.

10. Block Consistency and Recompile

If the user has modified the program after initial download, or has inherited a project with inconsistent block timestamps, the CPU may run the older code while the online view shows the new code.

  1. In SIMATIC Manager: Edit → Check Block Consistency (or use the Check Block Consistency button on the toolbar).
  2. Click Compile → All. Any block that fails consistency is flagged.
  3. Correct reported errors (typically missing or duplicate symbols, mismatched DB length, or wrong UDT version).
  4. Re-download with PLC → Download.

11. Hardware Substitution Test

If the above software and wiring checks all pass and the onboard I/O still does not respond, the integrated I/O ASIC on the CPU may be defective. The fact that the user purchased a second CPU 313C and observed identical symptoms suggests the issue is environmental (wiring, power supply, configuration) rather than component failure.

  1. Replace the suspected CPU with the spare CPU313C-2DP of identical MLFB and firmware version.
  2. Transfer the MMC, or redownload the project.
  3. Verify Pin 1 L+ supply is present before powering on.
  4. Test with a single input and a single output (no SM 321 installed) to eliminate any interaction with expansion modules.

12. Avoiding the Common Misdiagnosis

The single most common mistake on CPU 31xC onboard I/O is assuming that because a discrete SM 321 (e.g. 6ES7 321-1BH02-0AA0) works without external 24 V on Pin 1, the onboard DI will also work that way. The onboard DI requires an external 24 VDC supply on Pin 1. The LED on the CPU may illuminate from internal pull-up current even without Pin 1, masking the fault, especially on early firmware revisions.

Always confirm:

  • Pin 1 = 24 VDC, Pin 20 = 0 V (sensor supply)
  • Pin 40 = 0 V (load supply return for outputs)
  • Pin 1 and Pin 20 share the same 24 V source as the field wiring (do not invert polarity)

13. Verification Procedure

  1. With the CPU in RUN, open a VAT or the program online view.
  2. Apply a known 24 VDC signal to input I 0.0 via Pin 1 = L+, signal source switched through the field contact to the chosen input pin.
  3. Confirm in Module Information → I/O that I 0.0 = 1.
  4. Confirm in OB1 online monitoring that the contact representing I 0.0 animates to 1 within 1.4 ms.
  5. If the program drives Q 0.0 from I 0.0, confirm the LED for Q0.0 illuminates and the field voltage at Pin 21 (DO b0) is 24 V (switched).
  6. Record diagnostic buffer (right-click → Save) for inclusion in the machine documentation.

14. Diagnostic Buffer Event Reference

Event ID (Hex) Meaning Recommended Action
0x1470 / 0001 Parameter assignment error Recheck HW Config MLFB and firmware
0x3931 MMC fault (write-protect, defective) Replace MMC, redownload
0x43A1 Module pulled/plugged during RUN Reinsert module, clear buffer
0x4570 Internal CPU fault Power-cycle, MRES, replace CPU
0x4940 PROFIBUS DP fault Check DP cable, terminating resistor
0x25A1 I/O access error — module not responding Check backplane, slot, hardware

15. STEP 7 Software Reference

16. Frequently Asked Questions

Why does the input LED light but the process image stays at 0 on my CPU 313C-2DP?

The CPU 313C-2DP onboard DI requires an external 24 VDC supply at Pin 1 (L+) and Pin 20 (M) of the 40-pin front connector. The LED may light from residual leakage, but the input optocoupler cannot register a logic 1 without Pin 1 power. Measure voltage at Pin 1 with a DMM and apply 24 VDC if missing.

Does the SM 321 module 6ES7 321-1BH02-0AA0 also need 24 VDC on Pin 1?

No. The SM 321 receives its sensor supply via the backplane bus from the CPU's load voltage supply (24 VDC on the power module). Only the onboard DI of CPU 31xC compact CPUs requires a separate front-connector L+ connection.

How do I perform a memory reset (MRES) on a CPU 313C-2DP?

Power off, press and hold MRES, power on, release when all LEDs light briefly. Within 3 seconds, press MRES three times for 3 seconds each (3 s on, 3 s off cycle). This performs a full reset and formats the MMC. Have a project backup ready because the user program is erased.

Can I use a CPU 313C-2DP onboard DI as a counter?

Yes. In HW Config → CPU → Properties → Inputs tab, select the channel and change its operating mode from "Standard DI" to "Count" or "Frequency measurement." However, channels used as counters do not appear in the input process image (I 0.x), which is a common reason for the apparent "dead input" symptom.

Which MMC do I need for the CPU 313C-2DP (6ES7 313-6CF03-0AB0)?

The CPU 31xC requires a 3.3 V Micro Memory Card, order number 6ES7 953-8LF11-0AA0 (8 MB) or smaller legacy cards down to 64 KB. The MMC is mandatory because the CPU 31xC family has no internal non-volatile memory. Inserting a defective or empty MMC results in a STOP CPU with the SF LED on.

Back to blog