[RQ6.15a] Each SafetyConsumer shall implement the parameters and constants [RQ6.15b] as shown in Table 26. The parameters (R/W in column “Access”) can be set via the SPI, whereas the constants (R in column “Access”) are read-only. The mechanisms for setting these parameters are vendor-specific. The attempt of setting a parameter to a value outside its range, or of the setting of a read-only parameter, shall not become effective, and a diagnostic message should be shown when appropriate. The SPI of the SafetyConsumer represents the parameters of the safety communication layer management of the SafetyConsumer. The values of the constants depend on the way the SafetyConsumer is implemented. They never change and are therefore not writable via any of the interfaces.

Table 26 – SPI of the SafetyConsumer

Identifier

Type

Valid range

Initial Value

(before configuration)

Access

Note

SafetyProviderIDConfigured

UInt32

0x0 - 0xFFFFFFFF

0x0

R/W

The SafetyProviderID of the SafetyProvider this SafetyConsumer normally connects to, see Figure 8 and 3.1.

For dynamic systems, the safety application program can overwrite this ID by providing a non-zero value at the input SafetyProviderID of the safety Consumer’s SAPI. This runtime value can be queried using the SafetyProviderIDActive parameter. See note on configured and active values at Table 13.

SafetyBaseIDConfigured

GUID

any value which can be represented with sixteen bytes.

All sixteen bytes are 0x00

R/W

The default SafetyBaseID of the SafetyProvider this SafetyConsumer uses to make a connection, see 3.1.

For dynamic systems, the safety application program can overwrite this ID by providing a non-zero value at the input SafetyBaseID of the SafetyConsumer’ s SAPI. This runtime value can be queried using the SafetyBaseIDActive parameter. See note on configured and active values at Table 13.

See 9.1.1 for more information on GUID.

SafetyConsumerIDConfigured

UInt32

0x0 - 0xFFFFFFFF

0x0

R/W

ID of the SafetyConsumer, see 9.1.2.

For dynamic systems, the safety application program can overwrite this ID by providing a non-zero value at the input SafetyConsumerID of the SafetyConsumer’s SAPI. This runtime value can be queried using the SafetyConsumerIDActive parameter. See note on configured and active values at Table 13.

SafetyProviderLevel

Byte

0x01 - 0x04

0x04

R/W

SafetyConsumer’s expectation on the SIL the SafetyProvider implementation (hardware & software) is capable of. See 3.1, 7.2.3.3, and Figure 9.

SafetyStructureSignature

UInt32

0x0 – 0xFFFFFFFF

0x0

R/W

Signature over the SafetyData structure, see 7.2.3.4

SafetyStructureSignatureVersion

UInt16

0x1

0x1

R/W

Version used to calculate SafetyStructureSignature, see 7.2.3.4

For the SafetyConsumer, this parameter is optional.

SafetyStructureIdentifier

String

“”

R/W

Identifier describing the data type of the safety data, see 7.2.3.4.

For the SafetyConsumer, this parameter is optional.

SafetyConsumerTimeout

UInt32

0x0 – 0xFFFFFFFF

0x0

R/W

Watchdog-time in microseconds (µs).

Whenever the SafetyConsumer sends a request to a SafetyProvider, its watchdog timer is set to this value. The expiration of this timer prior to receiving an error-free reply by the SafetyProvider indicates an unacceptable delay.

See 8.1

SafetyOperatorAckNecessary

Boolean

0x0 / 0x1

0x1

R/W

This parameter controls whether an operator acknowledgment (OA) is necessary in case of errors of type “unacceptable delay” or “loss”, or when the SafetyProvider has activated FSV (ActivateFSV). 1: FSV are provided at the output SafetyData of the SAPI until OA. 0: PV are provided at SafetyData of the SAPI as soon as the communication is free of errors. In case of ActivateFSV the values change from FSV to PV as soon as ActivateFSV returns to “0”.

NOTE This parameter does not have an influence on the behavior of the SafetyConsumer following the detection of other types of communication errors, such as data corruption or an error detected by the SPDU_ID. For these types of errors, OA is mandatory, see 6.3.4.3.

SafetyErrorIntervalLimit

UInt16

6, 60, 600

600

R/W

Value in minutes.

The parameter SafetyErrorIntervalLimit determines the minimal time interval between two consecutive communication errors so that they do not trigger a switch to FSV in the SafetyConsumer, see 6.3.4.3.

It affects the availability and the PFH/PFDavg of the safety communication link according to this document, see 9.4.

SafetyClientImplemented

Boolean

0x0 / 0x1

n.a.

R

This read-only parameter indicates whether the SafetyConsumer has implemented the client part of OPC UA Client/Server communication (see 5.4):

1: Client for OPC UA Client/Server communication is implemented.

0: Client for OPC UA Client/Server communication is not implemented.

The corresponding facet is SafetyConsumerClient.

SafetyPubSubImplemented

Boolean

0x0 / 0x1

n.a.

R

This read-only parameter indicates whether the SafetyConsumer has implemented the necessary publishers and subscribers for OPC UA PubSub communication (see 5.4):

1: OPC UA PubSub communication is implemented.

0: OPC UA PubSub communication is not implemented.

The corresponding facets are SafetyConsumerPubSub and SafetyConsumerPubSubMapper.