Problem: F-I/O Access Rejection on SFDOOR Inputs
During commissioning of an ET 200S fail-safe I/O station controlled by an F-CPU 1516-3 PN/DP (6ES7516-3AN02-0AB0), engineers routinely wire safety-door interlock switches into the 4/8 F-DI 24VDC HF electronic module and assign the two input signals directly to the IN1 and IN2 parameters of the SFDOOR function block from the Safety Function Library. With TIA Portal V13 (Update 9 and similar versions), the safety program is rejected with the diagnostic entry:
F-I/O access 'Safety_Door_SW2' accesses a channel of the F-I/O that is either disabled or cannot be used.
The same string is raised for the second instance, e.g.:
F-I/O access 'S6004EmrPushbuttonChB' accesses a channel of the F-I/O that is either disabled or cannot be used.
Both faults point to the same root mechanism: PROFIsafe rejects a logical F-channel combination that is not permitted by the module's hardware evaluation model. Channel tagging, slot assignment, and PROFIsafe address configuration may all appear correct in the device view, but the F-runtime still refuses to bind the symbol to the F-I/O.
Affected Hardware and Software Stack
| Component | Identification | Notes |
|---|---|---|
| F-CPU | SIMATIC S7-1516F-3 PN/DP (6ES7516-3AN02-0AB0) | Firmware V2.6 and later; uses PROFIsafe V2.6.1 over PROFINET IO |
| Interface module | IM 151-1 / IM 151-3 PN (ET 200S) | Backplane for F-electronic modules |
| Fail-safe DI | 4/8 F-DI 24VDC HF (ET 200S family, 6ES7138-4FA series) | 8 channels organised in two groups of 4 |
| Fail-safe DO | 4 F-DO 24VDC/2A (ET 200S) | Often used downstream for door-magnet release |
| Engineering | TIA Portal V13 / V13 SP1 / V14 with F-option package | Safety Function Library version must match TIA Portal minor version |
The diagnostic and channel-grouping rules for the related F-DI 8x24VDC HF (6ES7136-6BA01-0CA0) of the ET 200SP family and the 4/8 F-DI/4 F-DO DC24V/2A PROFIsafe digital electronic module in ET 200pro follow the same evaluation logic and are documented in the Fail-Safe Modules Manual Collection and the F-DI 8x24VDC HF device manual.
Root Cause: Channel-Group Architecture vs Sensor Evaluation
The 4/8 F-DI 24VDC HF has eight physical input channels split into two input groups:
- Group 1: Channels 0, 1, 2, 3
- Group 2: Channels 4, 5, 6, 7
A 1oo2 (one-out-of-two) sensor evaluation requires the two F-channels to be adjacent and belong to the same group. Valid 1oo2 pairs are therefore (0,1), (2,3), (4,5), and (6,7). The pair (0,4) used in the original configuration straddles the two groups and is not a legal PROFIsafe channel pair. The F-CPU detects this at compile/runtime and refuses the binding, which surfaces as the "disabled or cannot be used" message.
Sensor Evaluation: 1oo1, 1oo2, and 2-Channel Equivalent
Siemens safety blocks distinguish between two physical sensor wirings. Selecting the wrong mode for the wiring you have is the most common cause of the fault.
| Mode | Physical wiring | Channel pair allowed | Achievable safety class | Use case |
|---|---|---|---|---|
| 1oo1 evaluation | One sensor, one F-DI channel | Any single channel (0-7) | SIL 2 / PL d (cat. 3) when wired and parameterised correctly | Single contact, e.g. magnetic reed on a guard |
| 1oo2 evaluation | Two contacts in the same switch (cross-fault monitored) | Adjacent only: (0,1), (2,3), (4,5), (6,7) | SIL 3 / PL e (cat. 4) | Dual-channel E-stop or interlock |
| 2-channel independent (two F-blocks) | Two independent single-channel sensors | Any two channels, including across groups | Same as 1oo1 per channel | Two separate doors feeding the same safety function |
If you need two independent sensor signals at channels 0 and 4, you are not implementing a 1oo2 sensor pair - you are implementing two 1oo1 evaluations. Drop a second instance of the block and configure each with 1oo1.
(0,1) or (4,5). Re-mapping at the terminal strip is the cleanest fix; it removes the need to re-engineer the safety program.SFDOOR Block Interface Recap
The SFDOOR block (Safety Function Library > Safety > Door Monitoring) is a Type 3 / Type 5 safety block per IEC 61131-3 with the following input surface:
| Parameter | Direction | Data type | Meaning |
|---|---|---|---|
| IN1 | IN | F-type BOOL (F-channel tag) | Sensor channel A (or single channel in 1oo1) |
| IN2 | IN | F-type BOOL (F-channel tag) | Sensor channel B (only used in 1oo2) |
| ACK_NEC | IN | BOOL | 1 = manual acknowledgment required after discrepancy |
| ACK | IN | BOOL | Manual reset edge |
| SS_1, SS_2 | IN | F-BOOL | Optional start/restart inhibit inputs |
| Q_Door | OUT | BOOL | 1 = door closed (safety demand satisfied) |
| Q_DOOR_OPEN | OUT | BOOL | 1 = door open, release possible |
| QAckop | OUT | BOOL | Acknowledgement requested |
| DiagCode | OUT | WORD | Block-internal diagnostic code |
Critical detail: IN1 and IN2 must be F-symbols generated by TIA Portal from the F-I/O configuration. Assigning a non-F tag or a tag whose channel is "disabled / cannot be used" triggers the F-runtime fault. The compiler does not always reveal this - the F-runtime does, the first time the safety program is downloaded and the F-CPU is restarted.
Solution Path A: Two Independent 1oo1 Evaluations
Use this path when the two sensors are physically separate devices (e.g. a guard-door switch on channel 0 and a magnetic interlock on channel 4) and no cross-fault monitoring between them is required.
- Open the F-DI device view in TIA Portal.
- For channel 0, set Sensor evaluation = 1oo1 evaluation, Type of sensor interconnection = Single-channel.
- For channel 4, set Sensor evaluation = 1oo1 evaluation.
- Leave Discrepancy time = default 1000 ms (not used in 1oo1).
- In the safety program, replace the single
SFDOORblock with two instances:SFDOOR_Door1(IN1 <- Ch0 tag) andSFDOOR_Door2(IN1 <- Ch4 tag). - Combine the two
Q_Dooroutputs with an F-AND or F-Vote block if a single safety function must close only when both doors are closed. - Recompile the safety program (right-click > Compile > Software (rebuild all)).
Solution Path B: 1oo2 Evaluation with Adjacent Channels
Use this path when the sensor is a true dual-channel switch (e.g. a 3-terminal Euchner CKS or Schmersal RSS 36) and SIL 3 / PL e is required.
- Re-wire the switch into an adjacent pair. Choose
(0,1)for group 1 or(4,5)for group 2 based on terminal strip layout. - Open the F-DI device view and select the lower channel of the pair (e.g. channel 0).
- Set Sensor evaluation = 1oo2 evaluation, Type of sensor interconnection = 2-channel equivalent (or 2-channel non-equivalent if the switch is wired NC/NO).
- Set Discrepancy time to the value dictated by your risk assessment. Typical: 100 ms - 1000 ms. Below 100 ms risks nuisance trips from contact bounce; above 3000 ms violates IEC 62061 response-time constraints in most machinery applications.
- Enable Short-circuit test (test pulse from the module) only if you use sourcing outputs without external short-circuit detection. Disable it if you are using a switch that requires continuous power.
- Verify that the second channel of the pair automatically inherits the 1oo2 setting in the channel table.
Step-by-Step Reconfiguration in TIA Portal V13
- Open the project and select the ET 200S station in the project tree.
- Double-click the 4/8 F-DI module to open the device view.
- Switch to Properties > I/O addresses and confirm the F-channel tags are generated. The default symbolic names follow the pattern
I_{Slot}_CH{ChNo}, e.g.I_4_CH0andI_4_CH4. - Switch to Properties > Module parameters. Select the offending channel pair and apply the corrected evaluation mode per Solution Path A or B above.
- If the F-channel tags do not refresh, perform the Re-Tag procedure: clear the Tag for the active channel field (set to <none>), apply, then re-assign the symbolic tag. This forces the F-shim to rebuild the channel descriptor table.
- Save and recompile the project. The "F-I/O access ... disabled or cannot be used" diagnostic should disappear from the compile log.
- Download the hardware configuration and the safety program to the F-CPU. Use the menu Online > Download to device and confirm the safety password prompt.
- Run the F-CPU through one STOP > RUN cycle to re-initialise the PROFIsafe channels.
Verification
- Open Online & diagnostics > Diagnostic buffer of the F-CPU. Confirm there are no new entries containing "F-I/O" or "PROFIsafe".
- Open Watch table_1 (or create a new one) and force the safety tags (password required). Verify that:
- Setting
I_4_CH0= 1 updatesSFDOOR_Door1.IN1with no diagnostic interruption. - Setting
I_4_CH4= 1 updatesSFDOOR_Door2.IN1with no diagnostic interruption. - For 1oo2 mode, forcing channels out of the discrepancy window (e.g. Ch0 = 1, Ch1 = 0) raises a discrepancy diagnostic and trips
Q_Doorto 0 after the configured discrepancy time elapses.
- Setting
- Open the F-IO DB and confirm the QBAD (quality bad) bit for each bound channel is 0.
- Open Online & diagnostics > Safety > Status of the F-CPU. The safety summary must read "Safety mode active" with no channel errors.
- Document the wiring, the parameter set, and the discrepancy time in the safety validation report per ISO 13849-2 / IEC 62061.
Diagnostic Buffer Entries You Will See
| Entry text (abridged) | Meaning | Typical cause | Action |
|---|---|---|---|
| F-I/O access '<tag>' accesses a channel of the F-I/O that is either disabled or cannot be used | F-shim cannot bind symbol to F-I/O | Wrong channel pair for 1oo2; channel disabled; channel used by a different evaluation | Reconfigure evaluation per Path A or B |
| PROFIsafe communication error F-CPU <n> | PROFIsafe V2 watchdog / CRC error | Wrong F-destination address, subslot mismatch, or wiring | Verify F-address in device properties, check PROFINET name |
| Discrepancy error at F-DI channel <x> | Two channels of a 1oo2 pair differ beyond discrepancy time | Contact wear, wiring, or setpoint too tight | Raise discrepancy time or replace sensor |
| Short-circuit at F-DI channel <x> | Test pulse detected a short | Sensor wiring short, missing terminator | Inspect wiring; check that short-circuit test is configured appropriately |
Hardware Re-Tag Recovery (Field-Proven Workaround)
On TIA Portal V13 Update 9 (and the V13 SP1 family), engineers have observed a behaviour in which the F-channel binding cache is not invalidated when the channel's Sensor evaluation is changed in place. The symptom is the same diagnostic as the original fault, even after the correct mode is selected. The recovery is to force the F-shim to re-derive the channel tag:
- Open the module's Properties > Module parameters.
- For the affected channel, clear the Tag for the active channel field (set to <none>) and click Apply.
- Re-select the symbolic tag (e.g.
Safety_Door_SW2_IN1) from the drop-down. - Click Apply, save the project, recompile, and download.
This clears the cached channel descriptor and forces a fresh PROFIsafe slot/subslot binding. The fault clears in the compile log and at the next F-CPU restart.
Common Pitfalls and Field Lessons
-
Mistaking two independent sensors for a 1oo2 pair. If each sensor has its own wiring and no cross-fault monitoring is required, use two 1oo1 instances. Do not pick 1oo2 just because the safety block has an
IN2input. - Wiring into a non-adjacent pair. Channel 0 and channel 4 are not a legal 1oo2 pair. Always check the module's channel diagram; on the 4/8 F-DI it is group (0,1,2,3) + group (4,5,6,7).
- Discrepancy time too aggressive. 0 ms or sub-50 ms values cause nuisance tripping from contact bounce. Use 100 ms as a minimum, 300-1000 ms for most electromechanical switches.
- Short-circuit test left on with sourcing sensors. If the sensor is a 3-wire PNP device that is permanently powered, the test pulse can cause a transient loss of sensor voltage and create a false discrepancy. Disable the test pulse or use a sensor that tolerates the 1 ms interruption.
- Re-tagging not performed after parameter change. TIA Portal V13 sometimes retains the old channel descriptor; always re-tag the active channel after a parameter change, or the diagnostic will persist.
- Mixing F-IO and standard IO on the same slot descriptor. Each F-channel can only be bound to one safety block at a time. Reusing the same F-symbol in two blocks will fail the compile.
- PROFIsafe address mismatch. The F-destination address (1..65535) configured in TIA Portal must match the rotary switch / DIP on the physical module, otherwise the F-IO stays in passivation with a similar "channel disabled" appearance.
Cross-Reference: ET 200SP F-DI 8x24VDC HF
The same evaluation logic applies to the F-DI 8x24VDC HF (6ES7136-6BA01-0CA0) in the ET 200SP family, which supports additional operating modes ("Digital inputs", "Counter", "Standstill and Overspeed") as documented in the F-DI 8x24VDC HF device manual. When an F-DI 8x is configured in Standstill and Overspeed mode, the relevant channel pair is reserved by that function and cannot be used by SFDOOR - this manifests with the identical "disabled or cannot be used" diagnostic. Always confirm the channel's operating mode in the device view before re-tagging.
Putting It Together: Decision Matrix
| If your wiring is ... | And your safety class is ... | Configure SFDOOR as ... | Channel choice |
|---|---|---|---|
| Two independent single-channel sensors | SIL 2 / PL d | Two 1oo1 instances | Any (0+4 is fine) |
| One dual-channel switch, cross-fault monitored | SIL 3 / PL e | One 1oo2 instance | Adjacent pair only: (0,1), (2,3), (4,5), (6,7) |
| One dual-channel switch, no cross-fault | SIL 2 / PL d | One 1oo1 using channel 0, channel 1 unused or free | Any single channel |
| Two sensors feeding one safety function with voting | SIL 2 / PL d | Two 1oo1 + F-AND/F-Vote | Any two channels |
FAQ
Why does the F-CPU reject channels 0 and 4 with a 1oo2 evaluation?
The 4/8 F-DI 24VDC HF organises its 8 inputs into two groups of 4 (0-3 and 4-7). A 1oo2 pair must be adjacent and inside the same group. Channels 0 and 4 cross the group boundary, so the PROFIsafe shim refuses the binding. Use adjacent channels such as (0,1) or (4,5), or switch to two independent 1oo1 instances if the wiring is genuinely two separate sensors.
Do I have to use the SFDOOR block, or can I use the SFDOOR variant with integrated start-up test?
The Safety Function Library ships both SFDOOR (basic) and SFDOOR_S (with start-up test). Both blocks share the same IN1/IN2 evaluation rules. Pick the variant that matches your safety requirements; the channel-pair constraint is identical for both.
What is a reasonable discrepancy time for a 1oo2 evaluation?
For electromechanical safety switches (E-stop, guard-door), 100 ms to 1000 ms is typical. Below 100 ms the contacts do not have time to settle, above 3000 ms the safety function response time may violate the risk assessment's PFHd budget. Use 300 ms as a safe default unless your sensor datasheet specifies otherwise.
I re-tagged the channel, recompiled, and the fault is still there. What now?
Check the F-destination address (F-source address on the F-CPU side, F-destination on the F-DI side) and the PROFINET device name. A wrong F-address puts the F-IO in passivation, which surfaces as a similar "channel disabled" state. Also confirm that the same F-channel is not already bound to a different safety block instance.
Will this fix also apply to ET 200SP F-DI 8x24VDC HF and ET 200pro 4/8 F-DI?
Yes. The 1oo2 channel-pair adjacency rule, the "disabled or cannot be used" diagnostic, and the re-tag recovery procedure are common to all Siemens F-DI modules that use PROFIsafe V2.x. The ET 200SP variant adds additional operating modes (Counter, Standstill and Overspeed) that further restrict which channels are available to the safety function blocks.