IntroductionPermalink

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.

Generic parameters and diagnostic codes of PLCopen Safety POUs are presented below.

Table 1058: General input parameters

Name

Type

Description

Activate

BOOL

Variable or constant.

Activation of the FB. Initial value is FALSE.

This parameter can be connected to the variable, which represents the status (active or not active) of the relevant safety device. This ensures no irrelevant diagnostic information is generated if a device is disabled.

If FALSE, all output variables are set to the initial values.

If no device is connected, a static TRUE signal must be assigned.

S_StartReset

BOOL

Variable or constant.

FALSE (= initial value): Manual reset when PES is started (warm or cold).

TRUE: Automatic reset when PES is started (warm or cold).

This function shall only be activated if it is ensured that no hazard can occur at the start of the PES. Therefore, the use of the automatic circuit reset feature of the function blocks requires implementation of other system or application measures to ensure that unexpected (or unintended) start-up does not occur.

S_AutoReset

BOOL

Variable or constant.

FALSE (= initial value): Manual reset when emergency stop button is released.

TRUE: Automatic reset when emergency stop button is released.

This function shall only be activated if it is ensured that no restart of the machine can occur through release of the emergency stop button. Therefore the use of the Automatic Circuit Reset feature of the function blocks requires implementation of other system or application measures to ensure that unexpected (or unintended) restart of the machine does not occur.

Reset

BOOL

Variable. Initial value is FALSE.

Depending on the function, this input can be used for different purposes:

  • Reset of the state machine, coupled error and status messages as indicated via DiagCode, when the error cause has been removed. This reset behavior is designed as an acknowledge that the error is removed.

  • Manual reset of a "restart interlock" by the operator (refer to EN 954-1). This reset behavior is designed as a functional reset.

  • Additional FB-specific reset functions.

This function is only active on a signal change from FALSE to TRUE. A static TRUE signal causes no further actions, but may be detected as an error in some FBs.

The appropriate meaning must be described in every FB.

Table 1059: General output parameters

Name

Type

Description

Ready

BOOL

If TRUE, indicates that the FB is activated and the output results are valid (same as the "POWER" LED of a safety relay). If FALSE, the FB is not active and the program is not executed. Useful in debug mode or to activate/deactivate additional FBs, as well as for further processing in the functional program.

SafetyDemand

BOOL

Optional output indicating that the FB is active and the primary safety function is demanded (e.g., related to the safety functionality). Other safety related input parameters are not considered (e.g., SafetyActive and EDM). The safety loop is not closed and the safe state is demanded for the related safety output. There is no error.

TRUE: Safety demand

FALSE: No Safety demand

ResetRequest

BOOL

Optional output which can be used to signal the operator to press the reset functionality to continue.

TRUE: Reset requested

FALSE: Reset not requested

Error

BOOL

Error flag (same as "K1/K2" LED of a safety relay). When TRUE, indicates that an error has occurred, and the FB is in an error state. The relevant error state is mirrored at the DiagCode output.

If FALSE, there is no error and the FB is in another state. This again is mirrored by DiagCode (this means that DiagCode must be set in the same cycle as the state change).

Useful in debug mode as well as for further processing in the functional program.

DiagCode

WORD

Diagnostic register.

All states of the FB (active, not active and error) are represented by this register. This information is encoded in hexadecimal format in order to represent more than 16 codes. Only one consistent code is represented at the same time. In the event of multiple errors, the DiagCode output indicates the first detected error.

⮫ Table 1060 “General diagnostic code ranges”⮫ Table 1061 “System or device-specific codes”⮫ Table 1062 “General diagnostic codes”

Useful in debug mode as well as for further processing in the functional program.

A transparent and unique diagnostic concept forms the basis of all function blocks. Thus, it is ensured, that, regardless of the supplier's implementation, uniform diagnostic information is available to the user in the form of DiagCode. If no error is present, the internal status of the function block (state machine) is indicated. An error is indicated via a binary output (error). Detailed information about internal or external function block errors can be obtained via DiagCode. The function block must be reset via the different reset inputs.

Suppliers may add additional interfaces via function blocks with supplier-specific diagnostic information.

Table 1060: General diagnostic code ranges

DiagCode

Description

0000_0000_0000_0000bin

The FB is not activated or safety CPU is halted.

10xx_xxxx_xxxx_xxxxbin

Shows that the activated FB is in an operational state without an error.

x = FB-specific code.

11xx_xxxx_xxxx_xxxxbin

Shows that the activated FB is in an error state.

x = FB-specific code.

Table 1061: System or device-specific codes

DiagCode

Description

0xxx_xxxx_xxxx_xxxxbin

x = system or device-specific message. This information contains the diagnostic information for the system or device, and is mapped directly to the DiagCode output. (Note: 0000hex is reserved)

For all function blocks the following DIAG codes will be used in order to make the evaluation in software easier and more straightforward coupled to the outputs SafetyDemand and ResetRequest.

Table 1062: General diagnostic codes

DiagCode

Description

0000_0000_0000_0000bin

0000hex

The FB is not activated. This code represents the Idle state.

For a generic example, the I/O setting could be:

Activate = FALSE

S_In = FALSE or TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0000_0000_0000bin

8000hex

The FB is activated without an error or any other condition that sets the safety output to FALSE. This is the default operational state where the S_Out safety output = TRUE in normal operation. For a generic example, the I/O setting could be:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0100_0000_0001bin

8401hex

An activation has been detected by the FB and the FB is now activated, but the S_Out safety output is set to FALSE. This code represents the Init state of the operational mode. For a generic example, the I/O setting could be:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = TRUE

1000_0100_0000_0001bin

8801hex

An activation has been detected by the FB and the FB is now activated, but the S_Out safety output is set to FALSE. This code represents the Init state of the operational mode. For a generic example, the I/O setting could be:

Activate = TRUE

S_In = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE

ResetRequest = FALSE

1000_1000_0000_0010bin

8802hex

The activated FB detects a safety demand, e.g., S_In = FALSE. The safety output is disabled. This is an operational state where the S_Out safety output = FALSE. For a generic example, the I/O setting could be:

Activate = TRUE

S_In = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE

ResetRequest = FALSE

Note: The detected safety demand refers to the states that are not IDLE or SAFESTATE.

1000_0100_0000_0011bin

8403hex

The safety output of the activated FB has been disabled by a safety demand. The safety demand is now withdrawn, but the safety output remains FALSE until a reset condition is detected. This is an operational state where the S_Out safety output = FALSE. For a generic example, the I/O setting could be:

Activate = TRUE

S_In = FALSE => TRUE (continuing with static TRUE)

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE ==> FALSE

ResetRequest = R