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 protokół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 uwierzytelnienia
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 klienta 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 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 umożliwiają 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: