blockCoolingTowerLoop

Cooling tower loop control

Information

This block implements the control logic for the CT pumps and CT fans.

CT supply temperature setpoint

When Heat Rejection mode is enabled, the setpoint is equal to min(25 °C, TChiWatSupSet + dTLif - dTConWat - dTHexCoo_nominal), where TChiWatSupSet is the CHW supply temperature setpoint, dTLif is the target chiller lift (see below), dTConWat is the chiller condenser Delta-T averaged over a 5-minute moving window, and dTHexCoo_nominal is the design heat exchanger approach. The target chiller lift is reset from the minimum chiller lift to the design chiller lift when the plant required cooling capacity varies from 10 % to 100 % of the design value.

In any other mode the setpoint is equal to the minimum setpoint value of the active tank cycle minus the design heat exchanger approach.

CT pumps

The lead pump is enabled whenever the TES tank bypass valve commanded position is lower than 1 for min and the CW mass flow rate through the secondary side of the cooling heat exchanger is higher than 2.5 % of design condition for min. The lead pump is disabled whenever the TES tank bypass valve commanded position is equal to 1 for min or the CW mass flow rate through the secondary side of the cooling heat exchanger is lower than 2.5 % of design condition for min.

The lag pump is enabled whenever the pump speed command (common to all pumps) is higher than 80 % for min. The lag pump is disabled whenever the pump speed command is lower than 80 % for min or the lead pump is disabled.

The pump speed command is the lower of that output by two loops, each loop being enabled whenever any pump is proven on. The first loop maintains the heat exchanger leaving CW temperature on plant side at setpoint. The setpoint is equal to the CT supply temperature setpoint plus the design HX approach. The second loop maintains the Delta-T across the primary side (CT loop) of the HX at a setpoint equal to the Delta-T across the secondary side (plant side) of the HX minus K. (This loop keeps the primary and secondary HX flow rates close to each other and prevents pump speed runaway when target CT supply temperature setpoint cannot be met.) The output of each loop is mapped to the minimum pump speed at 80 % to 100 % at 100 %. The minimum pump speed is provided as a parameter for each pump stage since different speeds are required for each stage to maintain minimum tower flow.

CT fans

When any of the CT pumps is commanded On, a control loop maintains the tower water supply temperature at setpoint by resetting the tower fan speed from 0 % to a maximum value varying between 70 % and 100 % when the plant required cooling capacity varies from 0 % to 50 % of the design value. Otherwise, the loop is disabled and its output set to 0 %.

Note that the fan cycling On and Off is implicitly modeled in the cooling tower component which uses a low limit of the control signal to switch to a free convection regime at zero fan power.

Parameters

TypeNameDefaultDescription
RealmConWatHexCoo_flow_nominalDesign total CW mass flow rate through condenser barrels (all units)
IntegernCooNumber of cooling tower cells operating at design conditions
IntegernPumConWatCooNumber of CW pumps serving cooling towers at design conditions
RealQChiWat_flow_nominalDesign plant cooling heat flow rate (all units)
RealdTLifChi_minMinimum chiller lift at minimum load
RealdTLifChi_nominalDesign chiller lift
Real[2,2]TTanSetTank temperature setpoints: 2 cycles with 2 setpoints
RealdTHexCoo_nominalDesign heat exchanger approach
Real[nPumConWatCoo]yPumConWatCoo_min{0.2/i for i in 1:nPumConWatCoo}Tower pump speed needed to maintain minimum tower flow (each pump stage)

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputmodeCondenser loop operating mode
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputidxCycTanIndex of active tank cycle
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatCooSupCooling tower loop CW supply temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputmConWatHexCoo_flowCW mass flow rate through secondary side of HX
Buildings.Controls.OBC.CDL.Interfaces.RealInputQCooReq_flowPlant required cooling capacity (>0)
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatConChiEntChiller and HRC entering CW temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatConChiLvgChiller and HRC leaving CW temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputTChiWatSupSetCHW supply temperature setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatCooRetCooling tower loop CW return temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputyValBypTanTES tank bypass valve commanded position
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatHexCooEntHX entering CW temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputTConWatHexCooLvgHX leaving CW temperature
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPumConWatCoo]y1PumConWatCooCooling tower pump Start command
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyCooCooling tower fan speed command
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyPumConWatCooCooling tower pump speed command
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nCoo]y1CooCooling tower Start command

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.SubtractdelTemConCompute CW deltaT
Buildings.Controls.OBC.CDL.Reals.MovingAveragemeaMoving mean
Buildings.Controls.OBC.CDL.Reals.SubtractdelTem1Compute deltaT
Buildings.Controls.OBC.CDL.Reals.AddlifPluAdd target lift
Buildings.Controls.OBC.CDL.Reals.AddParametersubAppSubstract HX approach
Buildings.Controls.OBC.CDL.Reals.SwitchTSupSetUnbCompute tower supply temperature setpoint, unbounded
Buildings.Controls.OBC.CDL.Integers.Sources.ConstantmodRejHeat rejection mode index
Buildings.Controls.OBC.CDL.Integers.EqualisModRejHeat rejection mode
Buildings.Controls.OBC.CDL.Routing.RealExtractorextSetExtract setpoint value based on current mode
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterratDesRatio to design capacity
Buildings.Controls.OBC.CDL.Reals.LinelifCompute target chiller lift
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]xLifx-value for lift reset
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]yLify-value for lift reset
Buildings.DHC.Plants.Combined.Controls.BaseClasses.StagingPumpstaPumStage pumps
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdcmpFloFlow criterion to enable lead pump
Buildings.Controls.OBC.CDL.Logical.TimertimFloTimer for flow exceeding triggering limit
Buildings.Controls.OBC.CDL.Logical.TimertimFlo1Timer for flow exceeding triggering limit
Buildings.Controls.OBC.CDL.Reals.LessThresholdcmpOpeValve opening criterion to enable lead pump
Buildings.Controls.OBC.CDL.Logical.TimertimOpeTimer for valve opening exceeding triggering limit
Buildings.Controls.OBC.CDL.Logical.TimertimOpe1Timer for valve opening exceeding triggering limit
Buildings.Controls.OBC.CDL.Logical.Notnot1Valve opening criterion to disable lead pump
Buildings.Controls.OBC.CDL.Logical.OrdisDisable condition
Buildings.Controls.OBC.CDL.Logical.AndenaEnable condition
Buildings.Controls.OBC.CDL.Logical.LatchenaLeaEnable lead pump
Buildings.Controls.OBC.CDL.Reals.SubtractdelTem2Compute deltaT
Buildings.Controls.OBC.CDL.Reals.SubtractdelTem3Compute deltaT
Buildings.Controls.OBC.CDL.Reals.AddParameteraddOffAdd offset
Buildings.Controls.OBC.CDL.Reals.AddParameteraddAppAdd HX approach
Buildings.Controls.OBC.Utilities.PIDWithEnablectlPum1Pump control loop #1
Buildings.Controls.OBC.Utilities.PIDWithEnablectlPum2Pump control loop #1
Buildings.Controls.OBC.CDL.Reals.MinminCtlPumMinimum loop output
Buildings.Controls.OBC.CDL.Reals.LinepumPump speed command
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]xPumx-value for pump speed reset
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantoneConstant
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nPumConWatCoo]yPumMinMinimum pump speed
Buildings.Controls.OBC.CDL.Routing.RealExtractorextYPumMinExtract minimum pump speed value based on current pump stage
Buildings.Controls.OBC.CDL.Reals.LinefanMaxCompute maximum fan speed
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]xFanx-value for maximum fan speed reset
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]yFany-value for maximum fan speed reset
Buildings.Controls.OBC.Utilities.PIDWithEnablectlFanFan control loop
Buildings.Controls.OBC.CDL.Logical.Prepre1Left limit of signal to avoid direct feedback
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantsetMaxMaximum setpoint
Buildings.Controls.OBC.CDL.Reals.MinTSupSetCompute tower supply temperature setpoint
Buildings.Controls.OBC.CDL.Reals.LinefanCompute fan speed
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]xFan1x-value for fan speed reset
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantyFan1y-value for fan speed reset
Buildings.Controls.OBC.CDL.Logical.Notnot2Flow criterion to disable lead pump
Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicatorrepReplicate
Buildings.Controls.OBC.CDL.Logical.NotnotDisNot disabled
Buildings.Controls.OBC.CDL.Logical.AndenaAndNotDisReset enable condition when disable is true to trigger latch block when (enable, disable) becomes (true, false) again
Buildings.Controls.OBC.CDL.Integers.MaxcomPumNumber of pumps commanded on, bounded by 1
Buildings.Controls.OBC.CDL.Integers.Sources.ConstantconIntConstant one
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]tanSetTank temperature setpoints
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2]hexAppDesign heat exchanger approach
Buildings.Controls.OBC.CDL.Reals.Subtract[2]setOth3Target setpoint in any mode other than heat rejection

Revisions

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