Lovato Electric DMG110 Modbus register map
Digital multimeter
- Verified
- 57 registers
- Modbus RTU
- Revision 3 · 2026-11-10
- Identity: model, firmware
Verified: Tested on a real device.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- 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
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 57 holding registers
- Groups
- 5
- Translation tables
- 1
- Revision
- 3 · 2026-11-10
- Added
- ()
- File
- maps/lovato-electric/dmg110.mbmap.json · 12 KB · history
- SHA-256
- 72e0b3f6685915823cd8c496d6b59ece4c3100231bd2857b08f46af823e6bbe1
- Manufacturer
- lovatoelectric.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7 and 4.8).
| Role | Field | Where in the answer | Values |
|---|---|---|---|
| Model | Type | byte 0, uint8 | 0x51 = DMG110 |
| Firmware | Software revision | byte 1, uint8 | |
| — | Hardware revision | byte 2, uint8 | |
| — | Parameter revision | byte 3, uint8 |
Sources and notes
- DMG series - Modbus communication protocol · version I317 I GB 02_22, 2022-02-07 tables 2 and 3
Source: Lovato Electric, DMG series Modbus communication protocol, I317 I GB 02_22
- Addresses are those of the manual; the address sent in the request is one less (address_base 1).
- Function 03 and 04 both read the measurements. 32- and 64-bit values are sent high word first.
- The model is reported by function 17 (Report Slave ID), see identify: type code 0x51 = DMG110.
- Max (HI), min (LO), average and max demand values, harmonics, I/O and setup parameters (tables 4-8 of the manual) are not listed here.
- Tested on a DMG110 (Report Slave ID type code 0x51, software revision 1, hardware revision 0, parameter revision 3) read over a Modbus TCP gateway, November 2026: all 55 registers read without errors. Checked: voltages, currents, power, power factor, THD, neutral current, asymmetry, the 64-bit energy counters, hour meters, phase sequence and the word order (big). Frequency read 50020, so its scale is 0.001 (50.02 Hz), not 0.01 as this map had before.
- On that meter Active power L1 and Power factor L1 read 0 while the total active power (941.7 W) is 267 W less than the sum of the three phases (1208.4 W), so a negative L1 power may be shown as 0. This was not confirmed.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 2 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 4 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 6 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 8 | uint32 ABCD | R | A | ×0.0001 | ||
| HR | 10 | uint32 ABCD | R | A | ×0.0001 | ||
| HR | 12 | uint32 ABCD | R | A | ×0.0001 | ||
| HR | 14 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 16 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 18 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 20 | int32 ABCD | R | W | ×0.01 | ||
| HR | 22 | int32 ABCD | R | W | ×0.01 | ||
| HR | 24 | int32 ABCD | R | W | ×0.01 | ||
| HR | 26 | int32 ABCD | R | var | ×0.01 | ||
| HR | 28 | int32 ABCD | R | var | ×0.01 | ||
| HR | 30 | int32 ABCD | R | var | ×0.01 | ||
| HR | 32 | uint32 ABCD | R | VA | ×0.01 | ||
| HR | 34 | uint32 ABCD | R | VA | ×0.01 | ||
| HR | 36 | uint32 ABCD | R | VA | ×0.01 | ||
| HR | 38 | int32 ABCD | R | ×0.0001 | |||
| HR | 40 | int32 ABCD | R | ×0.0001 | |||
| HR | 42 | int32 ABCD | R | ×0.0001 | |||
| HR | 50 | uint32 ABCD | R | Hz | ×0.001 | ||
| HR | 52 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 54 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 56 | uint32 ABCD | R | A | ×0.0001 | ||
| HR | 58 | int32 ABCD | R | W | ×0.01 | ||
| HR | 60 | int32 ABCD | R | var | ×0.01 | ||
| HR | 62 | uint32 ABCD | R | VA | ×0.01 | ||
| HR | 64 | int32 ABCD | R | ×0.0001 | |||
| HR | 66 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 68 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 70 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 72 | uint32 ABCD | R | A | ×0.0001 | ||
| HR | 84 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 86 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 88 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 90 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 92 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 94 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 96 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 98 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 100 | uint32 ABCD | R | % | ×0.01 | ||
| HR | 6944 | uint64 ABCD | R | kWh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6948 | uint64 ABCD | R | kWh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6952 | uint64 ABCD | R | kvarh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6956 | uint64 ABCD | R | kvarh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6960 | uint64 ABCD | R | kVAh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6964 | uint64 ABCD | R | kWh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6968 | uint64 ABCD | R | kWh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6972 | uint64 ABCD | R | kvarh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6976 | uint64 ABCD | R | kvarh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 6980 | uint64 ABCD | R | kVAh | ×0.01 | 64-bit counter from software revision 07; older revisions roll over like the 32-bit counters | |
| HR | 7680 | uint32 ABCD | R | s | |||
| HR | 7682 | uint32 ABCD | R | s | |||
| HR | 8432 | uint16 | R | ||||
| HR | 12033 | uint16 | W | Write 1 | |||
| HR | 12272 | uint16 | W | Write with function 06; send a reboot after the parameter commands (13-15) |
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).