MQTT (Message Queue Telemetry Transport) je jednoduchý otevřený komunikační protokol pro přenos datových zpráv. Je značně oblíben a často využíván ke komunikaci se zařízeními IoT (Internet of Things), respektive IIoT (Industrial Internet of Things). V průmyslové automatizaci jeho popularita v posledních letech výrazně vzrůstá a MQTT protokol se stává jedním ze stěžejních standardů pro datovou komunikaci.
Připomeňme si základní strukturu a principy MQTT komunikace.
Každá datová zpráva je označena názvem topicu, podle kterého je následně přiřazována jednotlivým subscribers. Přílohou zprávy mohou být jakákoliv data v různých formátech, nejčastěji je pro přenos využíván formát JSON.
Server, který sbírá data od jednotlivých MQTT publishers a spravuje jejich distribuci pro MQTT subscribers.
Klient, který posílá datové zprávy na MQTT broker.
Klient, který odebírá zprávy, k jejichž odběru je přihlášen, z MQTT broker.
Každé klientské zařízení může být současně publisher i subscriber. Princip MQTT komunikace zajišťuje, že klientské stanice dostávají pouze ta data, která potřebují (topics, k jejichž odběru jsou přihlášeny). Díky tomu může MQTT fungovat efektivněji oproti klasické komunikační architektuře server/klient, která je založená na jednotlivých voláních serveru a následných odpovědích (v MQTT komunikaci nedochází k opakovaným voláním serveru a k přenosům nepotřebných dat, nezměněných hodnot a podobně).
Zabezpečení je v MQTT realizováno pomocí
Softwarové produkty, které popisujeme v tomto článku, nabízejí možnost zabezpečení MQTT komunikace pomocí TLS/SSL. Toto zabezpečení však zatím není podporováno u MQTT komunikace, která je nastavena přímo v programových aplikacích řídicích systémů (Micro800 nebo ControlLogix a CompactLogix).
V posledních letech nebylo možné si nevšimnout, že vývojářské týmy Rockwell Automation přistupují k MQTT komunikaci se zvláštní pozorností a implementují ji do různých svých projektů.
Snahou je zpřístupnit MQTT komunikaci v jednotlivých softwarových i hardwarových nástrojích tak, aby její ovládání bylo uživatelsky snadné a pohodlné, bez nutnosti dodatečného kódování a s co možná nejširší mírou integrace.
V tomto článku předkládáme souhrnný přehled o současném (červen 2025) stavu implementace MQTT v jednotlivých produktech našeho portfolia.
.
Nejrozsáhlejší podporu MQTT komunikace obsahuje v současné době FactoryTalk Optix – vizualizační HMI platforma, která je často využívána i jako univerzální komunikační brána.
FactoryTalk Optix umožňuje shromáždit data z automatizačních zařízení a z různých dalších zdrojů, provést s daty základní preprocessing či analýzu a následně je dále poskytnout nejrůznějšími způsoby dalším aplikacím.
MQTT přitom může stát nejen na obou stranách této datové komunikace, ale dokonce také uprostřed.
Aplikace FactoryTalk Optix může být
Výše popsané funkcionality byly poprvé uvedeny ve verzi FactoryTalk Optix 1.5 (v době, kdy píšu tento text, je aktuální verze 1.6). Počínaje verzí 1.5 je podpora MQTT v Optixu plně nativní. Je zajištěna předdefinovaným objektem MQTT Logic, jehož vlastnosti a chování lze konfigurovat v grafickém uživatelském rozhraní Optix Studia bez nutnosti jakéhokoliv skriptování či programování.
FactoryTalk Optix obsahuje svůj vlastní defaultní formát, jakým jsou uspořádána data v přenášeném JSON stringu. Od verze 1.5 je navíc možné vytvářet uživatelské formáty přenášených dat pomocí funkce Payload Formatter.
Aplikaci FactoryTalk Optix je možné nasadit i na zařízení Embedded Edge Compute Module (modul určený k instalaci přímo v šasi řídicího systému ControlLogix) a nově též na zařízení Optix Edge, které je možné připojit přímo k procesorům ControlLogix i CompactLogix. S využitím těchto hardwarových prvků se FactoryTalk Optix dostává do bezprostřední blízkosti ke zdrojům průmyslových dat a při využití MQTT komunikace tak může být ideální efektivní bránou pro přenos automatizačních dat do IT aplikací, analytických aplikací nebo datových úložišť, ať již lokálních nebo umístěných v cloudu.
Historicky starší a rozsáhlejší vizualizační platforma FactoryTalk View SE přináší implementaci MQTT komunikace ve verzi 15.0.
Byly integrovány nové objekty do knihoven pro Visual Basic (VBA). Tento objektový model poskytuje programové možnosti pro to, aby aplikace FactoryTalk View SE mohla fungovat jako MQTT publisher nebo MQTT subscriber.
Pomocí FT View aplikace tedy můžeme dosáhnout podobného efektu jako v aplikaci FT Optix:
Integrace MQTT ve FactoryTalk View SE zatím neumožňuje, aby aplikace sama o sobě fungovala jako MQTT broker (server).
Je třeba říci, že výše popsané objektové knihovny jsou určeny pro použití ve Visual Basicu (VBA) a pro vytvoření jednotlivých MQTT objektů a jejich konfiguraci je třeba vytvořit potřebné VBA scripty, anebo je minimálně upravit z dostupných vzorů, návodů či tutoriálů. Zprovoznění MQTT komunikace tedy zatím není zcela nativní a vyžaduje jisté programovací dovednosti.
VBA scripty jsou prováděny na jednotlivých klientských stanicích. Každý klient v distribuované architektuře FactoryTalk View SE je provádí samostatně. V budoucnu lze nejspíše očekávat, že developeři přenesou logiku MQTT komunikace na FT View SE server.
Tento softwarový nástroj slouží ke zpřístupnění dat z automatizačních zařízení Rockwell Automation aplikacím třetích stran. FactoryTalk Edge Gateway sbírá tagy z řídicích systémů RA a poskytuje je dále jako OPC UA server.
Verze 6.50 přináší možnost nastavit FactoryTalk Linx Gateway jako MQTT publisher. Takto je tedy možné odesílat hodnoty tagů z řídicích systémů na lokální nebo vzdálený MQTT broker.
Aplikace umožňuje nastavit názvy MQTT topics. Pro přenos dat jsou k dispozici tři předdefinované formáty přenášeného JSON stringu:
Podrobný popis datových formátů s příklady naleznete v dokumentu FactoryTalk Linx Gateway Getting Results Guide version 6.50, který je dostupný v literatuře na stránkách Rockwell Automation.
Pro řídicí systémy Micro800 byla navržena sada funkčních bloků MicroLink MQTT. Tato sada zabezpečuje obousměrnou MQTT komunikaci s jakýmkoliv MQTT brokerem.
MicroLink MQTT obsahuje tři funkční bloky
S řídicími systémy Micro800 je tedy možné zprovoznit MQTT komunikaci přímo z programové aplikace bez nutnosti využití dalších softwarových produktů.
Aplikace běžící v procesoru Micro800 je závislá na existenci externího MQTT Brokera, sama tuto funkcionalitu neposkytuje, může být pouze publisherem či subscriberem.
Sada funkčních bloků MicroLink MQTT je omezena pro systémy Micro 820, Micro850 a Micro870.
MQTT komunikaci řízenou přímo z programové aplikace procesorů Micro není možné zabezpečit pomocí TLS/SSL certifikátů.
Podobně jako u procesorů Micro800 je možné MQTT komunikaci přímo nastavit i v programových aplikacích pro řídicí systémy ControlLogix a CompactLogix. U těchto procesorů je však vyžadováno ethernetové rozhraní pro podporu socketů (Socket Ethernet Interface). Systémy Compact Logix 5370 a 5380, stejně jako ControlLogix 5580 mají toto rozhraní již defaultně integrováno. Pro ostatní ControlLogixy je nutné použít kartu 1756-EN2T nebo její odpovídající ekvivalent.
Pro vývoj je požadován Studio 5000 Logix Designer ve verzi 24 nebo vyšší.
Princip fungování je podobný jako u Micro800 – v Logix Designeru jsou k dispozici funkční bloky a add-on instrukce pro nastavení MQTT připojení, subscribingu a publishingu.
Ani v tomto případě není podporováno zabezpečení MQTT komunikace pomocí TLS/SSL.
DataFeed sice nepatří do rodiny softwarových produktů Rockwell Automation, přesto však si zaslouží, aby byl zmíněn v tomto textu. Německá firma Softing je technologickým partnerem Rockwell Automation a její hardwarové i softwarové nástroje představují špičku v průmyslové datové komunikaci.
Software DataFeed je univerzální datovou bránou, která dokáže na jednom místě shromáždit data z automatizačních zařízení různých výrobců.
DataFeed tato data standardně poskytuje dále jako OPC UA server. Pokud jde o preprocessing dat, nabízí DataFeed omezený rozsah základních matematických funkcí.
Konektor DataFeed MQTT je nadstavbovým prvkem pro systém DataFeed, který rozšiřuje funkcionalitu o možnosti MQTT publisheru. S pomocí MQTT konektoru je tedy systém DataFeed schopen publikovat průmyslová data do jakéhokoliv MQTT brokeru.
Datový formát JSON je v tomto případě volně definovatelný, což umožňuje vhodné přizpůsobení formátům, které požadují cíloví odběratelé dat (MQTT subscribers).
Tento text byl napsán s vědomím, že jeho aktuálnost je časově omezená. Vývoj softwarových produktů probíhá velmi rychle a MQTT komunikace se zdá být jednou z podstatných vývojových priorit. Je velmi pravděpodobné, že v blízké době budou další softwarové nástroje Rockwell Automation a technologických partnerů doplňovány o jednotlivé prvky MQTT komunikace, stejně tak očekávejme, že stávající podpora MQTT bude průběžně vylepšována a rozšiřována.
Chcete-li získat aktuální informace o podpoře MQTT v jednotlivých produktech, kontaktujte prosím technické konzultanty ControlTech.