blockController
Cooling tower controller
Information
Block that controls the cooling tower cells enabling status yTowSta,
the supply isolation valve positions yIsoVal of each cell and the
cell fan operating speed ySpeSet.
This is implemented according to ASHRAE Guideline 36-2021, section 5.20.12.
The section specifies sequences to control the cooling tower.
It includes three subsequences:
- Sequence of controlling tower fan speed, see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Towers.FanSpeed.Controller for a description. Note that in current implementation, the fan speed is controlled to maintain the condenser water return temperature at the setpoint.
- Sequence of cooling tower staging, see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Towers.Staging.Controller for a description. Note that the sequence assumes that the cells are enabled in order as it is labelled, meaning that it enables the cells as cell 1, 2, 3, etc.
- Sequence of tower make-up water valve control, see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Towers.WaterLevel for a description.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.HeadPressureControl | chiHeaPreCon | Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.HeadPressureControl.ByPlant | Chiller head pressure controlled type |
| Integer | nChi | 2 | Total number of chillers |
| Integer | nPlaSta | 5 | Total number of plant stages, including stage zero and the stages with a WSE, if applicable |
| Integer | nTowCel | 2 | Total number of cooling tower cells |
| Integer | nConWatPum | 2 | Total number of condenser water pumps |
| Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.TowerSpeedControl | fanSpeCon | Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.TowerSpeedControl.CondenserWaterReturnTemperaure | Tower fan speed control type |
| Boolean | have_conWatRetCon | fanSpeCon == Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.TowerSpeedControl.CondenserWaterReturnTemperaure | True: the fan speed is controlled to maintain the condenser water return temperature setpoint |
| Boolean | closeCoupledPlant | false | True: the plant is close coupled, i.e. the pipe length from the chillers to cooling towers does not exceed approximately 100 feet |
| Boolean | have_WSE | true | Flag to indicate if the plant has waterside economizer |
| Nominal | |||
| Real | desCap | 1e6 | Plant design capacity |
| Real | fanSpeMin | 0.1 | Minimum tower fan speed |
| Fan speed › WSE enabled | |||
| Real[nChi] | chiMinCap | {1e4, 1e4} | Minimum cyclining load below which chiller will begin cycling |
| Buildings.Controls.OBC.CDL.Types.SimpleController | intOpeCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Controller in the mode when WSE and chillers are enabled |
| Real | kIntOpe | 1 | Gain of controller |
| Real | TiIntOpe | 0.5 | Time constant of integrator block |
| Real | TdIntOpe | 0.1 | Time constant of derivative block |
| Buildings.Controls.OBC.CDL.Types.SimpleController | chiWatCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Controller in the mode when only WSE is enabled |
| Real | kWSE | 1 | Gain of controller |
| Real | TiWSE | 0.5 | Time constant of integrator block |
| Real | TdWSE | 0.1 | Time constant of derivative block |
| Fan speed › Return temperature control | |||
| Real[nChi] | minChiLif | {12, 12} | Minimum LIFT of each chiller |
| Real[nChi] | TConWatSup_nominal | {293.15, 293.15} | Condenser water supply temperature (condenser entering) of each chiller |
| Real[nChi] | TConWatRet_nominal | {303.15, 303.15} | Condenser water return temperature (condenser leaving) of each chiller |
| Real[nChi] | TChiWatSupMin | {278.15, 278.15} | Lowest chilled water supply temperature oc each chiller |
| Buildings.Controls.OBC.CDL.Types.SimpleController | couPlaCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of coupled plant controller |
| Real | kCouPla | 1 | Gain of controller |
| Real | TiCouPla | 0.5 | Time constant of integrator block |
| Real | TdCouPla | 0.1 | Time constant of derivative block |
| Real | yCouPlaMax | 1 | Upper limit of output |
| Real | yCouPlaMin | 0 | Lower limit of output |
| Real | samplePeriod | 30 | Period of sampling condenser water supply and return temperature difference |
| Buildings.Controls.OBC.CDL.Types.SimpleController | supWatCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Condenser supply water temperature controller for less coupled plant |
| Real | kSupCon | 1 | Gain of controller |
| Real | TiSupCon | 0.5 | Time constant of integrator block |
| Real | TdSupCon | 0.1 | Time constant of derivative block |
| Real | ySupConMax | 1 | Upper limit of output |
| Real | ySupConMin | 0 | Lower limit of output |
| Fan speed › Advanced | |||
| Real | speChe | 0.005 | Lower threshold value to check fan or pump speed |
| Real | iniPlaTim | 600 | Time to hold return temperature at initial setpoint after plant being enabled |
| Real | ramTim | 180 | Time to ramp return water temperature from initial value to setpoint |
| Real | cheMinFanSpe | 300 | Threshold time for checking duration when tower fan equals to the minimum tower fan speed |
| Real | cheMaxTowSpe | 300 | Threshold time for checking duration when any enabled chiller maximum cooling speed equals to the minimum tower fan speed |
| Real | cheTowOff | 60 | Threshold time for checking duration when there is no enabled tower fan |
| Tower staging › Nominal | |||
| Real[nPlaSta] | staVec | {0, 0.5, 1, 1.5, 2} | Plant stage vector, element value like x.5 means chiller stage x plus WSE |
| Tower staging | |||
| Integer[nPlaSta] | towCelOnSet | {0, 1, 1, 2, 2} | Design number of tower fan cells that should be enabled, according to current chiller stage and WSE status |
| Tower staging › Isolation valves | |||
| Boolean | have_inlIsoVal | true | True: tower cells have the inlet isolation valve |
| Boolean | have_outIsoVal | false | True: tower cells have the outlet isolation valve |
| Boolean | have_endSwi | false | True: tower cells isolatiove valve have the end switch feedback |
| Real | chaTowCelIsoTim | 90 | Nominal time needed for open isolation valve of the tower cells |
| Makeup water | |||
| Real | watLevMin | 0.7 | Minimum cooling tower water level recommended by manufacturer |
| Real | watLevMax | 1 | Maximum cooling tower water level recommended by manufacturer |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uChiLoa | Current cooling load | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChi | Vector of chiller proven on status: true=ON | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uWse | Waterside economizer proven on status: true=ON | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatSup | Chilled water supply temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TChiWatSupSet | Chilled water supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | reqPlaCap | Current required plant capacity | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nChi] | uMaxSpeSet | Maximum cooling tower speed setpoint from each chiller head pressure control loop | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nTowCel] | uTowSta | Vector of tower cell proven on status: true=running tower cell | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uPla | Plant enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TConWatRet | Condenser water return temperature (condenser leaving) | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nConWatPum] | uConWatPum | Current condenser water pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TConWatSup | Condenser water supply temperature (condenser entering) | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uEnaPla | True: plant is just enabled | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uChiSta | Current chiller stage | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uChiStaSet | Chiller stage setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uTowStaCha | Cooling tower stage change command from plant staging process | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nTowCel] | u1InlIsoValOpe | Tower cells inlet isolation valve open end switch. True: the isolation valve is fully open | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nTowCel] | u1OutIsoValOpe | Tower cells outlet isolation valve open end switch. True: the isolation valve is fully open | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nTowCel] | u1InlIsoValClo | Tower cells inlet isolation valve close end switch. True: the isolation valve is fully closed | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nTowCel] | u1OutIsoValClo | Tower cells outlet isolation valve close end switch. True: the isolation valve is fully closed | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | watLev | Measured water level | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yLifMax | Maximum LIFT among enabled chillers | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yLifMin | Minimum LIFT among enabled chillers | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TConWatRetSet | Condenser water return temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TConWatSupSet | Condenser water supply temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yLeaCel | Lead tower cell status setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nTowCel] | y1IsoVal | Cooling tower cells isolation valve position | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nTowCel] | yTowSta | Vector of tower cells status setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | ySpeSet | Fan speed setpoint for enabled cell | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yMakUp | Makeup water valve On-Off status |
Revisions
-
September 14, 2019, by Jianjun Hu:
First implementation.