modelAirToWater
Controller for AWHP plant
Extends from Buildings.Templates.Plants.HeatPumps.Components.Interfaces.PartialController (Interface for heat pump plant controller).
Information
This class implements the sequence of operation for plants with air-to-water heat pumps. It is based on the controller Buildings.Templates.Plants.Controls.HeatPumps.AirToWater.
Control points
The control sequence requires the following external input points in addition to those already included in the AWHP plant template.
-
Outdoor air temperature
TOut: AI signal with a dimensionality of zero -
HW differential pressure from remote sensor(s)
dpHeaWatRem: AI signal with a dimensionality of one, the number of remote sensors is specified by the parameternSenDpHeaWatRem. -
CHW differential pressure from remote sensor(s)
dpChiWatRem– only for heating and cooling plants: AI signal with a dimensionality of one, the number of remote sensors is specified by the parameternSenDpChiWatRem. -
Inside the sub-bus
busAirHan[:]orbusEquZon[:], with a dimensionality of one-
HW plant requests yielded by the air handler or zone equipment
controller
bus(AirHan|EquZon)[:].reqPlaHeaWat: AI signal (Integer), with a dimensionality of one -
HW reset requests yielded by the air handler or zone equipment
controller
bus(AirHan|EquZon)[:].reqResHeaWat: AI signal (Integer), with a dimensionality of one -
CHW plant requests yielded by the air handler or zone equipment
controller
bus(AirHan|EquZon)[:].reqPlaChiWat– only for heating and cooling plants: AI signal (Integer), with a dimensionality of one -
CHW reset requests yielded by the air handler or zone equipment
controller
bus(AirHan|EquZon)[:].reqResChiWat– only for heating and cooling plants: AI signal (Integer), with a dimensionality of one
-
HW plant requests yielded by the air handler or zone equipment
controller
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Templates.Plants.HeatPumps.Components.Data.Controller | dat (from PartialController) | Parameter record for controller | |
| Integer | nHp (from PartialController) | cfg.nHp | Number of heat pumps (excluding polyvalent HPs) |
| Integer | nPhp (from PartialController) | cfg.nPhp | Number of polyvalent heat pumps |
| Boolean | have_senVHeaWatPri (from PartialController) | Set to true for plants with primary HW flow sensor | |
| Boolean | have_senVHeaWatLoo (from PartialController) | Set to true for plants with HW loop flow sensor | |
| Boolean | have_senVHeaWatSec (from PartialController) | Set to true for plants with secondary HW flow sensor | |
| Boolean | have_senVChiWatPri (from PartialController) | Set to true for plants with primary CHW flow sensor | |
| Boolean | have_senVChiWatLoo (from PartialController) | Set to true for plants with CHW loop flow sensor | |
| Boolean | have_senVChiWatSec (from PartialController) | Set to true for plants with secondary CHW flow sensor | |
| Boolean | have_senTHeaWatPriRet (from PartialController) | Set to true for plants with primary HW return temperature sensor | |
| Boolean | have_senTHeaWatLooRet (from PartialController) | Set to true for plants with HW loop return temperature sensor | |
| Boolean | have_senTChiWatPriRet (from PartialController) | Set to true for plants with primary CHW return temperature sensor | |
| Boolean | have_senTChiWatLooRet (from PartialController) | Set to true for plants with CHW loop return temperature sensor | |
| Boolean | have_senTHeaWatSecSup (from PartialController) | Set to true for plants with secondary HW supply temperature sensor | |
| Boolean | have_senTChiWatSecSup (from PartialController) | Set to true for plants with secondary CHW supply temperature sensor | |
| Boolean | have_senTHeaWatSecRet (from PartialController) | Set to true for plants with secondary HW return temperature sensor | |
| Boolean | have_senTChiWatSecRet (from PartialController) | Set to true for plants with secondary CHW return temperature sensor | |
| Configuration | |||
| Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlant | cfg (from PartialController) | Plant configuration parameters | |
| Buildings.Templates.Plants.HeatPumps.Types.Controller | typ (from PartialController) | Type of controller | |
| Integer | nAirHan (from PartialController) | Number of air handling units served by the plant | |
| Integer | nEquZon (from PartialController) | Number of terminal units (zone equipment) served by the plant | |
| Sensors | |||
| Boolean | have_senTPriRet_select (from PartialController) | false | Set to true for plants with primary CHW/HW return temperature sensor |
| Boolean | have_senTLooRet_select (from PartialController) | false | Set to true for plants with CHW/HW loop return temperature sensor (load side of minimum flow bypass) |
| Boolean | have_senDpHeaWatRemWir (from PartialController) | false | Set to true for remote HW differential pressure sensor(s) hardwired to plant or pump controller |
| Integer | nSenDpHeaWatRem (from PartialController) | 1 | Number of remote HW differential pressure sensors used for HW pump speed control |
| Boolean | have_senDpChiWatRemWir (from PartialController) | have_senDpHeaWatRemWir | Set to true for remote CHW differential pressure sensor(s) hardwired to plant or pump controller |
| Integer | nSenDpChiWatRem (from PartialController) | 1 | Number of remote CHW differential pressure sensors used for CHW pump speed control |
| Plant enable | |||
| Boolean | have_inpSch (from PartialController) | false | Set to true to provide schedule via software input point |
| Real[:,2] | schHea (from PartialController) | dat.schHea | Heating mode enable schedule |
| Real[:,2] | schCoo (from PartialController) | dat.schCoo | Cooling mode enable schedule |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Templates.Plants.HeatPumps.Interfaces.Bus | bus (from PartialController) | Plant control bus | |
| Buildings.Templates.AirHandlersFans.Interfaces.Bus[nAirHan] | busAirHan (from PartialController) | Air handling unit control bus | |
| Buildings.Templates.ZoneEquipment.Interfaces.Bus[nEquZon] | busEquZon (from PartialController) | Terminal unit control bus |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Controls.PrimaryPumpSignalRouting | rouPumChiWatPri (from PartialController) | Primary CHW pump signal routing | |
| Controls.PrimaryPumpSignalRouting | rouPumHeaWatPri (from PartialController) | Primary HW pump signal routing | |
| Buildings.Templates.Plants.Controls.HeatPumps.AirToWater | ctl | Plant controller | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqPlaHeaWatAirHan | Sum of HW plant requests from AHU | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqPlaHeaWatEquZon | Sum of HW plant requests from zone equipment | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqResHeaWatAirHan | Sum of HW reset requests from AHU | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqResHeaWatEquZon | Sum of HW reset requests from zone equipment | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqResChiWatAirHan | Sum of CHW reset requests from AHU | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqPlaChiWatEquZon | Sum of CHW plant requests from zone equipment | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqResChiWatEquZon | Sum of CHW reset requests from zone equipment | |
| Buildings.Controls.OBC.CDL.Integers.MultiSum | reqPlaChiWatAirHan | Sum of CHW plant requests from AHU | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqPlaHeaWatAirHan | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqPlaChiWatAirHan | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqResHeaWatAirHan | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqResChiWatAirHan | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqPlaHeaWatEquZon | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqPlaChiWatEquZon | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqResHeaWatEquZon | Placeholder value if signal is not available | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderInteger | phReqResChiWatEquZon | Placeholder value if signal is not available | |
| Buildings.Controls.OBC.CDL.Integers.Add | reqPlaHeaWat | Sum of HW plant requests of all loads served | |
| Buildings.Controls.OBC.CDL.Integers.Add | reqPlaChiWat | Sum of CHW plant requests of all loads served | |
| Buildings.Controls.OBC.CDL.Integers.Add | reqResHeaWat | Sum of HW reset requests of all loads served | |
| Buildings.Controls.OBC.CDL.Integers.Add | reqResChiWat | Sum of CHW reset requests of all loads served | |
| Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure[nSenDpHeaWatRem] | resDpHeaWatLoc | Local HW DP reset | |
| Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure[nSenDpChiWatRem] | resDpChiWatLoc | Local CHW DP reset | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderReal | THeaWatLooOrSecRet | Select sensor based on plant configuration | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderReal | TChiWatLooOrSecRet | Select sensor based on plant configuration | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderReal | VHeaWatLooOrSec | Select sensor based on plant configuration | |
| Buildings.Templates.Plants.Controls.Utilities.PlaceholderReal | VChiWatLooOrSec | Select sensor based on plant configuration |
Revisions
-
July 10, 2026, by Antoine Gautier:
Refactored for plants with polyvalent heat pumps.
This is for #4512.