MBMap Registry
  1. Devices
  2. Altus
  3. PH31XX (PH3100 series)

Altus PH31XX (PH3100 series) Modbus register map

Also covers PH3120, PH3131, PH3150, PH3151, PH3220, PH3231, PH3250, PH3251

Phase series three-phase power meter with expansion modules: system settings, voltages, currents, powers, power factor, frequency, unbalance, harmonics and alarm status

  • Official
  • 83 registers
  • Modbus TCP and RTU
  • Revision 1 · 2026-11-10

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 RTU
Unit ID
1
TCP port
502default
Serial
9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
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
83 holding registers
Groups
5
Translation tables
1
Revision
1 · 2026-11-10
Added
()
File
maps/altus/ph31xx.mbmap.json · 17 KB · history
SHA-256
e687c8f27551080aedbf28c9c369d4ae266874438178ae2259a4d7635036b0ac
Manufacturer
altus.com.br

Sources and notes

  • Manual de Utilização Série Phase (MU215100) · version Rev. E 09/2015, 2015-09
    linked in issue #115; chapter 5 (MODBUS RTU Escravo), tables 5-7 to 5-15

Source: Manual de Utilização Série Phase, Rev. E 09/2015

  • Modbus RTU on the RS-485 channel of the PH3100 (terminals 15 TX+, 16 TX-, 17 shield), 1 start, 8 data and 1 stop bit. The manual does not state a default baud rate or parity: 9600 N is a placeholder. Baud rates 2400 to 38400 (register 0x0103); address 1 to 247 (register 0x0100), factory address 1. Only function codes 03, 06 and 16 are described, so every register is a holding register.
  • The PH3150/PH3250 Ethernet module serves Modbus TCP/IP, or Modbus RTU over TCP/IP, with one connection. TCP/IP is the factory protocol from PH3100 revision AJ; RTU over TCP needs the PH3101 configurator 2.19 or later. The module's factory IP is given in the manual; the port is not stated here, 502 is assumed.
  • Addresses are those printed in the manual (hexadecimal), taken as wire addresses (0-based). The manual warns that masters that start at 1 need address + 1.
  • Registers 0x0300 to 0x0320 do not state a unit or decimals. The manual only says to multiply voltages by the VT ratio (register 0x0101) and currents by the CT ratio (register 0x0102). They are given as raw values: check against the display before applying a scale.
  • Not included: the energy registers (0x1A00 onward), which split a value into a quotient and a remainder in a way the manual does not make clear, the demand, maximum and minimum tables, the monthly profile registers (addresses in that part of the table are inconsistent) and the harmonic spectrum tables. The harmonics module (PH3131) is required for the harmonic registers.
  • Written from the manufacturer's manual; not tested on a device.
AreaAddressNameTypeAccessUnitScaleDescription
HR 0 uint16 R Hardware version number
HR 304 uint16 R Software version number
HR 1 uint16 RW 0 = 3-phase 3-wire, any other value = 3-phase 4-wire
HR 2 uint16 R High word of the operating time; unit not given
HR 3 uint16 R Low word of the operating time; unit not given
HR 4 uint16 RW V ×0.1 Voltage scope, 0 to 690 V
HR 5 uint16 RW A ×0.001 Current scope, 0 to 5 A
HR 256 uint16 RW Modbus address
HR 257 uint16 RW Voltage transformer ratio
HR 258 uint16 RW Current transformer ratio
HR 259 uint16 RW
HR 260 uint16 RW 1 to 15; the manual says seconds in this table and minutes elsewhere
HR 301 uint16 RW Pulse constant, 1 to 9600
HR 303 uint16 RW s Display interval, 2 to 30 s
HR 306 uint16 RW s
HR 308 uint16 RW Address used by the PROFIBUS module
HR 768 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 769 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 770 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 771 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 772 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 773 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 774 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 775 uint16 R Raw value, multiply by the VT ratio; unit and decimals not given
HR 776 uint16 R Raw value, multiply by the CT ratio; unit and decimals not given
HR 777 uint16 R Raw value, multiply by the CT ratio; unit and decimals not given
HR 778 uint16 R Raw value, multiply by the CT ratio; unit and decimals not given
HR 779 uint16 R Raw value, multiply by the CT ratio; unit and decimals not given
HR 780 uint16 R Raw value; unit and decimals not given
HR 781 uint16 R Raw value; unit and decimals not given
HR 782 uint16 R Raw value; unit and decimals not given
HR 783 uint16 R Raw value; unit and decimals not given
HR 784 int16 R Raw value; unit and decimals not given
HR 785 int16 R Raw value; unit and decimals not given
HR 786 int16 R Raw value; unit and decimals not given
HR 787 int16 R Raw value; unit and decimals not given
HR 788 int16 R Raw value; unit and decimals not given
HR 789 int16 R Raw value; unit and decimals not given
HR 790 int16 R Raw value; unit and decimals not given
HR 791 int16 R Raw value; unit and decimals not given
HR 792 int16 R Raw value; unit and decimals not given
HR 793 int16 R Raw value; unit and decimals not given
HR 794 int16 R Raw value; unit and decimals not given
HR 795 int16 R Raw value; unit and decimals not given
HR 796 uint16 R Raw value; unit and decimals not given
HR 797 uint16 R Raw value; unit and decimals not given
HR 798 uint16 R Unbalance ratio as defined in the manual, (VH - VL) / VH * 1000
HR 799 uint16 R Unbalance ratio as defined in the manual, (IH - IL) / IH * 1000
HR 801 bool bit 0 R 1 = alarm active
HR 801 bool bit 1 R 1 = alarm active
HR 801 bool bit 2 R 1 = alarm active
HR 801 bool bit 3 R 1 = alarm active
HR 801 bool bit 8 R Alarm type: 1 = above the limit, 0 = below the limit
HR 801 bool bit 9 R Alarm type: 1 = above the limit, 0 = below the limit
HR 801 bool bit 10 R Alarm type: 1 = above the limit, 0 = below the limit
HR 801 bool bit 11 R Alarm type: 1 = above the limit, 0 = below the limit
HR 1632 uint16 R % ×0.01 Total harmonic voltage distortion
HR 1678 uint16 R V ×0.1 Voltage in the harmonics block
HR 1681 uint16 R ° ×0.1
HR 1684 uint16 R A ×0.001 Current in the harmonics block
HR 1692 int16 R kW ×0.001 Signed, -32767 to 32767
HR 1695 int16 R kvar ×0.001 Signed, -32767 to 32767
HR 1698 uint16 R kVA ×0.001
HR 1633 uint16 R % ×0.01 Total harmonic voltage distortion
HR 1679 uint16 R V ×0.1 Voltage in the harmonics block
HR 1682 uint16 R ° ×0.1
HR 1685 uint16 R A ×0.001 Current in the harmonics block
HR 1693 int16 R kW ×0.001 Signed, -32767 to 32767
HR 1696 int16 R kvar ×0.001 Signed, -32767 to 32767
HR 1699 uint16 R kVA ×0.001
HR 1634 uint16 R % ×0.01 Total harmonic voltage distortion
HR 1680 uint16 R V ×0.1 Voltage in the harmonics block
HR 1683 uint16 R ° ×0.1
HR 1686 uint16 R A ×0.001 Current in the harmonics block
HR 1694 int16 R kW ×0.001 Signed, -32767 to 32767
HR 1697 int16 R kvar ×0.001 Signed, -32767 to 32767
HR 1700 uint16 R kVA ×0.001
HR 1644 uint16 R % ×0.01 Total harmonic current distortion
HR 1645 uint16 R % ×0.01 Total harmonic current distortion
HR 1646 uint16 R % ×0.01 Total harmonic current distortion
HR 1647 uint16 R % ×0.01
HR 1688 uint16 R ° ×0.1
HR 1689 uint16 R ° ×0.1

Help improve this map