Technologia Internet of Things w systemie SCADA od ICONICS

Wiktor Susfał Internet Of Things

Wpis ten przedstawia rozszerzone informacje na temat sposobu działania oraz konfiguracji modułu IoTWorX od ICONICS.

Idea rozwiązań opartych o technologię Internetu Rzeczy została przedstawiona w jednym z poprzednich wpisów. Wspomniany artykuł opisuje również korzyści i możliwości, jakie płyną z ich stosowania. Niniejszy wpis poświęcony został natomiast bliższemu przyjrzeniu się funkcjonalnościom produktu IoTWorX oraz jego praktycznej implementacji.

Krótko o IoTWorX

Jest to oprogramowanie obsługujące funkcje związane z łącznością i pobieraniem danych, instalowane na urządzeniach będących bramkami IoT (ang. Gateway). IoTWorX może zostać zainstalowany na każdym urządzeniu działającym pod systemem Windows 10 IoT Core lub Enterprise. Zapewnia on konfigurację danego urządzenia z chmurą obliczeniową.

IoTWorX jest w stanie wysyłać i odbierać informacje z chmur dowolnego dostawcy, natomiast ten wpis traktować będzie o konfiguracji IoTWorX z chmurą Azure od Microsoft.

Konfiguracja IoTWorX następuje z poziomu modułu Workbench będącego częścią GENESIS64 – oprogramowania SCADA od ICONICS. Oznacza to, że z wykorzystaniem chmury (np. Azure) możliwe jest zarządzanie posiadaną bramką IoT z każdego miejsca na Ziemi.

Łącząc funkcjonalności GENESIS64 działającego w chmurze oraz IoTWorX (które zostaną omówione niżej) otrzymuje się w pełni kompatybilne połączenie technologi Internet of Things oraz SCADA, aby jeszcze wydajniej monitorować procesy technologiczne.

Funkcjonalności IoTWorX

W zależności od poziomu złożoności aplikacji oraz od systemu operacyjnego działającego na bramce IoT, ICONICS oferuje dwie wersje oprogramowania IoTWorX: Core oraz Enterprise. Bardziej rozbudowaną wersją jest Enterprise. Składa się ona z następujących modułów.

  • IoT Cloud Connector – odpowiada za konwersję danych zbieranych przez bramkę IoT do formatu AMQP (połączenie z chmurą Azure) lub MQTT (wysyłanie danych do platform od innych dostawców). Następnie wysyła wiadomości do chmury używając odpowiednich zabezpieczeń (np. szyfrowania TLS w przypadku formatu AMQP).
  • IoT Communicator – pobiera dane z dostępnych źródeł (Modbus TCP/IP, BACnet, OPC Classic i UA, SNMP) i przekazuje je dalej do elementu Cloud Connector.
  • IoT Collector – posiada możliwość pobierania danych z w/w źródeł oraz zbierania ich przed dany okres czasu, aby następnie wysłać do chmury Azure. Nadanie komunikatów może odbywać się okresowo, lub po wystąpieniu zdefiniowanego sygnału. Dane odbierane są za pomocą archiwizatora Hyper Historian pracującego w chmurze.
  • IoT Analyzer – zawiera funkcjonalności podobne do elementu Collector oraz posiada możliwość przeprowadzania analiz według algorytmów zdefiniowanych przez użytkownika (narzędzie Workflow) i obsługi usługi wykrywania usterek (ang. Fault Detection and Diagnostics). Wykonywanie obliczeń na bramce IoT pozwala na przesyłanie do chmury tylko interesujących wyników, co zmniejsza obciążenie sieci.
  • IoT Visualizer – pozwala na lokalne tworzenie inteligentnych pulpitów menadżerskich (za pomocą modułu KPIWorX) obrazujących dane gromadzone przez bramkę IoT.
  • IoTWorX Diagnostics – służy do zbierania danych na temat pracy systemu operacyjnego działającego na bramce IoT, takich jak np. wykorzystanie pamięci, czy liczba dostępnych procesorów. Dane te mogą być przesyłane do chmury lub wizualizowane lokalnie przez moduł Visualizer. IoTWorX Diagnostics to integralna część modułu Communicator.

Wersja Core oprogramowania IoTWorX zawiera niektóre z wyżej wymienionych funkcji. Należą do nich: Communicator (w tym IoTWorX Diagnostics), Visualizer oraz Connector. Architekturę omawianego oprogramowania przedstawiają poniższe zdjęcia.

Konfiguracja Systemu

Implementacja technologii Internet of Things w systemie ICONICS polega na:

  • przygotowaniu odpowiednich komponentów danej chmury (ten wpis porusza przypadek chmury Azure od Microsoft),
  • instalacji oprogramowania IoTWorX (wraz z Update 4) na bramce IoT oraz konfiguracji jego połączenia z chmurą.

Podstawowe elementy infrastruktury Azure, niezbędne do konfiguracji systemu są wymienione poniżej.

  • Konto na portalu Azure – możliwe jest wykorzystanie bezpłatnego okresu próbnego trwającego 1 miesiąc.
  • Azure IoT Hub – broker komunikatów wysyłanych do chmury. Komunikacja pomiędzy bramkami IoT (gateway) oraz oprogramowaniem w chmurze następuje z wykorzystaniem rozwiązania publish/subscribe (pub/sub). Urządzenia wysyłające oraz odbierające komunikaty nie łączą się ze sobą bezpośrednio. Wymiana informacji następuje tu na zasadzie „wrzucania” i „wyjmowania” wiadomości z pewnej „skrzynki”, której rolę pełni tu IoT Hub. Każdy, kto posiada uprawnienia dostępu do niej, ma prawo korzystać z informacji tam przechowywanych, według poziomu swoich uprawnień.
  • Azure Storage Account (Azure Blob Container) – element odpowiedzialny za przechowywanie plików zawierających konfiguracje oprogramowania IoTWorX projektowane za pomocą modułu Workbench, zainstalowanego na komputerze (maszynie wirtualnej) z GENESIS64.
  • (opcjonalnie) Maszyna Wirtualna – z działającym oprogramowaniem GENESIS64 w wersji 10.95 z zainstalowanym dodatkiem Update 4. Za jego pomocą następuje zdalna konfiguracja bramki IoT. Zarządzanie gateway’em może następować również z poziomu GENESIS działającego na innym komputerze z dostępem do internetu. Zarówno system operacyjny, jak i parametry maszyny wirtualnej powinny spełniać wymagania tego oprogramowania SCADA.

Należy pamiętać o odblokowaniu odpowiednich portów dla w/w aplikacji zarówno na serwerze GENESIS, jak i bramce IoT. Porty, które mogą wymagać użycia to: 5671 (dla komunikacji za pomocą protokołu AMQPs), 443 (dla komunikacji po HTTPS), 8778 (dla uslugi IoT Collector).

Instalacja IoTWorX wraz z Update 4 powinna zakończyć się zarejestrowaniem danej bramki IoT w określonym elemencie typu IoT Hub. Ustanawiając połączenie z IoT Hub zarówno względem gateway’a oraz serwera GENESIS64 możliwe jest zapewnienie wymiany informacji pomiędzy tymi komponentami, a co za tym idzie – również zdalnego zarządzania bramką IoT.

Tworzenie nowej konfiguracji odbywa się poprzez dodanie do programu Workbench na serwerze GENESIS nowego Projektu IoT. Różni się to od ustanowienia zwykłego projektu dodatkową potrzebą wprowadzenia odpowiedniego tokenu łączności z IoT Hub oraz Azure Blob Container. Po zaprojektowaniu odpowiedniej konfiguracji w nowym projekcie, możliwe jest jej umieszczenie w kontenerze Azure wymienionym wyżej, a następnie wgranie na odpowiednią bramkę IoT. Projekt IoT może zawierać ustawienia każdej funkcji oferowanej przez posiadaną wersję IoTWorX. Co więcej, jeden projekt może zawierać połączenia z więcej niż jednym gateway’em – przy wgrywaniu nowych ustawień, użytkownik sam wybiera docelową bramkę.

Architekturę systemu w przypadku korzystania z chmury Azure od Microsoft przedstawia poniższe zdjęcie.

Szczegóły konfiguracji

Powyższy opis w sposób poglądowy przedstawił aspekt implementacji rozwiązania Internetu Rzeczy opartego o produkty ICONICS oraz Microsoft. Aby dowiedzieć się o szczegółach konfiguracji, należy kliknąć w dowolny z poniższych odnośników (wpisy będą dodawane na bieżąco).

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 oraz IoTWorX w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.