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 parameter nSenDpHeaWatRem.
  • 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 parameter nSenDpChiWatRem.
  • Inside the sub-bus busAirHan[:] or busEquZon[:], 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

Parameters

TypeNameDefaultDescription
Buildings.Templates.Plants.HeatPumps.Components.Data.Controllerdat (from PartialController)Parameter record for controller
Booleanhave_senTHeaWatSecRet (from PartialController)if cfg.have_hrc then true elseif cfg.typPumHeaWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then false else have_senTHeaWatSecRet_selectSet to true for plants with secondary HW return temperature sensor
Booleanhave_senTChiWatSecRet (from PartialController)if cfg.have_hrc then true elseif cfg.typPumChiWatSec == Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.None then false else have_senTChiWatSecRet_selectSet to true for plants with secondary CHW return temperature sensor
IntegernStasize(staEqu, 1)Number of stages
Configuration
Buildings.Templates.Plants.HeatPumps.Configuration.HeatPumpPlantcfg (from PartialController)Plant configuration parameters
IntegernHp (from PartialController)cfg.nHpNumber of heat pumps
Buildings.Templates.Plants.HeatPumps.Types.Controllertyp (from PartialController)Type of controller
IntegernAirHan (from PartialController)Number of air handling units served by the plant
IntegernEquZon (from PartialController)Number of terminal units (zone equipment) served by the plant
Booleanhave_senVHeaWatPri_select (from PartialController)falseSet to true for plants with primary HW flow sensor
Booleanhave_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
Booleanhave_senVHeaWatSec (from PartialController)cfg.typPumHeaWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneSet to true for plants with secondary HW flow sensor
Booleanhave_senVChiWatPri_select (from PartialController)have_senVHeaWatPri_selectSet to true for plants with primary CHW flow sensor
Booleanhave_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
Booleanhave_senVChiWatSec (from PartialController)cfg.typPumChiWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneSet to true for plants with secondary CHW flow sensor
Booleanhave_senTHeaWatPriRet_select (from PartialController)falseSet to true for plants with primary HW return temperature sensor
Booleanhave_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
Booleanhave_senTChiWatPriRet_select (from PartialController)have_senTHeaWatPriRet_selectSet to true for plants with primary CHW return temperature sensor
Booleanhave_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
Booleanhave_senTHeaWatSecSup (from PartialController)cfg.typPumHeaWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneSet to true for plants with secondary HW supply temperature sensor
Booleanhave_senTChiWatSecSup (from PartialController)cfg.typPumChiWatSec <> Buildings.Templates.Plants.HeatPumps.Types.PumpsSecondary.NoneSet to true for plants with secondary CHW supply temperature sensor
Booleanhave_senDpHeaWatRemWir (from PartialController)falseSet to true for remote HW differential pressure sensor(s) hardwired to plant or pump controller
IntegernSenDpHeaWatRem (from PartialController)1Number of remote HW differential pressure sensors used for HW pump speed control
Booleanhave_senDpChiWatRemWir (from PartialController)have_senDpHeaWatRemWirSet to true for remote CHW differential pressure sensor(s) hardwired to plant or pump controller
IntegernSenDpChiWatRem (from PartialController)1Number of remote CHW differential pressure sensors used for CHW pump speed control
Sensors
Booleanhave_senTHeaWatSecRet_select (from PartialController)falseSet to true for plants with secondary HW return temperature sensor
Booleanhave_senTChiWatSecRet_select (from PartialController)have_senTHeaWatSecRet_selectSet to true for plants with secondary CHW return temperature sensor
Plant enable
Booleanhave_inpSch (from PartialController)falseSet to true to provide schedule via software input point
Real[:,2]schHea (from PartialController)dat.schHeaHeating mode enable schedule
Real[:,2]schCoo (from PartialController)dat.schCooCooling mode enable schedule
Equipment staging and rotation
Real[:,nHp]staEqudat.staEquStaging matrix – Equipment required for each stage
Integer[ctl.nEquAlt]idxEquAltModelica.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

TypeNameDefaultDescription
Buildings.Templates.Plants.HeatPumps.Interfaces.Busbus (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

TypeNameDefaultDescription
Buildings.Templates.Plants.Controls.HeatPumps.AirToWaterctlPlant controller
Buildings.Controls.OBC.CDL.Integers.MultiSumreqPlaHeaWatAirHanSum of HW plant requests from AHU
Buildings.Controls.OBC.CDL.Integers.MultiSumreqPlaHeaWatEquZonSum of HW plant requests from zone equipment
Buildings.Controls.OBC.CDL.Integers.MultiSumreqResHeaWatAirHanSum of HW reset requests from AHU
Buildings.Controls.OBC.CDL.Integers.MultiSumreqResHeaWatEquZonSum of HW reset requests from zone equipment
Buildings.Controls.OBC.CDL.Integers.MultiSumreqResChiWatAirHanSum of CHW reset requests from AHU
Buildings.Controls.OBC.CDL.Integers.MultiSumreqPlaChiWatEquZonSum of CHW plant requests from zone equipment
Buildings.Controls.OBC.CDL.Integers.MultiSumreqResChiWatEquZonSum of CHW reset requests from zone equipment
Buildings.Controls.OBC.CDL.Integers.MultiSumreqPlaChiWatAirHanSum of CHW plant requests from AHU
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqPlaHeaWatAirHanPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqPlaChiWatAirHanPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqResHeaWatAirHanPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqResChiWatAirHanPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqPlaHeaWatEquZonPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqPlaChiWatEquZonPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqResHeaWatEquZonPlaceholder value if signal is not available
Buildings.Templates.Plants.Controls.Utilities.PlaceholderIntegerphReqResChiWatEquZonPlaceholder value if signal is not available
Buildings.Controls.OBC.CDL.Integers.AddreqPlaHeaWatSum of HW plant requests of all loads served
Buildings.Controls.OBC.CDL.Integers.AddreqPlaChiWatSum of CHW plant requests of all loads served
Buildings.Controls.OBC.CDL.Integers.AddreqResHeaWatSum of HW reset requests of all loads served
Buildings.Controls.OBC.CDL.Integers.AddreqResChiWatSum of CHW reset requests of all loads served
Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure[nSenDpHeaWatRem]resDpHeaWatLocLocal HW DP reset
Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure[nSenDpChiWatRem]resDpChiWatLocLocal CHW DP reset