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 |
ChillerDXHeatingEconomizer
|
Variable air volume flow system with single themal zone and conventional control |
Guideline36
|
Variable air volume flow system with single themal zone and ASHRAE Guideline 36 sequence control |
OptimalStart
|
Example models of the block OptimalStart |
BaseClasses
|
Package with base classes for Buildings.Air.Systems.SingleZone.VAV.Examples |
Variable air volume flow system with single themal zone and conventional control
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
Type | Name | Default | Description |
Temperature | TSupChi_nominal | 279.15 | Design value for chiller leaving water temperature [K] |
Connectors
Type | Name | Description |
Bus | weaBus | Weather bus |
Modelica definition
model ChillerDXHeatingEconomizer
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
;
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) ;
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)
;
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)
;
Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18})
;
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;
Variable air volume flow system with single themal zone and ASHRAE Guideline 36 sequence control
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
Type | Name | Default | Description |
Temperature | TSupChi_nominal | 279.15 | Design value for chiller leaving water temperature [K] |
Connectors
Type | Name | Description |
Bus | weaBus | Weather bus |
Modelica definition
model Guideline36
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
;
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.PressureControl.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) ;
Buildings.Controls.OBC.CDL.Reals.Hysteresis hysChiPla(
uLow=-1,
uHigh=0)
;
Modelica.Blocks.Math.Feedback errTRooCoo
;
Buildings.Controls.SetPoints.OccupancySchedule occSch(occupancy=3600*{8,18})
;
Modelica.Blocks.Sources.BooleanConstant uWin(k=true) ;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant demLim(
final k=0)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant cooWarTim(
final k=0)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TOccHeaSet(
final k=293.15)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TOccCooSet(
final k=298.15)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TUnoHeaSet(
final k=288.15)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TUnoCooSet(
final k=303.15)
;
Modelica.Blocks.Sources.BooleanConstant freRes(k=true)
;
protected
Modelica.Blocks.Sources.Constant TSetSupChiConst(
final k=TSupChi_nominal)
;
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;