CALCSTATFUNC

CALCSTATFUNC

Akcia CALCSTATFUNC


Funkcia

Výpočet archívnej štatistickej funkcie na požiadanie.

Deklarácia

CALCSTATFUNC archIdent, timeFromIdent_TmA, timeToIdent_TmA, statFuncIdent_Int, validPercIdent_Int, paramIdent, retValueIdent, statusIdent_Int [,archivInstance_Int]

 

Parametre

archIdent

in

Odkaz na jednu archívnu hodnotu alebo odkaz na ľubovoľný objekt, ktorého hodnoty sa archivujú.

Upozornenie: Ak sa parameter odkazuje na objekt, ktorý je viacnásobne archivovaný, nie je určené, hodnoty ktorého archívneho objektu sa použijú pre akciu.

timeFromItemIdent_TmA

in

Identifikátor typu AbsTime - začiatok intervalu.

timeToItemIdent_TmA

in

Identifikátor typu AbsTime - koniec intervalu.

statFunctIdent

in

Identifikátor typu Int - typ štatistickej funkcie.

validPercIdent

in

Identifikátor typu Int - validačné kritérium.

paramIdent

in

Identifikátor typu Int alebo Real - parameter pre niektoré typy funkcií.

retValueIdent

out

Identifikátor pre výsledok výpočtu.

statusIdent

out

Úspešnosť výpočtu.

archivInstance_Int

in

Nepovinný identifikátor typu Int - identifikácia inštancie archívu. Ak nie je uvedený, nahradí sa hodnotou 0.

 

Popis

Akcia vykoná výpočet štatistickej funkcie danej parametrom statFuncIdent_Int na archívnych dátach reprezentovaných archívnym objektom archIdent pre časový interval daný parametrami timeFromIdent_TmA a timeToIdent_TmA. Po úspešnom vykonaní akcie, parameter retValueIdent obsahuje výslednú hodnotu výpočtu. Návratový kód statusIdent_Int môže nadobúdať jednu z nasledujúcich hodnôt:

  • _ERR_TRANS_ABORT

  • _ERR_TRANS_ERROR

  • _ERR_TRANS_IGNORED

  • _ERR_NO_ERROR


Množina implementovaných funkcií je zhodná z funkciami, ktoré je možné konfigurovať pre štatistický archív (okrem funkcií FILTER a ECOAVG). Pre jednotlivé funkcie sú v ESL preddefinované lokálne konštanty.

Parameter validPerctIdent_Int predstavuje Validačné kritérium použité pri vyhodnocovaní štatistickej funkcie. Môže nadobúdať hodnoty 0 .. 100 (chyba pri nedodržaní podmienky ERR_RANGE_ERROR).

Pre niektoré štatistické funkcie je potrebné zadať parameter paramIdent podľa nasledujúcej tabuľky:

Štatistická funkcia

Popis parametra

_STAT_F_INTEGRAL

Časový rozmer vstupu. Pre jednotlivé typy sú taktiež zavedené preddefinované lokálne konštanty podľa tabuľky:

Konštanta

Popis

_INTEGRAL_HOURUNIT

Hodinový integrál

_INTEGRAL_MINUNIT

Minútový integrál

_INTEGRAL_SECUNIT

Sekundový integrál

_STAT_F_GE_TIME
_STAT_F_GT_TIME
_STAT_F_LE_TIME
_STAT_F_LT_TIME
_STAT_F_ADDITION_PARAM
_STAT_F_INCREMENT_PARAM
_STAT_F_DELTA_PARAM

Referenčná hodnota


Pre ostatné štatistické funkcie sa parameter paramIdent nevyhodnocuje.

Hodnota parametra archivInstance_Int udáva inštanciu archívu, ktorá realizuje požiadavku. Ak nie je uvedený (alebo má hodnotu 0), požiadavku realizuje aktívna inštancia archívu.

 

 

Príklad

TIME _bt TIME _et REAL _retValue INT _retCode _bt := %StrToTime("8:01:00 16-10-2003") _et := %StrToTime("8:02:00 16-10-2003") CALCSTATFUNC H.ArchObj, _bt, _et, _STAT_F_SUM, 100, 0, _retValue, _retCode IF _retCode = _ERR_NO_ERROR THEN ; výpočet prebehol ELSE ; nastala nejaká chyba ENDIF

 

Poznámka

Použitie akcie CALCSTATFUN neumožňuje počítať štatistické funkcie FILTER a ECOAVG.


Súvisiace stránky:

Akcie v skriptoch