[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 7originating 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