Buildings.Air.Systems.SingleZone.VAV.Examples

Collection of models that illustrate model use and test models

Information

This package contains examples for the use of models that can be found in Buildings.Air.Systems.SingleZone.VAV.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Air.Systems.SingleZone.VAV.Examples.ChillerDXHeatingEconomizer ChillerDXHeatingEconomizer Variable air volume flow system with single themal zone and conventional control
Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36 Guideline36 Variable air volume flow system with single themal zone and ASHRAE Guideline 36 sequence control
Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart OptimalStart Example models of the block OptimalStart
Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses BaseClasses Package with base classes for Buildings.Air.Systems.SingleZone.VAV.Examples

Buildings.Air.Systems.SingleZone.VAV.Examples.ChillerDXHeatingEconomizer Buildings.Air.Systems.SingleZone.VAV.Examples.ChillerDXHeatingEconomizer

Variable air volume flow system with single themal zone and conventional control

Buildings.Air.Systems.SingleZone.VAV.Examples.ChillerDXHeatingEconomizer

Information

Implementation of Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop with conventional single-maximum control sequence.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop (Partial model of a single zone variable air volume flow system and thermal zone).

Parameters

TypeNameDefaultDescription
TemperatureTSupChi_nominal279.15Design value for chiller leaving water temperature [K]

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model ChillerDXHeatingEconomizer "Variable air volume flow system with single themal zone and conventional control" extends Modelica.Icons.Example; extends Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop ( hvac(QCoo_flow_nominal=-10000)); parameter Modelica.Units.SI.Temperature TSupChi_nominal=279.15 "Design value for chiller leaving water temperature"; Buildings.Air.Systems.SingleZone.VAV.BaseClasses.ControllerChillerDXHeatingEconomizer con( minAirFlo=0.1, minOAFra=0.4, controllerTypeHea=Buildings.Controls.OBC.CDL.Types.SimpleController.P, controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, kCoo=1, TiCoo=120, controllerTypeFan=Buildings.Controls.OBC.CDL.Types.SimpleController.P, kFan=4, controllerTypeEco=Buildings.Controls.OBC.CDL.Types.SimpleController.P, kEco=4, kHea=4, TSupChi_nominal=TSupChi_nominal, TSetSupAir=286.15) "Controller for single zone VAV system"; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable TSetRooHea( table=[ 0, 15 + 273.15; 8*3600, 20 + 273.15; 18*3600, 15 + 273.15; 24*3600, 15 + 273.15], smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.Periodic) "Heating setpoint for room temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable TSetRooCoo( table=[ 0, 30 + 273.15; 8*3600, 25 + 273.15; 18*3600, 30 + 273.15; 24*3600, 30 + 273.15], smoothness=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, extrapolation=Buildings.Controls.OBC.CDL.Types.Extrapolation.Periodic) "Cooling setpoint for room temperature"; Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18}) "Occupancy schedule"; equation connect(TSetRooHea.y[1], con.TSetRooHea); connect(TSetRooCoo.y[1], con.TSetRooCoo); connect(hvac.uFan, con.yFan); connect(hvac.uHea, con.yHea); connect(con.yCooCoiVal, hvac.uCooVal); connect(hvac.uEco, con.yOutAirFra); connect(con.chiOn, hvac.chiOn); connect(hvac.TSetChi, con.TSetSupChi); connect(hvac.TMix, con.TMix); connect(hvac.TSup, con.TSup); connect(zon.TRooAir, con.TRoo); connect(occSch.occupied, con.uOcc); connect(weaBus.TDryBul, con.TOut); end ChillerDXHeatingEconomizer;

Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36 Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36

Variable air volume flow system with single themal zone and ASHRAE Guideline 36 sequence control

Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36

Information

Implementation of Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop with ASHRAE Guideline 36 control sequence.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop (Partial model of a single zone variable air volume flow system and thermal zone).

Parameters

TypeNameDefaultDescription
TemperatureTSupChi_nominal279.15Design value for chiller leaving water temperature [K]

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model Guideline36 "Variable air volume flow system with single themal zone and ASHRAE Guideline 36 sequence control" extends Modelica.Icons.Example; extends Buildings.Air.Systems.SingleZone.VAV.Examples.BaseClasses.PartialOpenLoop ( hvac(QCoo_flow_nominal=-10000)); parameter Modelica.Units.SI.Temperature TSupChi_nominal=279.15 "Design value for chiller leaving water temperature"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.Controller con( eneStd=Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard.ASHRAE90_1, venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1, final VAreBreZon_flow=0.0144, final VPopBreZon_flow=0.0075, ecoHigLimCon=Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulb, ashCliZon=Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Zone_6B, freSta=Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat.No_freeze_stat, have_winSen=true, have_CO2Sen=false, buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.BarometricRelief, have_locAdj=false, ignDemLim=false, kCoo=0.1, TiCoo=120, TiHea=120, TSupDew_max=297.15, maxHeaSpe=0.2, maxCooSpe=1, minSpe=0.1, kCooCoi=1, VOutMin_flow=0.0144, VOutDes_flow=0.025, kHea=0.1, kMod=4, have_occSen=false, TSup_max=343.15, TSup_min=286.15, outDamMinFloMinSpe = 0.2304, outDamMinFloMaxSpe=0.02304, outDamDesFloMinSpe=0.4, outDamDesFloMaxSpe=0.04) "VAV controller"; Buildings.Controls.OBC.CDL.Reals.Hysteresis hysChiPla( uLow=-1, uHigh=0) "Hysteresis with delay to switch on cooling"; Modelica.Blocks.Math.Feedback errTRooCoo "Control error on room temperature for cooling"; Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18}) "Occupancy schedule"; Modelica.Blocks.Sources.BooleanConstant uWin(k=true) "Window opening signal"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant demLim(final k=0) "Cooling and heating demand imit level"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant cooWarTim(final k=0) "Cooldown and warm-up time"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TOccHeaSet(final k=293.15) "Occupied heating setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TOccCooSet(final k=298.15) "Occupied cooling setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TUnoHeaSet(final k=288.15) "Unoccupied heating setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TUnoCooSet(final k=303.15) "Unoccupied cooling setpoint"; Modelica.Blocks.Sources.BooleanConstant freRes(k=true) "Freeze protection reset"; protected Modelica.Blocks.Sources.Constant TSetSupChiConst(final k=TSupChi_nominal) "Set point for chiller temperature"; equation connect(con.yHeaCoi, hvac.uHea); connect(TSetSupChiConst.y, hvac.TSetChi); connect(errTRooCoo.y, hysChiPla.u); connect(zon.TRooAir, errTRooCoo.u1); connect(hysChiPla.y, hvac.chiOn); connect(zon.TRooAir, con.TZon); connect(occSch.tNexOcc, con.tNexOcc); connect(con.TZonCooSet, errTRooCoo.u2); connect(demLim.y, con.uCooDemLimLev); connect(demLim.y, con.uHeaDemLimLev); connect(cooWarTim.y, con.warUpTim); connect(cooWarTim.y, con.cooDowTim); connect(con.yCooCoi, hvac.uCooVal); connect(TOccHeaSet.y, con.TOccHeaSet); connect(TOccCooSet.y, con.TOccCooSet); connect(TUnoHeaSet.y, con.TUnoHeaSet); connect(TUnoCooSet.y, con.TUnoCooSet); connect(weaBus.TDryBul, con.TOut); connect(uWin.y, con.u1Win); connect(occSch.occupied, con.u1Occ); connect(hvac.TSup, con.TAirSup); connect(hvac.TMix, con.TAirMix); connect(con.ySupFan, hvac.uFan); connect(con.yCooCoi, con.uCooCoi_actual); connect(con.yHeaCoi, con.uHeaCoi_actual); connect(freRes.y, con.u1SofSwiRes); connect(con.yOutDam, hvac.uEco); connect(con.ySupFan, con.uSupFan_actual); end Guideline36;