Microidea 1PH Modbus register map
Digital power factor controller with 4, 6, 8 or 12 capacitor steps, Modbus RTU
- Official
- 147 registers
- Revision 1 · 2026-10-18
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 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
- 88 holding registers, 59 input registers
- Groups
- 6
- Revision
- 1 · 2026-10-18
- Added
- ()
- File
- maps/microidea/1ph.mbmap.json · 37 KB · history
- SHA-256
- 6f56d38a86a06a0ade63abf6137a8eeef3c4379954b1b2681c3bd3a9c515c9dc
- Manufacturer
- microidea.it
Sources and notes
- 1PH - Digital Power Factor, Registers Modbus - RTU all three pages: input registers and holding registers. The document has no version or date
Source: Microidea, "1PH - Digital Power Factor, Registers Modbus - RTU"; https://www.microidea.it/sites/default/files/pdf/MODBUS_TABLE_1PH.pdf
- Digital power factor controller 1PH. Serial communication needs the optional PC-USB / RS485 / TTL module (order code SCUSB485).
- The manual does not give the order of the two words of a 32-bit value, nor the factory serial settings or which Serial protocol type value is Modbus. Big word order is assumed; check it against the display.
- Steps beyond the controller's step count (4, 6, 8 or 12) are not used; on a 4-step controller step 3 can be a fan output and step 4 an alarm contact, and likewise for 6, 8 and 12 steps.
- The manual leaves the names of the bits in the alarm masks blank, so they are shown as plain numbers.
- Temperatures are in the unit chosen by the Temperature scale register.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 0 | uint16 | R | ×0.001 | Actual cos phi, sent as cos x 1000 | ||
| IR | 1 | uint16 | R | V | RMS voltage | ||
| IR | 2 | uint32 ABCD | R | A | ×0.01 | RMS current | |
| IR | 4 | int32 ABCD | R | var | Actual reactive power; negative is capacitive | ||
| IR | 6 | int32 ABCD | R | var | |||
| IR | 8 | int32 ABCD | R | W | |||
| IR | 10 | uint16 | R | % | |||
| IR | 11 | uint16 | R | One bit per alarm, 1 = active | |||
| IR | 11 | bool bit 0 | R | ||||
| IR | 11 | bool bit 1 | R | ||||
| IR | 11 | bool bit 2 | R | ||||
| IR | 11 | bool bit 3 | R | ||||
| IR | 11 | bool bit 4 | R | ||||
| IR | 11 | bool bit 5 | R | ||||
| IR | 11 | bool bit 6 | R | ||||
| IR | 11 | bool bit 7 | R | ||||
| IR | 11 | bool bit 8 | R | ||||
| IR | 11 | bool bit 9 | R | ||||
| IR | 12 | uint16 | R | One bit per alarm, 1 = active; bit 5 is not used | |||
| IR | 12 | bool bit 0 | R | ||||
| IR | 12 | bool bit 1 | R | ||||
| IR | 12 | bool bit 2 | R | ||||
| IR | 12 | bool bit 3 | R | ||||
| IR | 12 | bool bit 4 | R | ||||
| IR | 12 | bool bit 6 | R | ||||
| IR | 13 | uint16 | R | Which steps are inserted; the manual does not give the bit order | |||
| IR | 14 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 16 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 18 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 20 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 22 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 24 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 26 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 28 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 30 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 32 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 34 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 36 | uint32 ABCD | R | var | Reactive power the step really delivers | ||
| IR | 38 | uint16 | R | °C | ×0.1 | ||
| IR | 39 | uint16 | R | 4, 6, 8 or 12 | |||
| IR | 40 | uint16 | R | ||||
| IR | 41 | uint16 | R | ||||
| IR | 42 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 43 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 44 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 45 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 46 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 47 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 48 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 49 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 50 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 51 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 52 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 53 | uint16 | R | s | Seconds left before the capacitor is discharged | ||
| IR | 54 | uint32 ABCD | R | h | Total hours of operation | ||
| IR | 56 | uint16 | R | V | |||
| IR | 57 | uint32 ABCD | R | A | ×0.01 | ||
| IR | 59 | uint16 | R | % | |||
| IR | 60 | uint16 | R | °C | |||
| HR | 0 | uint16 | RW | ||||
| HR | 1 | uint16 | RW | Steps to insert in manual mode: bit 0 = step 1 ... bit 11 = step 12 | |||
| HR | 1 | bool bit 0 | RW | ||||
| HR | 1 | bool bit 1 | RW | ||||
| HR | 1 | bool bit 2 | RW | ||||
| HR | 1 | bool bit 3 | RW | ||||
| HR | 1 | bool bit 4 | RW | ||||
| HR | 1 | bool bit 5 | RW | ||||
| HR | 1 | bool bit 6 | RW | ||||
| HR | 1 | bool bit 7 | RW | ||||
| HR | 1 | bool bit 8 | RW | ||||
| HR | 1 | bool bit 9 | RW | ||||
| HR | 1 | bool bit 10 | RW | ||||
| HR | 1 | bool bit 11 | RW | ||||
| HR | 2 | int16 | RW | ×0.01 | Target cos phi; negative is capacitive | ||
| HR | 3 | uint16 | RW | s/step | |||
| HR | 4 | uint16 | RW | A | 0 or 5 to 10000 | ||
| HR | 5 | uint16 | RW | var | ×10 | Limited range; use the 32-bit Minimum step register for the full value | |
| HR | 6 | uint16 | RW | V | |||
| HR | 7 | uint16 | RW | s | |||
| HR | 8 | int32 ABCD | RW | var | Step size | ||
| HR | 10 | int32 ABCD | RW | var | Step size | ||
| HR | 12 | int32 ABCD | RW | var | Step size. Also -1 = fan when the controller has 4 steps | ||
| HR | 14 | int32 ABCD | RW | var | Step size. Also -1 = NCA and -2 = NOA when the controller has 4 steps | ||
| HR | 16 | int32 ABCD | RW | var | Step size. Also -1 = fan when the controller has 6 steps | ||
| HR | 18 | int32 ABCD | RW | var | Step size. Also -1 = NCA and -2 = NOA when the controller has 6 steps | ||
| HR | 20 | int32 ABCD | RW | var | Step size. Also -1 = fan when the controller has 8 steps | ||
| HR | 22 | int32 ABCD | RW | var | Step size. Also -1 = NCA and -2 = NOA when the controller has 8 steps | ||
| HR | 24 | int32 ABCD | RW | var | Step size | ||
| HR | 26 | int32 ABCD | RW | var | Step size | ||
| HR | 28 | int32 ABCD | RW | var | Step size. Also -1 = fan when the controller has 12 steps | ||
| HR | 30 | int32 ABCD | RW | var | Step size. Also -1 = NCA and -2 = NOA when the controller has 12 steps | ||
| HR | 32 | uint16 | RW | ||||
| HR | 33 | uint16 | RW | ||||
| HR | 34 | uint16 | RW | ||||
| HR | 35 | uint16 | RW | 0 = off, 1 to 247 | |||
| HR | 36 | uint16 | RW | °C / °F | 0 = disabled, 35 to 158 = enabled with this threshold | ||
| HR | 37 | uint16 | RW | ||||
| HR | 38 | uint16 | RW | % | |||
| HR | 39 | uint16 | RW | Alarms that drive the alarm relay, 1 = enabled; bits 0 to 9, bit 8 not used. The manual does not name the bits | |||
| HR | 40 | uint16 | RW | In the unit chosen by the alarm scale register |
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).