6.2.3 DataType definition

6.2.3.1 InFlagsType

The InFlagsType a subtype of the Byte DataType with the OptionSetValues Property defined. The InFlagsType is formally defined in Table 14.

CommunicationError can be used as a trigger, e.g. for a communication analysis tool. It is not forwarded to the safety application by the SafetyProvider. If CommunicationError is necessary in the safety application, bidirectional communication can be implemented and the value of CommunicationError can be put into the user data.

Table 14 – InFlagsType values
ValueBit no.Description
CommunicationError0

0: No error

1: An error was detected in the previous ResponseSPDU.

OperatorAckRequested1Used to inform the SafetyProvider that operator acknowledgment is requested.
FSV_Activated2Used for conformance test of SafetyConsumer.SAPI.FSV_Activated.

Bits 3 to 7 are reserved for future use and shall be set to zero by the SafetyConsumer. They shall not be evaluated by the SafetyProvider.

The InFlagsType representation in the AddressSpace is defined in Table 15.

Table 15 – InFlagsType dDefinition
AttributeValue
BrowseNameInFlagsType
IsAbstractFalse
ReferencesNodeClassBrowseNameDataTypeTypeDefinitionOther
Subtype of the Byte DataType defined in OPC 10000-3
0:HasPropertyVariable0:OptionSetValues0:LocalizedText []0:PropertyType
Conformance units
SafetySupport
6.2.3.2 OutFlagsType

The OutFlagsType is a subtype of the Byte DataType with the OptionSetValues Property defined. The OutFlagsType is formally defined in Table 16.

Table 16 – OutFlagsType values
ValueBit no.Description
OperatorAckProvider0Operator acknowledgment at the provider, hereby forwarded to the SafetyConsumer, see OperatorAckProvider in the SAPI of the SafetyProvider, 6.3.3.2.
ActivateFSV1Activation of fail-safe values by the safety application at the SafetyProvider, hereby forwarded to the SafetyConsumer, see ActivateFSV in the SAPI of the SafetyProvider, 6.3.3.2.
TestModeActivated2Enabling and disabling of test mode in the SafetyProvider, hereby forwarded to the SafetyConsumer, see EnableTestMode in the SAPI of the SafetyProvider, 6.3.3.2.

Bits 3 to 7 are reserved for future use and shall be set to zero by the SafetyProvider. They shall not be evaluated by the SafetyConsumer.

The OutFlagsType representation in the AddressSpace is defined in Table 17.

Table 17 – OutFlagsType dDefinition
AttributeValue
BrowseNameOutFlagsType
IsAbstractFalse
ReferencesNodeClassBrowseNameDataTypeTypeDefinitionOther
Subtype of the Byte DataType defined in OPC 10000-3
0:HasPropertyVariable0:OptionSetValues0:LocalizedText []0:PropertyType
Conformance units
SafetySupport
6.2.3.3 RequestSPDUDataType

Table 18 shows the definition of the RequestSPDUDataType. The Prefix “In” is interpreted from the SafetyProvider’s point of view and is used in a consistent manner to the parameters of the Method ReadSafetyData (see 6.2.2.3).

Table 18 – RequestSPDUDataType structure
NameTypeDescription
RequestSPDUDataTypestructure
InSafetyConsumerIDUInt32See corresponding Method argument in Table 7.
InMonitoringNumberUInt32See corresponding Method argument in Table 7.
InFlagsInFlagsTypeSee corresponding Method argument in Table 7.

The representation in the AddressSpace of the RequestSPDUDataType is defined in Table 19.

Table 19 – RequestSPDUDataType definition
AttributesValue
BrowseNameRequestSPDUDataType
IsAbstractFalse
ReferencesNodeClassBrowseNameDataTypeTypeDefinitionModellingRule
Subtype of Structure defined in OPC 10000-3.
Conformance units
SafetyPDUs
6.2.3.4 ResponseSPDUDataType

Table 20 shows the ResponseSPDUDataType Structure. The Prefix “Out” is interpreted from the SafetyProvider’s point of view and is used in a consistent manner to the parameters of the Method ReadSafetyData (see 6.2.2.3).

Table 20 – ResponseSPDUDataType structure
NameTypeDescription
ResponseSPDUDataTypestructure
OutFlagsOutFlagsTypeSee corresponding Method argument in Table 7.
OutSPDU_ID_1UInt32See corresponding Method argument in Table 7.
OutSPDU_ID_2UInt32See corresponding Method argument in Table 7.
OutSPDU_ID_3UInt32See corresponding Method argument in Table 7.
OutSafetyConsumerIDUInt32See corresponding Method argument in Table 7.
OutMonitoringNumberUInt32See corresponding Method argument in Table 7.
OutCRCUInt32See corresponding Method argument in Table 7.

[RQ6.7] To define the concrete DataType for the ResponseSPDU (which specifies the concrete DataTypes for SafetyData and NonSafetyData, respectively), proceed as follows: (1) Derive a concrete DataType from the abstract ResponseSPDUDataType. (2) In doing so, add the following fields to the Structure in the given order: (a) First, field OutSafetyData with the concrete Structure DataType for the SafetyData (see 7.2.1.5). (b) Second, field NonSafetyData with the concrete Structure DataType for the NonSafetyData (or a placeholder DataType, see requirement RQ6.8).

[RQ6.8] To avoid possible problems with empty Structures, the dummy Structure NonSafetyDataPlaceholder shall be used as DataType for OutNonSafetyData when no NonSafetyData is used. The DataType Node defining this Structure has a fixed NodeID and contains a single Boolean.

The representation in the AddressSpace of the ResponseSPDUDataType is defined in Table  21.

Table  21 – ResponseSPDUDataType definition
AttributesValue
BrowseNameResponseSPDUDataType
IsAbstractTrue
ReferencesNodeClassBrowseNameDataTypeTypeDefinitionModellingRule
Subtype of Structure defined in OPC 10000-3
Conformance units
SafetyPDUs
6.2.3.5 NonSafetyDataPlaceholderDataType

Table 22 shows the definition of the NonSafetyDataPlaceholderDataType. The receiver shall not evaluate the value of ‘dummy’.

Table 22 – NonSafetyDataPlaceholderDataType structure
NameTypeDescription
NonSafetyDataPlaceholderDataTypeStructure
DummyBooleanDummy Variable to avoid empty structures.