blockDirectHeatRecovery
Information
In direct heat recovery mode, the HRC is internally controlled in heating mode and tracks a HW supply temperature setpoint. The CHW supply temperature setpoint is maintained by means of supervisory controls that act on the evaporator flow rate and condenser entering water temperature as described below.
A direct acting control loop runs for each HRC operating in direct heat recovery mode. Each loop is enabled with a bias of 50 % whenever the HRC is commanded On and in direct heat recovery mode. The loop is disabled with output set to 50 % otherwise. The loop output is mapped as follows. From 0 % to 33 % the evaporator flow setpoint of cooling-only chillers is reset from 1.2 times its minimum value to 1.2 times its design value. From 33 % to 67 % the evaporator flow setpoint of the HRC is reset from 1.2 times its minimum value to 1.2 times its design value. From 67 % to 100 % the HRC condenser entering temperature setpoint is reset from THeaWatRet + 0.5 °C to THeaWatRet - 15 °C.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| CHW loop and cooling-only chillers | |||
| Integer | nChi | Number of units operating at design conditions | |
| Real | mChiWatChi_flow_nominal | Chiller CHW design mass flow rate (value will be used for each unit) | |
| Real | mChiWatChi_flow_min | Chiller CHW minimum mass flow rate (value will be used for each unit) | |
| HW loop and heat recovery chillers | |||
| Integer | nChiHea | Number of units operating at design conditions | |
| Real | mChiWatChiHea_flow_nominal | HRC CHW design mass flow rate (value will be used for each unit) | |
| Real | mChiWatChiHea_flow_min | HRC CHW minimum mass flow rate (value will be used for each unit) | |
| Control parameters | |||
| Real | k | 0.01 | Gain of controller |
| Real | Ti | 60 | Time constant of integrator block |
| Real | y_reset | 0.5 | Value to which the controller output is reset if the boolean trigger has a rising edge |
| Real | y_neutral | 0.5 | Value to which the controller output is reset when the controller is disabled |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatSupSet | CHW supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nChiHea] | TEvaLvg | Evaporator barrel leaving temperature (each HRC) | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChiHea] | y1HeaCoo | Direct HR command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChiHea] | y1 | On/Off command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | mEvaChiSet_flow | Chiller evaporator flow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TConEntChiHeaSet | HRC condenser entering temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaWatPriRet | Primary HW return temperature | |
| Buildings.Controls.OBC.CDL.Logical.And[nChiHea] | heaCooAndOn | Return true if direct HR AND On | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep | Replicate | |
| Buildings.Controls.OBC.Utilities.PIDWithEnable[nChiHea] | ctl | CHW supply temperature control | |
| Buildings.Controls.OBC.CDL.Reals.Line[nChiHea] | chiFloRes | Chiller evaporator flow reset | |
| Buildings.Controls.OBC.CDL.Reals.MultiMin | min | Minimum evaporator flow setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2] | xFlo | x-value for flow reset | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2] | yFlo | y-value for flow reset | |
| Buildings.Controls.OBC.CDL.Reals.Line[nChiHea] | chiHeaFloRes | HRC evaporator flow reset | |
| Buildings.Controls.OBC.CDL.Reals.MultiMin | min1 | Minimum evaporator flow setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2] | xFlo1 | x-value for flow reset | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2] | yFlo1 | y-value for flow reset | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | mEvaChiHeaSet_flow | HRC evaporator flow setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Line[nChiHea] | chiHeaConTemRes | HRC condenser entering temperature reset | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2] | xFlo2 | x-value for flow reset | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | addOff | Add offset | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | addOff1 | Add offset | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep1 | Replicate | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep2 | Replicate | |
| Buildings.Controls.OBC.CDL.Routing.RealExtractor | extIndRea | Keep reset value from HRC in direct HR with higher index | |
| Buildings.Controls.OBC.CDL.Reals.MovingAverage | mea | Moving average | |
| Buildings.Controls.OBC.CDL.Integers.Switch[nChiHea] | intSwi | Switch | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant[nChiHea] | conInt | Constant 1 | |
| Buildings.Controls.OBC.CDL.Conversions.IntegerToReal[nChiHea] | intToRea | Convert integer to real | |
| Buildings.Controls.OBC.CDL.Reals.MultiMax | mulMax | Maximum value of a vector input | |
| Buildings.Controls.OBC.CDL.Conversions.RealToInteger | reaToInt | Convert real to integer | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant[nChiHea] | idxChiHea | HRC index |
Revisions
-
February 24, 2023, by Antoine Gautier:
First implementation.