PortDock

Eastron SDM120CT-40mA Modbus register map

Single-phase measurements are IEEE 754 Float32 input registers (FC04, high word first); settings are holding registers (FC03 read, FC16 write). Some settings (F9xx) are single 2-byte registers. · Power meter

An unofficial summary of facts (addresses, types, units, scaling) from the maker's manual. Not affiliated with the maker; values can differ by firmware or model. Always check the device manual before writing (run commands, settings).

Default communication

ProtocolModbus RTU
Baud (factory)9600 bps — options: 1200, 2400, 4800, 9600
Data · parity · stop— · None · 1
Slave ID (factory)1 (1~247)
32-bit orderABCD
Manual address style40001/30001 style (wire address + 1, first digit = table)

Registers (31)

«Wire» is the 0-based address in the request frame (PortDock's «0-based» notation). Value = raw × scale. Table: HR holding register, IR input register, CO coil, DI discrete input. Function codes in hex.

31

Swipe the table sideways — the first column (manual address) stays put.

ManualWireTableNameTypeUnit · scaleR/WFCDetails
300010 (0x0000)IRLine-to-neutral voltageF32 ABCDVR04
p.16 (PDF 19)
300076 (0x0006)IRCurrentF32 ABCDAR04
p.16 (PDF 19)
3001312 (0x000C)IRActive powerF32 ABCDWR04
p.16 (PDF 19)
3001918 (0x0012)IRApparent powerF32 ABCDVAR04
p.16 (PDF 19)
3002524 (0x0018)IRReactive powerF32 ABCDVArR04
p.16 (PDF 19)
3003130 (0x001E)IRPower factorF32 ABCDR04
p.16 (PDF 19)
3007170 (0x0046)IRFrequencyF32 ABCDHzR04
p.16 (PDF 19)
3007372 (0x0048)IRImport active energyF32 ABCDkWhR04
p.16 (PDF 19)
3007574 (0x004A)IRExport active energyF32 ABCDkWhR04
p.16 (PDF 19)
3007776 (0x004C)IRImport reactive energyF32 ABCDkVArhR04
p.16 (PDF 19)
3007978 (0x004E)IRExport reactive energyF32 ABCDkVArhR04
p.16 (PDF 19)
3008584 (0x0054)IRTotal active power demandF32 ABCDWR04
p.16 (PDF 19)
3008786 (0x0056)IRMaximum total active power demandF32 ABCDWR04
p.16 (PDF 19)
3008988 (0x0058)IRImport active power demandF32 ABCDWR04
Table name says 'Import active energy demand' but unit is W
p.16 (PDF 19)
3009190 (0x005A)IRMaximum import active power demandF32 ABCDWR04
p.16 (PDF 19)
3009392 (0x005C)IRExport active power demandF32 ABCDWR04
p.16 (PDF 19)
3009594 (0x005E)IRMaximum export active power demandF32 ABCDWR04
p.16 (PDF 19)
30259258 (0x0102)IRCurrent demandF32 ABCDAR04
p.16 (PDF 19)
30265264 (0x0108)IRMaximum current demandF32 ABCDAR04
p.16 (PDF 19)
30343342 (0x0156)IRTotal active energyF32 ABCDkWhR04
p.16 (PDF 19)
30345344 (0x0158)IRTotal reactive energyF32 ABCDkVArhR04
p.16 (PDF 19)
400032 (0x0002)HRDemand periodF32 ABCDminR/W03·10
Default 60; 0 = real time (updated every second)
Range 0 ~ 60 min
p.17 (PDF 20)
4001312 (0x000C)HRRelay pulse widthF32 ABCDmsR/W03·10
60 = 60 ms (default) · 100 = 100 ms · 200 = 200 ms
p.17 (PDF 20)
4001918 (0x0012)HRParity and stop bitsF32 ABCDR/W03·10
0 = 1 stop bit, no parity (default) · 1 = 1 stop bit, even parity · 2 = 1 stop bit, odd parity · 3 = 2 stop bits, no parity
p.17-18 (PDF 20-21)
4002120 (0x0014)HRModbus addressF32 ABCDR/W03·10
Default 1
Range 1 ~ 247
p.18 (PDF 21)
4002928 (0x001C)HRBaud rateF32 ABCDR/W03·10
0 = 2400 bps · 1 = 4800 bps · 2 = 9600 bps (default) · 5 = 1200 bps
p.18 (PDF 21)
4005150 (0x0032)HRCT primary currentF32 ABCDAR/W03·10
Default 5
Range 5 ~ 9999 A
p.18 (PDF 21)
4006160 (0x003C)HRBacklight timeF32 ABCDminR/W03·10
0 = always on, 121 = always off, default 60
Range 0 ~ 121 min
p.18 (PDF 21)
4008786 (0x0056)HRPulse 1 output modeF32 ABCDR/W03·10
1 = Import active energy · 2 = Import + export active energy · 4 = Export active energy (default) · 5 = Import reactive energy · 6 = Import + export reactive energy · 8 = Export reactive energy
p.18 (PDF 21)
46145761456 (0xF010)HRResetU16W10
2-byte hex (F0 10)
0 = Reset maximum demand
p.18 (PDF 21)
46376163760 (0xF910)HRPulse 1 rateU16R/W03·10
2-byte hex (F9 10)
0 = 0.001 kWh/imp (default) · 1 = 0.01 kWh/imp · 2 = 0.1 kWh/imp · 3 = 1 kWh/imp
p.19 (PDF 22)

Notes

Read it with PortDock

  1. Install the free PortDock Modbus Master and connect with the device's settings.
  2. On the table toolbar, «Device profile…» → pick this device → «Load». Polling tables, names, types and the Slave ID are filled in (optionally the serial settings too).
  3. Names carry the unit and scale (e.g. «×0.01 Hz»). Values on screen are raw — multiply by the scale.
  4. To test your program without the device, PortDock Modbus Slave's «Emulate device…» serves the same map with example values.

Download JSON

Sources