EDA_StatCalcFunctionRec

EDA_StatCalcFunctionRec

Funkcia vykoná výpočet EDA-L predpisu a na výsledných hodnotách spočíta vybranú štatistiku.

Deklarácia

%EDA_StatCalcFunctionRec( INT in statType, INT in vectorType, TEXT in funcBody, TIME in bt, TIME in et, INT/TEXT in period, REC in params, REAL out value, INT out errorCode );

Parametre

 

Parameter

Dátový typ

Typ

Popis

1

statType

INT

in

Typ štatistiky.

2

vectorType

INT

in

Typ vektora.

3

funcBody

TEXT

in

Predpis funkcie v EDA-L.

4

bt

TIME

in

Začiatok obdobia pre načítanie hodnôt.

5

et

TIME

in

Koniec obdobia pre načítanie hodnôt.

6

period

INT/TEXT

in

Perióda načítania hodnôt.

7

params

REC

in

Štruktúra voliteľných parametrov.

8

value

REAL

out

Výsledná hodnota.

9

errorCode

INT

out

Chybový (návratový) kód.

Obsah štruktúry voliteľných parametrov verzie 1:

 

Parameter

Dátový typ

Default

Popis

1

structVersion

INT

1

Verzia štruktúry - 1.

2

cacheId

INT

0

Identifikátor cache.

3

valueType

INT

3

Typ hodnoty.

4

vectorPeriodBeginTime

TIME

 

Počiatočný čas, od ktorého sa aplikuje krok vektora (pre všeobecné periodické vektory).

5

vectorPeriodStepBase

INT

 

Veľkosť základného kroku periodického vektora (pre všeobecné periodické vektory).

6

vectorPeriodStepCount

INT

 

Počet základných krokov v jednej perióde vektora (pre všeobecné periodické vektory).

7

vectorPeriodTimeZone

INT

 

Offset časového pásma periódy vektora v sekundách.

8

isIntegral

BOOL

@FALSE

Príznak integrálnosti hodnôt.

9

viewRoundType

INT

0

Typ zaokrúhľovania.

10

viewRoundDecPlaces

INT

0

Počet desatinných miest zaokrúhlenia.

11

useAbsValues

BOOL

@FALSE

Príznak použitia absolútnych hodnôt pre štatistiku.

12

userName

TEXT

 

Meno užívateľa.

13

version

INT/TEXT

 

Identifikátor (id/kód) verzie.

14

envName

TEXT

 

Názov EDA prostredia, ktoré sa použije pre výpočet.

15

paramBlockId

INT

 

Identifikátor bloku parametrov.

Príklad použitia

INT _Stat_Sum = 0 INT _Stat_Min = 1 INT _Stat_Max = 2 INT _Stat_Avg = 3 BEGIN INT _errorCode TEXT _funcBody TIME _bt, _et REAL _value RECORD NOALIAS (SD.EDA_StatCalcFunction_Params_V1) _params _funcBody := "VEKTOR _v;" + %Chr(10) _funcBody := _funcBody + "INT _i;" + %Chr(10) _funcBody := _funcBody + "%CreateVektor(_v, _BT, _ET, _STEP);" + %Chr(10) _funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + %Chr(10) _funcBody := _funcBody + " _v[_i] := %Mod(_i + 4, 10) + 1;" + %Chr(10) _funcBody := _funcBody + "END LOOP;" + %Chr(10) _funcBody := _funcBody + "RETURN _v;" _bt := %TimeFromItems(2015, 7, 10, 0, 0, 0, 0) _et := %TimeFromItems(2015, 7, 10, 20, 0, 0, 0) - 1 _params[1]^structVersion := 1 ; vypocita funkciu a z jej hodnot spravi priemer CALL %EDA_StatCalcFunctionRec(_Stat_Avg, 7, _funcBody, _bt, _et, 0, _params, _value, _errorCode) IF _errorCode != 0 | !_value\VLD | _value != 5.5 THEN RETURN ENDIF END