Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone
Sequences for multi zone AHU control
Information
This package contains control sequences from ASHRAE Guideline 36, Part 5.N for multi zone VAV air handling unit control.
Package Content
Name | Description |
---|---|
Controller | Multizone AHU controller that composes subsequences for controlling fan speed, dampers, and supply air temperature |
Economizers | Economizer control of multi zone VAV AHU |
SetPoints | Output setpoints for AHU control |
Validation | Collection of validation models |
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.Controller
Multizone AHU controller that composes subsequences for controlling fan speed, dampers, and supply air temperature
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 ASHRAE Guideline 36, PART5.N.
The sequence consists of five subsequences.
Supply fan speed control
The fan speed control is implemented according to PART5.N.1. It outputs
the boolean signal ySupFan
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_PR1.AHUs.MultiZone.SetPoints.VAVSupplyFan
for more detailed description.
Minimum outdoor airflow setting
According to current occupany nOcc
, supply operation status
ySupFan
, zone temperatures TZon
and the discharge
air temperature TDis
, 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_PR1.AHUs.MultiZone.SetPoints.OutsideAirFlow.
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. Optionally, there is also an override for freeze protection.
See
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.Economizers.Controller
for more detailed description.
Supply air temperature setpoint
Based on PART5.N.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_PR1.AHUs.MultiZone.SetPoints.VAVSupplyTemperature
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_PR1.AHUs.MultiZone.SetPoints.VAVSupplySignals
Parameters
Type | Name | Default | Description |
---|---|---|---|
Time | samplePeriod | 120 | Sample period of component, set to the same value to the trim and respond sequence [s] |
System and building parameters | |||
Integer | numZon | Total number of served VAV boxes | |
Area | AFlo[numZon] | Floor area of each zone [m2] | |
Boolean | have_occSen | false | Set to true if zones have occupancy sensor |
Boolean | have_winSen | false | Set to true if zones have window status sensor |
Boolean | have_perZonRehBox | true | Check if there is any VAV-reheat boxes on perimeter zones |
Boolean | have_duaDucBox | false | Check if the AHU serves dual duct boxes |
Boolean | have_airFloMeaSta | false | Check if the AHU has AFMS (Airflow measurement station) |
Economizer PID controller | |||
SimpleController | controllerTypeMinOut | Buildings.Controls.OBC.CDL.T... | Type of controller |
Real | kMinOut | 0.05 | Gain of controller for minimum outdoor air intake [1] |
Time | TiMinOut | 1200 | Time constant of controller for minimum outdoor air intake [s] |
Time | TdMinOut | 0.1 | Time constant of derivative block for minimum outdoor air intake [s] |
Economizer freeze protection | |||
Boolean | use_TMix | true | Set to true if mixed air temperature measurement is enabled |
Boolean | use_G36FrePro | false | Set to true to use G36 freeze protection |
SimpleController | controllerTypeFre | Buildings.Controls.OBC.CDL.T... | Type of controller |
Real | kFre | 0.1 | Gain for mixed air temperature tracking for freeze protection, used if use_TMix=true [1/K] |
Time | TiFre | 120 | Time constant of controller for mixed air temperature tracking for freeze protection. Require TiFre < TiMinOut [s] |
Time | TdFre | 0.1 | Time constant of derivative block for freeze protection [s] |
Temperature | TFreSet | 279.15 | Lower limit for mixed air temperature for freeze protection, used if use_TMix=true [K] |
Fan speed PID controller | |||
SimpleController | controllerTypeFanSpe | Buildings.Controls.OBC.CDL.T... | Type of controller |
Real | kFanSpe | 0.1 | Gain of fan fan speed controller, normalized using pMaxSet [1] |
Time | TiFanSpe | 60 | Time constant of integrator block for fan speed [s] |
Time | TdFanSpe | 0.1 | Time constant of derivative block for fan speed [s] |
Real | yFanMax | 1 | Maximum allowed fan speed |
Real | yFanMin | 0.1 | Lowest allowed fan speed if fan is on |
Supply air temperature | |||
SimpleController | controllerTypeTSup | Buildings.Controls.OBC.CDL.T... | Type of controller for supply air temperature signal |
Real | kTSup | 0.05 | Gain of controller for supply air temperature signal [1/K] |
Time | TiTSup | 600 | Time constant of integrator block for supply air temperature control signal [s] |
Time | TdTSup | 0.1 | Time constant of integrator block for supply air temperature control signal [s] |
Real | uHeaMax | -0.25 | Upper limit of controller signal when heating coil is off. Require -1 < uHeaMax < uCooMin < 1. |
Real | uCooMin | 0.25 | Lower limit of controller signal when cooling coil is off. Require -1 < uHeaMax < uCooMin < 1. |
Economizer | |||
Boolean | use_enthalpy | false | Set to true if enthalpy measurement is used in addition to temperature measurement |
Time | delta | 5 | Time horizon over which the outdoor air flow measurment is averaged [s] |
TemperatureDifference | delTOutHis | 1 | Delta between the temperature hysteresis high and low limit [K] |
SpecificEnergy | delEntHis | 1000 | Delta between the enthalpy hysteresis high and low limits [J/kg] |
Damper limits | |||
Real | retDamPhyPosMax | 1 | Physically fixed maximum position of the return air damper [1] |
Real | retDamPhyPosMin | 0 | Physically fixed minimum position of the return air damper [1] |
Real | outDamPhyPosMax | 1 | Physically fixed maximum position of the outdoor air damper [1] |
Real | outDamPhyPosMin | 0 | Physically fixed minimum position of the outdoor air damper [1] |
Real | yMinDamLim | 0 | Lower limit of damper position limits control signal output |
Real | yMaxDamLim | 1 | Upper limit of damper position limits control signal output |
Economizer delays at disable | |||
Time | retDamFulOpeTim | 180 | Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control at disable to avoid pressure fluctuations [s] |
Time | disDel | 15 | Short time delay before closing the OA damper at disable to avoid pressure fluctuations [s] |
Fan speed | |||
Trim and respond for reseting duct static pressure setpoint | |||
PressureDifference | pIniSet | 60 | Initial pressure setpoint for fan speed control [Pa] |
PressureDifference | pMinSet | 25 | Minimum pressure setpoint for fan speed control [Pa] |
PressureDifference | pMaxSet | 400 | Maximum pressure setpoint for fan speed control [Pa] |
Time | pDelTim | 600 | Delay time after which trim and respond is activated [s] |
Integer | pNumIgnReq | 2 | Number of ignored requests for fan speed control |
PressureDifference | pTriAmo | -12.0 | Trim amount for fan speed control [Pa] |
PressureDifference | pResAmo | 15 | Respond amount (must be opposite in to triAmo) for fan speed control [Pa] |
PressureDifference | pMaxRes | 32 | Maximum response per time interval (same sign as resAmo) for fan speed control [Pa] |
Minimum outdoor airflow rate | |||
Real | zonDisEffHea[numZon] | fill(0.8, outAirSetPoi.numZon) | Zone air distribution effectiveness during heating |
Real | zonDisEffCoo[numZon] | fill(1.0, outAirSetPoi.numZon) | Zone air distribution effectiveness during cooling |
Nominal conditions | |||
Real | occDen[numZon] | fill(0.05, outAirSetPoi.numZ... | Default number of person in unit area [1/m2] |
Real | outAirPerAre[numZon] | fill(3e-4, outAirSetPoi.numZ... | Outdoor air rate per unit area [m3/(s.m2)] |
VolumeFlowRate | outAirPerPer[numZon] | fill(2.5e-3, outAirSetPoi.nu... | Outdoor air rate per person [m3/s] |
VolumeFlowRate | minZonPriFlo[numZon] | Minimum expected zone primary flow rate [m3/s] | |
VolumeFlowRate | maxSysPriFlo | Maximum expected system primary airflow at design stage [m3/s] | |
Real | desZonDisEff[numZon] | fill(1.0, outAirSetPoi.numZon) | Design zone air distribution effectiveness |
Real | desZonPop[numZon] | {outAirSetPoi.occDen[i]*outA... | Design zone population during peak occupancy |
Real | peaSysPop | 1.2*sum({outAirSetPoi.occDen... | Peak system population |
Supply air temperature | |||
Temperature limits | |||
Temperature | TSupMin | 285.15 | Lowest cooling supply air temperature setpoint [K] |
Temperature | TSupMax | 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 [K] |
Temperature | TSupDes | 286.15 | Nominal supply air temperature setpoint [K] |
Temperature | TOutMin | 289.15 | Lower value of the outdoor air temperature reset range. Typically value is 16 degC (60 degF) [K] |
Temperature | TOutMax | 294.15 | Higher value of the outdoor air temperature reset range. Typically value is 21 degC (70 degF) [K] |
Trim and respond for reseting TSup setpoint | |||
Temperature | iniSetSupTem | supTemSetPoi.maxSet | Initial setpoint for supply temperature control [K] |
Temperature | maxSetSupTem | supTemSetPoi.TSupMax | Maximum setpoint for supply temperature control [K] |
Temperature | minSetSupTem | supTemSetPoi.TSupDes | Minimum setpoint for supply temperature control [K] |
Time | delTimSupTem | 600 | Delay timer for supply temperature control [s] |
Integer | numIgnReqSupTem | 2 | Number of ignorable requests for supply temperature control |
TemperatureDifference | triAmoSupTem | 0.1 | Trim amount for supply temperature control [K] |
TemperatureDifference | resAmoSupTem | -0.2 | Response amount for supply temperature control [K] |
TemperatureDifference | maxResSupTem | -0.6 | Maximum response per time interval for supply temperature control [K] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | VBox_flow[numZon] | Primary airflow rate to the ventilation zone from the air handler, including outdoor air and recirculated air [m3/s] |
input RealInput | TMix | Measured mixed air temperature, used for freeze protection if use_TMix=true [K] |
input RealInput | ducStaPre | Measured duct static pressure [Pa] |
input RealInput | TOut | Outdoor air temperature [K] |
input RealInput | TOutCut | OA temperature high limit cutoff. For differential dry bulb temeprature condition use return air temperature measurement [K] |
input RealInput | hOut | Outdoor air enthalpy [J/kg] |
input RealInput | hOutCut | OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement [J/kg] |
input RealInput | TSup | Measured supply air temperature [K] |
input RealInput | THeaSet | Zone air temperature heating setpoint [K] |
input RealInput | VOut_flow | Measured outdoor volumetric airflow rate [m3/s] |
input RealInput | nOcc[numZon] | Number of occupants |
input RealInput | TZon[numZon] | Measured zone air temperature [K] |
input RealInput | TDis[numZon] | Discharge air temperature [K] |
input RealInput | TCooSet | Zone air temperature cooling setpoint [K] |
input IntegerInput | uZonTemResReq | Zone cooling supply air temperature reset request |
input IntegerInput | uZonPreResReq | Zone static pressure reset requests |
input IntegerInput | uOpeMod | AHU operation mode status signal |
input BooleanInput | uWin[numZon] | Window status, true if open, false if closed |
input IntegerInput | uFreProSta | Freeze protection status, used if use_G36FrePro=true |
output RealOutput | TSetSup | Setpoint for supply air temperature [K] |
output RealOutput | yHea | Control signal for heating [1] |
output RealOutput | yCoo | Control signal for cooling [1] |
output RealOutput | ySupFanSpe | Supply fan speed [1] |
output RealOutput | yRetDamPos | Return air damper position [1] |
output RealOutput | yOutDamPos | Outdoor air damper position [1] |
output BooleanOutput | ySupFan | Supply fan status, true if fan should be on |