Do Projektu iAutomatyka dołączyli:

MQTT w łączności PLC z systemem SCADA

112 wyświetleń, autor: Elmark Automatyka.

Czym właściwie jest MQTT? MQTT to stosunkowo młody protokół wymiany danych – zaproponowany w 1999 roku. Wykorzystywany jest szczególnie chętnie w aplikacjach z dziedziny IT – znamy go m.in. z popularnej aplikacji Messenger.

Wraz z biegiem czasu protokołem tym zaczęto interesować się również w przemyśle. Coraz to więcej urządzeń czy systemów wyposażanych jest w obsługę MQTT. W tym krótkim artykule przedstawimy zalety tego protokołu posiłkując się przykładem praktycznym.

ZASADA DZIAŁANIA

Najbardziej podstawową informacją o MQTT jest to, że komunikacją w tym protokole steruje BROKER, pełniący rolę swego rodzaju serwera danych. Urządzenia wysyłające oraz odbierające informacje nie muszą wiedzieć o swoim istnieniu. Łączą się one jedynie z brokerem podając to, jakie dane chcą odbierać lub publikować.

Dane odbiera się i publikuje pod określonymi tematami (ang. topic). Temat to nic innego, jak ścieżka dostępu do danych na brokerze. Dzięki niemu, dane „nie giną” nam pośród wielu publikacji oraz subskrypcji obsługiwanych przez broker.

Tematy przypominają ścieżki dostępu do plików np. w katalogach Windows. Podobnie jak ścieżki do plików, mogą być one wielopoziomowe – zawierać znaki typu „/”, grupując tym samym dane w logiczne struktury.

Urządzenie, chcąc publikować lub odbierać dane z określonego tematu, podaje go przy połączeniu z brokerem. Jeśli nadawca i odbiorca podali ten sam temat – zajdzie pomiędzy nimi komunikacja.

ZALETY MQTT

Ale dość już teorii, przejdźmy do zalet MQTT. Pierwszą, charakterystyczną dla tego protokołu zaletą jest to, że nadawca i odbiorca wiadomości nie muszą być jednocześnie on-line, aby zaszła komunikacja. Broker jest w stanie „przechować” co najmniej ostatnią wiadomość pod określonym tematem i przekazać ją odbiorcy (subskrybentowi), gdy ten nawiąże połączenie.

Co więcej, w MQTT posiadamy mechanizmy kontroli transmisji (tzw. QoS) – możemy zapewnić, że wiadomość będzie dostarczona.

Dodatkowo, lekki protokół MQTT nie obciąży zbytnio Twojej sieci.

Dzięki temu, że urządzenia nie muszą widzieć o swoim istnieniu, w prosty sposób zbudujesz nawet skomplikowaną sieć, w której każde urządzenie zarówno nadaje, jak i odbiera wiadomości.

Komunikacja po MQTT jest bezpieczna. Dostęp do całego brokera lub poszczególnych tematów może być chroniony za pomocą loginu i hasła. Co więcej, w komunikacji MQTT powszechnie implementuje się protokoły takie, jak SSL czy TLS do szyfrowanej transmisji danych. Ponadto, możliwe jest uwierzytelnianie brokera oraz klientów za pomocą certyfikatów X.509.

PRZYKŁAD PRAKTYCZNY

MQTT NA STEROWNIKU PLC OD UNITRONICS

Na potrzeby artykułu wykorzystamy sterowniki PLC od firmy Unitronics – serię UniStream. Każdy sterownik tej serii posiada wbudowaną obsługę MQTT. Tworząc nowy program dla sterownika możemy dodać połączenia z brokerem, publikacje czy subskrypcje. Co więcej, środowisko do programowania PLC Unitronics (o nazwie UniLogic) zawiera 16 gotowych bloczków do obsługi tego protokołu.

Załóżmy, że posiadamy 6 takich sterowników. Niech każdy z nich znajduje się w innym pomieszczeniu w fabryce i mierzy dwa wskazania:

  • temperaturę w tym pomieszczeniu – zmienna typu Double (32bity),
  • stan oświetlenia – bit (0 – wyłączone, 1 – włączone).

Ze wszystkich tych sterowników chcemy przekazać dane do systemu SCADA – w uporządkowany sposób. Jak to zrobimy?

Każdy sterownik będzie publikował swoje dane pod innym tematem. Wszystkie tematy będą jednak zgrupowane pod pewnym wspólnym tematem bazowym.

Widzimy, że temat bazowy w naszym przypadku to „Building/Floor_1”, natomiast każdy PLC ma pod nim swój własny temat dla danych. Ważną rzeczą jest fakt, że tych tematów nie trzeba wcześniej deklarować na brokerze. Po prostu podajesz go w programie PLC – i już!

Przy prowadzeniu pomiarów często chcemy przekazać więcej, niż tylko samą jego wartość. Dodatkowo warto wysłać do systemu SCADA: datę i czas pomiaru, typ danych lub nawet po prostu nazwę wielkości mierzonej.

Dla projektu tworzonego w UniLogic jest to bardzo proste. Zwyczajnie zadeklarujemy nową strukturę danych i wyślemy ją całą w publikacji – używając formatu JSON. W naszym przypadku struktura prezentuje się następująco.


Zawiera ona zmienne:

  • „NAME” – nazwa mierzonej wielkości,
  • „VALUE” – wartość pomiaru,
  • „TYPE” – typ przesyłanych zmiennych,
  • „QUALITY” – jakość pomiaru (często używane w systemach SCADA),
  • „TIME” – data i czas pomiaru.

W zależności od tego, o czym aktualnie sterownik wysyła informacje (temperatura lub oświetlenie), różne dane zostaną zapisane do struktury.

Jak prezentują się wiadomości w formacie JSON wysyłane przez pojedynczy sterownik, na naszym brokerze? Możemy to podejrzeć wprost w konsoli systemu operacyjnego (u nas to Windows 10).

Format JSON to już standard w komunikacji MQTT. Jest on obsługiwany przez zdecydowaną większość urządzeń i systemów – również przez nasz docelowy system SCADA.

MQTT W SYSTEMIE SCADA OD ICONICS

Wykorzystywany przez nas system SCADA to GENESIS64 od firmy ICONICS. Dodamy w nim odpowiednią subskrypcję, która pozwoli nam na odczyt danych zbieranych przez PLC.

Przedtem jednak, trzeba zadać sobie pytanie – czy nasz system SCADA „zrozumie” wiadomości MQTT publikowane przez PLC? Odpowiedź jest twierdząca. System SCADA od ICONICS posiada możliwość zdefiniowania dekoderów JSON, dzięki czemu można go przystosować do odbioru każdej wiadomości MQTT.

Definiowanie dekodera JSON to po prostu wypisanie pól oraz ich typów, których system SCADA „ma się spodziewać” w każdej wiadomości MQTT

Jak widać na zdjęciu, do każdego pola wiadomości przypisujemy tzw. „key word” („%…%”), który jednoznacznie określa przeznaczenie danych w systemie SCADA.

Dzięki dekoderom JSON możemy również odbierać wektory danych w jednej wiadomości MQTT, ale jest to już temat na bardziej zaawansowane rozważania.

Wracając do naszego przypadku, dodamy teraz odpowiednią subskrypcję (oczywiście, proste dane odnośnie połączenia z brokerem wprowadziliśmy już wcześniej). To, co jest ważne, to fakt, że nie trzeba dodawać osobnej subskrypcji dla każdego PLC.

SCADA od ICONICS posiada wbudowane mechanizmy do zarządzania subskrybowanymi tematami. Innymi słowy, nie ważne czy sterowników jest 6, czy 60. Jeśli tylko w uporządkowany sposób skonfigurujemy każdy z nich, wykrycie danych w systemie SCADA może przebiec automatycznie! Jak to się dzieje?

Wymieniając jedynie kluczowe dla nas ustawienia subskrypcji, musimy podać następujące rzeczy.

  • Przede wszystkim, jest to temat bazowy dla danych – w naszym przypadku: „Building/Floor_1/#”. Znak „#” na końcu oznacza, że system weźmie pod uwagę wszystkie tematy znajdujące się pod naszym tematem bazowym.

  • Następnie podajemy systemowi SCADA, w jaki sposób ma rozpoznać urządzenia publikujące dane (w jaki sposób ma odnaleźć ich DeviceID). W tym przypadku wybieramy opcję „DeviceID is specified in the topic”. To spowoduje, że GENESIS64 potraktuje każdy temat napotkany pod tematem bazowym jako osobne urządzenie.

I to są właśnie najważniejsze ustawienia. Po restarcie odpowiedniej usługi na serwerze SCADA możemy obserwować to, co teraz zawiera nasza wyszukiwarka danych (będąca częścią systemu SCADA).

W wyszukiwarce danych, pod odpowiednim węzłem odnoszącym się do komunikacji MQTT, automatycznie pojawiły się nowe urządzenia.

Jak można zauważyć, jest ich tyle, ile tematów jest aktywnych pod tematem bazowym „Building/Floor_1” na brokerze.

System SCADA zinterpretował każdy z nich jako osobne urządzenie. Ponadto, na podstawie zawartości wiadomości publikowanych pod każdym z tematów, utworzył automatycznie po dwie zmienne dla każdego urządzenia:

  • „Light_ON_OFF”,
  • „Temperature”.

Wprawne oko może zauważyć, że nazwy tych zmiennych to nic innego, jak wartości pola „NAME” w wiadomościach JSON wysyłanych przez nasze PLC.

Odczytajmy więcej szczegółów na temat naszych danych.

Jak widać, wszystkie pola z wiadomości w formacie JSON zostały zinterpretowane w systemie SCADA.

Teraz, mając już zebrane wszystkie informacje z posiadanych PLC, możemy przejść do wizualizacji. Jest to już jednak temat na osobny artykuł.

PODSUMOWANIE

Celem tego artykułu było pokazanie, jak prosta w skalowaniu jest komunikacja po protokole MQTT. Warto zauważyć, że znaczna część działań wykonała się tu automatycznie.

Na koniec możesz zadać sobie jeszcze pytanie: czy w przypadku posiadania np. 60 sterowników PLC, muszę utworzyć 60 projektów w UniLogic – każdy z publikacją MQTT pod nieco innym tematem?

Nie ma takiej potrzeby! UniLogic pozwala na wykorzystanie dedykowanych bloczków do programowania PLC, które pozwalają m.in. zmieniać ustawienia publikacji MQTT w trakcie pracy sterownika. Innymi słowy, budujesz jeden uniwersalny program, wgrywasz go na sterownik, a następnie dostosowujesz parametry komunikacji z poziomu HMI.

To już koniec artykułu o komunikacji sterowników PLC z systemem SCADA. Przedstawiono tu oczywiście tylko przykładowe rozwiązanie spośród kilku możliwych. Po więcej szczegółowych informacji skontaktuj się z nami pod adresem e-mail: sterowniki@elmark.com.pl lub iconics@elmark.com.pl .

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!

Zapoznałem się i akceptuję klauzulę informacyjną.
3 kwietnia 2020 / Kategoria: , , ,
  • Autor: Elmark Automatyka
  • Nasza Firma została założona w roku 1983. Od roku 1998 działamy jako spółka z ograniczoną odpowiedzialnością pod nazwą Elmark Automatyka. Przez kilka pierwszych lat zajmowaliśmy się projektowaniem i produkcją modułowych sterowników mikroprocesorowych "MIKROSTER", opartych na elementach rodziny Intel-8080 i Z-80. Nasze produkty wyróżniały się na rynku wysoką jakością sprzętu i dokumentacji oraz niezawodnością działania. W roku 1989 rozpoczęliśmy dystrybucję na terenie Polski sprzętu firmy Advantech, a następnie wielu innych wiodących producentów elementów i systemów automatyki przemysłowej. Od kilkunastu lat prowadzimy szkolenia dotyczące sprzętu i oprogramowania będącego w naszej ofercie. Wszystkim Klientom dokonującym u nas zakupów zapewniamy bezpłatne doradztwo przed złożeniem zamówienia i profesjonalne wsparcie techniczne po dostarczeniu sprzętu. Posiadamy własny dział serwisu wyposażony w nowoczesne urządzenia diagnostyczne oraz sprzęt do montażu SMD i BGA. Dużą część napraw gwarancyjnych i pogwarancyjnych wykonujemy w naszej Firmie, bez konieczności odsyłania sprzętu do producenta. Pracujemy w trzech lokalizacjach. W dzielnicy Wesoła na przedmieściach Warszawy znajduje się nasza siedziba główna, serwis i montownia komputerów przemysłowych. Przy ul. Bukowińskiej na Mokotowie działa Centrum Szkoleniowe, a na terenie Biznes Parku „City Point” na warszawskim Targówku, mamy nowoczesny magazyn. Łączna powierzchnia naszych biur i magazynów wynosi około 1.800 m. kw. Zatrudniamy 60 wysoko wykwalifikowanych osób. Dzięki naszym Klientom, udaje się nam stale zwiększać nasz potencjał i zakres działalności. Wartość sprzedaży produktów i usług w roku 2018 wyniosła 81 milionów zł. Zrealizowaliśmy ponad 20.000 zamówień. Pamiętamy o tym, że jedynym sposobem na osiągnięcie zysku i rozwoju Firmy jest zadowolenie naszych Klientów.
  • Profil Autora
  • https://www.elmark.com.pl

Reklama

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Pierwsza na świecie inteligentna kamera dla przemysłu z technologią głębokiego uczenia

Pierwsza na świecie inteligentna kamera dla przemysłu z technologią głębokiego uczenia

>KLIKNIJ<

Obsługa przemysłowych routerów i modemów GSM odc. 1: Co to jest router przemysłowy GSM i jak go podłączyć do sieci GSM?

Obsługa przemysłowych routerów i modemów GSM odc. 1: Co to jest router przemysłowy GSM i jak go podłączyć do sieci GSM?

>KLIKNIJ<

Pierwsze kroki z przekaźnikiem programowalnym akYtec PR200

Pierwsze kroki z przekaźnikiem programowalnym akYtec PR200

>KLIKNIJ<

Jak działa NOWOCZESNY TARTAK? – Fabryki w Polsce

Jak działa NOWOCZESNY TARTAK? – Fabryki w Polsce

>KLIKNIJ<

Przemysł 4.0:  Zbieranie danych na przykładzie obrabiarki – część 2

Przemysł 4.0:  Zbieranie danych na przykładzie obrabiarki – część 2

>KLIKNIJ<

Programowanie paneli HMI – kurs dla automatyków (wygraj panel HMI 7″!)

Programowanie paneli HMI – kurs dla automatyków (wygraj panel HMI 7″!)

>KLIKNIJ<

Serwer VNC i FTP na przykładzie panelu HMI DOP-100

Serwer VNC i FTP na przykładzie panelu HMI DOP-100

>KLIKNIJ<

[Webinar] Laserowe czujniki pomiarowe – zastosowanie w przemyśle

[Webinar] Laserowe czujniki pomiarowe – zastosowanie w przemyśle

>KLIKNIJ<

Jak wygląda praca programisty robotów? Wywiad z Sebastianem Kilichowskim

Jak wygląda praca programisty robotów? Wywiad z Sebastianem Kilichowskim

>KLIKNIJ<

Dlaczego Twój silnik lub instalacja trójfazowa potrzebuje przekaźnika kontroli napięcia?

Dlaczego Twój silnik lub instalacja trójfazowa potrzebuje przekaźnika kontroli napięcia?

>KLIKNIJ<

Przemysł też może działać zdalnie

Przemysł też może działać zdalnie

>KLIKNIJ<

Jak powstają WINDY? – Fabryki w Polsce

Jak powstają WINDY? – Fabryki w Polsce

>KLIKNIJ<

Otwarte webinarium SCADA od Elmark Automatyka

Otwarte webinarium SCADA od Elmark Automatyka

>KLIKNIJ<

Miniaturowy fotoprzekaźnik laserowy wykrywający obiekty również przez otwory

Miniaturowy fotoprzekaźnik laserowy wykrywający obiekty również przez otwory

>KLIKNIJ<

[Zapis webinaru] Odkrywamy tajniki znakowania laserem

[Zapis webinaru] Odkrywamy tajniki znakowania laserem

>KLIKNIJ<

IMScompact: system prowadzenia i pomiarów, który nie wymaga dodatkowego miejsca

IMScompact: system prowadzenia i pomiarów, który nie wymaga dodatkowego miejsca

>KLIKNIJ<

Bosch Rexroth utrzymuje w 2019 roku rekordowy poziom obrotów z poprzedniego roku

Bosch Rexroth utrzymuje w 2019 roku rekordowy poziom obrotów z poprzedniego roku

>KLIKNIJ<

Serwis chłodziarek przemysłowych – podstawa sukcesu!

Serwis chłodziarek przemysłowych – podstawa sukcesu!

>KLIKNIJ<

Automatycy APA Group rewolucjonizują linię produkcyjną światowego giganta

Automatycy APA Group rewolucjonizują linię produkcyjną światowego giganta

>KLIKNIJ<

Jak dobrać szafę sterowniczą do aplikacji? Testujemy RiCS

Jak dobrać szafę sterowniczą do aplikacji? Testujemy RiCS





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • Zaprojektowane, aby zwiększyć wydajność Sterowniki FX5U/FX5UC zapewniają rodzinie FX wyższą wydajność oraz dodają nowe cechy, które wyznaczają standardy w klasie kompaktowych sterowników PLC. Pozwala to użytkownikom na tworzenie bardziej zł...
  • Nowe modułowe sterowniki programowalne PLC firmy Eaton umożliwiają producentom maszyn i systemów opracowywanie nowoczesnych koncepcji automatyki, zwłaszcza w połączeniu z systemem XN300 I/O i panelem dotykowym XV300. Modułowy sterownik zape...
  • Seria FX-100 Czujniki z serii FX-100 to najlepsze rozwiązanie pod względem stosunku jakości do ceny. Wyposażone są w funkcje szybkiego uczenia, co pozwala użytkownikom w szybki i prosty sposób przystosować czujnik do pracy z nieskomplikowan...
  • Selektor napędów Panasonic umożliwia przeglądanie napędów z serii MINAS, wyszukiwanie ich w prosty sposób, a nawet porównywanie ze sobą. Dzięki wyszukiwaniu po słowach kluczowych i przy użyciu funkcji filtrowania, potrzeba zaledwie sekund a...
  • Wysokowydajny sterownik Saia PCD3.M6893 oferuje maksymalne cyberbezpieczeństwo oraz możliwość programowania obiektowego w języku wysokiego poziomu. Ponadto jest kompatybilny z modułami I/O i komunikacyjnymi serii PCD3. Zastosowany w PCD3.M6...
  • RPI-1ZI-U24A, to przekaźnik  instalacyjny wytrzymujący maksymalny prąd załączania 120A w czasie 20ms. Przekaźnik ten dedykowany jest do załączania obwodów o wysokim prądzie początkowym, w szczególności do obwodów oświetleniowych, potwi...



KATEGORIE ARTYKUŁÓW
POLECANE ARTYKUŁY
Wydarzenia