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 |
Súvisiace stránky:
Pridať komentár