System SCADA to nie oprogramowanie pośredniczące – cz. I

Przemysłowy Internet Rzeczy (IIoT) oraz informatyczne systemy nadzorujące przebieg procesu technologicznego lub produkcyjnego (SCADA) mogą usprawnić operacje realizowane w aplikacjach przemysłowych.
Termin SCADA (ang. "supervisory control and data acquisition”, dosł. “nadzór i akwizycja danych”) odnosi się do zestawu aplikacji oprogramowania dla przemysłu, które mogą być skonfigurowane tak, aby wspierały zarządzanie prawie każdym rodzajem produkcji dyskretnej lub procesowej. Systemy SCADA znajdują się wszędzie, gdzie konieczna jest agregacja danych dotyczących sterowanego procesu przemysłowego lub koordynacja operacji związanych z takim procesem produkcyjnym.
Czy rola systemów SCADA zmieni się lub osłabnie w świecie automatyki przemysłowej, podlegającym znacznym przeobrażeniom i reorganizacji związanej z ekspansją nowych technologii Przemysłowego Internetu Rzeczy (Industrial Internet of Things, IIoT)?
Odpowiedź brzmi “nie”. W rzeczywistości IIoT poprawia już teraz działanie systemów SCADA, nawet zanim zostaną one kiedyś włączone do sieci internetowej lub tzw. chmury. Wykorzystanie tzw. lekkiego protokołu transmisji danych – MQTT (Message Queueing Telemetry Transport), w połączeniu z narzędziami brokerów informacji (data brokers) w oprogramowaniu pośredniczącym, zorientowanym na przetwarzanie komunikatów (message-oriented middleware, MOM), “modernizuje” infrastruktury systemów SCADA. Jeżeli istnieje możliwość wykorzystania rozwiązań łączności w sieci IIoT, to zamiast inwestowania zasobów w ponowne opracowanie, ponowną integrację i reorganizację systemu SCADA opartego na protokołach liczących sobie 35 lat, można poświęcić czas na opracowywanie aplikacji, wykorzystujących zalety np. technologii chmury i zaawansowanego przetwarzania danych oraz analityki.
Innymi słowy technologie IIoT mogą niejako “przeskoczyć” nad istniejącymi, przestarzałymi infrastrukturami oraz obecnie zainstalowaną bazą urządzeń z rozwiązaniami i strategiami migracji, które działają w połączeniu z nimi. Już dzisiaj zainstalowane na poziomie obiektowym urządzenia “brzegowe” zapewniają łączność z istniejącymi sterownikami PLC, czujnikami bezprzewodowymi oraz innymi węzłami sieci i publikują zmienne procesowe w czasie rzeczywistym, wykorzystując protokół MQTT.
MQTT to dwukierunkowy, lekki, z wywoływaniem zdarzeniowym, zorientowany na przetwarzanie komunikatów protokół transportowy danych, który umożliwia wydajną komunikację urządzeń z systemami backendowymi (ang. back-end systems, najbardziej oddalone od klienta), poprzez sieci z ograniczoną przepustowością. Protokół MQTT eliminuje tak zwane protokoły odpytywania cyklicznego (poll/response, odpytywanie/odpowiedź), zaś poprzez wdrożenie dojrzałych technologii MOM, systemy SCADA połączone z siecią IIoT czynią dane dotyczące urządzeń dostępnymi dla szerszego kręgu odbiorców. Urządzenia nie są już dłużej bezpośrednio połączone z aplikacją SCADA, są natomiast skutecznie od niej oddzielone. System SCADA oparty na zasadach MOM, redukuje czas oczekiwania na kluczowe dane dotyczące sterowania i pomiarowe.
Aktualna przepustowość sieci, w porównaniu z poprzednio wymaganą dla protokołów odpytywania cyklicznego, jest zredukowana nawet o 85%. To czyni dostępnymi informacje, które są często pozostawione bezużytecznie w urządzeniach. Ponadto zapewnia to pojedynczy punkt zarządzania bezpieczeństwem dla urządzeń i aplikacji obiektowych, upraszcza topologię infrastruktury dla celów redundancji, zwiększa dostępność i skalowalność oraz eliminuje budzące niejednokrotnie strach przejścia z jednej wersji SCADA na inną. Na koniec daje to oddzielenie urządzeń, wymagane dla dodatkowego umożliwienia pracy w sieci IIoT.

Implementacja istniejących systemów SCADA
Typowy, prawidłowo wybrany pod względem sprzętu (hardware-wise) system SCADA, obejmuje komputerowe stacje robocze, programowalne sterowniki logiczne (programmable logic controllers, PLC) oraz oprzyrządowanie modułów wejść i wyjść systemowych (I/O). Innymi elementami systemu SCADA są: rozproszona baza danych i znaczniki (tagi) lub punkty danych. Każdy znacznik reprezentuje pojedynczą wartość wejściową lub wyjściową systemu.
Pętla sprzężenia zwrotnego sterowania procesem realizowana jest przez sterownik PLC, podczas gdy system SCADA monitoruje jej działanie. Oznacza to, że sterowniki PLC przyjmują jakieś parametry sterowania, zaś operatorzy monitorują wyniki i na przykład zmieniają punkty nastaw. Może występować brak komunikacji typu peer-to-peer pomiędzy sterownikami.
Systemy SCADA zasadniczo nie zmieniły się w ciągu ostatnich 40 lat. Sprzęt i systemy operacyjne zostały ulepszone zgodnie z prawem Moore’a, jednak infrastruktura i sposób przesyłania informacji do systemu z urządzeń i czujników, pozostały w dużym stopniu niezmienione.
Większość systemów SCADA nadal umieszcza system hostujący bezpośrednio połączony szeregowo z dowolnym urządzeniem obiektowym, wykorzystującym protokoły odpytywania cyklicznego. Te sterowniki protokołów odpytywania cyklicznego, narzucają bezpośrednie łączenie urządzeń z aplikacją hosta SCADA.
Z punktu widzenia “operacji” systemy te sprawdziły się. Z drugiej strony jednak powstają wyzwania, gdy funkcje biznesowe potrzebują dostępu do danych, których dostarczają urządzenia inteligentne i czujniki. Aby zapewnić ten dostęp w tablicach hosta SCADA muszą być umieszczone dodatkowe mechanizmy odpytywania cykliczne (polls). Dostęp do danych wymaga dodatkowych aplikacji. Muszą być podane parametry dotyczące bezpieczeństwa i kontroli dostępu. Operacje muszą zarządzać dodatkowymi odpytywaniami cyklicznymi i unikać wszelkich negatywnych wpływów na prędkość aktualizacji.
System SCADA obecnie zbiera dane, których nie zawsze potrzebuje, tylko po to aby przekazać je do innych aplikacji. W miarę upływu czasu, jako element koordynacji operacji, system SCADA zaczyna funkcjonować coraz bardziej jak oprogramowanie pośredniczące, zorientowane na przetwarzanie komunikatów, chociaż z założenia nigdy nie miało takim być. A ponieważ aplikacja hostująca SCADA ewoluuje, staje się trudna do zarządzania. Stąd podejmowane wysiłki mające na celu uzyskanie korzyści z dodatkowych informacji, zbieranych z urządzeń obiektowych, które zmierzają ku końcowi.
Dawne praktyki bezpośredniego podłączania urządzeń do systemu SCADA, z wykorzystaniem sieci protokołów odpytywania cyklicznego, także są przeszkodą na drodze adaptacji nowych technologii. Po wdrożeniu jakiegoś protokołu użytkownicy stają przed dylematem, co stanie się gdy będzie dostępna nowa technologia. Nowe urządzenia mogą posiadać protokoły nieobsługiwane przez istniejący system SCADA. Nie można sprawdzić i ocenić działania alternatywnego hosta SCADA równolegle z istniejącym hostem na funkcjonującym już systemie. Podłączanie urządzeń do aplikacji przy wykorzystaniu protokołów odpytywania cyklicznego, może być stosowane do tworzenia rozwiązań tymczasowych, gdyż  są one później trudne do zaktualizowania.

Możliwości modernizacji systemu SCADA
Wykorzystując urządzenia sieciowe, które natywnie wdrażają protokół MQTT, można zbudować system SCADA oparty na technologii MOM, jak pokazano na rys. 3. Zachowane są komponenty istniejącej infrastruktury odpytywania cyklicznego. Zasadniczą zmianą topologii sieci jest dodanie serwera MQTT.
Istniejące urządzenia obiektowe mogą obsługiwać protokół MQTT, wykorzystując dostępne urządzenia typu brzegowa brama sieciowa (edge-of-network gateway), które stosują natywny protokół odpytywania cyklicznego, a następnie konwertują informacje dotyczące zmiennych rejestrowych/procesowych na komunikaty MQTT, publikowane w czasie rzeczywistym na zasadzie raportowania wyjątków (report-by-exception).
Dostępne obecnie urządzenia SCADA posiadają już natywnie zainstalowany protokół MQTT i mogą być natychmiast dodane do istniejącej infrastruktury. Wykorzystanie technologii MOM oznacza, że urządzenia końcowe publikują wszystkie dane operacyjne w czasie rzeczywistym, do wykorzystania przez system SCADA i inne zintegrowane funkcje biznesowe. Również metadane, informacje dotyczące zasobów, diagnostyczne, konfiguracyjne czy inne dane – wszystkie są dostępne w czasie rzeczywistym.
Host SCADA jest we współczesnych aplikacjach systemowych oddzielony od zdalnych urządzeń obiektowych. System nie jest ograniczony przez jakąś specyficzną implementację protokołu odpytywania cyklicznego lub aplikację hosta SCADA. W nowoczesnych architekturach systemowych istnieje relacja “jeden do wielu” (one-to-many) pomiędzy publikowanymi danymi z urządzeń obiektowych, a aplikacjami zainteresowanymi subskrybowaniem tych informacji. Host SCADA może w 100% skoncentrować się raczej na „byciu”  hostem, niż na działaniu jako nie w pełni spełniające swe funkcje oprogramowanie pośredniczące – jego funkcjonowanie w takiej roli nie było nigdy planowane. Wszystkie połączenia urządzeń zdalnych z brokerem MQTT są nawiązywane po stronie klienta, zaś wszystkie urządzenia zdalne – przy założeniu normalnego działania – są łączone równocześnie.

Autor: Arlen Nipper – prezes i dyrektor generalny d/s technicznych firmy Cirrus Link Solutions.
Druga część artykułu znajduje się pod linkiem.