This is the web edition of the original ⮫ AC500-S safety user manual, version 1.3.2. This web edition is provided for quick reference only. The original safety user manual must be used to meet functional safety application requirements. |
Standards |
Requirements |
---|---|
ISO 13849-1:2015 |
6.2.6 Category 3 6.2.7 Category 4 Appendix E.1 |

This function block converts two antivalent BOOL inputs (NO/NC pair) to one BOOL 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 |
---|---|---|---|
VAR_INPUT |
|||
Activate |
BOOL |
FALSE |
|
S_ChannelNC |
BOOL |
FALSE |
Variable. NC stands for normally closed. Input for NC connection. FALSE: NC contact open. TRUE: NC contact closed. |
S_ChannelNO |
BOOL |
TRUE |
Variable. NO stands for normally open. Input for NO connection. FALSE: NO contact open TRUE: NO contact closed |
DiscrepancyTime |
TIME |
T#0ms |
Constant. Maximum monitoring time for discrepancy status of both inputs. |
VAR_OUTPUT |
|||
Ready |
BOOL |
FALSE |
|
S_AntivalentOut |
BOOL |
FALSE |
Safety related output. FALSE: Minimum of one input signal "not active" or status change outside of monitoring time. TRUE: Both inputs signals "active" and status change within monitoring time. |
SafetyDemand |
BOOL |
FALSE |
Optional. |
Error |
BOOL |
FALSE |
|
DiagCode |
WORD |
16#0000 |
Typical timing diagrams


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. If an error occurs in the inputs, one new set of inputs with the correct value must be able to reset the error flag. (Example: If a switch is faulty and replaced, using the switch again results in a correct output.)
Function block-specific error and status codes
DiagCode |
State name |
State description and output setting |
---|---|---|
C010 |
Error 1 |
Discrepancy time elapsed in state 8802. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = FALSE Error = TRUE |
C020 |
Error 2 |
Discrepancy time elapsed in state 8804. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = FALSE Error = TRUE |
C030 |
Error 3 |
Discrepancy time elapsed in state 8806. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = FALSE Error = TRUE |
DiagCode |
State name |
State description and output setting |
---|---|---|
0000 |
Idle |
The function block is not active (initial state). Ready = FALSE S_AntivalentOut = FALSE SafetyDemand = FALSE Error = FALSE |
8801 |
Init |
An activation has been detected by the FB and the FB is now activated. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = TRUE Error = FALSE |
8000 |
Safety Output Enabled |
The inputs switched to the Active state in antivalent mode. Ready = TRUE S_AntivalentOut = TRUE SafetyDemand = FALSE Error = FALSE |
8802 |
Wait for NO |
ChannelNC has been switched to TRUE - waiting for ChannelNO to be switched to FALSE; discrepancy timer started. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = TRUE Error = FALSE |
8804 |
Wait for NC |
ChannelNO has been switched to FALSE - waiting for ChannelNC to be switched to TRUE; discrepancy timer started. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = TRUE Error = FALSE |
8806 |
From Active Wait |
One channel has been switched to inactive - waiting for the second channel to be switched to inactive too. Ready = TRUE S_AntivalentOut = FALSE SafetyDemand = TRUE Error = FALSE |