loading...

MQTT, WAGO Cloud – dane z obiektu na wyciągnięcie ręki cz. 1

Protokół MQTT w sterownikach i panelach operatorskich TP600 Control Panel

Obserwując aktualnie rozwijane projekty można zauważyć, że zagadnienia zbierania i bezpiecznego przesyłania danych z rozproszonych instalacji, bezpiecznej agregacji danych i ich późniejszej analizy w celu tworzenia wartości w oparciu o korelację informacji z wykorzystaniem technologii „chmury” w automatyce zyskuje coraz większe zainteresowanie.

W WAGO nad zagadnieniami internetu rzeczy, komunikacją obiektową, interfejsem użytkownika dla aplikacji webowych pracuje własna spółka software’owa M&M Software

(https://www.mm-software.com/en/). Komplet prac nad sprzętem i oprogramowaniem „pod jednym dachem” to zawsze sprawniejszy rozwój produktu i długofalowe, skoordynowane (software i hardware) działanie w kierunku łatwiejszej integracji i coraz lepszych funkcjonalności dostępnych dla nas, użytkowników.

Efektem prac nad zagadnieniami IoT, Industry 4.0 są dostępne „od ręki” funkcjonalności, które mogą zostać wykorzystane do wsparcia nowych zamierzeń biznesowych przedsiębiorstw i – co za tym idzie – nowych wyzwań podejmowanych przez automatyków.

Jakie więc mechanizmy IoT są dostępne w sterownikach PLC WAGO?

WAGO I/O System był i jest narzędziem do sprawnego przetwarzania danych i kontroli pracy obiektów, docenianym przez użytkowników między innymi za elastyczność. Wraz z wdrożeniem obsługi protokołu MQTT w sterownikach z rodziny PFC100 i PFC200 oraz panelach TP600 Control Panel użytkownik zyskał dodatkową możliwość – sterownik stał się bramką IoT dla „tradycyjnych” urządzeń obiektowych (czujników, elementów wykonawczych) oraz zmiennych wypracowanych przez algorytm w sterowniku.

Protokół MQTT stał się – obok Modbus i OPC UA – kolejnym natywnym protokołem w sterownikach PFC WAGO.

W praktyce z wykorzystaniem protokołu MQTT dane mogą być udostępniane do dowolnej chmury i/lub lokalnego brokera.

Konfiguracja komunikacji z wykorzystaniem MQTT – czyli jak podłączyć sterownik do chmury?

Z poziomu samego sterownika/panelu zadanie to ułatwia strona konfiguracyjna WWW sterownika (WBM). Przy jej użyciu:

  • podajemy nazwę lub adres IP wybranej chmury,
  • wskazujemy identyfikator urządzenia w chmurze (device ID),
  • wprowadzamy klucz aktywacyjny dla danej chmury,
  • włączamy szyfrowanie (TLS),
  • definiujemy port, przy użyciu którego będziemy prowadzić komunikację,
  • wprowadzamy certyfikat (CA file) umożlwiający utworzenie szyfrowanego połączenia,
  • wprowadzamy nazwę użytkownika umożliwiającą autentykację przy korzystaniu z usług w chmurze.

Poniżej ilustracja – strona WBM sterownika z wbudowanym modemem GSM – sterownik konfigurowany do łączności z chmurą SAP:

Zagadnienie konfiguracji szczegółowo rozwija nota aplikacyjna (do pobrania tutaj https://www.wago.com/pl/d/15718). Wyjaśnia ona, jak sterowniki WAGO mogą się komunikować z usługami w chmurze, np. Microsoft Azure, Amazon AWS, IBM Blumix.

Jakie mechanizmy/biblioteki mogą zostać użyte w programie sterownika?

W poprzednim akapicie przedstawiona została w pewnym sensie konfiguracja sprzętowa sterownika do pracy w chmurze. Dalej opiszę mechanizmy wykorzystywane do tego, by nasza aplikacja na sterownik PLC dodatkowo wymieniała dane z chmurą.

Protokół MQTT oparty jest o model publish/subscribe (opublikuj/subskrybuj). W takiej architekturze każdy sterownik PFC WAGO (lub panel TP600 Control Panel) będący uczestnikiem sieci i korzystający z protokołu MQTT działa jako klient. Może zarówno publikować (nadawać) dane, jak również je subskrybować (odbierać). Dane zorganizowane są w tzw. tematy (topics). Ich wymiana następuje za pośrednictwem brokera MQTT, który jest najczęściej usługą w chmurze. Broker przekierowuje otrzymywane dane do wszystkich klientów, którzy subskrybują dany temat.

Wymianę danych ze sterowników lub paneli TP 600 Control Panel znacząco ułatwia gotowa, biblioteka WagoAppCloud (opis biblioteki: https://www.wago.com/pl/d/15957), która standardowo dostępna jest dla użytkowników oprogramowania narzędziowego e!COCKPIT.

Biblioteka pozwala zorganizować stany wejść/wyjść i zmienne procesowe w kolekcje danych, które następnie są wymieniane przy użyciu protokołu MQTT za pośrednictwem brokera w chmurze. Biblioteka umożliwia także zarządzanie tym, jak często chcemy publikować lub odczytywać dane w chmurze. Pozwala więc optymalizować wyminę danych.

Przykład bloków funkcyjnych z biblioteki WagoAppCloud:

tekst: Mariusz Pacan, WAGO.PL

Czytaj dalej: 

Komentarze o ”MQTT, WAGO Cloud – dane z obiektu na wyciągnięcie ręki cz. 1

  1. Dawid pisze:

    Witam! O ile publikowanie działa bez problem to nie mogę sobię poradzić z subskrypcją danego topic’a. Połączenie z brokerem MQTT jest bo publikowanei działa bez problemu jednak pomimo wielu prob nie jestem w stanie pobrać żadnej wiadomości która jest publikowana na dany topic.

    1. Jeśli pojawiają się problemy techniczne, zapraszam serdecznie do kontaktu email: wsparcie.techniczne@wago.com, sprawa od razu trafia do wsparcia technicznego i możemy odpowiedzieć natychmiast.

      Błedy w komunikacji MQTT są zapisywane w logu na sterowniku do pliku: /var/log/messages
      Może Pan je podejrzeć łącząc się ze sterownikiem np przy użyciu klienta FTP (filezilla/totalcommander etc)
      Jeśli komunikaty nie będą jasne, to proszę wysłać log mailem na adres wsparcia technicznego.

      Innym sposobem jest sprawdzenie subskrypcji z poziomu linuksa. Wystarczy połączyć się z konsolą za pomocą programu PUTTY, a następnie wpisać komendę:
      mosquitto_sub -L mqtt(s)://[username[:password]@]host[:port]/# -d
      „mosquitto_sub” pozwala na połączenie się z brokerem z pomienięciem „Cloud Connectivity”, czyli połączenia konfigurowanego przez stronę WBM sterownika. Argument „-d” wyświetla dodatkowe komunikaty, co pozwala na określenie przyczyn nieprawidłowej komunikacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *