Modbus til MQTT
Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Tjekkiet
Dokument nr. APP-0087-EN, revision fra 12. oktober 2023.
Modbus til MQTT Router App
© 2023 Advantech Czech sro Ingen del af denne publikation må gengives eller transmitteres i nogen form eller på nogen måde, elektronisk eller mekanisk, herunder fotografering, optagelse eller noget system til lagring og hentning af information uden skriftligt samtykke. Oplysningerne i denne manual kan ændres uden varsel, og de repræsenterer ikke en forpligtelse fra Advantechs side.
Advantech Czech sro er ikke ansvarlig for hændelige skader eller følgeskader som følge af indretning, ydeevne eller brug af denne manual.
Alle mærkenavne, der bruges i denne vejledning, er registrerede varemærker tilhørende deres respektive ejere. Brugen af varemærker eller andre betegnelser i denne publikation er kun til referenceformål og udgør ikke en godkendelse fra varemærkeindehaveren.
Brugte symboler
![]() |
Fare – Oplysninger om brugersikkerhed eller potentiel skade på routeren. |
![]() |
Opmærksomhed – Problemer, der kan opstå i specifikke situationer. |
![]() |
Information – Nyttige tips eller information af særlig interesse. |
![]() |
Example – Eksample af funktion, kommando eller script. |
Ændringslog
- Modbus til MQTT Changelog
v2.0.5
• Skift openssl (1.0.2u) til statisk bibliotek.
v2.0.6
• Tilføj mulighed for Azure SAS-tokengenerering.
• Skal installere Python3 brugermodul.
• Tilføj datatype: Dobbeltverden – Ramme.
• Tilføj "Byte Swap"-feltet i csv file.
• Tilføj understøttet datatype "String".
• Tilføj "Word Swap" og "Byte Swap" for String Data Type.
v2.0.7
• Tilføj show mosquitto fejlkode og fejlmeddelelse i funktionen tilsluttet/frakoblet.
v2.0.8
• Tilføj upload lokalt certifikat og lokale nøglefunktioner til AWS.
v2.0.9
• Skift modbus-kommando maksimum fra 100 til 500.
v2.0.10
• Tilføj polling af brugermodulets processer for hvert 5. sekund, hvis brugermodulet gik ned, vil det køre igen.
v2.0.11
• Tilføj "Custom2 Field" felt i csv file.
• Tilføj "Send gruppe"-feltet i csv file, for MQTT sende gruppe funktion.
• Tilføj "Send interval" felt i csv file, for MQTT sende gruppe funktion.
v2.0.12
• Tilføj Azure SAS-token-generering (uden Python3-brugermodul). Når Python3-brugermodulet er installeret, vil det bruge SAS-token-generering af python.
v2.0.13
• Tilføjet mulighed for at redigere CSV, CA-certifikat, lokalt certifikat og lokal privat nøgle fra WebUI.
v2.0.14
• Rettet problem, da router-appen mb2mqtt indlæser standardkonfigurationen efter firmwareopdatering.
v2.0.15
• Rettede et problem med at vise pladsværdier på siden Mapping Table.
• Rettede et problem, hvor den gamle værdi blev vist på siden Mapping Table, når konfigurationsværdien var tom. v2.0.16
• For WADMP: Rettede problemet med, at standardværdien har mellemrum.
v2.0.17
• For at understøtte heltal med 2 bytes størrelse (f.eksample: konverter 0xFFFF til -1).
• Indstil tilladelser til 755 for alle files i brugermodulet.
v2.0.18
• Rettede et problem med heltal-til-flydende konvertering.
• Tilføj mere logmeddelelse for MQTT-værdi.
v2.0.19
• Forøg tilpassede felter til 10 (CSV-konfigurationsfelter: Q, R, U AB)
v2.0.20
Rettede et problem, hvor konfigurationskommentarer forårsagede problemer i administrationssystemet WADMP.
Beskrivelse af modulet
Denne router-app er ikke indeholdt i standardrouter-firmwaren. Upload af denne router-app er beskrevet i konfigurationsmanualen (se kapitel relaterede dokumenter).
Router-appen er v2-routerplatformkompatibel.
Modbus til MQTT er en router-app til at give problemfri kommunikation mellem Modbus/TCP-enheder og MQTT-enheder. Modbus til MQTT fungerer som Modbus/TCP-master til at kommunikere med Modbus/TCP-enheder, og fungerer som MQTT-udgiver/abonnent til at kommunikere med MQTT-mægler.
Web Interface
Når installationen af modulet er fuldført, kan modulets GUI aktiveres ved at klikke på modulnavnet på Router Apps-siden på routerens web interface.
Venstre del af denne GUI indeholder menu med Router menu sektion. Tilbage til routermenuen skifter tilbage fra modulets web side til routerens web konfigurationssider. Hovedmenuen for modulets GUI er vist på figur 1.
- Router
Indstillinger ALDRIG
Konfiguration af denne router-app kan udføres på siden Indstillinger under Router-menuafsnittet. Alle konfigurationselementer for Indstillinger-konfigurationssiden er beskrevet i tabellen nedenfor.
Punkt Beskrivelse Tjenesteaktiver Aktiveret, Modbus til MQTT APN-funktionalitet for modulet er aktiveret. Log Aktiver APN Aktiver serviceloggen. Mægler adresse Indtast den eksterne Broker Server-adresse. Broker Server Port Indtast Broker Server Port Number (1-65535). MQTT Keepalive Indtast MQTT keepalive interval (1-3600). MQTT QoS Indtast MQTT QoS-værdi (0,1,2). MQTT Behold Aktiver for opbevaring af beskeder. kunde-id Indtast klient-id. MQTT Anonym Aktiver MQTT Anonymous MQTT brugernavn Indtast MQTT-brugernavn. MQTT adgangskode Indtast MQTT-adgangskode. MQTT TLS Aktiver MQTT TLS. Interval(ms) Indtast Modbus TCP Polling Interval. Timeout (ms) Indtast Modbus TCP Timeout. CSV-konfiguration Upload file indeholder din CSV-konfiguration her. CA-certifikat Upload dit CA-certifikat her. Lokalt certifikat Upload dit lokale certifikat her. Lokal privat nøgle Upload din lokale private nøgle her. Tabel 1: Indstillinger Eksample Varebeskrivelse
1.2 Konfig file
I Modbus til MQTT konfigurerer brugeren kortlægningen mellem Modbus/TCP og MQTT gennem CSV file. I csv file, er feltseparatoren (afgrænser) et komma.
Punkt Beskrivelse Emne MQTT emne Navn Navnet til at identificere kortlægningen. IP Modbus-enhedens IP-adresse. Havn TCP-portnummeret på den eksterne Modbus-slaveenhed. Enheds-id Modbus/TCP slave-id. Funktionskode Modbus funktionskode (FC). I Modbus til MQTT er understøttede funktionskoder: 1, 2, 3, 4, 5, 6, 15, 16
01: Læs spoler;
02: Læs diskrete input;
03: Læs holding registre;
04: Læs inputregister;
05: Skriv enkelt spole;
06: Skriv enkelt register;
15: Skriv flere spoler;
16: Skriv flere registre.Adresse Angiv læse-fra/skrive-til-startadressen for Modbus-registret. Data længde Når FC=1, 2, 5 eller 15, er enheden bit(er)
Når FC=3, 4, 6 eller 16, er enheden ord(e)Modbus Datatype Modbus datatype.
Indstillinger: Boolean, Heltal, Usigneret heltal, FloatData Swap Dataswap-feltet bestemmer rækkefølgen, i hvilken de særlige bytes af de modtagne/transmitterede data leveres.
Ingen: Byt ikke; Ord: 0x01, 0x02 bliver 0x02, 0x01;
Dobbeltord: 0x01, 0x02, 0x03, 0x04 bliver 0x04, 0x03, 0x02, 0x01.
Dobbeltord – Ramme: 0x01, 0x02, 0x03, 0x04 bliver 0x04, 0x03, 0x02, 0x01.
Quad Word: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07980 bliver 0x07980, 0x05, 0x06, 0x03, 0x04, 0x01, 0x02.Byte swap Mulighed: Sandt, Falsk
Når indstillingen er Sand: 0x01, 0x02 bliver 0x01, 0x02.
0x01, 0x02, 0x03, 0x04 bliver 0x01, 0x02, 0x03, 0x04.MQTT Datatype MQTT datatype.
Indstillinger: Boolean, Heltal, Heltal uden fortegn, Float, Langt heltal, UfortegnMultiplikator Værdien, der bruges til at gange dataværdien. Offset Værdien, der bruges til at tilføje/subtrahere dataværdien. Polling-interval (ms) Modbus Polling Interval, enhed: millisekunder.
Værdiinterval: 1 10000000Send når ændring Vælg at dataene sendes med det samme, når der sker ændring på modbus slave.
Valgmuligheder: Ja, nejBrugerdefineret felt Brugerdefineret definitionsværdi Custom2 felt Brugerdefineret definitionsværdi Send gruppe Indstil gruppenummer for MQTT flere beskeder til én besked.
Værdiområdet er fra 0 til 500. Når værdien er 0, er denne funktion deaktiveret.Send interval Send MQTT-meddelelsesinterval for gruppen i sekunder. Værdiområdet er fra 1 til 10000 sekunder. Tabel 2: Beskrivelse af konfigurationselementer
CSV'en file kan importeres til Advantech router i router app indstilling WEB side. Efter import af CSV file og klik på knappen "Gem", vil den nye kortkonfiguration træde i kraft med det samme.
1.3 Kortlægningstabel
Modbus/TCP til MQTT-tilknytningen vil blive vist i kortlægningstabel WEB side.
1.4MQTT dataformat
Når Modbus/TCP FC er 1, 2, 3 eller 4, vil Modbus til MQTT fungere som MQTT-udgiver for at sende Modbus/TCP-data i JSON-format til MQTT-mægler. Når Modbus/TCP FC er 5, 6, 15 eller 16, vil Modbus til MQTT fungere som MQTT-abonnent for at spørge om abonnementsoplysninger og videresende dataene til Modbus/TCP-enheden.
Her er example af MQTT-data, der udgives fra Modbus til MQTT.
Bemærk, at Modbus til MQTT kun verificerer emne-, navn- og værdifelter for de modtagne abonnementsoplysninger.
Du kan få produktrelaterede dokumenter på Engineering Portal på icr.advantech.cz adresse.
For at få din routers Quick Start Guide, User Manual, Configuration Manual eller Firmware gå til Routermodeller side, find den ønskede model og skift til henholdsvis fanen Manualer eller Firmware.
Router Apps installationspakker og manualer er tilgængelige på Router apps side.
For udviklingsdokumenterne, gå til DevZone side.
Modbus til MQTT manual
Dokumenter/ressourcer
![]() |
ADVANTECH Modbus til MQTT Router App [pdfBrugervejledning Modbus Til MQTT Router App, Modbus, Til MQTT Router App, MQTT Router App, Router App |