SF_AntivalentPermalink

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

SF_Antivalent

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.

Table 1069: FB name: SF_Antivalent

Name

Data type

Initial value

Description, parameter values

VAR_INPUT

Activate

BOOL

FALSE

⮫ Table 1058 “General input parameters”

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

⮫ Table 1059 “General output parameters”

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.

⮫ Table 1059 “General output parameters”

Error

BOOL

FALSE

⮫ Table 1059 “General output parameters”

DiagCode

WORD

16#0000

⮫ Table 1059 “General output parameters”

Typical timing diagrams

Fig. 480: Typical timing diagram for SF_Antivalent

SF_Antivalent_TimingDiagram_1

Fig. 481: Typical timing diagram for SF_Antivalent with exceeding the DiscrepancyTime

SF_Antivalent_TimingDiagram_2

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

Table 1070: FB-specific error 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

Table 1071: FB-specific status codes (no error):

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