Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Powrót do listy artykułów Aktualizowany: 2020-03-04
Jak udostępnić dane ze sterownika PLC do systemu SCADA korzystając z protokołu MQTT?

W poprzedniej części „Jak wykorzystać protokół MQTT w systemach telemetrii opartych o aplikacje SCADA?" dowiedziałeś/aś się, jak – wykorzystując przemysłowy protokół Internetu rzeczy IIoT czyli MQTT – pobierać dane z rozproszonego systemu telemetrycznego SCADA na przykładzie oprogramowania Wonderware InTouch.

 

Co będzie potrzebne, aby udostępnić dane za pomocą protokołu MQTT?


1. Dostęp do Internetu

Architektura komunikacji bazuje na sieci Internet. W komunikacji wykorzystującej protokół MQTT istnieje nadawca (producent danych), odbiorca (konsument lub subskrybent danych) oraz pośrednik – MQTT Broker.

Konsument z producentem danych nie komunikują się bezpośrednio między sobą, dzięki temu w rozproszonym układzie telemetrycznym nie muszą one posiadać statycznego i publicznego adresu w Internecie.

To pośrednik, czyli MQTT Broker musi posiadać publiczny adres, a nadawca i odbiorca danych mogę korzystać z współdzielonego dostępu do Internetu (urządzenia zlokalizowane za routerami, np. w sieci typu NAT). Więcej informacji na temat, czym jest Broker, można znaleźć we wspomnianym poradniku.

 

2. Oprogramowanie SCADA – Wonderware InTouch

Oprogramowanie do wizualizacji Wonderware InTouch podobnie jak programy komunikacyjne będzie źródłem danych, które uzyskane ze sterownika PLC będą przetwarzane i następnie udostępniane do odbiorcy za pomocą protokołu MQTT.

 

3. Programy komunikacyjne i konwerter protokołów

Programy komunikacyjne będą potrafiły pobrać dane generowane przez sterowniki PLC i udostępnić je za pomocą protokołu MQTT do urządzeń odbiorczych. W przypadku oprogramowania Wonderware będzie to OI Gateway – program komunikacyjny pozwalający konwertować protokoły Suitelink, OPC, OPC UA i MQTT oraz program komunikacyjny GESRTP do sterowników Emerson (dawniej GE).

Na potrzeby testów i tylko testów, w ASTOR uruchomiony został broker w wersji otwartej, nieszyfrowanej, bez uwzględnienia użytkowników. Oznacza to, ze każdy może być publisherem danych, każdy te dane może odczytać, każdy te dane może zmienić, a sama transmisja danych odbywa się w sposób jawny i nieszyfrowany.

 

W jaki sposób udostępniać dane bezpośrednio z programu komunikacyjnego i sterownika PLC?
W celu pokazania sposobu udostępniania danych zastosujemy kontroler Emerson PACSystems RX3i, z którym będzie się komunikował program komunikacyjny do obsługi protokołu SRTP – OI Server GESRTP. Zakładamy, że program komunikacyjny GESRTP łączący się ze sterownikiem jest już skonfigurowany prawidłowo i pobiera dane ze sterownika dla programu wizualizacyjnego InTouch, a jego konfiguracja wygląda następująco (pole Host Name to adres sterownika źródłowego):

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-1.pngRys. 1. Konfiguracja programu komunikacyjnego – adres sterownika

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-2.pngRys. 2. Konfiguracja programu komunikacyjnego – temat komunikacji

Z punktu widzenia dalszej konfiguracji ważne jest, jak skonfigurowany jest temat komunikacji na zakładce Device Groups – jego nazwa i interwał odpytywania sterownika.

W konsoli SMC, gdzie zainstalowany jest program komunikacyjny OI GESRTP oraz OI Gateway, rozwiń gałąź programów komunikacyjnych OI Servers i na poziomie OI.GATEWAY.2 / Configuration z menu kontekstowego wybierz Add MQTT_Broker Connection, aby utworzyć połączenie MQTT i nadaj temu połączeniu nazwę – przykładowo BrokerASTOR.

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-3.pngRys. 3. Definicja połączenia do brokera MQTT

W oknie konfiguracyjnym połączenia wskaż adres brokera MQTT oraz port TCP, na którym nasłuchuje ta usługa. Na potrzeby testów skorzystaj z otwartego, testowego brokera ASTOR, podając jego adres mqtt.astor.com.pl oraz domyślny port 1883, a następnie sprawdź jego dostępność przyciskiem Validate Address and Port. Testowy broker ASTOR nie wymaga szyfrowania komunikacji, więc pozostaw tę opcję wyłączoną.

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-4.pngRys. 4. Konfiguracja połączenia do brokera MQTT

Następnie w drzewie na poziomie utworzonego wcześniej połączenia utwórz grupę MQTT wybierając z menu kontekstowego Add MQTTGroup Connection i nadaj jej nazwę, przykładowo MQTTGroup.

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-5.pngRys. 5. Definiowanie grupy połączeń MQTT

Domyślne ustawienia grupy połączeń są wystarczające. W zależności od wymagań i konfiguracji samego brokera, w tym miejscu można skonfigurować użytkownika i hasło w celu zapewnienia wyższego bezpieczeństwa. Do testów opcje te pozostaw wyłączone.

 

jak-udostepniac-dane-z-plc-do-scada-przez-mqtt-6.pngRys. 6. Konfiguracja grupy MQTT

Aby wysyłać dane do Brokera, należy skonfigurować jeszcze połączenie pomiędzy konwerterem protokołów OI Gateway a programem komunikacyjnym GESRTP oraz wskazać, które dane wysyłasz i pod jakimi adresami będą one dostępne. W tym celu w drzewie, na poziomie OI.GATEWAY.2 / Configuration, z menu kontekstowego wybierz Add SuiteLink Connection, aby utworzyć połączenie między tymi programami za pomocą wewnętrznego protokołu Wonderware Suitelink i nazwij je, przykładowo SLGESRTP.

 

To tylko część artykułu. Czytaj dalej TUTAJ na Poradniku Automatyka

 

Autor:
Marcin Woźniczka
Źródło:
Poradnik Automatyka
Dodał:
ASTOR Sp. z o.o.