%AvgFloat function


Function
The function returns an arithmetic average of values. It can be used for the object of Eval tag type.
Declaration
REAL %AvgFloat(
   REAL in value,
   INT  in deepTime,
   UNIVAL in calcTrigger,
   INT  in maxValues 
 )

Parameters
value The value that is included to the average.
deepTime Time depth of values in seconds. The value must be valid and > 0.
calcTrigger Calculating trigger - an object of any type. Its change causes a recalculation of the function.
maxValues Maximum values that are accepted by the function. The value must be valid and > 0.

Description
For purpose of calculation of average value, the function holds an internal list of values. After each recalculation, it includes the value that is defined by the parameter value into the list under following conditions:
  • the value must be valid and
  • its time stamp is grater than the last value in the list.

Before calculating the arithmetic average, the values that are out of time depth (they are older than SysTime - deepTime) are removed from the list. Then, the arithmetic average is calculated. If the list does not contain any value, the final average is an invalid value.

The function returns an invalid value, if:

  • the limitation for deepTime and maxValues are not fulfilled or
  • the list of values does not contain any value

Napíšte komentár