Aktuálne hodnoty
Historické údaje
Volanie ESL RPC procedúr
Obmedzenia
Význam stĺpcov so stavovými informáciami
Základné aktuálne hodnoty sú roztriedené podľa typu hodnoty do nasledujúcich piatich tabuliek.
1. AnalogPoints - reálne hodnoty a hodnoty s relatívnym časom.
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
NAME | CHAR | 64 |
DESCRIPT | CHAR | 50 |
VALUE | DOUBLE | 8 |
STATUS | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
2. IntegerPoints - celočíselné hodnoty.
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
NAME | CHAR | 64 |
DESCRIPT | CHAR | 50 |
VALUE | INTEGER | 4 |
STATUS | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
3. EnumPoints - vymenované typy vrátane typu Boolean.
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
NAME | CHAR | 64 |
DESCRIPT | CHAR | 50 |
VALUE | INTEGER | 4 |
STATUS | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
4. TimePoints - hodnoty s absolútnym časom.
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
NAME | CHAR | 64 |
DESCRIPT | CHAR | 50 |
VALUE | TIMESTAMP | |
STATUS | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
5. TextPoints
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
NAME | CHAR | 64 |
DESCRIPT | CHAR | 50 |
VALUE | CHAR | 254 |
STATUS | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
Objekty typu Pole hodnôt a Štruktúrovaná premenná tvoria samostatné tabuľky. Meno tabuľky je odvodené od mena premennej nahradením znakov bodka "." znakom podčiarkovník "_" v mene.
Každá premenná typu Pole hodnôt tvorí tabuľku s nasledovným formátom:
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
TIME | TIMESTAMP | |
VALUE | DOUBLE | 8 |
STATUS | INTEGER | 4 |
ROW_ID | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
Každá premenná typu Štruktúrovaná premenná tvorí tabuľku s formátom zodpovedajúcim formátu štruktúrovanej premennej. Tabuľka je vždy rozšírená o jeden stĺpec ROW_ID určujúci poradové číslo - riadok štruktúrovanej premennej.
Objekty typu Archivovaná hodnota tvoria samostatné tabuľky. Meno tabuľky je odvodené od mena archivovanej premennej nahradením znakov bodka "." znakom podčiarnik "_" v mene.
Každá premenná typu Archivovaná hodnota tvorí tabuľku s nasledovným formátom:
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
TIME | TIMESTAMP | |
VALUE | DOUBLE | 8 |
STATUS | INTEGER | 4 |
STEP | INTEGER | 4 |
WEAK | INTEGER | 4 |
DEFAULT | INTEGER | 4 |
LIMITS | INTEGER | 4 |
FLAGS | INTEGER | 4 |
ARCH_FLAGS | INTEGER | 4 |
Implementovaná je tabuľka ArchivValues, cez ktorú je možné získať hodnoty viacerých archívnych objektov v rovnakých časových bodoch. Pri výbere z tejto tabuľky je možné zadať viac mien archívnych objektov v jednom príkaze.
Príklad:
SELECT TIME,VALUE01,STATUS01,VALUE02,STATUS02 FROM ArchivValues WHERE TIME >{ts '2000-04-11 10:00:00'} and TIME <{ts '2000-04-11 12:00:00'} and NAME01="H.AAA1" and NAME02="H.AAA2" and STEP=60
Tabuľka ArchivValues má nasledovnú štruktúru:
MENO STĹPCA | TYP HODNOTY | VEĽKOSŤ |
---|---|---|
TIME | TIMESTAMP | |
STEP | INTEGER | 4 |
NAME01 | CHAR | 64 |
VALUE01 | DOUBLE | 8 |
STATUS01 | INTEGER | 4 |
WEAK01 | INTEGER | 4 |
DEFAULT01 | INTEGER | 4 |
LIMITS01 | INTEGER | 4 |
FLAGS01 | INTEGER | 4 |
ARCH_FLAGS01 | INTEGER | 4 |
NAME02 | CHAR | 64 |
VALUE02 | DOUBLE | 8 |
STATUS02 | INTEGER | 4 |
WEAK02 | INTEGER | 4 |
DEFAULT02 | INTEGER | 4 |
LIMITS02 | INTEGER | 4 |
FLAGS02 | INTEGER | 4 |
ARCH_FLAGS02 | INTEGER | 4 |
... | ||
NAMEn | CHAR | 64 |
VALUEn | DOUBLE | 8 |
STATUSn | INTEGER | 4 |
WEAKn | INTEGER | 4 |
DEFAULTn | INTEGER | 4 |
LIMITSn | INTEGER | 4 |
FLAGSn | INTEGER | 4 |
ARCH_FLAGSn | INTEGER | 4 |
Kde n je maximálne 12.
Pomocou D2000 ODBC Driver je umožnené aj volanie ESL RPC procedúr zodpovedajúce ESL akcii CALL.
Pre tento účel sú vytvorené špeciálne tabuľky, ktorých mená sú odvodené od mena procesu D2000 EventHandler, na ktorom má byť procedúra
vykonaná, objektu typu event a názvu RPC procedúry.
Tieto sú spojené
znakom "^" (napr. SELF_EVH^E_event^proc), pričom bodky "." v názvoch sú nahradené znakom podčiarkovník
"_".
Tabuľky, ktoré v názve neobsahujú názov procesu Event handler (napr. E_event^proc) slúžia na broadcast volanie RPC procedúry.
Stĺpce týchto tabuliek sú pomenované podľa parametrov procedúry. Parametre typu RECORD sú reprezentované stĺpcami,
ktoré sú tvorené kombináciou názvu parametra a názvu stĺpca štruktúry (parameter^stlpec). Rovnako ako tabuľky štruktúrovaných premenných sú doplnené o stĺpec "ROW_ID".
V menách parametrov sú taktiež bodky "." nahradzované znakom podčiarkovník "_". Tabuľky RPC procedúr sú navyše doplnené o stĺpce "$async" a "$instanceId".
Volanie procedúry môže byť:
V prípade adresovania volania procedúry na konkrétnu inštanciu sa vo WHERE časti použite stĺpec "$instanceId".
SELECT $async | param1, param2, param3, ...
FROM [proces_EVH^]E_event^proc
[WHERE param3 = x AND param4 = y AND ... [$instanceId = id]]
synchrónne volanie: | CALL E.event MyProc(_param1, 2) SYNC ON SELF.EVH SELECT _param1 FROM SELF_EVH^E_event^MyProc WHERE _param2 = 2 |
asynchrónne volanie: | CALL E.event MyProc(1, 2) ASYNC ON SELF.EVH SELECT $async FROM SELF_EVH^E_event^MyProc WHERE _param1 =1 AND _param2 = 2 |
WHERE časť môže obsahovať len priradenia hodnôt parametrom.
Výstup SELECT-u bude mať toľko riadkov, koľko má parameter typu RECORD s najväčším počtom riadkov, resp. 1 riadok, ak procedúra má len neštruktúrované typy parametrov.
V prípade, že počas vykonávania procedúry došlo k výnimke, exekúcia SQL dotazu skončí neúspešne.
Výsledok asynchrónneho volania procedúry nie je možné zistiť, a preto takýto dotaz nevracia žiadne dáta.
SELECT TIME,VALUE,STATUS FROM H_NAME WHERE (TIME >"10-04-2000" AND TIME <"12-04-2000 10:00")
Voliteľne môže obsahovať definovanie požadovaného časového kroku v sekundách.
SELECT TIME,VALUE,STATUS FROM H_NAME WHERE (TIME >"10-04-2000" AND TIME <"12-04-2000 10:00") AND STEP=60.
Syntax zadávania absolútneho času "dd-mm-rrrr [hh[:mi[:ss[.mss]]]]" alebo {ts '2000-04-11 10:00:00'}.
STATUS | - hodnota je platná ak STATUS = 1 |
WEAK | - hodnota je Weak ak WEAK = 1 |
DEFAULT | - hodnota je v stave Default ak DEFAULT = 1 |
LIMITS | - stĺpec môže nadobúdať nasledovné hodnoty: InLimit = 0 , VL_Limit = 1 , L_Limit = 2 , H_Limit = 3 , VH_Limit = 4 , LimitsProblem = 5 |
FLAGS | - stĺpec nadobúda hodnoty Extended flagov (ako bitset): BF_A = 1, BF_B = 2, BF_C = 4, BF_D = 8, BF_E = 16, BF_F = 32, BF_G = 64, BF_H = 128, BF_I = 256, BF_J = 512, BF_K = 1024, BF_L = 2048, BF_M = 4096, BF_N = 8192, BF_O = 16384, BF_P = 32768 |
ARCH_FLAGS | - stĺpec nadobúda hodnoty archívnych príznakov (ako bitset - suma nasledovných konštánt). |