EDA_CalcFunctionRec

EDA_CalcFunctionRec

Načíta hodnoty z neuloženého vypočítaného vektora v danom intervale.

Funkcia kombinuje všetky EDA_CalcFunction* procedúry zabalením parametrov do jednoriadkovej štruktúry.

Deklarácia

%EDA_CalcFunctionRec( INT in _VectorType, TEXT in _func, TIME in _bt, TIME in _et, INT in _TimeStep, REC in _params, REC out _values, INT in _column, INT out _errorCode );

Parametre

 

Parameter

Dátový typ

Typ

Popis

1

vectorType

INT

IN

Typ vektora. (900=1, 3600=2, 86400=3, POPIS=4, INTERVAL=5, V_900=6, V_3600=7, V_86400=8, ZMENA=9, V_ZMENA=10)

2

func

TEXT

IN

Predpis funkcie v EDA-L.

3

bt

TIME

IN

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

4

et

TIME

IN

Koniec obdobia pre načítanie hodnôt.

5

TimeStep

INT

IN

Časový krok pre načítanie hodnôt - STEP_EX.

6

params

REC

IN

Štruktúra voliteľných parametrov.

7

values

REC

OUT

Hodnoty - štruktúra REALov.

8

column

INT

IN

Poradové číslo stĺpca, do ktorého sa zapíšu výsledky.

9

errorCode

INT

OUT

Návratová hodnota.

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

 

Parameter

Dátový typ

Prednastavená hodnota

Popis 

1

structVersion

INT

 

Verzia štruktúry - 1.

2

cacheId

INT

0 (default read cache)

Identifikátor cache.

3

valueType

INT

3

Typ hodnoty.

4

isIntegral

BOOL

FALSE

Príznak, či ide o integrálne hodnoty.

5

timeZone

INT

-1 (časová zóna EDA databázy)

Časová zóna vektora.

6

dayOffset

INT

0

Day offset.

7

fakeTimeZone

INT

-1 (časové pásmo procesu)

Emulácia časovej zóny pre vstupné/výstupné časové hodnoty.

8

roundType

INT

1 (absolútna presnosť)

Typ zaokrúhľovania (absolútna presnosť = 1, Zaokr. matematické = 2, Celá časť - hore = 3, Celá časť - dole = 4).

9

decimalPlaces

INT

0

Počet desatinných miest pre zaokrúhľovanie.

10

version

INT/TEXT

invalid (nenastavené)

Identifikátor (id/kód) verzie, do ktorej sa má vykonať zápis.

11

userName

TEXT(32)

 

Meno užívateľa pre kontrolu práv.

12

checkFlags

INT

0

Bitová maska príznakov hodnôt, ktoré sú sledované. V prípade, že je na výstupe vektora zistený nastavený príznak, je generované upozornenie. Zoznam vygenerovaných upozornení je možné získať funkciou EDA_GetWarningTraceRoot.

13

envName

TEXT

""

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

14

paramBlockId

INT

 

Identifikátor bloku parametrov (odkaz na EDA_CreateParameterBlock).

V systéme by sa mala nachádzať už predpripravená štruktúra SD.EDA_CalcFunction_V1.

Príklad použitia

BEGIN INT _errorCode TEXT _funcBody RECORD NOALIAS (SD.EDA_Arr_Obj) _data RECORD NOALIAS (SD.EDA_CalcFunction_Params_V1) _calcParams _funcBody := "VEKTOR _v; INT _i;" + %Chr(10) _funcBody := _funcBody + "%CreateVektor(_v, " + %IToStr(_count) + ");" + %Chr(10) _funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + %Chr(10) _funcBody := _funcBody + " _v[_i] := _i;" + %Chr(10) _funcBody := _funcBody + " %SetItemTime(_v, _i, _BT + 60 * (_i - 1));" + %Chr(10) _funcBody := _funcBody + "END LOOP;" + %Chr(10) _funcBody := _funcBody + "RETURN _v;" _calcParams[1]^structVersion := 1 CALL %EDA_CalcFunctionRec(10, _funcBody, _bt, _et, 0, _calcParams, _data, 1, _errorCode) IF _errorCode != 0 THEN RETURN ENDIF END