Errata exists for this version of the document.
A DataSetMessage is produced by a DataSetWriter and contains list of name/value pairs which are specified by the PublishedDataSet associated with the DataSetWriter. The contents of the DataSetMessage are formally described by a DataSetMetData Objects. A DataSetMessage is a JSON object with the fields defined in Table 92.
DataSetWriters may periodically provide keep-alive messages which are DataSetMessages without any Payload field.
Table 92 – JSON DataSetMessage Definition
Name |
Type |
Description |
DataSetWriterId |
String |
An identifier for DataSetWriter which created the DataSetMessage. This value is mandatory. It is unique within the scope of a Publisher. |
SequenceNumber |
UInt32 |
A strictly monotonically increasing sequence number assigned to the DataSetMessage by the DataSetWriter. This value is optional. The presence of the value depends on the setting in the JsonDataSetMessageContentMask. |
MetaDataVersion |
ConfigurationVersionDataType |
The version of the DataSetMetaData which describes the contents of the Payload. This value is optional. The presence of the value depends on the setting in the JsonDataSetMessageContentMask. |
Timestamp |
DateTime |
A timestamp which applies to all values contained in the DataSetMessage. This value is optional. The presence of the value depends on the setting in the JsonDataSetMessageContentMask. |
Status |
StatusCode |
A status code which applies to all values contained in the DataSetMessage. This value is optional. The presence of the value depends on the setting in the JsonDataSetMessageContentMask. |
Payload |
Object |
A JSON object containing the name-value pairs specified by the PublishedDataSet. The format of the value depends on the DataType of the field and the flags specified by the DataSetMessageContentMask. |
All fields with a concrete DataType are encoded using reversible OPC UA JSON Data Encoding defined in OPC 10000-6.
The fields in the DataSetMessage are specified by the DataSetFieldContentMask in the DataSetWriter parameters.
DataSetFieldContentMask specifies the format of the field values in the Payload according to the following rules:
- If the DataSetFieldContentMask results in a RawData representation, the field value is a Variant encoded using the non-reversible OPC UA JSON Data Encoding defined in OPC 10000-6.
- If the DataSetFieldContentMask results in a DataValue representation, the field value is a DataValue encoded using the non-reversible OPC UA JSON Data Encoding defined in OPC 10000-6.
- If the DataSetFieldContentMask results in a Variant representation, the field value is encoded as a Variant encoded using the reversible OPC UA JSON Data Encoding defined in OPC 10000-6.