Buildings.Obsolete.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses
Base classes of models in the package OptimalStart
Information
This package contains base classes used by the example models in the package Buildings.Air.Systems.SingleZone.VAV.Examples.OptimalStart.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
ZoneWithAHUG36 | A single zone building with a VAV system and a Guideline36 controller |
Buildings.Obsolete.Air.Systems.SingleZone.VAV.Examples.OptimalStart.BaseClasses.ZoneWithAHUG36
A single zone building with a VAV system and a Guideline36 controller
Information
This base class contains a controller based on Guideline36 Buildings.Obsolete.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller, a single-zone VAV system Buildings.Air.Systems.SingleZone.VAV.ChillerDXHeatingEconomizer, and a single-zone floor building Buildings.ThermalZones.Detailed.Validation.BaseClasses.SingleZoneFloor.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Temperature | TSupChi_nominal | 279.15 | Design value for chiller leaving water temperature [K] |
Volume | VRoo | 4555.7 | Space volume of the floor [m3] |
MassFlowRate | mAir_flow_nominal | VRoo*4*1.2/3600 | Design air flow rate [kg/s] |
HeatFlowRate | QHea_flow_nominal | 90000 | Design heating flow rate [W] |
HeatFlowRate | QCoo_flow_nominal | -100000 | Design cooling flow rate [W] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | warUpTim | Warm-up time retrieved from optimal warm-up block [s] |
input RealInput | cooDowTim | Cool-down time retrieved from optimal cool-down block [s] |
input RealInput | tNexOcc | Next occupancy time [s] |
input BooleanInput | uOcc | Current occupancy period, true if it is in occupant period |
output RealOutput | TZon | Zone air temperature [K] |
Bus | weaBus | Weather bus |
Modelica definition
block ZoneWithAHUG36
"A single zone building with a VAV system and a Guideline36 controller"
package MediumA = Buildings.Media.Air(extraPropertiesNames={"CO2"})
"Buildings library air media package";
package MediumW = Buildings.Media.Water
"Buildings library water media package";
parameter Modelica.Units.SI.Temperature TSupChi_nominal=279.15
"Design value for chiller leaving water temperature";
parameter Modelica.Units.SI.Volume VRoo=4555.7 "Space volume of the floor";
parameter Modelica.Units.SI.MassFlowRate mAir_flow_nominal=VRoo*4*1.2/3600
"Design air flow rate";
parameter Modelica.Units.SI.HeatFlowRate QHea_flow_nominal=90000
"Design heating flow rate";
parameter Modelica.Units.SI.HeatFlowRate QCoo_flow_nominal=-100000
"Design cooling flow rate";
Buildings.Controls.OBC.CDL.Interfaces.RealInput warUpTim(
final unit="s",
final quantity="Time")
"Warm-up time retrieved from optimal warm-up block";
Buildings.Controls.OBC.CDL.Interfaces.RealInput cooDowTim(
final unit="s",
final quantity="Time")
"Cool-down time retrieved from optimal cool-down block";
Buildings.Controls.OBC.CDL.Interfaces.RealInput tNexOcc(
final unit="s",
final quantity="Time")
"Next occupancy time";
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uOcc
"Current occupancy period, true if it is in occupant period";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TZon(
final unit="K",
displayUnit="degC",
final quantity="ThermodynamicTemperature") "Zone air temperature";
Buildings.Obsolete.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller
con(
have_winSen=false,
TZonHeaOn=293.15,
TZonCooOff=303.15,
kCoo=4,
kCooCoi=1,
yHeaMax=0.2,
AFlo=1663,
VOutMin_flow=0.5,
VOutDes_flow=0.71,
yMin=0.1,
kHea=4,
kMod=4,
have_occSen=false,
TZonHeaOff=288.15,
TZonCooOn=297.15,
TSupSetMax=343.15,
TSupSetMin=286.15,
uLow=0,
uHigh=0.5)
"VAV controller";
Buildings.ThermalZones.Detailed.Validation.BaseClasses.SingleZoneFloor sinZonFlo(
redeclare package Medium = MediumA)
"Single zone floor";
Buildings.Air.Systems.SingleZone.VAV.ChillerDXHeatingEconomizer hvac(
redeclare package MediumA = MediumA,
redeclare package MediumW = MediumW,
mAir_flow_nominal=mAir_flow_nominal,
etaHea_nominal=0.99,
QHea_flow_nominal=QHea_flow_nominal,
QCoo_flow_nominal=QCoo_flow_nominal,
TSupChi_nominal=TSupChi_nominal) "HVAC system";
Buildings.Controls.OBC.CDL.Reals.Hysteresis hysChiPla1(uLow=-1, uHigh=0)
"Hysteresis with delay to switch on cooling";
Modelica.Blocks.Math.Feedback errTRooCoo1
"Control error on room temperature for cooling";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather bus";
Buildings.Controls.OBC.CDL.Integers.Sources.Constant demLim(
final k=0)
"Cooling and heating demand imit level";
protected
Buildings.Controls.OBC.CDL.Reals.Sources.Constant TSetSupChiConst(
final k=TSupChi_nominal)
"Set point for chiller temperature";
equation
connect(con.yFan, hvac.uFan);
connect(con.yHeaCoi, hvac.uHea);
connect(con.yOutDamPos, hvac.uEco);
connect(hvac.TSup, con.TSup);
connect(hvac.TMix, con.TMix);
connect(hvac.TRet, con.TCut);
connect(weaBus, sinZonFlo.weaBus);
connect(con.yCooCoi, hvac.uCooVal);
connect(hvac.supplyAir, sinZonFlo.ports[1]);
connect(hvac.returnAir, sinZonFlo.ports[2]);
connect(errTRooCoo1.y,hysChiPla1. u);
connect(hysChiPla1.y, hvac.chiOn);
connect(con.TZonCooSet, errTRooCoo1.u2);
connect(con.TOut, weaBus.TDryBul);
connect(errTRooCoo1.u1, con.TZon);
connect(TSetSupChiConst.y, hvac.TSetChi);
connect(sinZonFlo.TRooAir, con.TZon);
connect(demLim.y, con.uCooDemLimLev);
connect(demLim.y, con.uHeaDemLimLev);
connect(sinZonFlo.TRooAir, TZon);
connect(tNexOcc, con.tNexOcc);
connect(uOcc, con.uOcc);
connect(warUpTim, con.warUpTim);
connect(cooDowTim, con.cooDowTim);
connect(hvac.weaBus, weaBus);
end ZoneWithAHUG36;