Resolving F-I/O Access Error on Siemens 4/8 F-DI with SFDOOR

David Krause12 min read
Safety SystemsSiemensTroubleshooting
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

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.

Safety implication. The safety program will not be marked as executable and the F-CPU remains in STOP / safety mode disabled until the F-I/O binding is corrected. Do not bypass with a standard (non-F) tag.

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.

Input Group 1 (channels 0-3) Ch 0 Ch 1 Ch 2 Ch 3 Valid 1oo2: (0,1) (2,3) Input Group 2 (channels 4-7) Ch 4 Ch 5 Ch 6 Ch 7 Valid 1oo2: (4,5) (6,7) Invalid 1oo2: (0,4) crosses groups

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.

If the application genuinely requires 1oo2 cross-fault monitoring (e.g. SIL 3 / PL e with a single dual-channel switch), re-wire the switch into an adjacent channel pair such as (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.

  1. Open the F-DI device view in TIA Portal.
  2. For channel 0, set Sensor evaluation = 1oo1 evaluation, Type of sensor interconnection = Single-channel.
  3. For channel 4, set Sensor evaluation = 1oo1 evaluation.
  4. Leave Discrepancy time = default 1000 ms (not used in 1oo1).
  5. In the safety program, replace the single SFDOOR block with two instances: SFDOOR_Door1 (IN1 <- Ch0 tag) and SFDOOR_Door2 (IN1 <- Ch4 tag).
  6. Combine the two Q_Door outputs with an F-AND or F-Vote block if a single safety function must close only when both doors are closed.
  7. 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.

  1. 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.
  2. Open the F-DI device view and select the lower channel of the pair (e.g. channel 0).
  3. Set Sensor evaluation = 1oo2 evaluation, Type of sensor interconnection = 2-channel equivalent (or 2-channel non-equivalent if the switch is wired NC/NO).
  4. 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.
  5. 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.
  6. 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

  1. Open the project and select the ET 200S station in the project tree.
  2. Double-click the 4/8 F-DI module to open the device view.
  3. 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_CH0 and I_4_CH4.
  4. Switch to Properties > Module parameters. Select the offending channel pair and apply the corrected evaluation mode per Solution Path A or B above.
  5. 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.
  6. Save and recompile the project. The "F-I/O access ... disabled or cannot be used" diagnostic should disappear from the compile log.
  7. 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.
  8. Run the F-CPU through one STOP > RUN cycle to re-initialise the PROFIsafe channels.

Verification

  1. Open Online & diagnostics > Diagnostic buffer of the F-CPU. Confirm there are no new entries containing "F-I/O" or "PROFIsafe".
  2. Open Watch table_1 (or create a new one) and force the safety tags (password required). Verify that:
    • Setting I_4_CH0 = 1 updates SFDOOR_Door1.IN1 with no diagnostic interruption.
    • Setting I_4_CH4 = 1 updates SFDOOR_Door2.IN1 with 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_Door to 0 after the configured discrepancy time elapses.
  3. Open the F-IO DB and confirm the QBAD (quality bad) bit for each bound channel is 0.
  4. Open Online & diagnostics > Safety > Status of the F-CPU. The safety summary must read "Safety mode active" with no channel errors.
  5. 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:

  1. Open the module's Properties > Module parameters.
  2. For the affected channel, clear the Tag for the active channel field (set to <none>) and click Apply.
  3. Re-select the symbolic tag (e.g. Safety_Door_SW2_IN1) from the drop-down.
  4. 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 IN2 input.
  • 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.

Back to blog