Funkcia %AvgFloat


Funkcia
Funkcia vracia aritmetický priemer hodnôt. Je možné ju použiť jedine v kontexte objektu typu Počítaný bod.
Deklarácia
REAL %AvgFloat(
   REAL in value,
   INT  in deepTime,
   UNIVAL in calcTrigger,
   INT  in maxValues 
 )

Parametre
value Hodnota, ktorá sa započíta do priemeru.
deepTime Časová hĺbka hodnôt v sekundách. Hodnota musí byť platná a > 0.
calcTrigger Výpočtový trigger - objekt, ktorého zmena spôsobí prepočítanie funkcie. Môže byť ľubovoľného typu.
maxValues Maximálny počet hodnôt, ktoré funkcia berie do úvahy. Hodnota musí byť platná a > 0.

Popis
Funkcia má za účelom výpočtu priemernej hodnoty vytvorený interný zoznam hodnôt.
Pri každom prepočte do zoznamu zaradí hodnotu danú parametrom value, ak je táto platná a zároveň má časovú značku väčšiu ako posledná hodnota v zozname.
Pred výpočtom aritmetického priemeru sú zo zoznamu odobraté hodnoty, ktoré sú za časovou hĺbkou (majú starší čas ako SysTime - deepTime). Následne je z hodnôt, ktoré sú v zozname vypočítaný aritmetický priemer. Ak nie je v zozname žiadna hodnota, výsledný priemer je neplatná hodnota.
Ak nie sú splnené obmedzenia dané pre parametre deepTime, maxValues alebo v zozname hodnôt pre výpočet nie je žiadna hodnota, funkcia vráti neplatnú hodnotu.
Napíšte komentár