MBMap Registry
  1. Devices
  2. ABB
  3. B21

ABB B21 Modbus register map

Single-phase DIN rail energy meter of the EQ B-series (direct connected, 65 A), Modbus RTU over RS485

  • Official
  • 89 registers
  • Modbus RTU
  • Revision 3 · 2026-10-18
  • Identity: firmware, 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
9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
Byte / word order
ABCD · bytes big-endian, words high first
Addresses
0-based
Max read
125 registers per request

Connection values are defaults: the device may be configured differently.

Map

Registers
89 holding registers
Groups
15
Translation tables
1
Revision
3 · 2026-10-18
Added
()
File
maps/abb/b21.mbmap.json · 17 KB · history
SHA-256
8f6e687184200b1c612c26b62cdd972579d7f4442135c719a12bc16e65a1a090
Manufacturer
abb.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.

Registers
RoleRegisterAddressTypeValues
Serial number Serial number holding 35072 uint32 ABCD
Firmware Firmware version holding 35080 string[8]

Sources and notes

Source: ABB, "B21 User Manual", 2CMC485004M0201 revision D (2025-11-07); https://library.abb.com/d/2CMC485004M0201

  • ABB EQ meter B21 (single phase, direct connected, 65 A) with RS485, protocol set to Modbus.
  • Addresses are exactly as sent on the bus. Readable range is 0x1000-0x8EFF; any block of 1-125 registers works.
  • The manual lists the common EQ mapping; only the single-phase quantities are in this map. The others read as "invalid".
  • Quantities a model does not have read as "invalid": all FFFF for unsigned, the largest positive value for signed.
  • Outputs, tariffs, resettable registers, CO2 and currency depend on the variant (Steel, Bronze, Silver). Steel meters (B21 1xx-xxx) only have import registers.
  • The manual does not state the factory RS485 settings; check them on the meter display.
AreaAddressNameTypeAccessUnitScaleDescription
HR 20480 uint64 ABCD R kWh ×0.01
HR 20484 uint64 ABCD R kWh ×0.01
HR 20488 int64 ABCD R kWh ×0.01 Import minus export
HR 20492 uint64 ABCD R kvarh ×0.01
HR 20496 uint64 ABCD R kvarh ×0.01
HR 20500 int64 ABCD R kvarh ×0.01
HR 20504 uint64 ABCD R kVAh ×0.01
HR 20508 uint64 ABCD R kVAh ×0.01
HR 20512 int64 ABCD R kVAh ×0.01
HR 20516 uint64 ABCD R kg ×0.001 Uses the CO2 conversion factor at 0x8CE0
HR 20532 uint64 ABCD R ×0.001 Uses the currency conversion factor at 0x8CE2
HR 20848 uint64 ABCD R kWh ×0.01
HR 20852 uint64 ABCD R kWh ×0.01
HR 20856 uint64 ABCD R kWh ×0.01
HR 20860 uint64 ABCD R kWh ×0.01
HR 20880 uint64 ABCD R kWh ×0.01
HR 20884 uint64 ABCD R kWh ×0.01
HR 20888 uint64 ABCD R kWh ×0.01
HR 20892 uint64 ABCD R kWh ×0.01
HR 20912 uint64 ABCD R kvarh ×0.01
HR 20916 uint64 ABCD R kvarh ×0.01
HR 20920 uint64 ABCD R kvarh ×0.01
HR 20924 uint64 ABCD R kvarh ×0.01
HR 20944 uint64 ABCD R kvarh ×0.01
HR 20948 uint64 ABCD R kvarh ×0.01
HR 20952 uint64 ABCD R kvarh ×0.01
HR 20956 uint64 ABCD R kvarh ×0.01
HR 21804 uint64 ABCD R kWh ×0.01
HR 21808 uint64 ABCD R kWh ×0.01
HR 21812 uint64 ABCD R kvarh ×0.01 The manual's table gives kWh; kvarh assumed
HR 21816 uint64 ABCD R kvarh ×0.01 The manual's table gives kWh; kvarh assumed
HR 23296 uint32 ABCD R V ×0.1
HR 23308 uint32 ABCD R A ×0.01
HR 23316 int32 ABCD R W ×0.01 Limited to about ±21 MW; use the DMTME block above that
HR 23318 int32 ABCD R W ×0.01
HR 23324 int32 ABCD R var ×0.01
HR 23326 int32 ABCD R var ×0.01
HR 23332 int32 ABCD R VA ×0.01
HR 23334 int32 ABCD R VA ×0.01
HR 23340 uint16 R Hz ×0.01
HR 23341 int16 R ° ×0.1 -180 to +180
HR 23342 int16 R ° ×0.1
HR 23345 int16 R ° ×0.1
HR 23351 int16 R ° ×0.1
HR 23354 int16 R ×0.001
HR 23355 int16 R ×0.001
HR 23358 uint16 R 1-4
HR 23359 uint16 R 1-4
HR 4142 uint32 ABCD R W No decimals; for powers above ±21 MW
HR 4150 uint32 ABCD R var No decimals
HR 4134 uint32 ABCD R VA No decimals
HR 25344 uint16 RW
HR 25345 uint16 RW
HR 35072 uint32 ABCD R
HR 35080 string[8] R Digits separated by periods, e.g. 1.0.0
HR 35088 uint16 bits 8–15 R
HR 35088 uint16 bits 0–7 R
HR 35168 string[6] R e.g. B21 312-100
HR 35328 uint16 bits 8–15 R Year byte of the date/time; the date/time is written as one 3-register value, not field by field
HR 35328 uint16 bits 0–7 R
HR 35329 uint16 bits 8–15 R
HR 35329 uint16 bits 0–7 R
HR 35330 uint16 bits 8–15 R
HR 35330 uint16 bits 0–7 R
HR 35331 uint16 R
HR 35332 uint16 R
HR 35333 uint16 R 0-3 = day type 1-4
HR 35334 uint16 R 0-3 = season 1-4
HR 35335 uint16 RW
HR 35375 uint16 R
HR 35386 uint16 bits 0–7 R h Duration of the last outage; its days (3 bytes from 0x8A39) are not in this map
HR 35387 uint16 bits 8–15 R min
HR 35387 uint16 bits 0–7 R s
HR 35400 uint64 ABCD R Times the resettable register was reset
HR 35404 uint64 ABCD R
HR 35408 uint64 ABCD R
HR 35412 uint64 ABCD R
HR 36064 uint32 ABCD RW kg/kWh ×0.001
HR 36066 uint32 ABCD RW ×0.01 Currency per kWh
HR 36068 uint16 RW
HR 36069 uint16 R 1-3
HR 36608 uint16 W
HR 36613 uint16 W
HR 36635 uint16 W
HR 36636 uint16 W
HR 36637 uint16 W
HR 36638 uint16 W
HR 36639 uint16 W
HR 36640 uint16 W

Help improve this map