Weidmüller Energy Meter BasicLine EM111-RTU-2P-MID Modbus register map
Also covers 3099190000
Single-phase MID energy meter, 45 A direct connection, RS485 Modbus RTU
- Official
- 33 registers
- Modbus RTU
- Revision 1 · 2026-10-18
- Identity: serial number
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 RTU
- Unit ID
- 1
- Serial
- 2400 8N1 · 2400 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
- 12 holding registers, 21 input registers
- Groups
- 5
- Revision
- 1 · 2026-10-18
- Added
- ()
- File
- maps/weidmuller/em111-rtu-2p-mid.mbmap.json · 7 KB · history
- SHA-256
- 858f13572a913a48b175507d37156db18b753435464d7253b79379d658fec650
- Manufacturer
- weidmueller.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Serial number | Serial number | holding 64512 | uint32 ABCD |
Sources and notes
- Bedienungsanleitung - Energy Meter - BasicLine (EM111-RTU-2P-MID, EM111-MBUS-2P-MID) · version 00, 2025-06 chapter 6, Modbus-Register (document 3149630000)
Source: Weidmüller, Bedienungsanleitung Energy Meter BasicLine, 3149630000, 00/06.2025
- Addresses are the hexadecimal protocol start addresses of the manual (30001 is address 0). Measurements are read with function code 4 and the settings with function codes 3 and 16.
- The manual does not state the byte or word order; floats are read big-endian.
- Most settings are 32-bit floats holding a whole number. Parity and stop bits and baud rate need a restart to take effect.
- The display says the parity default is none, while the parity register says the default is 1 (even). The map follows the display.
- Meter is delivered with ID 1 and 2400 baud; the display allows 1200 to 9600 baud.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 0 | float32 ABCD | R | V | |||
| IR | 6 | float32 ABCD | R | A | |||
| IR | 12 | float32 ABCD | R | W | |||
| IR | 18 | float32 ABCD | R | VA | |||
| IR | 24 | float32 ABCD | R | var | |||
| IR | 30 | float32 ABCD | R | ||||
| IR | 70 | float32 ABCD | R | Hz | |||
| IR | 72 | float32 ABCD | R | kWh | |||
| IR | 74 | float32 ABCD | R | kWh | |||
| IR | 76 | float32 ABCD | R | kvarh | |||
| IR | 78 | float32 ABCD | R | kvarh | |||
| IR | 84 | float32 ABCD | R | W | |||
| IR | 86 | float32 ABCD | R | W | |||
| IR | 88 | float32 ABCD | R | W | |||
| IR | 90 | float32 ABCD | R | W | |||
| IR | 92 | float32 ABCD | R | W | |||
| IR | 94 | float32 ABCD | R | W | |||
| IR | 258 | float32 ABCD | R | A | |||
| IR | 264 | float32 ABCD | R | A | |||
| IR | 342 | float32 ABCD | R | kWh | |||
| IR | 344 | float32 ABCD | R | kvarh | |||
| HR | 2 | float32 ABCD | RW | min | Allowed values 0, 5, 8, 10, 15, 20, 30 and 60 minutes (default 60). At 0 the demand shows the present value and the maximum demand the highest value since the last reset | ||
| HR | 12 | float32 ABCD | RW | ms | Allowed values 60, 100 and 200 ms (default 60) | ||
| HR | 18 | float32 ABCD | RW | 0 = one stop bit, no parity; 1 = one stop bit, even parity; 2 = one stop bit, odd parity; 3 = two stop bits, no parity. Needs a restart to take effect | |||
| HR | 20 | float32 ABCD | RW | Modbus address, 1 to 247 | |||
| HR | 28 | float32 ABCD | RW | 0 = 2400 baud, 1 = 4800, 2 = 9600, 5 = 1200 (default 2400) | |||
| HR | 86 | float32 ABCD | RW | Energy that pulse output 1 counts: 1 = import active, 2 = total active, 4 = export active (default), 5 = import reactive, 6 = total reactive, 8 = export reactive | |||
| HR | 61456 | uint16 | W | ||||
| HR | 63744 | uint16 | RW | ||||
| HR | 63760 | uint16 | RW | ||||
| HR | 63776 | uint16 | RW | ||||
| HR | 64512 | uint32 ABCD | R | ||||
| HR | 64514 | uint16 | R | Fixed code 0x0020 |
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).