Problem Overview
A Siemens SIMATIC S7-400 CPU connected over PROFIBUS-DP to one or more ET 200M distributed I/O stations may exhibit a symptom where a digital output (DO) channel—referenced in a CFC (Continuous Function Chart) block as CH_DO—reports a logic value of 1 at the block output, yet the corresponding physical output terminal remains de-energized. The fault is intermittent: only some channels fail, on different ET 200M stations across the plant, while neighboring outputs on the same module respond correctly.
This class of fault is rarely a hardware failure of the output module itself; in most cases it traces back to one of four root causes: missing load-voltage supply to the output group, mismatched I/O addressing between HW Config and CFC, double assignment of a single output address by two logic blocks, or a CFC run-time/OB binding error that prevents the chart from being executed cyclically. The diagnostic procedure below isolates each cause in sequence and prescribes the corrective action.
Affected System Architecture
Reference topology for the fault scenario:
The CPU holds the CFC chart in the user program; the chart produces process image output (PIQ) values that the operating system writes to the PROFIBUS-DP slave during the I/O cycle. The ET 200M head (IM 153-2) forwards the PIQ payload to the slot where the SM 322 digital-output or SM 332 analog-output module sits. Each output group on an SM 322 requires its own 24 V DC load supply on terminals 1L+, 2L+, 3L+ — without it, the module cannot source current even though the bit in the PIQ is set.
Root Cause Matrix
| # | Root Cause | Symptom | Detection |
|---|---|---|---|
| 1 | Missing 24 V load supply on output group | All channels of a group dead; SF LED on module | Measure voltage between L+ and M at terminals |
| 2 | HW Config: address not assigned / wrong slot | Output never seen by CPU; VAT shows 0 regardless | Compare slot list with HW Config |
| 3 | CFC chart not installed into cyclic OB | Output block runs in editor but not in PLC | CFC > Chart > Chart installation |
| 4 | Cross-reference: address assigned twice | Second writer overwrites first; outputs toggle randomly | Reference Data > Cross-reference (Display) |
| 5 | CFC run-time group disabled or wrong OB | Outputs from this chart frozen at last value | Run-time editor > Group properties |
| 6 | PROFIBUS slave failure / station failure | BF LED on IM 153; SF on CPU | CPU diagnostic buffer, online diagnostics |
| 7 | Wrong module type in slot (e.g. DI instead of DO) | Address accepted but no output driver | HW Config > Slot right-click > Module properties |
Diagnostic Procedure: Load Power Supply
The single most common reason a CFC output "does nothing" is the absence of the 24 V load voltage on the SM 322 output group. The CPU and the IM 153 backplane bus are powered separately; an SM 322 digital-output module will accept the bit, light no SF LED, and still drive nothing if 1L+ / 2L+ are floating.
- Open the ET 200M cabinet and locate the affected SM 322 (6ES7322-1BF01-0AA0, 6ES7322-1BH01-0AA0, or similar 32-channel / 16-channel DO module).
- With a calibrated DMM, measure between terminals
1L+(or2L+,3L+) and1M(or2M,3M). Expected: 20.4 V ≤ U ≤ 28.8 V DC. - Verify polarity:
L+must be positive with respect toM. Reversed polarity on a DO module typically blows the per-group fuse. - If voltage is absent, trace the feed to the SITOP power supply or the marshalling terminal block. Verify that the line-protection fuse (typically 6 A or 10 A) is intact.
- Repeat for every output group of every SM in the affected ET 200M. Document on the cabinet single-line diagram.
1L+/1M, channels 8–15 share 2L+/2M. Loss of group-1 supply disables channels 0–7 even if group-2 supply is healthy.Diagnostic Procedure: HW Config and Address Mapping
If the load supply is present, the next most likely cause is a mismatch between the physical slot population and the HW Config image that the S7-400 CPU downloaded to the IM 153.
- In STEP 7 Manager, open the S7 project and double-click Hardware to launch HW Config.
- Navigate to the PROFIBUS-DP subnet and expand the affected IM 153-2 (order number 6ES7153-2BA10-0XB0 or 6ES7153-2BA70-0XB0).
- Right-click the slot where the DO module is inserted in real life and select Object Properties. Confirm the order number matches the printed label on the module exactly.
- In the Addresses tab, note the start address of the outputs (for example
0,4,8…). For SM 322 modules, the default is a process image partition (PIP) start address; for SM 332 analog modules the start address is a PQW word boundary. - Cross-check that the start address is not the input address of an input module already present on another ET 200M. STEP 7 will compile without warning if you manually rename a slot's address range to overlap with another station.
- Save & Compile (Station > Save and Compile), then Download to the CPU (PLC > Download to Target). Cycle power to the IM 153 only if a hardware change was made.
| Module | Order Number | Channels | Address Width | Default P/Q Start |
|---|---|---|---|---|
| SM 322 DO 24 V / 0.5 A | 6ES7322-1BH01-0AA0 | 16 | 2 bytes | 0 (configurable) |
| SM 322 DO 24 V / 2 A | 6ES7322-1BF01-0AA0 | 8 | 1 byte | 0 (configurable) |
| SM 322 Relay | 6ES7322-1HH01-0AA0 | 16 | 2 bytes | 0 (configurable) |
| SM 332 AO | 6ES7332-5HF00-0AB0 | 8 | 8 PQW words | 256 (configurable) |
| SM 332 AO | 6ES7332-7ND02-0AB0 | 4 | 4 PQW words | 272 (configurable) |
Diagnostic Procedure: CFC Chart Installation
A CFC chart is a graphic network of function blocks compiled into STL/FBD and executed only if it is installed into a cyclic organization block (typically OB1, OB35, or OB36–OB38 depending on cycle time). The block-icon editor displays the running block even when the chart is not installed; the online value you see is the last computed value held in the PIQ area.
- Open the CFC editor and select the affected chart in the chart tree (left pane).
- Right-click the chart folder and select Chart > Chart Installation.
- In the dialog, verify that the chart appears under the correct run-time group. Default assignments:
| Run-time Group | Default OB | Typical Cycle | |
|---|---|---|---|
| Use | |||
| MAINT | OB1 | 100 ms (CPU scan) | Startup / non-time-critical logic |
| RTC | OB35 | 100 ms | Standard regulation loops |
| PHG_1 | OB36 | 20 ms | Fast regulation |
| PHG_2 | OB37 | 50 ms | Mid-rate loops |
- Click the Enabled check-box. A chart with the box cleared is compiled but not executed.
- Confirm the chart's Task is bound: View > Run Sequence shows the run-time groups in execution order.
- Download the chart (Chart > Download) and the chart installation (Options > Chart Install > Download).
PQW 256 := W#16#7FFF for an analog or with a bit-pattern assignment for a digital. If the physical output then energizes, the fault is in the CFC chart logic, not in the I/O. If it still does not energize, the fault is in HW Config, power, or PROFIBUS — proceed to the next section.Diagnostic Procedure: Cross-Reference Analysis
The second-writer problem is common when charts are copy-pasted between projects or when a programmer reassigns a tag alias. The CPU honors the last assignment made in the current scan; the first writer's value is silently overwritten.
- In STEP 7 Manager, right-click the S7 program and choose Reference Data > Display.
- Select Cross-References and confirm the filter is set to All.
- Type the suspect address (for example
Q 0.0orPQW 256) into the address field. - Step 7 returns a list of every network, CFC block, SFC/SFB, and OB that references the address. Each row shows Access (read/write), Type, Block, Location.
- If more than one block performs a write access (W) to the same bit, both will appear. You must determine which one is logically correct.
- To isolate quickly, force the suspected erroneous writer offline (open the CFC block and temporarily mark the output pin "OVR"), then observe whether the physical output follows the remaining writer.
For an S7-400 the cross-reference data is generated at compile time. Always run Program > Compile All after structural changes to refresh the database.
Diagnostic Procedure: PROFIBUS and ET 200M LED Diagnostics
The IM 153-2 front panel and the SM 322 module each carry a row of status LEDs that localize the fault in seconds.
| LED | Color | State | Meaning |
|---|---|---|---|
| SF (IM 153) | Red | On | Group fault — diagnostic buffer entry present |
| BF (IM 153) | Red | On | PROFIBUS link down / slave not in cyclic exchange |
| ON (IM 153) | Green | On | 24 V backplane supply OK |
| SF (SM 322) | Red | On | Module diagnostic — wire-break, missing load voltage, parameter error |
| SF (SM 332) | Red | On | Analog fault — wire-break on a current loop or short circuit |
- Walk the cabinet and read every LED on the affected IM 153 and on each SM.
- For an IM 153 BF red, read the CPU diagnostic buffer: PLC > Diagnostic/Setting > Diagnostic Buffer. PROFIBUS station failure events include the slave diagnostic word and the slave address.
- Open PLC > PROFIBUS > Monitor/Modify to see the slave status: "OK", "Fault", "Not Found". A "Fault" state with cyclic I/O still active usually means a parameterization mismatch.
- Check the terminating resistor on the PROFIBUS connector. A missing or dual termination on the bus segment will produce intermittent BF events that briefly silence every output.
Step-by-Step Resolution
Apply the corrective action matching the diagnosed root cause.
Cause 1: Load supply missing
- Restore 24 V to the affected output group.
- Cycle power to the IM 153 to clear the diagnostic latch on the SM.
- Verify with a VAT force that the output now follows.
Cause 2: HW Config mismatch
- Insert the correct module in HW Config slot.
- Adjust the start address to match the wiring diagram.
- Compile and download HW Config.
- Cycle the IM 153 power.
Cause 3: Chart not installed
- CFC > Chart > Chart Installation > enable and assign to run-time group.
- Options > Chart Install > Download.
Cause 4: Cross-reference double-write
- Identify the redundant writer with Reference Data > Cross-References.
- Remove or comment out the erroneous write, or change its destination to a separate tag.
- Compile all and download.
Cause 6: PROFIBUS slave failure
- Read the CPU diagnostic buffer and note the slave address.
- Inspect the PROFIBUS connector and cable for the failed slave.
- Verify the slave's PROFIBUS address matches HW Config (DIP switches or rotary switch on the IM 153).
- Replace the IM 153 if hardware fault persists.
Verification and Commissioning
After the corrective action, perform a structured I/O check before returning the system to production.
- Open a Variable Table with one row per output bit/word of the affected module.
- Trigger each output from the CFC chart in automatic mode and confirm the VAT row reflects the same value within one scan cycle.
- Measure the field voltage at the actuator terminal with a DMM; verify the polarity matches the actuator wiring diagram.
- For analog outputs, set the CFC block to
SUBSTITUTE VALUE = 0on CPU STOP, then toLAST VALUEon CPU STOP and verify each behavior matches the project specification. - Cycle the CPU from STOP to RUN three times. Watch the IM 153 SF/BF LEDs during each startup. They must extinguish within 5 s of RUN.
- Read the CPU diagnostic buffer: PLC > Diagnostic/Setting > Diagnostic Buffer. The buffer must be free of
SFevents for the affected ET 200M for at least 15 minutes.
Preventive Measures and Best Practices
- Maintain a documented address map per ET 200M station in the cabinet drawing set. Reject any CFC change that overlaps an existing process-image range without a peer review.
- Add diagnostic CFC blocks (CH_DI, CH_AI, STATUS) for every output group. The STATUS block pulls the diagnostic word from the IM 153 and surfaces it on the HMI as a per-channel health indicator.
- Fit each output group with a fused marshalling terminal so that a field-side short does not propagate back into the SM 322.
- Use the optional SFC Visualization in STEP 7 to compare the run-time sequence against a baseline saved in the project archive; any drift indicates a chart that has been installed out of order.
- Store the compiled S7 program with the
STEP 7 V5.xarchive function on every plant change. The cross-reference data is rebuilt on compile and a previous archive is the fastest way to identify a regression. - Schedule an annual PROFIBUS cable inspection using an oscilloscope or a BT 200 bus tester. A degraded cable produces intermittent BF events that drop the entire ET 200M and silence every output.
Spare Parts Reference
| Item | Order Number | Notes |
|---|---|---|
| IM 153-2 (PROFIBUS, redundancy) | 6ES7153-2BA10-0XB0 | Supports redundant PROFIBUS, up to 12 Mbps |
| IM 153-2 (PROFIBUS, FO) | 6ES7153-2BA70-0XB0 | Fiber-optic variant for long distances |
| SM 322 DO 16×24 V / 0.5 A | 6ES7322-1BH01-0AA0 | 2 groups of 8; common 24 V load supply |
| SM 322 DO 8×24 V / 2 A | 6ES7322-1BF01-0AA0 | Single group; suitable for higher inrush loads |
| SM 332 AO 8×12 bit | 6ES7332-5HF00-0AB0 | Voltage / current output per channel |
| Front connector 40-pin | 6ES7392-1AM00-0AA0 | Screw-type, for SM 322 / SM 332 |
| PROFIBUS connector with PG port | 6ES7972-0BB12-0XA0 | 90° exit, integrated termination |
FAQ
Why does my CFC chart show value 1 on CH_DO but the field output never energizes?
Almost always the load-voltage (24 V) on the SM 322 output group is missing. The CPU and the field actuator use two separate supplies. Verify terminals 1L+/1M (and 2L+/2M on a 16-channel module) carry 20.4–28.8 V DC before doing any software work.
How do I confirm that HW Config matches the physical module?
In STEP 7 open Hardware, navigate to the IM 153-2 in the PROFIBUS-DP tree, and compare every slot's order number with the label printed on the installed module. Save & Compile, then Download to Target. A single character difference in the order number silently disables the output.
What does an SF LED on the SM 322 mean?
Group fault. The SM has raised a diagnostic entry, typically wire-break, missing load voltage, short circuit, or parameter error. Open PLC > Diagnostic/Setting > Diagnostic Buffer on the CPU to read the precise event.
How do I find double assignment of an output address?
Open Reference Data > Display > Cross-References in STEP 7 Manager and search for the suspect address. Multiple write accesses (W) on the same address confirm the collision; remove or reassign the redundant writer.
Is the output address the same as the slot number?
No. The slot determines the module type and channel count; the start address is set in the Addresses tab of HW Config and is independent of the physical slot. Two ET 200M stations can carry modules with overlapping slot positions but must have non-overlapping start addresses.
Does an output in CPU STOP retain its last value?
Only if the SM is configured with substitute value = LAST VALUE and the CPU is in STOP. A PROFIBUS failure while the CPU is in RUN usually forces the outputs to 0. For safety applications use SM 326F modules wired to a safety relay.