Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2020/04/Komunikacja-PLC-i-SCADA-z-wykorzystaniem-MQTT.png

MQTT w łączności PLC z systemem SCADA


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 .



Utworzono: / 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

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  •   Sterowniki FX5U 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łożonych i zaawansowanych systemów automatyki...
  • EPLAN Electric P8 oferuje nieograniczone możliwości planowania projektu, tworzenia dokumentacji oraz zarządzania projektami automatyki. Zautomatyzowane tworzenie szczegółowych raportów opartych na schematach okablowania jest integralnym ele...
  • ITP14 to uniwersalny wyświetlacz procesowy do monitorowania i kontroli procesów przemysłowych. To urządzenie ma zwartą, znormalizowaną konstrukcję i pasuje do standardowego otworu montażowego ⌀22,5 mm na lampy sygnalizacyjne. Zapewnia to sz...
  • Rozwiązania wizyjne nadają się idealnie do zautomatyzowanych zadań kontrolnych i pomiarowych. Kamery wizyjne 2D i 3D firmy SICK sprawdzają się w ogromnej ilości aplikacji, polegających na pomiarze, lokalizacji, kontroli i identyfikacji. Nas...
  • Zapraszamy Cię na pełny kurs zdalnego dostępu SECOMEA. Kurs powstał z myślą o każdym, kto chce zgłębić tajniki zdalnego dostępu do maszyn i sieci przemysłowej. Zdalny dostęp rozwija się dynamiczne i zyskuje na znaczeniu zwłaszcza w sytuacji...