Integrarea contorului de energie Modbus TCP: registre și testare
Integrarea contorului de energie Modbus TCP pentru monitorizare locală
Modbus TCP permite unei aplicații locale să citească măsurătorile electrice direct de la un contor de energie Wi-Fi IAMMETER.
Este potrivit pentru:
- sisteme PLC și SCADA;
- Home Assistant și Node-RED;
- sisteme locale de management al energiei (EMS);
- sisteme de management al clădirilor (BMS);
- monitorizare și automatizare la fiecare secundă;
- aplicații care trebuie să funcționeze fără IAMMETER-Cloud.
IAMMETER energy meter
│
│ Wi-Fi / LAN
│ Modbus TCP
▼
Home Assistant, Node-RED, PLC, SCADA or custom EMS
Clientul inițiază fiecare cerere. Contorul returnează valorile registrelor pentru tensiune, curent, putere activă, energie importată, energie exportată, factor de putere, frecvență și alte măsurători acceptate.
Modbus TCP este o interfață locală de interogare (polling). Dacă contorul trebuie să publice date către un broker, utilizați MQTT. Dacă trebuie să încarce date către un server al clientului, consultați Recepționarea datelor IAMMETER pe propriul server.
1. De ce să utilizați Modbus TCP?
În comparație cu interogarea prin cloud sau cu încărcările periodice ale contorului, Modbus TCP oferă:
- acces direct prin rețeaua locală;
- nicio dependență de IAMMETER-Cloud pentru fluxul de date;
- o interfață standard bazată pe registre;
- interogare la fiecare secundă pentru aplicațiile acceptate;
- valori semnate ale puterii active pentru monitorizarea bidirecțională a energiei;
- compatibilitate cu instrumentele comune de automatizare și industriale.
Utilizările tipice includ:
- controlul unei sarcini pe baza puterii rețelei în timp real;
- citirea locală a producției solare, a schimbului cu rețeaua sau a sarcinii circuitului;
- adăugarea unui contor de energie în Home Assistant;
- colectarea măsurătorilor în Node-RED;
- integrarea datelor electrice într-un PLC, SCADA, EMS sau BMS.
2. Contoare IAMMETER acceptate
Modelele actuale de contoare de energie IAMMETER acceptă modurile disponibile de integrare Home Assistant și de integrare deschisă, inclusiv Modbus TCP. Modelul întrerupt WEM3162 nu este luat în considerare în acest ghid.
Principala diferență între modele este numărul și scopul canalelor de măsurare:
- contoarele cu un singur canal expun blocul de registre al fazei A;
- contoarele cu două canale sau split-phase utilizează blocurile de canale aplicabile;
- contoarele trifazate expun blocurile fazelor A, B și C;
- contoarele acceptate pot expune, de asemenea, totalurile și măsurătorile reactive opționale.
Validați întotdeauna răspunsul registrelor față de modelul exact și firmware-ul utilizat în proiect.
WEM3046T și WEM3046TE
WEM3046T și WEM3046TE măsoară ieșirea secundară de 5 A a unui transformator de curent extern.
Valorile curentului, puterii și energiei din partea primară trebuie, prin urmare, să utilizeze raportul CT extern aplicabil. Această cerință de scalare este cauzată de proiectarea intrării CT de 5 A a contorului; nu este un comportament specific Modbus TCP sau platformei.
Păstrați procesarea raportului CT documentată și testată oriunde sunt integrate aceste modele.
3. Parametri de conexiune
Exemplul oficial IAMMETER Modbus Poll utilizează:
| Parametru | Valoare de exemplu |
|---|---|
| Conexiune | Modbus TCP/IP |
| Gazdă | Adresa IP locală a contorului |
| Port TCP | 502 |
| ID dispozitiv / unitate | 1 |
| Cod funcție | 03 — Citire registre de holding |
| Timp de expirare a răspunsului | 1000 ms în exemplu |

Utilizați adresa IP LAN a contorului ca gazdă. Rezervarea adresei în router poate preveni întreruperea unei integrări după o modificare a adresei DHCP.
Valorile de mai sus sunt parametrii afișați în exemplul oficial. Confirmați firmware-ul real și configurația amplasamentului înainte de a le fixa în software-ul de producție.
4. Test rapid cu Modbus Poll
Pentru a confirma conectivitatea înainte de configurarea unei platforme complete:
- conectați computerul și contorul IAMMETER la aceeași rețea LAN;
- găsiți adresa IP locală a contorului;
- creați o conexiune Modbus TCP/IP către portul
502; - setați ID-ul dispozitivului la
1; - selectați Codul funcție
03; - solicitați registrele de holding începând de la adresa
0; - comparați valorile brute returnate cu regulile de scalare de mai jos.

Captura de ecran utilizează o rată de scanare a afișajului de 500 ms pentru testare. Pentru utilizare normală, documentația IAMMETER recomandă interogarea la fiecare secundă, mai degrabă decât tratarea setării celei mai rapide a clientului ca interval de producție acceptat.
Dacă conexiunea eșuează, verificați:
- că contorul și clientul se află în aceeași rețea accesibilă;
- adresa IP a contorului;
- portul TCP 502 și regulile firewall;
- ID-ul dispozitivului și codul funcției;
- dacă o altă aplicație controlează deja fluxul de interogare dorit;
- versiunea firmware-ului contorului.
5. Tipuri de date și scalarea registrelor
IAMMETER utilizează registre de holding pe 16 biți.
Valori pe 16 biți
Tensiunea, curentul, factorul de putere și frecvența utilizează un singur registru:
| Măsurare | Tip brut | Conversie |
|---|---|---|
| Tensiune | Nesemnat pe 16 biți | V = raw / 100 |
| Curent | Nesemnat pe 16 biți | A = raw / 100 |
| Factor de putere | Nesemnat pe 16 biți | PF = raw / 1000 |
| Frecvență | Nesemnat pe 16 biți | Hz = raw / 100 |
Valori pe 32 de biți
Puterea activă, energia cumulativă și valorile reactive utilizează două registre consecutive.
Exemplul oficial Modbus Poll afișează mai întâi cuvântul de 16 biți de ordin înalt. Combinați cuvintele astfel:
raw32 = (register[n] << 16) | register[n + 1]
Interpretați puterea activă și reactivă ca valori semnate pe 32 de biți. Interpretați contoarele cumulative de energie ca valori nesemnate pe 32 de biți.
| Măsurare | Tip brut | Conversie |
|---|---|---|
| Putere activă | Semnat pe 32 de biți | W = raw32 |
| Energie importată/înainte | Nesemnat pe 32 de biți | kWh = raw32 / 800 |
| Energie exportată/inversă | Nesemnat pe 32 de biți | kWh = raw32 / 800 |
| Putere reactivă | Semnat pe 32 de biți | var = raw32 |
| Energie reactivă inductivă/capacitivă | Nesemnat pe 32 de biți | kvarh = raw32 / 1000 |
Puterea activă semnată permite unei integrări să distingă direcțiile opuse ale puterii. Confirmați convenția de semn față de orientarea CT și cablarea aplicației în timpul punerii în funcțiune.
6. Harta de bază a registrelor Modbus
Adresele registrelor de mai jos sunt offseturi zecimale. Clientul ar trebui să utilizeze Codul funcție 03.
Faza A
| Adresă | Lungime | Măsurare | Conversie |
|---|---|---|---|
| 0 | 1 | Tensiune | Nesemnat, /100 V |
| 1 | 1 | Curent | Nesemnat, /100 A |
| 2 | 2 | Putere activă | Semnat, W |
| 4 | 2 | Energie importată/înainte | Nesemnat, /800 kWh |
| 6 | 2 | Energie exportată/inversă | Nesemnat, /800 kWh |
| 8 | 1 | Factor de putere | Nesemnat, /1000 |
| 9 | 1 | Identificatorul modelului în harta legacy | Nu îl utilizați ca unic catalog actual al modelului |
Faza B
| Adresă | Lungime | Măsurare | Conversie |
|---|---|---|---|
| 10 | 1 | Tensiune | Nesemnat, /100 V |
| 11 | 1 | Curent | Nesemnat, /100 A |
| 12 | 2 | Putere activă | Semnat, W |
| 14 | 2 | Energie importată/înainte | Nesemnat, /800 kWh |
| 16 | 2 | Energie exportată/inversă | Nesemnat, /800 kWh |
| 18 | 1 | Factor de putere | Nesemnat, /1000 |
| 19 | 1 | Rezervat | Neutilizat |
Faza C
| Adresă | Lungime | Măsurare | Conversie |
|---|---|---|---|
| 20 | 1 | Tensiune | Nesemnat, /100 V |
| 21 | 1 | Curent | Nesemnat, /100 A |
| 22 | 2 | Putere activă | Semnat, W |
| 24 | 2 | Energie importată/înainte | Nesemnat, /800 kWh |
| 26 | 2 | Energie exportată/inversă | Nesemnat, /800 kWh |
| 28 | 1 | Factor de putere | Nesemnat, /1000 |
| 29 | 1 | Rezervat | Neutilizat |
Frecvență și totaluri
| Adresă | Lungime | Măsurare | Conversie |
|---|---|---|---|
| 30 | 1 | Frecvență | Nesemnat, /100 Hz |
| 31 | 1 | Rezervat | Neutilizat |
| 32 | 2 | Putere activă totală | Semnat, W |
| 34 | 2 | Energie totală importată/înainte | Nesemnat, /800 kWh |
| 36 | 2 | Energie totală exportată/inversă | Nesemnat, /800 kWh |
Registrele de totaluri sunt cele mai relevante pentru contoarele multicanal. Pentru o integrare cu un singur canal, utilizați valorile aplicabile ale fazei A și validați orice totaluri returnate.
7. Registre reactive opționale
Registrele reactive sunt disponibile numai atunci când măsurarea reactivă este acceptată și activată de contorul și firmware-ul aplicabile.
| Adresă | Lungime | Măsurare | Conversie |
|---|---|---|---|
| 38 | 2 | Putere reactivă faza A | Semnat, var |
| 40 | 2 | Energie reactivă inductivă faza A | Nesemnat, /1000 kvarh |
| 42 | 2 | Energie reactivă capacitivă faza A | Nesemnat, /1000 kvarh |
| 44 | 2 | Putere reactivă faza B | Semnat, var |
| 46 | 2 | Energie reactivă inductivă faza B | Nesemnat, /1000 kvarh |
| 48 | 2 | Energie reactivă capacitivă faza B | Nesemnat, /1000 kvarh |
| 50 | 2 | Putere reactivă faza C | Semnat, var |
| 52 | 2 | Energie reactivă inductivă faza C | Nesemnat, /1000 kvarh |
| 54 | 2 | Energie reactivă capacitivă faza C | Nesemnat, /1000 kvarh |
Nu presupuneți că aceste valori sunt active în fiecare instalație. Confirmați modelul, firmware-ul și setarea măsurării reactive.
8. Registre cu informații despre dispozitiv
| Adresă | Lungime | Descriere |
|---|---|---|
| 56 | 8 | Numărul de serie al dispozitivului |
| 64 | 1 | Timpul de funcționare în secunde |
Tratați numerele de serie și alte identificatoare ale dispozitivului ca date operaționale. Evitați publicarea valorilor nesanitizate în capturi de ecran, jurnale sau exemple publice.
9. Exemple de integrare
Home Assistant
Modbus TCP este opțiunea IAMMETER pentru Home Assistant pentru utilizatorii care au nevoie de citiri locale rapide și automatizare.
Utilizați ghidul de integrare IAMMETER Home Assistant ca intrare principală în HA. Acesta separă configurarea din partea contorului de configurarea Home Assistant și face legătura cu metodele actuale de implementare Modbus.
Video:
Node-RED
Node-RED poate interoga registrele de holding, normaliza valorile brute și direcționa măsurătorile către fluxuri de automatizare, baze de date sau panouri de control.
PLC, SCADA, EMS și BMS
Pentru o integrare industrială sau comercială:
- documentați versiunea hărții de registre utilizată;
- aplicați conversia corectă semnat/nesemnat;
- validați ordinea octeților și a cuvintelor;
- confirmați orientarea CT și raportul CT;
- definiți comportamentul de timeout și reîncercare;
- monitorizați ultima interogare reușită;
- evitați ratele de interogare neacceptate;
- testați întreruperea și recuperarea rețelei.
Software personalizat
Un client Modbus TCP personalizat ar trebui să separe:
- logica de conexiune și reîncercare;
- citirile registrelor;
- decodarea pe 16 și 32 de biți;
- maparea modelului de contor și a canalelor;
- normalizarea raportului CT acolo unde este necesar;
- logica de stocare și aplicație.
10. Modbus TCP sau altă interfață IAMMETER?
| Cerință | Interfață recomandată |
|---|---|
| Interogare locală la fiecare secundă | Modbus TCP |
| Obținere simplă JSON prin LAN | API HTTP local |
| Publicarea datelor către mai mulți consumatori | MQTT |
| Încărcări ale contorului către un serviciu web al clientului | HTTP/HTTPS |
| Încărcări ale contorului către un server socket personalizat | TCP/TLS |
| Comparație de platforme gata făcută | Ghid de integrare open-source |
Ghiduri conexe:
- API-uri locale IAMMETER și interfețe deschise
- Platforme open-source de monitorizare a energiei
- Dezvoltați propriul sistem de monitorizare a energiei
- Utilizați IAMMETER fără internet sau cloud
11. Firmware
Modbus TCP nu mai este un upgrade experimental descris doar de procesul original de lansare din 2022. Pentru o instalație actuală, utilizați cel mai recent firmware disponibil pentru modelul de contor:
Înregistrați versiunea firmware-ului utilizată pentru a valida harta registrelor și comportamentul de interogare.
12. Informații despre lansarea legacy
Acest articol a fost publicat inițial când suportul Modbus TCP a fost introdus printr-un upgrade de firmware.
Instrucțiunile mai vechi se refereau la firmware-ul 75.68 ca o condiție prealabilă pentru upgrade și solicitau utilizatorilor să ceară upgrade-ul prin sistemul de feedback. Acest proces este păstrat aici doar ca context istoric și nu ar trebui utilizat pentru o instalație nouă.
Resursă originală de lansare:
Ultima actualizare: 16 iulie 2026