Aplikácia OPC Monitor
Obsah
Realizovaná aplikácia OPC Monitor je grafická desktopová aplikácia pre prostredie operačného systému Microsoft Windows. Je napísaná v programovacom jazyku Basic s použitím vývojového prostredia Microsoft Visual Basic 6.0. Vývoj aplikácie zohľadňuje teóriu hlavne z literatúry [13], [16] a [17] a návrh aplikácie popísaný v predchádzajúcej kapitole.
Dátová komunikácie klientskej aplikácie s ďalšími OPC aplikáciami (Obr. 19) prebieha prostredníctvom OPC protokolu, špecifikácia Data Access 3.0. K tomuto účelu je v projekte použitá dynamická knižnica opcproxy.dll, ktorú vyvíja združenie OPC Foundantion. DLL knižnica tvorí rozhranie pre vývoj klientskych OPC aplikácií a serverových aplikácií pre okamžitú výmenu informácií. Táto knižnica obsahuje základné procedúry a metódy potrebné pre vývoj OPC aplikácií.
Základné činnosti aplikácie OPC Monitor:
- Vyhľadanie dostupných OPC serverov na lokálnom počítači alebo v počítačovej sieti.
- Vytvorenie funkčného spojenia medzi klientom a OPC serverom,
- Výber zariadení a položiek do skupiny monitorovaných položiek,
- Monitorovanie položiek:
- 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 položiek.
Hlavné okno aplikácie OPC Monitor sa skladá zo šiestich častí (Obr. 20):
- Hlavné menu a panel nástrojov,
- Zoznam OPC skupín,
- Zoznam dostupných OPC serverov,
- Práca s položkami,
- Vizualizácia údajov,
- Informačný panel.
Z Hlavného menu alebo panela nástrojov je ovládaná celá klientska aplikácia. Príkazy v hlavnom menu a v paneli majú rovnakú funkcionalitu. Aplikáciu je možné ovládať z oboch častí rovnako.
V sekcii zoznam skupín je informácia o názve aktuálne vytvorenej OPC skupiny.
- Zoznam dostupných OPC serverov
- poskytuje používateľovi výber OPC servera, ku ktorému sa následne aplikácia pripojí a bude z neho získavať požadovaná informácie.
- Pridávanie položiek
- slúži na manuálne pridávanie položiek do skupiny, alebo odoberanie položiek zo skupiny.
- Vizualizácia údajov
- v tejto časti aplikácie OPC Monitor sú zobrazované aktuálne hodnoty monitorovaných položiek.
- Informačný panel; informuje používateľa o úspešnom alebo neúspešnom vykonaní príkazov a čas vzniku udalosti.
Konektivita s OPC serverom
Pripojenie k OPC serveru Aplikácia OPC Monitor pri inicializácii kontroluje dostupné OPC servery na lokálnom počítači. Zoznam nájdených serveroch je uložený do rolovacieho menu (Obr. 21) v časti Server name.
Vo výpise č. 2 je ukážka zdrojového kódu aplikácie, ktorý sa vykoná pri štarte aplikácie OPC Monitor. Do premennej MyOPCServer sa vytvorí nový objekt typu OPCServer. Príkaz MyOPCServer.GetOPCServers hľadá OPC aplikácie typu server, ktoré sú inštalované na lokálnom počítači. Uvedený príkaz hľadá záznamy o OPC aplikáciách v registroch Windows. Výsledok hľadanie je uložený do premennej AnOPCServerList. Cyklus For vypíše nájdené serveri z premennej AnOPCServerList do rolovacieho menu (cmbListServer) (Obr. 21).
Na pripojenie k vybratému OPC serveru slúži príkaz z hlavného menu (Obr. 22) Server->Connect alebo tlačidlo z panela nástrojov Connect to Server, ktorá zavolá funkciu Connect (Výpis č. 3).
Výpis č. 2 Funkcia pre hľadanie OPC serverov
MyTID = 1
Dim AnOPCServerList As Variant
Dim i As Integer
Dim setVal As Integer
Dim SNums As Integer
Dim srvList() As String
Dim ProgID As Variant
Set MyOPCServer = New OPCServer
i = 1
AnOPCServerList = MyOPCServer.GetOPCServers
For Each ProgID In AnOPCServerList
If (AnOPCServerList(i) <> "") Then
Me.cmbListServer.AddItem (AnOPCServerList(i))
If AnOPCServerList(i) = "SAEAutomation.SNMPOpcServerDA.3" Then
setVal = i
End If
i = i + 1
End If
Next
Me.cmbListServer.ListIndex = (setVal - 1)
Me.cmbListServer.Enabled = True
V prípade neúspešného pripojenia k serveru aplikácia informuje používateľa o chybe pripojenia. Po úspešnom pripojení aplikácia OPC Monitor automaticky prehľadáva adresný priestor OPC servera a nájdené zariadenia uloží do pamäti.
Výpis č. 3 Pripojenie k OPC serveru
Call MyOPCServer.Connect(cmbListServer.Text)
Informácie o pripojenom OPC servery získame príkazom z hlavného menu (Obr. 22) Server->Properties alebo z panela nástrojov Server Properties. Najdôležitejší údaj je Server State, ktorý hovorí o aktuálnom stave OPC servera, t.j. v akom pracovnom režime sa server nachádza (Tab. 15).
Zobrazovaný text | Význam |
---|---|
Server is Runnig | Server pracuje bez problémov |
Server Failed | Spojenie zo serverom zlyhalo |
No Configuration | Žiadna konfigurácia |
Server Suspended | Server je pozastavený |
Server Test Mode | Server pracuje v testovacom režime |
Server Disconnected | Klient nie je pripojený k serveru |
Unknown Status | Neznámy stav alebo server je odpojený |
Pomocou aplikácie OPC Monitor je možné vytvoriť spojenie medzi klientskou aplikáciou a OPC serverom cez počítačovú sieť. Použitím príkazu z hlavného menu (Obr. 22) Server->Remote alebo kliknutím na tlačidlo Find & Connect to Remote Server v paneli nástrojov sa zobrazí dialógové okno (Obr. 23) pre pripojenie k vzdialenému OPC serveru.
Kliknutím na tlačidlo Find sa zavolá funkcia GetOPCServers (Výpis č. 4), ktorá hľadá inštalované OPC serveri na zadanom počítači (premenná txtNode.Text). Názov počítača (doménové meno) alebo jeho IP adresa sa zapisuje do textového poľa „Enter IP Address or Hostname“.
Výpis č. 4 Hľadanie OPC serverov v sieti
AnOPCServerList = MyOPCServer.GetOPCServers(txtNode.Text)
Zoznam nájdených serverov je uložený do rolovacieho menu cmbListServer. Kliknutím na tlačidlo Connect sa zavolá funkcia Connect (Výpis č. 5), ktorá vytvorí spojenie zo serverom s názvom uloženým v premennej cmbListServer.Text na počítači s adresou uloženou v premennej txtNode.Text.
Výpis č. 5 Pripojenie k vzdialenému OPC serveru
Call MyOPCServer.Connect(cmbListServer.Text, txtNode.Text)
Odpojenie od OPC servera.
Pre odpojenie od aktuálneho OPC servera použijeme príkaz z hlavného menu (Obr. 22) Server->Disconnect alebo klikneme na tlačidlo v paneli nástrojov Disconnect from Server. Funkcia MyOPCServer.Disconnect (Výpis č. 4) ukončí aktuálne spojenie zo serverom a objekt typu OPCServer je zrušený, premenná MyOPCServer je nastavená na prázdnu hodnotu.
Výpis č. 6 Ukončenie spojenia z OPC serverom
MyOPCServer.Disconnect
Skupiny
Skupina organizuje položky do jednotného celku. Vytvorenie minimálne jednej skupiny je povinné. Skupina sa vytvára po pripojení k OPC serveru, ale ešte pred výberom položiek k monitorovaniu. Každá skupina je špecifikovaná týmito vlastnosťami:
- Meno skupiny,
- Interval aktualizácie,
- Časové omeškanie,
- Mŕtve pásmo,
- Stav aktivity.
- Meno skupiny
- (Group Name) je jedinečný identifikátor skupiny monitorovaných položiek.
- Interval aktualizácie
- (Update Rate) je čas, ktorý sa udáva v milisekundách a určuje v akej frekvencii sa budú aktualizovať sledované hodnoty zo servera. Každej skupine je možné nastaviť iný interval aktualizácie.
- Časové omeškanie
- (Time Bias) je čas v minútach a špecifikuje časový rozdiel medzi klientom alebo serverom a monitorovaným zariadením. Štandardná hodnota je 0 (nula) minút.
- Mŕtve pásmo
- (Dead Band) sa udáva v percentách, jeho štandardná hodnota je 0 (nula) percent. Používa sa na nastavenie určitého pásma, pri ktorom sa údaje nebudú aktualizovať. V praxi to znamená, že ak je hodnota mŕtveho pásma na stavená na 5 percent, údaje v klientovi sa budú aktualizovať len v prípade ak sa pôvodná hodnota zmení o 5 percent. Využitie tohto nastavenie je pri monitorovaní stavových veličín, napr. teplota.
- Stav aktivity
- skupiny má len dve hodnoty aktívny a neaktívny. Ak je nastavený stav skupiny aktívny znamená to, že hodnoty položiek sa budú aktualizovať v nastavenom časovom intervale aktualizácie (Update Rate). V opačnom prípade sa hodnoty položiek načítajú iba raz a ďalej sa neaktualizujú.
Na vytvorenie novej skupiny použijeme príkaz z hlavného menu (Obr. 25) Group->Add Group alebo kliknutím na tlačidlo Add Group v paneli nástrojov. Zobrazí sa dialógové okno (Obr. 24), v ktorom sú preddefinované štandardné vlastnosti OPC skupiny. Preddefinované hodnoty môže používateľ zmeniť a zadať nové vlastnosti skupiny.
Kliknutím na OK (Obr. 25) je volaná funkcia (Výpis č. 7), ktorá vytvorí novú skupinu položiek. Funkcia vytvorí nový objekt MyGroups typu OPCGroups, v ktorom je následne vytvorená nová skupina (MyGroup) a sú nastavené jej vlastnosti. Po úspešnom vytvorení novej skupiny sa jej názov zobrazí v zozname skupín v hlavnom okne aplikácie.
Výpis č. 7 Vytvorenie OPC skupiny
Set MyGroups = MyOPCServer.OPCGroups
MyGroups.DefaultGroupUpdateRate = txtUpdateRate.Text
Set MainForm.MyGroup = MyGroups.Add(txtGroup.Text)
MainForm.MyGroup.DeadBand = txtDeadBand
MainForm.MyGroup.TimeBias = txtTimeBias
MainForm.MyGroup.IsSubscribed = True
If chkActiveGroup.Value = 1 Then
MainForm.MyGroup.IsActive = True
Else
MainForm.MyGroup.IsActive = False
End If
Informáciu o vlastnostiach vytvorenej skupiny (Obr. 26) vypíšeme príkazom z hlavného menu (Obr. 25) Group->Properties alebo kliknutím na tlačidlo Group Properties v paneli nástrojov.
Na vymazanie vytvorenej skupiny použijeme príkaz z hlavného menu Group->Remove Group alebo tlačidlo v panely nástrojov Remove Group
Práca s OPC položkami
OPC položky reprezentujú odkaz na zdroj údajov v adresnom priestore OPC servera, OPC položky nie sú fyzické dáta. Každý objekt typu OPC položka má tieto základné vlastnosti:
- ID,
- Názov,
- Hodnota,
- Dátový typ,
- Kvalita,
- Časová pečiatka.
- ID
- je číselný identifikátor položky, ktorým sa identifikujú OPC položky pri všetkých operáciách.
- Názov položky
- je textový reťazec, ktorý sa skladá z názvu zariadenia a celej cesty k položke v MIB databáze.
- Hodnota
- prezentuje aktuálnu číselnú alebo textovú hodnotu monitorovanej položky
- Dátový typ
- určuje akého dátového typu je monitorovaná položka (celé číslo, textový reťazec a pod. Tab. 16)
- Kvalita
- informuje o stave komunikačnej linky medzi OPC serverom a monitorovaným zariadením (Tab. 17).
- Časová pečiatka
- je časový údaj, ktorý hovorí o čase poslednej aktualizácie hodnoty OPC položky. Na základe tohto údaju sa aktualizujú hodnoty položiek v klientskych OPC aplikáciách. V praxi to znamená, že v každom intervale aktualizácie (vlastnosť skupiny Update Rate) sa aktualizujú iba zmenené údaje. Klientska aplikácia pracuje efektívnejšie a rýchlejšie a zaťaženie siete je nižšie.
V OPC špecifikácii sú položky podriadenými objektmi OPC skupiny. Skupina musí obsahovať minimálne jeden objekt typu OPC položka. Skupiny aj položka môže byť verejná alebo súkromná. Verejné položky môže medzi sebou zdieľať viacerí OPC klienti, súkromné položky sú k dispozícii iba konkrétnemu klientovi.
Pridávanie položiek do skupín
Pred samotným pridaním položiek do skupiny je nutné určiť, ktoré položky budú pridané, to znamená, ktoré položky budú monitorované. Aplikácia OPC Monitor umožňuje výber položiek dvomi spôsobmi.
Prvý spôsob je náročnejší na znalosť MIB databázy a vlastností pripojeného zariadenia. Názov položky sa zadáva v sekcii Data Items v hlavnom okne aplikácie (Obr. 27). V ľavej časti sekcie je k dispozícii rolovacie menu zo zoznamom zariadení definovaných v adresnom priestore OPC servera. Do editačného políčka sa zapisuje celé cesta k položke napr. mib_2.system.sysName.sysName_0. Stlačením klávesy Enter alebo kliknutí na tlačidlo Add sa ID a názov položky zobrazí v časti pre vizualizácie položiek. V tomto momente položka ešte nie je pridaná do skupiny, ale je pripravená na pridanie.
Dátový typ | Význam |
Native | Nešpecifikovaný typ |
Integer | Celočíselný nezáporný 16 bitový typ |
Long | Celočíselný nezáporný 32 bitový typ |
Float | 32 bitové číslo s desatinnou čiarkou |
Double | 64 bitové číslo s desatinnou čiarkou |
Currency | Mena |
Date | Dátum |
String | Textový reťazec |
Object | Dátový objekt |
Boolean | Pravdivostný typ, hodnoty 0 a 1 |
Variant | Nešpecifikovaná premenná |
Data Access | Dátový prístup |
Decimal | Desiatkové číslo |
Byte | 8 bitová nezáporná premenná |
Do jednej skupiny je možné pridať maximálne desať položiek (obmedzenie aplikácie OPC Monitor). Poslednú položku v zozname môžeme zmazať kliknutím na tlačidlo Move alebo stlačením klávesu Escape.
Druhý spôsob výberu položiek je oproti prvému menej náročný na znalosti konkrétneho zariadenia a odpadá riziko zle zadaného názvu položky pri manuálnom spôsobe. Položky do zoznamu sú vyberané pomocou prieskumníka položiek (Items Browser) (Obr. 29). Okno prieskumníka vyvoláme príkazom v hlavnom menu (Obr. 28) Items->Browse Items alebo kliknutím na tlačidlo Items Browser v paneli nástrojov.
V ľavej časti prieskumníka je zobrazený adresný priestor OPC servera. Má stromovú štruktúru a jednotlivé vetvy je možné prezerať kliknutím [+]. Po výbere vetvy, resp. adresára v MIB databáze, sa v pravej časti prieskumníka zobrazia všetky jej položky. Výberom položky v pravej časti sa jej úplný názov zobrazí v editačnom políčku v hornej časti prieskumníka. Položka je zaradené do výberu kliknutím na tlačidlo Add. Kliknutím na tlačidlo Close sa ukončí výber položiek a prieskumník sa zatvorí.
Po ukončení výberu sú položky pripravené na pridanie do skupiny a následné čítanie ich hodnôt. Na pridanie položiek do skupiny použijeme príkaz z hlavného menu (Obr. 28) Items->Add Items alebo kliknutím na tlačidlo Add Items v panely nástrojov.
Výpis č. 8 Pridanie položiek do skupiny
Set MyItems = MyGroup.OPCItems
For i = 1 To items
ItemIDs(i) = ItemGrid.TextMatrix(i, 1)
Next
For i = 1 To items
ItemClientHandles(i) = i
Next
Call MyItems.AddItems(items, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)
Príkaz Add Items zavolá funkciu (Výpis č. 8), ktorá vytvorí nový objekt MyItems typu OPC Items. Cyklus For načíta položky zo zoznamu a vloží ich do premennej ItemClientHandles.
Odoberanie položiek zo skupín
Na odobratie položiek zo skupiny slúži príkaz Items->Remove Items z hlavného menu (Obr. 28) alebo tlačidlo Remove Items z panela nástrojov. Príkaz zavolá funkciu MyItems.Remove (Výpis č. 10), ktorá odoberie všetky položky zo skupiny.
Položky sú odobraté zo skupiny, t.j. skupina je prázdna hodnoty sa neaktualizujú. A však zo zoznamu položiek, v hlavnom okne aplikácie, ešte nie sú vymazané. V tomto bode je možné položky opätovne pridať do skupiny a znovu monitorovať alebo upravovať ich zoznam. Pridávať nové položky alebo odstrániť postupom uvedeným v kapitole 7.4.1.
Výpis č. 10 Odobratie položiek zo skupiny
Call MyItems.Remove(items, MyItemServerHandles, Errors)
Čítanie hodnôt položiek
Ak je vlastnosť skupiny nastavená na aktívna, t.j. je vybratá voľba Make Group Active (Obr. 24) je automaticky aktivovaná funkcia, ktorá periodicky získava údaje zo servera a zobrazuje ich v hlavnom okne aplikácie. Ukážka zdrojového kódu funkcie je vo výpise č. 9.
Výpis č. 9 Výpis hodnôt monitorovaných položiek
For i = 1 To NumItems
If ClientHandles(i) > 0 And ClientHandles(i) < 11 Then
If Qualities(i) = 192 Then
ItemGrid.TextMatrix(ClientHandles(i), 2) = ItemValues(i)
Else
ItemGrid.TextMatrix(ClientHandles(i), 2) = GetQualityText(Qualities(i))
End If
Else
MsgBox "DataChange Item " + Str$(i) + " has invalid Client Handle ", vbCritical
End If
Next
Cyklus For zisťuje stav komunikácie pre každú položku (Tab. 17), ak je jeho hodnota rovná 192, tzn. všetko je v poriadku, zobrazí aktuálnu hodnotu monitorovanej položky. Ak klient nedokáže získať hodnoty zo servera, namiesto hodnoty sa zobrazí textová informácia o stave komunikácie (Tab. 17). Pri aktívnej skupine sa aktualizujú hodnoty položiek v pravidelnom intervale, ktoré sa zobrazujú v sekcii pre vizualuzáciu položiek v hlavnom okne aplikácie OPC Monitor v stĺpci „Current Value“ (Obr. 30). Z OPC servera sa načítavajú iba zmenené údaje (Kap. 7.3). Okrem periodického čítania hodnôt dovoľuje OPC protokol aj samostatné (jednorazové) získanie hodnôt položiek zo servera. Protokol používa dva spôsoby čítania hodnôt zo servera:
- Synchrónne čítanie,
- Asynchrónne čítanie.
Text | Číselná hodnota | Stav komunikácie |
BAD | 0 | Zlý |
UNCERTAIN | 64 | Nestabilný |
GOOD | 192 | Dobrý – zobrazujú sa hodnoty |
NOT_CONNECTED | 8 | Nepripojený |
DEVICE_FAILURE | 13 | Zariadenie zlyhalo |
SENSOR_FAILURE | 16 | Senzor zlyhal |
LAST_KNOWN | 20 | Posledná známa hodnota |
COMM_FAILURE | 24 | Komunikácia zlyhala |
OUT_OF_SERVICE | 28 | Položka nie je aktualizovaná |
LAST_USABLE | 132 | Posledný použitý |
SENSOR_CAL | 144 | Kalibrácia senzorov |
EGU_EXCEEDED | 148 | Limit EGU prekročený |
SUB_NORMAL | 152 | Viacero zdrojov |
LOCAL_OVERRIDE | 216 | Manuálne ovládanie |
UNKNOWN_QUALITY | – | Neznámy |
V aplikácii OPC Monitor sa takto načítané hodnoty zobrazia v sekcii vizualizácie v stĺpci Read Value (Obr. 30). Tieto hodnoty sa prepíšu až po opätovnom zavolaní funkcie pre načítanie hodnôt.
Pri synchrónnom čítaní hodnôt položiek zo servera je požiadavka spracovaná prioritne pred ostatnými požiadavkami. OPC server zastaví vykonávanie ostatných požiadaviek a začne čítať údaje zo zariadenia. Výhodou tejto metódy je, že naša požiadavka bude vždy spracovaná a výsledky zodpovedajú hodnotám reálneho času. Naopak, veľa požiadaviek na synchrónny prenos dát môže negatívne ovplyvniť výkon a reakcie klienta i servera. Synchrónne čítanie údajov v klientskej aplikácii spustíme príkazom Items->Read Items->Synchronous z hlavného menu (Obr. 28) alebo z panela nástrojov kliknutím na tlačidlo Read Items Synchronous. Príkaz zavolá funkciu SyncRead (Výpis č. 11), ktorá načíta hodnoty položiek z OPC servera. Hodnoty sú načítané do premennej Values, výpis hodnôt zabezpečí cyklus For.
Výpis č. 11 Funkcia pre synchrónne čítanie hodnôt
Call MyGroup.SyncRead(OPCDevice, items, MyItemServerHandles, Values, Errors, Qualities, TimeStamps)
Asynchrónne čítanie nevyžaduje okamžitú reakciu na požiadavku klienta. Dovoľuje serveru uprednostniť iné úlohy a optimalizovať čas reakcie. Klient, pri asynchrónnom čítaní, môže pokračovať v spracovaní iných úloh.
Výhodou tohto spôsobu čítania dát je, že neznižuje výkon monitorovacieho systému, čas reakcie sa optimalizuje podľa zaťaženia systému. Je vhodné ho používať pri vyťažených systémoch, alebo ak klient a server nie sú na jednom počítači a komunikujú cez sieť (lokálnu alebo verejnú). Nevýhodou asynchrónnej metódy je, že nie zaručená reakcia systému na požiadavku klienta.
Výpis č. 12 Funkcia pre asynchrónne čítanie hodnôt
Call MyGroup.AsyncRead(items, MyItemServerHandles, Errors, MyTID, CID)
Asynchrónne čítanie údajov v aplikácii OPC Monitor spustíme príkazom z hlavného menu (Obr. 28) Items->Read Items->Asynchronous alebo kliknutím v panely úloh na tlačidlo Read Items Asynchronous. Príkaz zavolá funkciu AsyncRead (Výpis č. 12), ktorá zašle požiadavku na asynchrónne čítanie OPC serveru. Po vykonaní požiadavky a vrátení odpovede klientovi, funkcia zavolá ďalšiu funkciu AsyncReadComplete (Výpis č. 13). Táto funkcia z premennej ItemValues pomocou cyklu For vypisuje údaje do tabuľky v stĺpci Read Value v hlavnom okne aplikácie (Obr. 30).
Výpis č. 13 Výpis asynchrónne čítaných hodnôt
For i = 1 To NumItems
If Not Errors(i) = 0 Then
MsgBox "AsyncReadComplete Item Clienthandle = " + Str$(ClientHandles(i)) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
ElseIf ClientHandles(i) > 0 And ClientHandles(i) < 11 Then
If Qualities(i) = 192 Then
ItemGrid.TextMatrix(ClientHandles(i), 3) = ItemValues(i)
Else
ItemGrid.TextMatrix(ClientHandles(i), 3) = GetQualityText(Qualities(i))
End If
Else
MsgBox "AsyncReadComplete Item " + Str$(i) + " has invalid Client Handle ", vbCritical
End If
Next
Zápis nových hodnôt
Prostredníctvom klientskej aplikácie OPC Monitor je možné zadávať nové hodnoty položiek monitorovaného zariadenia. Podobne ako pri čítaní hodnôt zo servera aj pre zápis OPC protokol podporuje dva spôsoby zápisu nových hodnôt:
- Synchrónny zápis
- Asynchrónny zápis
Obidve uvedené metódy zápisu používajú rovnaké spôsoby ako pri čítaní hodnôt položiek zo servera, preto pre ne platia tie isté výhody a nevýhody, ktoré sú popísané v predchádzajúcej kapitole.
Pre zápis nových hodnôt položiek použijeme príkaz z hlavného menu (Obr. 28) Items->Write Items alebo klikneme na tlačidlo Write Items Values v paneli nástrojov. Zobrazí sa dialógové okno (Obr. 31) pre zápis nových hodnôt položiek.
Pri inicializácii dialógového okna sa do tabuľky načítajú údaje o položkách:
- ID položky,
- Názov položky (Item Name),
- Aktuálne hodnota položky (Current Value),
- Dátový typ (Data Type) (Tab. 16),
- Prístupové práva (Data Access).
Dôležitým údajom pri zadávaní nových hodnôt sú prístupové práva k danej položke. Používateľa aplikácie informuje o tom, či je možné hodnotu meniť alebo nie. Hodnotu položky je možné len v tom prípade, že jej prístupové práva sú typu Write (Zápis), inak sú údaje iba na prezeranie (právo Read Only) a nemôžu sa meniť.
Výpis č. 14 Asynchrónny zápis hodnôt
Call MainForm.MyGroup.AsyncWrite(items, MyItemServerHandles, Values, Errors, MyTID, CID)
Nová hodnota položky sa zadáva do stĺpca Write Value a jej dátový typ musí byť totožný s dátovým typom zobrazeným v stĺpci Data Type (Obr. 31), v opačnom prípade zápis skončí neúspešne.
Aplikácia OPC Monitor umožňuje zapísať naraz nové hodnoty všetkým položkám alebo iba vybratým položkám. Ak zostane bunka v stĺpci Write Value prázdna, hodnota položky sa nezmení.
Výpis č. 15 Synchrónny zápis hodnôt
Call MainForm.MyGroup.SyncWrite(items, MyItemServerHandles, Values, Errors)
Samotný zápis nových hodnôt položiek spustíme kliknutím na tlačidlo Write & Close. Pre zápis nových hodnôt asynchrónnym spôsobom, voľba Write Items Asynchronous, sa zavolá funkcia AsyncWrite (Výpis č. 14), ktorá odošle požiadavku pre asynchrónny zápis OPC serveru. Pri zápise nových hodnôt synchrónnym spôsobom, voľba Write Items Synchronous, je volaná funkcia SyncWrite (Výpis č 15).
Použitie aplikácie OPC Monitor
Aplikácia OPC Monitor v spojení s SAEAUT SNMP OPC serverom alebo OpcDbGateway serverom môže byť použitá v priemyselnom podniku na monitorovanie technologických zariadení, ktoré používajú snímače a akčné členy od rôznych výrobcov.
Taktiež môže byť aplikácia použitá v budovách na monitorovanie snímačov teploty, vlhkosti a pod.
Aplikáciu je možné použiť aj pri monitorovaní sieťových zariadení, napr. aktuálny stav elektrického napätia záložného zdroja.
Aplikáciu OPC Monitor možno spúšťať na všetkých zariadeniach s operačným systémom Microsoft Windows. Vďaka podpore vzdialeného pripojenia k OPC serveru, nie je podmienka prítomnosti OPC servera na tom istom zariadení.