Vaisala Vaisala GMP252 Modbus RTU template

Vaisala GMP252

CARBOCAP CO2 probe for greenhouses, agriculture and HVAC, with temperature and pressure compensation.

The Vaisala GMP252 is a CARBOCAP CO2 probe that measures carbon dioxide from 0 to 10 000 ppm in greenhouses, agriculture, refrigeration and HVAC. This Modbus RTU template reads the CO2 concentration, probe temperature and status, and lets you set the pressure, temperature, humidity and oxygen compensation, the filtering factor and the serial settings from ModbusCloud.

Protocol
Modbus RTU
Connection
RS485, 19200 baud
Registers
25, read and write
Brand
Vaisala
Key readings
CO2 concentration · Measured temperature · Compensation temperature · Device status · CO2 status · Error code
Available commands
Pressure compensation · Temperature compensation · Humidity compensation · Oxygen compensation · CO2 filtering factor · Modbus address and serial settings
Compatible models
GMP252 · GMP251
Last updated

Registers (25)

25 read, 17 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
Measured CO2 ValueppmRead
Compensation Temperature°CRead
Measured Temperature°CRead
Measured CO2 Value (Integer)ppmRead
Measured CO2 Value (Integer x10)ppmRead
Device StatusRead
CO2 StatusRead
Error CodeRead
Power-up Pressure CompensationhPaRead and write
Power-up Temperature Compensation°CRead and write
Power-up Humidity Compensation%RHRead and write
Power-up Oxygen Compensation%Read and write
Volatile Pressure CompensationhPaRead and write
Volatile Temperature Compensation°CRead and write
Volatile Humidity Compensation%RHRead and write
Volatile Oxygen Compensation%Read and write
Pressure Compensation ModeRead and write
Temperature Compensation ModeRead and write
Humidity Compensation ModeRead and write
Oxygen Compensation ModeRead and write
CO2 Filtering FactorRead and write
Modbus AddressRead and write
Serial SpeedRead and write
Serial ParityRead and write
Serial Stop BitsRead and write

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

  • Show the CO2 level of each greenhouse compartment on a dashboard and keep 365 days of history.
  • Get an email, in-app or webhook alert when CO2 drops below or rises above the level the crop needs.
  • Raise an alert when Device Status or Error Code is not 0, for example on a low supply voltage or a dirty or wet sensor.
  • Set pressure, temperature, humidity or oxygen compensation remotely when conditions at the probe differ from the defaults.
  • Raise the CO2 filtering from the portal when occasional spikes in the reading need to be averaged out.

Installation

  1. Connect pin 4 (RS-485+, black wire) and pin 2 (RS-485-, white) of the Vaisala M12 cable to the RS485 port of the ModbusCloud Gateway, and pin 3 (blue) to ground. Terminate a long bus at both ends with 120 Ω.

  2. Power the probe with 12 to 30 V DC on pin 1 (brown). Leave pin 5 (gray) open, because pin 5 on ground forces analog output.

  3. Make sure the probe is in Modbus mode with address 240, 19200 baud, no parity, 8 data bits and 2 stop bits. Use Vaisala Insight to change this if needed.

  4. In ModbusCloud, add a Modbus device on the gateway with these settings and import the Vaisala GMP252 template.

  5. Wait about 2 minutes for warm-up, then check that Measured CO2 Value shows a plausible level and Device Status reads 0.

Things to watch for

The probe does not answer on the RS485 bus. What should I check?

Check 19200 baud, no parity, 8 data bits and 2 stop bits at address 240. Many masters default to 1 stop bit. Check that RS-485+ is on pin 4 and RS-485- on pin 2, and swap them if nothing answers. Pin 5 must not be connected to ground, because that keeps the probe in analog mode. A probe ordered with analog output has to be switched to Modbus first, for example with Vaisala Insight.

Why does the CO2 value look wrong right after power-up?

The probe starts within 12 seconds but needs about 2 minutes to warm up, and the CO2 reading rises to its correct value in that time. CO2 Status shows 2 or 256 while the measurement is not ready. If values stay odd, check the compensation settings, because a wrong pressure or temperature compensation shifts the reading.

Which CO2 value should I use on a GMP251?

The GMP251 measures up to 20 % CO2, which is 200 000 ppm. The plain integer value stops at 32 767 ppm, so use Measured CO2 Value or the integer value scaled by 10, which goes up to about 320 000 ppm. On a GMP252 all three show the same level.

How do I update the pressure compensation without wearing out the probe?

Write values that change, such as the air pressure from a weather station, to the volatile compensation registers. They are cleared at reset and then take the power-up value again. The power-up registers are stored in EEPROM, which allows about 30 000 writes, so only use them for permanent settings. Read the value back after writing, because the probe can refuse a value outside its range.

Writing a mode or the filtering factor returns an error. Why?

The probe only accepts writes as a write multiple request (function code 16). The 32-bit compensation values are always written that way. If writing a single 16-bit setting such as a compensation mode, the filtering factor or the address returns an error, change that setting with Vaisala Insight. Writing registers in ModbusCloud is off by default and is enabled per gateway on request.

Want to see how it works?

Electrician working in an open distribution board