blockDampersDualSensors

Output signals for controlling dampers of snap-acting controlled dual-duct terminal unit with dual inlet airflow sensors

Information

This sequence sets the dampers for snap-acting controlled dual-duct terminal unit with dual inlet airflow sensors. The implementation is according to Section 5.11.5.1 of ASHRAE Guideline 36, May 2020. The calculation is done following the steps below.

  1. When the zone state is cooling (uCoo > 0), then the cooling loop output uCoo shall reset the cooling supply airflow setpoint VColDucDis_flow_Set from the minimum VActMin_flow to cooling maximum setpoint VActCooMax_flow. The cooling damper shall be modulated by a control loop to maintain the measured cooling aiflow VColDucDis_flow at setpoint. The heating damper shall be closed yHeaDam=0.
    • If the cold-deck supply air temperature TColSup from the cooling air handler is greater than room temperature TZon, cooling supply airflow setpoint shall be no higher than the minimum.
  2. When the zone state is deadband (uCoo=0 and uHea=0), the cooling and heating airflow set points shall be their last set points just before entering deadband. In other words, when going from cooling to deadband, the cooling airflow set point is equal to the zone minimum VActMin_flow, and the heating set point is zero When going from heating to deadband, the heating airflow set point is equal to the zone minimum VActMin_flow, and the cooling set point is zero.
  3. When the zone state is heating (uHea > 0), then the heating loop output uHea shall reset the heating supply airflow setpoint VHotDucDis_flow_Set from the minimum VActMin_flow to heating maximum setpoint VActHeaMax_flow. The heating damper shall be modulated by a control loop to maintain the measured heating aiflow VHotDucDis_flow at setpoint. The cooling damper shall be closed yCooDam=0.
    • If the hot-deck supply air temperature THotSup from the heating air handler is less than room temperature TZon, heating supply airflow setpoint shall be no higher than the minimum.
  4. 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).

The sequences of controlling dampers position for snap-acting controlled dual-duct terminal unit with dual inlet airflow sensors are described in the following figure below.

Image of damper control for snap-acting controlled dual-duct terminal unit

Parameters

TypeNameDefaultDescription
RealVCooMax_flowDesign zone cooling maximum airflow rate
RealVHeaMax_flowDesign zone heating maximum airflow rate
Buildings.Controls.OBC.CDL.Types.SimpleControllercontrollerTypeDamBuildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller
RealkDam0.5Gain of controller for damper control
RealTiDam300Time constant of integrator block for damper control
RealTdDam0.1Time constant of derivative block for damper control
Advanced
RealsamplePeriodSample period of component
RealdTHys0.25Temperature difference hysteresis below which the temperature difference will be seen as zero
ReallooHys0.05Loop output hysteresis below which the output will be seen as zero
RealiniDam0.01Initial damper position when the damper control is enabled

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputuCooCooling control signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputVActCooMax_flowActive cooling maximum airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputTColSupCold duct supply air temperature from central air handler
Buildings.Controls.OBC.CDL.Interfaces.RealInputVColDucDis_flowMeasured cold-duct discharge airflow rate airflow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputu1CooAHUCooling air handler status
Buildings.Controls.OBC.CDL.Interfaces.RealInputVActMin_flowActive minimum airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonMeasured zone temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputTHotSupHot duct supply air temperature from central air handler
Buildings.Controls.OBC.CDL.Interfaces.RealInputuHeaHeating control signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputVActHeaMax_flowActive heating maximum airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputVHotDucDis_flowMeasured hot-duct discharge airflow rate airflow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputu1HeaAHUHeating air handler status
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVDis_flow_SetDischarge airflow setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVColDucDis_flow_SetCold duct discharge airflow setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyCooDamCold duct damper commanded position
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVHotDucDis_flow_SetHot duct discharge airflow setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyHeaDamHot duct damper commanded position

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Logical.Andand4Logical and
Buildings.Controls.OBC.CDL.Reals.LinelinActive airflow setpoint for cooling
Buildings.Controls.OBC.CDL.Reals.PIDWithResetconCooDamCooling damper position controller
Buildings.Controls.OBC.CDL.Reals.SwitchswiOutput active cold duct airflow setpoint
Buildings.Controls.OBC.CDL.Reals.Switchswi5Airflow setpoint when it is in cooling state
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconZerConstant zero
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconOneConstant one
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr1Check if it is cooling state
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThrCheck if supply air temperature is greater than room temperature
Buildings.Controls.OBC.CDL.Reals.Subtractsub2Calculate temperature difference between AHU supply air and room
Buildings.Controls.OBC.CDL.Reals.SwitchcooDamPosOutput cooling damper position
Buildings.Controls.OBC.CDL.Reals.DivideVDis_flowNorNormalized discharge volume flow rate
Buildings.Controls.OBC.CDL.Reals.DivideVDisSet_flowNorNormalized setpoint for discharge volume flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconZer1Constant zero
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr2Check if it is heating state
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconOne1Constant one
Buildings.Controls.OBC.CDL.Reals.Linelin1Active airflow setpoint for heating
Buildings.Controls.OBC.CDL.Reals.Subtractsub1Calculate temperature difference between AHU supply air and room
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr3Check if supply air temperature is less than room temperature
Buildings.Controls.OBC.CDL.Logical.Andand1Logical and
Buildings.Controls.OBC.CDL.Reals.Switchswi1Airflow setpoint when it is in heating state
Buildings.Controls.OBC.CDL.Logical.Oror2Cooing or heating state
Buildings.Controls.OBC.CDL.Logical.Notnot1In deadband
Buildings.Controls.OBC.CDL.Logical.FallingEdgefalEdgBecoming heating or cooling state
Buildings.Controls.OBC.CDL.Logical.Andand2Logical and
Buildings.Controls.OBC.CDL.Logical.Andand3Logical and
Buildings.Controls.OBC.CDL.Discrete.SamplersamHeaSample the heating loop output
Buildings.Controls.OBC.CDL.Discrete.SamplersamCooSample the cooling loop output
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr4Check if it is cooling state
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr5Check if it is heating state
Buildings.Controls.OBC.CDL.Logical.LatchlatChanging from cooling state to deadband
Buildings.Controls.OBC.CDL.Logical.Latchlat1Changing from heating state to deadband
Buildings.Controls.OBC.CDL.Reals.Switchswi2Cold duct airflow setpoint when it is in deadband state
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconZer2Constant zero
Buildings.Controls.OBC.CDL.Reals.Switchswi3Hot duct airflow setpoint when it is in deadband state
Buildings.Controls.OBC.CDL.Reals.Switchswi4Output active hot duct airflow setpoint
Buildings.Controls.OBC.CDL.Reals.PIDWithResetconHeaDamHeating damper position controller
Buildings.Controls.OBC.CDL.Reals.SwitchheaDamPosOutput heating damper position
Buildings.Controls.OBC.CDL.Reals.DivideVDis_flowNor1Normalized discharge volume flow rate
Buildings.Controls.OBC.CDL.Reals.DivideVDisSet_flowNor1Normalized setpoint for discharge volume flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconZer3Constant zero
Buildings.Controls.OBC.CDL.Logical.Notnot2Not proven on
Buildings.Controls.OBC.CDL.Logical.Notnot3Not proven on
Buildings.Controls.OBC.CDL.Reals.MultiplymulMake sure heating damper is closed when it is in cooling state
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToReaEnsure heating damper closed when it is in cooling state
Buildings.Controls.OBC.CDL.Reals.Multiplymul1Make sure heating damper is closed when it is in cooling state
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToRea1Ensure cooling damper closed when it is in heating state
Buildings.Controls.OBC.CDL.Reals.Multiplymul2Make sure cooling damper is closed when it is in heating state
Buildings.Controls.OBC.CDL.Reals.Multiplymul3Make sure cooling damper is closed when it is in heating state
Buildings.Controls.OBC.CDL.Reals.Addadd2Total discharge airflow setpoint
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantheaMax1Heating maximum flow
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantcooMax1Cooling maximum flow
Buildings.Controls.OBC.CDL.Reals.Maxmax2Nominal flow

Revisions

  • January 12, 2023, by Jianjun Hu:
    Removed the parameter have_preIndDam to exclude the option of using pressure independant damper.
    This is for issue 3139.
  • August 1, 2020, by Jianjun Hu:
    First implementation.