- Home
- Modbus register maps
- DENT Instruments
- PowerScout 3037 Power Meter
Power meter · Modbus register map
DENT Instruments PowerScout 3037 Power Meter Modbus register map
Updated 25 October 2026
The PowerScout 3037 is a compact three-phase submeter with CT inputs, an RS-485 port (Modbus RTU or BACnet MS/TP) and an optional Ethernet port. In Modbus mode everything is a holding register read with function 03. Readings are 16-bit unsigned integers whose scaling depends on a user-set data scalar (44602). This map covers identification, the main system and per-phase readings, line frequency, and the CT, scaling, wiring, pulse-output and comms settings.
This page lists 53 Modbus registers for the DENT Instruments PowerScout 3037 Power Meter — 17 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from DENT Instruments’s own free documentation (linked below) and checked against it.
- Manufacturer
- DENT Instruments
- Model
- PowerScout 3037 Power Meter
- Equipment type
- Power meter
- Registers
- 53 (17 writable)
- Transport
- Modbus RTU, Modbus TCP
- Default unit ID
- 1
- Default serial
- 9600 baud, 8N1
- Documented addressing
- Modicon 3xxxx/4xxxx (drop the prefix, subtract 1)
- 32-bit word order
- CDAB low word first (word-swapped)
- Also known as
- PS3037, PowerScout 3037 Ethernet, PS3037-E, PowerScout 3037 Serial
Integration notes: DENT Instruments PowerScout 3037 Power Meter
Read 44602 first to learn the data scalar, then poll the system block from 44001 (wire 4000) with function 03 and apply the matching factor per quantity. Writes use function 06 (single register) only.
Minimum registers to map
Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.
| Register | Name | Type | Why | Access |
|---|---|---|---|---|
| HR 4601 | Data Scalar | UINT16 | Data scalar that sets the integer scaling | Read/write |
| HR 4000 | kWh System | UINT32 CDAB | System kWh (raw, LSW first) | Read |
| HR 4002 | kW System | UINT16 | System kW (raw) | Read |
| HR 4014 | Apparent PF System | UINT16 | System apparent power factor | Read |
| HR 4055 | Amps L1 | UINT16 | Phase 1 current (raw) | Read |
| HR 4058 | Volts L1 to Neutral | UINT16 | Phase 1-N voltage (raw) | Read |
Enable Modbus control & writes
Modbus is the factory protocol on RS-485. To return from BACnet to Modbus, write 375 to BACnet object 10190 in ViewPoint, or power up with the address switches at FF, set LSB = 1 (Modbus) and MSB to the baud code within 10 seconds. Switches at 00 force Modbus at 9600 8N1. Writing 1833 to 44612 changes the meter to BACnet.
Byte order & addressing
- Wire address = printed register - 40001 (the printed Offset column).
- Integer readings 44001-44061 need the data-scalar factor from 44602; amps and volts use different factors from power and energy.
- Two-register integers are LSW first (CDAB).
- Only function codes 03, 06 and 11 (Report Slave ID) are supported; there is no multi-register write.
- Report Slave ID returns a text string including the serial number, firmware and the current scalar.
Network setup
- Set the Modbus address on the two hex rotary switches (MSB, LSB); the switch value is hexadecimal, e.g. 6 and 4 = address 100. Factory setting is 01; 00 and FF are reserved.
- Serial defaults in Modbus mode are 9600 baud, 8 data bits, no parity, 1 stop bit; 9600 to 115200 baud are supported. Baud, parity and stop bits are coded into 44606.
- Ethernet units ship with static IP 192.168.1.10. The guide does not state the Modbus TCP port; ViewPoint lets you enter it.
- Set CT type and rating (44525, 44600/44601) and the service type (44607, wye or delta) before trusting readings.
- Choose a data scalar large enough that the biggest expected value stays under 65535 counts; the guide's selection table suggests scalars 1 to 3 depending on CT size and voltage.
Watch out for
- When the Ethernet cable is connected the RS-485 port is disabled; power-cycle with Ethernet unplugged to use RS-485.
- USB always talks Modbus, even when the meter is set to BACnet on RS-485.
- Too small a data scalar makes large readings wrap past 65535 and read wrong; too large a scalar drops decimal places.
- Demand registers show a default value until one full demand window has elapsed after a reset.
DENT Instruments PowerScout 3037 Power Meter Modbus registers
Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.
| Table | Address | Name | Description | Type | Order | Scale | Units | Access | Values / bits |
|---|---|---|---|---|---|---|---|---|---|
| HR | 4000doc 44001-44002 | kWh System | LSW 44001, MSW 44002. Raw; multiply by the kW/kWh/Demand column of the 44602 scalar. | UINT32 | CDAB | Read | |||
| HR | 4002doc 44003 | kW System | Sum of absolute phase kW. Raw; multiply by the kW/kWh/Demand column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4003doc 44004 | kW Demand System Max | Peak demand. Raw; multiply by the kW/kWh/Demand column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4004doc 44005 | kW Demand System Now | Average kW, latest demand window. Raw; x kW/kWh/Demand column of the 44602 scalar. | UINT16 | Read | ||||
| HR | 4007doc 44008-44009 | kVARh System | LSW 44008, MSW 44009. Raw; multiply by the kVAR/kVARh column of the 44602 scalar. | UINT32 | CDAB | Read | |||
| HR | 4009doc 44010 | kVAR System | Sum of absolute phase kVAR. Raw; multiply by the kVAR/kVARh column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4010doc 44011-44012 | kVAh System | LSW 44011, MSW 44012. Raw; multiply by the kVA/kVAh column of the 44602 scalar. | UINT32 | CDAB | Read | |||
| HR | 4012doc 44013 | kVA System | Raw; multiply by the kVA/kVAh column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4013doc 44014 | Displacement PF System | Register is 100 x the power factor at every data scalar setting. | UINT16 | × 0.01 | Read | |||
| HR | 4014doc 44015 | Apparent PF System | Register is 100 x the power factor at every data scalar setting. | UINT16 | × 0.01 | Read | |||
| HR | 4015doc 44016 | Amps System Avg | Average of the three phases. Raw; multiply by the Amps column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4016doc 44017 | Volts Line to Line Avg | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4017doc 44018 | Volts Line to Neutral Avg | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4018doc 44019 | Volts L1 to L2 | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4019doc 44020 | Volts L2 to L3 | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4020doc 44021 | Volts L1 to L3 | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4028doc 44029 | kW L1 | Raw; multiply by the kW/kWh/Demand column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4029doc 44030 | kW L2 | Raw; multiply by the kW/kWh/Demand column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4030doc 44031 | kW L3 | Raw; multiply by the kW/kWh/Demand column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4052doc 44053 | Apparent PF L1 | Register is 100 x the power factor at every data scalar setting. | UINT16 | × 0.01 | Read | |||
| HR | 4053doc 44054 | Apparent PF L2 | Register is 100 x the power factor at every data scalar setting. | UINT16 | × 0.01 | Read | |||
| HR | 4054doc 44055 | Apparent PF L3 | Register is 100 x the power factor at every data scalar setting. | UINT16 | × 0.01 | Read | |||
| HR | 4055doc 44056 | Amps L1 | Raw; multiply by the Amps column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4056doc 44057 | Amps L2 | Raw; multiply by the Amps column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4057doc 44058 | Amps L3 | Raw; multiply by the Amps column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4058doc 44059 | Volts L1 to Neutral | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4059doc 44060 | Volts L2 to Neutral | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4060doc 44061 | Volts L3 to Neutral | Raw; multiply by the Volts column of the 44602 data scalar. | UINT16 | Read | ||||
| HR | 4061doc 44062-44063 | Time Since Reset | Seconds since the kWh registers were reset; LSW first. | UINT32 | CDAB | s | Read | ||
| HR | 4063doc 44064 | Data Tick Counter | Sample count, cleared every minute; shows whether a reading is new. | UINT16 | Read | ||||
| HR | 4065doc 44066 | Clear Accumulated Measurements | Write 1234 to reset kWh and other accumulated values. | UINT16 | Write | ||||
| HR | 4068doc 44069 | Firmware Major Revision | UINT16 | Read | |||||
| HR | 4069doc 44070 | Firmware Minor Revision | UINT16 | Read | |||||
| HR | 4200doc 44201-44205 | Model Number | 10 ASCII characters, two per register. | STRING[10] | Read | ||||
| HR | 4205doc 44206-44210 | Serial Number | 10 ASCII characters, two per register. | STRING[10] | Read | ||||
| HR | 4401doc 44402 | Port 1 Output Control | Drives the port as a switch; needs 45110 = 0. | UINT16 | Read/write | 0 = Output low (closed); 1 = Output high (open), default | |||
| HR | 4510doc 44511 | Hardware ID | Hardware revision code. | UINT16 | Read | ||||
| HR | 4524doc 44525 | CT Type All | Sets the CT type for all three inputs. | UINT16 | Read/write | 1 = Millivolt CT; 2 = Rogowski coil | |||
| HR | 4525doc 44526 | Slave ID | 1 = Veris H8035/H8036 identity; any other value = DENT. | UINT16 | Read/write | 1 = Veris | |||
| HR | 4599doc 44600 | CT Integer All | Integer part of the CT rating, written to all three CTs. | UINT16 | Read/write | ||||
| HR | 4600doc 44601 | CT Decimal All | Fractional part of the CT rating, written to all three CTs. | UINT16 | Read/write | ||||
| HR | 4601doc 44602 | Data Scalar | Scaling of readings 44001-44061 (0-6); factors per column of the guide's table. PF always x0.01. | UINT16 | Read/write | 0 = kW/kWh/Demand x0.00001, kVAR/kVARh x0.00001, kVA/kVAh x0.00001, A x0.01, V x0.1; 1 = kW/kWh/Demand x0.001, kVAR/kVARh x0.001, kVA/kVAh x0.001, A x0.1, V x0.1; 2 = kW/kWh/Demand x0.01, kVAR/kVARh x0.01, kVA/kVAh x0.01, A x0.1, V x0.1; 3 = kW/kWh/Demand x0.1, kVAR/kVARh x0.1, kVA/kVAh x0.1, A x0.1, V x0.1; 4 = kW/kWh/Demand x1, kVAR/kVARh x1, kVA/kVAh x1, A x1, V x1; 5 = kW/kWh/Demand x10, kVAR/kVARh x10, kVA/kVAh x10, A x1, V x1; 6 = kW/kWh/Demand x100, kVAR/kVARh x100, kVA/kVAh x100, A x1, V x1 (same for any value above 6) | |||
| HR | 4602doc 44603 | Demand Window Size | Demand interval; default 15. | UINT16 | min | Read/write | |||
| HR | 4603doc 44604 | Volts Multiplier Integer | Integer part of the step-down transformer voltage multiplier. | UINT16 | Read/write | ||||
| HR | 4604doc 44605 | Amps Multiplier | Current multiplier, e.g. for x:5 A CTs. | UINT16 | Read/write | ||||
| HR | 4605doc 44606 | Communication Setting | Coded baud + parity + stop bits; e.g. 901 = 9600, no parity, 1 stop. | UINT16 | Read/write | ||||
| HR | 4606doc 44607 | Service Type | UINT16 | Read/write | 0 = Wye; 1 = Delta | ||||
| HR | 4608doc 44609 | Set Line Frequency | Nominal line frequency used for metering. | UINT16 | Hz | Read/write | 50 = 50 Hz; 60 = 60 Hz | ||
| HR | 4611doc 44612 | Communications Mode | Write 1833 to switch the meter to BACnet MS/TP. | UINT16 | Write | ||||
| HR | 4615doc 44616 | Volts Multiplier Decimal | Fractional part of the voltage multiplier, in thousandths. | UINT16 | Read/write | ||||
| HR | 5109doc 45110 | Digital Port 1 Configuration | Selects pulse source, or 0 to use the port as an on/off output. | UINT16 | Read/write | 0 = No pulses (on/off output); 44001 = System kWh pulses; 44008 = System kVARh pulses; 44011 = System kVAh pulses | |||
| HR | 5110doc 45111 | Port 1 Pulse Output Relay Type | UINT16 | Read/write | 0 = Normally open (high); 1 = Normally closed (low) | ||||
| HR | 6021doc 46022 | Measured Line Frequency | Register is 10 x frequency (602 = 60.2 Hz); not affected by the data scalar. | UINT16 | × 0.1 | Hz | Read |
Notes on this map
- Scaling: the guide's scalar table (p. 34, Table 7) applies to registers 44001-44061. Those integer readings are listed here raw (scale 1, no unit); multiply by the factor for the current Data Scalar (44602, values 0-6, see its value list) in the column named in each register's description: kW/kWh/Demand, kVAR/kVARh, kVA/kVAh, Amps or Volts. Power factor is x0.01 at every scalar, so the PF registers carry that fixed scale.
- Two-register integers (energy, time since reset) put the LSW at the lower register and the MSW at the next one; the guide's worked example (p. 36) computes MSW x 65536 + LSW, then applies the scalar. They are listed as UINT32 with CDAB word order.
- The guide says every register is a 16-bit unsigned value (p. 81), yet its positive/negative PF register descriptions refer to the system and phase PF values in 44014/44015/44050-44055 being negative. How a negative PF is encoded there is not stated; they are listed as unsigned here.
- Left out: the positive (46xxx), negative (47xxx) and NET (44150-44157, 46150-46157, 47150-47157) power and energy blocks. The guide's scalar table names only registers 44001-44061 and does not say which factor applies to these blocks. The exception is 46022, which the guide documents as 10 x Hz.
- Left out: the Veris H8035/H8036 floating-point block 40257-40310 (Table 27). The guide labels each value MSW/LSW but never states the float format, gives units only by name, and does not say whether the block answers when 44526 is not set to 1 (Veris identity).
- Left out: the Veris integer block 40001-40027. Its multipliers depend on the CT rating band (Table 26) rather than a fixed scale.
- Left out: 44022 Line Frequency (the absolute block gives no scale); use 46022.
- Left out: per-CT settings 50100-50399, the CT phase-shift registers, the snap-to-zero thresholds and the synchronize register 40129, as their encodings are not fully stated.
- Left out for size: the per-phase energy, kVAR, kVA and displacement-PF registers and the extra demand registers 44080-44084 (see pp. 67-70).
- DENT's one-page 'Interpreting the PowerScout Registers - Data Scaling' sheet (https://www.dentinstruments.com/wp-content/uploads/2022/09/Interpreting_PowerScout_Registers_Data_Scaling.pdf) gives the same scalar table, but its worked examples name registers 44302 and 44064 as the scalar register; in the guide 44064 is the Data Tick Counter. The guide's 44602 is followed here.
Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.
Questions about the DENT Instruments PowerScout 3037 Power Meter
What Modbus registers does the DENT Instruments PowerScout 3037 Power Meter have?
This map lists 53 registers: 53 holding registers. 17 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the DENT Instruments PowerScout 3037 Power Meter Modbus addresses 0-based or 1-based?
The manufacturer's document numbers registers Modicon 3xxxx/4xxxx (drop the prefix, subtract 1). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. The tables print 4xxxx register numbers next to an 'Offset' column, and the guide states the offset is relative to 40001 and that the address sent on the wire is the register minus 40001 (its examples: 40025 is sent as 0024, 44062 as 4061). So wire address = printed register - 40001, which equals the printed offset.
What byte order does the DENT Instruments PowerScout 3037 Power Meter use for 32-bit values?
Multi-register values in this map use CDAB (low word first (word-swapped)). Set your client to this order for every 32/64-bit value in the table.
What are the minimum Modbus registers to integrate the DENT Instruments PowerScout 3037 Power Meter?
Start with HR 4601 Data Scalar (Data scalar that sets the integer scaling); HR 4000 kWh System (System kWh (raw, LSW first)); HR 4002 kW System (System kW (raw)); HR 4014 Apparent PF System (System apparent power factor); HR 4055 Amps L1 (Phase 1 current (raw)); HR 4058 Volts L1 to Neutral (Phase 1-N voltage (raw)).
How do I enable Modbus control of the DENT Instruments PowerScout 3037 Power Meter?
Modbus is the factory protocol on RS-485. To return from BACnet to Modbus, write 375 to BACnet object 10190 in ViewPoint, or power up with the address switches at FF, set LSB = 1 (Modbus) and MSB to the baud code within 10 seconds. Switches at 00 force Modbus at 9600 8N1. Writing 1833 to 44612 changes the meter to BACnet.
Where is the official DENT Instruments PowerScout 3037 Power Meter Modbus documentation?
The source is Operator's Guide: PowerScout 3037 Power Meter and ViewPoint Software, revision 2017-11-09, published free by DENT Instruments at https://www.dentinstruments.com/wp-content/uploads/2022/04/PS3037_Manual.pdf.
Source: Operator's Guide: PowerScout 3037 Power Meter and ViewPoint Software · rev. 2017-11-09. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.