This object is mandatory for the profile SafetyProviderPubSubMapper and the profile SafetyConsumerPubSubMapper (see https://profiles.opcfoundation.org/). It is used by the SafetyProvider to subscribe to the RequestSPDU and to publish the ResponseSPDU. The data type of RequestSPDU is structured in the same way as the input arguments of ReadSafetyData. The data type of ResponseSPDU is structured in the same way as the output arguments of ReadSafetyData.
Both variables have a counterpart within the information model of the SafetyConsumer. The SafetyConsumer publishes the RequestSPDU and subscribes to the ResponseSPDU.
Table 11 – SafetyPDUsType Definition
Attribute |
Value |
||||
BrowseName |
SafetyPDUsType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType |
|||||
HasComponent |
Variable |
<RequestSPDU> |
RequestSPDUDataType |
BaseDataVariableType |
Mandatory Placeholder |
HasComponent |
Variable |
<ResponseSPDU> |
ResponseSPDUDataType |
BaseDataVariableType |
Mandatory Placeholder |
Conformance Units |
|||||
SafetyPDUs |
The object SafetyPDUS shall contain exactly one reference to a variable of a type RequestSPDUDataType and exactly one reference to a variable of a subtype of type ResponseSPDUDataType.
For example, Figure 5 shows a distributed safety application with four automation components. It is assumed that Automation Component 1 sends a value to the other three components using three SafetyProviders, each comprising a pair of SafetyPDUs. Note that for each recipient, there is an individual pair of SafetyPDUs.
Figure 5 – Safety Multicast with three recipients using OPC UA PubSub