Ovladač umožnuje komunikaci aplikací systému Control Web
s OPC servery třetích stran. Ovladač je kompatibilní se standardy
OPC Data Access v1 i v2 publikovaným společností OPC
Foundation.
Obsah - OPC ovladač pro Control Web
- Co je OPC
- Verze OPC
- Přenos dat v OPC
- Prostor jmen v OPC
- Přenos polí hodnot
- Inicializace OPC serverů
- Vzdálené servery a DCOM
- Konfigurační soubory OPC ovladače
- Parametrický soubor
- Sekce [server]
- Sekce [channels]
- Příklad parametrického souboru
- Konfigurační nástroj OPC ovladače
- Výběr OPC serveru
- Výběr kanálů
- Přiřazení čísel kanálů
- Přiřazení čísel polím kanálů
- Parametry ovladače
- Generování konfiguračních souborů
- Načtení parametrického souboru
Co je OPC
OLE for Process Control (OPC) představuje první úspěšnou
iniciativu standardizující komunikační rozhraní mezi prvky
průmyslové automatizace — průmyslovými
automaty, čidly a akčními členy na jedné straně a řídicími či
operátorskými počítači a průmyslovými informačními systémy na
straně druhé. Ze standardu OPC profitují především uživatelé,
kteří díky němu přestávají být vázáni na programové a technické
vybavení podporující pouze vlastnické protokoly zavedených firem
(zejména pokud tyto firmy brání své postavení právními překážkami
zabraňujícími implementaci daného protokolu třetím stranám).
Standard OPC spravuje nezisková organizace OPC Foundation (http://www.opcfoundation.org/) a implementace
tohoto standardu je dostupná všem bez jakýchkoliv licenčních
poplatků.
OPC tvoří programovou vrstvu mezi technickým vybavením a
programy s tímto hardware komunikujícími. Prvky průmyslové
automatizace vybavené OPC serverem jsou nyní podobně snadno a
bezproblémově použitelné, jako např. grafické karty vybavené
ovladačem pro daný operační systém — nikdo
není nucen zabývat se technickými detaily konstrukce čipu dané
karty a jejím programovým rozhraním, stačí instalovat ovladač a
vše pracuje. Stejně tak stačí na daném počítači instalovat
patřičný OPC server pro použitý hardware a programy schopné se na
tento server napojit (OPC klient) jsou s tímto hardware
schopny komunikovat.
Technicky je standard OPC založen na komponentové technologii
COM firmy Microsoft. Název sice napovídá spíše na použití
nadstavby COM pro tvorbu složených dokumentů — OLE (Object Linking and Embedding), ale dnes lze jen
těžko stanovit hranici kde končí COM a kde začíná OLE, zvláště
když se hry zapojí další marketingové názvy, jako např. Active
X. Protože sama firma Microsoft technologii COM používá
k implementaci řady komponent v operačních systémech
Windows, je COM široce podporován a obsahuje řadu vlastností velmi
užitečných i pro OPC, jako například globální registraci
komponent (každý OPC klient přesně ví jak se dostat k OPC
serveru), kategorie komponent (OPC klient může snadno zjistit
které OPC servery a jakých verzí jsou na daném počítači dostupné)
apod.
Samotný standard OPC je poměrně široký a různé jeho části
pokrývají různé oblasti průmyslové automatizace. Úplným základem
je ale standard OPC Data Access, kterého jako minimální
podmnožiny využívá i ovladač OPC klient pro systém
Control Web.
Verze OPC
S narůstajícími zkušenostmi s použitím OPC se samozřejmě
vyvíjí i standard sám. V současné době (rok 2012)
existují tři hlavní verze standardu OPC Data Access — verze 1,verze 2 a verze 3. Vzhledem k povaze
komponentové technologie COM, která je postavena na jednotlivých
vzájemně nezávislých rozhraních komponent namísto jediného
rozhraní, zůstala některá rozhraní OPC verze 1 zachována i ve
verzi 2. Ovšem některé vlastnosti OPC verze 1 byly ve verzi 2
zrušeny a nahrazeny zcela jinými rozhraními. Ve verzi 3 zůstala
zachována všechna komunikační rozhraní z verze 2.
Výhodou technologie COM je, že každý klient je schopen bezpečně
rozpoznat, s jakou verzí OPC serveru pracuje a požadovat po
serveru rozhraní odpovídající dané verzi. Mohou tak existovat
klienti pracující s OPC servery verze 1 i verze 2. Na
druhé straně orientace COM na rozhraní současně dovoluje, aby
server implementoval všechna rozhraní verze 1, 2 i verze 3 a
byl tak schopen pracovat s klienty vyžadujícími právě jednu
verzi serveru.
Přes značnou flexibilitu OPC serverů i klientů ale OPC
standard jasně definuje, která rozhraní jsou v dané verzi
povinná, a která jsou volitelná. Implementace OPC serveru, která
neobsahuje určité rozhraní v dané verzi povinné, je jednoduše
špatná implementace. Vzhledem k již dříve zmiňované orientaci
COM na jednotlivá rozhraní to sice některým klientům nemusí vadit
(stačí aby klient o dané rozhraní nepožádal), jiný klient ale
toto rozhraní může vyžadovat a chybovost serveru se tak
projeví.
Ovladač OPC pro Control Web dokáže pracovat
s OPC servery verze 1, 2 i verze 3.
Přenos dat v OPC
OPC standard definuje řadou způsobů komunikace, aby
vyhověl různým požadavkům klientů:
Synchronní komunikace vždy čekající na přenos dat z/do
zařízení.
Synchronní komunikace pracující s vyrovnávací pamětí
serveru (cache).
Asynchronní komunikace (vždy komunikuje se
zařízením).
Periodická komunikace serveru se zařízením a zpětné
volání klienta při změně dat.
Sebelepší definice rozhraní obsahující jednoznačný popis
chování ale naneštěstí nemůže zabránit autorům OPC serverů, aby
při jejich implementaci tato pravidla porušovali. Lze se tedy
setkat se servery, které například zcela ignorují požadavky na
čtení dat ze zařízení a vždy vracejí data z vyrovnávací
paměti. OPC ovladač sice bude s takovým serverem pracovat,
ale již nelze zaručit správnost chování aplikace, zejména pokud
aplikace spoléhá na potvrzování komunikace dat apod.
OPC ovladač pro Control Web u serverů
verze 1 používá výhradně synchronního přenosu dat. Asynchronní
přenos dat v OPC verze 1 trpěl řadou nedostatků a mnohé
servery jej nepodporovaly. To je také důvod, proč byl asynchronní
přenos dat v OPC verze 2 zcela přepracován a používá se
jiných rozhraní umožňujících výrazně efektivnější komunikaci.
Použití synchronního přenosu se neprojevuje negativně na
průchodnosti aplikace systému Control Web — OPC ovladač z hlediska
systému Control Web pracuje vždy asynchronně a
neblokuje aplikaci čekáním na ukončení synchronního čtení a zápisu
dat.
U OPC serverů verze 2 a 3 je implicitně používán asynchronní
přenos dat a synchronní přenos je použit jen pokud je to
explicitně vyžádáno (viz. parametr sync
v kapitole Parametrický soubor).
Další možností, kterou OPC klient podporuje, je využít
synchronní komunikaci z vyrovnávací paměti. Při tomto způsobu
komunikace je nutné nastavit periodu obnovování dat ve vyrovnávací
paměti (viz. parametr update_rate v kapitole
Parametrický soubor). V systému Control Web je možné buď číst kanály, to znamená číst hodnoty
z vyrovnávací paměti nebo v událostní proceduře
On...Change(...) čekat na změnu hodnoty.
Tento způsob komunikace předpokládá, že server sám dokáže
vyvolávat komunikaci s periferií a buď jen ukládat přečtená
data do vyrovnávací paměti (odkud mohou být synchronně čtena) nebo
předávat data klientovi zpětným voláním (jeden ze způsobů
asynchronní komunikace).
V aplikaci jsou tedy tyto možnosti:
Výchozí nastavení - čtení/zápis kanálů způsobí
asynchronní komunikaci přímo ze/do zařízení.
Parametr sync=true - čtení/zápis kanálů
způsobí synchronní komunikaci přímo ze/do zařízení.
Nastaven parametr update_rate - čtení kanálů
znamená přečtení hodnoty z vyrovnávací paměti. Server
obnovuje vyrovnávací paměť dle parametru update_rate.
Nastaven parametr update_rate, definována
událostní procedura On...Change datové sekce kanálů
- Server obnovuje vyrovnávací paměť dle parametru update_rate.
Pokud se změní hodnota některé položky, informuje OPC server
klienta. OPC klient přenese informaci o změně do systému
Control Web a v odpovídající datové sekci
je vyvolána událostní procedura On...Change.
Problematika přenosu dat v OPC je podstatně složitější a
je kompletně popsána v dokumentu Data Access Custom
Interface Standard vydaném OPC Foundation. Nicméně
k použití OPC ovladače pro Control Web není
znalost detailů způsobu komunikace v OPC naprosto zapotřebí,
OPC ovladač používá vlastností OPC přesně odpovídající požadavkům
na chování ovladače systému Control Web a
uživatel má zaručeno, že všechny mechanismy komunikace systému
Control Web (kvalita přenosu, časové známky,
prodlevy komunikace apod.) budou převedeny do OPC a zpět zcela
transparentně.
Prostor jmen v OPC
Každý OPC server definuje nějaký prostor jmen, jimiž
identifikuje všechny datové položky (kanály), které má
k dispozici. Prostor jmen může být jednoúrovňový (též
označovaný jako plochý) nebo hierarchicky strukturovaný (podobně
jako např. strom adresářů a souborů na disku počítače).
OPC server může (ale nemusí) poskytovat rozhraní, které umožní
prohledávat jeho jmenný prostor. To je velmi užitečné, protože
jakákoliv komunikace s OPC serverem vyžaduje zařazení každé
položky (kanálu) do nějaké skupiny a každou položku je nutno
přesně pojmenovat. Pokud server nemá rozhraní poskytující jména
položek, je na uživateli a výrobci daného serveru aby zvolili
způsob zadávání jmen.
Specifikace OPC nedefinuje žádná pravidla pro definici jmen
položek. Je zcela na OPC serveru, jak jména definuje a jaké znaky
v nich použije. Jména položek tak mohou obsahovat mezery,
speciální symboly apod.
Přenos polí hodnot
Protože je OPC založeno na technologii COM, využívá
k přenosu dat COM mechanismů. Ovšem popis dat v COM
(struktura VARIANT) zahrnuje nejen jednotlivé hodnoty (skalární
veličiny), ale také celá pole. Je tedy záležitostí OPC serveru,
jestli svá data zpřístupní v podobě skalárních datových
položek nebo polí.
Ačkoliv přenos skupiny hodnot v jednom poli vypadá lákavě
(není nutné zvlášť definovat jednotlivé položky), přináší
s sebou i nevýhody — není totiž
možné přenášet jednotlivé elementy pole samostatně. Přenos (čtení
či zápis) i jen několika prvků pole tedy znamená alokaci
paměti pro všechny jeho prvky, kopírování hodnot všech jeho
elementů a předání celé struktury COM vrstvě. U malých polí
to nepředstavuje problém, u velkých polí se stovkami či
tisíci prvky je nutné s touto režií počítat.
Přenos celých polí ale není součástí rozhraní mezi systémem
Control Web a ovladačem. Důvodem je především
výše zmíněná nemožnost optimalizovat přenosy dat a přenášet pouze
potřebné hodnoty. Přesto systém Control Web
umožňuje na aplikační úrovni práci s poli kanálů. Ovšem co je
pro aplikaci pole, je pro ovladač řada diskrétních kanálů.
Jakýkoliv souvislý blok kanálů (kanálů očíslovaných nepřerušenou
vzestupnou řadou) může být v aplikaci definován jako pole.
Pak záleží jen na ovladači jak optimalizuje komunikaci, pokud jsou
z potenciálně velkého pole změněny jen některé jeho
prvky.
Pokud tedy má OPC ovladač zpřístupnit datovou položku OPC
serveru, která je celým polem, přemapuje toto pole jako skupinu
jednotlivých kanálů. Pokud je pole vícerozměrné, linearizace se
prování v souladu se způsobem ukládáním polí v systému
COM tak, že nejrychleji se mění nejlevější index. Např. matice je
tedy uložena po sloupcích (jako např. v jazycích Visual Basic
a FORTRAN) a nikoliv po řádcích (jako např. v jazycích Pascal
či C/C++).
Aby mohl ovladač přemapovat pole hodnot do jednotlivých kanálů,
je nutné aby kanály byly číslovány nepřerušenou vzestupnou řadou.
Syntax PAR souboru (popsána dále) splnění této podmínky
zaručuje.
Protože pole jsou ovladačem prezentována jako jednotlivé
kanály, nic nebrání aplikaci přistupovat k prvkům
individuálně, definovat pole odpovídající polím v OPC serveru
nebo tyto způsoby libovolně kombinovat (je dokonce možné definovat
pole, které přesahuje hranici pole OPC serveru a obsahuje další
kanály či pole, pokud jsou kanály číslovány sekvenčně). Na úrovni
ovladače ale budou OPC pole komunikována najednou a je proto velmi
vhodné, aby pole v OPC serveru bylo definováno jako pole
i v aplikaci a k žádnému křížení nedocházelo. Nástroje
pro automatickou tvorbu konfiguračních PAR a DMF souborů (popsané
dále) se tímto pravidlem řídí.
Inicializace OPC serverů
OPC servery jsou poměrně komplexní programy, které často
v rámci svého startu provádí vlastní inicializaci. Tato
inicializace může zahrnovat např. prohledávání registrační
databáze (Windows Registry), načítání konfiguračních souborů,
alokování vnitřních datových struktur apod. Každopádně ne každý
server je schopen reagovat na požadavky klientů ihned po svém
startu.
I když každý OPC server je schopen vrátit svůj status,
v jehož rámci je i položka nabývající stavů jako
nekonfigurován, testovací běh či server
běží, OPC servery tuto informaci poskytují různě. Např.
existují servery vracející hodnotu server běží okamžitě
po startu, i když ještě nejsou schopny reagovat na
požadavky klienta. OPC ovladač proto přidává dvě možnosti, jak
tyto nedostatky obejít.
Pokud server po startu vrátí hodnotu "nekonfigurován", je
možno čekat do doby, než se stav serveru změní na server
běží.
Druhá možnost je nechat ovladač po zavedení serveru
počkat určitou dobu bez ohledu na stav serveru.
Každopádně ovladač pracuje pouze ze serverem, který vrací svůj
status jako server běží.
Vzdálené servery a DCOM
Součástí definice standardu COM je i jeho varianta
umožňující vytvořit komponenty na jiném počítači zapojeném do
počítačové sítě a těmto vzdáleným komponentám volat metody. Toto
rozšíření je nazýváno DCOM (Distributed COM). Protože se DCOM
objevil až po uvedení systému Windows 95, je pro jeho použití
v těchto systémech nutno doinstalovat patřičnou programovou
podporu. Novější operační systémy jako třeba Windows 2000 nebo
Windows XP ale DCOM zcela standardně obsahují.
OPC ovladač pro Control Web technologii DCOM
podporuje a tak je možné spolupracovat s OPC servery
instalovanými na vzdálených počítačích. Komunikace po síti probíhá
v režii DCOM
Protože DCOM je síťová technologie, je nutno jej správně
konfigurovat z hlediska bezpečnosti. Uživatelé vytvářející
OPC servery na vzdálených počítačích musí mít k těmto
počítačům povolen přístup. Také ne všechny počítačové sítě
umožňují provoz na IP portech, kterých DCOM využívá a otevření
těchto portů může vyžadovat zásah správce sítě. To vše je nutno
mít na zřeteli při nasazování OPC serverů přístupných přes DCOM.
Více se o zabezpečení a přístupových právech můžete dočíst
v dokumentaci operačních systémů Windows a DCOM.
Konfigurační soubory OPC ovladače
Jako každý jiný ovladač v systému Control Web i OPC klient potřebuje dva konfigurační
soubory — parametrický soubor (.PAR) a
mapovací soubor (.DMF — Driver Map File).
Více se lze o těchto souborech dovědět v dokumentaci
k systému Control Web. Vzhledem k tomu,
že formát mapovacího souboru je pro všechny ovladače shodný a je
definován systémem Control Web, není nutno jej
zde blíže popisovat.
Protože mapovací i parametrický soubor velmi závisí na
použitém OPC serveru, je k dispozici nástroj s grafickým
rozhraním umožňující pohodlnou tvorbu obou souborů. Uživatel tak
vůbec nepotřebuje znát strukturu těchto souborů, stačí vybrat OPC
server, označit položky, které mají být komunikovány jako kanály,
a o generování konfiguračních souborů se postará program
automaticky. Použití konfiguračního nástroje je popsáno ve druhé
části této dokumentace.
Přesto ale mohou nastat situace, kdy je nutno pracovat přímo
s parametrickým souborem OPC ovladače a pak je znalost
struktury tohoto souboru užitečná.
Parametrický soubor
Parametrický soubor ovladače OPC klient má strukturu
odpovídající konvencím .INI souborů, což jsou prosté textové
soubory se jmény sekcí uzavřenými v hranatých závorkách a
s položkami v sekcích v podobě řádků klíč=hodnota.
OPC klient vyžaduje v parametrickém souboru dvě sekce: [server]
a [channels].
Sekce [server]
Tato sekce musí obsahovat identifikátor třídy serveru, tzv.
CLSID (Class Identifier). CLSID je globálně unikátní
identifikátor (GUID — Globally Unique
Identifier), 128-bitové číslo používané v COM
k jednoznačné identifikaci tříd, rozhraní, typových
knihoven apod. Formát textového zápisu tohoto čísla je
definován standardem COM a odpovídá hodnotě klíče
v registrační databázi (Registry) systému Windows
v klíči HKEY_CLASSES_ROOT\CLSID, kde jsou registrovány
všechny v systému instalované COM komponenty.
CLSID={F738C006-F632-4E9E-946E-2C2CF2A418A1}
Pokud má být server vytvořen na vzdáleném počítači, je
nutno definovat parametr host. Tento parametr obsahuje UNC
jméno serveru, na němž je požadovaný OPC server
instalován.
host=\\remotehost
Jak již bylo řečeno, OPC ovladač implicitně komunikuje
synchronně s OPC servery verze 1 a asynchronně s OPC
servery verze 2 a 3 (pokud server verze 2 nebo 3 asynchronní
komunikaci nepodporuje, je použita synchronní komunikace
automaticky i v tomto případě). U OPC serverů verze
2 a 3 je možné ovladači předepsat použití synchronního
rozhraní řádkem:
sync=true
Vynechání tohoto parametru nebo uvedení sync=false
znamená, že OPC ovladač upřednostní asynchronní komunikaci,
pokud je to možné.
Jestliže použitý OPC server potřebuje určitou dobu po
startu k dokončení konfigurace a přitom tento stav
nesignalizuje pomocí stavů "nekonfigurován" a "server běží",
je možné prostě vložit do startu prodlevu. Parametr wait_time
udává počet sekund startovací prodlevy:
wait_time=2.5
Ovladač pro komunikaci vytváří na OPC serveru skupinu (OPC
Group). Prostřednictvím této skupiny probíhají veškeré
komunikace. Ve výchozím nastavení je skupina vytvořena jako
neaktivní a hodnoty jsou čteny přímo ze zařízení. Pokud je
z jakýchkoliv důvodů nutné číst hodnoty
z vyrovnávací paměti skupiny a nechat server periodicky
obnovovat hodnoty ve vyrovnávací paměti, je možné definovat
parametr:
update_rate=10
Tento parametr definuje periodu s níž bude server
požádán o obnovování dat ve vyrovnávací paměti.
V tomto případě bude skupina vytvořena jako aktivní.
Hodnota parametru je v sekundách.
Pokud se nepovede připojit k OPC serveru při startu
aplikace, skončí spuštění aplikace s chybou (ve výchozím
nastavení). V některých případech je potřeba spouštět
aplikaci i bez možnosti vytvořit OPC server a
k serveru se připojit později až to bude možné.
Parametrem server_connect_period je možné
nastavit periodu obnovování spojení se serverem. Perioda se
nastavuje v sekundách.
server_connect_period=10
Pokud je tento parametr nastaven na hodnotu větší jak nula,
bude možné spustit aplikaci i pokud se při startu
nepovede spojit s OPC serverem. Pokud aplikace běží a
klient není připojený k serveru vrací všechny kanály
chybu komunikace.
Při startu aplikace vytvoří klient na serveru všechny
položky, které jsou definované v parametrickém souboru.
Pokud některá položka nejde vytvořit, spouštění aplikace se
zastaví s chybou (ve výchozím nastavení klienta). Pokud
je definován parametr item_create_period
pokračuje aplikace ve spouštění a klienta zkouší položky,
které se nepovedlo vytvořit, znovu vytvářet. Parametr určuje
periodu vytváření těchto položek.
item_create_period=120
Hodnota parametru je v sekundách. Kanály odpovídající
položkám, které nejsou vytvořené, vrací při komunikaci
chybu.
Pokud jsou hodnoty z OPC serveru komunikovány
asynchronně, musí server na požadavek o čtení nebo zápis
odpovědět zpětným (asynchronním) voláním - potvrzením
o dokončení komunikace. OPC klient nezahájí novou
komunikaci dokud nedostane potvrzení o dokončení
předchozí komunikace. Některé servery bohužel občas potvrzení
o dokončení komunikace nezavolají a díky tomu OPC klient
nezahájí novou komunikaci. V těchto případech je možné
parametrem async_io_timeout definovat jak dlouho
má klient čekat na potvrzení.
async_io_timeout=600
Hodnota tohoto parametru je v sekundách. Pokud OPC
klient neobdrží potvrzení do této doby, odpojí se klient od
serveru, zastaví všechny komunikace a znovu se připojí.
Všechny kanály na nichž byla zahájená komunikace vrátí chybu.
Další komunikace (čtení/zápis kanálu) by měly pracovat správně
až do případného dalšího selhání serveru. Tento parametr musí
být nastaven na delší dobu než může trvat nejdelší bezchybná
komunikace. Při určování doby komunikace je nutné mít na
paměti, že jedna OPC komunikace může číst nebo zapisovat
několik OPC položek (kanálů) naráz.
Sekce [channels]
Tato sekce obsahuje definice jednotlivých kanálů vždy
v podobě řádku:
číslo_kanálu=identifikátor položky OPC serveru
Pokud identifikátor položky OPC serveru označuje pole, na
místě čísla kanálu je interval čísel zahrnující celkový počet
prvků pole. První a poslední číslo kanálu jsou odděleny znakem
'-' (číslo kanálů nemůže být záporné a tak znak '-' není
interpretován jako znaménko).
první_číslo_kanálu-poslední_číslo_kanálu=identifikátor položky pole OPC serveru
Protože na identifikátor položky nejsou ve standardu OPC
kladena žádná omezení, jsou za identifikátor považovány
všechny znaky za prvním rovnítkem až po konec řádku. Definice
kanálu nevyžaduje žádné další údaje (např. typ dat nebo směr
přenosu), protože OPC rozhraní umožňují všechny informace
získat za běhu serveru.
Příklad parametrického souboru
[comment]
OPCDRV PAR soubor vytvořen konfigurátorem OPC ovladače
Soubor: C:\BUFF\opc.par
Vytvořen: 04/30/2002 16:31:21
[server]
CLSID={F8582CF2-88FB-11D0-B850-00C0F0104305}
host=\\remotehost
[channels]
100=Random.Int4
101=Random.String
102=Random.UInt4
103=Random.Real4
104=Random.Real8
105=Square Waves.Real8
106=Triangle Waves.Real8
107=Write Only.UInt1
108=Write Only.UInt2
109=Write Only.UInt4
110-119=Random.StringArray
120-129=Random.Real8Array
Konfigurační nástroj OPC ovladače
V praxi je poměrně obtížné zjistit CLSID instalovaných serverů
a ještě obtížnější je zjišťovat jména jednotlivých položek
v serveru definovaných a zapisovat je do parametrického
souboru. Proto je spolu s OPC ovladačem dodáván konfigurační
nástroj, který jednoduchým způsobem umožňuje zvolit OPC server,
vybrat které položky mají být viditelné v aplikaci systému
Control Web jako kanály, přiřadit k těmto
položkám čísla kanálů a vygenerovat PAR a DMF soubory automaticky.
Navíc je možné do schránky (clipboard) uložit textovou podobu
zápisů kanálů nadefinovaných v parametrickém souboru a poté
je vložit do editoru ve vývojovém prostředí systému
Control Web.
Okno konfiguračního nástroje obsahuje dva panely — v levém panelu je v podobě stromu zobrazen
jmenný prostor zvoleného OPC serveru, v pravém panelu jsou
zobrazovány vybrané položky.
Okno konfiguračního nástroje
Výběr OPC serveru
Nejprve je nutno vybrat OPC server, se kterým má
v aplikaci OPC ovladač komunikovat. Menu
otevře okno
výběru OPC serveru.
Okno výběru OPC serveru
Toto okno zobrazí jména i CLSID všech OPC serverů
instalovaných na lokálním nebo na vzdáleném počítači. Je možné
omezit seznam zobrazených serverů podle verze. Řada serverů
poskytuje rozhraní více verzí OPC.
Konfigurační nástroj používá k vyhledání OPC serverů
službu opcenum. Tato služba by měla být instalovaná společně
s každým OPC serverem. Pokud služba neběží nebo není
dostupná, je další možnost jak vyhledat instalované servery
v registrech operačního systému. Organizace OPC Foundatin
definovala unikátní identifikátory (GUID) kategorií pro OPC
každou verzi serveru.. V rámci instalace každého serveru
je nezbytné danou kategorii zaregistrovat a taktéž instalovaný
server k této kategorii přihlásit.
Naneštěstí stále existují servery, jejichž instalace toto
pravidlo ignorují (kupodivu se zdá, že velké a renomované
firmy mají s OPC servery a jejich správnou instalací
mnohem větší problémy než malé a pružné technologické firmy).
Z těchto důvodů existuje v okně pro výběr serveru
možnost volby "Bez použití COM kategorie". Pokud je tato volba
zvolena, systém nabídne servery nikoliv podle zaručeně
unikátních identifikátorů kategorií, ale podle výskytu
klíčového slova "OPC" v registrační databázi. Tak se
mohou vyhledat i komponenty jež ve skutečnosti nejsou OPC
servery a při pokusu o připojení je hlášena chyba.
Nicméně tato volba umožní pracovat i se serverem, který
není správně instalován.
Výběr kanálů
Je-li server úspěšně zaveden, objeví se v levém panelu
struktura jeho jmenného prostoru. Z této struktury je
možné přidávat jednotlivé položky do tabulky v pravé
části aplikace pomocí dvoj-kliku nebo lze označit jednu či
více položek najednou a přenést je do tabulky kanálů pomocí
menu Kanály/Přidat vybrané položky. Smazání řádku
z tabulky je možné po označení celého řádku kliknutím na
políčko vlevo od řádku stiskem klávesy <Del>,
případně pomocí nástroje Kanály/Smazat vybraný
kanál. Také je možné smazat všechny řádky najednou
pomocí menu Kanály/Smazat všechny kanály.
Řada serverů po svém startu zpracovává např. vlastní
konfigurační soubory či provádí jinou inicializaci. Naneštěstí
často servery žádným způsobem nesignalizují, že ještě nejsou
připraveny (jejich status je od počátku OPC_STATUS_RUNNING).
Pak je docela dobře možné, že zobrazený jmenný prostor bude
neúplný. Zpravidla pomůže prostě server vybrat ještě jednou,
když už je inicializován.
Konfigurační nástroj se snaží pro každý přidaný řádek
(kanál) získat ze serveru také údaje o typu dat a směru
komunikace. Naneštěstí existují servery, které tuto informaci
neposkytují vůbec nebo ji neposkytují jen pro některé položky
(například položky vytvořené jako alias jiných položek).
V takovém případě je nutné ručně upravit vygenerovaný DMF
soubor.
Přiřazení čísel kanálů
Nově přidané řádky mají číslo kanálu prázdné, dosud
nedefinované. Čísla kanálů je možné přidat individuálně pro
každý řádek nebo pomocí menu Kanály/Přečíslovat
kanály.... Přečíslování kanálů
může pracovat jen s kanály, jejichž číslo dosud nebylo
definováno, případně může přepsat čísla všech kanálů.
Parametry automatického číslování kanálů
Přiřazení čísel polím kanálů
Protože OPC položka typu pole je mapována do řady kanálů a
tato řada musí být souvislá, zadává se vždy pouze číslo
prvního kanálu v poli. Ostatní kanály jsou číslovány
vzestupně od tohoto čísla.
Čísla kanálů musí být unikátní, což platí i v případě
polí. Jsou-li např. definovány kanály 1, 4 a 7, pak prvkům
pole obsahujícího 3 prvky mohou být přiřazena nejdříve čísla 8
až 10. Nenechte se tedy zmýlit chybovou zprávou Číslo
kanálu redefinováno, může být způsobena
i nedostatkem volných čísel kanálů pro celé pole,
i když zadané (první) číslo kanálu není použito.
Systém automatického přidělování čísel kanálů vybere
nepřekrývající se čísla i v případě, že se jednotlivé
kanály střídají s poli. Pokud ale použijete automatické
očíslování a přitom některé kanály již mají číslo přiřazeny,
nemusí být čísla kanálů nutně ve spojité řadě (čísla přiřazená
polím samozřejmě spojitá budou).
Pole kanálů
Parametry ovladače
Pomocí menu Soubor/Parametry ovladače... lze otevřít dialogové okno umožňující
zadání dalších parametrů ovladače — vyžádání synchronní komunikace, čekání na stav
server běží či zadání počáteční prodlevy po spouštění
serveru.
Dialog parametrů ovladače
Generování konfiguračních souborů
Mají-li všechny řádky přidělena čísla, je možné pomocí
nástroje Soubor/Zapsat PAR a DMF soubory... uložit parametrický (.PAR) a mapovací
(.DMF) soubor.
Pomocí nástroje Soubor/Kopírovat kanály do
schránky je možné do schránky (clipboard) uložit
textovou podobu zápisu kanálů v aplikaci systému
Control Web. Ve vývojovém prostředí
Control Web je možné tento text vložit do
editoru a případně modifikovat názvy kanálů.
Načtení parametrického souboru
Pomocí nástroje Soubor/Otevřít existující PAR
soubor lze do konfiguračního nástroje zavést již
existující parametrický soubor. Tato akce odpojí aktivní OPC
server (pokud je konfigurační nástroj na nějaký OPC server
připojen) a vymaže všechny položky v seznamu kanálů. Poté
se pokusí spojit s OPC serverem uvedeným
v parametrickém souboru a do seznamu kanálů naplní
položky v tomto souboru uvedené.
Protože v takovém případě nelze zaručit, že všechny
položky uvedené v souboru OPC server skutečně poskytuje,
konfigurační nástroj prověří jejich dostupnost. Pokud OPC
server zadanou položku nezná, bude v seznamu kanálů
uvedena červeně a nebude zařazena do generovaných
konfiguračních souborů.
|