blockDampersSingleSensors

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

Information

This sequence sets the dampers for snap-acting controlled dual-duct terminal unit with single discharge airflow sensors. The implementation is according to Section 5.11.5.2 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 discharge airflow setpoint VDis_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 discharge aiflow VDis_flow at setpoint. The heating damper shall be closed yHeaDam=0.
  2. When the zone state is deadband (uCoo=0 and uHea=0), the discharge airflow set point VDis_flow_Set shall be the zone minimum VActMin_flow, maintained by the damper that was operative just before entering deadband. The other damper shall remain closed. In other words, when going from cooling to deadband, the cooling damper shall maintain the discharge airflow at the zone minimum set point, and the heating damper shall be closed. When going from heating to deadband, the heating damper shall maintain the discharge airflow at the zone minimum set point, and the cooling damper shall be closed.
  3. When the zone state is heating (uHea > 0), then the heating loop output uHea shall reset the discharge airflow setpoint VDis_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 discharge aiflow VDis_flow at setpoint. The cooling damper shall be closed yCooDam=0.
  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 single discharge 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
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.RealInputVActMin_flowActive minimum airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputuHeaHeating control signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputVActHeaMax_flowActive heating maximum airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputVDis_flowMeasured discharge airflow rate airflow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputu1CooAHUCooling air handler status
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputu1HeaAHUHeating air handler status
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVDis_flow_SetDischarge airflow setpoint
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputy1CooDamCooling damper command open
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyCooDamCold duct damper commanded position
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputy1HeaDamHeating damper command open
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyHeaDamHot duct damper commanded position

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.LinelinActive airflow setpoint for cooling
Buildings.Controls.OBC.CDL.Reals.PIDWithResetconCooDamCooling damper position controller
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.SwitchdamPosOutput 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.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.SwitchcooFloSetFlow setpoint when it is in cooling state
Buildings.Controls.OBC.CDL.Reals.SwitchheaFloSetFlow setpoint when it is in heating state
Buildings.Controls.OBC.CDL.Logical.Oror1Check if any air handler is proven on
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantconZer3Constant zero
Buildings.Controls.OBC.CDL.Logical.Oror3Check if it is in cooling state or in deadband that switched from cooling state
Buildings.Controls.OBC.CDL.Reals.SwitchcooDamPosCooling damper position
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToReaEnsure cooling damper closed when the cooling air handler is not proven on
Buildings.Controls.OBC.CDL.Reals.Multiplymul1Make sure cooling damper is closed when the cooling air handler is not proven on
Buildings.Controls.OBC.CDL.Logical.Oror4Check if it is in heating state or in deadband that switched from heating state
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToRea1Ensure heating damper closed when the heating air handler is not proven on
Buildings.Controls.OBC.CDL.Reals.Multiplymul2Make sure heating damper is closed when the heating air handler is not proven on
Buildings.Controls.OBC.CDL.Reals.SwitchheaDamPosHeating damper position
Buildings.Controls.OBC.CDL.Logical.Andand1Check if cooling damper is opening
Buildings.Controls.OBC.CDL.Logical.Andand4Check if heating damper is opening
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.