DataSetMetaData describe the content of DataSetMessages published by a DataSetWriter. More specifically, it specifies the names and data types of the values that shall appear in the Payload of a DataSetMessage.
When the DataSetMetaData of a DataSet changes, the DataSetWriter may be configured to publish the updated value through the mechanism defined by the transport protocol mapping.
The DataSetWriterId and Version fields in a DataSetMessage are used to correlate a DataSetMessage with a DataSetMetaData.
A NetworkMessage with MessageType DataSetMetaData is a JSON object with the fields defined in Table 165.
Table 165 – JSON DataSetMetaData definition
Name |
Type |
Description |
MessageId |
String |
A globally unique identifier for the message. This value is mandatory. |
MessageType |
String |
This value shall be “ua-metadata”. This value is mandatory. |
PublisherId |
String |
A unique identifier for the Publisher. It identifies the source of the message. This value is mandatory. |
DataSetWriterId |
UInt16 |
An identifier for DataSetWriter which published the DataSetMetaData. This value is mandatory. It is unique within the scope of a Publisher. |
DataSetWriterName |
String |
The name of the DataSetWriter. This value is optional. The presence of the value depends on the setting in the JsonDataSetMessageContentMask. |
Timestamp |
UtcTime |
When the message was first sent to the middleware. This value is mandatory. |
MetaData |
DataSetMetaDataType |
The metadata as defined in 6.2.3.2.3. This value is mandatory. |
All fields with a concrete DataType are encoded using reversible OPC UA JSON Data Encoding defined in OPC 10000-6.