The average point maintains the average value for a source point. The average point can be either a signed integer, an unsigned integer or a floating point data type. The average is calculated as an eight byte floating point data type, and the result is cast into the resultant data type as defined by the point_type_id of the average point. The average value is calculated as the accumulation of the deviation from the average point data divided by the number of samples taken.
average = average + ((source - average)/sample_count )
The sample_count value is the number of source points in the average point calculation. In the event the sample_count value overflows the maximum unsigned integer value, then the average point will reset and log a message with the Status Log.
The average value is maintained in the average point until a Reset condition occurs.
A Reset condition occurs when the reset point is changed causing the average point to reset. The reset causes the average point to be reset to the configured init_value from derived_point.dat and, if the init_value is not present, then the average point has no value until a new data value is received. The reset point could be activated by an operator or automatically by the system.
Specifications: The average point is a derived point with the calculation_type set to 3.
Note: For integer type points the resultant data will rounded to the nearest integer which may result in loss of accuracy. Therefore, it is suggested that average points be floating point type.
Derived point file (DERIVED_POINT). |