Lovato Electric DMG210 Modbus register map

Three-phase digital multimeter. Lovato's DMG Modbus protocol document says the DMG110 and DMG210 support Modbus RTU and Modbus ASCII on the RS-485 port, and its tables mark each address for the DMG110/DMG210 column together; this map keeps the addresses marked for the DMG210 and does not include the DMG300 to DMG900 or DMG6xx-only rows, the min/max/average/demand blocks or the harmonics tables.

Protocol
Modbus RTU and Modbus ASCII (RS-485)
Defaults
Menu M07 defaults: serial node address 1 (range 1 to 255), 9600 bps, data format 8 bit no parity, 1 stop bit, protocol Modbus RTU.
Addresses in the manual
1-based register numbers (wire address is the number minus 1)
32 and 64-bit values
High word first (AB CD)
Registers listed
79
Checked against
I317 I GB 02_22 (Doc. I317IGB02_22.doc), dated 07/02/2022, 41 pages, vendor hosted

Address base. The manual prints the addresses in hexadecimal (for example 0016H for L2 active power), converted to decimal here, and states that the address in the query message must be decreased by one from the address in the table. Its worked example reads active power L2 at table address 0016H with a query address of 00 15, so wire address = printed number minus 1. Reads use function 03 or 04; setup parameters use 04 to read and 06 to write and need the save to EEPROM command described in the manual. Footnote o of Table 8 says the DMG110 reads and writes parameters through a different selection scheme (registers 0x5000 to 0x5004), so the setup rows here apply to the DMG210 only. For example 2 in the manual (L1 phase voltage) is address 1 on the wire.

Word order. The worked example on p. 4 returns the 32-bit active power L2 as bytes 00 01 FB 00 = 129792, so the high word is in the first register. The manual shows no example for the 4 register (64-bit) energy counters; assume the same high-word-first order and check against the meter.

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

79 registers
Manual Wire Register Type Regs Unit Scale Access Area
2 1 L1 phase voltageVoltage_L1_N · Printed as 0002H in the manual. uint32 2 V 0.01 R Holding (FC03)
4 3 L2 phase voltageVoltage_L2_N · Printed as 0004H in the manual. uint32 2 V 0.01 R Holding (FC03)
6 5 L3 phase voltageVoltage_L3_N · Printed as 0006H in the manual. uint32 2 V 0.01 R Holding (FC03)
8 7 L1 currentCurrent_L1 · Printed as 0008H in the manual. uint32 2 A 0.0001 R Holding (FC03)
10 9 L2 currentCurrent_L2 · Printed as 000AH in the manual. uint32 2 A 0.0001 R Holding (FC03)
12 11 L3 currentCurrent_L3 · Printed as 000CH in the manual. uint32 2 A 0.0001 R Holding (FC03)
14 13 L1-L2 voltageVoltage_L1_L2 · Printed as 000EH in the manual. uint32 2 V 0.01 R Holding (FC03)
16 15 L2-L3 voltageVoltage_L2_L3 · Printed as 0010H in the manual. uint32 2 V 0.01 R Holding (FC03)
18 17 L3-L1 voltageVoltage_L3_L1 · Printed as 0012H in the manual. uint32 2 V 0.01 R Holding (FC03)
20 19 L1 active powerActive_Power_L1 · Printed as 0014H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 W 0.01 R Holding (FC03)
22 21 L2 active powerActive_Power_L2 · Printed as 0016H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 W 0.01 R Holding (FC03)
24 23 L3 active powerActive_Power_L3 · Printed as 0018H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 W 0.01 R Holding (FC03)
26 25 L1 reactive powerReactive_Power_L1 · Printed as 001AH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 var 0.01 R Holding (FC03)
28 27 L2 reactive powerReactive_Power_L2 · Printed as 001CH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 var 0.01 R Holding (FC03)
30 29 L3 reactive powerReactive_Power_L3 · Printed as 001EH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 var 0.01 R Holding (FC03)
32 31 L1 apparent powerApparent_Power_L1 · Printed as 0020H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. uint32 2 VA 0.01 R Holding (FC03)
34 33 L2 apparent powerApparent_Power_L2 · Printed as 0022H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. uint32 2 VA 0.01 R Holding (FC03)
36 35 L3 apparent powerApparent_Power_L3 · Printed as 0024H in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. uint32 2 VA 0.01 R Holding (FC03)
38 37 L1 power factorPower_Factor_L1 · Printed as 0026H in the manual. int32 2 0.0001 R Holding (FC03)
40 39 L2 power factorPower_Factor_L2 · Printed as 0028H in the manual. int32 2 0.0001 R Holding (FC03)
42 41 L3 power factorPower_Factor_L3 · Printed as 002AH in the manual. int32 2 0.0001 R Holding (FC03)
50 49 FrequencyFrequency · Printed as 0032H in the manual. The manual lists Hz/1000 for the family and Hz/100 for the DMG210, so 0.01 is used here for the DMG210. uint32 2 Hz 0.01 R Holding (FC03)
52 51 Equivalent phase voltageVoltage_Phase_Equivalent · Printed as 0034H in the manual. uint32 2 V 0.01 R Holding (FC03)
54 53 Equivalent phase-to-phase voltageVoltage_Line_Equivalent · Printed as 0036H in the manual. uint32 2 V 0.01 R Holding (FC03)
56 55 Equivalent currentCurrent_Equivalent · Printed as 0038H in the manual. uint32 2 A 0.0001 R Holding (FC03)
58 57 Equivalent active powerActive_Power_Total · Printed as 003AH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 W 0.01 R Holding (FC03)
60 59 Equivalent reactive powerReactive_Power_Total · Printed as 003CH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. int32 2 var 0.01 R Holding (FC03)
62 61 Equivalent apparent powerApparent_Power_Total · Printed as 003EH in the manual. The table 2 footnote says power values use 1/100 resolution, or 1/10 when the maximum theoretical power per phase (from the CT and VT ratios) exceeds 5 MW, and that register 2F70H reads 0000h for the 1/100 scale. The footnote lists that function only from software revision 08 (DMG700), 09 (DMG800) and 06 (DMG900), so it is not stated for the DMG210. uint32 2 VA 0.01 R Holding (FC03)
64 63 Equivalent power factorPower_Factor_Total · Printed as 0040H in the manual. int32 2 0.0001 R Holding (FC03)
66 65 Phase-phase voltage asymmetryVoltage_Asymmetry_Phase_Phase · Printed as 0042H in the manual. uint32 2 % 0.01 R Holding (FC03)
68 67 Phase-neutral voltage asymmetryVoltage_Asymmetry_Phase_Neutral · Printed as 0044H in the manual. uint32 2 % 0.01 R Holding (FC03)
70 69 Current asymmetryCurrent_Asymmetry · Printed as 0046H in the manual. uint32 2 % 0.01 R Holding (FC03)
72 71 Neutral currentCurrent_Neutral · Printed as 0048H in the manual. uint32 2 A 0.0001 R Holding (FC03)
84 83 L1 voltage THDTHD_Voltage_L1 · Printed as 0054H in the manual. uint32 2 % 0.01 R Holding (FC03)
86 85 L2 voltage THDTHD_Voltage_L2 · Printed as 0056H in the manual. uint32 2 % 0.01 R Holding (FC03)
88 87 L3 voltage THDTHD_Voltage_L3 · Printed as 0058H in the manual. uint32 2 % 0.01 R Holding (FC03)
90 89 L1 current THDTHD_Current_L1 · Printed as 005AH in the manual. uint32 2 % 0.01 R Holding (FC03)
92 91 L2 current THDTHD_Current_L2 · Printed as 005CH in the manual. uint32 2 % 0.01 R Holding (FC03)
94 93 L3 current THDTHD_Current_L3 · Printed as 005EH in the manual. uint32 2 % 0.01 R Holding (FC03)
96 95 L1-L2 voltage THDTHD_Voltage_L1_L2 · Printed as 0060H in the manual. uint32 2 % 0.01 R Holding (FC03)
98 97 L2-L3 voltage THDTHD_Voltage_L2_L3 · Printed as 0062H in the manual. uint32 2 % 0.01 R Holding (FC03)
100 99 L3-L1 voltage THDTHD_Voltage_L3_L1 · Printed as 0064H in the manual. uint32 2 % 0.01 R Holding (FC03)
8308 8307 Phase sequence statusPhase_Sequence_OK · Printed as 2074H in the manual. 1 = good, 0 = not good. The manual marks this address for the DMG210. uint16 1 1 R Holding (FC03)
6688 6687 Total imported active energy (2 register counter)Energy_Active_Import_Total_32 · Printed as 1A20H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kWh. uint32 2 kWh 0.01 R Holding (FC03)
6690 6689 Total exported active energy (2 register counter)Energy_Active_Export_Total_32 · Printed as 1A22H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kWh. uint32 2 kWh 0.01 R Holding (FC03)
6692 6691 Total imported reactive energy (2 register counter)Energy_Reactive_Import_Total_32 · Printed as 1A24H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kvarh. uint32 2 kvarh 0.01 R Holding (FC03)
6694 6693 Total exported reactive energy (2 register counter)Energy_Reactive_Export_Total_32 · Printed as 1A26H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kvarh. uint32 2 kvarh 0.01 R Holding (FC03)
6696 6695 Total apparent energy (2 register counter)Energy_Apparent_Total_32 · Printed as 1A28H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kVAh. uint32 2 kVAh 0.01 R Holding (FC03)
6698 6697 Partial imported active energy (2 register counter)Energy_Active_Import_Partial_32 · Printed as 1A2AH in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kWh. uint32 2 kWh 0.01 R Holding (FC03)
6700 6699 Partial exported active energy (2 register counter)Energy_Active_Export_Partial_32 · Printed as 1A2CH in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kWh. uint32 2 kWh 0.01 R Holding (FC03)
6702 6701 Partial imported reactive energy (2 register counter)Energy_Reactive_Import_Partial_32 · Printed as 1A2EH in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kvarh. uint32 2 kvarh 0.01 R Holding (FC03)
6704 6703 Partial exported reactive energy (2 register counter)Energy_Reactive_Export_Partial_32 · Printed as 1A30H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kvarh. uint32 2 kvarh 0.01 R Holding (FC03)
6706 6705 Partial apparent energy (2 register counter)Energy_Apparent_Partial_32 · Printed as 1A32H in the manual. This 2 register counter rolls over to 0 after 19 999 999.99 kVAh. uint32 2 kVAh 0.01 R Holding (FC03)
6944 6943 Total imported active energy (4 register counter)Energy_Active_Import_Total_64 · Printed as 1B20H in the manual. The 4 register counter rolls over after 999 999 999.99 kWh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kWh 0.01 R Holding (FC03)
6948 6947 Total exported active energy (4 register counter)Energy_Active_Export_Total_64 · Printed as 1B24H in the manual. The 4 register counter rolls over after 999 999 999.99 kWh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kWh 0.01 R Holding (FC03)
6952 6951 Total imported reactive energy (4 register counter)Energy_Reactive_Import_Total_64 · Printed as 1B28H in the manual. The 4 register counter rolls over after 999 999 999.99 kvarh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kvarh 0.01 R Holding (FC03)
6956 6955 Total exported reactive energy (4 register counter)Energy_Reactive_Export_Total_64 · Printed as 1B2CH in the manual. The 4 register counter rolls over after 999 999 999.99 kvarh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kvarh 0.01 R Holding (FC03)
6960 6959 Total apparent energy (4 register counter)Energy_Apparent_Total_64 · Printed as 1B30H in the manual. The 4 register counter rolls over after 999 999 999.99 kVAh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kVAh 0.01 R Holding (FC03)
6964 6963 Partial imported active energy (4 register counter)Energy_Active_Import_Partial_64 · Printed as 1B34H in the manual. The 4 register counter rolls over after 999 999 999.99 kWh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kWh 0.01 R Holding (FC03)
6968 6967 Partial exported active energy (4 register counter)Energy_Active_Export_Partial_64 · Printed as 1B38H in the manual. The 4 register counter rolls over after 999 999 999.99 kWh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kWh 0.01 R Holding (FC03)
6972 6971 Partial imported reactive energy (4 register counter)Energy_Reactive_Import_Partial_64 · Printed as 1B3CH in the manual. The 4 register counter rolls over after 999 999 999.99 kvarh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kvarh 0.01 R Holding (FC03)
6976 6975 Partial exported reactive energy (4 register counter)Energy_Reactive_Export_Partial_64 · Printed as 1B40H in the manual. The 4 register counter rolls over after 999 999 999.99 kvarh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kvarh 0.01 R Holding (FC03)
6980 6979 Partial apparent energy (4 register counter)Energy_Apparent_Partial_64 · Printed as 1B44H in the manual. The 4 register counter rolls over after 999 999 999.99 kVAh for units at or above the software revision marked beside the symbol (07 in the DMG110/DMG210 column); earlier revisions behave like the 2 register counters at 1A20H and following. uint64 4 kVAh 0.01 R Holding (FC03)
7680 7679 Total hour meterHour_Meter_Total · Printed as 1E00H in the manual. uint32 2 s 1 R Holding (FC03)
7682 7681 Partial hour meterHour_Meter_Partial · Printed as 1E02H in the manual. uint32 2 s 1 R Holding (FC03)
12272 12271 Command registerCommand · Printed as 2FF0H in the manual; written with function 06. Values the manual lists for the DMG110/DMG210 column: 0 reset HI-LO values, 1 reset max demand, 2 reset partial energy, 3 reset partial hour counter, 11 reset all energy counters, 12 reset all hour counters, 13 parameters to default, 14 backup parameters, 15 restore parameters, 16 wiring test, 100 reset HI, 200 reset LO. The manual recommends a reboot command after 13, 14 and 15. uint16 1 1 W Holding (FC03)
12033 12032 System reboot commandSystem_Reboot · Printed as 2F01H in the manual; write 1 to reboot the device (function 06). uint16 1 1 W Holding (FC03)
20480 20479 CT primary (P01.01)CT_Primary · Printed as 5000H in the manual. Range 1 to 10000, default 5. uint16 1 1 RW Holding (FC03)
20482 20481 CT secondary (P01.02)CT_Secondary · Printed as 5002H in the manual. Range 0 to 1, default 1. The manual does not define the meaning of the values. uint16 1 1 RW Holding (FC03)
20484 20483 Rated voltage (P01.03)Rated_Voltage · Printed as 5004H in the manual. Range 49 to 500000, default 49. The manual lists no unit. uint32 2 1 RW Holding (FC03)
20486 20485 Use VT (P01.04)Use_VT · Printed as 5006H in the manual. 0 or 1, default 0. uint16 1 1 RW Holding (FC03)
20488 20487 VT primary (P01.05)VT_Primary · Printed as 5008H in the manual. Range 50 to 500000, default 100. The manual lists no unit. uint32 2 1 RW Holding (FC03)
20490 20489 VT secondary (P01.06)VT_Secondary · Printed as 500AH in the manual. Range 50 to 500, default 100. The manual lists no unit. uint16 1 1 RW Holding (FC03)
20492 20491 Wiring type (P01.07)Wiring_Type · Printed as 500CH in the manual. Range 0 to 5, default 0. The code meanings are not given in this document. uint16 1 1 RW Holding (FC03)
21248 21247 Serial node address (P07.1.01)Serial_Node_Address · Printed as 5300H in the manual. Range 1 to 255, default 1. Address given for channel n = 1 by the formula 5300H + (n minus 1) * 80H. uint16 1 1 RW Holding (FC03)
21250 21249 Serial speed code (P07.1.02)Serial_Speed · Printed as 5302H in the manual. Range 0 to 5, default 3. The default speed in the M07 menu table is 9600 bps; the manual does not list the code to speed mapping. Channel n = 1. uint16 1 1 RW Holding (FC03)
21252 21251 Serial data format code (P07.1.03)Serial_Data_Format · Printed as 5304H in the manual. Range 0 to 4, default 0 (8 bit, no parity in the M07 table). The code to format mapping is not listed. Channel n = 1. uint16 1 1 RW Holding (FC03)
21254 21253 Stop bits code (P07.1.04)Serial_Stop_Bits · Printed as 5306H in the manual. Range 0 to 1, default 0 (1 stop bit is the default in the M07 table). Channel n = 1. uint16 1 1 RW Holding (FC03)
21256 21255 Protocol code (P07.1.05)Serial_Protocol · Printed as 5308H in the manual. Range 0 to 1, default 0 (Modbus RTU is the default in the M07 table). Channel n = 1. uint16 1 1 RW Holding (FC03)

Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. In Modbus Poll set Word order to AB CD.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: DMG series Modbus communication protocol (Doc. I317IGB02_22) (catalogue.lovatoelectric.com)

I317 I GB 02_22 (Doc. I317IGB02_22.doc), dated 07/02/2022, 41 pages, vendor hosted, pp. 2 to 5, 9 to 10, 13 to 16, 22 to 23, 25 (Tables 2, 3 and 8). Read on 2026-10-24.

Also used: Lovato Electric DMG210 product page (technical instructions list) (catalogue.lovatoelectric.com)

Also used: Lovato Electric digital multimeters DMG200, DMG210 instruction manual I269IGBFE02_17 (catalogue.lovatoelectric.com)

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

Other power meters

All register maps · Modbus addressing explained