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
|