Integration af Modbus TCP-energimåler: Registre og testning
Integration af Modbus TCP-energimåler til lokal overvågning
Med Modbus TCP kan en lokal applikation læse elektriske målinger direkte fra en IAMMETER Wi-Fi-energimåler.
Den er velegnet til:
- PLC- og SCADA-systemer;
- Home Assistant og Node-RED;
- lokale energistyringssystemer (EMS);
- bygningsstyringssystemer (BMS);
- overvågning og automatisering med ét sekunds opløsning;
- applikationer, der skal fungere uden IAMMETER-Cloud.
IAMMETER energy meter
│
│ Wi-Fi / LAN
│ Modbus TCP
▼
Home Assistant, Node-RED, PLC, SCADA or custom EMS
Klienten indleder hver anmodning. Måleren returnerer registerværdier for spænding, strøm, aktiv effekt, importeret energi, eksporteret energi, effektfaktor, frekvens og andre understøttede målinger.
Modbus TCP er en lokal afspørgningsgrænseflade. Hvis måleren skal udgive data til en broker, skal du bruge MQTT. Hvis den skal uploade data til en kundeserver, kan du se Modtag IAMMETER-data på din egen server.
1. Hvorfor bruge Modbus TCP?
Sammenlignet med cloud-afspørgning eller periodiske måleruploads giver Modbus TCP:
- direkte adgang over det lokale netværk;
- ingen afhængighed af IAMMETER-Cloud for datastien;
- en standard grænseflade baseret på registre;
- afspørgning med ét sekunds opløsning for understøttede applikationer;
- fortegnede værdier for aktiv effekt til tovejs energiovervågning;
- kompatibilitet med almindelige automatiserings- og industriværktøjer.
Typiske anvendelser omfatter:
- styring af en belastning ud fra neteffekten i realtid;
- lokal aflæsning af solproduktion, netudveksling eller kredsløbsbelastning;
- tilføjelse af en energimåler til Home Assistant;
- indsamling af målinger i Node-RED;
- integration af eldata i en PLC, SCADA, EMS eller BMS.
2. Understøttede IAMMETER-målere
Nuværende IAMMETER-energimålermodeller understøtter de tilgængelige Home Assistant- og open-integrationstilstande, herunder Modbus TCP. Den udgåede WEM3162 behandles ikke i denne vejledning.
Den vigtigste forskel mellem modellerne er antallet og formålet med målekanalerne:
- enkeltkanalsmålere eksponerer fase A-registerblokken;
- to-kanals- eller split-phase-målere bruger de relevante kanalblokke;
- trefasemålere eksponerer fase A-, B- og C-blokkene;
- understøttede målere kan også eksponere totaler og valgfrie reaktive målinger.
Valider altid register-svaret mod den præcise model og firmware, der bruges i projektet.
WEM3046T og WEM3046TE
WEM3046T og WEM3046TE måler 5 A-sekundæroutputtet fra en ekstern strømtransformator.
Værdierne for primærsidestrøm, effekt og energi skal derfor bruge det relevante eksterne CT-forhold. Dette skaleringskrav skyldes målerens 5 A CT-indgangsdesign; det er ikke en Modbus TCP- eller platformspecifik adfærd.
Sørg for, at CT-forholdsbehandlingen er dokumenteret og testet, hvor disse modeller integreres.
3. Forbindelsesparametre
Det officielle IAMMETER Modbus Poll-eksempel bruger:
| Parameter | Eksempelværdi |
|---|---|
| Forbindelse | Modbus TCP/IP |
| Vært | Målerens lokale IP-adresse |
| TCP-port | 502 |
| Enheds-/unit-ID | 1 |
| Funktionskode | 03 – Læs holding-registre |
| Svar-timeout | 1000 ms i eksemplet |

Brug målerens LAN-IP-adresse som vært. Hvis du reserverer adressen i routeren, kan du forhindre, at en integration bryder efter en DHCP-adresseændring.
Værdierne ovenfor er parametrene i det officielle eksempel. Bekræft den faktiske firmware og sitekonfiguration, før du hårdkoder dem i produktionssoftware.
4. Hurtigtest med Modbus Poll
Sådan bekræfter du forbindelsen, før du konfigurerer en komplet platform:
- forbind computeren og IAMMETER-måleren til det samme LAN;
- find målerens lokale IP-adresse;
- opret en Modbus TCP/IP-forbindelse til port
502; - angiv enheds-ID til
1; - vælg funktionskode
03; - anmod om holding-registre fra adresse
0; - sammenlign de returnerede råværdier med skaleringsreglerne nedenfor.

Skærmbilledet bruger en visningsscanrate på 500 ms til testning. Til normal brug anbefaler IAMMETER-dokumentationen afspørgning med ét sekunds mellemrum frem for at behandle den hurtigste klientindstilling som den understøttede produktionsfrekvens.
Hvis forbindelsen fejler, skal du kontrollere:
- at måleren og klienten er på det samme tilgængelige netværk;
- målerens IP-adresse;
- TCP-port 502 og firewallregler;
- enheds-ID og funktionskode;
- om en anden applikation allerede styrer den ønskede afspørgningsproces;
- målerens firmwareversion.
5. Registerdatatyper og skalering
IAMMETER bruger 16-bit holding-registre.
16-bit-værdier
Spænding, strøm, effektfaktor og frekvens bruger ét register:
| Måling | Råtype | Konvertering |
|---|---|---|
| Spænding | Unsigned 16-bit | V = raw / 100 |
| Strøm | Unsigned 16-bit | A = raw / 100 |
| Effektfaktor | Unsigned 16-bit | PF = raw / 1000 |
| Frekvens | Unsigned 16-bit | Hz = raw / 100 |
32-bit-værdier
Aktiv effekt, kumulativ energi og reaktive værdier bruger to fortløbende registre.
Det officielle Modbus Poll-eksempel viser det højeste 16-bit-ord først. Kombinér ordene sådan:
raw32 = (register[n] << 16) | register[n + 1]
Fortolk aktiv og reaktiv effekt som fortegnede 32-bit-værdier. Fortolk kumulative energipulstællere som fortegnsløse 32-bit-værdier.
| Måling | Råtype | Konvertering |
|---|---|---|
| Aktiv effekt | Signed 32-bit | W = raw32 |
| Import-/forlæns energi | Unsigned 32-bit | kWh = raw32 / 800 |
| Eksport-/baglæns energi | Unsigned 32-bit | kWh = raw32 / 800 |
| Reaktiv effekt | Signed 32-bit | var = raw32 |
| Induktiv/kapacitiv reaktiv energi | Unsigned 32-bit | kvarh = raw32 / 1000 |
Fortegnet aktiv effekt gør det muligt for en integration at skelne mellem modsatte effektretninger. Bekræft fortegnskonventionen mod CT-orienteringen og applikationens ledningsføring under idriftsættelsen.
6. Grundlæggende Modbus-registerkort
Registeradresserne nedenfor er decimale forskydninger. Klienten skal bruge funktionskode 03.
Fase A
| Adresse | Længde | Måling | Konvertering |
|---|---|---|---|
| 0 | 1 | Spænding | Unsigned, /100 V |
| 1 | 1 | Strøm | Unsigned, /100 A |
| 2 | 2 | Aktiv effekt | Signed, W |
| 4 | 2 | Import-/forlæns energi | Unsigned, /800 kWh |
| 6 | 2 | Eksport-/baglæns energi | Unsigned, /800 kWh |
| 8 | 1 | Effektfaktor | Unsigned, /1000 |
| 9 | 1 | Modelidentifikator i det gamle kort | Brug ikke som eneste kilde til den aktuelle modelkatalog |
Fase B
| Adresse | Længde | Måling | Konvertering |
|---|---|---|---|
| 10 | 1 | Spænding | Unsigned, /100 V |
| 11 | 1 | Strøm | Unsigned, /100 A |
| 12 | 2 | Aktiv effekt | Signed, W |
| 14 | 2 | Import-/forlæns energi | Unsigned, /800 kWh |
| 16 | 2 | Eksport-/baglæns energi | Unsigned, /800 kWh |
| 18 | 1 | Effektfaktor | Unsigned, /1000 |
| 19 | 1 | Reserveret | Bruges ikke |
Fase C
| Adresse | Længde | Måling | Konvertering |
|---|---|---|---|
| 20 | 1 | Spænding | Unsigned, /100 V |
| 21 | 1 | Strøm | Unsigned, /100 A |
| 22 | 2 | Aktiv effekt | Signed, W |
| 24 | 2 | Import-/forlæns energi | Unsigned, /800 kWh |
| 26 | 2 | Eksport-/baglæns energi | Unsigned, /800 kWh |
| 28 | 1 | Effektfaktor | Unsigned, /1000 |
| 29 | 1 | Reserveret | Bruges ikke |
Frekvens og totaler
| Adresse | Længde | Måling | Konvertering |
|---|---|---|---|
| 30 | 1 | Frekvens | Unsigned, /100 Hz |
| 31 | 1 | Reserveret | Bruges ikke |
| 32 | 2 | Total aktiv effekt | Signed, W |
| 34 | 2 | Total import-/forlæns energi | Unsigned, /800 kWh |
| 36 | 2 | Total eksport-/baglæns energi | Unsigned, /800 kWh |
Totalregistrene er mest relevante for flerkanalsmålere. Til en enkeltkanalsintegration skal du bruge de relevante fase A-værdier og validere eventuelle returnerede totaler.
7. Valgfrie reaktive registre
Reaktive registre er kun tilgængelige, når reaktiv måling understøttes og er aktiveret af den relevante måler og firmware.
| Adresse | Længde | Måling | Konvertering |
|---|---|---|---|
| 38 | 2 | Fase A reaktiv effekt | Signed, var |
| 40 | 2 | Fase A induktiv reaktiv energi | Unsigned, /1000 kvarh |
| 42 | 2 | Fase A kapacitiv reaktiv energi | Unsigned, /1000 kvarh |
| 44 | 2 | Fase B reaktiv effekt | Signed, var |
| 46 | 2 | Fase B induktiv reaktiv energi | Unsigned, /1000 kvarh |
| 48 | 2 | Fase B kapacitiv reaktiv energi | Unsigned, /1000 kvarh |
| 50 | 2 | Fase C reaktiv effekt | Signed, var |
| 52 | 2 | Fase C induktiv reaktiv energi | Unsigned, /1000 kvarh |
| 54 | 2 | Fase C kapacitiv reaktiv energi | Unsigned, /1000 kvarh |
Antag ikke, at disse værdier er aktive på alle installationer. Bekræft model, firmware og indstillingen for reaktiv måling.
8. Enhedsinformationsregistre
| Adresse | Længde | Beskrivelse |
|---|---|---|
| 56 | 8 | Enhedens serienummer |
| 64 | 1 | Driftstid i sekunder |
Behandl serienumre og andre enhedsidentifikatorer som driftsdata. Undgå at offentliggøre ikke-rensete værdier i skærmbilleder, logfiler eller offentlige eksempler.
9. Integrations-eksempler
Home Assistant
Modbus TCP er IAMMETER-muligheden i Home Assistant for brugere, der har brug for hurtige lokale aflæsninger og automatisering.
Brug IAMMETERs Home Assistant-integrationsvejledning som den primære HA-indgang. Den adskiller målerkonfigurationen fra Home Assistant-konfigurationen og linker til de aktuelle Modbus-implementeringsmetoder.
Video:
Node-RED
Node-RED kan afspørge holding-registrene, normalisere råværdierne og dirigere målingerne til automatiseringsflows, databaser eller dashboards.
PLC, SCADA, EMS og BMS
Til en industriel eller kommerciel integration:
- dokumentér den anvendte version af registerkortet;
- anvend den korrekte fortegnede/fortegnsløse konvertering;
- valider byte- og ordrækkefølge;
- bekræft CT-orientering og CT-forhold;
- definér timeout- og genforsøgsadfærd;
- overvåg det sidste vellykkede poll;
- undgå ikke-understøttede poll-frekvenser;
- test netværksafbrydelse og -genoprettelse.
Brugerdefineret software
En brugerdefineret Modbus TCP-klient bør adskille:
- forbindelses- og genforsøgslogik;
- registeraflæsninger;
- 16-bit- og 32-bit-afkodning;
- kortlægning af måler-model og kanal;
- CT-forholdsnormalisering, hvor det er nødvendigt;
- lagrings- og applikationslogik.
10. Modbus TCP eller en anden IAMMETER-grænseflade?
| Krav | Anbefalet grænseflade |
|---|---|
| Lokal afspørgning med ét sekunds opløsning | Modbus TCP |
| Simpel JSON-hentning over LAN | Lokal HTTP-API |
| Udgiv data til flere forbrugere | MQTT |
| Måler uploader til en kundes webservice | HTTP/HTTPS |
| Måler uploader til en brugerdefineret socket-server | TCP/TLS |
| Sammenligning af færdige platforme | Open source-integrationsguide |
Relaterede vejledninger:
- IAMMETERs lokale API'er og åbne grænseflader
- Open Source-platforme til energiovervågning
- Udvikl dit eget energiovervågningssystem
- Brug IAMMETER uden internet eller cloud
11. Firmware
Modbus TCP er ikke længere en eksperimentel opgradering, der kun beskrives af den oprindelige udgivelsesproces fra 2022. Til en aktuel installation skal du bruge den nyeste firmware, der er tilgængelig for målerens model:
Notér den firmwareversion, der bruges til at validere registerkortet og afspørgningsadfærden.
12. Ældre udgivelsesoplysninger
Denne artikel blev oprindeligt udgivet, da Modbus TCP-understøttelse blev introduceret gennem en firmwareopgradering.
De ældre instruktioner henviste til firmware 75.68 som en forudsætning for opgraderingen og bad brugerne om at anmode om opgraderingen via feedbacksystemet. Den proces er kun bevaret her som historisk kontekst og bør ikke bruges til en ny installation.
Oprindelig udgivelsesressource:
Sidst opdateret: 16. juli 2026