SF_Equivalent
Applicable Safety Standards
SF_Equivalent
is a certified PLCopen function block. For detailed information about the applied standards , see: "PLCopen – Technical Committee 5 – Safety Software"
Important
The requirements which are listed in the standards must be met by the user.
Interface Description
This function block converts two equivalent SAFEBOOL
inputs (both NO
or NC
) to one SAFEBOOL
output with discrepancy time monitoring. This FB should not be used stand-alone since it has no restart interlock. It is required to connect the output to other safety related functionalities.
Name | Data Type | Initial Value | Description, Parameter Values |
---|---|---|---|
|
|
| |
|
|
| Variable Input
|
|
|
| Variable Input
|
|
|
| Constant Maximum monitoring time for discrepancy status of both inputs The cautionary note "DiscrepancyTime" must be observed. |
DiscrepancyTime
Applies to developers in Extended Level: The DiscrepancyTime
input must be activated with a constant value. As a result, the value must not be changed for the calls.
Name | Data Type | Initial Value | Description, Parameter Values |
---|---|---|---|
|
|
| |
|
|
| Safety-related output
|
|
|
| |
|
|
| |
|
|
| See Diagnostic Codes |
Tip
For certain (lower) levels of safety requirements, it can be allowed to use BOOL
as inputs and SAFEBOOL
as output. However, this has to be evaluated via the FMEA of the application. In the library, there should be made a distinction between the SAFEBOOL
and BOOL
version.
SF_Equivalent

Functional Description
This function block converts two equivalent SAFEBOOL
inputs (both NO
or NC
) to one SAFEBOOL
output with discrepancy time monitoring. Both channels are interdependent. The function block output shows the result of the evaluation of both channels.
If the channel signal changes from TRUE
to FALSE
, the output immediately switches to FALSE
for safety reasons.
Discrepancy time monitoring: The discrepancy time is the maximum period during which both inputs may have different states without the function block detecting an error. Discrepancy time monitoring starts when the status of an input changes. The function block detects an error when both inputs have different states once the discrepancy time has elapsed.
Both inputs must be switched symmetrically. This means that monitoring is performed for both inputs for switching from TRUE
to FALSE
as well as for switching from FALSE
to TRUE
.
Inputs | Outputs | |||||||
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
| Not started |
|
|
|
|
|
|
|
| Not started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
|
|
| Not started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
|
|
| Not started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
|
|
| Started |
|
|
|
|
|
Tip
In the logic table, an arrow -> stands for a transition. TRUE -> FALSE
means that the value of the variable has changed from TRUE
to FALSE
.
State diagram
SF_Equivalent

Tip
The transition from any state to the Idle
state due to Activate = FALSE
is not shown. However these transitions have the highest priority.
Typical Timing Diagrams
SF_Equivalent

SF_Equivalent

Error Detection
The function block monitors the discrepancy time between channel S_ChannelA
and channel S_ChannelB
, when switching to TRUE
as well as switching to FALSE
.
Error Behavior
The output S_EquivalentOut
is set to FALSE
. Error
is set to TRUE
. DiagCode
indicates the Error states. There is no Reset defined as an input coupled with the reset of an error. As soon as a Set of input values with the correct S_EquivalentOut
is present, Error
is FALSE
again.
FB-Specific Error and State Codes
| State Name | State Description and Output Setting |
---|---|---|
|
| Discrepancy time elapsed in state
|
|
| Discrepancy time elapsed in state
|
|
| Discrepancy time elapsed in state
|
| State Name | State Description and Output Setting |
---|---|---|
|
| The function block is not active (initial state).
|
|
| An activation has been detected by the FB and the FB is now activated.
|
|
| The inputs are switched to
|
|
|
|
|
|
|
|
| One channel has been switched to
|