The TimeAverage Aggregate defined in Table 17 uses Interpolated Bounding Values (see 3.1.8) to find the value of a point at the beginning and end of an interval. Starting at the starting bounding value a straight line is drawn between each value in the interval ending at the ending bounding value (see examples for illustrations). The area under the lines is divided by the length of the ProcessingInterval to yield the average. Note that this calculation always uses a sloped line between points; TimeAverage2 uses a stepped or sloped line depending on the value of the Stepped Property for the Variable.
If one or more Bad Values exist in the interval then they are omitted from the calculation and the StatusCode is set to Uncertain_DataSubNormal. Sloped lines are drawn between the Good values when calculating the area.
The time resolution used in this calculation is Server specific.
Table 17 – TimeAverage Aggregate summary
TimeAverage Aggregate Characteristics |
|
Type |
Calculated |
Data Type |
Double |
Use Bounds |
Interpolated |
Timestamp |
StartTime |
|
|
StatusCode Calculations |
|
Calculation Method |
Custom Good if no Bad values skipped and Good values are used, Uncertain if Bad values are skipped or if Uncertain values are used |
Partial |
Set Sometimes If an interval is not a complete interval |
Calculated |
Set Always |
Interpolated |
Not Set |
Raw |
Not Set |
Multi Value |
Not Set |
|
|
StatusCode Common Special Cases |
|
Before Start of Data |
Bad_NoData |
After End of Data |
Value extrapolated, Uncertain status |
No Start Bound |
Calculate Partial Interval |
No End Bound |
Extrapolate data, Uncertain status |
Bound Bad |
NA |
Bound Uncertain |
NA |