TapHome

Eastron SDM120

Modbus RTU
Inviato da
Ultimo aggiornamento: 03. 2026
Eastron SDM120

L’Eastron SDM120 è un contatore di energia monofase montato su guida DIN che comunica tramite Modbus RTU su RS-485. Il template TapHome fornisce 4 dispositivi che coprono l’energia totale con modalità di misurazione configurabili, la misurazione bidirezionale import/export e un sensore di corrente autonomo. Tutti i valori dei registri sono in formato IEEE 754 Float32 con ordine dei byte Big Endian, letti tramite codice funzione Modbus FC04 (registri di ingresso).

Il template espone inoltre attributi di servizio e azioni di servizio a livello di modulo per la lettura e la modifica dello Slave ID, del baud rate e della configurazione stop bit/parità direttamente da TapHome — senza strumenti esterni.

Collegamento hardware

Cablaggio RS-485

L’SDM120 dispone di un’interfaccia RS-485 a 2 fili sul blocco terminale inferiore. Collegare utilizzando una topologia daisy-chain:

  • A+ (terminale 4) ad A+/D+ su TapHome RS-485
  • B- (terminale 5) a B-/D- su TapHome RS-485

Utilizzare esclusivamente la topologia di cablaggio daisy-chain. Le topologie a stella e stub/tee causano riflessioni del segnale e corruzione dei dati. Terminare ciascuna estremità del bus con una resistenza da 120 ohm (minimo 0,25 W).

Specifiche del cavo:

  • Tipo: Doppino intrecciato, schermato (Belden 8761 o equivalente)
  • Impedenza: 120 ohm
  • Lunghezza massima del cavo: 1200 m
  • Numero massimo di nodi sul bus: 32

Configurazione

Parametri di comunicazione

Disallineamento baud rate: Il template TapHome utilizza di default 9600 bps, ma l’impostazione di fabbrica dell’SDM120 è 2400 bps. La comunicazione non funzionerà finché non si modifica il baud rate del contatore a 9600 o si adatta il baud rate del template TapHome a 2400. L’approccio consigliato è modificare il baud rate del contatore a 9600 utilizzando i pulsanti sul pannello frontale (consultare il manuale utente del contatore per la sequenza di pulsanti per accedere al parametro P05).

ParametroDefault contatoreDefault templateOpzioni
Baud rate240096001200, 2400, 4800, 9600
Bit dati88Fisso
ParitàNessunaNessunaNessuna, Pari, Dispari
Bit di stop111 (con o senza parità), 2 (senza parità)
Slave ID111-247

I parametri di comunicazione possono essere modificati tramite i pulsanti sul pannello frontale del contatore o da remoto tramite i registri holding Modbus. Il template TapHome fornisce azioni di servizio per la modifica del baud rate (H:28), dello stop bit/parità (H:18) e dello Slave ID (H:20) direttamente dall’app TapHome.

Slave ID

Quando si collegano più contatori SDM120 sullo stesso bus RS-485, ogni contatore deve avere uno Slave ID univoco (intervallo 1-247). Dopo l’importazione del template TapHome, modificare lo Slave ID nelle impostazioni di connessione del modulo in modo che corrisponda al contatore. Lo Slave ID attuale è leggibile tramite l’attributo di servizio del modulo.

Abilitazione della comunicazione Modbus

L’SDM120 ha il Modbus RTU abilitato di default — non sono necessari passaggi di attivazione. Il contatore risponde alle richieste Modbus con il baud rate e lo Slave ID configurati immediatamente dopo l’accensione. Per allinearsi alle impostazioni del template TapHome, modificare il baud rate del contatore dal valore di fabbrica di 2400 a 9600 bps utilizzando uno di questi metodi:

  1. Pulsanti sul pannello frontale — navigare al parametro P05 (baud rate) tramite la sequenza di pulsanti del contatore e impostare 9600
  2. Azione di servizio TapHome — se viene prima stabilita la comunicazione a 2400 bps, utilizzare l’azione di servizio “Baud Rate” sul modulo per scrivere il nuovo valore. Dopo la modifica, aggiornare l’impostazione del baud rate del template TapHome.

Funzionalità dei dispositivi

Il template crea 4 dispositivi: un contatore di energia totale con modalità di misurazione configurabili, contatori di energia bidirezionali import/export e un sensore di corrente autonomo.

Misurazione dell’energia totale
  • Total Energy — energia attiva totale monofase (A:342, kWh) e potenza attiva (A:12, W convertiti in kW). Questo è l’unico dispositivo nel template con accesso in lettura e scrittura — supporta un’azione di modalità di misurazione che controlla come viene accumulata l’energia totale. Sette attributi di servizio forniscono monitoraggio in tempo reale: tensione (V), corrente (A), frequenza di alimentazione (Hz), fattore di potenza, potenza apparente (VA), potenza reattiva (VAr) ed energia reattiva totale (kVArh). Un attributo di servizio della modalità mostra la modalità di misurazione attualmente attiva.

L’azione di modalità di misurazione scrive nel registro holding H:4111 e accetta quattro valori:

ModalitàDescrizione
To GridSolo energia di esportazione
From GridSolo energia di importazione
To Grid + From GridSomma di importazione ed esportazione
To Grid - From GridEnergia netta (importazione meno esportazione)
Misurazione bidirezionale dell’energia

Due dispositivi tracciano la direzione del flusso energetico, utile per impianti fotovoltaici o monitoraggio bidirezionale del carico:

  • Export Energy — energia esportata in rete (A:74, kWh) e potenza di esportazione istantanea derivata da letture negative della potenza attiva (A:12). Include un attributo di servizio per l’energia reattiva di esportazione (A:78, kVArh).
  • Import Energy — energia importata dalla rete (A:72, kWh) e potenza di importazione istantanea derivata da letture positive della potenza attiva (A:12). Include un attributo di servizio per l’energia reattiva di importazione (A:76, kVArh).

La separazione import/export si ottiene leggendo il registro della potenza attiva con segno (A:12). I valori positivi indicano consumo dalla rete (importazione), i valori negativi indicano immissione in rete (esportazione). Questo è particolarmente utile per monitorare l’autoconsumo dell’impianto fotovoltaico e l’interazione con la rete.

Monitoraggio della corrente
  • Electric Current — sensore di corrente autonomo (A:6, A) per il monitoraggio della corrente in tempo reale. Include un attributo di servizio della tensione letto dal registro holding H:305 con fattore di scala 0,01 — questo registro non è documentato nel protocollo ufficiale ma fornisce un riferimento rapido della tensione.
Funzionalità aggiuntive

L’SDM120 espone anche registri per la potenza media richiesta (totale, importazione ed esportazione con massimi registrati), la corrente richiesta attuale con tracciamento del massimo e la misurazione dell’angolo di fase. Queste funzionalità possono essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Nessuna comunicazione
  1. Verificare che il cablaggio RS-485 sia in topologia daisy-chain (non a stella)
  2. Controllare i collegamenti dei terminali A/B (terminali 4 e 5) — invertire A e B se la comunicazione non funziona
  3. Confermare la terminazione del bus: resistenza da 120 ohm a ciascuna estremità del bus
  4. Controllare il baud rate — il problema più comune è il disallineamento tra l’impostazione di fabbrica del contatore di 2400 bps e l’impostazione predefinita del template TapHome di 9600 bps. Modificare il contatore a 9600 oppure adattare il template TapHome a 2400.
  5. Verificare che lo Slave ID in TapHome corrisponda al contatore (predefinito 1)
Letture errate
  1. Se i valori dell’energia totale sembrano errati, controllare la modalità di misurazione (attributo di servizio sul dispositivo Total Energy) — la modalità influisce sul modo in cui l’energia viene accumulata
  2. Verificare la corretta impostazione dello stop bit/parità — l’attributo di servizio del modulo mostra la configurazione attuale
Ordine dei byte dei registri

L’SDM120 utilizza di default l’ordine dei byte Big Endian (registro più significativo per primo). Se le letture appaiono come numeri estremamente grandi o piccoli, controllare la configurazione dell’ordine dei byte. Il template TapHome utilizza Float32 Big Endian, che corrisponde all’impostazione predefinita del contatore.

Dispositivi disponibili

Eastron SDM120 Modulo
Attributi di servizio
Slave ID
Baud rate
Bit di stop / Parità
Azioni di servizio
Slave ID
Tempo di scorrimento display
Baud rate
Bit di stop / Parità

Eastron SDM120

Attributi di servizio
${device_SlaveId}
modbusr(H, 20, Float)
${baud_rate} [bps]
switch(modbusr(H, 28, Float),0,2400,1,4800,2,9600,5,1200,"Invalid")
${xml_stop_bit} / ${xml_parity}
switch(modbusr(H, 18, Float),0,"1/none",1,"1/even",2,"1/odd",3,"2/none","unknown")
Azioni di servizio
Slave ID
Parametri: Slave ID (1–247 ID)
modbusw(H, 20, Float, ID)
Time of scroll display
Parametri: Time [s] (0–30 t)
modbusw(H, 63744, Uint16, t)
${baud_rate}
Parametri: Baud rate
modbusw(H, 28, Float, Br)
${xml_stop_bit} / ${xml_parity}
Parametri: ${xml_stop_bit} / ${xml_parity}
modbusw(H, 18, Float, sp)
Energia totale Contatore elettrico

Energia e potenza monofase — energia attiva totale (kWh) e potenza istantanea (kW), con modalità di misurazione configurabile e 7 attributi di servizio per tensione, corrente, frequenza, fattore di potenza, potenza apparente/reattiva ed energia reattiva

Registro: A:342 (readtotalconsumption), A:12 (readdemand) Float Unità: kWh / kW
Attributi di servizio
Modalità di misurazioneModalità attuale di accumulo energia — To Grid (solo esportazione), From Grid (solo importazione), To Grid + From Grid (combinata) o To Grid - From Grid (netta)
Tensione
Corrente
Frequenza di alimentazione
Fattore di potenza
Potenza apparente
Potenza reattiva
Energia reattiva totale
Azioni di servizio
Modalità di misurazioneImposta il metodo di accumulo dell'energia totale — controlla se il contatore conta solo importazione, solo esportazione, energia combinata o netta

Energia totale

Lettura consumo totale
MODBUSR(A, 342, Float)
Lettura domanda
MODBUSR(A, 12, Float)/1000
Attributi di servizio
${xml_mode}
switch(modbusr(H, 63776, uint16), 1, "From Grid", 2, "To Grid + From Grid", 3, "From Grid - To Grid", "Unknown")
${electric_voltage} [V]
tostring(modbusr(A, 0, Float), "F2")
${electric_current} [A]
tostring(modbusr(A, 6, Float), "F2")
${grid_frequency} [Hz]
tostring(modbusr(A, 70, Float), "F2")
${power_factor}
tostring(modbusr(A, 30, Float), "F2")
${apparent_power} [VA]
tostring(modbusr(A, 18, Float), "F2")
${reactive_power} [VAr]
tostring(modbusr(A, 24, Float), "F2")
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 344, Float), "F2")
Azioni di servizio
${xml_mode}
Parametri: ${xml_mode}
modbusw(H, 0x100f, uint16, mode)
Energia export Contatore elettrico Solo lettura

Energia immessa in rete — energia di esportazione (kWh) e potenza di esportazione istantanea derivata da letture negative della potenza attiva

Registro: A:74 (readtotalconsumption), A:12 (readdemand) BigEndianFloat Unità: kWh / kW
Attributi di servizio
Energia reattiva di esportazione

Energia export

Lettura consumo totale
MODBUSR(A, 74, Float)
Lettura domanda
var demand := MODBUSR(A, 12, BigEndianFloat) / 1000;
if (demand < 0, return(demand * -1), return(0));
Attributi di servizio
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 78, Float), "F2")
Corrente elettrica Variabile Solo lettura

Sensore di corrente autonomo — corrente in tempo reale (A) con diagnostica della tensione tramite attributo di servizio

Registro: A:6 Float Unità: A
Attributi di servizio
Tensione

Corrente elettrica

Lettura
MODBUSR(A, 6, Float)
Attributi di servizio
Voltage [V]
round(modbusr(H, 0x131, uint16)*0.01)
Energia import Contatore elettrico Solo lettura

Energia prelevata dalla rete (consumo) — energia di importazione (kWh) e potenza di importazione istantanea derivata da letture positive della potenza attiva

Registro: A:72 (readtotalconsumption), A:12 (readdemand) BigEndianFloat Unità: kWh / kW
Attributi di servizio
Energia reattiva di importazione

Energia import

Lettura consumo totale
MODBUSR(A, 72, Float)
Lettura domanda
var demand := MODBUSR(A, 12, BigEndianFloat) / 1000;
if (demand < 0, return(0), return(demand));
Attributi di servizio
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 76, Float), "F2")
Connessione: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possibili miglioramenti (9)
  • A:36 Phase Angle — Present in sdm_modbus library but NOT in official PDF register map — may be undocumented or firmware-version dependent
  • A:84 Total System Power Demand — Demand-averaged system power (W) — template uses A:12 (instantaneous active power) instead
  • A:86 Maximum Total System Power Demand — Maximum recorded system power demand (W)
  • A:88 Import System Power Demand — Demand-averaged import power (W)
  • A:90 Maximum Import System Power Demand — Maximum recorded import power demand (W)
  • A:92 Export System Power Demand — Demand-averaged export power (W)
  • A:94 Maximum Export System Power Demand — Maximum recorded export power demand (W)
  • A:258 Current Demand — Demand-averaged current (A)
  • A:264 Maximum Current Demand — Maximum recorded current demand (A)

Fonti