blockDown
Sequence for controlling devices when there is a stage-down command
Information
Block that controls devices when there is a stage-down command. This sequence is for water-cooled primary-only parallel chiller plants with headered chilled water pumps and headered condenser water pumps, or air-cooled primary-only parallel chiller plants with headered chilled water pumps. This development is based on ASHRAE Guideline 36-2021, section 5.20.4.17, which specifies the step-by-step control of devices during the chiller staging down process.
-
Identify the chiller(s) that should be enabled (and disabled, if
have_ponChi=true). This is implemented in blocknexChi. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.NextChiller for more descriptions. -
Start the staging down process,
-
For any stage change during which a smaller chiller is enabled and a larger chiller
is disabled:
-
Command operating chillers to reduce demand to 75% (
chiDemRedFac) of their current load (uChiLoa) or a percentage equal to current stage minimum cycling operative partial load ratioyOpeParLoaRatMin, whichever is greater. Wait until actual demand < 80% of current load up to a maximum of 5 minutes (holChiDemTim) before proceeding. -
Slowly change the minimum flow bypass setpoint to the one that includes both
chillers are enabled. After the new setpoint is achieved, wait 1 minute
(
aftByPasSetTim) to allow loop being stabilized. -
Enable head pressure control for the chiller being enabled. Wait 30 seconds (
waiTim). -
Slowly (
chaChiWatIsoTim) open the chilled water isolation valve of the smaller chiller being enabled. The valve timing should be determined in the field. - Start the smaller chiller after its chilled water isolation valve is fully open.
-
Wait 5 minutes (
proOnTim) for the newly enabled chiller to prove that it is operating correctly, then shut off the larger chiller and release the demand limit.
-
Command operating chillers to reduce demand to 75% (
- If staging down from any other stage, shut off the last stage chiller.
dowSta. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.DownStart for more descriptions. -
For any stage change during which a smaller chiller is enabled and a larger chiller
is disabled:
-
When the controller of the chiller being shut off indicates no request for chilled
water flow (
uChiWatReq=false), slowly (chaChiWatIsoTim) close the chiller's chilled water isolation valve to avoid a sudden change in flow through other operating chillers. This is implemented in blockdisChiIsoVal. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.CHWIsoVal for more descriptions. -
When the controller of the chiller being shut off indicates no request for condenser
water flow (
uConWatReq=false), disable the chiller's head pressure control loop. This is implemented in blockdisHeaCon. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.HeadControl for more descriptions. -
When the condenser water head pressure control valve is fully closed, shut off
the last lag condenser water pump or change the pump speed to that required of
the new stage.
Block
disNexCWPidentifies chiller stage for the condenser water pump control ( Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.EnableCWPump) and blockconWatPumConchecks if the condenser water pumps have been reset ( Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Pumps.CondenserWater.Controller). -
Change the chilled water minimum flow setpoint to that appropriate for the new
stage.
The minimum flow setpoint is reset in block
minChiWatFlo( Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.MinimumFlowBypass.FlowSetpoint).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nChi | 2 | Total number of chillers in the plant |
| Integer | nConWatPum | 2 | Total number of condenser water pumps |
| Integer | nPlaSta | 3 | Total number of plant stages, including stage zero and the stages with a WSE, if applicable |
| Integer | nChiSta | 3 | Total number of chiller stages, including stage zero but not the stages with a WSE, if applicable |
| Boolean | have_airCoo | false | True: the plant has air cooled chiller |
| Boolean | have_WSE | true | True: have waterside economizer |
| Boolean | have_ponChi | false | True: have pony chiller |
| Boolean | have_parChi | true | True: the plant has parallel chillers |
| Boolean | have_heaConWatPum | true | True: headered condenser water pumps |
| Boolean | have_fixSpeConWatPum | false | True: fixed speed condenser water pump |
| Boolean | need_reduceChillerDemand | false | True: need limit chiller demand when chiller staging |
| Disable last chiller | |||
| Real | chiDemRedFac | 0.75 | Demand reducing factor of current operating chillers |
| Real | holChiDemTim | 300 | Maximum time to wait for the actual demand less than percentage of current load |
| Real | waiTim | 30 | Waiting time after enabling next head pressure control |
| Real | proOnTim | 300 | Enabled chiller operation time to indicate if it is proven on |
| Disable CHW isolation valve | |||
| Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.Actuator | chiIsoValTyp | Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Types.Actuator.Modulating | Chiller CHW isolation valve type |
| Boolean | have_twoPosEndSwiChiVal | false | True for chiller CHW isolation valves with end switch status feedback |
| Real | chaChiWatIsoTim | Time to slowly change isolation valve, should be determined in the field | |
| Disable condenser water pump | |||
| Real[nPlaSta] | staVec | Plant stage vector, element value like x.5 means chiller stage x plus WSE | |
| Real[nPlaSta] | desConWatPumSpe | Design condenser water pump speed setpoints, according to current chiller stage and WSE status | |
| Integer[nPlaSta] | desConWatPumNum | Design number of condenser water pumps that should be enabled, according to current chiller stage and WSE status | |
| Integer[nChiSta] | desChiNum | {0, 1, 2} | Design number of chiller that should be enabled, according to current chiller stage |
| Reset CHW minimum flow setpoint | |||
| Real | byPasSetTim | Time to reset minimum by-pass flow | |
| Real[nChi] | minFloSet | Minimum chilled water flow through each chiller | |
| Real[nChi] | maxFloSet | Maximum chilled water flow through each chiller | |
| Reset bypass | |||
| Real | aftByPasSetTim | 60 | Time to allow loop to stabilize after resetting minimum chilled water flow setpoint |
| Advanced › Reset bypass | |||
| Real | relFloThr | 0.95 | Relative flow rate to check if the flow has achieved setpoint |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uStaSet | Chiller stage setpoint index | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChiSet | Vector of chillers status setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uEndPro | Rising edge: the staging up or down process is done | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | yOpeParLoaRatMin | Current stage minimum cycling operative partial load ratio | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uChiLoa | Current chiller load | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChi | Chiller status: true=ON | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VChiWat_flow | Measured chilled water flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uChiSta | Current chiller stage, it would be the same as chiller stage setpoint when it is not in staging process | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChiHeaCon | Chillers head pressure control status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | u1ChiWatIsoValOpe | Chiller chilled water isolation valve open end switch. True: the valve is fully open | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | u1ChiWatIsoValClo | Chiller chilled water isolation valve close end switch. True: the valve is fully closed | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChiWatReq | Chilled water request status for each chiller | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uConWatReq | Condenser water request status for each chiller | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uChiConIsoVal | Chiller condenser water isolation valve status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uWSE | Water side economizer status: true = ON, false = OFF | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uPla | Plant enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yStaPro | Indicate stage-down status: true=in stage-down process | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yChiDem | Chiller demand setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nChi] | yChi | Chiller enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yReaDemLim | Release demand limit | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nChi] | yChiWatIsoVal | Chilled water isolation valve position setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nChi] | y1ChiWatIsoVal | Chiller chilled water isolation valve commanded on | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yTowStaDow | Tower stage down status: true=stage down cooling tower | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nChi] | yChiHeaCon | Chiller head pressure control enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yLeaPum | Lead condenser water pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yDesConWatPumSpe | Condenser water pump design speed at current stage | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yConWatPumNum | Number of operating condenser water pumps | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yChiWatMinFloSet | Chilled water minimum flow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yEndStaTri | Staging end trigger |
Revisions
-
September 23, 2019, by Jianjun Hu:
First implementation.