blockDirectHeatRecovery

Block controlling HRC in direct heat recovery mode

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

TypeNameDefaultDescription
CHW loop and cooling-only chillers
IntegernChiNumber of units operating at design conditions
RealmChiWatChi_flow_nominalChiller CHW design mass flow rate (value will be used for each unit)
RealmChiWatChi_flow_minChiller CHW minimum mass flow rate (value will be used for each unit)
HW loop and heat recovery chillers
IntegernChiHeaNumber of units operating at design conditions
RealmChiWatChiHea_flow_nominalHRC CHW design mass flow rate (value will be used for each unit)
RealmChiWatChiHea_flow_minHRC CHW minimum mass flow rate (value will be used for each unit)
Control parameters
Realk0.01Gain of controller
RealTi60Time constant of integrator block
Realy_reset0.5Value to which the controller output is reset if the boolean trigger has a rising edge
Realy_neutral0.5Value to which the controller output is reset when the controller is disabled

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputTChiWatSupSetCHW supply temperature setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInput[nChiHea]TEvaLvgEvaporator barrel leaving temperature (each HRC)
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChiHea]y1HeaCooDirect HR command
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChiHea]y1On/Off command
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmEvaChiSet_flowChiller evaporator flow setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealOutputTConEntChiHeaSetHRC condenser entering temperature setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHeaWatPriRetPrimary HW return temperature
Buildings.Controls.OBC.CDL.Interfaces.RealOutputmEvaChiHeaSet_flowHRC evaporator flow setpoint

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Logical.And[nChiHea]heaCooAndOnReturn true if direct HR AND On
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorrepReplicate
Buildings.Controls.OBC.Utilities.PIDWithEnable[nChiHea]ctlCHW supply temperature control
Buildings.Controls.OBC.CDL.Reals.Line[nChiHea]chiFloResChiller evaporator flow reset
Buildings.Controls.OBC.CDL.Reals.MultiMinminMinimum evaporator flow setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2]xFlox-value for flow reset
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2]yFloy-value for flow reset
Buildings.Controls.OBC.CDL.Reals.Line[nChiHea]chiHeaFloResHRC evaporator flow reset
Buildings.Controls.OBC.CDL.Reals.MultiMinmin1Minimum evaporator flow setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2]xFlo1x-value for flow reset
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2]yFlo1y-value for flow reset
Buildings.Controls.OBC.CDL.Reals.Line[nChiHea]chiHeaConTemResHRC condenser entering temperature reset
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nChiHea,2]xFlo2x-value for flow reset
Buildings.Controls.OBC.CDL.Reals.AddParameteraddOffAdd offset
Buildings.Controls.OBC.CDL.Reals.AddParameteraddOff1Add offset
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorrep1Replicate
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorrep2Replicate
Buildings.Controls.OBC.CDL.Routing.RealExtractorextIndReaKeep reset value from HRC in direct HR with higher index
Buildings.Controls.OBC.CDL.Reals.MovingAveragemeaMoving average
Buildings.Controls.OBC.CDL.Integers.Switch[nChiHea]intSwiSwitch
Buildings.Controls.OBC.CDL.Integers.Sources.Constant[nChiHea]conIntConstant 1
Buildings.Controls.OBC.CDL.Conversions.IntegerToReal[nChiHea]intToReaConvert integer to real
Buildings.Controls.OBC.CDL.Reals.MultiMaxmulMaxMaximum value of a vector input
Buildings.Controls.OBC.CDL.Conversions.RealToIntegerreaToIntConvert real to integer
Buildings.Controls.OBC.CDL.Integers.Sources.Constant[nChiHea]idxChiHeaHRC index

Revisions

  • February 24, 2023, by Antoine Gautier:
    First implementation.