blockDampers
Output signals for controlling dampers of dual-duct terminal unit with cold-duct minimum control
Information
This sequence sets the dampers for dual-duct terminal unit with cold-duct minimum control. The implementation is according to Section 5.14.5 of ASHRAE Guideline 36, May 2020. The calculation is done following the steps below.
-
When the zone state is cooling (
uCoo > 0), then the cooling loop outputuCooshall reset the cooling supply airflow setpointVColDucDis_flow_Setfrom the minimumVActMin_flowto cooling maximum setpointVActCooMax_flow. The cooling damper shall be modulated by a control loop to maintain the measured cooling aiflowVColDucDis_flowat setpoint. The heating damper shall be closedyHeaDam=0.-
If the cold-deck supply air temperature
TColSupfrom the cooling air handler is greater than room temperatureTZon, cooling supply airflow setpoint shall be no higher than the minimum.
-
If the cold-deck supply air temperature
-
When the zone state is deadband (
uCoo=0anduHea=0), the cooling airflow set pointVColDucDis_flow_Setshall be the minimum set pointVActMin_flow. The cooling damper shall be modulated by a control loop to maintain the measured cooling airflow at set point. The heating damper shall be closed. -
When the zone state is heating (
uHea > 0), then the heating loop outputuHeashall reset the heating supply airflow setpointVHotDucDis_flow_Setfrom zero to heating maximum setpointVActHeaMax_flow. The heating damper shall be modulated by a control loop to maintain the measured heating aiflowVHotDucDis_flowat setpoint. The cooling airflow setpoint shall be the minimum setpointVActMin_flow. The cooling damper shall be controlled to maintain the set point.-
If the hot-deck supply air temperature
THotSupfrom the heating air handler is less than room temperatureTZon, heating supply airflow setpoint shall be no higher than the minimum.
-
If the hot-deck supply air temperature
-
Overriding above controls:
-
If heating air handler is not proven ON (
u1HeaAHU=false), the heating damper shall be closed (yHeaDam=0). -
If cooling air handler is not proven ON (
u1CooAHU=false), the cooling damper shall be closed (yCooDam=0).
-
If heating air handler is not proven ON (
The sequences of controlling dampers position for dual-duct terminal unit with cold-duct minimum control are described in the following figure below.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | VCooMax_flow | Design zone cooling maximum airflow rate | |
| Real | VHeaMax_flow | Design zone heating maximum airflow rate | |
| Buildings.Controls.OBC.CDL.Types.SimpleController | controllerTypeDam | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of controller |
| Real | kDam | 0.5 | Gain of controller for damper control |
| Real | TiDam | 300 | Time constant of integrator block for damper control |
| Real | TdDam | 0.1 | Time constant of derivative block for damper control |
| Advanced | |||
| Real | dTHys | 0.25 | Temperature difference hysteresis below which the temperature difference will be seen as zero |
| Real | looHys | 0.05 | Loop output hysteresis below which the output will be seen as zero |
| Real | iniDam | 0.01 | Initial heating damper position when the damper control is enabled |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uCoo | Cooling control signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VActCooMax_flow | Active cooling maximum airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TColSup | Cold duct supply air temperature from central air handler | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VColDucDis_flow | Measured cold-duct discharge airflow rate airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1CooAHU | Cooling air handler status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VActMin_flow | Active minimum airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TZon | Measured zone temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THotSup | Hot duct supply air temperature from central air handler | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uHea | Heating control signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VActHeaMax_flow | Active heating maximum airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VHotDucDis_flow | Measured hot-duct discharge airflow rate airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1HeaAHU | Heating air handler status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | VDis_flow_Set | Discharge airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | VColDucDis_flow_Set | Cold duct discharge airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yCooDam | Cold duct damper commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | VHotDucDis_flow_Set | Hot duct discharge airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yHeaDam | Hot duct damper commanded position | |
| Buildings.Controls.OBC.CDL.Logical.And | and4 | Logical and | |
| Buildings.Controls.OBC.CDL.Reals.Line | lin | Active airflow setpoint for cooling | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi | Output active cold duct airflow setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi5 | Airflow setpoint when it is in cooling state | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conZer | Constant zero | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conOne | Constant one | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr1 | Check if it is cooling state | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr | Check if supply air temperature is greater than room temperature | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | sub2 | Calculate temperature difference between AHU supply air and room | |
| Buildings.Controls.OBC.CDL.Reals.Add | add2 | Total discharge airflow setpoint | |
| Buildings.Controls.OBC.CDL.Logical.Or | or2 | Cooing or heating state | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr2 | Check if it is cooling state | |
| Buildings.Controls.OBC.CDL.Reals.Line | lin1 | Active airflow setpoint for heating | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conZer1 | Constant zero | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conOne1 | Constant one | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | sub1 | Calculate temperature difference between AHU supply air and room | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr3 | Check if supply air temperature is less than room temperature | |
| Buildings.Controls.OBC.CDL.Logical.And | and1 | Logical and | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi2 | Airflow setpoint when it is in heating state | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi3 | Airflow setpoint when it is in heating state | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conZer3 | Constant zero | |
| Buildings.Controls.OBC.CDL.Reals.Divide | VDisSet_flowNor | Normalized setpoint for discharge volume flow rate | |
| Buildings.Controls.OBC.CDL.Reals.PIDWithReset | conCooDam | Cooling damper position controller | |
| Buildings.Controls.OBC.CDL.Reals.Divide | VDis_flowNor | Normalized discharge volume flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Switch | cooDamPos | Output cooling damper position | |
| Buildings.Controls.OBC.CDL.Logical.Not | not3 | Not proven on | |
| Buildings.Controls.OBC.CDL.Reals.Divide | VDisSet_flowNor1 | Normalized setpoint for discharge volume flow rate | |
| Buildings.Controls.OBC.CDL.Reals.PIDWithReset | conHeaDam | Heating damper position controller | |
| Buildings.Controls.OBC.CDL.Reals.Divide | VDis_flowNor1 | Normalized discharge volume flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Switch | heaDamPos | Output heating damper position | |
| Buildings.Controls.OBC.CDL.Logical.Or | or1 | Cooing or deadband state | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToReal | booToRea1 | Ensure heating damper is closed when it is in cooling or deadband state | |
| Buildings.Controls.OBC.CDL.Reals.Multiply | mul1 | Ensure heating damper is closed when it is in cooling or deadband state | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | cooMax1 | Cooling maximum flow | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | heaMax1 | Heating maximum flow | |
| Buildings.Controls.OBC.CDL.Reals.Max | max2 | Nominal flow |
Revisions
-
January 12, 2023, by Jianjun Hu:
Removed the parameterhave_preIndDamto exclude the option of using pressure independant damper.
This is for issue 3139. -
August 1, 2020, by Jianjun Hu:
First implementation.