MqttPublish – Odeslání zprávy protokolem MQTT
Symbol blokuPotřebná licence: MQTT
Popis funkce
Tento funkční blok je závislý na MQTT ovladači. Je doporučeno si před použitím
přečíst manuál MQTTDrv ovladače [12].
Blok MqttPublish slouží pro odesílání zpráv na zařízení typu MQTT Broker prostřednictvím připojení, které zajišťuje MQTTDrv ovladač.
Prvním parametrem jménem topic se určuje do jakého tématického celku budou zprávy produkované blokem zařazeny. Protokol MQTT doručuje aplikační zprávy dle zvolené úrovně kvality služby (Quality of Service – QoS). Požadovaná úroveň lze nastavit parametrem QoS. Více informací naleznete ve specifikaci MQTT protokolu [13] (pouze anglicky).
Pokud je parametr RETAIN nahozen, odchozí pakety zprávy budou označeny příznakem RETAIN. Více informací naleznete ve specifikaci MQTT protokolu [13] (pouze anglicky).
Parametr defBuffSize může být použit pro optimalizaci práce s pamětí bloku. Hodnota parametru představuje velikost staticky alokované paměti pro vnitřní buffer odchozích zpráv. Pokud je velikost bufferu nadbytečně velká, blok si alokuje paměť, která je zbytečně blokována. Na druhou stranu pokud je hodnota parametru příliš malá, algoritmus bloku musí často dynamicky alokovat paměť, což je časově náročná operace.
Odesílaná zpráva je konstruována ze vstupního signálu value. Blok předpokládá, že vstup value bude datového typu string. Pokud je vstup jiného typu, dojde k automatické konverzi. Pro odeslání zprávy v aktuální periodě stačí nastavit vstup RUN na on. Výstup BUSY má hodnotu on pokud je blok zaneprázdněn nevyřízeným požadavkem pro odeslání zprávy nebo vyčkává na odpověď od zařízení typu Broker. Pokud je požadavek pro odeslání úspěšně vyřízen v aktuální periodě, dojde k nastavení výstupu DONE na on.
Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
value | Vstupní signál | String |
RUN | Povolení běhu algoritmu | Bool |
Parametr
topic | MQTT topic | String |
QoS | Quality of Service 1 | Long (I32) |
|
|
|
RETAIN | Zachovat poslední zprávu on | Bool |
defBuffSize | Výchozí velikost bufferu 1 2048 | Long (I32) |
Výstup
BUSY | Příznak probíhající operace | Bool |
DONE | Příznak dokončení transakce | Bool |
errId | Kód chyby | Error |
[Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com