SF_Antivalent
Applicable Safety Standards
SF_Antivalent
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 antivalent SAFEBOOL
inputs (NO/NC
pair) 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 for NC connection
|
|
|
| Variable
Input for
|
|
|
| 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
"Antivalent" means that during normal operation, the two inputs are in opposite states at the same time. This is sometimes called "complementary" or "non-equivalent".
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_Antivalent

Functional Description
This function block converts two antivalent SAFEBOOL
inputs to one SAFEBOOL
output with discrepancy time monitoring. Both inputs are interdependent. The function block output shows the result of the evaluation of both channels.
If S_AntivalentOut
= TRUE
and one of the safety-related inputs changes, then the output immediately switches to FALSE
.
Discrepancy time monitoring: The discrepancy time is the maximum period during which both inputs may have the same 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 the same values 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 |
|
|
|
|
|
|
|
| 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_Antivalent

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_Antivalent

SF_Antivalent

Error Detection
The function block monitors the discrepancy time between Channel NO
and Channel NC
.
Error Behavior
The output S_AntivalentOut
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_AntivalentOut
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 inactive; waiting for the second channel to be switched to inactive too.
|