Promotic

Komunikace přes rozhraní OPC UA

Co je to OPC UA?

OPC Unified Architecture (OPC UA) je průmyslový M2M (machine-to-machine) komunikační standard.
Tuto specifikaci definuje a upřesňuje organizace OPC Foundation (viz https://www.opcfoundation.org).
Na rozdíl od původní specifikace OPC, která je založena na technologii COM/DCOM od firmy Microsoft (a proto funguje pouze v OS Windows) je OPC UA technologie založenou na obecně používaných komunikačních standardech jako jsou TCP/IP, HTTP a SOAP. To znamená, že OPC UA může fungovat i na jiných platformách než Windows. OPC UA komunikaci lze zabudovat i do vlastních PLC automatů a jiných zařízení.

Hlavními požadavky na nový standard byly:
- nezávislost na platformě
- škálovatelnost
- použití jednoho i více vláken
- bezpečnost založená na nových standardech
- nastavitelné timeouty pro každou službu
- rozdělení objemných datagramů na menší části


Na rozdíl od OPC Classic, které odděleně definuje přístup k procesním datům (OPC DA), alarmům (OPC AE) a historickým datům (OPC HDA) nové OPC UA nedefinuje tyto konkrétní přístupy, ale pouze formát předávaných zpráv. To znamená, že jeden standard OPC UA umožňuje přenášení procesních dat, alarmů a historických dat.

Komunikace OPC UA podporuje dva protokoly. Pro aplikační projektanty je rozdíl pouze v URL adrese:
- binární protokol se vyznačuje URL specifikací: opc.tcp://Server
- protokol Web služby (SOAP): http://Server


Na rozdíl od síťového OPC Classic komunikace OPC UA nevyžaduje nastavení rozhraní DCOM. OPC UA je již z principu chápaná jako síťová komunikace. To znamená, že musí obsahovat mechanismy, které zaručí bezpečnost této komunikace. OPC UA komunikace používá pro zajištění autentizace, autorizace, šifrování a integrity dat elektronické podpisy (certifikáty).


Zabezpečení OPC UA

Každá aplikace - účastník OPC UA komunikace (OPC UA server, klient i gateway) musí mít vlastní instanci aplikačního certifikátu, který jednoznačně identifikuje aplikaci a stroj (počítač), na kterém tato aplikace běží. OPC UA definuje 4 základní úrovně zabezpečení:

Úroveň 1 – bez autentizace
 
V tom případě klient a server umožňují komunikovat komukoliv. To znamená, že všechny platné certifikáty jsou považované za důvěryhodné. Aplikační certifikáty jsou použité pouze pro poskytování neověřitelných informací o druhé straně. Příjemce nemá žádný způsob, jakým by ověřil zda poskytovatel je legitimní držitel certifikátu. Na této úrovni obě strany automaticky uznávají platné certifikáty i když tyto nejsou zařazené do seznamu důvěryhodných certifikátů. Tato úroveň nevyžaduje žádné nastavení na straně klienta ani serveru.

Úroveň 2 – serverová autentizace
 
V tom případě server umožňuje připojení libovolnému klientovi. Ověření klienta (pokud je požadované) se provádí pomocí ověřovacích údajů jako jméno/heslo zaslané na server po vytvoření zabezpečeného kanálu. Každý klient musí důvěřovat serverovému certifikátu. Toto nastavení provede Administrátor na straně klienta (serverový veřejný klíč musí být explicitně uveden v seznamu důvěryhodných certifikátů, nebo musí být serverový certifikát vydán důvěryhodnou certifikační autoritou). Pokud serverový certifikát explicitně není na seznamu důvěryhodných certifikátů, pak klient musí porovnat DNS jméno uvedené na serverovém certifikátu s DNS jménem počítače, ke kterému se připojuje. Tento způsob nezajišťuje, že se klient připojí ke správnému serveru (OPC UA), pouze zajistí, že se připojí ke správnému počítači. Tento postup poskytuje dobrou úroveň zabezpečení (používá se obvykle např. pro přístup do internetového bankovnictví), ale server nemůže omezovat klientské aplikace na základě jejich autentizace.

Úroveň 3 – klientská autentizace
 
V tom případě se klient může připojit k libovolnému serveru, ale server umožňuje připojení pouze důvěryhodným klientům. Tato úroveň se používá u služeb, které vyžadují přístup pouze důvěryhodným klientům a kde současně není požadavek na legitimitu serveru. Aby server poskytl data, musí důvěřovat klientskému certifikátu. Toto nastavení provede Administrátor na serveru (klientský certifikát explicitně uvede do seznamu důvěryhodných certifikátů, nebo musí být klientský certifikát podepsán důvěryhodnou certifikační autoritou).

Úroveň 4 – oboustranná autentizace
 
V tom případě klient a server umožňují připojení pouze důvěryhodným partnerům. Tento způsob poskytuje nejvyšší úroveň zabezpečení, ale vyžaduje nastavení na obou stranách (klient a server). Pokud serverový certifikát není explicitně důvěryhodný, pak klient ověří server stejně jako v úrovni 2. Tento přístup zajišťuje nejvyšší míru zabezpečení a proto je doporučen OPC Foundation jako implicitní pro všechny klienty i servery.

Komunikace OPC UA v systému PROMOTIC pomocí PROMOTIC ovladače

Pro tuto komunikaci v systému PROMOTIC lze použít:

Komunikace OPC UA v systému PROMOTIC pomocí převodníku na OPC DA

Komunikaci OPC UA lze také uskutečnit pomocí softwarových převodníků OPC UA na OPC DA.
Z pohledu systému PROMOTIC je použití OPC UA převodníků velice jednoduché - v systému PROMOTIC stačí přidat objekt PmaOpcDaClient, vybrat OPC UA převodník jako server a pak namapovat potřebné proměnné v systému PROMOTIC.
OPC UA převodník je potřeba nainstalovat na stejné počítači, kde běží aplikace PROMOTIC (aby bylo možné se vyhnout síťové OPC komunikaci).

1. Obecné nastavení softwarových OPC UA převodníků:
Pro správnou funkci těchto převodníků v systému PROMOTIC je nutno je správně nastavit.
Správné nastavení spočívá v několika krocích:
1. Vytvořit (případně import) certifikátu pro OPC UA převodník.
2. Nadefinovat připojení převodníku k OPC UA serveru včetně způsobu zabezpečení spojení.
3. V OPC UA převodníku nastavte certifikát OPC UA serveru jako důvěryhodný.
4. V OPC UA serveru nastavte certifikát OPC UA převodníku jako důvěryhodný.
5. V aplikaci PROMOTIC použít OPC DA komunikaci s OPC serverem běžícím v OPC UA převodníku.


2. Doporučené OPC UA software převodníky:
- OPC UA Gateway od firmy Unified Automation Gmbh (https://www.unified-automation.com)
Viz OPC UA Gateway - Instalace a nastavení
© MICROSYS, spol. s r.o.