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
| Protocol | Modbus RTU |
|---|---|
| Baud (factory) | 9600 bps — options: 2400, 4800, 9600, 19200, 38400, 115200 |
| Data · parity · stop | 8 · None · 1 |
| Slave ID (factory) | 1 (1~247) |
| 32-bit order | ABCD |
| Manual address style | 40001/30001 style (wire address + 1, first digit = table) |
- The manual lists 30001/40001-style numbers together with a 'Modbus Protocol Start Address Hex' column (30001 ↔ 00 00, 40003 ↔ 00 02). Wire address = number − 30001 (input) or − 40001 (holding); 6-digit numbers (310021, 461457 …) use − 300001 / − 400001 (p.20-25).
- Addressing confirmed by the frame examples on p.26-27: read 40003 Demand Period 01 03 00 02 00 02 65 CB → 01 03 04 42 70 00 00 EF 90 (60.0); write 15 min 01 10 00 02 00 02 04 41 70 00 00 67 91 → 01 10 00 02 00 02 E0 08. CRC recomputed and correct for all four. This manual has no numeric input-register example, so input addresses follow the table's Hex column (30001 ↔ 00 00).
- Float is big-endian: the first register holds the high 16 bits (p.19-20 response frame description; example 42 70 00 00 = 60.0).
- Defaults 9600 bps, no parity, address 1 (p.7 2.7.1, p.24 40019/40021). 115.2k is value 6 in 40029 (5 is not listed) (p.25).
Registers (40)
«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.
Swipe the table sideways — the first column (manual address) stays put.
| Manual | Wire | Table | Name | Type | Unit · scale | R/W | FC | Details |
|---|---|---|---|---|---|---|---|---|
| 30001 | 0 (0x0000) | IR | L1 line-to-neutral voltage | F32 ABCD | V | R | 04 | p.20 (PDF 23) |
| 30003 | 2 (0x0002) | IR | L2 line-to-neutral voltage | F32 ABCD | V | R | 04 | p.20 (PDF 23) |
| 30005 | 4 (0x0004) | IR | L3 line-to-neutral voltage | F32 ABCD | V | R | 04 | p.20 (PDF 23) |
| 30007 | 6 (0x0006) | IR | L1 current | F32 ABCD | A | R | 04 | p.20 (PDF 23) |
| 30009 | 8 (0x0008) | IR | L2 current | F32 ABCD | A | R | 04 | p.20 (PDF 23) |
| 30011 | 10 (0x000A) | IR | L3 current | F32 ABCD | A | R | 04 | p.20 (PDF 23) |
| 30013 | 12 (0x000C) | IR | L1 active power | F32 ABCD | W | R | 04 | p.20 (PDF 23) |
| 30015 | 14 (0x000E) | IR | L2 active power | F32 ABCD | W | R | 04 | p.20 (PDF 23) |
| 30017 | 16 (0x0010) | IR | L3 active power | F32 ABCD | W | R | 04 | p.20 (PDF 23) |
| 30031 | 30 (0x001E) | IR | L1 power factor | F32 ABCD | R | 04 | Sign shows current direction (+ forward, − reverse) p.21 (PDF 24) | |
| 30033 | 32 (0x0020) | IR | L2 power factor | F32 ABCD | R | 04 | p.21 (PDF 24) | |
| 30035 | 34 (0x0022) | IR | L3 power factor | F32 ABCD | R | 04 | p.21 (PDF 24) | |
| 30043 | 42 (0x002A) | IR | Average line-to-neutral voltage | F32 ABCD | V | R | 04 | p.21 (PDF 24) |
| 30047 | 46 (0x002E) | IR | Average line current | F32 ABCD | A | R | 04 | p.21 (PDF 24) |
| 30053 | 52 (0x0034) | IR | Total active power | F32 ABCD | W | R | 04 | p.21 (PDF 24) |
| 30057 | 56 (0x0038) | IR | Total apparent power | F32 ABCD | VA | R | 04 | p.21 (PDF 24) |
| 30061 | 60 (0x003C) | IR | Total reactive power | F32 ABCD | VAr | R | 04 | p.21 (PDF 24) |
| 30063 | 62 (0x003E) | IR | Total power factor | F32 ABCD | R | 04 | p.21 (PDF 24) | |
| 30071 | 70 (0x0046) | IR | Frequency | F32 ABCD | Hz | R | 04 | p.21 (PDF 24) |
| 30073 | 72 (0x0048) | IR | Import active energy | F32 ABCD | kWh | R | 04 | p.21 (PDF 24) |
| 30075 | 74 (0x004A) | IR | Export active energy | F32 ABCD | kWh | R | 04 | p.21 (PDF 24) |
| 30077 | 76 (0x004C) | IR | Import reactive energy | F32 ABCD | kVArh | R | 04 | p.21 (PDF 24) |
| 30079 | 78 (0x004E) | IR | Export reactive energy | F32 ABCD | kVArh | R | 04 | p.21 (PDF 24) |
| 30085 | 84 (0x0054) | IR | Total active power demand | F32 ABCD | W | R | 04 | Calculated as import − export p.21 (PDF 24) |
| 30201 | 200 (0x00C8) | IR | L1-L2 voltage | F32 ABCD | V | R | 04 | p.21 (PDF 24) |
| 30203 | 202 (0x00CA) | IR | L2-L3 voltage | F32 ABCD | V | R | 04 | p.21 (PDF 24) |
| 30205 | 204 (0x00CC) | IR | L3-L1 voltage | F32 ABCD | V | R | 04 | p.21 (PDF 24) |
| 30225 | 224 (0x00E0) | IR | Neutral current | F32 ABCD | A | R | 04 | p.21 (PDF 24) |
| 30343 | 342 (0x0156) | IR | Total active energy | F32 ABCD | kWh | R | 04 | Import + export p.22 (PDF 25) |
| 30345 | 344 (0x0158) | IR | Total reactive energy | F32 ABCD | kVArh | R | 04 | Import + export p.22 (PDF 25) |
| 40001 | 0 (0x0000) | HR | Demand time | F32 ABCD | min | R | 03 | Minutes into the first demand calculation; demand values are valid once it reaches the demand period p.24 (PDF 27) |
| 40003 | 2 (0x0002) | HR | Demand period | F32 ABCD | min | R/W | 03·10 | Default 60; 0 = real time (updated every second) Range 0 ~ 60 min p.24 (PDF 27) |
| 40011 | 10 (0x000A) | HR | System type | F32 ABCD | R/W | 03·10 | 1 = 1P2W · 2 = 3P3W · 3 = 3P4W (default) p.24 (PDF 27) | |
| 40015 | 14 (0x000E) | HR | Key parameter programming authorization (KPPA) | F32 ABCD | R/W | 03·10 | Read for status; write the correct password to enable programming of key parameters 0 = Not authorized · 1 = Authorized p.24 (PDF 27) | |
| 40019 | 18 (0x0012) | HR | Parity and stop bits | F32 ABCD | R/W | 03·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.24 (PDF 27) | |
| 40021 | 20 (0x0014) | HR | Modbus address | F32 ABCD | R/W | 03·10 | Default 1 Range 1 ~ 247 p.24 (PDF 27) | |
| 40025 | 24 (0x0018) | HR | Password | F32 ABCD | R/W | 03·10 | Default 1000 Range 0 ~ 9999 p.25 (PDF 28) | |
| 40029 | 28 (0x001C) | HR | Baud rate | F32 ABCD | R/W | 03·10 | 0 = 2400 bps · 1 = 4800 bps · 2 = 9600 bps (default) · 3 = 19200 bps · 4 = 38400 bps · 6 = 115200 bps p.25 (PDF 28) | |
| 40061 | 60 (0x003C) | HR | Backlight time | F32 ABCD | min | R/W | 03·10 | 0 = always on, 121 = always off, default 60 Range 0 ~ 121 min p.25 (PDF 28) |
| 461457 | 61456 (0xF010) | HR | Reset | U16 | W | 10 | 2-byte hex (F0 10) 0 = Reset maximum demand · 6 = Reset DI counts p.25 (PDF 28) |
Notes
- The integer area (310021~ Int64 Wh/VArh, 310251~ Int32 0.1 V etc.) is left out: the manual states word order only for Float, not for Int32/Int64 (p.19-20, p.22-23). Serial number (464513, unsigned int32) is left out for the same reason.
- Left out: 30255 (named total power factor but unit Degrees, p.21), 40071 CO2 RATE (decimal range but format 'hex', p.25), 40769 DI filter time (comm table says ms, 0-255; setup menu p.18 says 000-255 min — units disagree), 40770/40772 DI counts (unsigned int32 at odd addresses, no word order).
- Read Float values as register pairs (even start). This manual covers SDM630-DI only; check other SDM630 variants against their own manuals.
Read it with PortDock
- Install the free PortDock Modbus Master and connect with the device's settings.
- 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).
- Names carry the unit and scale (e.g. «×0.01 Hz»). Values on screen are raw — multiply by the scale.
- To test your program without the device, PortDock Modbus Slave's «Emulate device…» serves the same map with example values.
Download JSON
- eastron/sdm630-di.json (GitHub raw) · copy on this site · history
- schema.json — format (JSON Schema). table, address (0-based), type and order match the PortDock CSV.
- License: CC BY 4.0 — please cite:
PortDock device register maps, v2026.10 · 09ac1d0b2792, https://portdock.dev/devices/
and this page. LICENSE · data bundle, version and changelog - Found a mistake? Please open a GitHub issue with the manual page.
Sources
- SDM630-DI User Manual — Eastron Electronic Co., Ltd., 2025 V1.01 (cover and headers); version history last row 1.02 dated 2025-08-04; file name eastronsdm630-diusermanualv1.02.pdf (posted 2025-08-06 on the eastrongroup.com download center) · printed p.7 comm specs, p.19-20 frame format, p.20-23 input registers, p.23-27 holding registers and frame examples (PDF page = printed + 3) · checked 2026-10-29