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:
0 komentárov