Allen-Bradley Powermonitor 3000 Modbus register map
Also covers 1404 (Powermonitor 3000), 1404-M4, 1404-M5, 1404-M6, 1404-M8
Bulletin 1404 Powermonitor 3000 power monitors (M4, M5, M6, M8), native RS485 port with Modbus RTU
- Official
- 160 registers
- Modbus RTU
- Revision 2 · 2026-10-17
- Identity: model, firmware
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
- Max read
- 100 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 63 holding registers, 97 input registers
- Groups
- 12
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/allen-bradley/powermonitor-3000.mbmap.json · 26 KB · history
- SHA-256
- ba389b106cd0f0c9204cc441db376a06777334558daa12e913ddcbf7ee66bd5c
- Manufacturer
- rockwellautomation.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Model | Bulletin number | input 601 | int16 | 1404 = 1404 (Powermonitor 3000) |
| Firmware | Application firmware | input 613 | int16 |
Sources and notes
- Powermonitor 3000 User Manual · version 1404-UM001F-EN-P, 2009-11 chapter 4 (Modbus RTU slave) and appendix A data tables
Source: Rockwell Automation, "Powermonitor 3000 User Manual", publication 1404-UM001F-EN-P (November 2009), chapter 4 and appendix A
- Modbus RTU on the native RS-485 or RS-232 port (auto-sense by default); Modbus ASCII and TCP are not supported. FC03/FC04 read, FC06/FC16 write, at most 100 registers per request.
- Addresses are the one-based numbers of the manual: 30101 = input register 101, 40001 = holding register 1.
- Floats are IEEE 754, big endian, high word first; a float must be read from its first (odd) address.
- Energies are split into five signed parts (× 10^9, 10^6, 10^3, 1, 10^-3); add them for the value.
- Configuration changes need the password in the first element of each table. Setpoints, logs, oscillography, TOU and the other tables of appendix A are left out.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 1 | int16 | R | ||||
| IR | 2 | int16 | R | ||||
| IR | 3 | uint16 | R | Bit n = setpoint output flag n+1 | |||
| IR | 4 | bool bit 0 | R | ||||
| IR | 4 | bool bit 1 | R | ||||
| IR | 4 | bool bit 2 | R | ||||
| IR | 5 | int16 | R | Rolls over after 29999 | |||
| IR | 6 | int16 | R | ||||
| IR | 101 | float32 ABCD | R | A | |||
| IR | 103 | float32 ABCD | R | A | |||
| IR | 105 | float32 ABCD | R | A | |||
| IR | 107 | float32 ABCD | R | A | |||
| IR | 109 | float32 ABCD | R | V | |||
| IR | 111 | float32 ABCD | R | V | |||
| IR | 113 | float32 ABCD | R | V | |||
| IR | 115 | float32 ABCD | R | V | |||
| IR | 117 | float32 ABCD | R | V | |||
| IR | 119 | float32 ABCD | R | V | |||
| IR | 121 | float32 ABCD | R | V | |||
| IR | 123 | float32 ABCD | R | V | |||
| IR | 125 | float32 ABCD | R | Hz | Last cycle; 0 or 999 when out of range | ||
| IR | 127 | float32 ABCD | R | ||||
| IR | 201 | float32 ABCD | R | A | |||
| IR | 203 | float32 ABCD | R | A | |||
| IR | 205 | float32 ABCD | R | A | |||
| IR | 207 | float32 ABCD | R | % | |||
| IR | 209 | float32 ABCD | R | V | |||
| IR | 211 | float32 ABCD | R | V | |||
| IR | 213 | float32 ABCD | R | % | |||
| IR | 215 | float32 ABCD | R | 0 none, 1 ABC, 2 ACB | |||
| IR | 217 | float32 ABCD | R | Hz | |||
| IR | 219 | float32 ABCD | R | 0 V1, 1 V2, 2 V3 | |||
| IR | 221 | float32 ABCD | R | ||||
| IR | 301 | float32 ABCD | R | W | |||
| IR | 303 | float32 ABCD | R | W | |||
| IR | 305 | float32 ABCD | R | W | |||
| IR | 307 | float32 ABCD | R | W | Signed to show direction | ||
| IR | 309 | float32 ABCD | R | var | |||
| IR | 311 | float32 ABCD | R | var | |||
| IR | 313 | float32 ABCD | R | var | |||
| IR | 315 | float32 ABCD | R | var | |||
| IR | 317 | float32 ABCD | R | VA | |||
| IR | 319 | float32 ABCD | R | VA | |||
| IR | 321 | float32 ABCD | R | VA | |||
| IR | 323 | float32 ABCD | R | VA | |||
| IR | 325 | float32 ABCD | R | ||||
| IR | 401 | float32 ABCD | R | A | |||
| IR | 403 | float32 ABCD | R | W | |||
| IR | 405 | float32 ABCD | R | var | |||
| IR | 407 | float32 ABCD | R | VA | |||
| IR | 409 | float32 ABCD | R | A | |||
| IR | 411 | float32 ABCD | R | W | |||
| IR | 413 | float32 ABCD | R | var | |||
| IR | 415 | float32 ABCD | R | VA | |||
| IR | 417 | float32 ABCD | R | min | |||
| IR | 419 | float32 ABCD | R | ||||
| IR | 501 | float32 ABCD | R | % | + lead, - lag | ||
| IR | 503 | float32 ABCD | R | % | |||
| IR | 505 | float32 ABCD | R | % | |||
| IR | 507 | float32 ABCD | R | % | |||
| IR | 509 | float32 ABCD | R | % | |||
| IR | 511 | float32 ABCD | R | % | |||
| IR | 513 | float32 ABCD | R | % | |||
| IR | 515 | float32 ABCD | R | % | |||
| IR | 517 | float32 ABCD | R | % | |||
| IR | 519 | float32 ABCD | R | % | |||
| IR | 521 | float32 ABCD | R | % | |||
| IR | 523 | float32 ABCD | R | % | |||
| IR | 525 | float32 ABCD | R | ||||
| IR | 1201 | float32 ABCD | R | 1-9; selected through the harmonic analysis configuration table | |||
| IR | 1203 | float32 ABCD | R | % | |||
| IR | 1205 | float32 ABCD | R | % | |||
| IR | 1207 | float32 ABCD | R | ||||
| IR | 1209 | float32 ABCD | R | ||||
| IR | 1211 | float32 ABCD | R | M6/M8 | |||
| IR | 1213 | float32 ABCD | R | M6/M8 | |||
| IR | 1215 | float32 ABCD | R | M6/M8 | |||
| IR | 1217 | float32 ABCD | R | M6/M8; -1 to 1 | |||
| IR | 1219 | float32 ABCD | R | M6/M8 | |||
| HR | 501 | int16 | W | Needed to clear or preset energy counters; reads -1 | |||
| HR | 502 | int16 | RW | Bit field, see the manual section on clearing energy counters | |||
| HR | 503 | int16 | R | kWh | ×1000000000 | Add the five parts for the value; each part is -999 to 999 | |
| HR | 504 | int16 | R | kWh | ×1000000 | ||
| HR | 505 | int16 | R | kWh | ×1000 | ||
| HR | 506 | int16 | R | kWh | |||
| HR | 507 | int16 | R | kWh | ×0.001 | ||
| HR | 508 | int16 | R | kWh | ×1000000000 | Add the five parts for the value; each part is -999 to 999 | |
| HR | 509 | int16 | R | kWh | ×1000000 | ||
| HR | 510 | int16 | R | kWh | ×1000 | ||
| HR | 511 | int16 | R | kWh | |||
| HR | 512 | int16 | R | kWh | ×0.001 | ||
| HR | 513 | int16 | R | kWh | ×1000000000 | Add the five parts for the value; each part is -999 to 999 | |
| HR | 514 | int16 | R | kWh | ×1000000 | ||
| HR | 515 | int16 | R | kWh | ×1000 | ||
| HR | 516 | int16 | R | kWh | |||
| HR | 517 | int16 | R | kWh | ×0.001 | ||
| HR | 518 | int16 | R | kVAh | ×1000000000 | Add the five parts for the value; each part is -999 to 999 | |
| HR | 519 | int16 | R | kVAh | ×1000000 | ||
| HR | 520 | int16 | R | kVAh | ×1000 | ||
| HR | 521 | int16 | R | kVAh |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).