blockController
Information
Block that is applied for multizone VAV AHU control. It outputs the supply fan status and the operation speed, outdoor and return air damper position, supply air temperature setpoint and the valve position of the cooling and heating coils. It is implemented according to the Section 5.16 of ASHRAE Guideline 36, May 2020.
The sequence consists of eight types of subsequences.
Supply fan speed control
The fan speed control is implemented according to Section 5.16.1. It outputs
the boolean signal y1SupFan to turn on or off the supply fan.
In addition, based on the pressure reset request uZonPreResReq
from the VAV zones controller, the
sequence resets the duct pressure setpoint, and uses this setpoint
to modulate the fan speed ySupFanSpe using a PI controller.
See
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyFan
for more detailed description.
Minimum outdoor airflow setting
According to current occupany, supply operation status ySupFan,
zone temperatures and the discharge air temperature, the sequence computes the
minimum outdoor airflow rate setpoint, which is used as input for the economizer control.
More detailed information can be found in
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.
Economizer control
The block outputs outdoor and return air damper position, yOutDamPos and
yRetDamPos. First, it computes the position limits to satisfy the minimum
outdoor airflow requirement. Second, it determines the availability of the economizer based
on the outdoor condition. The dampers are modulated to track the supply air temperature
loop signal, which is calculated from the sequence below, subject to the minimum outdoor airflow
requirement and economizer availability.
See
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Controller
for more detailed description.
Supply air temperature setpoint
Based on the Section 5.16.2, the sequence first sets the maximum supply air temperature
based on reset requests collected from each zone uZonTemResReq. The
outdoor temperature TOut and operation mode uOpeMod are used
along with the maximum supply air temperature, for computing the supply air temperature
setpoint. See
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature
for more detailed description.
Coil valve control
The subsequence retrieves supply air temperature setpoint from previous sequence. Along with the measured supply air temperature and the supply fan status, it generates coil valve positions. See Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplySignals for more detailed description.
Freeze protection
Based on the Section 5.16.12, the sequence enables freeze protection if the measured supply air temperature belows certain thresholds. There are three protection stages. See Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection for more detailed description.
Building pressure control
By selecting different building pressure control designs, which includes using actuated relief damper without fan, using actuated relief dampers with relief fan, using return fan with direct building pressure control, or using return fan with airflow tracking control, the sequences controls relief fans, relief dampers and return fans. See belows sequences for more detailed description:
- Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefDamper
- Relief fan control Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFan is not included in the AHU controller. This sequence controls all the relief fans that are serving one common space, which may include multiple air handling units.
- Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanAirflowTracking
- Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure
Plant request
According to the Section 5.16.16, the sequence send out heating or cooling plant requests if the supply air temperature is below or above threshold value, or the heating or cooling valves have been widely open for certain times. See Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.PlantRequests for more detailed description.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard | eneStd | Energy standard, ASHRAE 90.1 or Title 24 | |
| Types.VentilationStandard | venStd | Ventilation standard, ASHRAE 62.1 or Title 24 | |
| Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone | ashCliZon | Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Not_Specified | ASHRAE climate zone |
| Buildings.Controls.OBC.ASHRAE.G36.Types.Title24ClimateZone | tit24CliZon | Buildings.Controls.OBC.ASHRAE.G36.Types.Title24ClimateZone.Not_Specified | California Title 24 climate zone |
| Boolean | have_frePro | true | True: enable freeze protection |
| Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat | freSta | Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat.Hardwired_to_equipment | Type of freeze stat |
| Economizer design | |||
| Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection | minOADes | Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.DedicatedDampersAirflow | Type of outdoor air section |
| Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl | buiPreCon | Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefFan | Type of building pressure control system |
| Boolean | have_ahuRelFan | true | True: relief fan is part of AHU; False: the relief fans group that may associate multiple AHUs |
| Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer | ecoHigLimCon | Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulb | Economizer high limit control device |
| System and building parameters | |||
| Buildings.Controls.OBC.ASHRAE.G36.Types.CoolingCoil | cooCoi | Buildings.Controls.OBC.ASHRAE.G36.Types.CoolingCoil.WaterBased | Cooling coil type |
| Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil | heaCoi | Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil.WaterBased | Heating coil type |
| Boolean | have_perZonRehBox | false | Check if there is any VAV-reheat boxes on perimeter zones |
| Minimum outdoor air setpoint | |||
| Real | VUncDesOutAir_flow | 0 | Uncorrected design outdoor airflow rate, including diversity where applicable. It can be determined using the 62MZCalc spreadsheet from ASHRAE 62.1 User's Manual |
| Real | VDesTotOutAir_flow | 0 | Design total outdoor airflow rate. It can be determined using the 62MZCalc spreadsheet from ASHRAE 62.1 User's Manual |
| Real | VAbsOutAir_flow | 0 | Design outdoor airflow rate when all zones with CO2 sensors or occupancy sensors are unpopulated. Needed when complying with Title 24 requirements |
| Real | VDesOutAir_flow | 0 | Design minimum outdoor airflow rate with the areas served by the system are occupied at their design population, including diversity where applicable. Needed when complying with Title 24 requirements |
| Fan speed › Trim and respond for reseting duct static pressure setpoint | |||
| Real | pIniSet | 120 | Initial pressure setpoint for fan speed control |
| Real | pMinSet | 25 | Minimum pressure setpoint for fan speed control |
| Real | pMaxSet | 1000 | Duct design maximum static pressure. It is the Max_DSP shown in Section 3.2.1.1 of Guideline 36 |
| Real | pDelTim | 600 | Delay time after which trim and respond is activated |
| Real | pSamplePeriod | 120 | Sample period |
| Integer | pNumIgnReq | 2 | Number of ignored requests |
| Real | pTriAmo | -12.0 | Trim amount |
| Real | pResAmo | 15 | Respond amount (must be opposite in to trim amount) |
| Real | pMaxRes | 32 | Maximum response per time interval (same sign as respond amount) |
| Fan speed › PID controller | |||
| Buildings.Controls.OBC.CDL.Types.SimpleController | fanSpeCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Supply fan speed PID controller |
| Real | kFanSpe | 0.1 | Gain of supply fan speed PID controller |
| Real | TiFanSpe | 60 | Time constant of integrator block for supply fan speed PID controller |
| Real | TdFanSpe | 0.1 | Time constant of derivative block for supply fan speed PID controller |
| Real | supFanSpe_max | 1 | Maximum allowed supply fan speed |
| Real | supFanSpe_min | 0.1 | Lowest allowed supply fan speed if fan is on |
| Real | iniFanSpe | supFanSpe_min | Initial speed when fan is enabled. It has to be greater than the lowest allowed speed |
| Supply air temperature › Temperature limits | |||
| Real | TSupCoo_min | 285.15 | Lowest cooling supply air temperature setpoint when the outdoor air temperature is at the higher value of the reset range and above |
| Real | TSupCoo_max | 291.15 | Highest cooling supply air temperature setpoint. It is typically 18 degC (65 degF) in mild and dry climates, 16 degC (60 degF) or lower in humid climates |
| Real | TOut_min | 289.15 | Lower value of the outdoor air temperature reset range. Typically value is 16 degC (60 degF) |
| Real | TOut_max | 294.15 | Higher value of the outdoor air temperature reset range. Typically value is 21 degC (70 degF) |
| Real | TSupWarUpSetBac | 308.15 | Supply temperature in warm up and set back mode |
| Supply air temperature › Trim and respond for reseting supply air temperature setpoint | |||
| Real | delTimSupTem | 600 | Delay timer |
| Real | samPerSupTem | 120 | Sample period of component |
| Integer | ignReqSupTem | 2 | Number of ignorable requests for TrimResponse logic |
| Real | triAmoSupTem | 0.1 | Trim amount |
| Real | resAmoSupTem | -0.2 | Response amount |
| Real | maxResSupTem | -0.6 | Maximum response per time interval |
| Coils › Valves PID controller | |||
| Buildings.Controls.OBC.CDL.Types.SimpleController | valCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of controller for coil valves control |
| Real | kVal | 0.05 | Gain of controller for valve control |
| Real | TiVal | 600 | Time constant of integrator block for valve control |
| Real | TdVal | 0.1 | Time constant of derivative block for valve control |
| Coils › Limits | |||
| Real | uHeaCoi_max | -0.25 | Upper limit of controller signal when heating coil is off. Require -1 < uHea_max < uCoo_min < 1. |
| Real | uCooCoi_min | 0.25 | Lower limit of controller signal when cooling coil is off. Require -1 < uHea_max < uCoo_min < 1. |
| Economizer › Limits, separated with AFMS | |||
| Buildings.Controls.OBC.CDL.Types.SimpleController | minOAConTyp | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of minimum outdoor air controller |
| Real | kMinOA | 0.03 | Gain of controller |
| Real | TiMinOA | 120 | Time constant of integrator block |
| Real | TdMinOA | 0.1 | Time constant of derivative block |
| Economizer › Limits, separated with DP | |||
| Boolean | have_CO2Sen | false | True: some zones have CO2 sensor |
| Real | dpAbsMinOutDam | 5 | Absolute minimum pressure difference across the minimum outdoor air damper. It provides the absolute minimum outdoor airflow |
| Real | dpDesMinOutDam | 20 | Design minimum pressure difference across the minimum outdoor air damper. It provides the design minimum outdoor airflow |
| Buildings.Controls.OBC.CDL.Types.SimpleController | dpConTyp | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of differential pressure setpoint controller |
| Real | kDp | 1 | Gain of controller |
| Real | TiDp | 0.5 | Time constant of integrator block |
| Real | TdDp | 0.1 | Time constant of derivative block |
| Economizer › Limits, Common | |||
| Real | uRetDam_min | 0.5 | Loop signal value to start decreasing the maximum return air damper position |
| Economizer › Enable | |||
| Real | delTOutHis | 1 | Delta between the temperature hysteresis high and low limit |
| Real | delEntHis | 1000 | Delta between the enthalpy hysteresis high and low limits |
| Real | retDamFulOpeTim | 180 | Time period to keep return air damper fully open before releasing it for minimum outdoor airflow control at disable to avoid pressure fluctuations |
| Real | disDel | 15 | Short time delay before closing the outdoor air damper at disable to avoid pressure fluctuations |
| Economizer › Commissioning, limits | |||
| Real | retDamPhy_max | 1.0 | Physically fixed maximum position of the return air damper |
| Real | retDamPhy_min | 0.0 | Physically fixed minimum position of the return air damper |
| Real | outDamPhy_max | 1.0 | Physically fixed maximum position of the outdoor air damper |
| Real | outDamPhy_min | 0.0 | Physically fixed minimum position of the outdoor air damper |
| Real | minOutDamPhy_max | 1.0 | Physically fixed maximum position of the minimum outdoor air damper |
| Real | minOutDamPhy_min | 0.0 | Physically fixed minimum position of the minimum outdoor air damper |
| Economizer › Commissioning, modulation | |||
| Real | uHeaMax | -0.25 | Lower limit of controller input when outdoor damper opens (see diagram) |
| Real | uCooMin | +0.25 | Upper limit of controller input when return damper is closed (see diagram) |
| Freeze protection | |||
| Integer | minHotWatReq | 2 | Minimum heating hot-water plant request to active the heating plant |
| Freeze protection › Heating coil PID Controller | |||
| Buildings.Controls.OBC.CDL.Types.SimpleController | freProHeaCoiCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Freeze protection heating coil controller |
| Real | kFrePro | 0.05 | Gain of coil controller |
| Real | TiFrePro | 120 | Time constant of integrator block |
| Real | TdFrePro | 0.1 | Time constant of derivative block |
| Real | yMaxFrePro | 1 | Upper limit of output |
| Real | yMinFrePro | 0 | Lower limit of output |
| Pressure control | |||
| Real | dpBuiSet | 12 | Building static pressure difference relative to ambient (positive to pressurize the building) |
| Pressure control › Relief damper | |||
| Real | kRelDam | 0.5 | Gain, applied to building pressure control error normalized with dpBuiSet |
| Pressure control › Return fan | |||
| Real | difFloSet | 0.1 | Airflow differential between supply air and return air fans required to maintain building pressure at desired pressure |
| Buildings.Controls.OBC.CDL.Types.SimpleController | retFanCon | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of controller for return fan |
| Real | kRetFan | 1 | Gain, normalized using dpBuiSet |
| Real | TiRetFan | 0.5 | Time constant of integrator block |
| Real | TdRetFan | 0.1 | Time constant of derivative block |
| Real | retFanSpe_max | 1 | Maximum return fan speed |
| Real | retFanSpe_min | 0.1 | Minimum return fan speed |
| Real | p_rel_RetFan_min | 2.4 | Minimum return fan discharge static pressure difference setpoint |
| Real | p_rel_RetFan_max | 40 | Maximum return fan discharge static pressure difference setpoint |
| Pressure control › Relief fan | |||
| Real | relFanSpe_min | 0.1 | Relief fan minimum speed |
| Real | kRelFan | 1 | Gain of relief fan controller, normalized using dpBuiSet |
| Advanced | |||
| Real | THys | 0.25 | Hysteresis for checking temperature difference |
| Real | posHys | 0.01 | Hysteresis for checking valve position difference |
| Real | hys | 0.005 | Hysteresis for checking the relief fan controller output value |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uAhuOpeMod | Operation mode for AHU operation | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uZonPreResReq | Zone static pressure reset requests | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpDuc | Measured duct static pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TOut | Outdoor air temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uZonTemResReq | Zone cooling supply air temperature reset request | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1SupFan | Supply fan status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TAirSup | Measured supply air temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VSumAdjPopBreZon_flow | Sum of the adjusted population component breathing zone flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VSumAdjAreBreZon_flow | Sum of the adjusted area component breathing zone flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VSumZonPri_flow | Sum of the zone primary airflow rates for all zones in all zone groups that are in occupied mode | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uOutAirFra_max | Maximum zone outdoor air fraction, equals to the maximum of primary outdoor air fraction of all zones | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VSumZonAbsMin_flow | Sum of the zone absolute minimum outdoor airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VSumZonDesMin_flow | Sum of the zone design minimum outdoor airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VAirOut_flow | Measured outdoor air volumetric flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uCO2Loo_max | Maximum zone CO2 control loop output | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpMinOutDam | Measured pressure difference across the minimum outdoor air damper | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TAirRet | Used only for fixed plus differential dry bulb temperature high limit cutoff | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | hAirOut | Outdoor air enthalpy | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | hAirRet | OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1FreSta | Freeze protection stat signal. The stat is normally close (the input is normally true), when enabling freeze protection, the input becomes false | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1SofSwiRes | Freeze protection reset signal from software switch | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1RelFan | Relief fan status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TAirMix | Measured mixed air temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpBui | Measured building static pressure difference, relative to ambient (positive if pressurized) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VAirSup_flow | Measured AHU supply airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VAirRet_flow | Measured AHU return airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TAirSupSet | AHU supply air temperature setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | VEffAirOut_flow_min | Effective minimum outdoor airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yMinOutDam | Minimum outdoor air damper commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1MinOutDam | Minimum outdoor air damper command on | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yRetDam | Return air damper commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yRelDam | Relief air damper commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yOutDam | Economizer outdoor air damper commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1EneCHWPum | Commanded on to energize chilled water pump | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1SupFan | Supply fan command on | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | ySupFan | Air handler supply fan commanded speed | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1RetFan | Return fan commanded on | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yRetFan | Return fan commanded speed | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1RelFan | Relief fan commanded on | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yRelFan | Relief fan commanded speed | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | y1RelDam | True: 2-position relief damper is commanded open | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yCooCoi | Cooling coil valve commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yHeaCoi | Heating coil valve commanded position | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yAla | Alarm level | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yDpBui | Building static pressure difference, relative to ambient (positive if pressurized) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | dpDisSet | Return fan discharge static pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yChiWatResReq | Chilled water reset request | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yChiPlaReq | Chiller plant request | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yHotWatResReq | Hot water reset request | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yHotWatPlaReq | Hot water plant request |
Components
Revisions
-
September 26, 2025, by Jianjun Hu:
Renamed the parameterThystoTHys.
This is for issue 4374. -
September 18, 2023, by Jianjun Hu:
Removed the connectorsuCooCoi_actualanduHeaCoi_actual, added 2-position relief damper position outputy1RelDam, added coil type enumeration so to avoid using flag parameters.
This is for issue 3526. -
March 1, 2023, by Michael Wetter:
Changed constants from0to0.0and1to1.0.
This is for #3267. -
December 15, 2022, by Jianjun Hu:
Removed input connectorsuRelFananduSupFanSpe_actual.
This is for issue 3139. -
December 20, 2021, by Jianjun Hu:
First implementation.