Spiacenti, il tuo browser non supporta JavaScript!
Accedi

Integrazione del Contatore Energetico Modbus TCP: Registri e Test

Integrazione del Contatore Energetico Modbus TCP per il Monitoraggio Locale

Modbus TCP consente a un'applicazione locale di leggere le misurazioni elettriche direttamente da un contatore energetico Wi-Fi IAMMETER.

È adatto per:

  • sistemi PLC e SCADA;
  • Home Assistant e Node-RED;
  • sistemi locali di Gestione dell'Energia (EMS);
  • sistemi di Gestione degli Edifici (BMS);
  • monitoraggio e automazione con intervallo di un secondo;
  • applicazioni che devono funzionare senza IAMMETER-Cloud.
Contatore energetico IAMMETER
        │
        │ Wi-Fi / LAN
        │ Modbus TCP
        ▼
Home Assistant, Node-RED, PLC, SCADA o EMS personalizzato

Il client avvia ogni richiesta. Il contatore restituisce i valori dei registri per tensione, corrente, potenza attiva, energia importata, energia esportata, fattore di potenza, frequenza e altre misurazioni supportate.

Modbus TCP è un'interfaccia di polling locale. Se il contatore deve pubblicare i dati su un broker, utilizza MQTT. Se deve caricare i dati su un server personalizzato, consulta Ricevere i Dati IAMMETER sul Proprio Server.

1. Perché Usare Modbus TCP?

Rispetto al polling su cloud o ai caricamenti periodici del contatore, Modbus TCP offre:

  • accesso diretto tramite la rete locale;
  • nessuna dipendenza da IAMMETER-Cloud per il flusso di dati;
  • un'interfaccia standard basata su registri;
  • polling al secondo per le applicazioni supportate;
  • valori di potenza attiva con segno per il monitoraggio bidirezionale dell'energia;
  • compatibilità con strumenti di automazione e industriali comuni.

Gli utilizzi tipici includono:

  • controllo di un carico in base alla potenza della rete in tempo reale;
  • lettura locale della produzione solare, dello scambio con la rete o del carico del circuito;
  • aggiunta di un contatore energetico a Home Assistant;
  • raccolta di misurazioni in Node-RED;
  • integrazione dei dati elettrici in un PLC, SCADA, EMS o BMS.

2. Contatori IAMMETER Supportati

Gli attuali modelli di contatori energetici IAMMETER supportano le modalità disponibili per Home Assistant e integrazione aperta, incluso Modbus TCP. Il modello discontinuato WEM3162 non è considerato in questa guida.

La differenza principale tra i modelli è il numero e lo scopo dei canali di misurazione:

  • i contatori a canale singolo espongono il blocco di registri della Fase A;
  • i contatori a doppio canale o split-phase utilizzano i blocchi di canale applicabili;
  • i contatori trifase espongono i blocchi delle Fasi A, B e C;
  • i contatori supportati possono anche esporre totali e misurazioni reattive opzionali.

Verifica sempre la risposta dei registri rispetto al modello e firmware esatti utilizzati nel progetto.

WEM3046T e WEM3046TE

WEM3046T e WEM3046TE misurano l'uscita secondaria da 5 A di un trasformatore di corrente esterno.

La corrente lato primario, la potenza e i valori energetici devono quindi utilizzare il rapporto CT esterno applicabile. Questo requisito di scaling è dovuto al progetto dell'ingresso CT da 5 A del contatore; non è un comportamento specifico di Modbus TCP o della piattaforma.

Mantieni documentato e testato il processo di gestione del rapporto CT ovunque questi modelli siano integrati.

3. Parametri di Connessione

L'esempio ufficiale IAMMETER Modbus Poll utilizza:

Parametro Valore di esempio
Connessione Modbus TCP/IP
Host Indirizzo IP locale del contatore
Porta TCP 502
Dispositivo / Unit ID 1
Codice funzione 03 — Lettura Registri di Mantenimento
Timeout risposta 1000 ms nell'esempio

Impostazioni di connessione Modbus TCP in Modbus Poll

Utilizza l'indirizzo IP LAN del contatore come host. Riservare l'indirizzo nel router può prevenire la rottura dell'integrazione dopo un cambio di indirizzo DHCP.

I valori sopra sono i parametri mostrati nell'esempio ufficiale. Conferma il firmware effettivo e la configurazione del sito prima di codificarli nel software di produzione.

4. Test Rapido con Modbus Poll

Per confermare la connettività prima di configurare una piattaforma completa:

  1. collega il computer e il contatore IAMMETER alla stessa LAN;
  2. trova l'indirizzo IP locale del contatore;
  3. crea una connessione Modbus TCP/IP alla porta 502;
  4. imposta Device ID su 1;
  5. seleziona il Codice Funzione 03;
  6. richiedi i registri di mantenimento a partire dall'indirizzo 0;
  7. confronta i valori grezzi restituiti con le regole di scaling sottostanti.

Registri di mantenimento IAMMETER Modbus visualizzati in Modbus Poll

Lo screenshot utilizza una frequenza di scansione di 500 ms per i test. Per un uso normale, la documentazione IAMMETER raccomanda un polling al secondo, piuttosto che trattare l'impostazione client più veloce come l'intervallo di produzione supportato.

Se la connessione fallisce, verifica:

  • che il contatore e il client siano sulla stessa rete raggiungibile;
  • l'indirizzo IP del contatore;
  • la porta TCP 502 e le regole del firewall;
  • Device ID e codice funzione;
  • se un'altra applicazione sta già controllando il flusso di polling desiderato;
  • la versione del firmware del contatore.

5. Tipi di Dati dei Registri e Scaling

IAMMETER utilizza registri di mantenimento a 16 bit.

Valori a 16 bit

Tensione, corrente, fattore di potenza e frequenza utilizzano un registro:

Misurazione Tipo grezzo Conversione
Tensione Unsigned 16-bit V = raw / 100
Corrente Unsigned 16-bit A = raw / 100
Fattore di potenza Unsigned 16-bit PF = raw / 1000
Frequenza Unsigned 16-bit Hz = raw / 100

Valori a 32 bit

Potenza attiva, energia cumulativa e valori reattivi utilizzano due registri consecutivi.

L'esempio ufficiale di Modbus Poll visualizza prima la parola a 16 bit di ordine superiore. Combina le parole come:

raw32 = (register[n] << 16) | register[n + 1]

Interpreta la potenza attiva e reattiva come valori signed a 32 bit. Interpreta i contatori di energia cumulativa come valori unsigned a 32 bit.

Misurazione Tipo grezzo Conversione
Potenza attiva Signed 32-bit W = raw32
Energia importata/forward Unsigned 32-bit kWh = raw32 / 800
Energia esportata/reverse Unsigned 32-bit kWh = raw32 / 800
Potenza reattiva Signed 32-bit var = raw32
Energia reattiva induttiva/capacitiva Unsigned 32-bit kvarh = raw32 / 1000

La potenza attiva con segno consente a un'integrazione di distinguere direzioni di potenza opposte. Conferma la convenzione del segno rispetto all'orientamento del CT e al cablaggio dell'applicazione durante la messa in servizio.

6. Mappa dei Registri Modbus Principali

Gli indirizzi dei registri sottostanti sono offset decimali. Il client deve utilizzare il Codice Funzione 03.

Fase A

Indirizzo Lunghezza Misurazione Conversione
0 1 Tensione Unsigned, /100 V
1 1 Corrente Unsigned, /100 A
2 2 Potenza attiva Signed, W
4 2 Energia importata/forward Unsigned, /800 kWh
6 2 Energia esportata/reverse Unsigned, /800 kWh
8 1 Fattore di potenza Unsigned, /1000
9 1 Identificativo modello nella mappa legacy Non utilizzare come unico catalogo modello corrente

Fase B

Indirizzo Lunghezza Misurazione Conversione
10 1 Tensione Unsigned, /100 V
11 1 Corrente Unsigned, /100 A
12 2 Potenza attiva Signed, W
14 2 Energia importata/forward Unsigned, /800 kWh
16 2 Energia esportata/reverse Unsigned, /800 kWh
18 1 Fattore di potenza Unsigned, /1000
19 1 Riservato Non utilizzato

Fase C

Indirizzo Lunghezza Misurazione Conversione
20 1 Tensione Unsigned, /100 V
21 1 Corrente Unsigned, /100 A
22 2 Potenza attiva Signed, W
24 2 Energia importata/forward Unsigned, /800 kWh
26 2 Energia esportata/reverse Unsigned, /800 kWh
28 1 Fattore di potenza Unsigned, /1000
29 1 Riservato Non utilizzato

Frequenza e totali

Indirizzo Lunghezza Misurazione Conversione
30 1 Frequenza Unsigned, /100 Hz
31 1 Riservato Non utilizzato
32 2 Potenza attiva totale Signed, W
34 2 Energia totale importata/forward Unsigned, /800 kWh
36 2 Energia totale esportata/reverse Unsigned, /800 kWh

I registri totali sono più rilevanti per i contatori multi-canale. Per un'integrazione a canale singolo, utilizza i valori applicabili della Fase A e valida eventuali totali restituiti.

7. Registri Reattivi Opzionali

I registri reattivi sono disponibili solo quando la misurazione reattiva è supportata e abilitata dal contatore e firmware applicabili.

Indirizzo Lunghezza Misurazione Conversione
38 2 Potenza reattiva Fase A Signed, var
40 2 Energia reattiva induttiva Fase A Unsigned, /1000 kvarh
42 2 Energia reattiva capacitiva Fase A Unsigned, /1000 kvarh
44 2 Potenza reattiva Fase B Signed, var
46 2 Energia reattiva induttiva Fase B Unsigned, /1000 kvarh
48 2 Energia reattiva capacitiva Fase B Unsigned, /1000 kvarh
50 2 Potenza reattiva Fase C Signed, var
52 2 Energia reattiva induttiva Fase C Unsigned, /1000 kvarh
54 2 Energia reattiva capacitiva Fase C Unsigned, /1000 kvarh

Non dare per scontato che questi valori siano attivi su ogni installazione. Conferma il modello, il firmware e l'impostazione della misurazione reattiva.

8. Registri Informativi del Dispositivo

Indirizzo Lunghezza Descrizione
56 8 Numero di serie del dispositivo
64 1 Tempo di funzionamento in secondi

Tratta i numeri di serie e altri identificatori del dispositivo come dati operativi. Evita di pubblicare valori non sanitizzati in screenshot, log o esempi pubblici.

9. Esempi di Integrazione

Home Assistant

Modbus TCP è l'opzione IAMMETER Home Assistant per gli utenti che necessitano di letture locali rapide e automazione.

Utilizza la guida all'integrazione IAMMETER Home Assistant come punto di ingresso principale per HA. Separa la configurazione del contatore dalla configurazione di Home Assistant e collega ai metodi di implementazione Modbus correnti.

Video:

Node-RED

Node-RED può interrogare i registri di mantenimento, normalizzare i valori grezzi e instradare le misurazioni verso flussi di automazione, database o dashboard.

PLC, SCADA, EMS e BMS

Per un'integrazione industriale o commerciale:

  • documenta la versione della mappa registri utilizzata;
  • applica la conversione signed/unsigned corretta;
  • valida l'ordine dei byte e delle parole;
  • conferma l'orientamento del CT e il rapporto CT;
  • definisci il comportamento di timeout e retry;
  • monitora l'ultimo polling riuscito;
  • evita frequenze di polling non supportate;
  • testa l'interruzione e il ripristino della rete.

Software personalizzato

Un client Modbus TCP personalizzato dovrebbe separare:

  1. logica di connessione e retry;
  2. letture dei registri;
  3. decodifica a 16 bit e 32 bit;
  4. mappatura modello-contatore e canale;
  5. normalizzazione del rapporto CT dove richiesto;
  6. logica di archiviazione e applicativa.

10. Modbus TCP o Un'Altra Interfaccia IAMMETER?

Requisito Interfaccia consigliata
Polling locale al secondo Modbus TCP
Recupero JSON semplice tramite LAN API HTTP locale
Pubblicazione dati a più consumatori MQTT
Caricamento contatore a un servizio web cliente HTTP/HTTPS
Caricamento contatore a un server socket personalizzato TCP/TLS
Confronto piattaforme pronte Guida all'integrazione open-source

Guide correlate:

11. Firmware

Modbus TCP non è più un aggiornamento sperimentale descritto solo dal processo di rilascio originale del 2022. Per un'installazione corrente, utilizza il firmware più recente disponibile per il modello di contatore:

Registra la versione del firmware utilizzata per validare la mappa dei registri e il comportamento del polling.

12. Informazioni sul Rilascio Legacy

Questo articolo è stato pubblicato originariamente quando il supporto Modbus TCP è stato introdotto tramite un aggiornamento del firmware.

Le istruzioni precedenti facevano riferimento al firmware 75.68 come prerequisito per l'aggiornamento e chiedevano agli utenti di richiedere un aggiornamento tramite il sistema di feedback. Quel processo è mantenuto qui solo come contesto storico e non dovrebbe essere utilizzato per una nuova installazione.

Risorsa di rilascio originale:

Ultimo aggiornamento: 16 luglio 2026

In alto