OPC UA - standard komunikacji Przemysłu 4.0. Część 2

| Technika

OPC UA to popularyzujący się standard przemysłowy, który może zostać zaimplementowany na różnych systemach operacyjnych, dowolnej platformie sprzętowej i przy użyciu wielu języków programowania, również w aplikacjach wykorzystujących cloud computing. W drugiej części artykułu przedstawiamy zagadnienia związane z zastosowaniami OPC UA w różnych aplikacjach i możliwościami skalowania jego funkcjonalności, a także kwestiami cyberbezpieczeństwa.

OPC UA - standard komunikacji Przemysłu 4.0. Część 2

ZASTOSOWANIE POZA PLC

Rys. 1.

Implementacja serwera OPC UA wydaje się najbardziej naturalna na sterownikach PLC i wyspach I/O jako jedna z opcji komunikacji, ponieważ są to elementy pośredniczące pomiędzy sprzętem zainstalowanym na maszynach - takim jak urządzenia pomiarowe, zabezpieczające i sygnalizacyjne, a systemami nadrzędnymi, wykorzystującymi informacje pochodzące z maszyny.

Sterowniki mają do dyspozycji pewną moc obliczeniową i zwykle są wyposażone w przynajmniej jeden interfejs komunikacyjny, a obsługa protokołów przemysłowych jest jedną z ich podstawowych funkcji. W tradycyjnej architekturze do sterownika podłączone są wszystkie sygnały wejściowe i wyjściowe obsługiwane w systemie sterowania zarówno bezpośrednio, jak też za pomocą protokołów komunikacji z oddalonych modułów I/O lub innych urządzeń.

Wymagana jest odpowiednia infrastruktura łącząca wszystkie elementy składowe systemu. Ponadto każdy sygnał wejściowy czy wyjściowy musi być obsłużony przez sterownik, co związane jest z czasem potrzebnym na napisanie programu, a każda zmiana pociąga za sobą konieczność wgrania do PLC przynajmniej części kodu. To ostatnie wiąże się z ryzykiem popełnienia błędu i, w skrajnym przypadku, spowodowaniem zatrzymania procesu lub wywołaniem awarii.

Sterownik PLC nie jest potrzebny w każdej aplikacji, a nawet jeśli jego zastosowanie jest wymagane, to niekoniecznie musi on obsługiwać wszystkie dostępne w systemie sygnały. Z tego względu optymalnym rozwiązaniem z punktu widzenia IIoT jest maksymalne skrócenie pionowej drabiny kolejnych urządzeń pośredniczących pomiędzy maszyną a systemem informatycznym wykorzystującym dane.

OPC UA jest standardem umożliwiającym osiągnięcie tego celu. Niezależnie od tego, czy urządzenia są spięte fizycznie w jedną sieć, czy też komunikują się ze sobą za pośrednictwem bramek sieciowych i chmury, zastosowanie OPC UA pozwala na to, że każdy odbiorca danych może dowolnie z nich korzystać bez konieczności konfiguracji dodatkowych konwerterów.

OPC UA znalazło już zastosowanie w produktach innych niż sterowniki PLC - na przykład w identyfikacji produktów przez czytniki RFID firmy HARTING i czytniki kodów kreskowych Leuze. To dobry przykład możliwości wykorzystania danych z poziomu hali produkcyjnej lub magazynowej przez systemy biznesowe. Kolejny przykład to system SIMOCODE pro od Siemensa - narzędzie do monitoringu i ochrony napędów niskiego napięcia.

Jedną z opcji komunikacji z systemami AKPiA jest OPC UA, dzięki czemu informacje diagnostyczne na temat napędu mogą być udostępniane na zewnątrz. Podobnie jest z systemem diagnostycznym AMS 6500 ATG Emersona.

Ciekawą opcją jest również wykorzystanie OPC UA przez narzędzie do parametryzacji i diagnostyki Lenze EASY Starter przeznaczone dla techników zajmujących się uruchamianiem i serwisem przemienników częstotliwości Lenze.

EASY Starter OPC UA Server jest instalowany na komputerze razem z programem serwisowym i umożliwia dostęp do parametrów i informacji diagnostycznych przez dowolnego klienta OPC UA, co prawda tylko wtedy, kiedy przemiennik jest połączony z programem EASY Starter.

BEZPIECZEŃSTWO

Integracja urządzeń przemysłowych z systemami znajdującymi się fizycznie poza terenem hali produkcyjnej lub w ogólności poza zakładem rodzi obawy o bezpieczeństwo danych, zwłaszcza w przypadku systemów wykorzystujących cloud computing. Bezpieczeństwo danych to kwestia często poruszana w kontekście Przemysłu 4.0.

Specjaliści od cyberbezpieczeństwa są szczególnie wrażliwi na wszelkie ingerencje w sieci zakładowe i wpuszczanie do nich ruchu z zewnątrz za pośrednictwem chmury. Wyzwaniem stojącym przed twórcami standardów komunikacji jest zabezpieczenie sieci zakładowych przed potencjalnymi cyberatakami i stworzenie u użytkowników poczucia bezpieczeństwa wrażliwych danych.

OPC Foundation postawiła sobie za cel sprostanie tym wymogom i stworzenie rozwiązania zapewniającego bezpieczeństwo danych poprzez uwierzytelnianie dostępu i szyfrowanie komunikatów. W warstwie transportowej zapewniana jest spójność i autentyczność przez wykorzystanie cyfrowych podpisów.

W tej samej warstwie dzięki szyfrowaniu osiągana jest poufność. W warstwie aplikacji stosowane jest uwierzytelnianie za pomocą nazwy użytkownika i hasła lub certyfikatu X.509. Autoryzacja do odczytu i zapisu danych uzyskiwana jest na podstawie uprawnień dostępu użytkownika lub przyznanej mu roli. Należy pamiętać, jak podkreśla OPC Foundation, że zapewnienie poziomu bezpieczeństwa wynikającego ze specyfikacji OPC UA zależy od właściwej konfiguracji aplikacji.

Niemiecki Federalny Urząd Bezpieczeństwa Teleinformatycznego (BSI) przeprowadził w 2015 roku analizę bezpieczeństwa OPC UA. Protokół został określony jako zaprojektowany w sposób zapewniający bezpieczeństwo (secure by design). W raporcie opublikowanym przez BSI zgłoszono tylko niewielkie uwagi, nie stwierdzono błędów systematycznych.

Zalecono używanie trybu "Sign" lub "SignAndEncrypt" i sposobu szyfrowania "Basic256Sha256". Kolejna analiza została przeprowadzona w roku 2017 przez Kaspersky Labs, a jej wyniki były mniej optymistyczne. Zidentyfikowano kilkanaście zagrożeń dla bezpieczeństwa. W obydwu przypadkach OPC Foundation odpowiedziała na wszystkie uwagi i zapewniła, że zgłoszone zagrożenia zostały wyeliminowane lub trwają prace nad ich usunięciem.

OPC UA W SYSTEMACH WBUDOWANYCH

Dzięki odejściu od stworzonego przez Microsoft interfejsu DCOM, standard OPC UA może być implementowany na sprzęcie, który nie jest obsługiwany przez system operacyjny Windows. Otwiera to furtkę dla całej gamy systemów wbudowanych opartych na dowolnej architekturze. OPC UA jest dostępne również dla systemów wykorzystujących stosunkowo proste mikrokontrolery. W tego typu systemach głównym ograniczeniem są skromne zasoby pamięci i procesora.

Jednym z istotnych zagadnień rozważanych przy wyborze standardu komunikacji jest również czas potrzebny na implementację serwera OPC w urządzeniu. Firmy od lat zajmujące się komunikacją przemysłową wychodzą naprzeciw producentom sprzętu, udostępniając zestawy narzędzi służących do wyposażenia urządzeń w serwer OPC UA.

Oferowane przez nich Software Development Kity (SDK) usprawniają proces dodawania obsługi OPC do urządzenia. SDK można znaleźć w ofercie takich firm jak Matrikon OPC, Prosys, Softing, Unified Automation. Swój zestaw udostępnia również OPC Foundation. SDK od Matrikon OPC stworzony został z myślą o urządzeniach o dużych ograniczeniach mocy obliczeniowej.

Dostępne są narzędzia wykorzystujące różne języki i platformy C/C++, .NET i Java. Zaletą wykorzystania SDK jest przyspieszenie procesu implementacji OPC UA. Software Development Kity mają certyfikaty OPC Foundation, co również jest istotne przy wprowadzaniu produktu na rynek.

SKALOWANIE ZŁOŻONOŚCI DO POTRZEB APLIKACJI

Tabela 1. Minimalne zużycie pamięci przez serwer

Specyfikacja OPC UA jest rozbudowana i zawiera wiele funkcji. Część z nich jest niepotrzebna w najprostszych aplikacjach, a ich wykorzystanie wymagałoby zbyt dużej mocy obliczeniowej, niedostępnej w prostych urządzeniach o małym poborze energii. Z tego względu w specyfikacji zawarto kilka profili różniących się między sobą liczbą obsługiwanych funkcji i usług.

Dla najprostszych rozwiązań stworzono Nano Embedded Device Server Profile umożliwiający tylko odczyt i zapis wartości bez żadnego sposobu zabezpieczenia komunikacji. Kolejnym jest Micro Embedded Device Server Profile obsługujący wszystkie funkcje zawarte w Nano oraz dodatkowo model PubSub i obsługę więcej niż jednej sesji.

Kolejny, Embedded Device Server Profile, obsługuje dodatkowo funkcje zabezpieczania danych. Pełny zestaw funkcji, które można znaleźć na przykład w serwerach na komputerach PC, jest zawarty w profilu Standard UA Server Profile.

Tabela 2. Typowa wydajność serwera

W tabeli 1 podano minimalne zużycie pamięci przez serwer OPC UA na mikrokontrolerze ARM Cortex-M4F przy użyciu dwóch różnych profili. Typowe obciążenie procesora dla dwóch przypadków testowych zostało przedstawione w tabeli 2.

Skalowanie funkcjonalności OPC UA do potrzeb i mocy obliczeniowej urządzenia rozszerza zakres zastosowań dla tego standardu komunikacji. Implementacja OPC UA w niewielkich i prostych urządzeniach, jak na przykład przetworniki pomiarowe, pozwoliłaby na ułatwienie i przyspieszenie integracji danych pomiarowych z oprogramowaniem przemysłowym wykorzystującym IIoT.

Urządzenia takie jak przetworniki pomiarowe mogłyby mieć na stałe przypisane tagi, alarmy i wartości diagnostyczne (bez możliwości konfiguracji), a z punktu widzenia klienta obsługującego dane z przetwornika funkcjonować jako jeden z wielu obiektów danej klasy, identyfikowanych na przykład po numerze seryjnym.

Piotr Ziółkowski