BACnet Averaging Object: Properties and Datatypes Overview
The Averaging object is described by the BACnet standard as a recording medium of visible value characteristicsover a specific time interval.These specific sampled values may take the following forms in the object:
- Boolean
- Integer
- Unsigned
- Enumerated
- Real
The following table will present the actual properties and associated datatypes of the Averaging object from theBACnet standard:
Property | Datatype |
Object_Identifier | BACnet Object Identifier |
Object_Name | Character String |
Object_Type | BACnet Object Type |
Minimum_Value | Real |
Minimum_Value_Timestamp | BACnet Date Time |
Average_Value | Real |
Variance_Value | Real |
Maximum_Value | Real |
Maximum_Value_Timestamp | BACnet Date Time |
Description | Character String |
Attempted_Samples | Unsigned |
Valid_Samples | Unsigned |
Object_Property_Reference | BACnet Device Object Property Reference |
Window_Interval | Unsigned |
Window_Samples | Unsigned |
Profile_Name | Character String |
The developer should pay particular attention to the following properties of this object:
- Window_Interval property
- Window_Samples property
- Object_Property_Reference property
The Window_Interval property indicates the period of time, usually in seconds which the minimum, maximum, andaverage values are calculated.
The Window_Samples property represents the number of samples to be taken during the timeperiod within theWindow_Interval property. In addition, the Window_Samples must be greater than zero and all implementationsshould support at least 15 samples. The sample may represent an instant or continuously calculated sample, whichwill be considered a matter for the developer.
The Object_Property_Reference property identifies the object and property whose value will be sample during theWindow_Interval. The referenced object may reside in the device that contains the Averaging object or withinother supported devices.
The Averaging object uses a specialized technique referred by the standard as a "sliding window" thatmaintains a buffer of samples distributed over the specified time interval. At every time interval a new sampleis replaces the oldest sample from the buffer.
The buffer maintains an indication for each sample that permits the average calculation and minimum/maximumalgorithm to determine the number of valid samples in the buffer.
The following example from the BACnet standard will present the Averaging object structure from an actualautomation application. Specifically, this example focuses on the average and maximum electrical usage inkilowatts (KW) on a specific floor of a building:
- Property: Object_Identifier = (Averaging, Instance 1)
- Property: Object_Name = "FLR 12 DEMAND"
- Property: Object_Type = AVERAGING
- Property: Minimum_Value = 2.4
- Property: Minimum_Value_Timestamp = (16-DEC-1999,13:15:07.32)
- Property: Average_Value = 12.7
- Property: Maximum_Value = 18.8
- Property: Maximum_Value_Timestamp = (16-DEC-1999,13:06:12.19)
- Property: Description = "Floor 12 Electrical Demand"
- Property: Attempted_Samples = 15
- Property: Valid_Samples = 14
- Property: Object_Property_Reference = (Analog Input, Instance 12)
- Property: Window_Interval = 900
- Property: Window_Samples = 15