Errata exists for this version of the document.

bounding values determined by a calculation using the nearest value

Note 1 to entry: Simple Bounding Values using SlopedInterpolation are calculated as follows:

  • if any Raw value exists at the timestamp then it is the bounding value;
  • find the first Raw value before timestamp;
  • find the first Raw value after timestamp;
  • if the value after the timestamp is Bad then the before value is the bounding value;
  • draw a line between before value and after value;
  • use point where the line crosses the timestamp as an estimate of the bounding value.

The formula is the same as the one used for SlopedInterpolation in Clause 3.1.5.

If a Raw value at the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Uncertain the StatusCode is Uncertain_DataSubNormal. If the value after the timestamp is Bad or Uncertain the StatusCode is Uncertain_DataSubNormal.

Simple Bounding Values using SteppedInterpolation are calculated as follows:

  • if any Raw value exists at the timestamp then it is the bounding value;
  • find the first Raw value before timestamp;
  • if the value before timestamp is non-Bad then it is the bounding value.

If a Raw value at the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Uncertain the StatusCode is Uncertain_DataSubNormal.

If either bounding time of an interval is beyond the last data point then the Server may use extrapolation or return an error. If extrapolation is used by the server the type [SteppedExtrapolation or SloppedExtrapolation] of extrapolation is server specific.

In some Historians, the last Raw value does not necessarily indicate the end of the data. Based on the Historian's knowledge of the data collection mechanism, i.e. frequency of data updates and latency, the Historian may extend the last value to a time known by the Historian to be covered. When calculating Simple Bounding Values the Historian will act as if there is another Raw value at this timestamp.

In the same way, if the earliest time of an interval starts before the first data point in history and the latest time is after the first data point in history, then the interval will be treated as if the interval extends from the first data point in history to the latest time of the interval and the StatusCode of the interval will have the Partial bit set (see 5.3.3.2).

The period of time that is searched to discover the values before and after the timestamp is Server dependent, but if a value is not found within some reasonable time range then the Server will assume it does not exist. The Server as a minimum should search a time range which is at least the size of the ProcessingInterval.