Návrh klientskej aplikácie pre monitorovanie počítačovej siete
Obsah
Cieľom tejto časti diplomovej práce je návrh monitorovacej klientskej OPC aplikácie pre sledovanie a správu sieťových a priemyselných zariadení . Návrh vychádza z praktických skúseností pri správe počítačových sieti a získaných teoretických vedomostí z predchádzajúcich kapitol. Výsledkom návrhu je klientska aplikácia, ktorá dokáže komunikovať prostredníctvom OPC protokolu so serverovými OPC aplikáciami.
Charakteristika aplikácie
Hlavným cieľom aplikácie je komunikácia s SAEAUT SNMP OPC serverom a OpcDbGateway serverom. Účelom komunikácie je získanie požadovaných hodnôt zo servera a ich grafická vizualizácia používateľovi.
Po pripojení k OPC serveru klientska aplikácia umožní prezeranie stromovej štruktúry MIB databázy monitorovaných zariadení a hodnôt jednotlivých položiek. K tomuto účelu slúži vstavaný prieskumník položiek. Prieskumník položiek pracuje v tzv. off-line režime.
Používateľ má k dispozícii výber položiek pre monitorovanie cez prieskumník položiek kliknutím na požadovanú položku a pridaním do zoznamu, alebo priamym zadaním názvu položky a následným pridaním do zoznamu sledovaných položiek. Pri priamom zadaní je potrebná dobrá znalosť štruktúry MIB databázy. Prieskumník položiek doplní názov položky vrátene cesty automaticky.
Údaje monitorovaných položiek sú používateľovi zobrazené v dvoch režimoch. V prvom režime sa údaje zo servera automaticky aktualizujú v stanovenom intervale. Interval aktualizácie môže používateľ meniť, štandardná predvolená hodnota je 30 sekúnd. Druhý režim slúži na jednorazové načítanie hodnôt zo servera. Tieto hodnoty sa zmenia až po opätovnom spustení príkazu na čítanie hodnôt. Používateľ má k dispozícii aktuálne hodnoty (periodicky aktualizované) a jednorázovo načítane hodnoty. Jednorazové čítanie hodnôt zo servera pomocou aplikácie je možné realizovať dvomi spôsobmi:
- synchrónne čítanie hodnôt,
- asynchrónne čítanie hodnôt.
Prostredníctvom klientskej aplikácie používateľ môže meniť hodnoty vybraných položiek. Hodnoty môže meniť iba jednej položky v skupine alebo všetkým monitorovaným položkám v skupine naraz. Tak ako čítanie hodnôt zo servera aj zápis nových hodnôt môže byť realizovaný synchrónnym alebo asynchrónnym spôsobom. Údaje položiek, ktoré majú atribút len na čítanie (Read Only) nie je možné meniť.
Dátový tok monitorovacieho systému
Komunikácia komplexného monitorovacieho systému je založená na sieťovom protokole TCP/IP. Nad týmto protokolom prebieha komunikácia dvomi protokolmi, SNMP a OPC. Server komunikuje s pripojenými zariadeniami protokolom SNMP cez štandardné komunikačné porty UDP 161 a 162. Verzia SNMP protokolu je závislá od agenta SNMP.
Klientska aplikácia komunikuje so serverom prostredníctvom protokolu OPC, špecifikácie Data Access verzia 3.0 cez štandardný komunikačný port TCP 135.
Obr. 16 znázorňuje dátovú komunikáciu komplexného monitorovacieho systému založeného na SAEAUT SNMP OPC serveri a navrhovanej klientskej OPC aplikácie. Pre správnu činnosť monitorovacieho systému je dôležité správne nastavenie firewallu operačného systému, t.j. povolenie komunikačných portov a povolenie prístupových práv k DCOM objektom.
Funkčné požiadavky na aplikáciu
Základné funkčné požiadavky kladené na monitorovaciu klientsku aplikáciu:
- Vyhľadanie dostupných OPC serverov na lokálnom počítači alebo v počítačovej sieti,
- Vytvorenie funkčného spojenia s OPC serverom,
- Výber zariadení a položiek, ktoré budú monitorované používateľom, t.j. prieskum adresného priestoru OPC servera. Výber musí byť prehľadný a dostatočne variabilný,
- Monitorovanie vybraných položiek zariadení a to:
- automatické načítanie aktuálnych hodnôt zo servera v určenom intervale,
- jednorazové načítanie hodnôt zo servera,
- Zmena údajov a zápis nových hodnôt, ktoré nemajú atribút len na čítanie.
Vývojový diagram
Činnosť navrhovanej OPC klientskej aplikácie je schematický znázornená vývojovým diagramom (Obr. 17). Aplikácia po spustený testuje dostupnosť OPC serverov na lokálnom počítači. Dostupnosť OPC serverov v počítačovej sieti skontroluje klientska aplikácia manuálnym zadaním príkazu pre hľadanie vzdialených serverov.
Používateľ má možnosť vybrať OPC server zo zoznamu dostupných serverov a pripojiť sa. Ak nastane chyba pri pripájaní na server, používateľ je o tom informovaný.
Po úspešnom pripojení k OPC serveru používateľ vytvorí skupinu položiek, do ktorej vyberie položky cez prieskumníka položiek alebo manuálnym zadaním a spustí monitorovanie. Opäť ak nastane chyba pri vytváraní skupiny alebo neplatnosti položky je o tom používateľ informovaný. Ak nenastane žiadna chyba spustí sa monitorovanie. Údaje sa čítajú zo servera v nastavenom intervale aktualizácie a zobrazujú v hlavnom okne aplikácie.
Zápis nových hodnôt je obdobný proces ako čítanie. Používateľ vyberie položku alebo skupinu položiek, zadá novú hodnotu a príkazom pre zápis sa spustí proces zápisu nových hodnôt. Ak je všetko v poriadku do MIB databázy sa zapíšu nové hodnoty položiek, v opačnom prípade používateľ upovedomený o chybe.
Architektúra aplikácie
Klientska aplikácia je trojvrstvová aplikácia pre prostredie operačného systému Microsoft Windows. Umožňuje vzdialené pripojenie na zdroj údajov, SAEAUT SNMP OPC server alebo SAEAUT OpcDbGateway a monitorovanie vybraných premenných zo zdroja údajov
Aplikácia SNMP OPC klient prezentuje monitorované údaje v grafickej podobe v oknovej aplikácii Windows. Používateľ má možnosť nielen sledovať monitorované položky, ale aj meniť ich hodnoty. Na Obr. 18 je návrh hlavného okna aplikácie. V ľavej časti okna bude zobrazená informácia o aktívnych skupinách monitorovaných zariadení. V pravej časti okna má používateľ možnosť pracovať s položkami a zobrazujú sa hodnoty monitorovaných položiek. Spodná časť okna slúži na doplňujúce informácie o činnosti a stave klientskej aplikácie. Všetky operácie klientskej aplikácie sú dostupné cez hlavné menu aplikácie a panel nástrojov.
Komunikácie monitorovacieho systému (Obr. 19) je zložená s OPC aplikácií. SAEAUT OPC server komunikuje priamo s monitorovanými zariadeniami, SNMP agenti, prostredníctvom SNMP protokolu. Získané údaje poskytuje ďalším aplikáciám.
OpcDbGateway komunikuje s SAEAUT OPC serverom, z ktorého získava údaje o monitorovaných zariadeniach a ukladá ich do procesných databáz. OPC klientska aplikácia komunikuje s SAEAUT OPC serverom alebo OpcDbGateway serverom. Z OPC servera získava aktuálne údaje o procesných veličinách, údaje môže aj meniť. Históriu procesov načíta z OpcDbGateway servera.