Skip to content

Mappa Registri Modbus TCP / RTU

Holding Registers (FC03)


1. Panoramica

Questo documento descrive la mappa completa dei registri Holding Modbus TCP / RTU (Function Code 03) del dispositivo RE-431-D.

È destinato a:

  • system integrator
  • ingegneri SCADA / BMS
  • partner OEM

La mappa registri espone grandezze elettriche istantanee.


2. Parametri di comunicazione

ParametroValore
ProtocolloModbus TCP
Function Code03 – Read Holding Registers
Indirizzamento0-based
Unit ID (Slave ID)1 (default)
Byte order valori 32-bitMSW first
Codifica signedTwo’s complement

3. Modello dati

3.1 Tipi di dato

TipoDescrizione
UINT16Intero senza segno a 16 bit
INT16Intero con segno a 16 bit
UINT32Intero senza segno a 32 bit (2 registri)
INT32Intero con segno a 32 bit (2 registri)

Tutti i valori a 32 bit occupano 2 registri Holding consecutivi con Most Significant Word (MSW) per primo.


3.2 Convenzione di scaling

Il valore ingegneristico si ottiene applicando il fattore di scala:

Valore ingegneristico = Valore letto × Scala
GrandezzaScala
Tensione0.01
Corrente0.001
Fattore di potenza0.001
Frequenza0.001
THD0.01
Temperatura0.1
Potenze (P, Q, S)1
RSSI1

3.3 Valori speciali e note

  • Fattore di potenza = 2000 → valore non valido / indefinito
  • Le potenze INT32 supportano import/export (segno ±)
  • RSSI espresso in dBm (valori tipicamente negativi)

4. Mappa registri Holding (FC03)


4.1 Tensioni

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnitàDescrizione
0x100040962Tensione equivalente trifaseUINT320.01VMedia L-N
0x100240982Tensione L1-NUINT320.01V
0x100441002Tensione L2-NUINT320.01V
0x100641022Tensione L3-NUINT320.01V
0x100841042Tensione L1-L2UINT320.01V
0x100A41062Tensione L2-L3UINT320.01V
0x100C41082Tensione L3-L1UINT320.01V

4.2 Correnti

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnitàDescrizione
0x100E41102Corrente equivalente trifaseUINT320.001AMedia fasi
0x101041122Corrente L1UINT320.001A
0x101241142Corrente L2UINT320.001A
0x101441162Corrente L3UINT320.001A

4.3 Fattore di potenza

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnitàNote
0x101641182Fattore di potenza trifaseINT320.0012000 = non valido
0x101841202Fattore di potenza L1INT320.0012000 = non valido
0x101A41222Fattore di potenza L2INT320.0012000 = non valido
0x101C41242Fattore di potenza L3INT320.0012000 = non valido

4.4 Potenza apparente (S)

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x102641342Potenza apparente trifaseUINT321VA
0x102841362Potenza apparente L1UINT321VA
0x102A41382Potenza apparente L2UINT321VA
0x102C41402Potenza apparente L3UINT321VA

4.5 Potenza attiva (P)

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x102E41422Potenza attiva trifaseINT321W
0x103041442Potenza attiva L1INT321W
0x103241462Potenza attiva L2INT321W
0x103441482Potenza attiva L3INT321W

4.6 Potenza reattiva (Q)

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x103641502Potenza reattiva trifaseINT321var
0x103841522Potenza reattiva L1INT321var
0x103A41542Potenza reattiva L2INT321var
0x103C41562Potenza reattiva L3INT321var

4.7 Frequenza

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x104641662Frequenza media trifaseUINT320.001Hz
0x104841682Frequenza L1UINT320.001Hz
0x104A41702Frequenza L2UINT320.001Hz
0x104C41722Frequenza L3UINT320.001Hz

4.8 Distorsione armonica totale (THD)

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x108242262THD tensione L1UINT320.01%
0x108442282THD tensione L2UINT320.01%
0x108642302THD tensione L3UINT320.01%
0x108842322THD corrente L1UINT320.01%
0x108A42342THD corrente L2UINT320.01%
0x108C42362THD corrente L3UINT320.01%

4.9 Diagnostica

Addr (HEX)Addr (DEC)LenNomeTipoScalaUnità
0x109042401Temperatura AFEINT160.1°C
0x109142411Temperatura MCUINT160.1°C
0x109242421RSSI WiFiINT161dBm

5. Esempio di lettura (mbpoll)

mbpoll è un tool da riga di comando per test e diagnostica di dispositivi Modbus TCP / RTU, disponibile su Linux e macOS.
Viene comunemente utilizzato per verificare il corretto indirizzamento dei registri e il valore delle grandezze esposte.

Installazione di mbpoll

Linux (Debian / Ubuntu / Raspberry Pi OS / Armbian)

bash
sudo apt update
sudo apt install mbpoll

macOS (Homebrew)

bash
brew update
brew install mbpoll

Test di comunicazione Modbus TCP

Esempio di lettura di un registro Holding a 32 bit (Tensione L1-N):

bash
mbpoll -m tcp -a 1 -0 -r 4098 -B -c 1 -t 4:int 192.168.1.186

Esempio di output:

bash
 
Protocol configuration: ModBus TCP
Slave configuration...: address = [1]
                        start reference = 4098, count = 1
Communication.........: 192.168.1.186, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 32-bit integer (big endian), output (holding) register table
 
-- Polling slave 1... Ctrl-C to stop)
[4098]:     23367

Il valore visualizzato da mbpoll rappresenta il dato grezzo (raw) del registro.
Per ottenere il valore reale è necessario dividere il valore letto per 100, come indicato dal fattore di scala della mappa registri, ottendendo 233,67 VRMS.