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, Modbus TCP |
|---|---|
| Baud (factory) | 9600 bps — options: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 |
| Data · parity · stop | — · Even · 1 |
| TCP port | 502 |
| 32-bit order | ABCD |
| Max per request | 125 registers |
| Manual address style | 1-based numbers (wire address + 1) |
- Manual uses 1-based register numbers; wire address = number − 1. Numeric frame examples: p.115 «01 03 0000 0003» reads registers 1-3, p.118 Vab register 20011 → start address 4E2Ah, p.121 register 12901 → 3264h (p.13, p.110).
- 32-bit values: high word at lower address, big-endian (p.14, p.119 example: 380.2 = 43BEh 199Ah).
- RS-485 defaults 9600 bps, even parity, 1 stop bit (p.27). Address range 0-247 with default 0, so factory unit ID is left out.
- FC 03, 06, 16 plus user-defined 101 (65h, TCP only). Read quantity 1-125 (device allows 250, byte count overflows from 128), write 1-123. Modbus TCP port 502, unit ID fixed at 1, 20 connections (19 TCP, 1 RTU), TCP closed after 10 min idle (p.106-110, p.112).
Registers (60)
«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 |
|---|---|---|---|---|---|---|---|---|
| 10001 | 10000 (0x2710) | HR | Product ID | U16 | R | 03 | 3500 for Accura 3500, 3550 for Accura 3550 p.15 System Information | |
| 10003 | 10002 (0x2712) | HR | Serial number | U32 ABCD | R | 03 | p.15 System Information | |
| 10008 | 10007 (0x2717) | HR | Major application version | U16 | R | 03 | p.15 System Information | |
| 10009 | 10008 (0x2718) | HR | Minor application version | U16 | R | 03 | p.15 System Information | |
| 10010 | 10009 (0x2719) | HR | Application revision | U16 | R | 03 | p.15 System Information | |
| 12901 | 12900 (0x3264) | HR | Remote setup lock | U16 | R/W | 03·06·10 | Write 2300 → 0 → 700 → 1 to unlock; any other write locks. Per connection; relocks at power-off. 0 = Unlocked · 1 = Locked p.19 Remote Setup Unlock | |
| 13701 | 13700 (0x3584) | HR | Access for RS-485 setup | U16 | R/W | 03·06·10 | Read fetches device settings into 13702-13705 (bit 15 = 1 on success); write 1 to apply 13702-13705. p.27 RS-485 Setup | |
| 13702 | 13701 (0x3585) | HR | RS-485 device address | U16 | R/W | 03·06·10 | Range 0 ~ 247 p.27 RS-485 Setup | |
| 13703 | 13702 (0x3586) | HR | RS-485 bit rate | U16 | R/W | 03·06·10 | 0 = 1200 bps · 1 = 2400 bps · 2 = 4800 bps · 3 = 9600 bps · 4 = 19200 bps · 5 = 38400 bps · 6 = 57600 bps · 7 = 115200 bps p.27 RS-485 Setup | |
| 13704 | 13703 (0x3587) | HR | RS-485 parity | U16 | R/W | 03·06·10 | 0 = None · 1 = Odd · 2 = Even p.27 RS-485 Setup | |
| 13705 | 13704 (0x3588) | HR | RS-485 stop bit | U16 | R/W | 03·06·10 | 0 = 1 stop bit · 1 = 2 stop bits p.27 RS-485 Setup | |
| 19901 | 19900 (0x4DBC) | HR | Aggregation selection | U16 | R/W | 03·06·10 | 0 = 0.2 s · 1 = 1 s (default) · 2 = 5 s · 3 = 1 min · 4 = 5 min · 5 = 1 h · 6 = 6 h · 7 = 1 day · 255 = Max/Min since reset p.58 Aggregation Selection | |
| 19902 | 19901 (0x4DBD) | HR | Index selection update mode | U16 | R/W | 03·06·10 | How 19904 changes when 19911 is read. Newest (1) always fetches the latest data (p.123: newest index by default). 0 = Fixed · 1 = Newest · 2 = Auto increment p.59 Index Selection | |
| 19904 | 19903 (0x4DBF) | HR | Index selection | U16 | R/W | 03·06·10 | Range 0 ~ 9999 p.59 Index Selection | |
| 19906 | 19905 (0x4DC1) | HR | Newest index | U16 | R | 03 | p.59 Index Selection | |
| 19911 | 19910 (0x4DC6) | HR | Data fetch | U16 | R | 03 | Reading fetches the selected aggregation/index into 19914-48000. Per connection. 0 = Fetch failed · 1 = Fetch succeeded p.60 Data Fetch | |
| 19913 | 19912 (0x4DC8) | HR | Index of fetched data | U16 | R | 03 | p.60 Data Fetch | |
| 19930 | 19929 (0x4DD9) | HR | Validity of meter measurement data | S16 | R | 03 | p.126 lists UInt16, but values are -1/0, so Int16 per p.61. -1 = Invalid · 0 = Valid (meter data) p.61 Measurement Header | |
| 20001 | 20000 (0x4E20) | HR | Voltage Van | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20003 | 20002 (0x4E22) | HR | Voltage Vbn | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20005 | 20004 (0x4E24) | HR | Voltage Vcn | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20007 | 20006 (0x4E26) | HR | Average phase voltage | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20011 | 20010 (0x4E2A) | HR | Voltage Vab | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20013 | 20012 (0x4E2C) | HR | Voltage Vbc | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20015 | 20014 (0x4E2E) | HR | Voltage Vca | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20017 | 20016 (0x4E30) | HR | Average line-to-line voltage | F32 ABCD | V | R | 03 | p.62 Measurement Data |
| 20019 | 20018 (0x4E32) | HR | Current Ia | F32 ABCD | A | R | 03 | p.62 Measurement Data |
| 20021 | 20020 (0x4E34) | HR | Current Ib | F32 ABCD | A | R | 03 | p.62 Measurement Data |
| 20023 | 20022 (0x4E36) | HR | Current Ic | F32 ABCD | A | R | 03 | p.62 Measurement Data |
| 20025 | 20024 (0x4E38) | HR | Average current | F32 ABCD | A | R | 03 | p.62 Measurement Data |
| 20057 | 20056 (0x4E58) | HR | Frequency | F32 ABCD | Hz | R | 03 | p.62 Measurement Data |
| 20059 | 20058 (0x4E5A) | HR | Voltage THD phase A | F32 ABCD | % | R | 03 | p.62 Measurement Data |
| 20061 | 20060 (0x4E5C) | HR | Voltage THD phase B | F32 ABCD | % | R | 03 | p.62 Measurement Data |
| 20063 | 20062 (0x4E5E) | HR | Voltage THD phase C | F32 ABCD | % | R | 03 | p.62 Measurement Data |
| 20071 | 20070 (0x4E66) | HR | Current THD phase A | F32 ABCD | % | R | 03 | p.63 Measurement Data |
| 20073 | 20072 (0x4E68) | HR | Current THD phase B | F32 ABCD | % | R | 03 | p.63 Measurement Data |
| 20075 | 20074 (0x4E6A) | HR | Current THD phase C | F32 ABCD | % | R | 03 | p.63 Measurement Data |
| 20095 | 20094 (0x4E7E) | HR | Active power phase A | F32 ABCD | kW | R | 03 | p.63 Measurement Data |
| 20097 | 20096 (0x4E80) | HR | Active power phase B | F32 ABCD | kW | R | 03 | p.63 Measurement Data |
| 20099 | 20098 (0x4E82) | HR | Active power phase C | F32 ABCD | kW | R | 03 | p.63 Measurement Data |
| 20101 | 20100 (0x4E84) | HR | Total active power | F32 ABCD | kW | R | 03 | p.63 Measurement Data |
| 20109 | 20108 (0x4E8C) | HR | Total reactive power | F32 ABCD | kVAR | R | 03 | p.63 Measurement Data |
| 20117 | 20116 (0x4E94) | HR | Total apparent power | F32 ABCD | kVA | R | 03 | p.63 Measurement Data |
| 20119 | 20118 (0x4E96) | HR | Power factor phase A | F32 ABCD | R | 03 | p.63 Measurement Data | |
| 20121 | 20120 (0x4E98) | HR | Power factor phase B | F32 ABCD | R | 03 | p.63 Measurement Data | |
| 20123 | 20122 (0x4E9A) | HR | Power factor phase C | F32 ABCD | R | 03 | p.63 Measurement Data | |
| 20125 | 20124 (0x4E9C) | HR | Total power factor | F32 ABCD | R | 03 | p.63 Measurement Data | |
| 20138 | 20137 (0x4EA9) | HR | Total power factor lead/lag status | U16 | R | 03 | 0 = None · 1 = Lead · 2 = Lag · 3 = No load (apparent power 0) p.64 Measurement Data | |
| 20139 | 20138 (0x4EAA) | HR | Voltage unbalance | F32 ABCD | % | R | 03 | p.64 Measurement Data |
| 20157 | 20156 (0x4EBC) | HR | Current unbalance | F32 ABCD | % | R | 03 | p.64 Measurement Data |
| 20169 | 20168 (0x4EC8) | HR | Device temperature | F32 ABCD | ℃ | R | 03 | Reported in ℉ when the Locale temperature unit is Fahrenheit. p.64 Measurement Data |
| 20251 | 20250 (0x4F1A) | HR | Received active energy | U32 ABCD | kWh | R | 03 | Unit follows the energy-unit setting (default kWh, can be Wh). p.64 Measurement Data |
| 20253 | 20252 (0x4F1C) | HR | Delivered active energy | U32 ABCD | kWh | R | 03 | Unit follows the energy-unit setting (default kWh, can be Wh). p.64 Measurement Data |
| 20257 | 20256 (0x4F20) | HR | Net active energy (received − delivered) | S32 ABCD | kWh | R | 03 | Unit follows the energy-unit setting (default kWh, can be Wh). p.64 Measurement Data |
| 20267 | 20266 (0x4F2A) | HR | Positive reactive energy | U32 ABCD | kVARh | R | 03 | p.65 Measurement Data |
| 20269 | 20268 (0x4F2C) | HR | Negative reactive energy | U32 ABCD | kVARh | R | 03 | p.65 Measurement Data |
| 20275 | 20274 (0x4F32) | HR | Apparent energy | U32 ABCD | kVAh | R | 03 | p.65 Measurement Data |
| 20497 | 20496 (0x5010) | HR | Average demand current | F32 ABCD | A | R | 03 | p.66 Measurement Data |
| 20505 | 20504 (0x5018) | HR | Total demand active power | F32 ABCD | kW | R | 03 | p.66 Measurement Data |
| 20591 | 20590 (0x506E) | HR | Energy unit | U16 | R | 03 | Follows the Locale energy-unit setting; 1 means active energy is in Wh. 0 = kWh · 1 = Wh p.66 Measurement Data |
Notes
- Measurements live in aggregation buffers: select the interval with 19901 (default 1 s), read 19911 to fetch, then read 20001-. In newest-index mode the fetch may be skipped. Selection/index are per connection (p.56-60, p.109, p.123-126).
- Each port can use a different default register map (65534: 0 Accura 3500, 1 RTM 200); this file follows map 0. The old map is in Appendix F (p.29, p.127-).
- Values are Float32 in engineering units; energies UInt32 (net values Int32) in kWh etc., no PT/CT scaling needed. Active-energy unit can be switched to Wh with 13024 (Locale); check 20591 (p.44, p.64, p.66).
- Remote setup is locked by default; unlock with 2300→0→700→1 to 12901 (p.19, p.121). Serial settings are fetched/applied via access register 13701 (p.27).
- The Accura 3550 Communication Guide (Rev 2.20) has the same meter map, addresses and formats (measurement pages +3: pp.65-69, frame examples p.119 and p.122); only the product ID differs (3550). Each measurement register here was checked in both guides.
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
- rootech/accura-3500.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
- Accura 3500 Communication Guide — Rootech Inc., Revision 2.20, 2026-02-12 (file name Accura_3500_Communication_Guide_Rev2_20_Korean_260212.pdf) · pp.13-15 map summary, formats, system info, p.19, p.27, p.29, pp.56-66 measurements, pp.106-115 protocol and RTU example, pp.118-126 addressing, endian, collection · checked 2026-10-23
- Accura 3550 Communication Guide — Rootech Inc., Revision 2.20, 2026-02-12 (file name Accura_3550_Communication_Guide_Rev2_20_Korean_260212.pdf) · pp.13-15 map summary and system info, p.27, pp.61-69 measurements, p.119, pp.122-125 addressing and endian examples · checked 2026-10-23