CarloGavazzi CarloGavazzi EM300 Modbus RTU template

CarloGavazzi EM300

The CarloGavazzi EM300 is a class 1, MID-certified three-phase bidirectional energy meter designed for building automation, commercial, and industrial metering applications. This Modbus RTU template reads per-phase voltage, current, active power, apparent power, and reactive power across all three phases, plus system-level totals for active, apparent, and reactive power and grid frequency. Positive active-power values indicate import; negative values indicate export, making the EM300 suitable for both consumption and grid-feed monitoring. Connecting the EM300 to the ModbusCloud Gateway gives installers live multi-phase power data and historical trending without additional hardware.

Protocol
Modbus RTU
Connection
RS485
Registers
19, read only
Last updated

Registers (19)

19 read, 0 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
voltage_l1VRead
voltage_l2VRead
voltage_l3VRead
current_l1ARead
current_l2ARead
current_l3ARead
active_power_l1WRead
active_power_l2WRead
active_power_l3WRead
apparent_power_l1WRead
apparent_power_l2WRead
apparent_power_l3WRead
reactive_power_l1WRead
reactive_power_l2WRead
reactive_power_l3WRead
active_powerWRead
apparent_powerVARead
reactive_powervarRead
frequencyHzRead

Loading registers…

Send your device list

If a device is not in the library yet, we build the template for free as soon as we have the register data.

Number of installations (optional)

Use cases

  • Monitor per-phase active power on L1, L2, and L3 to detect load imbalance across phases in a commercial building.
  • Track total reactive power to identify power-factor issues and schedule capacitor-bank corrections before utility penalties apply.
  • Alert on sudden drops in grid frequency to detect upstream supply events at industrial or multi-tenant sites.
  • Compare apparent power against active power per phase to calculate and trend real-time power factor without a separate analyser.
  • Verify that phase voltages on L1, L2, and L3 stay within acceptable limits and alert on sustained over- or under-voltage conditions.

Installation

  1. Configure the EM300 Modbus RTU address, baud rate, and parity using the front-panel menu under the communication settings section; note the chosen slave address for portal entry.

  2. Wire the RS485 A and B terminals of the EM300 to the ModbusCloud Gateway RS485 port using shielded twisted-pair cable; fit a 120-ohm termination resistor at each end of the bus if the meter is the last device on the segment.

  3. In the ModbusCloud portal, add the Gateway, create a new device, import the CarloGavazzi EM300 template, and enter the slave unit ID matching the address set on the meter.

  4. Confirm communication by spot-checking the frequency register in the portal live view; a reading near 50 Hz confirms the RS485 link and template assignment are correct.

Things to watch for

All register values read as zero or clearly wrong. Why?

The EM300 returns int32 values as two consecutive 16-bit words in MSB-first (big-endian) byte order within each word, but the word order is most-significant word first. Confirm your Modbus master is assembling the two words in the correct order. A swapped word order produces a value that is numerically plausible but wrong by a large factor.

The gateway connects but active power reads negative unexpectedly. Is that an error?

No. The EM300 protocol defines negative active power as exported power and positive as imported power. If your site is a net exporter at the measurement point, negative readings are correct. Verify the CT orientation matches the intended import direction per the installation manual.

RS485 communication is intermittent or produces CRC errors. How do I fix it?

Intermittent errors on RS485 are almost always caused by missing bus termination. The EM300 communication protocol requires a 120-ohm resistor between the A and B lines at the master end and at the last device on the bus. Also verify that baud rate and parity settings on the meter and Gateway match exactly.

Apparent power unit in the register list shows W but should be VA. Is the scaling correct?

The template input labels apparent_power with the unit W, but the EM300 protocol reports apparent power in VA at the same numeric scale as the active-power registers. Treat the raw value as VA when reading address 42. Reactive power at address 44 is likewise in var. No additional scaling factor is applied beyond the int32 raw value.

Want to see how it works?

Electrician working in an open distribution board