Promotic

Komunikacja poprzez interfejs OPC UA

Co oznacza OPC UA?

OPC Unified Architecture (OPC UA) to przemysłowy M2M (machine-to-machine) standard komunikacyjny.
Specyfikację tą definiuje i dopracowuje organizacja OPC Foundation (patrz https://www.opcfoundation.org).
W odróżnieniu od poprzedniej specyfikacji OPC, która bazuje na technologii COM/DCOM od firmy Microsoft (i dlatego działa tylko w SO Windows) chodzi o technologię opartą o ogólnie stosowane standardy komunikacyjne takie jak TCP/IP, HTTP oraz SOAP. To znaczy, że OPC UA może działać również na innych platformach aniżeli Windows. Komunikację OPC UA można zabudować również do sterowników PLC oraz innych urządzeń.

Głównymi wymogami na nowy standard było:
- niezależnoścć od platformy
- skalowalność
- zastosowanie jednego lub więcej wątków
- bezpieczeństwo oparte o nowe standardy
- konfigurowalne timeouty dla każdej usługi
- rozdzielenie dużych datagramów na mniejsze części


W odróżnieniu od OPC Classic, które dodzielnie definiuje dostęp do danych procesów (OPC DA), alarmów (OPC AE) oraz danych historycznych (OPC HDA) nowe OPC UA nie określa te konkretne dostępy, lecz tylko format wymaganych wiadomości. To znaczy, że jeden standard OPC UA umożliwia transfer danych procesów, alarmów oraz danych historycznych.

Komunikacja OPC UA wspiera dwa protokoły. Dla projektantów różnią się tylko w adresie URL:
- binarny protokół cechowany jest specyfikacją URL: opc.tcp://Server
- protokół usługi Web (SOAP): http://Server


W odróżnieniu od sieciowego OPC Classic komunikacja OPC UA nie wymaga ustawienia interfejsu DCOM. OPC UA już w zasadzie mniemana jest jako komunikacja sieciowa. To znaczy, że musi obsługiwać mechanizmy, które zapewnią bezpieczeństwo tej komunikacji. Komunikacja OPC UA w ramach zabezpieczenia wykorzystuje uwierzytelnienie, upoważnienie, szyfrowanie danych i integralność podpisów elektronicznych (certyfikaty).


Zabezpieczenie OPC UA

Każda aplikacja - uczestnik komunikacji OPC UA (OPC UA serwer, klient oraz gateway) musi posiadać własną instancję aplikacyjnego certyfikatu, który unikalnie identyfikuje aplikację oraz sprzęt (komputer), na którym jest dana aplikacja uruchomiona. OPC UA definiuje 4 podstawowe poziomy zabezpieczenia:

Poziom 1 – bez uwierzytelniania
 
W tym przypadku klient oraz serwer umożliwiają komunikować się dowolnym użytkowniko. To znaczy, że wszystkie ważne certyfikaty są przyjęte za wiarygodne. Aplikacyjne certyfikaty są wykorzystane tylko w celu udostętniania nieuwierzytelnionych informacji o drugiej stronie. Odbiorca nie ma żednej możliwości sprawdzenia, czy udostępniający jest prawowitym właścicielem certyfikatu. Na tym poziomie obie strony automatycznie uznają ważne certyfikaty, nawet jeżeli nie są one przypisane do listy wiarygodnych certyfikatów. Poziom ten nie wymaga żadnych ustawień po stronie kliente oraz serwera.

Poziom 2 – uwierzytelnienie serwerowe
 
W tym przypadku serwer umożliwia podłączenie dowolnemu klientowi. Uwierzytelnienie klienta (jeżeli jest wymagane) wykonuje się przy pomocy danych uwierzytelnienia takich jak nazwa/hasło wysłane do serwera po stworzeniu zabezpieczonego kanału. Każdy klient musi wierzyć certyfikatu serwera. Ustawienie to wykona Administrator po stronie klienta (publiczny klucz serwerowy musi być wyraźnie określony w liście wiarygodnych certyfikatów, lub serwerowy certyfikat musi być wydany wiarygodną autorytą certyfikacyjną). Jeżeli serwerowy certyfikat nie jest wyraźnie określony w liście wiarygodnych certyfikatów, wtedy klient musi porównać nazwę DNS zamieszczoną na serwerowym certyfikacie z nazwą DNS komputera, do którego się podłącza. Sposób ten nie zapewnia, że klient się podłączy do właściwego serwera (OPC UA), zapewni tylko, że zostanie podłączony do właściwego komputera. Taki sposób umożliwia dobry poziom zabezpieczenia (wykorzystywany jest zazwyczaj np. w ramach dostępu do bankowości mobilnej), ale serwer nie może ograniczać klienckie aplikacje na podstawie ich uwierzytelnienia.

Poziom 3 - uwierzytelnienie klienta
 
W tym przypadku klient może się podłączyć do dowolnego serwera, ale serwer umożliwia podłączenie się tylko wiarygodnym klientom. Ten poziom stosowany jest w przypadku usług wymagających dostęp tylko wiarygodnym klientom oraz gdzie jednocześnie brak wymogu prawowitości serwera. By serwer mógł udostępnić dane, musi wieżyć certyfikatom klientów. To ustawienie wykona Administrator na serwerze (certyfikat klienta zostanie wyraźnie określony w liście wiarygodnych certyfikatów, lub certyfikat klienta musi być wydany wiarygodną autorytą certyfikacyjną).

Poziom 4 - obustronne uwierzytelnienie
 
W tym przypadku klient oraz serwer umiżliwi podłączenie tylko wiarygodnym partnerom. Ten sposób umożliwia najwyższy poziom zabezpieczenia, ale wymaga ustawienia po obu stronach (klient oraz serwer). Jeżeli serwerowy certyfikat nie jest wyraźnie wiarygodny, wtedy klient uwierzytelni serwer tak samo jak w poziomie 2. Sposób ten zapewnia najwyższy poziom zabezpieczenia i dlatego jest zalecany poprzez OPC Foundation jako domyślny dla wszystkich serwerów oraz klientów.

Komunikacja OPC UA w systemie PROMOTIC przy pomocy drivera PROMOTIC

Do tej komunikacji w systemie PROMOTIC można zastosować:

Komunikacja OPC UA w systemie PROMOTIC przy pomocy konwertera do OPC DA

Komunikację OPC UA można przeprowadzić przy pomocy konwerterów programowych OPC UA do OPC DA.
Z punktu widzenia systemu PROMOTIC zastosowanie konwerterów OPC UA jest bardzo proste - w systemie PROMOTIC wystarczy dodać obiekt PmaOpcDaClient, wybrać konwerter OPC UA jak serwer a następnie zamapować wymagane zmienne w systemie PROMOTIC.
Konwerter OPC UA należy zainstalować na tym samym komputerze, na którym jest uruchomiona aplikacja PROMOTIC (w celu pominięcia sieciowej komunikacji OPC).

1. Ogólne ustawienie programowych konwerterów OPC UA:
W celu poprawnego użytkowania konwerterów w systemie PROMOTIC jest konieczne je w właściwy sposób ustawić.
Właściwe ustawienie wykonywane jest w kilku krokach:
1. Wytwórz (ewentualnie importuj) certyfikat dla konwertera OPC UA.
2. Definicja połączenia konwertera z serwerem OPC UA włącznie ze sposobem zabezpieczenia połączenia.
3. W konwerterze OPC UA ustaw certyfikat serwera OPC UA jako wiarygodny.
4. W serwerze OPC UA ustaw certyfikat konwertera OPC UA jako wiarygodny.
5. W aplikacji PROMOTIC zastosuj komunikację OPC DA z serwerem OPC uruchomionym w konwerterze OPC UA.


2. Sugerowane programowe konwertery OPC UA:
- OPC UA Gateway od firmy Unified Automation Gmbh (https://www.unified-automation.com)
Patrz OPC UA Gateway - Instalacja oraz ustawienia
© MICROSYS, spol. s r.o.