blockUp
Sequence for control devices when there is stage-up command
Information
Block that controls devices when there is a stage-up 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.16, which specifies the step-by-step control of devices during the chiller staging up 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. -
Command operating chillers to reduce demand to 75% (
chiDemRedFac) of their current load (uChiLoa). Wait until actual demand < 80% of current load up to a maximum of 5 minutes (holChiDemTim) before proceeding. This is implemented in blockchiDemRed. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.ReduceDemand for more descriptions. -
Reset the minimum chilled water flow setpoint,
-
For any stage change during which a smaller chiller is disabled and a larger chiller
is enabled, slowly change (
byPasSetTim) the minimum chilled water flow setpoint to the one that includes both chillers are enabled. After the new setpoint is achieved, wait 1 minute (aftByPasSetTim) to allow loop to stabilize. -
For any other stage change, reset (
byPasSetTim) the minimum chilled water flow setpoint to the one that includes the new chiller. After the new setpoint is achieved, wait 1 minute (aftByPasSetTim) to allow loop to stabilize.
minChiWatFlo( Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.MinimumFlowBypass.FlowSetpoint). BlockminBypSetchecks if the new setpoint is achieved ( Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.ResetMinBypass). -
For any stage change during which a smaller chiller is disabled and a larger chiller
is enabled, slowly change (
-
Start the next condenser water pump and (or) change the condenser water pump speed
to that required of the new stage. Wait 10 seconds (
thrTimEnb). BlockenaNexCWPidentifies 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). -
Enabled head pressure control for the being enabled chiller. Wait 30 seconds (
waiTim). This is implemented in blockenaHeaCon. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.HeadControl for more descriptions. -
Slowly (
chaChiWatIsoTim) open the chilled water isolation valve of the chiller being enabled. The valve timing should be determined in the field. This is implemented in blockenaChiIsoVal. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.CHWIsoVal for more descriptions. -
End the staging up process:
- If the stage change does not require one chiller to be enabled and another chiller to be disabled, start the next stage chiller after the isolation valve is fully open.
- If the stage change does require one chiller to be enabled and another chiller to be disabled, starting the next stage chiller after the isolation valve is fully open, then shut off the smaller chiller, close the chiller's chilled water isolation valve, disable the head pressure control loop, and change the minimum chilled water flow setpoint to the one for the new stage.
- Release the demand limit, which marks the end of the staging process.
endUp. See Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.UpEnd for more descriptions.
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 | 6 | 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 | true | True: fixed speed condenser water pump |
| Boolean | need_reduceChillerDemand | false | True: need limit chiller demand when chiller staging |
| Real | delStaCha | 900 | Hold period for each stage change |
| Limit chiller demand | |||
| 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 |
| Reset CHW minimum flow setpoint | |||
| Real | byPasSetTim | 300 | Time to reset minimum bypass flow |
| Real[nChi] | minFloSet | {0.0089, 0.0089} | Minimum chilled water flow through each chiller |
| Real[nChi] | maxFloSet | {0.025, 0.025} | 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 |
| Enable condenser water pump | |||
| Real[nPlaSta] | staVec | {0, 0.5, 1, 1.5, 2, 2.5} | Plant stage vector, element value like x.5 means chiller stage x plus WSE |
| Real[nPlaSta] | desConWatPumSpe | {0, 0.5, 0.75, 0.6, 0.75, 0.9} | Design condenser water pump speed setpoints, according to current chiller stage and WSE status |
| Integer[nPlaSta] | desConWatPumNum | {0, 1, 1, 2, 2, 2} | 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 |
| Enable head pressure control | |||
| Real | thrTimEnb | 10 | Threshold time to enable head pressure control after condenser water pump being reset |
| Real | waiTim | 30 | Waiting time after enabling next head pressure control |
| Enable 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 | 300 | Time to slowly change isolation valve, should be determined in the field |
| Enable next chiller | |||
| Real | proOnTim | 300 | Threshold time to check after newly enabled chiller being operated |
| 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 | 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.BooleanInput[nChi] | uChiConIsoVal | Chiller condenser water isolation valve status | |
| 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 | uEnaPla | True: the plant is just enabled | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nChi] | uConWatReq | Condenser water request status for each chiller | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | uWSE | Water side economizer status: true = ON, false = OFF | |
| 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 | uPla | Plant enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yStaPro | Indicate if it is in stage-up process: true=in stage-up process | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yChiDem | Chiller demand setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yChiWatMinFloSet | Chilled water minimum flow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yTowStaUp | Tower stage up status: true=stage up cooling tower | |
| 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.BooleanOutput[nChi] | yChiHeaCon | Chiller head pressure control enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nChi] | y1ChiWatIsoVal | Chiller chilled water isolation valve commanded on | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nChi] | yChiWatIsoVal | Chilled water isolation valve position setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nChi] | yChi | Chiller enabling status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yEndStaTri | Staging end trigger |
Revisions
-
September 23, 2019, by Jianjun Hu:
First implementation.