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:



Napíšte komentár