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.2 Safety ObjectType definitions

[RQ6.5] To reduce the number of variations and to alleviate validation testing, the following restrictions apply to instances of SafetyProviderType and SafetyConsumerType (or instances of types derived from SafetyProviderType or SafetyConsumerType):
The references shown in Figure 7 originating at SafetyProviderType or SafetyConsumerType and below shall be of type HasComponent (and shall not be derived from HasComponent) for object references or HasProperty (and shall not be derived from HasProperty) for property references. As BrowseNames (i.e. name and namespace) are used to find methods, the names of objects and properties shall be locally unique. The DataType of both Properties and MethodArguments shall be used as specified, and no derived DataTypes shall be used (exception: OutSafetyData and OutNonSafetyData). In OPC UA, the sequence of MethodArguments is relevant.
Table 5 – SafetyObjectsType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | SafetyObjectsType | ||||
IsAbstract | True | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of BaseObjectType | |||||
Conformance Units | |||||
SafetySupport |
Table 6 – SafetyProviderType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | SafetyProviderType | ||||
IsAbstract | False | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of SafetyObjectsType | |||||
HasComponent | Method | ReadSafetyData | Optional | ||
HasComponent | Method | ReadSafetyDiagnostics | Optional | ||
HasComponent | Object | SafetyPDUs | SafetyPDUsType | Optional | |
HasComponent | Object | Parameters | SafetyProviderParametersType | Mandatory | |
Conformance Units | |||||
SafetyProviderParameters |
Table 7 – SafetyConsumerType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | SafetyConsumerType | ||||
IsAbstract | False | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of SafetyObjectsType | |||||
HasComponent | Object | SafetyPDUs | SafetyPDUsType | Optional | |
HasComponent | Object | Parameters | SafetyConsumerParametersType | Mandatory | |
Conformance Units | |||||
SafetyConsumerParameters |