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.
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-0AA0or 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.
- Remove the front connector from the CPU.
- With the field supply OFF, use a DMM in continuity mode to verify Pin 1 is isolated from Pin 20 (no short).
- 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).
- 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).
- The corresponding channel LED on the CPU front face should illuminate and the process image in STEP 7 should flip to
1within 1.4 ms (typical input delay for type 1 24 V inputs).
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)
- Open SIMATIC Manager → your project → double-click Hardware.
- 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. - Click the CPU → Properties → Inputs 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.
- Click the CPU → Properties → Outputs tab. Verify DO is Standard DO.
- 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 onboardI 0.xbut will silently shift SM offsets if the wrong order is dragged in. - Compile and Save (Station → Save and Compile).
7. STEP 7 Online Diagnostics Procedure
- Establish online connection: PLC → Go Online (or F5).
- 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)
-
- 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).
- 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. - 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)
- In SIMATIC Manager online, right-click the CPU 313C in the project tree → Module Information.
- Select the I/O tab. The status of each onboard DI should toggle between
0and1in real time when the field signal changes. - 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.0vsIB 0misinterpretation). - 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.
- Power off the CPU.
- Press and hold the MRES switch.
- Power on the CPU. Release MRES when all LEDs light briefly.
- 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.
- Reinsert the MMC if it was removed, power on, then redownload the hardware configuration and program.
9.1 Alternative: Online Clear/Reset
- PLC → Diagnostic/Setting → Clear/Reset.
- Click Delete All. This clears the RAM load memory but does not format the MMC.
- 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.
- In SIMATIC Manager: Edit → Check Block Consistency (or use the Check Block Consistency button on the toolbar).
- Click Compile → All. Any block that fails consistency is flagged.
- Correct reported errors (typically missing or duplicate symbols, mismatched DB length, or wrong UDT version).
- 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.
- Replace the suspected CPU with the spare CPU313C-2DP of identical MLFB and firmware version.
- Transfer the MMC, or redownload the project.
- Verify Pin 1 L+ supply is present before powering on.
- 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
- With the CPU in RUN, open a VAT or the program online view.
- Apply a known 24 VDC signal to input
I 0.0via Pin 1 = L+, signal source switched through the field contact to the chosen input pin. - Confirm in Module Information → I/O that
I 0.0= 1. - Confirm in OB1 online monitoring that the contact representing
I 0.0animates to1within 1.4 ms. - If the program drives
Q 0.0fromI 0.0, confirm the LED for Q0.0 illuminates and the field voltage at Pin 21 (DO b0) is 24 V (switched). - 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
- SIMATIC S7-300 SM 321 Manual (entry ID 1117740)
- SIMATIC S7-300 CPU 31xC Operating Instructions (entry ID 21462852)
- STEP 7 V5.4 SP5 Readme / Installation Notes (entry ID 18652056)
- STEP 7 Online Help — Block Consistency Check
- CPU 31xC / 31x Hardware Configuration Notes
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.