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 HP 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 | |
| Boolean | have_senTHeaWatSecRet (from PartialController) | if cfg.have_hrc then true elseif cfg.typPumHeaWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then false else have_senTHeaWatSecRet_select | Set to true for plants with secondary HW return temperature sensor |
| Boolean | have_senTChiWatSecRet (from PartialController) | if cfg.have_hrc then true elseif cfg.typPumChiWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then false else have_senTChiWatSecRet_select | Set to true for plants with secondary CHW return temperature sensor |
| Integer | nSta | size(staEqu, 1) | Number of stages |
| Configuration | |||
| Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlant | cfg (from PartialController) | Plant configuration parameters | |
| Integer | nHp (from PartialController) | cfg.nHp | Number of heat pumps |
| 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 | |
| Boolean | have_senVHeaWatPri_select (from PartialController) | false | Set to true for plants with primary HW flow sensor |
| Boolean | have_senVHeaWatPri (from PartialController) | cfg.have_heaWat and (if cfg.have_hrc or not have_senVHeaWatSec or cfg.typDis == Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then true else have_senVHeaWatPri_select) | Set to true for plants with primary HW flow sensor |
| Boolean | have_senVHeaWatSec (from PartialController) | cfg.typPumHeaWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None | Set to true for plants with secondary HW flow sensor |
| Boolean | have_senVChiWatPri_select (from PartialController) | have_senVHeaWatPri_select | Set to true for plants with primary CHW flow sensor |
| Boolean | have_senVChiWatPri (from PartialController) | cfg.have_chiWat and (if cfg.have_hrc or not have_senVChiWatSec or cfg.typDis <> Buildings.Templates.Plants.HeatPumps.Types.Distribution.Variable1Only then true else have_senVChiWatPri_select) | Set to true for plants with primary CHW flow sensor |
| Boolean | have_senVChiWatSec (from PartialController) | cfg.typPumChiWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None | Set to true for plants with secondary CHW flow sensor |
| Boolean | have_senTHeaWatPriRet_select (from PartialController) | false | Set to true for plants with primary HW return temperature sensor |
| Boolean | have_senTHeaWatPriRet (from PartialController) | cfg.have_heaWat and (if cfg.have_hrc or not have_senTHeaWatSecRet then true else have_senTHeaWatPriRet_select) | Set to true for plants with primary HW return temperature sensor |
| Boolean | have_senTChiWatPriRet_select (from PartialController) | have_senTHeaWatPriRet_select | Set to true for plants with primary CHW return temperature sensor |
| Boolean | have_senTChiWatPriRet (from PartialController) | cfg.have_chiWat and (if cfg.have_hrc or not have_senTChiWatSecRet then true else have_senTChiWatPriRet_select) | Set to true for plants with primary CHW return temperature sensor |
| Boolean | have_senTHeaWatSecSup (from PartialController) | cfg.typPumHeaWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None | Set to true for plants with secondary HW supply temperature sensor |
| Boolean | have_senTChiWatSecSup (from PartialController) | cfg.typPumChiWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None | Set to true for plants with secondary CHW supply temperature sensor |
| 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 |
| Sensors | |||
| Boolean | have_senTHeaWatSecRet_select (from PartialController) | false | Set to true for plants with secondary HW return temperature sensor |
| Boolean | have_senTChiWatSecRet_select (from PartialController) | have_senTHeaWatSecRet_select | Set to true for plants with secondary CHW return temperature sensor |
| 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 |
| Equipment staging and rotation | |||
| Real[:,nHp] | staEqu | dat.staEqu | Staging matrix – Equipment required for each stage |
| Integer[ctl.nEquAlt] | idxEquAlt | Modelica.Math.BooleanVectors.index({Modelica.Math.BooleanVectors.anyTrue({nHp == 1 or staEqu[i, j] > 0 and staEqu[i, j] < 1 for i in 1:nSta}) for j in 1:nHp}) | Indices of lead/lag alternate equipment |
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 |
|---|---|---|---|
| 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 |