{"id":14693,"date":"2022-09-16T09:55:27","date_gmt":"2022-09-16T07:55:27","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=14693"},"modified":"2024-03-12T18:08:38","modified_gmt":"2024-03-12T17:08:38","slug":"komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/","title":{"rendered":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys?  | Kurs programowania w Codesys odc. 11"},"content":{"rendered":"\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"dowiesz-sie\">\n<h3>Z tego artyku\u0142u dowiesz si\u0119:<\/h3>\n<ul class=\"bulleted\">\n<li>jak doda\u0107 klienta MQTT do \u015brodowiska Codesys,<\/li>\n<li>jakie bloki funkcyjne s\u0105 stosowane w komunikacji MQTT,<\/li>\n<li>jak skonfigurowa\u0107 komunikacj\u0119 krok po kroku.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Zapraszamy na kolejny odcinek naszego kursu. Tym razem skupimy si\u0119 na komunikacji za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys. Protok\u00f3\u0142 MQTT jest przydatny, gdy m\u00f3wimy o konieczno\u015bci po\u0142\u0105czenia ze sob\u0105 rozleg\u0142ej sieci obiekt\u00f3w i urz\u0105dze\u0144, rozproszonej nawet na du\u017cym terenie. Komunikacj\u0119 tego typu mo\u017cesz prowadzi\u0107 z poziomu aplikacji w Codesys.<\/p>\n\n\n\n<div class=\"dowiesz-sie\" style=\"margin-top:40px; margin-bottom:40px\">\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/kurs-programowania-w-codesys\/\"><h3>Kurs programowania w Codesys<\/h3><\/a>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 I \u2013 Podstawowe funkcjonalno\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-program-pierwsze-kroki-w-codesys-kurs-programowania-w-codesys-odc-1\/\">1. Pierwsze kroki w Codesys. Jak stworzy\u0107 program?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/pierwsze-podlaczenie-i-przygotowanie-codesys-do-pracy-ze-sterownikiem-plc-kurs-programowania-w-codesys-odc-2\/\">2. Pierwsze pod\u0142\u0105czenie i przygotowanie Codesys do pracy ze sterownikiem PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-drabinkowy-ld-kurs-programowania-w-codesys-odc-3\/\">3. J\u0119zyk drabinkowy (LD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/\">4. Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-schematow-blokowych-fbd-kurs-programowania-w-codesys-odc-5\/\">5. J\u0119zyk schemat\u00f3w blokowych (FBD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-podstawowej-wizualizacji-hmi-kurs-programowania-w-codesys-odc-6\/\">6. Tworzenie podstawowej wizualizacji HMI.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-strukturalny-st-kurs-programowania-w-codesys-odc-7\/\">7. J\u0119zyk strukturalny (ST).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/diagnostyka-w-codesys-jak-sprawdzac-dzialanie-oprogramowania-i-sterownika-kurs-programowania-w-codesys-odc-8\/\">8. Diagnostyka w Codesys \u2013 jak sprawdza\u0107 dzia\u0142anie oprogramowania i sterownika?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-blokow-funkcyjnych-cfc-kurs-programowania-w-codesys-odc-9\/\">9. J\u0119zyk blok\u00f3w funkcyjnych (CFC).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/funkcja-blok-funkcyjny-program-zmodyfikuj-program-w-codesys-dla-lepszej-funkcjonalnosci-kurs-programowania-w-codesys-odc-10\/\">10. Funkcja, blok funkcyjny, program \u2013 zmodyfikuj program w Codesys dla lepszej funkcjonalno\u015bci.<\/a><br\/>\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 II \u2013 Zaawansowane funkcje i mo\u017cliwo\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/\">11. Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-ethercat-konfiguracja-i-przykladowa-aplikacja-kurs-programowania-w-codesys-odc-12\/\">12. Komunikacja EtherCAT \u2013 konfiguracja i przyk\u0142adowa aplikacja.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/\">13. Softmotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-modbus-rtu-i-tcp-ip-w-srodowisku-codesys-kurs-programowania-w-codesys-odc-14\/\">14. Komunikacja Modbus RTU i TCP\/IP w \u015brodowisku Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-projektow-w-codesys-ze-sterownikami-bezpieczenstwa-safety-architektura-systemu-bezpieczenstwa-kurs-programowania-w-codesys-odc-15\/\">15. Tworzenie projekt\u00f3w w Codesys ze sterownikami bezpiecze\u0144stwa Safety: architektura systemu bezpiecze\u0144stwa.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/programowanie-sterownika-bezpieczenstwa-w-codesys-kurs-programowania-w-codesys-odc-16\/\">16. Programowanie sterownika bezpiecze\u0144stwa w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/integracja-sterownika-plc-z-systemem-scada-w-codesys-kurs-programowania-w-codesys-odc-17\/\">17. Integracja sterownika PLC z systemem SCADA w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/konfiguracja-maszyny-cnc-z-wykorzystaniem-sterownika-plc-obsluga-g-code-kurs-programowania-w-codesys-odc-18\/\">18. Konfiguracja maszyny CNC z wykorzystaniem sterownika PLC \u2013 obs\u0142uga G-Code.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Dodatkowe materia\u0142y i lekcje dla kursant\u00f3w:<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-wirtualny-serwonaped-i-przetestowac-jego-dzialanie-w-srodowisku-codesys-pierwsze-kroki\/\" target=\"_blank\" rel=\"noopener\">1. Jak stworzy\u0107 wirtualny serwonap\u0119d w Codesys? Instrukcja krok po kroku.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/przykladowa-aplikacja-codesys-w-jezyku-st-i-ld-napelnianie-i-oproznianie-zbiornikow-wraz-z-alarmowaniem\/\" target=\"_blank\" rel=\"noopener\">2. Przyk\u0142adowa aplikacja Codesys w j\u0119zyku ST i LD: nape\u0142nianie i opr\u00f3\u017cnianie zbiornik\u00f3w wraz z alarmowaniem.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Najcz\u0119\u015bciej zadawane pytania:<\/h4>\n\n<a href=\"https:\/\/www.astor.com.pl\/oferta\/automatyzacja\/sterowanie\/sterowniki-plc\/astraada-one-modular.html#faq\" target=\"_blank\" rel=\"noopener\">Sprawd\u017a odpowiedzi na najcz\u0119\u015bciej zadawane pytania dotycz\u0105ce \u015brodowiska Codesys.<\/a><br\/>\n\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Czym jest protok\u00f3\u0142 MQTT?<\/h2>\n\n\n\n<p>Message Queue Telemetry Transport (MQTT) to protok\u00f3\u0142 komunikacyjny oparty o wzorzec publikacja\/subskrypcja. To prosty, lekki protok\u00f3\u0142 transmisji danych, przeznaczony do komunikacji pomi\u0119dzy urz\u0105dzeniami niewymagaj\u0105cymi du\u017cej przepustowo\u015bci. Poprzez ograniczenie pr\u0119dko\u015bci transmisji, protok\u00f3\u0142 MQTT zapewnia bardzo wysok\u0105 niezawodno\u015b\u0107 transmisji i idealnie sprawdza si\u0119 przy po\u0142\u0105czeniach #maszyna \u2013 maszyna, w przemys\u0142owym Internecie rzeczy #IIoT oraz w urz\u0105dzeniach mobilnych.<\/p>\n\n\n\n<p>Klientem MQTT mo\u017ce by\u0107 dowolne urz\u0105dzenie pod\u0142\u0105czone do sieci, kt\u00f3re ma zaimplementowany stos TCP\/IP i protok\u00f3\u0142 MQTT. Klienci nie komunikuj\u0105 si\u0119 ze sob\u0105 bezpo\u015brednio, a w oparciu o element po\u015brednicz\u0105cy, kt\u00f3rym jest broker. Broker pe\u0142ni rol\u0119 serwera, z kt\u00f3rym \u0142\u0105cz\u0105 si\u0119 klienci, aby za jego po\u015brednictwem publikowa\u0107 informacje. Jego zadaniem jest odbieranie wiadomo\u015bci od klient\u00f3w publikuj\u0105cych i rozsy\u0142anie jej do odpowiednich klient\u00f3w subskrybuj\u0105cych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dodanie klienta MQTT do \u015brodowiska<\/h2>\n\n\n\n<p>Aby doda\u0107 klienta MQTT do \u015brodowiska, nale\u017cy pobra\u0107 paczk\u0119 bibliotek <strong>IIoT Libraries<\/strong>. W niej znajduje si\u0119 klient, kt\u00f3ry b\u0119dzie pracowa\u0107 w wersji demo. Demo klienta MQTT b\u0119dzie pracowa\u0107 przez 30 minut, nast\u0119pnie nale\u017cy zresetowa\u0107 sterownik, aby m\u00f3c ponownie korzysta\u0107 z wersji demo klienta.<\/p>\n\n\n\n<p>Dodaj paczk\u0119 bibliotek korzystaj\u0105c z opcji Package Manager, znajduj\u0105cej si\u0119 w pasku Tools. Otworzy si\u0119 okno dialogowe, dzi\u0119ki kt\u00f3remu wybierzesz paczk\u0119 bibliotek do instalacji, a potwierdzaj\u0105c wyb\u00f3r, przejdziesz do instalacji.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"834\" height=\"535\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-instalacja-paczki.gif\" alt=\"\" class=\"wp-image-14697\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-instalacja-paczki.gif 834w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-instalacja-paczki-768x493.gif 768w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><figcaption class=\"wp-element-caption\"><em>Instalacja paczki bibliotek. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p><a href=\"https:\/\/www.astor.com.pl\/sklep\/sterowniki-plc\/astraada-one-compact-ecc2000\/licencja-software-aktywujaca-dostep-do-chmury-danych-ixon-w-sterownikach-astraada-one.html\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Licencj\u0119 dla klienta MQTT mo\u017cesz naby\u0107 w Sklepie ASTOR. Kliknij tutaj.<\/strong><\/a><\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Bloki funkcyjne u\u017cywane do komunikacji<\/h2>\n\n\n\n<p>Biblioteka MQTT zawarta w paczce IIoT posiada trzy bloki funkcyjne, kt\u00f3re umo\u017cliwiaj\u0105 po\u0142\u0105czenie z brokerem, subskrypcj\u0119 danego tematu oraz publikacje wiadomo\u015bci. W tej cz\u0119\u015bci om\u00f3wi\u0119 wej\u015bcia i wyj\u015bcia ka\u017cdego bloku z osobna, zwracaj\u0105c uwag\u0119 na funkcjonalno\u015b\u0107 ka\u017cdego z nich.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Klient MQTT \u2013 om\u00f3wienie bloku funkcyjnego<\/h2>\n\n\n\n<p>Ten blok funkcyjny s\u0142u\u017cy do po\u0142\u0105czenia si\u0119 z brokerem MQTT. Wej\u015bcia do tego bloku s\u0142u\u017c\u0105 do okre\u015blenia danych po\u0142\u0105czenia, takich jak IP serwera, nazwa hosta, ID klienta, itd.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"293\" height=\"329\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Blok_funkcyjny-MQTTClient.png\" alt=\"\" class=\"wp-image-14699\"\/><figcaption class=\"wp-element-caption\"><em>Blok funkcyjny MQTTClient, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wej\u015bcia bloku:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"829\" height=\"950\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka1.jpg\" alt=\"\" class=\"wp-image-14705\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka1.jpg 829w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka1-641x734.jpg 641w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka1-768x880.jpg 768w\" sizes=\"auto, (max-width: 829px) 100vw, 829px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wyj\u015bcia bloku:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"827\" height=\"191\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela2.jpg\" alt=\"\" class=\"wp-image-14711\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela2.jpg 827w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela2-768x177.jpg 768w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Subscriber MQTT \u2013 om\u00f3wienie bloku funkcyjnego<\/h2>\n\n\n\n<p>Blok Subscriber jest odbiorc\u0105 wiadomo\u015bci przesy\u0142anych z innego urz\u0105dzenia za pomoc\u0105 brokera. Za jego pomoc\u0105 u\u017cytkownik mo\u017ce wybra\u0107 temat do subskrypcji, z kt\u00f3rego b\u0119dzie otrzymywa\u0107 wiadomo\u015bci.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"278\" height=\"156\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Blok_funkcyjny_MQTTSubscriber.png\" alt=\"\" class=\"wp-image-14713\"\/><figcaption class=\"wp-element-caption\"><em>Blok funkcyjny MQTTSubscriber, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Opis wej\u015b\u0107:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"824\" height=\"322\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela3.jpg\" alt=\"\" class=\"wp-image-14715\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela3.jpg 824w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela3-768x300.jpg 768w\" sizes=\"auto, (max-width: 824px) 100vw, 824px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Opis wyj\u015b\u0107:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"823\" height=\"321\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela4.jpg\" alt=\"\" class=\"wp-image-14716\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela4.jpg 823w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela4-768x300.jpg 768w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Publisher MQTT \u2013 om\u00f3wienie bloku funkcyjnego<\/h2>\n\n\n\n<p>Blok funkcyjny Publisher s\u0142u\u017cy do wysy\u0142ania wiadomo\u015bci w okre\u015blonym temacie do subskrybent\u00f3w tematu. U\u017cytkownik wybiera temat oraz dodaje wiadomo\u015b\u0107, kt\u00f3ra zostanie przekazana do innych klient\u00f3w, subskrybuj\u0105cych temat.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"234\" height=\"172\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Blok_funkcyjny_MQTTPublisher.png\" alt=\"\" class=\"wp-image-14718\"\/><figcaption class=\"wp-element-caption\"><em>Blok funkcyjny MQTTPublisher, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Opis wej\u015b\u0107:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"298\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela5.jpg\" alt=\"\" class=\"wp-image-14719\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela5.jpg 826w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabela5-768x277.jpg 768w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Opis wyj\u015b\u0107:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"827\" height=\"138\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka6.jpg\" alt=\"\" class=\"wp-image-14721\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka6.jpg 827w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/tabelka6-768x128.jpg 768w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Dedykowany typ zmiennej \u2013 MQTT_QOS<\/h2>\n\n\n\n<p>Jak mog\u0142e\u015b\/\u0142a\u015b zauwa\u017cy\u0107, w tabelach odnosz\u0105cych si\u0119 do zmiennych wej\u015bcia i wyj\u015bcia blok\u00f3w funkcyjnych istnieje nowy typ zmiennej o nazwie MQTT_QOS. QoS jest to skr\u00f3t od okre\u015blenia Quality of Service, co w przypadku MQTT odnosi si\u0119 do gwarancji dostarczania wiadomo\u015bci mi\u0119dzy brokerem a klientami. Mo\u017cemy wyr\u00f3\u017cni\u0107 3 typy QoS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>0 \u2013 co najwy\u017cej raz. Klient wysy\u0142a wiadomo\u015b\u0107 tylko raz. Broker nie wysy\u0142a potwierdzenia do Klienta o otrzymanej wiadomo\u015bci, wiadomo\u015bci nie s\u0105 przechowywane przez nadawc\u0119 i nie s\u0105 wykorzystywane potwierdzenia odbioru oraz realizowana ewentualna ponowna przesy\u0142ka wiadomo\u015bci<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 \u2013 przynajmniej raz. Klient wysy\u0142a wiadomo\u015b\u0107 przynajmniej raz. Oczekiwane jest potwierdzenie otrzymania wiadomo\u015bci od brokera, kt\u00f3ry w razie ponownej wysy\u0142ki przechowuje wiadomo\u015b\u0107. Gdy nadawca nie otrzyma potwierdzenia w okre\u015blonym czasie, wiadomo\u015b\u0107 b\u0119dzie wysy\u0142ana, a\u017c do otrzymania potwierdzenia.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2 \u2013 tylko raz. Klient wy\u015ble wiadomo\u015b\u0107 raz, wtedy gdy wszystkie parametry po\u0142\u0105czenia b\u0119d\u0105 wskazywa\u0142y na mo\u017cliwo\u015b\u0107 bezpiecznej wysy\u0142ki wiadomo\u015bci.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Komunikacja MQTT w CodeSys \u2013 krok po kroku<\/h2>\n\n\n\n<p>Po poznaniu blok\u00f3w funkcyjnych, nale\u017c\u0105cych do biblioteki MQTT, mo\u017cesz przyst\u0105pi\u0107 do utworzenia aplikacji. Stw\u00f3rz nowy projekt, do kt\u00f3rego dodasz nowy program w j\u0119zyku CFC.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-nowy-program.gif\" alt=\"\" class=\"wp-image-14743\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em>Utworzenie nowego programu, \u017ar\u00f3d\u0142o ASTOR<\/em><\/p>\n\n\n\n<p>Po utworzeniu programu, nale\u017cy doda\u0107 pierwszy blok funkcyjny, kt\u00f3rym b\u0119dzie klient MQTT. Dodaj pusty blok z sekcji Toolbox znajduj\u0105cej si\u0119 po prawej stronie ekranu. Po dodaniu bloku, zmie\u0144 jego typ na MQTT.MQTTClient oraz nadaj mu nazw\u0119 \u201emqttClient\u201d. <\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-dodawanie_klienta.gif\" alt=\"\" class=\"wp-image-14746\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em>Dodanie klienta, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/p>\n\n\n\n<p>Nast\u0119pnie dodaj blok Input do programu i po\u0142\u0105cz go z wej\u015bciem uiPort. Po pod\u0142\u0105czeniu, przydziel do niego now\u0105 zmienn\u0105 o nazwie uiPort i typie UINT.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/gif-dodawanie_inputu.gif\" alt=\"\" class=\"wp-image-14748\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em>Dodanie bloku Input, \u017ar\u00f3d\u0142o ASTOR<\/em><\/p>\n\n\n\n<p>Dodaj do programu kolejne dwie zmienne, kt\u00f3re zostan\u0105 wykorzystane do pod\u0142\u0105czenia kolejnych wej\u015b\u0107 do bloku MQTTClient.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sHostname \u2013 typu String(255)<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sWillMessage \u2013 typu String(1024)<\/li>\n<\/ul>\n\n\n\n<p>Po dodaniu nowych zmiennych, dodaj tak\u017ce kolejne bloki Input i przydziel im zmienne w spos\u00f3b podany w grafice poni\u017cej.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"328\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Blok_funkcyjny_Koncowy_wyglad_MQTTClient.png\" alt=\"\" class=\"wp-image-14730\"\/><figcaption class=\"wp-element-caption\"><em>Ko\u0144cowy wygl\u0105d bloku MQTTClient, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po zako\u0144czeniu prac nad klientem, dodaj blok funkcyjny. B\u0119dzie to blok MQTT.MQTTSubscribe. Dodaj go analogicznie do klienta MQTT i nadaj nazw\u0119 \u201emqttSubscriber\u201d. Kolejn\u0105 czynno\u015bci\u0105 b\u0119dzie zadeklarowanie zmiennych, kt\u00f3re zostan\u0105 wykorzystane na wej\u015bciach bloku.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sSubscribeMessage \u2013 typu String(4096)<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wsSubscribeTopicFilter \u2013 typu WString(1024)<\/li>\n<\/ul>\n\n\n\n<p>Przydziel zadeklarowane zmienne w spos\u00f3b ukazany na poni\u017cszej grafice.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"178\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\" alt=\"\" class=\"wp-image-14731\"\/><figcaption class=\"wp-element-caption\"><em>Konfiguracja bloku MQTTSubscriber, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ostatnim blokiem, kt\u00f3ry dodasz b\u0119dzie blok MQTT.MQTTPublish. Nadaj mu nazw\u0119 \u201emqttPublisher\u201d.<\/p>\n\n\n\n<p>Nast\u0119pnie zadeklaruj zmienne, kt\u00f3re nadasz na wej\u015bcia bloku. Te zmienne to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sPublishMessage \u2013 typu String(4096)<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wsPublishTopic \u2013 typu WString(1024)<\/li>\n<\/ul>\n\n\n\n<p>Przydziel zadeklarowane zmienne w spos\u00f3b ukazany na poni\u017cszej grafice.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"184\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Wstepna_konfiguracja_MQTTPublisher.png\" alt=\"\" class=\"wp-image-14732\"\/><figcaption class=\"wp-element-caption\"><em>Wst\u0119pna konfiguracja bloku MQTTPublish, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dodatkowo dodaj dwa nowe bloki RS. B\u0119d\u0105 one potrzebne do sporz\u0105dzenia wizualizacji, dzi\u0119ki kt\u00f3rej b\u0119dzie mo\u017cna regulowa\u0107 po\u0142\u0105czenie z brokerem. Bloki nazwij odpowiednio: rsPub1Done oraz rsPub1Error i pod\u0142\u0105cz je z wyj\u015bciami bloku MQTTPublish w spos\u00f3b ukazany w poni\u017cszej grafice.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"817\" height=\"194\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Koncowa_konfiguracja_MQTTPublish.png\" alt=\"\" class=\"wp-image-14733\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Koncowa_konfiguracja_MQTTPublish.png 817w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Koncowa_konfiguracja_MQTTPublish-768x182.png 768w\" sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><figcaption class=\"wp-element-caption\"><em>Ko\u0144cowa konfiguracja bloku MQTTPublisher, \u017ar\u00f3d\u0142o ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Tym sposobem przygotowa\u0142e\u015b\/\u0142a\u015b program do komunikacji z wykorzystaniem protoko\u0142u MQTT. Teraz mo\u017cesz przej\u015b\u0107 do przygotowania wizualizacji.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wizualizacja \u2013 krok po kroku<\/h2>\n\n\n\n<p>Wizualizacja b\u0119dzie si\u0119 sk\u0142ada\u0107 z czterech grup element\u00f3w, kt\u00f3re razem b\u0119d\u0105 sk\u0142ada\u0107 si\u0119 na ca\u0142o\u015b\u0107 wizualizacji:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ustawienia po\u0142\u0105czenia<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ustawienia Last Will<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Subskrybent<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wydawca<\/li>\n<\/ul>\n\n\n\n<p>Pierwsza grupa element\u00f3w pos\u0142u\u017cy do okre\u015blenia po\u0142\u0105czenia z brokerem MQTT. W niej b\u0119dzie mo\u017cna wpisa\u0107 adres brokera, port serwera, login oraz has\u0142o a tak\u017ce identyfikator klienta, wraz z dodatkowymi opcjami po\u0142\u0105czenia. Grupa element\u00f3w ma wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"310\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Ustawienia_polaczenia_MQTT.png\" alt=\"\" class=\"wp-image-14735\"\/><figcaption class=\"wp-element-caption\"><em>Ustawienia po\u0142\u0105czenia, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Widoczne elementy nale\u017cy skonfigurowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Nazwa serwera\/IP: W sekcji Text Variable dodaj zmienn\u0105 sHostname oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Port serwera: W sekcji Text Variable dodaj zmienn\u0105 uiPort oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole wyboru TLS: W sekcji Position dodaj zmienn\u0105 mqttClient.xUseTLS w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Login: W sekcji Text Variable dodaj zmienn\u0105 mqttClient.wsUsername oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Has\u0142o: W sekcji Text Variable dodaj zmienn\u0105 mqttClient.wsPassword oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole wyboru Nowa sesja: W sekcji Position dodaj zmienn\u0105 mqttClient.xCleanSession w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe ID klienta: W sekcji Text Variable dodaj zmienn\u0105 mqttClient.sClientId oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ustawienia Last Will<\/h2>\n\n\n\n<p>Kolejna grupa element\u00f3w b\u0119dzie s\u0142u\u017cy\u0107 do konfiguracji ustawie\u0144 Last Will i inicjalizacji po\u0142\u0105czenia z brokerem. W niej otrzymasz wiadomo\u015b\u0107 Last Will oraz po\u0142\u0105czysz si\u0119 z brokerem. Grupa element\u00f3w ma wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"303\" height=\"310\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Ustawienia_polaczenia_Last_Will_MQTT.png\" alt=\"\" class=\"wp-image-14736\"\/><figcaption class=\"wp-element-caption\"><em>Ustawienia Last Will, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Widoczne elementy nale\u017cy skonfigurowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ComboBox LastWill QoS: W sekcji Position dodaj zmienn\u0105 mqttClient.eWillqoS w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Temat Last Will: W sekcji Text Variable dodaj zmienn\u0105 mqttClient.wsPassword oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Wiadomo\u015b\u0107 Last Will: W sekcji Text Variable dodaj zmienn\u0105 sWillMessage oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole wyboru Zachowaj Last Will: W sekcji Position dodaj zmienn\u0105 mqttClient.xWillRetain w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przycisk Po\u0142\u0105cz z Brokerem: W sekcji Position dodaj zmienn\u0105 mqttClient.xEnable w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 1: W sekcji Position dodaj zmienn\u0105 mqttClient.xConnectedToBroker w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 2: W sekcji Position dodaj zmienn\u0105 mqttClient.xError w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Subskrybcja<\/h2>\n\n\n\n<p>Trzecia grupa b\u0119dzie odpowiedzialna za subskrypcj\u0119 temat\u00f3w oraz odbieranie wiadomo\u015bci. Grupa element\u00f3w ma wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"304\" height=\"306\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Ustawienia_Subskrybent.png\" alt=\"\" class=\"wp-image-14737\"\/><figcaption class=\"wp-element-caption\"><em>Grupa element\u00f3w Subskrybent, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Widoczne elementy nale\u017cy skonfigurowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ComboBox QoS: W sekcji Position dodaj zmienn\u0105 mqttSubscriber.eSubscribeQoS w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Filtr temat\u00f3w: W sekcji Text Variable dodaj zmienn\u0105 wsSubscribeTopicFilter oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Ostatni temat: W sekcji Text Variable dodaj zmienn\u0105 mqttSubscriber.wsLastTopic oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Wiadomo\u015b\u0107: W sekcji Text Variable dodaj zmienn\u0105 sSubscribeMessage oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przycisk Subskrybuj: W sekcji Position dodaj zmienn\u0105 mqttSubscriber.xEnable w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 1: W sekcji Position dodaj zmienn\u0105 mqttSubscriber.xSubscribeActive w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 2: W sekcji Position dodaj zmienn\u0105 mqttSubscriber.xError w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Publikowanie<\/h2>\n\n\n\n<p>Ostatnia grupa element\u00f3w jest odpowiedzialna za publikowanie wiadomo\u015bci w danym temacie. Grupa element\u00f3w ma wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"307\" height=\"306\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Ustawienia_publisher.png\" alt=\"\" class=\"wp-image-14738\"\/><figcaption class=\"wp-element-caption\"><em>Grupa element\u00f3w Wydawca, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:23px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Widoczne elementy nale\u017cy skonfigurowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ComboBox QoS: W sekcji Position dodaj zmienn\u0105 mqttPublisher.eQoS w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Temat: W sekcji Text Variable dodaj zmienn\u0105 wsPublishTopic oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole tekstowe Wiadomo\u015b\u0107: W sekcji Text Variable dodaj zmienn\u0105 sPublishMessage oraz w sekcji Input Configuration skonfiguruj opcj\u0119 OnMouseClick dodaj\u0105c funkcj\u0119 Write a variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole wyboru Zachowaj: W sekcji Position dodaj zmienn\u0105 mqttPublisher.xRetain w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole wyboru Prze\u015blij ponownie: W sekcji Position dodaj zmienn\u0105 mqttPublisher.xReDelivery w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przycisk Publikuj: W sekcji Position dodaj zmienn\u0105 mqttPublisher.xEnable w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 1: W sekcji Position dodaj zmienn\u0105 rsPub1Done.Q1 w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dioda nr 2: W sekcji Position dodaj zmienn\u0105 rsPub1Error.Q1 w rubryce Variable<\/li>\n<\/ul>\n\n\n\n<p>Aby zainicjowa\u0107 po\u0142\u0105czenie, nale\u017cy wprowadzi\u0107 IP oraz port serwera, nazw\u0119 hosta, po czym nale\u017cy klikn\u0105\u0107 przycisk Po\u0142\u0105cz z brokerem. Zielona dioda wskazuje, \u017ce klient po\u0142\u0105czy\u0142 si\u0119 z brokerem. Czerwona dioda oznacza b\u0142\u0105d podczas po\u0142\u0105czenia.<\/p>\n\n\n\n<p>W tym odcinku to ju\u017c wszystko. W kolejnym dowiesz si\u0119, jak skonfigurowa\u0107 komunikacj\u0119 z wykorzystaniem protoko\u0142u EtherCAT.<\/p>\n\n\n\n<p>Do zobaczenia!<\/p>\n\n\n\n<p><strong>Autor artyku\u0142u: Mateusz Steczkowski<\/strong><\/p>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69de73b861014\">\n                <div class=\"mailerlite-form\">\n                    <form action=\"\" method=\"post\" novalidate>\n                                                    <div class=\"mailerlite-form-title\"><h3>Newsletter Poradnika Automatyka<\/h3><\/div>\n                                                <div class=\"mailerlite-form-description\"><p>Czytaj trendy i inspiracje, podstawy automatyki, automatyk\u0119 w praktyce<\/p>\n<\/div>\n                        <div class=\"mailerlite-form-inputs\">\n                                                                                            <div class=\"mailerlite-form-field\">\n                                    <label for=\"mailerlite-9-field-email\">Email<\/label>\n                                    <input id=\"mailerlite-9-field-email\"\n                                           type=\"email\" required=\"required\"                                            name=\"form_fields[email]\"\n                                           placeholder=\"Email\"\/>\n                                <\/div>\n                                                        <div class=\"mailerlite-form-loader\">Please wait...<\/div>\n                            <div class=\"mailerlite-subscribe-button-container\">\n                                <button class=\"mailerlite-subscribe-submit\" type=\"submit\">\n                                    Zapisz si\u0119                                <\/button>\n                            <\/div>\n                            <input type=\"hidden\" name=\"form_id\" value=\"9\"\/>\n                            <input type=\"hidden\" name=\"action\" value=\"mailerlite_subscribe_form\"\/>\n                            <input type=\"hidden\" name=\"ml_nonce\" value=\"995c7c8d1f\"\/>\n                        <\/div>\n                        <div class=\"mailerlite-form-response\">\n                                                            <h4><p>Dzi\u0119kujemy za zapis do newslettera!<\/p>\n<\/h4>\n                                                    <\/div>\n                    <\/form>\n                <\/div>\n            <\/div>\n        <script type=\"text\/javascript\" src='https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/plugins\/official-mailerlite-sign-up-forms\/assets\/js\/localization\/validation-messages.js'><\/script>\n         <script type=\"text\/javascript\"> var selectedLanguage = \"pl\"; var validationMessages = messages[\"en\"]; if(selectedLanguage) { validationMessages = messages[selectedLanguage]; } window.addEventListener(\"load\", function () { var form_container = document.querySelector(`#mailerlite-form_9[data-temp-id=\"69de73b861014\"] form`); let submitButton = form_container.querySelector('.mailerlite-subscribe-submit'); submitButton.disabled = true; fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: new URLSearchParams({ \"action\" : \"ml_create_nonce\", \"ml_nonce\" : form_container.querySelector(\"input[name='ml_nonce']\").value }) }) .then((response) => response.json()) .then((json) => { if(json.success) { form_container.querySelector(\"input[name='ml_nonce']\").value = json.data.ml_nonce; submitButton.disabled = false; } }) .catch((error) => { console.error('Error:', error); }); form_container.addEventListener('submit', (e) => { e.preventDefault(); let data = new URLSearchParams(new FormData(form_container)).toString(); let validationError = false; document.querySelectorAll('.mailerlite-form-error').forEach(el => el.remove()); Array.from(form_container.elements).forEach((input) => { if(input.type !== 'hidden') { if(input.required) { if(input.value == '') { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.required; input.after(error); return false; } } if((input.type == \"email\") && (!validateEmail(input.value))) { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.email; input.after(error); return false; } } }); if(validationError) { return false; } fade.out(form_container.querySelector('.mailerlite-subscribe-button-container'), () => { fade.in(form_container.querySelector('.mailerlite-form-loader')); }); fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: data }) .then((response) => { fade.out(form_container.querySelector('.mailerlite-form-inputs'), () => { fade.in(form_container.querySelector('.mailerlite-form-response')); }); }) .catch((error) => { console.error('Error:', error); }); }); }, false); var fade = { out: function(el, fn = false) { var fadeOutEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 1; } if (el.style.opacity > 0) { el.style.opacity -= 0.1; } else { el.style.display = 'none'; clearInterval(fadeOutEffect); } }, 50); if( typeof (fn) == 'function') { fn(); } }, in: function(el) { var fadeInEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 0; } if (el.style.opacity < 1) { el.style.opacity = Number(el.style.opacity) + 0.1; } else { el.style.display = 'block'; clearInterval(fadeInEffect); } }, 50); } }; function validateEmail(email){ if(email.match( \/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/ )) { return true; } return false; } <\/script> \n","protected":false},"excerpt":{"rendered":"<p>Zapraszamy na kolejny odcinek naszego kursu. Tym razem skupimy si\u0119 na komunikacji za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys. Dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 w tym protokole.<\/p>\n","protected":false},"author":81,"featured_media":14731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[139,142],"class_list":["post-14693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-astraada-one","tag-codesys"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/\" \/>\r\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2022-09-16T07:55:27+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2024-03-12T17:08:38+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"508\" \/>\r\n\t<meta property=\"og:image:height\" content=\"178\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Mateusz Pytel\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mateusz Pytel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minut\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/\"},\"author\":{\"name\":\"Mateusz Pytel\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\"},\"headline\":\"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11\",\"datePublished\":\"2022-09-16T07:55:27+00:00\",\"dateModified\":\"2024-03-12T17:08:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/\"},\"wordCount\":1965,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\",\"keywords\":[\"Astraada One\",\"Codesys\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/\",\"name\":\"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\",\"datePublished\":\"2022-09-16T07:55:27+00:00\",\"dateModified\":\"2024-03-12T17:08:38+00:00\",\"description\":\"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png\",\"width\":508,\"height\":178},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatyka w praktyce\",\"item\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/category\\\/automatyka-w-praktyce\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"name\":\"Poradnik Automatyka\",\"description\":\"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\",\"name\":\"ASTOR\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"width\":3322,\"height\":1078,\"caption\":\"ASTOR\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\",\"name\":\"Mateusz Pytel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"caption\":\"Mateusz Pytel\"},\"description\":\"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/mateuszpytel\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka","description":"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/","og_locale":"pl_PL","og_type":"article","og_title":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka","og_description":"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/","og_site_name":"Poradnik Automatyka","article_published_time":"2022-09-16T07:55:27+00:00","article_modified_time":"2024-03-12T17:08:38+00:00","og_image":[{"width":508,"height":178,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png","type":"image\/png"}],"author":"Mateusz Pytel","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Mateusz Pytel","Szacowany czas czytania":"15 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/"},"author":{"name":"Mateusz Pytel","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b"},"headline":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11","datePublished":"2022-09-16T07:55:27+00:00","dateModified":"2024-03-12T17:08:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/"},"wordCount":1965,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png","keywords":["Astraada One","Codesys"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/","name":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11 | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png","datePublished":"2022-09-16T07:55:27+00:00","dateModified":"2024-03-12T17:08:38+00:00","description":"W tym odcinku dowiesz si\u0119. jak krok po kroku skonfigurowa\u0107 komunikacj\u0119 za pomoc\u0105 protoko\u0142u MQTT w \u015brodowisku Codesys.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/09\/Kurs_CodeSys_Konfiguracja_bloku_MQTTSubscriber.png","width":508,"height":178},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Automatyka w praktyce","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/"},{"@type":"ListItem","position":2,"name":"Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys? | Kurs programowania w Codesys odc. 11"}]},{"@type":"WebSite","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","name":"Poradnik Automatyka","description":"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.","publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization","name":"ASTOR","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","width":3322,"height":1078,"caption":"ASTOR"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b","name":"Mateusz Pytel","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","caption":"Mateusz Pytel"},"description":"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/mateuszpytel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/14693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=14693"}],"version-history":[{"count":2,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/14693\/revisions"}],"predecessor-version":[{"id":20241,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/14693\/revisions\/20241"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/14731"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=14693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=14693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=14693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}