Errata exists for this version of the document.
A DataValue is always preceded by a mask that indicates which fields are present in the stream.
The fields of a DataValue are described in Table 16.
Table 16 – Data Value Binary DataEncoding
Name |
Data Type |
Description |
||||||||||||
Encoding Mask |
Byte |
A bit mask that indicates which fields are present in the stream. The mask has the following bits:
|
||||||||||||
Value |
Variant |
The value. Not present if the Value bit in the EncodingMask is False. |
||||||||||||
Status |
StatusCode |
The status associated with the value. Not present if the StatusCode bit in the EncodingMask is False. |
||||||||||||
SourceTimestamp |
DateTime |
The source timestamp associated with the value. Not present if the SourceTimestamp bit in the EncodingMask is False. |
||||||||||||
SourcePicoSeconds |
UInt16 |
The number of 10 picosecond intervals for the SourceTimestamp. Not present if the SourcePicoSeconds bit in the EncodingMask is False. If the source timestamp is missing the picoseconds are ignored. |
||||||||||||
ServerTimestamp |
DateTime |
The Server timestamp associated with the value. Not present if the ServerTimestamp bit in the EncodingMask is False. |
||||||||||||
ServerPicoSeconds |
UInt16 |
The number of 10 picosecond intervals for the ServerTimestamp. Not present if the ServerPicoSeconds bit in the EncodingMask is False. If the Server timestamp is missing the picoseconds are ignored. |
The Picoseconds fields store the difference between a high-resolution timestamp with a resolution of 10 picoseconds and the Timestamp field value which only has a 100 ns resolution. The Picoseconds fields shall contain values less than 10 000. The decoder shall treat values greater than or equal to 10 000 as the value ‘9999’.