Prázdný košík
Úvodní stránka
Přihlásit
Hledat 
 Control Web 8
 Ovladače pro Control Web
 DataLab
 DataCam
 DataLight
 Pro školy
 Ostatní software
 Control Web – předchozí verze
 Služby
 Školení

Univerzální OPC UA klient pro Control Web
 

Univerzální OPC UA klient pro Control Web

Lze používat od CW8

Kód:CW-OPCUA
Cena pro integrátory (bez DPH):8 900 Kč
Koncová cena (bez DPH):9 900 Kč
Výrobce:Moravské přístroje
 
CELKEM
Vaše cena (bez DPH):
Celková cena (bez DPH):
*) Předpokládaná dostupnost se může lišit podle volitelných parametrů produktu. Předpokládaná dostupnost nezahrnuje dobu přepravy a jedná se o nezávazný údaj.

Ovladač OPC UA klient umožňuje číst a zapisovat hodnoty uzlů (nodes) OPC UA serveru.

Seznam sekcí:

OPC UA
Činnost ovladače
Parametry ovladače
Konfigurace ovladače

OPC UA

OPC UA je univerzálním standardem pro komunikaci a sdílení dat mezi různými zařízeními od různých výrobců. Standard byl navržen jako multiplatformní nástupce klasického OPC. Není již tedy závislý na COM technologií společnosti Microsoft. OPC UA obsahuje i další rozšíření jako např. generování a zpracovávání událostí, přístup k historický k datům, vzdálené spouštění funkcí apod. Standard definující OPC UA vytvořilo OPC Foundation viz: https://www.opcfoundation.org.

Poznámka:

Velká většina dokumentace související s OPC UA je v angličtině a české termíny nejsou vždy příliš ustálené. Proto u některých termínů uvádíme i anglickou variantu, tak jak je definovaná v OPC UA specifikaci.

Komunikace OPC UA může pracovat prostřednictvím dvou protokolů:

  • binární protokol prostřednictvím TCP

  • webový protokol (HTTP, SOAP)

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

Klient OPC UA pro Control Web podporuje obě možnosti komunikace.

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ů:

ObjektPopis
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.

Poznámka:

Typ může být také strukturovaný, potom struktura proměnné musí odpovídat svému typu. Proměnná například může mít několik položek s nimiž bude spojená referencí typu HasComponent.

Ovladač neumožňuje číst hodnotu proměnné strukturovaného typu. Je možné číst pouze jednotlivé položky této proměnné, které jsou základního typu.

Objekt (Object)

Uzel tohoto typu slouží k vytváření hierarchické struktury. Neobsahuje hodnotu.

Metoda (Method)

Metoda, kterou může klient volat.

Poznámka:

Aktuální verze ovladače OPC UA klient pro Control Web nepodporuje volání metod.

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

Datové typy

Datové typu mohou být základní (built-in) a strukturované definované v adresním prostoru serveru. Strukturované typy se definují jako struktura z jiných typů. Ovladač OPC UA klient pro Control Web dokáže číst hodnoty uzlů, jejichž typ je základní (build-in). V následující tabulce je seznam všech základních typů definovaných v OPC UA, které podporuje ovladač:

ObjektPopis
Boolean

Logická hodnota, může být v aplikaci spojená s kanálem typu boolean nebo s libovolným numerickým kanálem.

Byte

Hodnota z rozsahu 0..255. V aplikaci může být spojená s libovolným numerickým kanálem.

Double, Float

Desetinná čísla. V aplikaci může být spojená s libovolným numerickým kanálem.

Int16, Int32, Int64

Celá čísla se znaménkem. V aplikaci může být spojená s libovolným numerickým kanálem.

SByte

Hodnota z rozsahu -128..127. V aplikaci může být spojená s libovolným numerickým kanálem.

String

Řetězec, v aplikaci může být spojen s kanálem typu string.

UInt16, Uint32, UInt64

Celá čísla bez znaménka. V aplikaci může být spojená s libovolným numerickým kanálem.

ExpandedNodeId, NodeId, QualifiedName

Popis uzlu. V aplikaci může být spojen s kanálem typu string.

LocalizedText

Řetězec, který může obsahovat informaci o jazyku. V aplikaci může být spojen s kanálem typu string. Jazyk je vložen na začátek řetězce a oddělen dvojtečkou. Příklad zápisu:

cz:Text Text

Pokud není jazyk uveden, bude na začátku textu jenom dvojtečka:

:abc abc abc
ExtensionObject

ExtensionObject je možné pouze číst. Do Control Web je převeden jako pole kanálů typu shortcard.

Následující datové typy ovladač v aktuální verzi nepodporuje:

ByteString
DataValue
DateTime
DiagnosticInfo
Guid
StatusCode
Variant
XmlElement

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.

Pro konfiguraci certifikátů je součástí instalace ovladače správce certifikátů. Správce certifikátů je možné spustit z konfigurátoru ovladače. Podrobněji v kapitole konfigurace certifikátů Konfigurace certifikátů.

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.

Činnost ovladače

Ovladač se při spuštění aplikace připojí k OPC UA serveru. Podle definice v parametrickém souboru je každý kanál (identifikovaný svým číslem) spojený s určitým uzlem (node) v adresním prostoru serveru.

Komunikace hodnot může probíhat dle požadavků aplikace, čtením nebo zápisem některého kanálu. Čtení kanálu vyvolá čtení hodnoty ze serveru. Zápis do kanálu vyvolá odeslání hodnoty do serveru.

Další možnost je definovat u některých kanálů periodu s níž bude server informovat klienta - tedy ovladač o změně hodnoty. Ovladač změnu promítne do kanálu a vyvolá odpovídající událostní procedury v datových sekcích aplikace.

Pokud dojde při běhu aplikace k rozpadu spojení se serverem, nebo pokud se nepodaří navázat spojení při startu aplikace, pokouší se ovladač spojení obnovit.

Parametry ovladače

Veškeré parametry ovladače se nastavují v parametrickém souboru. Celý soubor parametrů je rozdělen do několika sekcí. Název sekce je uveden v hranatých závorkách. V sekci jsou uvedeny za jménem a znakem = jednotlivé parametry. Na jednom řádku může být definován jeden parametr.

Poznámka:

U názvů sekcí a parametrů je třeba dodržet správný zápis velkých a malých písmen.

Základní nastavení ovladače obsahuje sekce server. Kanály se definují v sekcích monitored_items a items. V sekci monitored_items jsou definované kanály u nichž bude požadováno zasílání notifikací o změně hodnoty ze serveru. V sekci items jsou definovány kanály, které mohou být komunikovány pouze dle požadavků aplikace. Sekcí monitored_items a items může být v parametrickém souboru libovolný počet.

Parametry pro základní nastavení ovladače — sekce [server]

V této sekci se nastavují společné parametry komunikace s OPC serverem.

[server]  
  URL = <server url>
  security = yes | no
  ignore_connect_error = yes | no
  write_array_index_range = yes | no
  keep_alive_interval = <number>
URL

Adresa serveru

security

Parametr určuje jestli se klient připojuje k serveru, který používá zabezpečení komunikace (identifikační certifikát a kryptovaný komunikační kanál). Pokud je parametr security nastavený na hodnotu no, připojí se klient pouze k serveru, který umožňuje nezabezpečený komunikační kanál. Pokud je nastaven na hodnotu yes připojí se pouze k serveru, který zabezpečený komunikační kanál podporuje.

ignore_connect_error

Pokud je parametr nastaven na hodnotu yes (ignorovat chybu připojení) je možné aplikaci spustit i v případě, kdy není možné navázat spojení se serverem. V případě že je parametr nastaven na hodnotu no nebo není v parametrickém souboru uveden a server není k dispozici, aplikace nebude spuštěna.

Poznámka:

Ovladač v systému Control Web má možnost vracet podrobný popis chyby, která nastala při navazování spojení nebo v definici položek, pouze při startu aplikace. Proto v případě problémů s nastavením, doporučujeme tento parametr neuvádět a aplikace se zastaví při startu s podrobným popisem chyby.

write_array_index_range

Některé OPC UA servery neumí zapisovat jenom část pole, ale vždy vyžadují zapsat pole celé (OPC UA specifikace toto chování umožňuje). Pokud nastavíme parametru na hodnotu no, bude ovladač vždy zapisovat celá pole.

write_array_index_range = no

Poznámka:

Pokud v tomto případě zapíšeme do kanálu, který je prvkem pole, zapíše ovladač do OPC serveru celé pole, tedy i kanály, které z aplikace nebyly zapsané!

keep_alive_interval

Parametr definuje periodu kontroly spojení se serverem a periodu obnovy přerušeného spojení. Parametr je v ms.

Příklad parametrů v sekci [server]:

[server]
  URL = opc.tcp://opcua.mii.cz:53530/OPCUA/SimulationServer
  security = no
  ignore_connect_error = yes

Konfigurace kanálů ovladače — sekce [monitored_items]a[items]

V těchto sekcích se definuje spojení kanálů s konkrétními uzly v adresním prostoru serveru. Na jenom řádku se definuje jeden kanál, pokud je uzel skalární nebo rozsah kanálů pokud je uzel pole. Pokud je uzel vícerozměrné pole je v ovladači převedeno na odpovídající jednorozměrné pole. Na jednom řádku se vždy definuje odkaz na jeden uzel. Pokud je uzel skalár může být spojen pouze s jedním číslem kanálu.

Následuje způsob zápisu parametrů a jejich možné hodnoty:

[items]
  <From>, <Type>, <Direction> = <NodeId>
  <From>..<To>, <Type>, <Direction> = <NodeId>
From

číslo prvního kanálu.

To

číslo posledního kanálu.

Type

typ kanálu v Control Webu.

Možné hodnoty odpovídají datovým typům v Control Webu a jsou následující:

boolean
shortint
shortcard
integer
cardinal
longint
longcard
shortreal
real
string
Direction

Směr kanálu.

Možné hodnoty jsou:

input

vstupní kanál

output

výstupní kanál

bidirect | bidirectional

obousměrný kanál

NodeId

Identifikátor uzlu, tak jak byl popsán v kapitole Identifikátor uzlu.

V sekcích monitored_items je nutné definovat periodu zaznamenávání změn hodnot uzlu (sampling_interval) a periodu odesílání změněných hodnot klientovi (publishing_interval). Parametr sampling_interval muže být různý pro jednotlivé kanály, proto je možné ho v sekci opakovat. Hodnota parametru je použitá pro všechny následující uzly. Parametr publishing_interval je společný pro celou sekci a muže být v sekci definovaný pouze jednou a to vždy před definicí kanálů.

Příklad parametrů:

[server]
  URL = opc.tcp://opcua.mii.cz:53530/OPCUA/SimulationServer
  security = no
  ignore_connect_error = yes
  
[monitored_items]
  publishing_interval = 2000 
  sampling_interval = 1000
  102, real,input = ns=3;s=ByteAnalogItem
  103, real, input = ns=5;s=Sinusoid1
  sampling_interval = 2000
  104, real, input = ns=5;s=Square1 
  105, real, input = ns=5;s=Triangle1

[items]
  106, real, input = ns=5;s=Triangle1
  300..304, real, bidirect = ns=3;s=ByteArray

[monitored_items]
  publishing_interval = 5000 
  sampling_interval = 5000
  200..204, real, bidirect = ns=3;s=ByteArray

Konfigurace ovladače

Pro pohodlnou konfiguraci ovladače (vytvoření parametrického souboru) je k dispozici konfigurační nástroj. Konfiguraci ovladače je možné spustit z datového editoru vývojové verze systému Control Web.

Konfigurátor se připojí k zadanému OPC UA serveru. Zobrazí jeho adresní prostor a umožní vkládání identifikátorů uzlů do parametrického souboru.

V levé části okna konfigurátoru je v přehledném stromu zobrazen parametrický soubor. Pokud vybereme některou položku stromu můžeme v tabulce pod stromem nastavovat její parametry. Pokud vybereme první položku stromu "OPC UA Server" můžeme nastavovat základní parametry připojení (v parametrickém souboru je to sekce [server]). U každého parametru je zobrazena nápověda.

V pravé části konfigurátoru je zobrazen strom adresního prostoru připojeného serveru. Pokud je vybrána některá položka, konfigurátor pod stromem zobrazí její parametry. Pokud je vybrán uzel typu proměnná je možné ho tlačítkem "Vložit do PARu" přidat do parametrického souboru (strom vlevo).

Konfigurace certifikátů

V konfigurátoru ovladače je také možné konfigurovat certifikáty. Konfiguraci certifikátů spustíme tlačítkem . Konfigurace certifikátů se spustí v samostatném procesu a vyžaduje oprávnění administrátora.

Konfigurátor zobrazí seznam všech certifikátů klienta (tedy certifikáty všech serverů s nimiž ovladač komunikoval i svůj vlastní certifikát).

Tlačítkem Důvěřovat je možné odmítnutý certifikát označit za důvěryhodný.