Tip
Na zoznámenie sa so základmi konfigurovania archivácie slúžia aj tieto nahrávky z webinára dostupné na YouTube:
Odporúčame aj blogy:
- Archivácia v SCADA a MES systémoch
- Archivácia v SCADA a MES systémoch, časť 2
- Enterprise vlastnosti archivácie v SCADA a MES systémoch
- Enterprise vlastnosti Archivácie v SCADA a MES systémoch, časť 2
- Enterprise vlastnosti Archivácie v SCADA a MES systémoch, časť 3
- Informácie z workshopu o archivácii
- Archív a PostgreSql trezory
- Migrácia trezorov na PostgreSQL v praxi
- Arcsynchro a PostgreSQL trezory
- Priebežná integrácia v archíve alebo ako na zubaté grafy
- Archív - migrácia historických databáz z Oracle na PostgreSQL
- Prekvapenia v archivácii (EN)
Architektúra
Archiváciu v D2000 zabezpečuje proces D2000 Archív. Ten má ako potomkov archivované hodnoty.
Väčšna aplikácií má jediný archívny proces (SELF.ARC), pod ktorým sú všetky archivované hodnoty. V jednoduchých systémoch má tento proces zapnutý autoštat a štartuje ho D2000 Server pri štarte D2000 systému.
Proces D2000 Archív ukladá dáta do SQL databázy. Podporované sú PostgreSQL, Oracle, Sybase SQL Anywhere, Microsoft SQL (experimentálne sú podporené aj databázy SQLite a MySQL). Odporúčaná je databáza PostgreSQL. Viac informácii viď kapitola Archivovanie údajov v systéme D2000.
Keďže historické dáta sú jednou z najcennejších položiek v SCADA a MES systémoch, archívny proces je jedným z prvých, ktoré sa konfigurujú ako redundantné. Na dvoch (alebo viacerých) počítačoch sa nakonfiguruje pomocou utility SCS Config dvojica watchdog + proces D2000 Archív s parametrom /W<name>,<instance> udávajúcim meno a číslo inštancie (napr. /WSELF,1 alebo /WSELF,2) a s parametrom /S, /RD alebo /RF špecifikujúcim server alebo redundantnú skupinu, ku ktorej sa archív pripája (viď Spustenie užívateľských procesov).
Každý z inštančných archívnych procesov archivuje tie isté archivované hodnoty (potomkov SELF.ARC). Proces D2000 Server riadi, ktorá inštancia je aktívna (na ňu sú smerované požiadavky na čítanie). Ostatné inštancie sú pasívne.
Inštančné archívy sú užitočné aj pri vykonávaní údržby archívnych serverov (patchovanie Windows, SQL databázy, firmware, D2000 a pod) bez straty dát.
Na synchronizáciu dát medzi archívmi (zaplátanie diery po výpadku jedného z inštančných archívov alebo migráciu dát archívov medzi rôznymi SQL databázami) slúži utilita Arcsynchro, ktorú vie D2000 Archív spúšťať automaticky pri štarte (viď parameter archívu ArcsynchroAuto).
Tipy pre pokročilých
Zistenie a nastavenie aktívnej inštancie je možné tell príkazom INSTANCE (napr. INSTANCE GET ACTIVE SELF.ARC alebo INSTANCE SET ACTIVE SELF.ARC 2). Informácia o tom, či je inštancia archívu aktívna, je aj v stĺpci Active v systémových štruktúrovaných premenných SV._System_ArchivPerformance a SV._System_Proces.
Archívne procesy vedia fungovať aj v load-balancing režme, keď sú viaceré inštancie aktívne a proces D2000 Server rozdeľuje medzi ne požiadavky na čítanie dát. Zapnutie load-balancing režimu je možné tell príkazom SET_LOAD_BAL_MODE.
Druhy archivovaných hodnôt
Primárne archívy
Primárne archívy archivujú hodnoty konkrétnych D2000 objektov (či už ide o hodnoty objektov z komunikácie, o vypočítané hodnoty, ručne zadané alebo iné). Primárna archivácia môže byť zmenová alebo periodická.
Štatistické archívy
Štatistické archívy prepočítavajú hodnoty iných archívov (primárnych, ale aj iných štatistických alebo vypočítaných) štatistickou funkciou. Štatistické archívy sú periodické.
Vypočítané archívy
Vypočítané archívy prepočítavajú hodnoty iných archívov (primárnych, ale aj iných štatistických alebo vypočítaných) ľubovolným výrazom. Môžu byť zmenové alebo periodické.
Archív plnený skriptom
Archív plnený skriptom (sklad hodnôt) slúži ako sklad hodnôt, ktoré nevznikajú priamym archivovaním hodnôt iného objektu v systéme, štatistickým výpočtom alebo výpočtom vo vypočítanom archíve. Plnenie hodnôt je možné jedine z ESL skriptu alebo manuálne prostredníctvom procesu D2000 HI. Sklad hodnôt môže byť zmenový alebo periodický. Periodický sklad hodnôt môže mať zapnuté prehrávanie hodnôt - v reálnom čase zverejňuje hodnoty, ktoré boli vopred skriptom vložené (napr. dáta z prípravy prevádzky).
Na plnenie dát zo skriptu slúžia akcie UPDATEARCHVAL a INSERTARCHARR.
Pozn: Tieto akcie dokážu zapisovať aj do primárnych, štatistických a vypočítaných archívov. Pozor - opakovaný prepočet štatistických a vypočítaných archívov ručne zapísané hodnoty premaže novými vypočítanými hodnotami!
Dôležité: zdrojové archívne objekty musia mať ako rodiča ten istý archívny proces (štandardne SELF.ARC) ako štatistické a vypočítané archívne objekty, ktoré ich používajú. Toto obmedzenie je hlavným dôvodom, prečo má väčšina systémov iba jediný archívny proces SELF.ARC.
Hĺbka archivácie
Každá archivovaná hodnota môže mať nastavenú vlastnú hĺbku archivácie. Proces D2000 Archív periodicky každých niekoľko hodín vymazáva hodnoty staršie ako hĺbka archivácie a to tak, aby ostala vždy aspoň jedna hodnota staršia ako hĺbka archivácie.
Okrem toho je možné nakonfigurovať v procese D2000 Archív tzv. trezorové databázy, ktoré zabezpečujú časovo neobmedzenú archiváciu pre tie archivované hodnoty, ktoré majú zapnutú voľbu Zápis aj do trezoru.
Jednoduché a štruktúrované archívy
Archivované hodnoty môžu byť jednoduché alebo štruktúrované.
- Primárne archívy dokážu archivovať stĺpec štruktúrovanej premennej alebo celú štruktúrovanú premennú (toto nie je odporúčané).
- Štatistické archívy dokážu počítať štatistiku nad stĺpcovým alebo štruktúrovaným archívom (a voliteľne zverejňovať hodnotu do stĺpca štruktúry alebo do celej štruktúry).
- Vypočítané archívy dokážu počítať výraz nad stĺpcovým archívmi (a voliteľne zverejňovať hodnotu do stĺpca štruktúry).
Viac informácií a príklad je v dokumente Práca so štruktúrami.
Periodické archívy
Perióda archivácie pri všetkých druhoch periodických archívov musí byť taká, aby 24-hodinový interval sa dal rozdeliť na celočíselný počet periód (t.j. 1 min alebo 15 min alebo 2 hod ale nie 7 hod).
Pozn: Akciami CALCSTATFUNC a CALCSTATFUNCARR je možné z ESL skriptu na požiadanie vypočítať štatistickú funkciu nad ľubovolnou archivovanou hodnotou aj za ľubovolnú periódu (napr. za kalendárny mesiac).
Prepočty a výpočty na požiadanie
- Akciou CALCONDEMANDSTAT je možné z ESL skriptu prepočítať na požiadanie ľubovolnú štatistickú alebo vypočítanú archivovanú hodnotu.
- Akciou CALCARCHEXPR je možné z ESL skriptu vypočítať na požiadanie ľubovolný archívny výraz používajúci existujúce archivované hodnoty.
- Akciami CALCSTATFUNC a CALCSTATFUNCARR je možné z ESL skriptu na požiadanie vypočítať štatistickú funkciu nad ľubovolnou archivovanou hodnotou aj za ľubovolnú periódu (napr. za kalendárny mesiac).
- Tell príkazom RECALC je možné vyžiadať prepočet viacerých archivovaných hodnôt podľa masky (a všetkých archivovaných hodnôt, ktoré sú z nich vypočítané).
Čítanie z archívu
Čítanie z archívu môže byť vyvolané viacerými spôsobmi:
- Otvorením grafu - proces D2000 HI automaticky generuje požiadavky na čítanie všetkých hodnôt zobrazených v grafe.
- Otvorením schémy v režime histórie.
- Akciami na čítanie z archívu: GETARCHVAL, GETARCHARR, GETARCHARR_TO_CNT, GETARCHROW, GETARCHCOL a GETARCHSTRUCT.
- Vyžiadaním archívnych hodnôt z okolia D2000 systému:
- Čítanie cez D2000 Gateway z iného D2000 systému ako reakcia na príkaz GETOLDVAL.
- Čítanie cez D2000 Kom proces (serverovské protokoly, napr. IEC 870-5-104 Server).
- Čítanie cez D2000 OBJApi funkciou GetArchivData.
- Čítanie cez D2000 VBApi (z programov Microsoft Visual Basic alebo Microsoft Excel) funkciami VBApiGetArchData (jednoduchý archív) alebo VBApiGetArchDataItem (položka štruktúrovaného archívu).
- Čítanie cez D2000 Java API.
- Čítanie cez D2000 ODBC ovládač,
- Čítanie cez D2000 REST API.
Pridať komentár