Easy Modbus
  1. Home
  2. Modbus register maps
  3. Regin
  4. Corrigo ventilation controller (ventilation application 3.6)

Air handler controller · Modbus register map

Regin Corrigo ventilation controller (ventilation application 3.6) Modbus register map

Updated 24 October 2026

Short answer

The Regin Corrigo is a pre-programmed air handling unit controller whose ventilation application is reachable over EXOline, Modbus and BACnet. As a Modbus slave it publishes temperatures, pressures, flows and humidity as input registers, setpoints and manual/auto modes as holding registers, and alarm and I/O states as discrete inputs. Every value is a single 16-bit register; real values are sent multiplied by 10, except air flow (factor 1) and time settings (factor 100).

This page lists 134 Modbus registers for the Regin Corrigo ventilation controller (ventilation application 3.6) — 45 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Regin’s own free documentation (linked below) and checked against it.

Manufacturer
Regin
Model
Corrigo ventilation controller (ventilation application 3.6)
Equipment type
Air handler controller
Registers
134 (45 writable)
Transport
Modbus RTU
Default unit ID
1
Default serial
9600 baud, 8N1
Documented addressing
Modicon 3xxxx/4xxxx (drop the prefix, subtract 1)
Firmware
Corrigo ventilation application 3.6
Also known as
Corrigo E, Corrigo ventilation, Corrigo E ventilation, Corrigo AHU controller
Source document
Corrigo ventilation - List of network variables for EXOline, Modbus and BACnet communication (from version 3.6) · Revision 20 · rev. 2016-07
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Regin Corrigo ventilation controller (ventilation application 3.6)

Integration in brief

Connect the Corrigo as a Modbus slave, read input registers 30001-30024 for temperatures and pressures and discrete inputs 10184-10186 for sum alarms, and command the unit through holding register 40368 (Manual off / reduced / normal / Auto) plus the setpoints at 40001-40037.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 367Air handler operating modeUINT16Air handler operating mode (manual/auto command)Read/write
HR 0Supply air setpointINT16Supply air setpointRead/write
IR 2Unit run stateUINT16Unit run stateRead
IR 6Supply air temperatureINT16Supply air temperatureRead
IR 0Outdoor temperatureINT16Outdoor temperatureRead
IR 8Extract air temperatureINT16Extract air temperatureRead
DI 183Sum alarmBITSum alarmRead
CO 2Acknowledge all alarmsBITAcknowledge all alarmsRead/write

Enable Modbus control & writes

Set the Modbus slave address and line settings on the Corrigo display or with E tool. Defaults are slave address 1, 9600 baud, 8 data bits, no parity, 1 stop bit, RTU. Only signals that have a default value in the list can be written.

Byte order & addressing

Network setup

Watch out for

Regin Corrigo ventilation controller (ventilation application 3.6) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

134 of 134 shown
Regin Corrigo ventilation controller (ventilation application 3.6) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
CO2doc 00003Acknowledge all alarmsWrite 1 to acknowledge every pending alarm.BITRead/write0 = -; 1 = Acknowledge
CO9doc 00010Filter alarm resetResets the filter service-alarm counter.BITRead/write0 = -; 1 = Reset
DI0doc 10001Full speed time channel activeBITRead0 = Off; 1 = On
DI1doc 10002Reduced speed time channel activeBITRead0 = Off; 1 = On
DI7doc 10008Extended run, full speedBITRead0 = Off; 1 = On
DI8doc 10009Extended run, half speedBITRead0 = Off; 1 = On
DI13doc 10014Digital input DI1BITRead0 = Off; 1 = On
DI14doc 10015Digital input DI2BITRead0 = Off; 1 = On
DI15doc 10016Digital input DI3BITRead0 = Off; 1 = On
DI16doc 10017Digital input DI4BITRead0 = Off; 1 = On
DI17doc 10018Digital input DI5BITRead0 = Off; 1 = On
DI18doc 10019Digital input DI6BITRead0 = Off; 1 = On
DI19doc 10020Digital input DI7BITRead0 = Off; 1 = On
DI20doc 10021Digital input DI8BITRead0 = Off; 1 = On
DI25doc 10026Digital output DO1BITRead0 = Off; 1 = On
DI26doc 10027Digital output DO2BITRead0 = Off; 1 = On
DI27doc 10028Digital output DO3BITRead0 = Off; 1 = On
DI28doc 10029Digital output DO4BITRead0 = Off; 1 = On
DI29doc 10030Digital output DO5BITRead0 = Off; 1 = On
DI30doc 10031Digital output DO6BITRead0 = Off; 1 = On
DI31doc 10032Digital output DO7BITRead0 = Off; 1 = On
DI32doc 10033Alarm 1: Supply fan malfunctionBITRead0 = No alarm; 1 = Alarm
DI33doc 10034Alarm 2: Extract fan malfunctionBITRead0 = No alarm; 1 = Alarm
DI34doc 10035Alarm 3: Heating pump P1 malfunctionBITRead0 = No alarm; 1 = Alarm
DI35doc 10036Alarm 4: Cooling pump P1 malfunctionBITRead0 = No alarm; 1 = Alarm
DI36doc 10037Alarm 5: Exchanger pump P1 malfunctionBITRead0 = No alarm; 1 = Alarm
DI37doc 10038Alarm 6: Filter guard 1BITRead0 = No alarm; 1 = Alarm
DI38doc 10039Alarm 7: Flow guardBITRead0 = No alarm; 1 = Alarm
DI39doc 10040Alarm 8: External frost guardBITRead0 = No alarm; 1 = Alarm
DI41doc 10042Alarm 10: Fire alarmBITRead0 = No alarm; 1 = Alarm
DI43doc 10044Alarm 12: External alarmBITRead0 = No alarm; 1 = Alarm
DI46doc 10047Alarm 15: High supply air temperatureBITRead0 = No alarm; 1 = Alarm
DI47doc 10048Alarm 16: Low supply air temperatureBITRead0 = No alarm; 1 = Alarm
DI54doc 10055Alarm 23: Electric heater overheatedBITRead0 = No alarm; 1 = Alarm
DI55doc 10056Alarm 24: Frost riskBITRead0 = No alarm; 1 = Alarm
DI56doc 10057Alarm 25: Low frost guard temperatureBITRead0 = No alarm; 1 = Alarm
DI58doc 10059Alarm 27: Outdoor sensor errorBITRead0 = No alarm; 1 = Alarm
DI60doc 10061Alarm 29: Exchanger rotation guardBITRead0 = No alarm; 1 = Alarm
DI61doc 10062Alarm 30: Fire damper malfunctionBITRead0 = No alarm; 1 = Alarm
DI79doc 10080Alarm 48: Internal battery errorBITRead0 = No alarm; 1 = Alarm
DI80doc 10081Supply fan start, full speedBITRead0 = Off; 1 = On
DI81doc 10082Extract fan start, full speedBITRead0 = Off; 1 = On
DI82doc 10083Supply fan start, half speedBITRead0 = Off; 1 = On
DI83doc 10084Extract fan start, half speedBITRead0 = Off; 1 = On
DI84doc 10085Heating pump startBITRead0 = Off; 1 = On
DI86doc 10087Cooling pump startBITRead0 = Off; 1 = On
DI183doc 10184Sum alarmSet while any A or B alarm is present.BITRead0 = No alarm; 1 = Alarm
DI184doc 10185A-alarmSet while any A-class alarm is present.BITRead0 = No alarm; 1 = Alarm
DI185doc 10186B-alarmSet while any B- or C-class alarm is present.BITRead0 = No alarm; 1 = Alarm
IR0doc 30001Outdoor temperatureINT16× 0.1°CRead
IR1doc 30002Heat exchanger efficiencyCalculated exchanger efficiency.INT16× 0.1%Read
IR2doc 30003Unit run stateCurrent operating state of the air handler.UINT16Read0 = Stopped; 1 = Starting up; 2 = Starting reduced speed; 3 = Starting full speed; 4 = Starting normal run; 5 = Normal run; 6 = Support control heating; 7 = Support control cooling; 8 = CO2 run; 9 = Night cooling; 10 = Full speed stop; 11 = Stopping fan
IR5doc 30006Extended running timeMinutes of extended (override) operation.INT16minRead
IR6doc 30007Supply air temperatureINT16× 0.1°CRead
IR7doc 30008Calculated supply air setpointActive supply setpoint under outdoor compensation or cascade control.INT16× 0.1°CRead
IR8doc 30009Extract air temperatureAir drawn from the room; variable is named ExhaustAirTemp in the list.INT16× 0.1°CRead
IR9doc 30010Room temperature 1INT16× 0.1°CRead
IR10doc 30011Room temperature 2INT16× 0.1°CRead
IR12doc 30013Supply fan duct pressureINT16× 0.1PaRead
IR13doc 30014Extract fan duct pressureINT16× 0.1PaRead
IR14doc 30015Supply air flowAir flow signals are not scaled (factor 1).INT16m3/hRead
IR15doc 30016Extract air flowAir flow signals are not scaled (factor 1).INT16m3/hRead
IR16doc 30017CO2INT16× 0.1ppmRead
IR18doc 30019Frost protection temperatureWater heating coil frost protection sensor.INT16× 0.1°CRead
IR19doc 30020Exhaust air temperatureAir leaving the unit; variable is named ExtractAirTemp in the list.INT16× 0.1°CRead
IR20doc 30021De-icing temperatureHeat exchanger de-icing sensor.INT16× 0.1°CRead
IR22doc 30023Room humidityINT16× 0.1%RHRead
IR23doc 30024Duct humidityINT16× 0.1%RHRead
IR118doc 30119Heating control signal Y1Analogue output to the heating valve or heater.INT16× 0.1VRead
IR119doc 30120Exchanger control signal Y2INT16× 0.1VRead
IR120doc 30121Cooling control signal Y3INT16× 0.1VRead
IR121doc 30122Supply fan control signalINT16× 0.1VRead
IR122doc 30123Extract fan control signalINT16× 0.1VRead
IR123doc 30124Humidity control signalINT16× 0.1VRead
IR125doc 30126Supply temperature controller outputINT16× 0.1%Read
IR127doc 30128Supply fan pressure/flow controller outputINT16× 0.1%Read
IR128doc 30129Extract fan pressure/flow controller outputINT16× 0.1%Read
IR134doc 30135Room temperature (sensors 1 and 2)Room value derived from room sensors 1 and 2.INT16× 0.1°CRead
IR154doc 30155Outdoor humidityINT16× 0.1%RHRead
IR271doc 30272Supply fan motor speedFrom a Modbus-connected supply fan drive.INT16× 0.1HzRead
IR272doc 30273Supply fan motor currentINT16× 0.1ARead
IR273doc 30274Supply fan motor powerPercent of nominal power.INT16× 0.1%Read
IR275doc 30276Extract fan motor speedFrom a Modbus-connected extract fan drive.INT16× 0.1HzRead
IR276doc 30277Extract fan motor currentINT16× 0.1ARead
IR277doc 30278Extract fan motor powerPercent of nominal power.INT16× 0.1%Read
IR283doc 30284Unit run modeSummary of the fan speed state.UINT16Read0 = Off; 1 = Reduced speed; 2 = Normal speed; 3 = Stopped by alarm
IR285doc 30286Intake air temperatureINT16× 0.1°CRead
IR297doc 30298Specific fan power (SFP)Actual SFP.INT16× 0.1kW/(m3/s)Read
IR300doc 30301Filter 1 pressure dropAnalogue filter guard 1.INT16× 0.1PaRead
IR301doc 30302Filter 2 pressure dropAnalogue filter guard 2.INT16× 0.1PaRead
IR330doc 30331Total calculated powerCalculated total power consumption.INT16× 0.1kWRead
HR0doc 40001Supply air setpointConstant supply air temperature control. Default 18 °C.INT16× 0.1°CRead/write
HR17doc 40018Extract air setpointExtract air temperature control. Default 21 °C.INT16× 0.1°CRead/write
HR18doc 40019Room setpointRoom (cascade) control. Default 21 °C.INT16× 0.1°CRead/write
HR23doc 40024Supply fan pressure setpoint, full speedINT16× 0.1PaRead/write
HR24doc 40025Supply fan pressure setpoint, reduced speedINT16× 0.1PaRead/write
HR25doc 40026Extract fan pressure setpoint, full speedINT16× 0.1PaRead/write
HR26doc 40027Extract fan pressure setpoint, reduced speedINT16× 0.1PaRead/write
HR27doc 40028Supply air flow setpoint, full speedAir flow values use factor 1.INT16m3/hRead/write
HR28doc 40029Supply air flow setpoint, reduced speedAir flow values use factor 1.INT16m3/hRead/write
HR29doc 40030Extract air flow setpoint, full speedAir flow values use factor 1.INT16m3/hRead/write
HR30doc 40031Extract air flow setpoint, reduced speedAir flow values use factor 1.INT16m3/hRead/write
HR31doc 40032CO2 setpointDefault 1000 ppm.INT16× 0.1ppmRead/write
HR36doc 40037Room humidity setpointDefault 50 %RH.INT16× 0.1%RHRead/write
HR332doc 40333Supply air high alarm limitINT16× 0.1°CRead/write
HR333doc 40334Supply air low alarm limitINT16× 0.1°CRead/write
HR338doc 40339Frost protection alarm limitINT16× 0.1°CRead/write
HR367doc 40368Air handler operating modeMain manual/auto command for the unit. Default 3 (Auto).UINT16Read/write0 = Manual off; 1 = Manual reduced speed; 2 = Manual normal speed; 3 = Auto
HR368doc 40369Supply temperature controller modeUINT16Read/write0 = Manual off; 1 = Manual on; 2 = Auto
HR369doc 40370Supply temperature controller manual outputUsed when the controller mode is Manual on.INT16× 0.1%Read/write
HR370doc 40371Supply fan modeUINT16Read/write0 = Off; 1 = Manual half speed; 2 = Manual full speed; 3 = Auto
HR371doc 40372Extract fan modeUINT16Read/write0 = Off; 1 = Manual half speed; 2 = Manual full speed; 3 = Auto
HR376doc 40377Heating modeUINT16Read/write0 = Off; 1 = Manual; 2 = Auto
HR377doc 40378Heating manual outputHeating controller output used in Manual mode.INT16× 0.1Read/write
HR378doc 40379Exchanger modeUINT16Read/write0 = Off; 1 = Manual; 2 = Auto
HR379doc 40380Exchanger manual outputExchanger controller output used in Manual mode.INT16× 0.1Read/write
HR380doc 40381Cooling modeUINT16Read/write0 = Off; 1 = Manual; 2 = Auto
HR381doc 40382Cooling manual outputCooling controller output used in Manual mode.INT16× 0.1Read/write
HR384doc 40385Heating pump P1 modeUINT16Read/write0 = Manual off; 1 = Manual on; 2 = Auto
HR387doc 40388Fire damper modeUINT16Read/write0 = Close; 1 = Open; 2 = Auto
HR391doc 40392Outdoor temperature (writable)BMS may write it when no outdoor sensor is wired.INT16× 0.1°CRead/write
HR392doc 40393Full speed time channel modeUINT16Read/write0 = Manual off; 1 = Manual on; 2 = Forced off; 3 = Forced on; 4 = Auto
HR393doc 40394Reduced speed time channel modeUINT16Read/write0 = Manual off; 1 = Manual on; 2 = Forced off; 3 = Forced on; 4 = Auto
HR399doc 40400Acknowledge alarm numberWrite an alarm number to acknowledge that alarm.UINT16Read/write
HR400doc 40401Block alarm numberWrite an alarm number to block that alarm.UINT16Read/write
HR401doc 40402Unblock alarm numberWrite an alarm number to unblock that alarm.UINT16Read/write
HR403doc 40404Supply setpoint max (cascade)Upper supply setpoint limit in cascade control.INT16× 0.1°CRead/write
HR404doc 40405Supply setpoint min (cascade)Lower supply setpoint limit in cascade control.INT16× 0.1°CRead/write
HR450doc 40451External controlDefault 2 (no external control).UINT16Read/write0 = Extended run full speed; 1 = External stop; 2 = No external control; 3 = External stop with support control
HR473doc 40474Temperature control modeConfiguration: which temperature the unit controls.UINT16Read/write0 = Constant supply air; 1 = Outdoor compensated supply air; 2 = Cascade room temperature; 3 = Extract air temperature; 4 = Outdoor dependent supply or room; 5 = Outdoor dependent supply or extract; 6 = Cascade outdoor compensated room; 7 = Cascade outdoor compensated extract
HR474doc 40475Fan control typeConfiguration.UINT16Read/write0 = 1-speed; 1 = 2-speed; 2 = Frequency control, pressure; 3 = Frequency control, air flow; 4 = Frequency control, manual; 5 = Direct frequency control; 6 = Frequency control, slave EAF; 7 = Frequency control, slave EAF by air flow; 8 = Frequency control, slave SAF; 9 = Frequency control, slave SAF by air flow
HR475doc 40476Heating typeConfiguration.UINT16Read/write0 = Water; 1 = Electric; 2 = Not connected; 3 = Water and electric
HR476doc 40477Cooling typeConfiguration.UINT16Read/write0 = Water; 1 = DX; 2 = Not connected; 3 = DX with exchanger control
HR477doc 40478Heat exchanger typeConfiguration.UINT16Read/write0 = Damper; 1 = Rotary exchanger; 2 = Plate exchanger; 3 = Liquid exchanger; 4 = Not connected

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the Regin Corrigo ventilation controller (ventilation application 3.6)

What Modbus registers does the Regin Corrigo ventilation controller (ventilation application 3.6) have?

This map lists 134 registers: 2 coils, 47 discrete inputs, 42 input registers, 43 holding registers. 45 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the Regin Corrigo ventilation controller (ventilation application 3.6) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers Modicon 3xxxx/4xxxx (drop the prefix, subtract 1). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. The 3.6 list prints Modicon reference numbers (00001 coils, 10001 discrete inputs, 30001 input registers, 40001 holding registers), and every table starts at 1; the older 3.2 list prints the same points as bare numbers starting at 1 (e.g. 9 for 30009). We apply the standard Modicon rule (subtract the table base and 1), so Outdoor temperature 30001 is input register 0 on the wire. The manual never states the offset in words; the only worked example is a test-tool screenshot that reads AO1 (30054) by entering point address 54, which matches a tool that numbers points from 1. Confirm on site by reading the outdoor or supply temperature.

What are the minimum Modbus registers to integrate the Regin Corrigo ventilation controller (ventilation application 3.6)?

Start with HR 367 Air handler operating mode (Air handler operating mode (manual/auto command)); HR 0 Supply air setpoint (Supply air setpoint); IR 2 Unit run state (Unit run state); IR 6 Supply air temperature (Supply air temperature); IR 0 Outdoor temperature (Outdoor temperature); IR 8 Extract air temperature (Extract air temperature); DI 183 Sum alarm (Sum alarm); CO 2 Acknowledge all alarms (Acknowledge all alarms).

How do I enable Modbus control of the Regin Corrigo ventilation controller (ventilation application 3.6)?

Set the Modbus slave address and line settings on the Corrigo display or with E tool. Defaults are slave address 1, 9600 baud, 8 data bits, no parity, 1 stop bit, RTU. Only signals that have a default value in the list can be written.

Where is the official Regin Corrigo ventilation controller (ventilation application 3.6) Modbus documentation?

The source is Corrigo ventilation - List of network variables for EXOline, Modbus and BACnet communication (from version 3.6) (Revision 20), revision 2016-07, published free by Regin at https://www.regincontrols.com/globalassets/pimmediafiles/documents/corrigo_ventilation_variables_for_exoline_modbus_and_bacnet_3.6_manu_en.pdf.

Source: Corrigo ventilation - List of network variables for EXOline, Modbus and BACnet communication (from version 3.6) · Revision 20 · rev. 2016-07. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.