Table 23defines the ReadAtTimeDetails structure.

Table 23– ReadAtTimeDetails

Name

Type

Description

ReadAtTimeDetails

Structure

Specifies the details used to perform an “at time” history read.

reqTimes []

UtcTime

The entries define the specific timestamps for which values are to be read.

useSimpleBounds

Boolean

Use SimpleBounds to determine the value at the specific timestamp.

The ReadAtTimeDetails structure reads the values and qualities from the history database for the specified timestamps for one or more HistoricalDataNodes. This function is intended to provide values to correlate with other values with a known timestamp. For example, a Clientmay need to read the values of sensors when lab samples were collected.

The order of the values and qualities returned shall match the order of the timestamps supplied in the request.

When no value exists for a specified timestamp, a value shall be Interpolatedfrom the surrounding values to represent the value at the specified timestamp. The interpolation will follow the same rules as the standard Interpolated Aggregateas outlined inOPC 10000-13.

If the useSimpleBounds flag is True and Interpolation is required then simple bounding valueswill be used to calculate the data value. If useSimpleBounds is False and Interpolation is required then interpolated bounding valueswill be used to calculate the data value. SeeOPC 10000-13for the definition of simple bounding valuesand interpolated bounding values.

If a value is found for the specified timestamp, then the Serverwill set the StatusCode InfoBitsto be Raw. If the value is Interpolatedfrom the surrounding values, then the Serverwill set the StatusCode InfoBitsto be Interpolated.

If the read request is taking a long time to calculate then the Servermay return zero results with a ContinuationPointthat allows the Serverto resume the calculation on the next Client HistoryReadcall.

If the requested TimestampsToReturn is not supported for a Node, then the operation shall return the Bad_TimestampNotSupported StatusCode.