Ovladač OPC UA klient pro Control Web využívá nové
rozhraní ovladačů doplněné v Control Webu 8. Z tohoto důvodu
nebude ovladač k dispozici pro starší verze systému Control
Web. Vzhledem k jednodušším licenčním podmínkám Control Webu
8 je možné ovladač zkoušet i bez použití licence.
Vznik OPC UA
OPC UA vznikla jako nástupce populární OPC, dnes nejčastěji
označované jako klasické OPC (OPC Classic). Klasické OPC navrhla
organizace OPC Foundation v roce 1996. Tehdy ještě zkratka OPC
znamenala OLE for Process Control. Jak vyplývá z názvu, jedná se o
komunikační standard založený na technologii OLE (Object Linking
and Embeding), patřící k technologii COM (Component Object Model)
firmy Microsoft. Standard OPC se stal v průmyslové automatizaci
značně rozšířeným, prakticky pro jakékoliv zařízení používané v
průmyslu existuje klasický OPC server. Díky použitým technologiím
je však klasické OPC možné používat pouze v operačním systému
Windows. Implementace například přímo v PLC je velmi obtížná.
Navíc přístup ke vzdálenému serveru, který využívá DCOM (D jako
distributed) je komplikovaný, obtížně se konfiguruje a uživatelé s
ním mají velké potíže. To byly důvody ke vzniku nového
standardu.
Iniciativy se chopila stejná organizace OPC Foundation a v roce
2006 vydala první verzi OPC UA. OPC UA není závislé na žádné
platformě. Existují implementace v ANSI C, Javě, nebo .NET. Dnes
má již zkratka OPC jiný význam: Open Platform Communications.
V klasickém OPC byla samostatná specifikace pro přístup k datům
(DA - Data Access), přístup k Historickým datům (HDA History Data
Access) a přístup k alarmům a událostem (AE Alarm and Events). V
OPC UA je vše v jedné specifikaci. Adresní prostor serveru může
obsahovat uzly, které mají pouze hodnotu (data access) nebo mohou
mít historii, případně vytvářet události (Alarm and Events). Navíc
byla doplněna možnost volání procedur. Adresní prostor je
univerzálnější, umožňuje definovat nové strukturované typy,
pohledy, více jmených prostorů a podobně. Díky větší obecnosti a
větším možnostem je však OPC UA specifikace velmi rozsáhlá.
Na rozdíl od klasického OPC je v OPC UA komunikace mezi
serverem a klientem vždy síťová. Jsou možné dvě
varianty:
Server může podporovat jeden nebo oba protokoly. Specifikace
protokolu je součástí URL (adresy) serveru:
opc.tcp://ua_server.mii.cz
http://ua_server.mii.cz
Adresní prostor OPC UA Serveru
Adresní prostor OPC UA serverů je hierarchický. Skládá se z
uzlů (nodes) a vazeb mezi nimi (reference).
Každá reference spojuje dva uzly. Existuje několik typů referencí.
Například reference typu Organizes se používá k
vytvoření hierarchické struktury adresního prostoru serveru.
Adresní prostor si můžeme představit jako strom, kde vazba mezi
uzly je tvořená referencemi.
Existuje několik typů uzlů:
Objekt | Popis |
---|
Proměnná (Variable) | Pro nás nejdůležitější typ uzlu. Tento uzel obsahuje
data, která můžeme číst nebo zapisovat. Data musí odpovídat
typu. Typ proměnné definuje reference HasTypeDefinition.
| Objekt (Object) | Uzel tohoto typu slouží k vytváření hierarchické
struktury. Neobsahuje hodnotu. | Metoda (Method) | Metoda, kterou může klient volat. | Pohled (View) | Pohledy umožňují zobrazit část adresního
prostoru. | Datový typ (DataType) | Definice datového typu. | Typ proměnné (VariableType) | Definice typu proměnné. | Typ objektu (ObjectType) | Definice typu objektu. | Typ reference (ReferenceType) | Definice typu reference. |
Identifikátor uzlu
Každý uzel má jednoznačný identifikátor (NodeId).
Identifikátor je možné použít k přímému přístupu k uzlu, bez
ohledu na jeho umístění v adresním prostoru serveru. Je
například možné číst nebo zapisovat jeho hodnotu, případně
další atributy. Toho využívá ovladač OPC UA klient pro
Control Web. Identifikátory uzlů jsou definicí v
parametrickém souboru propojeny na čísla kanálů. Čtením nebo
zápisem kanálu vyvoláme čtení nebo zápis hodnoty uzlu v OPC
serveru.
Identifikátor uzlu se skládá ze tří části:
- Index jmenného prostoru (name space
index)
Adresní prostor serveru bývá zpravidla rozdělen na
jmenné prostory. Identifikátor (třetí část identifikátoru
uzlu) je jedinečný pouze ve svém adresním prostoru.
- Typ identifikátoru (identifier
type)
Určuje typ následující poslední položky
(identifikátoru). Možné hodnoty jsou:
číslo (v zápisu označeno písmenem n)
řetězec (v zápisu označeno písmenem s)
GUID (v zápisu označeno písmenem g)
OPAQUE pole bajtů (v zápisu označeno písmenem
b)
- Identifikátor
Jednoznačný identifikátor v rámci daného jmenného
prostoru.
Formát zápisu identifikátoru je následující:
ns=<name space index>; n|s|g|b = <id>
příklad identifikátoru:
ns=5;s=Sinusoid3
index jmenného prostoru se v zápisu nemusí uvádět, potom se
předpokládá, že je to 0. Například:
i=1234
Zabezpečení
Ve specifikaci OPC UA je kladen velký důraz na
bezpečnost. Dle specifikace OPC UA jsou tři možnosti zabezpečení
komunikačního kanálu:
Žádné zabezpečení (none) - Nejsou vyžadovány certifikáty,
komunikační kanál není zabezpečený.
Podepsané - Mezi klientem a serverem je vytvořen
komunikační kanál. Jednotlivé zprávy jsou podepisované
certifikáty serveru nebo klienta.
Podepsané a kryptované - Mezi klientem a serverem je
vytvořen komunikační kanál. Jednotlivé zprávy jsou podepisované
certifikáty serveru nebo klienta a kryptované. Tato varianta je
nejbezpečnější a doporučená.
Pokud je to vyžadováno, má každá strana komunikace svůj
certifikát, který ji jednoznačně identifikuje. Při navazování
komunikace je vytvořen šifrovaný komunikační kanál. Klient i
server mohou povolit komunikaci s jakýmkoliv protějškem (jakýkoliv
certifikát považují z důvěryhodný) nebo je nutné buď používat
certifikáty vydané důvěryhodnou certifikační autoritou nebo v
konfiguraci serveru a klienta certifikát druhé strany označit a
důvěryhodný.
Postup může být například následující: Ovladač OPC UA klient
pro Control Web vytváří svůj bezpečnostní certifikát
automaticky při prvním spuštění na daném počítači. Při prvním
pokusu o připojení získá klient (ovladač) certifikát serveru.
Protože nenajde certifikát ve svém seznamu důvěryhodných
certifikátů, uloží získaný certifikát do svého seznamu
nedůvěryhodných certifikátů a se serverem se odmítne spojit.
Uživatel nyní musí spustit konfiguraci zabezpečení a certifikát
označit za důvěryhodný. Ovladač tento certifikát přesune do svého
seznamu důvěryhodných certifikátů a při následujícím pokusu o
spojení server neodmítne. Obdobně může být nutné označit
certifikát klienta v konfiguraci serveru.
Subscription - odběr informací o změnách
V klasickém OPC i v novém OPC UA je jako doporučený způsob
komunikace uváděna notifikace o změně hodnoty klienta ze serveru.
Klient si určuje, které změny a jak často pro něj má server
sledovat.
Při tomto způsobu komunikace klient zvolí uzly, jejichž hodnoty
ho zajímají. K nim vytvoří odpovídající sledované položky (monitored items).
U každé nastavíme požadovanou periodu vzorkování (sampling interval).
Monitorovaná položka je vlastně identifikátor uzlu rozšířený o
periodu. Monitorovaná položka sleduje změny hodnoty (s danou
periodou) a záznam o změně ukládá do fronty.
Pro určitou skupinu takto vytvořených položek vytvoří klient
odběr (subscription). Odběru nastavíme periodu
odesílání změn (publishing interval). Perioda
odesílání změn může být delší než perioda vzorkování. Potom může
být při jednom odeslání změn posláno několik změn stejného uzlu. U
každé změny je zaznamenána časová značka (time stamp).
Ovladač OPC UA klient pro Control Web tento způsob
komunikace podporuje (v parametrickém souboru se skupina uzlů v
subscription vytvoří v sekci monitored_items).
Profily
OPC UA specifikace je velmi rozsáhlá, ale naštěstí nemusí každý
server ani klient podporovat všechny vlastnosti. Aby existoval
přehled, které vlastnosti daný server podporuje, vznikly takzvané
profily. Každý profil definuje seznam vlastností, které server
může implementovat. Existuje seznam profilů pro klienty, pro
servery, seznam komunikačních profilů (transport profiles)
a bezpečnostních profilů (security profiles).
Aktuální přehled všech profilů je možné najít na webu OPC
Foundation.
|