4 Aggregate Information Model
4.2 Aggregate Objects
4.2.2 AggregateFunction Object
4.2.2.1 General
This Object is used as the browse entry point for information about the Aggregates supported by a Server. The content of this Object is already defined by its type definition. All Instances of the FolderType use the standard BrowseName of ‘AggregateFunctions’. The HasComponent Reference is used to relate a ServerCapabilities Object and/or any HistoricalServerCapabilities Object to an AggregateFunction Object. AggregateFunctions is formally defined in Table 3.
Table 3 – Aggregate Functions Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | AggregateFunctions | ||||
References | Node Class |
BrowseName | DataType | TypeDefinition | ModellingRule |
HasTypeDefinition | Object Type |
FolderType | Defined in OPC 10000-5 |
Each ServerCapabilities and HistoricalServerCapabilities Object shall reference an AggregateFunction Object. In addition, each HistoricalConfiguration Object belonging to a HistoricalDataNode may reference an AggregateFunction Object using the HasComponent Reference.
4.2.2.2 AggregateFunctionType
This ObjectType defines an Aggregate supported by a UA Server. This Object is formally defined in Table 4.
Table 4 – AggregateFunctionType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | AggregateFunctionType | ||||
IsAbstract | False | ||||
References | Node Class |
BrowseName | DataType | Type Definition | Mod. Rule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
For the AggregateFunctionType, the Description Attribute (inherited from the Base NodeClass), is mandatory. The Description Attribute provides a localized description of the Aggregate.
Table 5 specifies the BrowseName and Description Attributes for the standard Aggregate Objects. The description is the localized “en” text. For other locales it shall be translated.
Table 5 – Standard AggregateType Nodes
BrowseName | Description |
---|---|
Interpolation Aggregate | |
Interpolative | At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. |
Average | Retrieve the average value of the data over the interval. |
TimeAverage | Retrieve the time weighted average data over the interval using Interpolated Bounding Values. |
TimeAverage2 | Retrieve the time weighted average data over the interval using Simple Bounding Values. |
Total | Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. |
Total2 | Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. |
Minimum | Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. |
Maximum | Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. |
MinimumActualTime | Retrieve the minimum value in the interval and the timestamp of the minimum value. |
MaximumActualTime | Retrieve the maximum value in the interval and the timestamp of the maximum value. |
Range | Retrieve the difference between the minimum and maximum value over the interval. |
Minimum2 | Retrieve the minimum value in the interval including the Simple Bounding Values. |
Maximum2 | Retrieve the maximum value in the interval including the Simple Bounding Values. |
MinimumActualTime2 | Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. |
MaximumActualTime2 | Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. |
Range2 | Retrieve the difference between the Minimum2 and Maximum2 value over the interval. |
Count | Retrieve the number of raw values over the interval. |
DurationInStateZero | Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. |
DurationInStateNonZero | Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. |
NumberOfTransitions | Retrieve the number of changes between zero and non-zero that a Boolean or numeric value experienced in the interval. |
Start | Retrieve the value at the beginning of the interval. |
End | Retrieve the value at the end of the interval. |
Delta | Retrieve the difference between the Start and End value in the interval. |
StartBound | Retrieve the value at the beginning of the interval using Simple Bounding Values. |
EndBound | Retrieve the value at the end of the interval using Simple Bounding Values. |
DeltaBounds | Retrieve the difference between the StartBound and EndBound value in the interval using Simple Bounding Values. |
DurationGood | Retrieve the total duration of time in the interval during which the data is Good. |
DurationBad | Retrieve the total duration of time in the interval during which the data is Bad. |
PercentGood | Retrieve the percentage of data (0 to 100) in the interval which has Good StatusCode. |
PercentBad | Retrieve the percentage of data (0 to 100) in the interval which has Bad StatusCode. |
WorstQuality | Retrieve the worst StatusCode of data in the interval. |
WorstQuality2 | Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. |
AnnotationCount | Retrieve the number of Annotations in the interval (applies to Historical Aggregates only). |
StandardDeviationSample | Retrieve the standard deviation for the interval for a sample of the population (n-1). |
VarianceSample | Retrieve the variance for the interval as calculated by the StandardDeviationSample. |
StandardDeviation Population | Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. |
VariancePopulation | Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. |