The nature of OPC UA Historical Access requires that a single timestamp reference be used to relate the multiple data points, and the Client may request which timestamp will be used as the reference. See OPC 10000-4 for details on the TimestampsToReturn enumeration. An OPC UA Server supporting Historical Access will treat the various timestamp settings as described below. A HistoryRead with invalid settings will be rejected with Bad_TimestampsToReturnInvalid (see OPC 10000-4).
For HistoricalDataNodes, the SourceTimestamp is used to determine which historical data values are to be returned.
The request is in terms of SourceTimestamp but the reply could be in SourceTimestamp, ServerTimestamp or both timestamps. If the reply has the Server timestamp the timestamps could fall outside of the range of the requested time.
SOURCE_0 Return the SourceTimestamp.
SERVER_1 Return the ServerTimestamp.
BOTH_2 Return both the SourceTimestamp and ServerTimestamp.
NEITHER_3 This is not a valid setting for any HistoryRead accessing HistoricalDataNodes.
Any reference to timestamps in this context throughout this standard will represent either ServerTimestamp or SourceTimestamp as dictated by the type requested in the HistoryRead Service. Some Servers may not support historizing both SourceTimestamp and ServerTimestamp, but it is expected that all Servers will support historizing SourceTimestamp (see OPC 10000-7 for details on Server Profiles).
If a request is made requesting both ServerTimestamp and SourceTimestamp and the Server is only collecting the SourceTimestamp the Server shall return Bad_TimestampsToReturnInvalid.
For HistoricalEventNodes this parameter does not apply. This parameter is ignored since the entries returned are dictated by the Event Filter. See OPC 10000-4 for details.