The QosDataTypes defined in the following chapters are used in the DatagramQos parameter in different datagram specific transport protocol mapping settings.
The DatagramQos contains an array of QosDataTypes. The array is null or empty if no QoS related parameters are set.
The DatagramQos parameter is always combined with a QosCategory parameter. Depending on the content of the QosCategory String, different elements need to be present within the DatagramQos array.
The specific processing of the QosCategory and DatagramQos content is described in 5.4.5.4.
Standard QosCategory values are defined in Table 103.
Table 103 – Standard QosCategory values
QosCategory |
Description |
Null or empty
|
This category indicates best-effort is used. DatagramQos shall be null or empty.
|
Opc.qos.cat://priority |
This category indicates priority is used. DatagramQos shall contain one element of TransmitQosPriorityDataType or ReceiveQosPriorityDataType and optionally further elements which may be omitted. |
This Structure DataType is an abstract base type for Structures with QoS related parameters. The QosDataType is formally defined in Table 104.
Table 104 – QosDataType structure
Name |
Type |
Description |
QosDataType |
Structure |
|
The QosDataType Structure representation in the AddressSpace is defined in Table 105.
Table 105 – QosDataType definition
Attributes |
Value |
BrowseName |
QosDataType |
IsAbstract |
True |
Subtype of Structure defined in OPC 10000-5. |
|
Conformance Units |
|
PubSub Parameters QoS |
This Structure DataType is an abstract base type for Structures with transmit QoS related parameters. The TransmitQosDataType is formally defined in Table 106.
Table 106 – TransmitQosDataType structure
Name |
Type |
Description |
TransmitQosDataType |
Structure |
|
The TransmitQosDataType Structure representation in the AddressSpace is defined in Table 107.
Table 107 – TransmitQosDataType definition
Attributes |
Value |
BrowseName |
TransmitQosDataType |
IsAbstract |
True |
Subtype of QosDataType defined in 6.4.1.1.2. |
|
Conformance Units |
|
PubSub Parameters QoS |
The PriorityLabel with DataType String specifies the priority of the according sender. The network stack will use the PriorityLabel to look up the priority settings for the transport protocol headers.
The priority labels defined by OPC UA should have the following form:
opc.qos.lbl://<label>
Example values are “opc.qos.lbl://low” or “opc.qos.lbl://high”. The mapping is described in 5.4.5.4.
Note: This version does not define concrete labels. The engineering process needs to provide them and also build up the PriorityMappingTable in OPC 10000-22 accordingly.
This Structure DataType is used to represent the priority lable specific transmit QoS parameters. It is a subtype of the TransmitQosDataType defined in 6.4.1.1.3.
The TransmitQosPriorityDataType is formally defined in Table 108.
Table 108 – TransmitQosPriorityDataType structure
Name |
Type |
Description |
TransmitQosPriorityDataType |
Structure |
Subtype of TransmitQosDataType defined in 6.4.1.1.3. |
PriorityLabel |
String |
Defined in 6.4.1.1.4.1. |
Its representation in the AddressSpace is defined in Table 109.
Table 109 – TransmitQosPriorityDataType definition
Attributes |
Value |
BrowseName |
TransmitQosPriorityDataType |
IsAbstract |
False |
Subtype of TransmitQosDataType defined in 6.4.1.1.3. |
|
Conformance Units |
|
PubSub Parameters QoS |
This Structure DataType is an abstract base type for Structures with receive QoS related parameters. The ReceiveQosDataType is formally defined in Table 110.
Table 110 – ReceiveQosDataType structure
Name |
Type |
Description |
ReceiveQosDataType |
Structure |
|
The ReceiveQosDataType Structure representation in the AddressSpace is defined in Table 111.
Table 111 – ReceiveQosDataType definition
Attributes |
Value |
BrowseName |
ReceiveQosDataType |
IsAbstract |
True |
Subtype of QosDataType defined in 6.4.1.1.2. |
|
Conformance Units |
|
PubSub Parameters QoS |
The PriorityLabel with DataType String specifies the priority of the according sender.
Futher details are defined in 6.4.1.1.4.1.
This Structure DataType is used to represent the priority lable specific receive QoS parameters. It is a subtype of the ReceiveQosDataType defined in 6.4.1.1.5.
The ReceiveQosPriorityDataType is formally defined in Table 112.
Table 112 – TransmitQosPriorityDataType structure
Name |
Type |
Description |
ReceiveQosPriorityDataType |
Structure |
Subtype of ReceiveQosDataType defined in 6.4.1.1.5. |
PriorityLabel |
String |
Defined in 6.4.1.1.6.1. |
Its representation in the AddressSpace is defined in Table 113.
Table 113 – ReceiveQosPriorityDataType definition
Attributes |
Value |
BrowseName |
ReceiveQosPriorityDataType |
IsAbstract |
False |
Subtype of ReceiveQosDataType defined in 6.4.1.1.5. |
|
Conformance Units |
|
PubSub Parameters QoS |
The DiscoveryAddress parameter contains the network address information used for the discovery probe and announcement messages. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
This Structure DataType is used to represent the datagram specific transport mapping parameters for PubSubConnections. It is a subtype of the ConnectionTransportDataType defined in 6.2.7.5.2.
The DatagramConnectionTransportDataType is formally defined in Table 114.
Table 114 – DatagramConnectionTransportDataType structure
Name |
Type |
Description |
Allow Subtypes |
DatagramConnectionTransportDataType |
Structure |
Subtype of ConnectionTransportDataType defined in 6.2.6.4. |
|
DiscoveryAddress |
NetworkAddressDataType |
Defined in 6.4.1.2.1. The NetworkAddressDataType is defined in 6.2.7.5.3. |
True |
Its representation in the AddressSpace is defined in Table 115.
Table 115 – DatagramConnectionTransportDataType definition
Attributes |
Value |
BrowseName |
DatagramConnectionTransportDataType |
IsAbstract |
False |
Subtype of ConnectionTransportDataType defined in 6.2.7.5.2. |
|
Conformance Units |
|
PubSub Parameters Datagram |
The DiscoveryAnnounceRate with DataType UInt32 defines the interval in seconds used for cyclic sending of discovery announcement messages related to this connection.
The default value is 0 and defines that discovery announcement messages are only sent as response to discovery probe messages.
The DiscoveryMaxMessageSize with DataType UInt32 indicates the maximum size in bytes for NetworkMessages created for discovery. It refers to the size of the complete NetworkMessage including padding and signature without any additional headers added by the transport protocol mapping. If the size of a NetworkMessage exceeds the DiscoveryMaxMessageSize, the behaviour depends on the message mapping.
The default value is 0 and defines that the default size for the transport protocol ist used. The default size is defined for the transport protocol mappings in 7.3.
NOTE The value for the DiscoveryMaxMessageSize should be configured in a way that ensures that NetworkMessages together with additional headers added by the transport protocol are still smaller than or equal than the transport protocol MTU.
Selects the general category of QoS the PubSubConnection requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
The DatagramQos parameter contains QoS related parameters for the PubSubConnection as array of QosDataType Structures. The abstract DataType is defined in 6.4.1.1.2. The concrete subtypes are used to represent different QoS settings for transmit and receive that can be combined in the array.
The parameter shall be null or empty if no QoS related parameters are set.
This Structure DataType is used to represent the datagram specific transport mapping parameters for a PubSubConnection.
It is a subtype of the DatagramConnectionTransportDataType defined in 6.4.1.2.2.
The DatagramConnectionTransport2DataType is formally defined in Table 116.
Table 116 – DatagramConnectionTransport2DataType structure
Name |
Type |
Description |
Allow Subtypes |
DatagramConnectionTransport2DataType |
Structure |
Subtype of ConnectionTransportDataType defined in 6.2.6.4. |
|
DiscoveryAnnounceRate |
UInt32 |
Defined in 6.4.1.2.3. |
|
DiscoveryMaxMessageSize |
UInt32 |
Defined in 6.4.1.2.4. |
|
QosCategory |
String |
Defined in 6.4.1.2.5. |
|
DatagramQos |
QosDataType[] |
Defined in 6.4.1.2.6. |
True |
Its representation in the AddressSpace is defined in Table 117.
Table 117 – DatagramConnectionTransport2DataType definition
Attributes |
Value |
BrowseName |
DatagramConnectionTransport2DataType |
IsAbstract |
False |
Subtype of DatagramConnectionTransportDataType defined in 6.4.1.2.2. |
|
Conformance Units |
|
PubSub Parameters Datagram |
The MessageRepeatCount with DataType Byte defines how many times every NetworkMessage is repeated. The default value is 0 and disables the repeating.
The MessageRepeatDelay with DataType Duration defines the time between NetworkMessage repeats in milliseconds. The parameter shall be ignored if the parameter MessageRepeatCount is set to 0.
This Structure DataType is used to represent the datagram specific transport mapping parameters for WriterGroups. It is a subtype of the WriterGroupTransportDataType defined in 6.2.6.7.2.
The DatagramWriterGroupTransportDataType is formally defined in Table 118.
Table 118 – DatagramWriterGroupTransportDataType structure
Name |
Type |
Description |
DatagramWriterGroupTransportDataType |
Structure |
Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
MessageRepeatCount |
Byte |
Defined in 6.4.1.3.1. |
MessageRepeatDelay |
Duration |
Defined in 6.4.1.3.2. |
Its representation in the AddressSpace is defined in Table 119.
Table 119 – DatagramWriterGroupTransportDataType definition
Attributes |
Value |
BrowseName |
DatagramWriterGroupTransportDataType |
IsAbstract |
False |
Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
|
Conformance Units |
|
PubSub Parameters Datagram |
The Address parameter contains the network address information for the communication middleware related to the WriterGroup. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
The parameter shall be null if an address is not set at this level. If the parameter is set, it overwrites the Address on the PubSubConnection.
Selects the general category of QoS the WriterGroup requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
The DatagramQos parameter contains QoS related parameters for the WriterGroup as array of TransmitQosDataType Structures. The abstract TransmitQosDataType is defined in 6.4.1.1.3. The concrete subtypes are used to represent different QoS settings that can be combined in the array.
The parameter shall be null or empty if no QoS related parameters are set.
The DiscoveryAnnounceRate with DataType UInt32 defines the interval in seconds used for cyclic sending of discovery announcement messages related to the WriterGroup.
The default value is 0 and defines that discovery announcement messages are only sent as response to discovery probe messages.
The Topic parameter with DataType String contains the unique name of the data stream produced by the WriterGroup within a Message Oriented Middleware.
A unique default name can be created by combining the PublisherId with the WriterGroupId using ‘.’ As separator.
This Structure DataType is used to represent the datagram specific transport mapping parameters for WriterGroups. It is a subtype of the DatagramWriterGroupTransportDataType defined in 6.4.1.3.3.
The DatagramWriterGroupTransportDataType is formally defined in Table 120.
Table 120 – DatagramWriterGroupTransport2DataType structure
Name |
Type |
Description |
Allow Subtypes |
DatagramWriterGroupTransport2DataType |
Structure |
Subtype of DatagramWriterGroupTransportDataType defined in 6.4.1.3.3. |
|
Address |
NetworkAddressDataType |
Defined in 6.4.1.3.4. |
True |
QosCategory |
String |
Defined in 6.4.1.3.5. |
|
DatagramQos |
TransmitQosDataType[] |
Defined in 6.4.1.3.6. |
True |
DiscoveryAnnounceRate |
UInt32 |
Defined in 6.4.1.3.7. |
|
Topic |
String |
Defined in 6.4.1.3.8. |
|
Its representation in the AddressSpace is defined in Table 121.
Table 121 – DatagramWriterGroupTransport2DataType definition
Attributes |
Value |
BrowseName |
DatagramWriterGroupTransport2DataType |
IsAbstract |
False |
Subtype of DatagramWriterGroupTransportDataType defined in 6.4.1.3.3. |
|
Conformance Units |
|
PubSub Parameters Datagram |
There are no datagram-specific transport mapping parameters defined for the ReaderGroup.
There are no datagram-specific transport mapping parameters defined for the DataSetWriter.
The Address parameter contains the network address information for the communication middleware related to the DataSetReader. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
The parameter shall be null if an address is not set at this level. If the parameter is set, it overwrites the Address on the PubSubConnection.
Selects the general categorty of QoS the DataSetReader requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
The DatagramQos parameter contains the QoS related parameters for the DataSetReader as array of ReceiveQosDataType Structures. The abstract ReceiveQosDataType is defined in 6.4.1.1.5. The concrete subtypes are used to represent different QoS settings that can be combined in the array.
The parameter shall be null or empty if no QoS related parameters are set.
The Topic parameter with DataType String contains the unique name of the data stream from the Publisher that contains the DataSetMessages of interest for the DataSetReader. The Topic is defined by the Publisher.
This Structure DataType is used to represent the datagram transport mapping parameters for DataSetReaders. It is a subtype of the DataSetReaderTransportDataType defined in 6.2.9.13.2.
The DatagramDataSetReaderTransportDataType is formally defined in Table 122.
Table 122 – DatagramDataSetReaderTransportDataType structure
Name |
Type |
Description |
Allow Subtypes |
DatagramDataSetReaderTransportDataType |
Structure |
Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. |
|
Address |
NetworkAddressDataType |
Defined in 6.4.1.6.1. |
True |
QosCategory |
String |
Defined in 6.4.1.6.2. |
|
DatagramQos |
ReceiveQosDataType[] |
Defined in 6.4.1.6.3. |
True |
Topic |
String |
Defined in 6.4.1.6.4. |
|
Its representation in the AddressSpace is defined in Table 123.
Table 123 – DatagramDataSetReaderTransportDataType definition
Attributes |
Value |
BrowseName |
DatagramDataSetReaderTransportDataType |
IsAbstract |
False |
Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. |
|
Conformance Units |
|
PubSub Parameters Datagram |