Building a Siemens S5/S7 Module Test Bench for Spare Verification

David Krause14 min read
PLC HardwareSiemensTechnical Reference
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

Building a Siemens S5/S7 Module Test Bench for Spare Verification

When a plant runs legacy SIMATIC S5 controllers alongside S7-300/S7-400 systems, the spare-parts inventory is often a mix of factory-new and refurbished (used) modules. Field engineers need a fast, repeatable method to confirm that a spare AI, AO, DI, DO, or CPU module is functional before installing it on a running machine. Hot-swapping modules on a live PLC rack is slow, risks wiring errors, and exposes production to unnecessary downtime. A dedicated test bench solves this problem by isolating module verification from the controlled process.

This reference covers a complete bench design for both SIMATIC S5 (S5-90U/95U/115U/135U/155U families) and SIMATIC S7-300/400 spares, including Report System Error (RSE) configuration in STEP 7, diagnostic buffer decoding, organization block (OB) fault codes, and pass/fail criteria. Procedures apply whether modules are pulled from a working machine, sourced from surplus stock, or salvaged from decommissioned racks.

Safety first. Always disconnect and lock out power before inserting or removing modules. Even at 24 V DC, an output module can back-feed a faulty CPU and damage test instrumentation. Use isolated supplies on the bench and verify chassis grounding before applying power.

1. Why Hot-Swapping Spare Modules Is the Wrong Approach

The naive workflow—stop equipment, stop PLC, disconnect one module at a time, rewire the spare, power up, test, restore—is both unsafe and inefficient on a production line:

  • Downtime cost. Each cycle typically takes 20–45 minutes per module including wiring, restart, and verification.
  • Wiring fatigue. Repeatedly disconnecting front connectors from terminals such as the 6ES5 730-... series front connectors breaks screw clamps and stranded-wire strands.
  • Cross-contamination risk. A faulty spare installed next to a working module can propagate faults through the backplane, especially on S5-115U/135U/155U with EU (expansion unit) cabling.
  • No diagnostic capture. Intermittent faults may pass when the spare is briefly installed but fail later in service. A controlled bench records the full diagnostic buffer.

A bench isolates the module under test, exercises every channel under load, and captures OB82/OB84/OB86/OB122 entries before the module is ever shipped to the field.

2. Prerequisites

Before building the test bench, confirm the following:

  1. Working CPU. One fully functional CPU per family (S5-95U, S5-115U, S7-314, S7-414, etc.) acts as the master. Keep firmware versions consistent with the field fleet.
  2. STEP 7 V5.5 SPx with SIMATIC Manager installed on a Windows 7 / XP / Windows 10 (compatibility mode) PC. The Report System Error wizard requires STEP 7 V5.3 or later.
  3. PC Adapter USB (6ES7 972-0CB20-0XA0) or CP 5611 / CP 5613 MPI/Profibus card for S7-300/400.
  4. PG 740 / PG 760 programmer or equivalent with S5-DOS / STEP 5 software for the S5 side.
  5. Reference signal sources: 24 V DC bench supply (Phoenix Contact QUINT or Siemens SITOP), 0–10 V / 4–20 mA calibrator (Beamex MC6 or WIKA CPH7000), decade resistance box, and a 4-wire PT100 simulator.
  6. Loads: 24 V lamp bank or programmable electronic load for DO verification, dummy transducers for AI channels.
  7. Documentation: The Siemens S5-115U manual set (6ES5 998-0SH12 / -0SH22), the S7-300 Module Data manual, and the S7-400 Reference Manual.

3. Test Bench Architecture

The recommended topology separates S5 and S7 racks on independent frames but shares the 24 V DC supply and signal-conditioning block.

S5 Rack (CR / ER) PS 905 CPU 943/948 DI 430 DO 440 AI 460 AO 470 Slots 0–7 (CR) S5 Backplane / IM 308 S7 Rack (S7-300 / 400) PS 307 CPU 314/416 SM 321 DI SM 322 DO SM 331 AI SM 332 AO Slots 1–11 STEP 7 HW Config + RSE Signal Conditioning SITOP 24 V / 10 A Calibrator 0–10 V / 4–20 mA PT100 simulator (4-wire) Lamp load bank 24 V IF + front connector Sig/load wiring

Figure 1 — Test bench topology with isolated S5 and S7 racks sharing a conditioned signal/load panel.

4. S5 Test Bench — Hardware and Test Points

4.1 Racks and Power

Use the original Siemens S5 racks:

  • CR 700-0 (central rack) for S5-115U with up to 8 slots.
  • ER 701-0 (expansion rack) connected via IM 306 / IM 308 for additional modules.
  • PS 905 / PS 907 power supplies rated at 115/230 V AC input, 24 V DC / 5 V DC outputs.
Older S5 power supplies from decommissioned equipment often have aged electrolytic capacitors. Run a 30-minute burn-in before relying on the bench supply for module testing.

4.2 Common S5 Spare Module Catalog Numbers

Module family Function Typical MLFB (6ES5 ...) Channels Notes
6ES5 430-4UA12 DI 24 V DC 24 V DC sink 32 Group-fault LED indicator
6ES5 431-4FA10 DI 110 V AC 110 V AC 16 Optically isolated groups
6ES5 440-4UA12 DO 24 V DC, 0.5 A 24 V DC source 32 Short-circuit proof per group
6ES5 441-4UA12 DO 24 V DC, 2 A 24 V DC source 16 Watch heatsink tab temp
6ES5 450-4UA12 DO relay 230 V AC Relay, dry contact 16 Mechanical life 10⁶ cycles
6ES5 460-4UA12 AI ±10 V / 4–20 mA 12-bit 8 Configure via DIP on side
6ES5 465-4UA12 AI for PT100 / NI100 4-wire RTD 4 Linearization in CPU FW
6ES5 470-4UA12 AO ±10 V 12-bit 8 Short-circuit proof
6ES5 475-4UA12 AO 4–20 mA 12-bit 8 Load ≤ 600 Ω
6ES5 941-7UB11 CPU 941 (S5-115U) Programming unit — 48 KB code / 48 KB data
6ES5 948-3UA11 CPU 948 (S5-135U) Programming unit — Hot standby capable

4.3 Wiring Convention

S5 front connectors are the 6ES5 730-... series with screw or cage-clamp terminals. Build pigtails that replicate field wiring: short jumper wires from a 24 V DC source through 1 kΩ resistors simulate field sensors for DI, while 24 V lamps with 470 Ω dropping resistors load the DO outputs.

5. S5 Verification Procedure

5.1 CPU Self-Test

  1. Insert CPU with no EPROM/EEPROM initially. Power up — the BASP LED must light, and the CPU should request a memory reset (STOP mode with "REORG" if a memory card is inserted).
  2. Insert EPROM/EEPROM with a known-good test program (FB-only OB1 echo: increment a counter and toggle an output on each scan).
  3. Set the mode selector to RUN. The CPU must transition STOP → RUN within 3 seconds without triggering the SF (group fault) LED.
  4. Read the diagnostic buffer via STEP 5 / COM 115/155. Acceptable entries: power-on, mode change, restart. Unacceptable: CPU fault, ISTACK overflow, module pull/plug during RUN when no module was removed.

5.2 Digital Input Modules

  1. Apply 24 V DC to channel 0 via the front connector. The corresponding LED must light within 50 ms.
  2. In STEP 5, monitor the process image input byte. Bit 0 must transition 0 → 1.
  3. Cycle each channel with a debounced toggle switch. Verify both LED and process image.
  4. For 110 V AC modules, use an isolated variac — never connect bench mains directly to module terminals without an isolation transformer.

5.3 Digital Output Modules

  1. Drive each output high via the test program. Verify the channel LED and measure voltage at the load terminal (should drop ≤ 0.5 V at rated load).
  2. Apply a 10 % over-current condition (e.g., 0.55 A on a 0.5 A module) for 60 s. The module must fold back or trip the group fuse without latching the CPU into STOP.
  3. For relay modules, exercise each contact with an ohm-meter: closed resistance < 100 mΩ, open resistance > 100 MΩ.

5.4 Analog Input Modules

  1. Apply 0 V, 5 V, and 10 V from the calibrator to channels 0–7.
  2. Read the raw value from the process image. For a 12-bit bipolar module the expected linear mapping is:
Value = (Vin / 10 V) * 2048 + 2048
Example: Vin = +5.000 V -> Value = 1024 + 2048 = 3072 decimal (0xC00)
Example: Vin = -10.000 V -> Value = -2048 + 2048 = 0 (under-range clamp)
  1. Acceptance: every channel within ±2 LSB of expected at all three test points. Reject if any channel drifts > 4 LSB over 5 minutes.
  2. For RTD modules (6ES5 465), verify linearity at 0 °C, 100 °C, and 200 °C with PT100 simulator.

5.5 Analog Output Modules

  1. Set each channel to 0 %, 50 %, 100 % from the test program.
  2. Measure with a 6½-digit DMM at the front connector.
  3. Acceptance: ±0.3 % of full scale (typical Siemens 12-bit AO spec).

6. S7 Test Bench — Report System Error Setup

The S7-300/S7-400 side uses the STEP 7 "Report System Error" (RSE) wizard to generate automatic diagnostics. Once configured, the CPU writes diagnostic messages to the diagnostic buffer and to DB 125 (S7-300) or DB 126 (S7-400), where they can be retrieved from the HMI or engineering station.

6.1 Configuration Steps in SIMATIC Manager

  1. Open HW Config for the bench station.
  2. Insert the CPU (e.g., 6ES7 314-6CG03-0AB0) and add all slave modules that will be exercised (SM 321, SM 322, SM 331, SM 332).
  3. Select the CPU row, then choose Options → Report System Error.
  4. In the wizard, enable diagnostics for:
CPU diagnostics              : YES
OB82 (diagnostic interrupt)  : YES (used)
OB83 (module pull/plug)      : YES (used)
OB84 (CPU/IM failure)        : YES (used)
OB85 (OB not loaded)         : YES (used)
OB86 (rack failure)          : YES (used)
OB121 (programming error)    : YES (used)
OB122 (I/O access error)     : YES (used)
Generate DB 125 / DB 126     : YES
Send to HMI / WinCC          : optional
  1. Compile and download to the CPU. RSE installs OB82, OB83, OB84, OB85, OB86, OB121, OB122 (these are now present in the S7 program).
  2. Open CPU Messages via PLC → CPU Messages. Faulty modules will surface here with event IDs.

6.2 Diagnostic Buffer Readout

After each module test cycle, perform PLC → Diagnostics/Settings → Clear/Reset Diagnostic Buffer only if desired, then run the test and read the buffer in chronological order. Key event IDs for module faults:

Event ID (hex) Meaning Likely cause on test bench
0x2520 OB82 start — diagnostic interrupt Module channel wire-break or short
0x2521 OB82 end — diagnostic interrupt cleared Channel fault gone after load step
0x2540 OB83 — module inserted Module pull/plug during RUN, expected during test
0x2541 OB83 — module removed Same, expected
0x2544 OB83 — module parameter error Wrong HW Config slot, bad firmware
0x35xx Module diagnostic interrupt Wire-break on AI/DI, over-temp on DO, range error on AI
0x39xx Communication fault Profibus slave not on bench yet — OK for CPU-only test
0x4940 OB121 — programming error Test FB uses wrong DB number
0x4980 OB122 — I/O access error Test program reads slot not present

7. Organization Block (OB) Fault Reference

The OB priority and reaction table is essential for interpreting diagnostic buffer entries.

OB Priority Class If OB missing → CPU goes to Test-bench relevance
OB82 7 Diagnostic interrupt STOP Most module-channel faults
OB83 7 Module pull/plug STOP Hot-swap testing of ET200
OB84 7 CPU/IM rack failure STOP Detects backplane fault in spare CPU
OB85 7 OB-not-loaded fault STOP Test program error, not module fault
OB86 7 Rack failure (PROFIBUS DP) STOP Verifies DP slave IM on spare
OB121 Same as OB1 Programming error STOP Test FB bug — fix, not module reject
OB122 Same as OB1 I/O access error STOP Same as above
A spare CPU that faults OB84 or OB85 during power-up is almost certainly damaged (capacitor failure on backplane drivers or watchdog fault). Do not place into service.

8. Pass/Fail Decision Matrix

Symptom observed Suspected fault Action
BASF / SF LED steady after power-up CPU hardware fault, missing memory submodule Reject
Single DI channel dead, others OK Opto-coupler blown Reject module
All DI channels dead on one group Group fuse or DC-DC converter fault Reject — group fault not repairable
DO output stuck ON Output transistor shorted Reject — risk of overdriven field device
AI channel drifts > 4 LSB Input amp aging, dirty connector Clean front connector, retest; reject if persistent
AO channel off by > 1 % FS DAC reference drift Reject
CPU enters STOP with SF after warm restart Battery low on CPU Replace battery, retest; accept if restarts clean
OB84 during restart Backplane / IM fault Reject CPU
OB122 reading PIW 752 (slot not configured) Test program bug Fix FB, not a module issue

9. Commissioning Verification Steps

Run this checklist every time the bench is re-cabled or a new CPU firmware is installed:

  1. Confirm the SITOP PSU voltage is 24.0 V ±0.2 V DC under load.
  2. Confirm the calibrator has been calibrated within the last 12 months (NIST or accredited lab traceable).
  3. Power the rack with no module under test — CPU must complete power-on self-test within 5 s and reach RUN on a clean test FB.
  4. Insert a known-good reference module (kept on the bench as a golden unit). Confirm all tests pass.
  5. Insert the spare module and run the full test sequence.
  6. Save the diagnostic buffer and a screenshot of HW Config showing the module present in green.
  7. Tag the module with a barcode label: PASS / FAIL, date, technician initials, firmware version.

10. Troubleshooting Common Bench Issues

Symptom Probable cause Fix
CPU will not go RUN; SF + BF LEDs DP slave not plugged Disable DP master in HW Config for CPU-only test
STEP 7 cannot find CPU via MPI Wrong MPI address, baud rate mismatch Set MPI address = 2, baud = 187.5 kbps default
DI input reads random toggling Floating input, no pull-down Add 10 kΩ pull-down to M at each input
AO output 1 V offset at 0 % Module needs recalibration Reject — module cannot be recalibrated in field
PG 740 cannot communicate with S5 CPU TTY current loop cabling wrong polarity Swap pins 2 and 3 on the 15-pin PG connector
Test FB goes STOP with OB85 Background OB missing Insert empty OB100 / OB1 to clear OBs
Diagnostic buffer fills instantly Loose front connector Re-seat connector, retighten screws

11. Documentation and Records

Maintain a CSV or relational log per spare:

Module_MLFB,Serial_No,Family,Firmware,Test_Date,Technician,Pass_Fail,Notes
6ES7 322-1BL00-0AA0,S730-2204-AK08,S7-300 DO16,FW V3.0,2026-01-14,JD,PASS,Channel 12 within 1 LSB
6ES5 460-4UA12,S540-0612-118,S5-115U AI8,n/a,2026-01-14,JD,FAIL,Channel 3 reads 8 LSB high
6ES7 314-6CG03-0AB0,S7314-AK21-0928,S7-300 CPU314C-2,FW V3.3,2026-01-14,JD,PASS,Clean OB82 after 24h burn-in

This log feeds the inventory system and provides evidence during quality audits for ISO 9001 or equivalent quality management systems.

12. References in Procedure

How can I check Siemens S5 spare modules quickly without stopping a live PLC?

Build a dedicated offline test bench with a working CPU, the same rack type (CR 700-0 for S5-115U), a 24 V DC supply, signal calibrator, and lamp load bank. Insert the spare module, exercise every channel via a STEP 5 test FB, read the diagnostic buffer, and tag the module PASS or FAIL. This avoids any production downtime.

What does the STEP 7 "Report System Error" wizard do for module testing?

The wizard installs OB82, OB83, OB84, OB85, OB86, OB121, and OB122 in the S7 program and creates DB 125 (S7-300) or DB 126 (S7-400). When a module on the bench generates a diagnostic interrupt — wire-break, over-temp, parameter error — the CPU writes a structured entry to the diagnostic buffer and to the DB so it can be displayed in CPU Messages or on an HMI.

Which event IDs in the S7 diagnostic buffer indicate a faulty module?

Event 0x2520 / 0x2521 marks an OB82 diagnostic interrupt start/end (channel-level fault). 0x35xx entries are module diagnostic interrupts with channel status. 0x2544 indicates a module parameter error — the slot configuration does not match the inserted module. 0x4940 / 0x4980 are programming and I/O access errors that usually indicate a test FB bug, not a module fault.

What is the expected raw value for a Siemens 6ES5 460-4UA12 AI module at +5 V input?

The module is a 12-bit bipolar ADC. The transfer function is Value = (Vin / 10 V) × 2048 + 2048. At +5.000 V the expected value is 1024 + 2048 = 3072 decimal (0xC00). Acceptance on the test bench is ±2 LSB; reject any channel drifting more than 4 LSB over a 5-minute hold.

Why does my S7-300 CPU stay in STOP with SF + BF LEDs on the test bench?

The BF (bus fault) LED indicates that the configured DP master cannot find its slave. For a CPU-only module test, open HW Config, double-click the DP master, and either disable it or remove the slave from the configuration. Re-download the hardware configuration. The CPU should then transition to RUN cleanly on a minimal test FB.

Can I use the same test bench for both S5-115U and S7-300 modules?

Yes, with separate physical racks and power supplies. The S5 side runs STEP 5 on a PG 740 / PG 760, while the S7 side runs STEP 7 V5.5 with the Report System Error wizard on a Windows PC. Sharing the 24 V DC supply and signal conditioning block is fine as long as the grounds are kept isolated between the two racks to avoid ground-loop-induced ADC errors.

Back to blog