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.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
BusweaBus 

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; package MediumA = Buildings.Media.Air "Buildings library air media package"; package MediumW = Buildings.Media.Water "Buildings library air media package"; parameter Modelica.SIunits.Temperature TSupChi_nominal=279.15 "Design value for chiller leaving water temperature"; ChillerDXHeatingEconomizerController con( minOAFra=0.2, kFan=4, kEco=4, kHea=4, TSupChi_nominal=TSupChi_nominal, TSetSupAir=286.15) "Controller"; Modelica.Blocks.Sources.CombiTimeTable TSetRooHea( table=[ 0, 15 + 273.15; 8*3600, 20 + 273.15; 18*3600, 15 + 273.15; 24*3600, 15 + 273.15], smoothness=Modelica.Blocks.Types.Smoothness.ConstantSegments, extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic) "Heating setpoint for room temperature"; Modelica.Blocks.Sources.CombiTimeTable TSetRooCoo( table=[ 0, 30 + 273.15; 8*3600, 25 + 273.15; 18*3600, 30 + 273.15; 24*3600, 30 + 273.15], smoothness=Modelica.Blocks.Types.Smoothness.ConstantSegments, extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic) "Cooling setpoint for room temperature"; 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(con.TOut, weaBus.TDryBul); connect(zon.TRooAir, con.TRoo); 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
BusweaBus 

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; parameter Modelica.SIunits.Temperature TSupChi_nominal=279.15 "Design value for chiller leaving water temperature"; Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller controller( controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, kCoo=1, yHeaMax=0.2, AFlo=48, VOutMin_flow=0.0144, VOutDes_flow=0.025, yMin=0.1, kHea=4, kMod=4, have_occSen=false, TZonHeaOff=288.15, TZonCooOn=298.15, TSupSetMax=323.15, TSupSetMin=285.15) "VAV controller"; Controls.OBC.CDL.Continuous.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"; Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18}) "Occupancy schedule"; Modelica.Blocks.Sources.BooleanConstant uWin(k=false) "Window opening signal"; Modelica.Blocks.Math.BooleanToReal occPer "Conversion to number of occupants"; Modelica.Blocks.Math.Gain ppl(k=2) "Gain for number of occupants"; protected Modelica.Blocks.Sources.Constant TSetSupChiConst(final k=TSupChi_nominal) "Set point for chiller temperature"; equation connect(controller.yFan, hvac.uFan); connect(controller.yHeaCoi, hvac.uHea); connect(controller.yOutDamPos, hvac.uEco); connect(TSetSupChiConst.y, hvac.TSetChi); connect(errTRooCoo.y, hysChiPla.u); connect(zon.TRooAir, errTRooCoo.u1); connect(hysChiPla.y, hvac.chiOn); connect(weaBus.TDryBul, controller.TOut); connect(zon.TRooAir, controller.TZon); connect(hvac.TSup, controller.TSup); connect(hvac.TMix, controller.TMix); connect(occSch.tNexOcc, controller.tNexOcc); connect(controller.uOcc, occSch.occupied); connect(uWin.y, controller.uWin); connect(occSch.occupied, occPer.u); connect(occPer.y, ppl.u); connect(ppl.y, controller.nOcc); connect(controller.TZonCooSet, errTRooCoo.u2); connect(hvac.uCooVal, controller.yCooCoi); connect(hvac.TRet, controller.TCut); end Guideline36;