Ez az MQTT bemutató reméljük segítségére lesz az MQTT világában eligazodni.
Mi is az az MQTT?
Az MQTT-t (Message Queue Telemetry Transport = az üzenetek sorbaállításán alapuló telemetriai adattovábbítás ) könnyű üzenetküldési protokollként tervezték, kis méretű, alacsony energiafelhasználású felhasználása miatt minimalizálja az adatcsomagokat, és a megvalósítás egyszerűsége teszi a protokollt ideálissá a gép és gép közötti kapcsolatban vagy az IoT világában.
MQTT fogalmak
Publish / Subscribe – Közzététel / Feliratkozás
Közzétételi és feliratkozási rendszerben, egy eszköz közzétehet üzenetet egy témában, vagy feliratkozhat egy adott témára, hogy üzeneteket fogadjon.
Messages – Üzenetek
A üzenetek azok az információk melyeket két eszköz között osztanak meg. Az üzenet formája lehet adat vagy parancs. Minden üzenetnek van témája (topic) néhány paraméterrel, és egy hasznos része (payload), amely tartalmazza a továbbítandó adatokat. A küldő eldönti, hogy bináris adatszöveget vagy akár teljes értékű XML-t ( Extensible Markup Language = kiterjeszthető jelölőnyelv amely strukturált szöveg és információ megosztása az interneten keresztül ) vagy JSON-t (JavaScript Object Notation = kis méretű, szöveg alapú szabvány, ember által olvasható adatcserére ) akar-e elküldeni.
Topics – Témák
A témák a bejövő üzenetek regisztrálásának módját vagy az üzenet közzétételének a helyét határozzák meg. A különböző témák perjellel vannak elválasztva. Minden perjel témaszintet jelöl. PL. otthon / hálószoba / hőmérséklet
Broker
A Broker arra a szerverre utal, amely a kliens-ek közötti adatátvitelt kezeli. A Broker a felelős az összes üzenet fogadásáért, azok szűréséért, majd az üzenetek kiértékelése után közzéteszi (publish) az összes feliratkozott (subscribe) kliens számára.
Publish / Subscribe – Közzététel / Feliratkozás
Nézzük meg a fenti ábra alapján, hogy a Kliens-ek (Clients) közül a 3 Témával kapcsolatban melyek a közzétevők (publishes) és melyek a feliratkozók (subscribes) :
A Kliens 1. közzéteszi (publish) az 1. és a 2. Téma (Topic 1 és Topic 2) adatait, ugyanakkor feliratkozója (subscribe) a 3. Témának (Topic3).
A Kliens 2. egyik Téma adatait sem teszi közzé, ugyanakkor mind a három Témának a feliratkozója.
A Kilens 3. közzéteszi a 3. Téma adatait, és feliratkozója az 1. és 2. Témának.
A Kliens 4. közzéteszi az 2. és a 3. Téma adatait, és feliratkozója az 1. Témának.
Nézzük meg hogyan továbbítják az adatokat ebben az esetben:
A Kilens 1. adatokat közöl (publis) a 1. Témakörben (Topic 1). A Broker elküldi ezeket az adatokat az összes feliratkozónak (subscribe), jelen esetben a 2. ; 3. ; és 4. Kliens-nek.
A Kilens 1. adatokat közöl a 2. Témakörben. A Broker elküldi ezeket az adatokat az összes feliratkozónak, jelen esetben a 2. és 3. Kliens-nek.
A Kilens 2. nem közöl adatokat egyik témakörben sem.
A Kliens 3. adatokat közöl a 3. Témakörben. A Broker elküldi ezeket az adatokat az összes feliratkozónak, jelen esetben a 1. és 2. Kliens-nek.
A Kliens 4. adatokat közöl a 3. Témakörben. A Broker elküldi ezeket az adatokat az összes feliratkozónak, jelen esetben a 1. és 2. Kliens-nek
A Kliens 4. adatokat közöl a 2. Témakörben. A Broker elküldi ezeket az adatokat az összes feliratkozónak, jelen esetben a 2. és 3. Kliens-nek.
MQTT Broker
Az MQTT használatához el kell döntenie, hogy milyen MQTT Brokert fog használni. Választhatja a felhőalapú Broker-eket ( Cloud Based Brokers ), vagy a saját hálózaton futó Broker-eket ( Self-Hosted Brokers) , amelyek belső hálózaton vagy interneten keresztül működnek.
Felhőalapú Broker ( Cloud Base Broker)
A fejlesztők csak a szoftverek telepítéséért és kezeléséért felelősek, miközben a kiszolgáló hardvert az eladó biztosítja és tarja karban. Néhány eladó felügyelt MQTT Broker-t is biztosít ahol a kiszolgálószoftvert és az MQTT alkalmazást is az eladó telepíti és kezeli.
Self-Hosted Broker
A fejlesztő ezeket a Broker-eket a saját szerverére telepíti, ebben az esetben a fejlesztő maga felelős a szerverek szoftverének és hardverének minden telepítéséért és karbantartásáért.
Az alábbi Rievtech PLC-k rendelkeznek beépített MQTT-vel:
A Rievtech IoT PLC-k távoli hozzáférést biztosítanak a berendezés távoli felügyeletéhez és vezérléséhez, valamint az MQTT és a Web Server kapcsolatokhoz.
Mit is jelent az IoT?
Egyre gyakrabban találkozunk az IoT, azaz Internet of Things kifejezéssel, aminek magyar jelentése az elég furán hangzó: dolgok internete. Azok az eszközök tartoznak ebbe a csoportba, mint pl. a Rievtech IoT PLC, amelyek más eszközzel vagy eszközökkel kétirányú kommunikációt folytathatnak, és a működés közben keletkező adatokat, információkat képesek más berendezésekre eljuttatni, és valamilyen technológia segíségével, akár netes adatbázisok, felhőalapú rendszerek révén a világ bármely pontján megosztani.
Találkozott már olyan helyzettel, amikor egy léállt vagy leállított gép csak kisebb beavatkozást igényelt a munka folytatásához?
A berendezés problémáinak akár 70 százaléka megoldható akár egyszerű újraindítással, több működési paraméter beállításával vagy akár csak a vezérlőprogram frissítésével.
A kommunikáció rohamos fejlődésének köszönhetően az ehhez hasonló munkák elvégzéséhez, felesleges a szakemberek helyszíni, fizikai jelenléte.
Ezeket a munkákat már távolról is el lehet végezni.
A PLC lehetővé teszi, hogy hozzáférjen a vezérlőrendszeréhez olyan feladatok kezeléséhez, mint például a webböngészőn keresztüli figyelés a gép állapotának megállapításához, vagy egyéb statisztikák ellenőrzéséhez, valamint a vezérlőprogram és annak paramétereinek beállításához.
A Rievtech IoT PLC segítségével
frissítheti vagy módosíthatja a PLC programot
távolról elindíthatja vagy leállíthatja a rendszert
valós idejű adatokat gyűjthet
figyelmeztheti a berendezés üzemeltetőit a felmerülhető problémákra, még mielőtt bármilyen kár keletkezne
Továbbá távoli segítséget nyújt a berendezés kezelőinek a működés közbeni problémák elhárításához, és a megelőző karbantartási feladatok megoldásához
Az e-mail és a szöveges figyelmeztetések azonnali küldése, lehetővé teszi a probléma mielőbbi kezelését.
Az ipari bármely területén automatizálással foglalkozó szakember számára nagy jelentőséggel bír, hogy a gépekhez, berendezésekhez távolról is hozzá lehessen férni, mellyel nagymértékben lecsökken a gépek állásideje, ellenben nő az üzemidő. Csökkennek az üzemeltetési költségek, helyszíni látogatások.
Az alábbi Rievtech PLC-k rendelkeznek Webszerverrel:
A fizikai paramétereket mérő távadók – mint például: nyomás, áramlás, hőmérséklet – szabványos tartományú analóg jelet állítanak elő. 0-10 V , 0(4)-20 mA. A PLC-k analóg bemenetei ezt az analóg jelet alakítják ismét digitális jellé. Az analóg bemenetek legfontosabb műszaki jellemzőik a felbontás, pontosság és a mintavételezési idő.
Nézzünk néhány példát a felbontásra:
A felbontás 0-10 V jel esetén: 8 bites 10 V / 256 0,3906 V / osztás 10 bites 10 V / 1024 0,0976 V / osztás 12 bites 10 V / 4096 0,00244 V / osztás 13 bites 10 V / 8192 0,00122 V / osztás 14 bites 10 V / 16384 0,00061 V / osztás 15 bites 10 V / 32768 0,00030 V / osztás 16 bites 10 V / 65536 0,00015 V / osztás
A felbontás 0-20 mA jel esetén: 8 bites 20 mA / 256 0,07812 mA / osztás 10 bites 20 mA / 1024 0,01953 mA / osztás 12 bites 20 mA / 4096 0,00488 mA / osztás 13 bites 20 mA / 8192 0,00244 mA / osztás 14 bites 20 mA / 16384 0,00122 mA / osztás 15 bites 20 mA / 32768 0,00061 mA / osztás 16 bites 20 mA / 65536 0,00030 mA / osztás
A Rievtech ÚJ PR-E-AI-V/I modulja a bemmeneti jelet 10.000 részre osztja.
Azaz
0 – 10 V /10.000 = 0,001 V (1 mV)
0 – 20 mA / 10.000 = 0,002 mA (2 uA)
Villamos bekötése:
A nem használt bemeneteket össze kell kötni a hozzájuk tartozó “M” csatlakozóval !
Mintaprogram:
A távadók méréstartománya leggyakrabban az adott környezeti változóhoz igazodik. A villamos kimenethez 0-10 V vagy 0(4)-20 mA különböző méréstartmányok tartozhatnak. Például: Nyomás távadó: 0 – 6.00 bar / 0 – 10 V pH távadó: 0 – 14.00 pH / 4 – 20 mA
A xLogicSoft funkcióblokkos (FBD) PLC programozó szoftverben az analóg bemenet címét kell először megadni. Több kártya használata esetén a további címzésekben segítségre lehet az ITT található táblázat.
A címzés beállítását követően legegyszerűbben egy analóg matematika blokkal számolhatjuk ki az adott távadó által küldött pillanatnyi értéket. Nyomás távadó: 0 – 6.00 bar / 0 – 10 V azaz: 10000 / 600 = 16,66 Miszerint a nagyfelbontású analóg bemeneten érkező értéket elosszuk 16,66 akkor a pillanatnyi nyomásétéket kapjuk. Mivel a tizesedszámmal történő osztás nem lehetséges ebben a blokkban, így 1666-al célszerű oszatni, majd a végeredményt 100-al megszorozni. Így a 10 V-hoz tartozó nyomásértéket 600 ként azaz 6.00 bar ként olvashatjuk le a kijelzőn. A kijelző beállításánál fogjuk a tizesed helyiértéket beállítani.
A xLogicSoft szimulátorában máris tesztelhetjük a progrmunkat:
Amennyiben nincs kedvünk, vagy az adott feladat nem teszi lehetővé az állandó szorzó használatát, akkor egy kis programozást követően mind a 10 V -hoz tartozó maximális (AF1) értéket, mind pedig a szorzó értéket (AF2) beállíthatóvá tehetjük.
Az xLogicSoft PLC programozó szoftver és sok hasznos segítség elérhető a letöltőközpont menüben. A Rievtech PR-E-AI-V/I 0-10 V és 0-20 mA-es analóg bemeneti modul megrendelhető a Rievtech webshopban.