S7-400 Added I/O Cards: LEDs Light but No Variable Update in VAT
1. Problem Description
A field engineer adds two digital I/O modules to a Siemens SIMATIC S7-400 rack (UR2) in slots 6 and 7 after the existing populated slots. After downloading the new hardware configuration from STEP 7 (Classic V5.x or TIA Portal), the following symptoms are observed:
- Input channel LEDs on the new SM 421 digital input module illuminate correctly when 24 VDC is applied to the field device through the 6ES7921-4AB00-0AA0 front connector.
- The corresponding output LEDs on the SM 422 digital output module do not light, and the field-side terminals show 0 V instead of the expected 24 VDC, even when the output bit is forced ON in a Variable Table (VAT).
- Monitoring the new input addresses (e.g.,
IB 104,IB 105,IB 106,IB 107) in a VAT displaysB#16#00for all bytes regardless of physical input state. - Monitoring the Peripheral Input Bytes (e.g.,
PIB 104throughPIB 107) also returnsB#16#00when checked in online monitor mode during machine operation. - The pre-existing I/O card in a lower-numbered slot continues to function normally; the new cards alone are non-responsive in software.
2. Why the LED Works but the VAT Shows Zero
The diagnostic approach in STEP 7 distinguishes between two fundamentally different access paths to the same physical I/O point. The relationship between them is the core of this fault.
2.1 Two Access Paths to the Same I/O
| Access Type | Mnemonic | Memory Location | Update Source | Latency |
|---|---|---|---|---|
| Process Image Input |
IB x / IW x / ID x
|
Internal CPU bit memory area (I) | Refreshed at start of OB1 (or assigned PIP-OB) | Up to one OB cycle |
| Peripheral Input |
PIB x / PIW x / PID x
|
Direct read of the module's I/O bus register | Direct, immediate read on every access | Bus scan time only |
| Process Image Output |
QB x / QW x / QD x
|
Internal CPU bit memory area (Q) | Written to module at end of OB1 (or assigned PIP-OB) | Up to one OB cycle |
| Peripheral Output |
PQB x / PQW x / PQD x
|
Direct write to the module's I/O bus register | Direct, immediate write on every access | Bus scan time only |
For a VAT to display a real-world 24 VDC input state when monitoring IB 104, the CPU must transfer the module's input register into the internal I area at the start of an OB. The peripheral access path (PIB 104) is what confirms whether the module is actually seeing the signal on the backplane.
2.2 Interpreting PIB 104 = B#16#00
When the field engineer reports that PIB 104 through PIB 107 all return B#16#00 while the input LED is on, the I/O bus itself is not delivering the value. This rules out a process-image-update problem (OB1 issue) and points to a backplane or hardware configuration fault. A working module must report its physical state through PIB regardless of OB1 execution.
PIB x shows the correct value but IB x shows zero, the problem is software / OB scheduling. If PIB x is zero while the LED is on, the problem is hardware / backplane / configuration / addressing.3. Process Image Partition (PIP) and OB Assignment
The most common software root cause on the S7-400 family is a mismatch between the module's assigned Process Image Partition and the OB that refreshes that partition.
STEP 7 (both Classic and TIA Portal) allows the engineer to assign any digital module to a specific PIP number. The CPU maintains a default PIP 0 that is automatically refreshed by OB1. Modules assigned to PIP 1, 2, 3, ... 15 are only refreshed by the OB whose OBxx priority is configured to update that specific PIP.
3.1 PIP-OB Refresh Matrix
| PIP Number | Default Refresh OB | Typical Application | Update Timing |
|---|---|---|---|
| PIP 0 (Automatic) | OB1 | Standard cyclic I/O | Start and end of OB1 |
| PIP 1 | OB10 (time-of-day) | Time-critical scheduled I/O | OB10 start/end |
| PIP 2 | OB20 (delay) | Delay-triggered I/O | OB20 start/end |
| PIP 3 | OB30 (cyclic interrupt 100 ms) | Fast cyclic I/O | Every 100 ms |
| PIP 4 | OB31 (cyclic interrupt 200 ms) | Medium cyclic I/O | Every 200 ms |
| PIP 5 | OB32 (cyclic interrupt 500 ms) | Medium cyclic I/O | Every 500 ms |
| PIP 6 | OB33 (cyclic interrupt 1 s) | Slow cyclic I/O | Every 1 s |
| PIP 7 | OB34 (cyclic interrupt 2 s) | Slow cyclic I/O | Every 2 s |
| PIP 8 | OB35 (cyclic interrupt 500 ms default) | Standard fast cyclic I/O | Per OB35 period |
| PIP 9-15 | OB40+ (hardware interrupts) or custom | Event-driven I/O | Per interrupt event |
If the new SM 421 and SM 422 modules were placed in a non-zero PIP during a previous engineering session, or if STEP 7 automatically assigned them to a PIP based on a template, the user program must contain the corresponding OB for the I/O to appear in the process image. If that OB is not called, the VAT will read IB x as the last-known value or zero.
4. Root Cause Tree for the Reported Fault
Walking the diagnostic tree against the observed symptoms:
4.1 Symptom 1: Input LED ON, PIB 104 = 0
The I/O bus is not reading the module. Possible causes in priority order:
- Backplane pin damage on the slot - inspect the UR2 rack backplane connector at slot 6 and slot 7. Bent or oxidized pins on either the rack or the module will prevent the I/O bus handshake. Swap the module to a known-good slot to confirm.
- Module inserted while CPU is in RUN - S7-400 hot-swap is not supported on standard I/O modules. Hot insertion can leave the module in an undefined state. Power down the rack, re-seat the module firmly, and power up.
- Hardware configuration not fully downloaded - The HW Config download in STEP 7 must include both the new modules AND the system data. Verify the download via PLC > Download User Program to Memory Card or by checking Accessible Nodes after download.
- Address conflict - If the new modules were placed at default addresses that overlap with an existing module or with reserved PROFIBUS/PROFINET peripheral area, the CPU may not communicate with the module. Change the module start address in HW Config to an unused area (e.g., 256 and above) and re-download.
- Module hardware fault - the module itself has failed. Swap with a known-good module to isolate.
4.2 Symptom 2: Output LED OFF, No Field-Side Voltage
The same I/O bus fault that prevents the input module from being read will also prevent the output module from receiving a write. Diagnosis and resolution are identical to Symptom 1.
4.3 Symptom 3: Original Card in Lower Slot Works Correctly
This confirms the CPU, backplane, and STEP 7 project are fundamentally sound. The fault is specific to slots 6 and 7 - pointing to physical slot issues or address assignment for the new modules only.
5. Step-by-Step Resolution Procedure
5.1 Prerequisites
- STEP 7 V5.5 / V5.6 (Classic) or TIA Portal V16-V20 with the S7-400 HSP installed
- Online connection to the target CPU (MPI, PROFIBUS, or Industrial Ethernet)
- STEP 7 PLCsim license (recommended for offline verification)
- One spare digital I/O module of the same type for swap testing
- The S7-400 module data manual: S7-400 Module Data Reference (PDF)
5.2 Procedure
- Open the project in STEP 7 and navigate to HW Config. Confirm both new modules are present in slots 6 and 7 with the correct order numbers. Reference the S7-400 Hardware and Installation Manual (PDF) for the valid slot assignments of the UR2 rack. Each UR2 segment supports up to 9 slots; in a fully populated UR2, slots 1-9 are segment 1 and slots 10-18 are segment 2.
- Double-click each new module and verify the Addresses tab. Confirm the I and Q start addresses do not conflict with any existing module, PROFIBUS DP slave, or PROFINET IO device. If any doubt exists, reassign the start address to a high unused range (e.g., byte 256 or 512) and click OK.
- Verify the Process Image tab on the module properties. In Classic STEP 7: right-click module > Object Properties > Addresses tab > Process Image section. Confirm the PIP assignment is "OB1-PA-Image (PIP 0)" or "Automatic update of process image". If it shows a non-zero PIP number, change it to 0 unless your program specifically requires a different PIP.
- Check CPU properties for Process Image size. Open the CPU object > Cycle/Clock Memory tab. The Size of the Process Image field for inputs and outputs determines which address ranges are copied into the I/Q area. If the process image size is set to 4 bytes and the new module is at IB 104, the CPU will never copy bytes 100+ into the process image. Set the size to at least 256 bytes (the S7-400 default) unless memory constraints require otherwise.
- Re-download the hardware configuration. In HW Config, click the Download to Target System button. Confirm the system data blocks (SDB) are written. The CPU will perform an INIT-class restart after a hardware configuration change in most cases.
- Power-cycle the S7-400 rack. After HW Config download, perform a complete power-off/power-on cycle on the UR2. This ensures all modules re-enumerate on the I/O bus. Do not rely on a warm restart alone for hardware changes.
-
Test with peripheral access first. Open a VAT in Monitor mode and add both
PIB <new start addr>andIB <new start addr>. Apply 24 VDC to a known input channel.PIBmust update immediately. IfPIBshows 0, the problem is at the bus level - proceed to step 8. - Inspect the backplane. Power down. Remove the suspect modules. Visually inspect the rack backplane at slots 6 and 7 with a flashlight and magnifier. Look for bent, recessed, oxidized, or contaminated pins. Clean with isopropyl alcohol and a non-abrasive swab. Re-seat the modules firmly - ensure both top and bottom retaining screws engage with the rack frame.
- Swap slot positions. Move one of the suspect modules to a slot known to be working (e.g., the slot of the original card, after removing the original). If the moved module now works in the known-good slot, the slot hardware is faulty. If the moved module still does not work, the module itself is faulty.
-
Use PLCsim for code verification. Load the STEP 7 program into a PLCsim instance. In simulation, the
PIBvalues can be forced via the SIM table. If the simulated VAT shows the same fault pattern as the real CPU, the issue is in the STEP 7 project (typically a pointer-based copy that overwrites the I area, or a PIP mismatch). If the simulated VAT works correctly, the issue is hardware on the physical rack. -
Search for indirect I/O access in the user program. Open the STEP 7 program editor and search for any block that performs a copy or move operation targeting the new module's address range. Common offenders include
BLKMOV,FILL, or pointer-basedL PIB / T IBsequences. If the user program is writing toIB 104from a buffer or from a different OB, it will overwrite the process image each cycle. Use Cross References on each new input address to identify all read and write access points. -
Re-test in VAT. After all corrections, open the VAT, add
IB <new addr>in BIN display, force the corresponding physical input, and confirm the bits toggle. Repeat for the output module by forcingQB <new addr>and measuring 24 VDC at the field terminals with a multimeter.
6. UR2 Rack Slot Map and I/O Bus Layout
The S7-400 UR2 rack contains two I/O bus segments separated by an interface gap at the slot containing an IM (Interface Module) receiver. The I/O bus and communication bus are divided into 2 bus segments, each with 9 slots. Per the S7-400 Hardware and Installation Manual (PDF), the standard UR2 layout is:
| Slot | Standard Module | Bus Segment |
|---|---|---|
| 1 | Power Supply (PS 405 / PS 407) | Power only |
| 2 | CPU | Communication bus + I/O bus segment 1 |
| 3 | IM (if used for expansion) | I/O bus segment 1 |
| 4-11 | I/O modules (SM 421 / SM 422 / SM 431 / SM 432) | I/O bus segment 1 (8 slots) |
| 12-18 | I/O modules in expansion rack | I/O bus segment 2 (7 slots in expansion) |
For a single non-expanded UR2, slots 4 through 11 are valid for I/O modules. Slots 6 and 7 are well within the supported range and should function identically to slot 4 or 5 electrically. The slot number itself is not the issue - the diagnostic must focus on the module's backplane seating and the STEP 7 project configuration.
7. Front Connector Wiring Reference: 6ES7921-4AB00-0AA0
The 6ES7921-4AB00-0AA0 is a 40-pin front connector (screw-type) used with the SIMATIC S7-400 digital I/O modules. The pinout follows the standard 6ES7921 family assignment. Always verify the exact pinout against the wiring diagram in the S7-400 Module Data manual (PDF) for the specific module in use.
A common wiring error on breakout modules is mixing the M (24 VDC return / 0 V) and 24 V (sensor supply) terminals. The breakout is typically labeled:
- 1L+ / 2L+ - 24 VDC sensor/load supply per channel group
- 1M / 2M - 0 V return per channel group
- In 0.0 ... In x.7 - Input channel terminals
- Out 0.0 ... Out x.7 - Output channel terminals
8. Verification Checklist
Confirm each item below after applying the corrective steps:
| # | Check | Expected Result | Pass Criterion |
|---|---|---|---|
| 1 | Power supply healthy | PS 405/407 DC OK LED on, 5 VDC and 24 VDC at module | Green DC OK |
| 2 | Module seated | Both top and bottom screws engaged with rack frame | No gap between module face and rack |
| 3 | Backplane pins | No bent, recessed, or oxidized pins at slot 6 / 7 | All pins straight and clean |
| 4 | HW Config downloaded | SDB container has new module entries | PLC > Accessible Nodes shows new module addresses |
| 5 | Address range free | No overlap with other modules, DP slaves, or IO devices | Cross-reference of I/Q ranges shows no overlap |
| 6 | PIP assignment correct | Module assigned to PIP 0 (or matching OB present) | Module properties > Process Image tab |
| 7 | CPU process image size | PIB / PQB size set to at least 256 bytes | CPU properties > Cycle/Clock Memory |
| 8 | Peripheral access works |
PIB <addr> updates in VAT when input toggled |
Bit state matches physical input |
| 9 | Process image access works |
IB <addr> updates in VAT when input toggled |
Bit state matches physical input within one OB1 cycle |
| 10 | Output drives load | 24 VDC measured at output terminal when QB <addr> forced |
24 V ±10% at terminal |
| 11 | No code overwrite | No BLKMOV or pointer code writes to the new I range | Cross-references clean |
9. Troubleshooting Matrix
| LED State (Input) |
PIB Value |
IB Value |
Likely Root Cause | First Action |
|---|---|---|---|---|
| ON with 24V applied | Correct | Zero or stale | PIP not refreshed / OB not called | Change module PIP to 0 or add required OB |
| ON with 24V applied | Zero | Zero | I/O bus fault / module not seen | Re-seat module, inspect backplane, swap slot |
| ON with 24V applied | Zero | Zero | Address conflict | Reassign module start address in HW Config |
| ON with 24V applied | Zero | Zero | CPU process image size too small | Increase PI size in CPU properties |
| ON with 24V applied | Correct | Correct then reverts | User program overwrites I area via pointer | Search program for BLKMOV to I area |
| OFF with 24V applied | Zero | Zero | Wiring polarity or 24V not at terminal | Check front connector wiring and M/24V |
| Flickers / SF LED on | Zero | Zero | Module diagnostic fault | Read module diagnostic buffer online |
| ON (output module) | N/A | QB forced correctly | PQB not reaching module - I/O bus fault | Re-seat module, inspect backplane |
10. PLCsim Diagnostic Method
S7-PLCsim (bundled with STEP 7 Classic, separate in TIA Portal) is the most efficient way to separate software faults from hardware faults. The procedure is:
- Open the STEP 7 project on an engineering station with PLCsim installed.
- From the SIMATIC Manager, select Options > Simulate Modules or Start S7-PLCsim.
- Download the entire STEP 7 project (blocks + system data) to the simulated PLC.
- Open a VAT, add the new module's
IBandPIBaddresses, and place the simulation in RUN-P. - In the SIM table (PI/QT view), force the simulated input bits and observe the VAT update.
- If the simulated VAT shows correct updates, the STEP 7 project and program logic are sound; the fault is hardware on the physical rack. If the simulated VAT shows the same fault, the fault is in the project configuration or program code.
11. Common S7-400 I/O Module Order Numbers
Reference list of typical digital I/O modules for the S7-400 family used in the described fault scenario. Always cross-check the exact order number against the S7-400 Module Data manual (PDF).
| Function | Order Number | Channels | Voltage |
|---|---|---|---|
| DI 32 x DC 24V | 6ES7421-1BL01-0AA0 | 32 | 24 VDC |
| DI 32 x AC 120V | 6ES7421-1EL00-0AA0 | 32 | 120 VAC |
| DI 16 x DC 24V | 6ES7421-7BH01-0AB0 | 16 | 24 VDC, diagnostic |
| DO 32 x DC 24V / 0.5A | 6ES7422-1BL00-0AA0 | 32 | 24 VDC |
| DO 16 x DC 24V / 2A | 6ES7422-1BH11-0AA0 | 16 | 24 VDC |
| DO 16 x AC 230V / 2A | 6ES7422-1FH00-0AA0 | 16 | 230 VAC relay |
| Front connector 40-pin screw | 6ES7921-4AB00-0AA0 | 40-pin | 24 VDC |
| Front connector 40-pin spring | 6ES7921-4AB00-0AB0 | 40-pin | 24 VDC |
12. Frequently Asked Questions
Why does the input LED turn on but the VAT shows zero for the corresponding input byte?
The LED is driven by the module's input optocoupler circuit the moment 24 VDC is applied at the terminal. The VAT reads from the CPU's internal I memory area, which is only updated by the assigned OB at the start of the OB cycle. If the I/O bus cannot read the module (backplane, addressing, or configuration issue) or the PIP is assigned to an OB that is not running, the internal I memory stays at zero. Test with PIB <addr> first; if PIB is also zero, the fault is at the bus level, not the OB level.
How do I assign a new S7-400 module to Process Image Partition 0 in STEP 7?
Open HW Config, double-click the module, select the Addresses tab, and in the Process Image section choose OB1-PA-Image (PIP 0) or Automatic update of process image. Click OK, save the project, and re-download the hardware configuration to the CPU. The module's I bytes will then be refreshed by OB1 in the standard cyclic manner.
What is the maximum S7-400 I/O capacity per rack?
A single S7-400 expansion rack (UR2 with IM) supports up to 16 modules of 32 channels each, providing 512 I/O channels per rack segment. The I/O bus is divided into 2 segments of 9 slots each, separated by the IM receiver slot. The host CPU rack provides slots 4-11 for I/O when no expansion IM is used.
Can I hot-swap an S7-400 digital I/O module?
No. Standard SM 421 and SM 422 modules do not support hot-swap on the S7-400. Power down the rack before inserting or removing a module. Hot insertion can leave the module in an undefined state, cause backplane pin damage, or trigger a CPU fault. The only S7-400 modules that support hot-swap are the redundant PS and CPU modules in H-systems.
My user program reads the inputs but the bits keep resetting to zero. What is wrong?
Your program likely contains a BLKMOV, FILL, or pointer-based instruction that overwrites the I memory area each cycle. Open Cross References on the affected I byte and locate all write access points. Common offenders are cyclic copies from a data block or from a different OB that does not respect the PIP structure. Replace direct writes to the I area with reads to PIB peripheral inputs to bypass the process image entirely.