The sourceTimestampis used to reflect the timestamp that was applied to a Variablevalue by the data source. Once a value has been assigned a source timestamp, the source timestamp for that value instance never changes. In this context, “value instance” refers to the value received, independent of its actual value.

The sourceTimestampshall be UTC time and should indicate the time of the last change of the valueor statusCode.

The sourceTimestampshould be generated as close as possible to the source of the value but the timestamp needs to be set always by the same physical clock. In the case of redundant sources, the clocks of the sources should be synchronized.

If the OPC UA Serverreceives the Variablevalue from another OPC UA Server, then the OPC UA Servershall always pass the source timestamp without changes. If the source that applies the timestamp is not available, the source timestamp is set to null. For example, if a value could not be read because of some error during processing like invalid arguments passed in the request then the sourceTimestamp shall be null.

In the case of a bad or uncertain status sourceTimestampis used to reflect the time that the source recognized the non-good status or the time the Serverlast tried to recover from the bad or uncertain status.

The sourceTimestampis only returned with a Value Attribute. For all other Attributesthe returned sourceTimestampis set to null.