6 Information Models

This chapter describes the identifiers, types and structure of the objects and methods that are used to implement the OPC UA mappers defined in this part. This implementation serves three purposes:
- support of the safe exchange of SPDUs at runtime
- online browsing, to identify SafetyConsumers and SafetyProviders, and to check their parameters for diagnostic purposes
- offline engineering: the information model of one controller can be exported in a standardized file on its engineering system, be imported in another engineering system, and finally deployed on another controller. This allows for a vendor-independent exchange of the communication interfaces of safety applications, e.g., for establishing connections between devices. IMPORTANT NOTE:
Neither online browsing nor offline engineering currently supports any features to detect errors. Hence, no guarantees with respect to functional safety are made. This means that online browsing can only be used for diagnostic purposes, and not for exchanging safety-relevant data. In the context of offline engineering, the programmer of the safety application is responsible for the verification and validation of the safety application. It must be assumed that errors may occur during the transfer of the information model from one engineering system to another.
As a consequence, all type values described in this clause are defined as read-only, i.e., they can not be written by general OPC UA write commands.
6.1 Object and ObjectType Definitions

6.1.6 Objects SafetyProviderParameters and SafetyConsumerParameters

Figure 9 shows the safety parameters for the SafetyProvider and the SafetyConsumer.
Figure 9 – OPC UA Safety Parameters for the SafetyProvider and the SafetyConsumer.
Table 13 – SafetyProviderParametersType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | SafetyProviderParametersType | ||||
IsAbstract | False | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of BaseObjectType | |||||
HasProperty | Variable | SafetyProviderIDConfigured | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyProviderIDActive | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyBaseIDConfigured | Guid | PropertyType | Mandatory |
HasProperty | Variable | SafetyBaseIDActive | Guid | PropertyType | Mandatory |
HasProperty | Variable | SafetyProviderLevel | Byte | PropertyType | Mandatory |
HasProperty | Variable | SafetyStructureSignature | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyStructureSignatureVersion | UInt16 | PropertyType | Mandatory |
HasProperty | Variable | SafetyStructureIdentifier | String | PropertyType | Mandatory |
HasProperty | Variable | SafetyProviderDelay | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyServerImplemented | Boolean | PropertyType | Mandatory |
HasProperty | Variable | SafetyPubSubImplemented | Boolean | PropertyType | Mandatory |
Conformance Units | |||||
SafetyProviderParameters |
NOTE: Refer to Clause 7.3.2. for more details on the Safety Parameter Interface (SPI) of the SafetyProvider.
NOTE: The parameters for SafetyProviderID and SafetyBaseID exist in pairs for “Configured” and “Active” states:
- SafetyProviderIDConfigured and SafetyProviderIDActive,
-
SafetyBaseIDConfigured and SafetyBaseIDActive. The “[…]Configured” parameters shall always deliver the values as configured via the SPI. The “[…]Active” parameters shall deliver
- the corresponding “[…]Configured” values if the system is still offline;
- the values which have been set during runtime via the SAPI parameters (SafetyProviderID, SafetyBaseID);
- the corresponding “[…]Configured” values if the active values have been set to zero via the SAPI parameters (SafetyProviderID, SafetyBaseID). The Property SafetyBaseIDConfigured is shared for all SafetyProviders with the same SafetyBaseIDConfigured value. If multiple instances of SafetyObjectsType are running on the same node, it is a viable optimization that a property “SafetyBaseIDConfigured” is referenced by multiple SafetyProviders and/or SafetyConsumers.
For releases up to Release 2.0 of the specification, the value for the SafetyStructureSignatureVersion shall be 0x0001 (see RQ8.18 in 8.1.3.4).
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | SafetyConsumerParametersType | ||||
IsAbstract | False | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of BaseObjectType | |||||
HasProperty | Variable | SafetyProviderIDConfigured | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyProviderIDActive | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyBaseIDConfigured | Guid | PropertyType | Mandatory |
HasProperty | Variable | SafetyBaseIDActive | Guid | PropertyType | Mandatory |
HasProperty | Variable | SafetyConsumerIDConfigured | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyConsumerIDActive | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyProviderLevel | Byte | PropertyType | Mandatory |
HasProperty | Variable | SafetyStructureSignature | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyStructureSignatureVersion | UInt16 | PropertyType | Optional |
HasProperty | Variable | SafetyStructureIdentifier | String | PropertyType | Optional |
HasProperty | Variable | SafetyConsumerTimeout | UInt32 | PropertyType | Mandatory |
HasProperty | Variable | SafetyOperatorAckNecessary | Boolean | PropertyType | Mandatory |
HasProperty | Variable | SafetyErrorIntervalLimit | UInt16 | PropertyType | Mandatory |
HasProperty | Variable | SafetyClientImplemented | Boolean | PropertyType | Mandatory |
HasProperty | Variable | SafetyPubSubImplemented | Boolean | PropertyType | Mandatory |
Conformance Units | |||||
SafetyConsumerParameters |
NOTE: Refer to Clause 7.4.3. for more details on the Safety Parameter Interface (SPI) of the SafetyConsumer.
NOTE: The parameters for SafetyProviderID, SafetyBaseID and SafetyConsumerID exist in pairs for “Configured” and “Active” states:
- SafetyProviderIDConfigured and SafetyProviderIDActive,
- SafetyBaseIDConfigured and SafetyBaseIDActive,
-
SafetyConsumerIDConfigured and SafetyConsumerIDActive. The “[…]Configured” parameters shall always deliver the values as configured via the SPI. The “[…]Active” parameters shall deliver
- the corresponding “[…]Configured” values if the system is still offline;
- the values which have been set during runtime via the SAPI parameters (SafetyProviderID, SafetyBaseID, SafetyConsumerID);
- the corresponding “[…]Configured” values if the active values have been set to zero via the SAPI parameters (SafetyProviderID, SafetyBaseID, SafetyConsumerID). NOTE: The nodes SafetyStructureIdentifier and SafetyStructureSignatureVersion are optional, because SafetyStructureSignature is typically calculated in an offline engineering tool. For small devices, it might be beneficial to only upload the SafetyStructureSignature to the device, but not SafetyStructureIdentifier and SafetyStructureSignatureVersion in order to save bandwidth and/or memory.