Skip to content

Multizone AHU controller: Removed measured input, fixed singular issues #3531

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
3317f8a
removed coil valve position input connectors
JayHuLBL Sep 18, 2023
686c759
added revision note and conversion script
JayHuLBL Sep 18, 2023
64dd700
added electric heating coil option
JayHuLBL Sep 18, 2023
bec3e66
added 2-position relief damper position output
JayHuLBL Sep 18, 2023
1493118
fixed singular error due to the choose of hardwired freezestat
JayHuLBL Sep 18, 2023
3e8cc69
corrected validation model
JayHuLBL Sep 20, 2023
4ed0089
corrected condition for enabling returning air temperature input
JayHuLBL Sep 20, 2023
e5f098a
added release note
JayHuLBL Sep 20, 2023
a6025c7
improved validation model
JayHuLBL Sep 21, 2023
f173e7d
fixed error due to the remove of the input connector
JayHuLBL Sep 21, 2023
1ea7e78
changed pressure control enumeration name
JayHuLBL Sep 22, 2023
908490a
added coil type enumeration, changed pressure control type enumeratio…
JayHuLBL Sep 22, 2023
37f9cf9
added coil enumeration and removed the have_hotWatCoi or have_eleHeaCoi
JayHuLBL Sep 22, 2023
8997416
added conditional cooling coil types [ci skip]
JayHuLBL Sep 22, 2023
4dcdea0
merged master
JayHuLBL Sep 25, 2023
5bdd224
Differentiated heating and cooling coil enumeration
JayHuLBL Sep 25, 2023
052bdb3
Refactor templates for new enumerations from OBC [ci skip]
AntoineGautier Sep 26, 2023
c4f11a3
merged master
JayHuLBL Sep 27, 2023
51d77b3
corrected conditions enabled/disable blocks in freeze protection
JayHuLBL Sep 27, 2023
f332a35
added boolean parameter to constrain heating coil options
JayHuLBL Sep 27, 2023
9c1952d
Revert to Boolean parameter for heating coil
AntoineGautier Sep 28, 2023
1455ea1
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Oct 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions Buildings/Air/Systems/SingleZone/VAV/Examples/Guideline36.mo
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,18 @@ model Guideline36
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,
buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.BarometricRelief,

have_locAdj=false,
ignDemLim=false,
kCoo=0.1,
Expand All @@ -36,11 +40,10 @@ model Guideline36
have_occSen=false,
TSup_max=343.15,
TSup_min=286.15,
outDamMinFloMinSpe = 0.2304,
outDamMinFloMinSpe=0.2304,
outDamMinFloMaxSpe=0.02304,
outDamDesFloMinSpe=0.4,
outDamDesFloMaxSpe=0.04)
"VAV controller"
outDamDesFloMaxSpe=0.04) "VAV controller"
annotation (Placement(transformation(extent={{-120,-20},{-80,60}})));

Buildings.Controls.OBC.CDL.Reals.Hysteresis hysChiPla(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,18 @@ block ZoneWithAHUG36
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,

VAreBreZon_flow=0.4989,
VPopBreZon_flow=0.2075,
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=false,
have_CO2Sen=false,
buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.BarometricRelief,
buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.BarometricRelief,

have_locAdj=false,
TSupDew_max=297.15,
maxHeaSpe=0.2,
Expand All @@ -71,8 +75,7 @@ block ZoneWithAHUG36
TSup_max=343.15,
TSup_min=286.15,
uLow=0,
uHigh=0.5)
"VAV controller"
uHigh=0.5) "VAV controller"
annotation (Placement(transformation(extent={{-80,-90},{-40,-10}})));
Buildings.ThermalZones.Detailed.Validation.BaseClasses.SingleZoneFloor sinZonFlo(
redeclare package Medium = MediumA)
Expand Down
388 changes: 210 additions & 178 deletions Buildings/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Controller.mo

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ block Controller

parameter Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection minOADes
"Design of minimum outdoor air and economizer function";
parameter Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes buiPreCon
parameter Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl buiPreCon
"Type of building pressure control system";
parameter Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard eneStd
"Energy standard, ASHRAE 90.1 or Title 24";
Expand Down Expand Up @@ -169,14 +169,14 @@ block Controller
"Maximum loop signal for the OA damper to be fully open"
annotation (__cdl(ValueInReference=false),
Dialog(tab="Commissioning", group="Modulation",
enable=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefFan));
enable=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefFan));
parameter Real uRetDamMin(unit="1")=(uHeaMax + uCooMin)/2
"Minimum loop signal for the RA damper to be fully open"
annotation (__cdl(ValueInReference=false),
Dialog(tab="Commissioning", group="Modulation",
enable=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefFan));
enable=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefFan));

Buildings.Controls.OBC.CDL.Interfaces.RealInput VOutMinSet_flow_normalized(
final unit="1")
Expand Down Expand Up @@ -238,8 +238,8 @@ block Controller
Buildings.Controls.OBC.CDL.Interfaces.RealInput TAirRet(
final unit="K",
displayUnit="degC",
final quantity="ThermodynamicTemperature")
if ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.DifferentialDryBulb
final quantity="ThermodynamicTemperature") if (ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.DifferentialDryBulb
or ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulbWithDifferentialDryBulb)
"Used only for fixed plus differential dry bulb temperature high limit cutoff"
annotation (Placement(transformation(extent={{-280,-120},{-240,-80}}),
iconTransformation(extent={{-140,-80},{-100,-40}})));
Expand Down Expand Up @@ -305,8 +305,7 @@ block Controller
Buildings.Controls.OBC.CDL.Interfaces.RealOutput yRelDam(
final min=0,
final max=1,
final unit="1")
if buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanMeasuredAir
final unit="1") if buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanMeasuredAir
"Relief air damper commanded position"
annotation (Placement(transformation(extent={{260,-20},{300,20}}),
iconTransformation(extent={{100,-80},{140,-40}})));
Expand Down Expand Up @@ -375,22 +374,22 @@ block Controller
final disDel=disDel) "Enable or disable economizer"
annotation (Placement(transformation(extent={{20,-100},{40,-72}})));

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Modulations.ReturnFan modRet(
final have_dirCon=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanDp,
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Modulations.ReturnFan
modRet(
final have_dirCon=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanDp,

final uMin=uHeaMax,
final uMax=uCooMin)
if (buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanMeasuredAir
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanDp)
final uMax=uCooMin) if (buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanMeasuredAir
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanDp)
"Modulate economizer dampers position for buildings with return fan controlling pressure"
annotation (Placement(transformation(extent={{100,20},{120,40}})));
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Modulations.Reliefs modRel(
final uMin=uHeaMax,
final uMax=uCooMin,
final uOutDamMax=uOutDamMax,
final uRetDamMin=uRetDamMin)
if (buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefFan
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.BarometricRelief)
final uRetDamMin=uRetDamMin) if (buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefDamper
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefFan
or buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.BarometricRelief)
"Modulate economizer dampers position for buildings with relief damper or fan controlling pressure"
annotation (Placement(transformation(extent={{100,-40},{120,-20}})));
Buildings.Controls.OBC.ASHRAE.G36.Generic.AirEconomizerHighLimits ecoHigLim(
Expand Down Expand Up @@ -589,7 +588,8 @@ annotation (defaultComponentName="ecoCon",
extent={{-100,-52},{-58,-66}},
textColor={0,0,127},
pattern=LinePattern.Dash,
visible=ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.DifferentialDryBulb,
visible=(ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.DifferentialDryBulb
or ecoHigLimCon == Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulbWithDifferentialDryBulb),
textString="TAirRet"),
Text(
extent={{-100,-82},{-58,-98}},
Expand Down Expand Up @@ -635,7 +635,7 @@ annotation (defaultComponentName="ecoCon",
extent={{42,-50},{98,-66}},
textColor={0,0,127},
pattern=LinePattern.Dash,
visible=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanMeasuredAir,
visible=buiPreCon == Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanMeasuredAir,
textString="yRelDam"),
Text(
extent={{42,-110},{98,-126}},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,31 @@ model Controller_Disable
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Controller
eco(
final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.SingleDamper,
final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper,

final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefDamper,

final eneStd=Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard.ASHRAE90_1,

final ecoHigLimCon=Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulb,

final ashCliZon=Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Zone_1A,

final minOAConTyp=Buildings.Controls.OBC.CDL.Types.SimpleController.PI)
"Multi zone VAV AHU economizer "
annotation (Placement(transformation(extent={{20,0},{40,40}})));

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Controller
eco1(
final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.SingleDamper,
final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper,

final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefDamper,

final eneStd=Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard.ASHRAE90_1,

final ecoHigLimCon=Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedEnthalpyWithFixedDryBulb,

final ashCliZon=Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Zone_1A,

final minOAConTyp=Buildings.Controls.OBC.CDL.Types.SimpleController.PI)
"Multi zone VAV AHU economizer"
annotation (Placement(transformation(extent={{100,-40},{120,0}})));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,29 @@ model Controller_Mod_DamLim
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Controller
eco(
final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.DedicatedDampersAirflow,
final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefFan,

final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReliefFan,

final eneStd=Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard.ASHRAE90_1,

final ecoHigLimCon=Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulb,

final ashCliZon=Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Zone_1A)
"Multi zone VAV AHU economizer"
annotation (Placement(transformation(extent={{20,-20},{40,20}})));

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Controller
eco1(
final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.DedicatedDampersPressure,
final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReturnFanMeasuredAir,

final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.PressureControl.ReturnFanMeasuredAir,

final eneStd=Buildings.Controls.OBC.ASHRAE.G36.Types.EnergyStandard.ASHRAE90_1,

final ecoHigLimCon=Buildings.Controls.OBC.ASHRAE.G36.Types.ControlEconomizer.FixedDryBulb,

final ashCliZon=Buildings.Controls.OBC.ASHRAE.G36.Types.ASHRAEClimateZone.Zone_1B,

final venStd=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1)
"Multi zone VAV AHU economizer"
annotation (Placement(transformation(extent={{100,-60},{120,-20}})));
Expand Down
Loading