GETARCHVAL valueIdent_Real, archIdent, timeExpression_TmA [STATUS [isDataIdent_Bool], [archFlagsIdent_Int], [archivInstance_Int]] [VALID | INVALID] |
valueIdent_Real | out | Odkaz na jednu archívnu hodnotu, odkaz na objekt alebo odkaz na položku objektu typu Štruktúrovaná premenná (poznámka: hodnoty objektu alebo položky sa musia archivovať). Upozornenie: Ak sa parameter odkazuje na objekt, ktorý je viacnásobne archivovaný, nie je určené, hodnoty ktorého archívneho objektu sa použijú pre akciu. |
archIdent | in | Odkaz na jednu archívnu hodnotu, odkaz na objekt alebo odkaz na položku objektu typu Štruktúrovaná premenná. |
timeExpression_TmA | in | Výraz typu Absolútny čas. |
isDataIdent_Bool | out | Identifikátor typu Bool - príznak úspešnosti čítania z archívu, nepovinný parameter. |
archFlagsIdent_Int | out | Identifikátor typu Int - archívne príznaky, nepovinný parameter. |
archivInstance_Int | in | Nepovinný identifikátor typu Int - identifikácia inštancie archívu. Ak nie je uvedený, nahradí sa hodnotou 0. |
Akcia prečíta hodnotu z archívu pre daný čas. Výsledok čítania (hodnotu) zapíše do premennej valueIdent_Real. Prečítaná hodnota zodpovedá čítaniu časového intervalu, ktorý má čas začiatku a konca rovnaký a časový krok je 0.
Ak parameter archIdent obsahuje odkaz na objekt typu Archivovaná hodnota, činnosť akcie je popísaná vyššie. Ak obsahuje odkaz na objekt, ktorý nie je archívny alebo položku štruktúrovanej premennej, ktorá nie je typu Objekt, systém sa snaží nájsť archívny objekt (objekt typu Archivovaná hodnota), ktorý danú hodnotu archivuje.
Ak je parameter archIdent odkaz na položku štruktúrovanej premennej typu Objekt, táto ukazuje na určitý objekt v systéme. Ak je tento objekt archívny, dáta budú načítané z neho. Ak nie je, systém sa snaží nájsť archívny objekt, ktorý danú hodnotu archivuje.
Výsledok čítania (value) sa priradí do premennej valueIdent_Real.
Ak je uvedený identifikátor isDataIdent_Bool, zapíše do neho hodnotu:
Ak identifikátor isDataIdent_Bool nie je použitý a ak nie sú dáta, akcia nemodifikuje hodnotu identifikátora valueIdent_Real.
Ak je uvedený identifikátor archFlagsIdent_Int, sú do neho zapísané archívne príznaky pre prečítanú hodnotu (archívny príznak vzniká súčtom nasledujúcich konštánt):
Hodnota parametra archivInstance_Int udáva inštanciu archívu, ktorá realizuje požiadavku. Ak nie je uvedený (alebo má hodnotu 0) požiadavku realizuje aktívna inštancia archívu.
Pre verzie novšie ako 21.0.70 je možné špecifikovať klauzulu VALID alebo INVALID. Pomocou tejto klauzuly je možné vyčítať poslednú platnú (VALID) alebo neplatnú (INVALID) hodnotu pre daný čas (ignorujúc všetky nasledujúce hodnoty, ktoré nie sú VALID alebo INVALID).
Čítanie archivovanej hodnoty:
REAL _value TIME _bt BOOL _bIsArchData ; vypočítanie začiatku aktuálnej minúty _bt := SysTime _bt := _bt - %ModTime(_bt, 60) ; prečítanie hodnoty a aktívnej inštancie archívu GETARCHVAL _value, H.Sec, _bt STATUS _bIsArchData,,0 ; bola hodnota prečítaná? IF _bIsArchData THEN ; spracovanie prečítanej hodnoty ENDIF |