Pilot SPM33 Modbus register map
- Unofficial
- 50 registers
- Revision 2
Unofficial: Copied from an unofficial source and not tested. Read it as a draft and check a value on the real device before you rely on the rest. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus TCP and RTUdefault
- Unit ID
- 1default
- TCP port
- 502default
- 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
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 50 holding registers
- Revision
- 2
- Added
- ()
- File
- maps/pilot/spm33.mbmap.json · 7 KB · history
- SHA-256
- 44e42994be7e33a254d549a8cb8ac633a06ab57cee69cf4ae68450d20b46fefd
- Manufacturer
- pmac.com.cn
Sources and notes
Source: Modbus Database (Jibril Sharafi, MIT licence), table pilot/spm33; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/pilot-spm33.htm. Not verified against the manufacturer's documentation
- Pilot SPM33.
- Converted automatically from the Modbus Database (MIT licence, Jibril Sharafi).
- Not verified against the manufacturer's documentation. The byte order is a guess: the source does not give one.
- Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | uint16 | R | V | |||
| HR | 2 | uint16 | R | V | |||
| HR | 3 | uint16 | R | V | |||
| HR | 4 | uint16 | R | V | |||
| HR | 5 | uint16 | R | V | |||
| HR | 6 | uint16 | R | A | |||
| HR | 7 | uint16 | R | A | |||
| HR | 8 | uint16 | R | A | |||
| HR | 9 | uint16 | R | A | |||
| HR | 10 | int32 ABCD | R | W | |||
| HR | 12 | int32 ABCD | R | var | |||
| HR | 14 | int16 | R | ||||
| HR | 15 | int16 | R | W | |||
| HR | 16 | int16 | R | W | |||
| HR | 17 | int16 | R | W | |||
| HR | 18 | int16 | R | W | |||
| HR | 19 | int16 | R | W | |||
| HR | 20 | int16 | R | W | |||
| HR | 21 | int16 | R | ||||
| HR | 22 | int16 | R | ||||
| HR | 23 | int16 | R | ||||
| HR | 24 | uint16 | R | Hz | |||
| HR | 25 | uint32 ABCD | R | kWh | |||
| HR | 27 | uint32 ABCD | R | kvarh | |||
| HR | 29 | uint32 ABCD | R | kWh | |||
| HR | 31 | uint32 ABCD | R | kWh | |||
| HR | 33 | uint32 ABCD | R | kvarh | |||
| HR | 35 | uint32 ABCD | R | kvarh | |||
| HR | 37 | uint16 | R | ||||
| HR | 38 | uint16 | R | ||||
| HR | 39 | uint16 | R | ||||
| HR | 40 | uint16 | R | ||||
| HR | 42 | uint16 | R | V | |||
| HR | 43 | uint16 | R | V | |||
| HR | 44 | uint16 | R | A | |||
| HR | 45 | uint16 | R | A | |||
| HR | 46 | uint16 | R | VA | |||
| HR | 47 | uint16 | R | VA | |||
| HR | 48 | uint16 | R | VA | |||
| HR | 49 | uint32 ABCD | R | ||||
| HR | 51 | uint32 ABCD | R | kWh | |||
| HR | 53 | uint32 ABCD | R | ||||
| HR | 55 | uint32 ABCD | R | ||||
| HR | 57 | uint32 ABCD | R | kvarh | |||
| HR | 59 | uint32 ABCD | R | kvarh | |||
| HR | 61 | uint32 ABCD | R | kvarh | |||
| HR | 63 | uint32 ABCD | R | kWh | |||
| HR | 65 | uint32 ABCD | R | kWh | |||
| HR | 67 | uint32 ABCD | R | kWh | |||
| HR | 69 | uint32 ABCD | R | kvarh |
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).