MBMap Registry
  1. Devices
  2. Carlo Gavazzi
  3. WM30 / WM40

Carlo Gavazzi WM30 / WM40 Modbus register map

Modular three-phase power analyzers (96 mm panel), Modbus RTU or TCP through a communication module

  • Official
  • 531 registers
  • Modbus TCP and RTU
  • Revision 2 · 2026-10-17
  • Identity: model, firmware

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 TCP and RTU
Unit ID
1
TCP port
502default
Serial
9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
Byte / word order
CDAB · bytes big-endian, words low first (word swap)
Addresses
0-based
Max read
125 registers per request

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

Map

Registers
93 holding registers, 438 input registers
Groups
11
Revision
2 · 2026-10-17
Added
()
File
maps/carlo-gavazzi/wm30-wm40.mbmap.json · 87 KB · history
SHA-256
d67ad6dcf6faea5d08fc50de3787043acd7d3df76116d7d7630ff5908272a6c9
Manufacturer
gavazziautomation.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
Firmware Base firmware version revision input 0 uint16 bits 0–7
Model Carlo Gavazzi identification code input 11 uint16 65 = WM30, 66 = WM40, 98 = WM20

Sources and notes

Source: Carlo Gavazzi, "WM20-WM30-WM40 Communication Protocol", rev. 3.0 (2016-02-17)

  • FC03 or FC04 read (the same values), FC06 and FC10 write; at most 125 registers per read.
  • Floats and 64-bit integers are low word first (bytes high first in each word).
  • Firmware codes in the protocol: X = WM30, Y = WM40, Z = WM20, followed by the revision. Registers without a note are on both WM30 and WM40; most min, max and demand max values and the odd/even harmonics are WM40 only.
  • Not in this map: harmonic FFT blocks (0x0600-0x08D0), harmonic phase angles (0x0900), alarm set-up blocks (0x1050, 0x1500), per-variable min/max resets (0x3200) and module settings other than RS485.
AreaAddressNameTypeAccessUnitScaleDescription
IR 0 uint16 bits 8–15 R High byte: ASCII model letter (A = AV5, B = AV6, C = AV4, D = AV7); low byte: revision
IR 0 uint16 bits 0–7 R
IR 80 float32 CDAB R V
IR 82 float32 CDAB R V
IR 84 float32 CDAB R V
IR 86 float32 CDAB R V
IR 88 float32 CDAB R V
IR 90 float32 CDAB R V
IR 92 float32 CDAB R V
IR 94 float32 CDAB R V
IR 96 float32 CDAB R A
IR 98 float32 CDAB R A
IR 100 float32 CDAB R A
IR 102 float32 CDAB R A Calculated by the base; measured by the optional module on WM40
IR 104 float32 CDAB R W
IR 106 float32 CDAB R W
IR 108 float32 CDAB R W
IR 110 float32 CDAB R W
IR 112 float32 CDAB R VA
IR 114 float32 CDAB R VA
IR 116 float32 CDAB R VA
IR 118 float32 CDAB R VA
IR 120 float32 CDAB R var
IR 122 float32 CDAB R var
IR 124 float32 CDAB R var
IR 126 float32 CDAB R var
IR 128 float32 CDAB R Negative = lead (C), positive = lag (L)
IR 130 float32 CDAB R
IR 132 float32 CDAB R
IR 134 float32 CDAB R
IR 136 float32 CDAB R Hz
IR 138 float32 CDAB R %
IR 140 float32 CDAB R %
IR 142 float32 CDAB R +1 = L1-L2-L3, -1 = wrong sequence
IR 144 float32 CDAB R WM40 only
IR 146 float32 CDAB R WM40 only
IR 148 float32 CDAB R WM40 only
IR 150 float32 CDAB R Optional module only; WM40 only
IR 152 float32 CDAB R Optional module only; WM40 only
IR 160 float32 CDAB R %
IR 162 float32 CDAB R %
IR 164 float32 CDAB R %
IR 166 float32 CDAB R %
IR 168 float32 CDAB R %
IR 170 float32 CDAB R %
IR 172 float32 CDAB R %
IR 174 float32 CDAB R %
IR 176 float32 CDAB R %
IR 178 float32 CDAB R % WM40 only
IR 180 float32 CDAB R % WM40 only
IR 182 float32 CDAB R % WM40 only
IR 184 float32 CDAB R % WM40 only
IR 186 float32 CDAB R % WM40 only
IR 188 float32 CDAB R % WM40 only
IR 190 float32 CDAB R % WM40 only
IR 192 float32 CDAB R % WM40 only
IR 194 float32 CDAB R % WM40 only
IR 196 float32 CDAB R % WM40 only
IR 198 float32 CDAB R % WM40 only
IR 200 float32 CDAB R % WM40 only
IR 202 float32 CDAB R % WM40 only
IR 204 float32 CDAB R % WM40 only
IR 206 float32 CDAB R % WM40 only
IR 208 float32 CDAB R % WM40 only
IR 210 float32 CDAB R % WM40 only
IR 212 float32 CDAB R % WM40 only
IR 214 float32 CDAB R % WM40 only
IR 216 float32 CDAB R % WM40 only
IR 218 float32 CDAB R % WM40 only
IR 336 float32 CDAB R V
IR 338 float32 CDAB R V
IR 340 float32 CDAB R V
IR 342 float32 CDAB R V
IR 344 float32 CDAB R V
IR 346 float32 CDAB R V
IR 348 float32 CDAB R V
IR 350 float32 CDAB R V
IR 352 float32 CDAB R A
IR 354 float32 CDAB R A
IR 356 float32 CDAB R A
IR 358 float32 CDAB R A
IR 360 float32 CDAB R W
IR 362 float32 CDAB R W
IR 364 float32 CDAB R W
IR 366 float32 CDAB R W
IR 368 float32 CDAB R VA
IR 370 float32 CDAB R VA
IR 372 float32 CDAB R VA
IR 374 float32 CDAB R VA
IR 376 float32 CDAB R var
IR 378 float32 CDAB R var
IR 380 float32 CDAB R var
IR 382 float32 CDAB R var
IR 384 float32 CDAB R Negative = lead (C), positive = lag (L)
IR 386 float32 CDAB R
IR 388 float32 CDAB R
IR 390 float32 CDAB R
IR 392 float32 CDAB R Hz
IR 394 float32 CDAB R %
IR 396 float32 CDAB R %

Help improve this map