blockActiveAirFlow

Output the active airflow setpoint for VAV reheat terminal unit

Information

This atomic sequence sets the active maximum and minimum setpoints VActCooMax_flow, VActCooMin_flow, VActMin_flow, VActHeaMin_flow, VActHeaMax_flow for VAV reheat terminal unit according to ASHRAE Guideline 36 (G36), PART 5.E.3-5.

1. Information provided by designer

According to G36 PART 3.1.B.2, following VAV box design information should be provided:

  • Zone maximum cooling airflow setpoint VDisCooSetMax_flow
  • Zone minimum airflow setpoint VDisSetMin_flow
  • Zone maximum heating airflow setpoint VDisHeaSetMax_flow

2. Occupied minimum airflow VOccDisMin_flow

The VOccDisMin_flow shall be equal to zone minimum airflow setpoint VDisSetMin_flow except as follows:

  • If the zone has an occupancy sensor, VOccDisMin_flow shall be equal to minimum breathing zone outdoor airflow (if ventilation is according to ASHRAE Standard 62.1-2013) or zone minimum outdoor airflow for building area (if ventilation is according to California Title 24) when the room is unpopulated.
  • If the zone has a window switch, VOccDisMin_flow shall be zero when the window is open.
  • If VDisSetMin_flow is non-zero and less than the lowest possible airflow setpoint allowed by the controls VDisConMin_flow, VOccDisMin_flow shall be set equal to VDisConMin_flow.
  • If the zone has a CO2 sensor, then following steps are applied for calculating VOccDisMin_flow. (1) During occupied mode, a P-only loop shall maintain CO2 concentration at setpoint, reset 0% at (CO2 setpoint CO2Set - 200 ppm) and 100% at CO2Set. If ventilation outdoor airflow is controlled in accordance with ASHRAE Standard 62.1-2013, the loop output shall reset the VOccDisMin_flow from VDisSetMin_flow at 0% loop output up to VDisCooSetMax_flow at 100% loop output; (2) Loop is diabled and output set to zero when the zone is not in occupied mode.

3. Active maximum and minimum setpoints

The setpoints shall vary depending on the mode of the zone group.

Setpoint OccupiedCool-down SetupWarmupSetbackUnoccupied
Cooling maximum (VActCooMax_flow)VDisCooSetMax_flow VDisCooSetMax_flowVDisCooSetMax_flow 000
Cooling minimum (VActCooMin_flow)VOccDisMin_flow 00000
Minimum (VActMin_flow)VOccDisMin_flow0 0000
Heating minimum (VActHeaMin_flow)VOccDisMin_flow 00VDisHeaSetMax_flowVDisHeaSetMax_flow 0
Heating maximum (VActHeaMax_flow)max(VDisHeaSetMax_flow,VOccDisMin_flow) VDisHeaSetMax_flow0VDisCooSetMax_flowVDisCooSetMax_flow 0

Parameters

TypeNameDefaultDescription
Zone sensors
Booleanhave_occSenSet to true if the zone has occupancy sensor
Booleanhave_winSenSet to true if the zone has window status sensor
Booleanhave_CO2SenSet to true if the zone has CO2 sensor
Nominal condition
RealVDisCooSetMax_flowZone maximum cooling airflow setpoint
RealVDisSetMin_flowZone minimum airflow setpoint
RealVDisHeaSetMax_flowZone maximum heating airflow setpoint
RealVDisConMin_flowVAV box controllable minimum
RealAFloArea of the zone
RealVOutPerAre_flow3e-4Outdoor air rate per unit area
RealVOutPerPer_flow2.5e-3Outdoor air rate per person
RealCO2Set894CO2 setpoint in ppm

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputnOccNumber of occupants
Buildings.Controls.OBC.CDL.Interfaces.RealInputppmCO2Detected CO2 conventration
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuWinWindow status, true if open, false if closed
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputuOpeModZone operation mode
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVOccDisMin_flowOccupied minimum airflow
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVActCooMax_flowActive cooling maximum
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVActCooMin_flowActive cooling minimum
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVActMin_flowActive minimum
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVActHeaMin_flowActive heating minimum
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVActHeaMax_flowActive heating maximum

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergaiOutdoor air per person
Buildings.Controls.OBC.CDL.Reals.AddbreZonBreathing zone airflow
Buildings.Controls.OBC.CDL.Reals.Lineco2ConLooMaintain CO2 concentration at setpoint, reset 0% at (setpoint-200) and 100% at setpoint
Buildings.Controls.OBC.CDL.Reals.Linelin1Reset occupied minimum airflow setpoint from 0% at VDisSetMin_flow and 100% at VDisCooSetMax_flow
Buildings.Controls.OBC.CDL.Reals.GreatergreCheck if zone minimum airflow setpoint Vmin is less than the allowed controllable VDisConMin_flow
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThr1Check if zone minimum airflow setpoint VDisSetMin_flow is non-zero
Buildings.Controls.OBC.CDL.Reals.SwitchswiReset occupied minimum airflow according to occupancy
Buildings.Controls.OBC.CDL.Reals.Switchswi1Reset occupied minimum airflow according to window status
Buildings.Controls.OBC.CDL.Reals.Switchswi2Reset occupied minimum airflow setpoint according to minimum controllable airflow
Buildings.Controls.OBC.CDL.Reals.Switchswi3Switch between zero signal and CO2 control loop signal depending on the operation mode
Buildings.Controls.OBC.CDL.Logical.Andand1Logical and
Buildings.Controls.OBC.CDL.Logical.Notnot1Logical not
Buildings.Controls.OBC.CDL.Logical.Notnot2Logical not
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThrCheck if the zone becomes unpopulated

Revisions

  • March 11, 2020, by Jianjun Hu:
    Replaced multisum block with add blocks.
    This is for #1830.
  • February 27, 2020, by Jianjun Hu:
    Used hysteresis to check occupancy.
    This is for #1788.
  • September 7, 2017, by Jianjun Hu:
    First implementation.