22.11.2024

Zrkadlenie objektov medzi D2000 systémami.

Ak používate viacero systémov D2000, určite ste sa stretli s potrebou prenosu objektov medzi nimi.

Typickým prípadom je vývoj novej funkcionality na testovacom prostredí, a následne prenos objektov do produkcie. Výzvou je preniesť všetko, čo treba. Funkcionalita XML exportuXML importu, ktorú D2000 ponúka na prenos konfigurácie individuálnych objektov, síce zaručuje referenčnú integritu – t.j. objekt sa neprenesie, pokiaľ neexistujú všetky objekty, ktoré sú ním použité – ale pochopiteľne nechráni proti všetkým typom omylov. Tak sa môže stať, že objekt síce existuje v oboch prostrediach, ale v testovacom prostredí je jeho nová (upravená)  verzia a na produkcii ešte stále pôvodná.

Iným prípadom je potreba prenášať objekty a ich hodnoty medzi prepojenými systémami typu SCADA a MES. Typická SCADA má niekoľko málo užívateľov (dispečeri, operátori) s oprávneniami zasahovať do technológie. Naproti tomu MES systém získava dáta z jedného alebo viacerých SCADA systémov, robí nad nimi bilancie a sprostredkúva tieto dáta desiatkam alebo stovkám užívateľov. Tí môžu dáta analyzovať, prípadne aj do nich zasahovať, ale nemajú priamy dosah na technológiu (nemôžu riadiť).

Ako na to?

Pre zjednodušenie prenosu objektov medzi viacerými D2000 systémami sme v Ipesofte vyvinuli moduly SysMirror (nasadzuje sa na zdrojový D2000 systém) a SysRorrim (nasadzuje sa na cieľový D2000 systém – jeho meno je zrkadlovým obrazom mena SysMirror). Umožňujú administrátorom D2000 systémov porovnať konfigurácie dvoch D2000 systémov, vybrať objekty na XML export (včítane riešenia závislostí medzi objektami) a vykonať samotný XML export a import.

Objekty zdrojového D2000 systému sú porovnávané s objektami cieľového systému – vyhľadanie objektu sa nevykoná podľa mena objektu, ale podľa unikátneho identifikátora (UID). Toto umožňuje objekty pri prenose premenovať - v cieľovom systéme môžu tak mať všetky prenesené objekty zadefinovaný prefix, ktorý ukazuje, že sú zrkadlené (napr. meraný bod M.test bude mať po prenose názov M.RIS.test).

Objekty sú porovnávané podľa času modifikácie objektu. Administrátor si môže zvoliť zobrazenie objektov, ktoré existujú iba na zdrojovom systéme, sú novšie na zdrojovom alebo cieľovom systéme alebo sú identické. Taktiež je možné filtrovať podľa času modifikácie na zdrojovom systéme (napr. zaujímajú nás iba zmeny za posledný týždeň).

Čo s objektami, ktoré nechceme zrkadliť? Aj na to sme mysleli – je možné objekty skrývať (na základe masky mena alebo podľa UID konkrétneho objektu), aby sa v zozname objektov nezobrazovali. Takže napríklad systémové schémy alebo technologické detaily, ktoré nemajú byť prenášané do cieľového systému, sa dajú odfiltrovať.

Obrázok 1 - užívateľské rozhranie modulu SysMirror 

Takto je možné po konfiguračných zmenách na zdrojovom systéme jednoducho vybrať zmenené objekty a nechať ich exportovať. Pokiaľ je exportovaná napr. schéma, sú zároveň exportované všetky objekty, ktoré referencuje (napr. merané body, počítané body, archívne objekty) a ktoré sa nenachádzajú na cieľovom systéme.

Prenos hodnôt

Takže objekty máme prenesené – ale dokážeme zabezpečiť, že budú aj „žiť“ – takže na cieľovom systéme sa budú zobrazovať hodnoty z komunikácie, počítané body? Bude sa dať aj pozerať do archívov? A aká komplikovaná bude konfigurácia, prípadne rekonfigurácia pri zmenách?

Pre všetkých, ktorí sa takto pýtajú, máme samé pozitívne odpovede. Hodnoty budú prenášané pomocou funkcionality, ktorú poskytuje D2000 transparentný gateway (už bol spomenutý v blogu Komunikácia v testovacích prostrediach). Jednoducho sa nakonfiguruje, že má prenášať hodnoty objektov konkrétnych procesov (napr. KOM, CALC, ALARM), prípadne hodnoty objektov podľa masky (napr. všetky užívateľské premenné RIS-u, t.j. maska U.RIS*). Pokiaľ sa importujú do cieľového systému ďalšie objekty, transparentný gateway ich automaticky pridá do zoznamu, ak vyhovujú zadanej špecifikácii. Bez potreby rekonfigurácie gatewaya, bez potreby jeho reštartu.

Obrázok 2 - pri otestovaní modulov SysMirror a SysRorrim bola pomocou nich prenesená konfigurácia vyše 57000 objektov (viď informácie v stavovom riadku) medzi RIS a MES systémom. Pri prenose sa pridával objektom prefix „RIS“.

Ďalšie detaily

Doteraz transparentný gateway podporoval iba prenos objektov na základe mena objektu. Kvôli možnosti premenovania objektov bol implementovaný aj parameter, ktorý umožňuje párovanie objektov medzi zdrojovým a cieľovým systémom podľa UID objektu.

Ako je to s použitím modulu SysMirror v redundantných systémoch? V užívateľskom rozhraní si užívateľ môže zvoliť konfiguračnú databázu cieľového systému, voči ktorej sa porovnáva. Za normálnych okolností je úplne jedno, či sa pracuje s konfiguračnou databázou aktívneho alebo pasívneho servera – toto nastavenie treba meniť iba vtedy, ak by bol vybraný D2000 Server vypnutý.

Pokiaľ pri prenose nedochádza k zmene mena objektov (napr. prenos medzi testovacím a produkčným prostredím), je možné moduly SysMirror a SysRorrim nasadiť symetricky na obe prostredia. Takto sa dajú synchronizovať napr. individuálne zmeny konfigurácie objektov z produkčného prostredia do testovacieho aj opačným smerom.

Moduly SysMirror a SysRorrim boli otestované na reálnej konfigurácii počas migrácie zákazníckeho SCADA a MES systému na D2000 V12. Po dávkach (cca 1000 objektov naraz) bolo s ich pomocou prenesených vyše 57000 objektov. Začali sme komunikáciami (linky, stanice, merané body), nasledovali počítané body, archívne objekty, užívateľské a štruktúrované premenné, grafy. Nakoniec boli prenesené schémy (spolu s použitými grafickými objektami ako sú fonty, textové štýly a rôzne palety).

Záver

Moduly SysMirror a SysRorrim sú ďalšou pomôckou pri práci s technológiou D2000. Verím, že budú v blízkej budúcnosti nasadené u viacerých zákazníkov a zjednodušia a zrýchlia administrátorom a aplikačným vývojárom ich prácu.

 

1.6.2020, Ing. Peter Humaj, www.ipesoft.com

Iné blogy