Przemysł 4.0 w praktyce - Modbus w chmurze

Przemysł 4.0, IIoT i rozwiązania chmurowe to obecnie bardzo popularne frazy w świecie przemysłu i IT. Hasła te przez wielu są interpretowane jako czysty marketing i wymyślanie koła na nowo, jednak nic bardziej mylnego. Obecnie dostępne są innowacyjne narzędzia i infrastruktura, które razem tworzą synergiczne połączenie, łatwiejsze do wdrożenia niż kiedykolwiek.

Posłuchaj
00:00

OPIS TOPOLOGII

 
Fot. 1. MGate 5105 firmy Moxa to konwerter protokołów Modbus, EtherNetIP i MQTT

W przeszłości istniały podobne urządzenia i usługi, i możliwe było tworzenie aplikacji IIoT (Industrial Internet of Things) podobnych do tych dzisiejszych, jednak było to znacznie trudniejsze i bardziej kosztowne niż dziś. Obecnie tworzenie rozwiązań i usług w chmurze jest najtańsze i najprostsze w historii, co jeszcze bardziej zwiększa powszechność usług i produktów z zakresu IIoT i Przemysłu 4.0.

Obecnie uruchomienie dedykowanego serwera bądź maszyny wirtualnej pod naszą aplikację u najpopularniejszych dostawców chmurowych takich jak: AWS, Azure lub Google Cloud platform, wymaga od użytkownika tylko "wyklikania" konfiguracji. Ponadto dostawcy udostępniają coraz więcej usług pracujących bezserwerowo (serverless), to znaczy, że dostawca dostarcza jedynie wąską funkcjonalność z której korzysta użytkownik, zajmując się wszystkim, co dzieje się pod maską.

Oznacza to że użytkownik nie musi zajmować się konfiguracją i utrzymaniem serwerów, i może skupić się nad samą funkcjonalnością. Jedną z takich usług jest tzw. IoT Core od AWS, który jest gotowym brokerem protokołu MQTT. W artykule tym opiszę integrację danych Modbus z usługą AWS IoT Core na przykładzie konwertera protokołów MGate 5105. Konwerter firmy Moxa może odczytywać dane z urządzeń wyposażonych w protokół Modbus RTU, Modbus TCP, EtherNet/IP, ale możliwe jest też wysyłanie danych z chmury do MGate, tak aby wysłał on zapytania typu "write" czyli kontrolujące.

Funkcjonalność ta pozwala niskim kosztem i nakładem sił zbudować system monitorowania danych z urządzeń, takich jak liczniki energii, liczniki mediów, czujniki ciśnienia, dataloggery itp., i eksportować takie dane do chmury, np. w celu archiwizacji, dalszej analizy czy wizualizacji. Ponieważ MGate 5105 umożliwia komunikację dwustronną, możliwość wysyłania komend z chmury do urządzeń końcowych daje duże możliwości reagowania np. na określone trendy w monitorowanych wartościach lub zwyczajnie pozwala na kontrolę urządzeń zdalnie, za pośrednictwem Internetu i protokołu MQTT

KONFIGURACJA

 
Fot. 2. MGate 5105 - schemat komunikacji

MGate 5105 jest konwerterem protokołów EtherNet/IP, Modbus RTU, Modbus TCP, MQTT. Jego główną funkcją jest konwersja protokołów przemysłowych, w sytuacji gdy do połączenia są 2 urządzenia, ale używające różnych protokołów. Jeśli chodzi o dalsze przesyłanie takich danych z protokołu Modbus lub EtherNet/IP, to bramka ta ma zaimplementowanego klienta MQTT, a konfiguracja odbywa się przez przeglądarkę. Z bramką Moxy przesyłanie i udostępnianie danych Modbus do chmury jest niezwykle proste i intuicyjne.

Sama konfiguracja jest intuicyjna, należy jednak zacząć od konfiguracji brokera, w naszym przypadku na przykładzie usługi AWS IoT. Pierwszą czynnością jest utworzenie konta w Amazon Web Services, wystarczy podać numer karty kredytowej i przejść test sprawdzający, czy jest się człowiekiem, a nie np. skryptem. Po założeniu konta należy przejść do konfiguracji IoT core, a następnie Manage->Things i "Register a think".

W trakcie tworzenia "rzeczy" wygenerują się certyfikaty i klucze, należy je pobrać na dysk, przydadzą się później. Następnie należy utworzyć "Policy", czyli regułę, zgodnie z którą nasza nowo utworzona rzec będzie miała określone prawa, i podpiąć ją do wcześniej utworzonej rzeczy. Na tym etapie mamy już wszystko potrzebne do utworzenia połączenia z AWS IoT core, więc przechodzimy do konfiguracji MGate 5105. Wyszukujemy go w naszej sieci, za pomocą narzędzia DSU i zmieniamy adres tak, aby miał on dostęp do Internetu, co jest niezbędne aby wysyłać dane do brokera.

Następnie należy skonfigurować wybrany protokół przemysłowy, dodając komendy odczytujące i zapisujące. Każda taka komenda odnosi się do konkretnych adresów w pamięci MGate. Następnym krokiem jest konfiguracja klienta MQTT, należy uzupełnić adres brokera MQTT i port, dostępne w panelu konfiguracyjnym AWS IoT, ID klienta (dowolny unikalny ciąg znaków).

 
Fot. 3. Opisywana topologia ThingsPro + usługi AWS

Należy też załączyć wcześniej pobrane certyfikaty i klucz prywatny. Następnie należy stworzyć 2 wiadomości MQTT, które będą skojarzone z wcześniej utworzonymi zapytaniami Modbus/EtherNetIP. W wiadomości publikującej odczytane dane należy ustawić nazwę odczytywanej wartości, zdecydować, czy publikowana ma być stopka czasowa, ustalić format zmiennej, kiedy ma być publikowana, a także ustalić topic i QoS.

W przypadku wiadomości która będzie odbierana z brokera MQTT, procedura jest podobna, różni się m.in. nazwą topic, i można nazwać go np. "get". Ostatnim krokiem jest skojarzenie wiadomości MQTT z komendami protokołów przemysłowych, a dokładniej skojarzenie adresów pamięci, do których zapisują i odczytują one zmienne.

To już koniec podstawowej konfiguracji, następnie wystarczy sprawdzić, czy wysyłanie wiadomości do brokera o określonym topicu i treści sprawi że zmienia się np. wartość rejestru Modbus w urządzeniu, z którym komunikuje się MGate. Podobnie w drugą stronę, wystarczy zalogować się do konsoli AWS IoT Core, monitor, zasubskrybować topic "update" i zmienić stan rejestru Modbus/EtherNetIP, który jest odczytywany przez MGate 5105.

CZYM WŁAŚCIWIE JEST AWS IOT CORE?

 
Fot. 4. Tak wyglądają wiadomości przesyłane do AWS IoT core we wbudowanym kliencie MQTT w konsoli AWS

To usługa świadczona na zasadzie SaaS, czyli oprogramowanie jako usługa. Użytkownik nie martwi się o serwery na których świadczona jest ta usługa oraz o budowę i utrzymywanie świadczonego oprogramowania. Jest to tak naprawdę broker protokołu MQTT, czyli serwer, z którym łączą się klienci, aby wysyłać lub odbierać dane. Do założenia konta w AWS wystarczy karta kredytowa i 15 minut wolnego czasu.

Przez pierwszy rok od założenia konta można testować większość usług za darmo, w pewnych limitach. Ceny standardowe za usługi nie są też zbyt wygórowane, np. jeśli do AWS IoT 5 bramek MGate 5105 będzie wysyłać jedną wiadomość o wielkości 274 bajtów co 1 minutę, a każda z takich wiadomości wywoła jedną akcję, to wtedy miesięczny koszt usługi IoT core wyniesie około 1 $.

Jeśli każda taka wiadomość będzie uruchamiała akcję, np. funkcję lambda, to wtedy w przypadku stosunkowo prostej funkcji trwającej 500 ms i alokującej 320 MB pamięci RAM koszt usługi Lambda wyniesie również około 1 $ miesięcznie. Jeśli na koniec użytkownik chciałby zapisywać te dane w usłudze S3 (dysk chmurowy) właśnie za pośrednictwem funkcji w usłudze Lambda to wtedy na koszt S3 składałoby się: 0,0245 $ za 1 GB przechowywanych danych miesięcznie oraz 1,2 $ za wszystkie akcję zapisu.

Łatwo policzyć, że miesięczny całkowity koszt tych usług wyniesie około 3,3 $ w przypadku jeśli w S3 przechowywane było by maks. 4 GB danych, czyli około 12,3 zł (3,4 zł/dolar). Jak widać, jest to niska kwota, biorąc po uwagę funkcjonalność, jaką się zyskuje.

PODSUMOWANIE

MGate 5105 + usługi chmurowe tworzą bardzo ciekawą synergiczną mieszankę, która umożliwia tworzenie nowoczesnych systemów w myśl idei Przemysłu 4.0 i IIoT. Bramka Moxy umożliwia wysyłanie danych z sieci przemysłowych do dostawców chmurowych, a tam dalszą ich obróbkę, przetwarzanie, wizualizowanie, wysyłanie powiadomień e-mail/SMS, uczenie maszynowe, przechowywanie, wizualizowanie, upublicznianie i wiele więcej.

Jeśli nawet z jakichś przyczyn użytkownik chce tylko przechowywać dane w S3 AWS, a korzystać z usług innego dostawcy, np. hostingu, to również nie ma problemu, aby takie dane odczytywać za pomocą dostarczanych api i sdk Amazona. Możliwości jest wiele, dlatego MGate 5105 jest bardzo elastycznym rozwiązaniem do łączenia danych z sieci przemysłowych z usługami chmurowymi i innymi aplikacjami.

Piotr Gocłowski
Elmark Automatyka

Powiązane treści
IoT w fabrykach i zdalnym monitoringu
Zobacz więcej w kategorii: Prezentacje firmowe
Obudowy, złącza, komponenty
Z czego powinno składać się podstawowe wyposażenie serwerowni?
Obudowy, złącza, komponenty
Kompaktowe rozdzielacze EDH zwiększają wydajność i osiągi mobilnych maszyn roboczych
Zasilanie, aparatura nn
CHARX control modular: Sterownik ładowania pojazdów elektrycznych, który spełnia rosnące wymagania rynku
Przemysł 4.0
Jak ważna jest dobrze wykonana sieć danych na maszynie, aby maszyna pracowała niezawodnie?
Pomiary
Firma OMRON wprowadza na rynek inteligentną kamerę FHV7-AI, która upraszcza kontrolę jakości dzięki sztucznej inteligencji
PLC, HMI, Oprogramowanie
System operacyjny dla przemysłu - Windows 11 IoT Enterprise LTSC
Zobacz więcej z tagiem: Przemysł 4.0
Prezentacje firmowe
Jak ważna jest dobrze wykonana sieć danych na maszynie, aby maszyna pracowała niezawodnie?
Technika
Cyfrowa chmura dla małych, średnich i gigantów przemysłu - moneo Cloud od ifm electronic
Technika
5 rodzajów danych, które już dziś trzeba monitorować na liniach produkcyjnych

Autonomiczna intralogistyka – elastyczność, bezpieczeństwo, efektywność

Wymagania w zakresie wydajności i ciągłości procesów sprawiają, że przedsiębiorcy coraz chętniej inwestują w automatyzację intralogistyki. Dynamicznie rozwijającym się obszarem są autonomiczne roboty mobilne (AGV/AMR), które realizują zadania transportowe w sposób skalowalny, bezpieczny i dostosowany do zmiennych warunków środowiska produkcyjnego i magazynowego.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów