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 nebo 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. Autentizace 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 – autentizace klienta
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 (certifikát klienta explicitně uvede do seznamu důvěryhodných certifikátů, nebo certifikát klienta musí bý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: