blockAirToWater
Information
This block implements the sequence of operation for plants with air-to-water heat pumps. Most parts of the sequence of operation are similar to that described in ASHRAE, 2021 for chiller plants.
The supported plant configurations are enumerated in the table below.
| Configuration parameter | Options | Notes |
|---|---|---|
| Function |
Heating and cooling Heating-only Cooling-only |
|
| Heat recovery |
Without sidestream heat recovery chiller With sidestream heat recovery chiller |
This option is only available for heating and cooling plants. When selected, the plant controller incorporates logic to manage a chiller and its associated dedicated primary CHW and CW pumps. The chiller is considered connected in a sidestream configuration to both the CHW return and the HW return. |
| Type of distribution |
Variable primary-only Constant primary-variable secondary centralized |
It is assumed that the HW and the CHW loops have the
same type of distribution, as specified by this parameter. Most AWHPs on the market use a reverse cycle for defrosting. This requires maximum primary flow during defrost cycles. Consequently, variable primary plants commonly adopt a high minimum flow setpoint, typically close to the design flow rate, effectively operating akin to constant primary plants but with variable speed pumps controlling the loop differential pressure. While the flow rate directed towards the loads varies, the bypass valve control loop ensures a constant primary flow for a given number of staged units. "Centralized secondary pumps" refers to configurations with a single group of secondary pumps that is typically integrated into the plant. Distributed secondary pumps with multiple secondary loops served by dedicated secondary pumps are currently not supported. |
| Type of primary pump arrangement |
Dedicated Headered |
It is assumed that the HW and the CHW loops have the same type of primary pump arrangement, as specified by this parameter. |
| Separate dedicated primary CHW pumps |
False True |
This option is only available for heating and cooling plants with dedicated primary pumps. If this option is not selected, each AWHP uses a common dedicated primary pump for HW and CHW – this pump is then denoted as the primary HW pump. Otherwise, each AWHP relies on a separate dedicated HW pump and a separate dedicated CHW pump. |
| Type of primary HW pumps |
Variable speed Constant speed |
For constant primary-variable secondary distributions, the variable
speed primary pumps are commanded at fixed speeds, determined during the
Testing, Adjusting and Balancing phase to provide design AWHP flow in
heating and cooling modes.
The same intent is achieved with constant speed primary pumps through the
use of balancing valves. This parameter is only available for constant primary-variable secondary plants. |
| Type of primary CHW pumps |
Variable speed Constant speed |
See the note above on primary HW pumps. |
Details
A staging matrix staEqu is required as a parameter.
See the documentation of
Buildings.Templates.Plants.Controls.StagingRotation.EquipmentEnable
for the associated definition and requirements.
Depending on the plant configuration, the term "primary HW pumps"
(and the corresponding variables containing *pumHeaWatPri*)
refers either to primary HW pumps for plants with separate primary
HW and CHW pumps (either headered or dedicated)
or to dedicated primary pumps for plants with common primary pumps
serving both the HW and CHW loops.
At its current stage of development, this controller contains no logic for handling faulted equipment. It is therefore assumed that any equipment is available at all times.
References
- ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | have_hrc | if have_heaWat and have_chiWat then have_hrc_select else false | Set to true for plants with sidestream heat recovery chiller |
| Boolean | have_pumHeaWatPri | have_heaWat | Set to true for plants with primary HW pumps |
| Boolean | have_pumChiWatPriDed | if have_chiWat and not have_pumPriHdr then have_pumChiWatPriDed_select else false | Set to true for plants with separate dedicated primary CHW pumps |
| Boolean | have_pumChiWatPri | have_chiWat and (have_pumPriHdr or have_pumChiWatPriDed) | Set to true for plants with separate primary CHW pumps |
| Boolean | have_pumHeaWatPriVar | have_pumHeaWatPri and (is_priOnl or have_pumHeaWatPriVar_select) | Set to true for variable speed primary HW pumps, false for constant speed pumps |
| Boolean | have_pumChiWatPriVar | have_pumChiWatPri and (is_priOnl or have_pumChiWatPriVar_select) | Set to true for variable speed primary CHW pumps, false for constant speed pumps |
| Boolean | have_pumHeaWatSec | have_heaWat and not is_priOnl | Set to true for plants with secondary HW pumps |
| Boolean | have_pumChiWatSec | have_chiWat and not is_priOnl | Set to true for plants with secondary CHW pumps |
| Boolean | have_senTHeaWatSecRet | if have_hrc then true elseif not have_pumHeaWatSec then false else have_senTHeaWatSecRet_select | Set to true for plants with secondary HW return temperature sensor |
| Boolean | have_senTChiWatSecRet | if have_hrc then true elseif not have_pumChiWatSec 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 |
| Integer | nEquAlt | if nHp == 1 then 1 else max({sum({(if staEqu[i, j] > 0 and staEqu[i, j] < 1 then 1 else 0) for j in 1:nHp}) for i in 1:nSta}) | Number of lead/lag alternate equipment |
| Plant configuration | |||
| Boolean | have_heaWat | Set to true for plants that provide HW | |
| Boolean | have_chiWat | Set to true for plants that provide CHW | |
| Boolean | is_priOnl | false | Set to true for primary-only plant |
| Boolean | have_hrc_select | false | Set to true for plants with sidestream heat recovery chiller |
| Boolean | have_valHpInlIso | Set to true for plants with isolation valves at heat pump inlet | |
| Boolean | have_valHpOutIso | Set to true for plants with isolation valves at heat pump outlet | |
| Boolean | have_pumChiWatPriDed_select | false | Set to true for plants with separate dedicated primary CHW pumps |
| Boolean | have_pumPriHdr | Set to true for headered primary pumps, false for dedicated pumps | |
| Boolean | have_pumHeaWatPriVar_select | true | Set to true for variable speed primary HW pumps, false for constant speed pumps |
| Boolean | have_pumChiWatPriVar_select | true | Set to true for variable speed primary CHW pumps, false for constant speed pumps |
| Boolean | have_pumPriCtlDp | is_priOnl | Set to true for primary variable speed pumps using ∆p pump speed control |
| Boolean | have_pumSecHdr | true | Set to true for headered secondary pumps, false for dedicated pumps |
| Boolean | have_pumSecCtlDp | have_pumHeaWatSec or have_pumChiWatSec | Set to true for secondary variable speed pumps using ∆p pump speed control |
| Integer | nHp | Number of heat pumps | |
| Integer | nPumHeaWatPri | nHp | Number of primary HW pumps |
| Integer | nPumChiWatPri | if have_pumChiWatPri then nHp else 0 | Number of primary CHW pumps |
| Integer | nPumHeaWatSec | nHp | Number of secondary HW pumps |
| Integer | nPumChiWatSec | nHp | Number of secondary CHW pumps |
| Sensors | |||
| Boolean | have_senVHeaWatPri_select | Set to true for plants with primary HW flow sensor | |
| Boolean | have_senVHeaWatPri | have_heaWat and (if have_hrc or not have_senVHeaWatSec then true else have_senVHeaWatPri_select) | Set to true for plants with primary HW flow sensor |
| Boolean | have_senVHeaWatSec | have_pumHeaWatSec | Set to true for plants with secondary HW flow sensor |
| Boolean | have_senVChiWatPri_select | Set to true for plants with primary CHW flow sensor | |
| Boolean | have_senVChiWatPri | have_chiWat and (if have_hrc or not have_senVChiWatSec then true else have_senVChiWatPri_select) | Set to true for plants with primary CHW flow sensor |
| Boolean | have_senVChiWatSec | have_pumChiWatSec | Set to true for plants with secondary CHW flow sensor |
| Boolean | have_senTHeaWatPriRet_select | Set to true for plants with primary HW return temperature sensor | |
| Boolean | have_senTHeaWatPriRet | have_heaWat and (if 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 | Set to true for plants with primary CHW return temperature sensor | |
| Boolean | have_senTChiWatPriRet | have_chiWat and (if 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 | have_pumHeaWatSec | Set to true for plants with secondary HW supply temperature sensor |
| Boolean | have_senTChiWatSecSup | have_pumChiWatSec | Set to true for plants with secondary CHW supply temperature sensor |
| Boolean | have_senTHeaWatSecRet_select | false | Set to true for plants with secondary HW return temperature sensor |
| Boolean | have_senTChiWatSecRet_select | false | Set to true for plants with secondary CHW return temperature sensor |
| Boolean | have_senDpHeaWatRemWir | false | Set to true for remote HW differential pressure sensor(s) hardwired to plant or pump controller |
| Integer | nSenDpHeaWatRem | Number of remote HW differential pressure sensors used for HW pump speed control | |
| Boolean | have_senDpChiWatRemWir | false | Set to true for remote CHW differential pressure sensor(s) hardwired to plant or pump controller |
| Integer | nSenDpChiWatRem | Number of remote CHW differential pressure sensors used for CHW pump speed control | |
| Information provided by designer | |||
| Real | THeaWatSup_nominal | Design HW supply temperature (maximum setpoint) | |
| Real | THeaWatSupSet_min | Minimum value to which the HW supply temperature can be reset | |
| Real | TOutHeaWatLck | 294.15 | Outdoor air lockout temperature above which the HW loop is prevented from operating |
| Real[nHp] | capHeaHp_nominal | Design heat pump heating capacity - Each heat pump | |
| Real[nHp] | VHeaWatHp_flow_nominal | Design heat pump HW volume flow rate - Each heat pump | |
| Real[nHp] | VHeaWatHp_flow_min | Minimum heat pump HW volume flow rate - Each heat pump | |
| Real | VHeaWatPri_flow_nominal | sum(VHeaWatHp_flow_nominal) | Primary HW volume flow rate |
| Real | VHeaWatSec_flow_nominal | Design secondary HW volume flow rate | |
| Real | dpHeaWatRemSet_min | 5*6894 | Minimum value to which the HW differential pressure can be reset - Remote sensor |
| Real | TChiWatSup_nominal | Design CHW supply temperature (minimum setpoint) | |
| Real | TChiWatSupSet_max | Maximum value to which the CHW supply temperature can be reset | |
| Real | TOutChiWatLck | 289.15 | Outdoor air lockout temperature below which the CHW loop is prevented from operating |
| Real[nHp] | capCooHp_nominal | Design heat pump cooling capacity - Each heat pump | |
| Real[nHp] | VChiWatHp_flow_nominal | Design heat pump CHW volume flow rate - Each heat pump | |
| Real[nHp] | VChiWatHp_flow_min | Minimum heat pump CHW volume flow rate - Each heat pump | |
| Real | VChiWatPri_flow_nominal | sum(VChiWatHp_flow_nominal) | Primary CHW volume flow rate |
| Real | VChiWatSec_flow_nominal | Design secondary CHW volume flow rate | |
| Real | dpChiWatRemSet_min | 5*6894 | Minimum value to which the CHW differential pressure can be reset - Remote sensor |
| Real | cp_default | 4184 | Default specific heat capacity used to compute required capacity |
| Real | rho_default | 996 | Default density used to compute required capacity |
| Real | TChiWatSupHrc_min | Sidestream HRC – Minimum allowable CHW supply temperature | |
| Real | THeaWatSupHrc_max | Sidestream HRC – Maximum allowable HW supply temperature | |
| Real | COPHeaHrc_nominal | Sidestream HRC – Heating COP at design heating conditions | |
| Real | capCooHrc_min | Sidestream HRC – Minimum cooling capacity below which cycling occurs | |
| Real | capHeaHrc_min | Sidestream HRC – Minimum heating capacity below which cycling occurs | |
| Information provided by testing, adjusting, and balancing contractor | |||
| Real[nSenDpHeaWatRem] | dpHeaWatRemSet_max | Maximum HW differential pressure setpoint - Remote sensor | |
| Real | yPumHeaWatPriSet | Primary pump speed providing design heat pump flow in heating mode | |
| Real[nSenDpChiWatRem] | dpChiWatRemSet_max | Maximum CHW differential pressure setpoint - Remote sensor | |
| Real | yPumChiWatPriSet | Primary pump speed providing design heat pump flow in cooling mode | |
| Plant enable | |||
| Boolean | have_inpSch | false | Set to true to provide schedule via software input point |
| Real[:,2] | schHea | [0, 1; 24*3600, 1] | Heating mode enable schedule |
| Real[:,2] | schCoo | [0, 1; 24*3600, 1] | Cooling mode enable schedule |
| Advanced › Plant enable | |||
| Integer | nReqIgnHeaWat | 0 | Number of ignored HW plant requests |
| Integer | nReqIgnChiWat | 0 | Number of ignored CHW plant requests |
| Real | dTOutLck | 0.5 | Hysteresis for outdoor air lockout temperature |
| Real | dtRunEna | 15*60 | Minimum runtime of enable and disable states |
| Real | dtReqDis | 3*60 | Runtime with low number of request before disabling |
| Equipment staging and rotation | |||
| Real[:,nHp] | staEqu | Staging matrix – Equipment required for each stage | |
| Integer[nEquAlt] | idxEquAlt | Indices of lead/lag alternate equipment | |
| Real | plrSta | 0.9 | Staging part load ratio |
| Advanced › Equipment staging and rotation | |||
| Real | dTHea | 2.5 | Delta-T triggering stage up command for heating applications (>0) |
| Real | dTCoo | 1 | Delta-T triggering stage up command for cooling applications (>0) |
| Real | dtVal | 90 | Nominal valve timing |
| Real | dtRunSta | 900 | Minimum runtime of each stage |
| Real | dtOff | 900 | Off time required before equipment is deemed available again |
| Real | dtOffHp | 180 | Heat pump internal shutdown cycle timing (before closing isolation valves or disabling primary pumps) |
| Real | dtPri | 900 | Runtime with high primary-setpoint Delta-T before staging up |
| Real | dtSec | 600 | Runtime with high secondary-primary and secondary-setpoint Delta-T before staging up |
| Advanced › Pump staging | |||
| Real | dtRunPumSta | 600 | Runtime before triggering stage change command based on efficiency condition |
| Real | dtRunFaiSafPumSta | 300 | Runtime before triggering stage change command based on failsafe condition |
| Real | dtRunFaiSafLowYPumSta | dtRunPumSta | Runtime before triggering stage change command based on low pump speed failsafe condition |
| Real | dVOffUpPumSta | 0.03 | Stage up flow point offset |
| Real | dVOffDowPumSta | dVOffUpPumSta | Stage down flow point offset |
| Real | dpOffPumSta | 1E4 | Stage change ∆p point offset (>0) |
| Real | yUpPumSta | 0.99 | Stage up pump speed point |
| Real | yDowPumSta | 0.4 | Stage down pump speed point |
| Advanced › Plant reset | |||
| Real | dtHol | 900 | Minimum hold time during stage change |
| Real | resDpHeaWat_max | 0.5 | Upper limit of plant reset interval for HW differential pressure reset |
| Real | resTHeaWatSup_min | resDpHeaWat_max | Lower limit of plant reset interval for HW supply temperature reset |
| Real | resDpChiWat_max | 0.5 | Upper limit of plant reset interval for CHW differential pressure reset |
| Real | resTChiWatSup_min | resDpChiWat_max | Lower limit of plant reset interval for CHW supply temperature reset |
| Real | res_init | 1 | Initial reset value |
| Real | res_min | 0 | Minimum reset value |
| Real | res_max | 1 | Maximum reset value |
| Real | dtDel | 900 | Delay time before the reset begins |
| Real | dtResHeaWat | 300 | Time step for HW plant reset |
| Integer | nReqResIgnHeaWat | 2 | Number of ignored requests for HW plant reset |
| Real | triHeaWat | -0.02 | Trim amount for HW plant reset |
| Real | rspHeaWat | 0.03 | Respond amount for HW plant reset |
| Real | rspHeaWat_max | 0.07 | Maximum response per time interval for HW plant reset |
| Real | dtResChiWat | 300 | Time step for CHW plant reset |
| Integer | nReqResIgnChiWat | 2 | Number of ignored requests for CHW plant reset |
| Real | triChiWat | -0.02 | Trim amount for CHW plant reset |
| Real | rspChiWat | 0.03 | Respond amount for CHW plant reset |
| Real | rspChiWat_max | 0.07 | Maximum response per time interval for CHW plant reset |
| Advanced › Pump control | |||
| Real | yPumHeaWatPri_min | 0.1 | Minimum primary HW pump speed |
| Real | yPumChiWatPri_min | 0.1 | Minimum primary CHW pump speed |
| Real | yPumHeaWatSec_min | 0.1 | Minimum secondary HW pump speed |
| Real | yPumChiWatSec_min | 0.1 | Minimum secondary CHW pump speed |
| Advanced › Loop differential pressure | |||
| Real | kCtlDpHeaWat | 1 | Gain of controller for HW loop ∆p control |
| Real | TiCtlDpHeaWat | 60 | Time constant of integrator block for HW loop ∆p control |
| Real | kCtlDpChiWat | 1 | Gain of controller for CHW loop ∆p control |
| Real | TiCtlDpChiWat | 60 | Time constant of integrator block for CHW loop ∆p control |
| Advanced › Minimum flow control | |||
| Real | kValMinByp | 1 | Gain of controller |
| Modelica.Units.SI.Time | TiValMinByp | 60 | Time constant of integrator block |
| Advanced › Sidestream HRC | |||
| Boolean | have_reqFloHrc | false | Set to true if HRC provides flow request point via network interface |
| Real | dtLoaHrc | 600 | Runtime with sufficient load before enabling |
| Real | dtTem1Hrc | 180 | Runtime with first temperature threshold exceeded before disabling |
| Real | dtTem2Hrc | 60 | Runtime with second temperature threshold exceeded before disabling |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | nReqPlaHeaWat | Number of HW plant requests | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TOut | Outdoor air temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1SchHea | Heating mode enable via schedule | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | nReqPlaChiWat | Number of CHW plant requests | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1SchCoo | Cooling mode enable via schedule | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | nReqResHeaWat | Sum of HW reset requests of all heating loads served | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | nReqResChiWat | Sum of CHW reset requests of all heating loads served | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumHeaWatPri] | u1PumHeaWatPri_actual | Primary HW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumChiWatPri] | u1PumChiWatPri_actual | Primary CHW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumHeaWatSec] | u1PumHeaWatSec_actual | Secondary HW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumChiWatSec] | u1PumChiWatSec_actual | Secondary CHW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatPriRet | Primary HW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VHeaWatPri_flow | Primary HW volume flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpHeaWatLoc | Local HW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpHeaWatRem] | dpHeaWatLocSet | Local HW differential pressure setpoint output from each of the remote loops | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpHeaWatRem] | dpHeaWatRem | Remote HW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpChiWatLoc | Local CHW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpChiWatRem] | dpChiWatLocSet | Local CHW differential pressure setpoint output from each of the remote loops | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpChiWatRem] | dpChiWatRem | Remote CHW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1ValHeaWatHpInlIso | Heat pump inlet HW inlet isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1ValHeaWatHpOutIso | Heat pump outlet HW isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1ValChiWatHpInlIso | Heat pump inlet CHW isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1ValChiWatHpOutIso | Heat pump outlet CHW isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPumHeaWatPri] | y1PumHeaWatPri | Primary HW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPumChiWatPri] | y1PumChiWatPri | Primary CHW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPumHeaWatSec] | y1PumHeaWatSec | Secondary HW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPumChiWatSec] | y1PumChiWatSec | Secondary CHW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1Hp | Heat pump enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nHp] | y1HeaHp | Heat pump heating/cooling mode command: true=heating, false=cooling | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nSenDpHeaWatRem] | dpHeaWatRemSet | HW differential pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nSenDpChiWatRem] | dpChiWatRemSet | CHW differential pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumHeaWatPriHdr | Primary headered HW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumChiWatPriHdr | Primary headered CHW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumHeaWatSec | Primary HW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumChiWatSec | Primary CHW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TChiWatSupSet | Plant CHW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | THeaWatSupSet | Plant HW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatPriRet | Primary CHW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VChiWatPri_flow | Primary CHW volume flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nHp] | u1Hp_actual | Heat pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nPumHeaWatPri] | yPumHeaWatPriDed | Primary dedicated HW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nPumChiWatPri] | yPumChiWatPriDed | Primary dedicated CHW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatSecRet | Secondary HW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VHeaWatSec_flow | Secondary HW volume flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatSecRet | Secondary CHW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VChiWatSec_flow | Secondary CHW volume flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nHp] | THeaWatSupHpSet | HP HW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatPriSup | Primary HW supply temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatPriSup | Primary CHW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatSecSup | Secondary HW supply temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatSecSup | Secondary CHW return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1Hrc | Sidestream HRC enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1CooHrc | Sidestream HRC mode command: true for cooling, false for heating | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1PumChiWatHrc | Sidestream HRC CHW pump enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1PumHeaWatHrc | Sidestream HRC HW pump enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | THeaWatSupHrcSet | Sidestream HRC HW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatRetUpsHrc | CHW return temperature upstream of HRC | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatRetUpsHrc | HW return temperature upstream of HRC | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1Hrc_actual | HRC status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1ReqFloChiWat | CHW flow request from HRC | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1ReqFloConWat | CW flow request from HRC | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yValHeaWatMinByp | HW minimum flow bypass valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yValChiWatMinByp | CHW minimum flow bypass valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nHp] | TChiWatSupHpSet | HP CHW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TChiWatSupHrcSet | Sidestream HRC CHW supply temperature setpoint |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Logical.Sources.Constant[nHp] | u1AvaHp | Heat pump available signal – Block does not handle faulted equipment yet | |
| Enabling.Enable | enaHea | Heating mode enable | |
| Utilities.StageIndex | idxStaHea | Compute heating stage index | |
| StagingRotation.StageAvailability | avaStaHea | Evaluate heating stage availability | |
| StagingRotation.EquipmentEnable | enaEquHea | Compute enable command for equipment in heating mode | |
| StagingRotation.EventSequencing[nHp] | seqEve | Event sequencing | |
| StagingRotation.StageAvailability | avaStaCoo | Evaluate cooling stage availability | |
| StagingRotation.StageChangeCommand | chaStaHea | Generate heating stage transition command | |
| Enabling.Enable | enaCoo | Cooling mode enable | |
| StagingRotation.StageChangeCommand | chaStaCoo | Generate cooling stage transition command | |
| Utilities.StageIndex | idxStaCoo | Compute cooling stage index | |
| StagingRotation.EquipmentEnable | enaEquCoo | Compute enable command for equipment in cooling mode | |
| StagingRotation.EquipmentAvailability[nHp] | avaEquHeaCoo | Evaluate equipment availability in heating or cooling mode | |
| Buildings.Controls.OBC.CDL.Logical.Pre[nHp] | y1HeaPre | Left-limit of command signal to break algebraic loop | |
| StagingRotation.SortRuntime | sorRunTim | Sort lead/lag alternate equipment by staging runtime | |
| Pumps.Generic.StagingHeadered | staPumHeaWatPri | Primary HW pump staging | |
| Pumps.Generic.StagingHeadered | staPumChiWatPri | Primary CHW pump staging | |
| Pumps.Generic.StagingHeadered | staPumChiWatSec | Secondary CHW pump staging | |
| Pumps.Generic.StagingHeadered | staPumHeaWatSec | Secondary HW pump staging | |
| Utilities.PlaceholderReal | THeaWatRet | Select HW return temperature sensor | |
| Utilities.PlaceholderReal | VHeaWatSta_flow | For staging logic select primary flow sensor if both primary and secondary sensors available | |
| Utilities.PlaceholderReal | TChiWatRet | Select CHW return temperature sensor | |
| Utilities.PlaceholderReal | VChiWatSta_flow | For staging logic select primary flow sensor if both primary and secondary sensors available | |
| Buildings.Controls.OBC.CDL.Logical.Pre[nHp] | y1HpPre | Left-limit of command signal to break algebraic loop | |
| StagingRotation.StageCompletion | comStaCoo | Check successful completion of cooling stage change | |
| StagingRotation.StageCompletion | comStaHea | Check successful completion of heating stage change | |
| Setpoints.PlantReset | resHeaWat | HW plant reset | |
| Setpoints.PlantReset | resChiWat | CHW plant reset | |
| Pumps.Primary.VariableSpeed | ctlPumPri | Primary pump speed control | |
| Pumps.Generic.ControlDifferentialPressure | ctlPumHeaWatSec | Secondary HW pump speed control | |
| Pumps.Generic.ControlDifferentialPressure | ctlPumChiWatSec | Secondary CHW pump speed control | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | repTChiWatSupSet | Replicate CHWST setpoint | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | repTHeaWatSupSet | Replicate HWST setpoint | |
| HeatRecoveryChillers.Controller | hrc | Sidestream heat recovery chiller control | |
| Buildings.Controls.OBC.CDL.Routing.RealExtractSignal | pasDpHeaWatRemSet | Direct pass through for HW ∆p setpoint | |
| Buildings.Controls.OBC.CDL.Routing.RealExtractSignal | pasDpChiWatRemSet | Direct pass through for CHW ∆p setpoint | |
| MinimumFlow.ControllerDualMode | ctlFloMin | CHW/HW minimum flow bypass valve controller | |
| Utilities.PlaceholderReal | VHeaWatLoa_flow | For HRC logic select either primary or secondary sensor depending on plant configuration | |
| Utilities.PlaceholderReal | VChiWatLoa_flow | For HRC logic select either primary or secondary sensor depending on plant configuration |
Revisions
-
June 10, 2026, by Antoine Gautier:
Refactored with a single instance ofSortRuntimefor both modes.
This is for #4624. -
March 23, 2026, by Antoine Gautier:
Refactored HP and HRC points with two separate outputs for HW and CHW supply temperature setpoints.
This is for #4507. -
January 23, 2025, by Antoine Gautier:
Refactored to use "required to run" conditions in the equipment availability logic.
This is for #4432. -
May 31, 2024, by Antoine Gautier:
Added sidestream heat recovery chiller, primary-only pumping and failsafe staging conditions.
This is for #3808. -
March 29, 2024, by Antoine Gautier:
First implementation.