From 7be348b7d3407ff8652940cd1d53f78b29e4ec95 Mon Sep 17 00:00:00 2001
From: Jianjun Hu
Date: Mon, 7 Feb 2022 17:48:31 -0800
Subject: [PATCH] Updated CDL block addParameter (#2877)
* updated blocks, running script, reference results and OM script
---
.../VAV/SetPoints/OutdoorAirFlow/AHU.mo | 6 +-
.../AHUs/SingleZone/VAV/SetPoints/Supply.mo | 95 +++++----
.../Generic/FreezeProtectionMixedAir.mo | 11 +-
.../SetPoints/Validation/GroupStatus.mo | 192 ++++++++++--------
.../SetPoints/Validation/OperationMode.mo | 36 ++--
.../SetPoints/Validation/ZoneStatus.mo | 21 +-
.../TerminalUnits/Reheat/DamperValves.mo | 4 +-
.../TerminalUnits/Reheat/SystemRequests.mo | 2 -
.../SetPoints/ZoneTemperatures.mo | 21 +-
Buildings/Controls/OBC/CDL/Continuous/Add.mo | 2 +-
.../OBC/CDL/Continuous/AddParameter.mo | 33 ++-
.../CDL/Continuous/Validation/AddParameter.mo | 3 +-
Buildings/Controls/OBC/CDL/Integers/Add.mo | 2 +-
.../Controls/OBC/CDL/Integers/AddParameter.mo | 65 ++++++
.../CDL/Integers/Validation/AddParameter.mo | 63 ++++++
.../OBC/CDL/Integers/Validation/package.order | 1 +
.../Controls/OBC/CDL/Integers/package.order | 1 +
.../Controls/OBC/UnitConversions/From_degC.mo | 16 +-
.../Controls/OBC/UnitConversions/From_degF.mo | 16 +-
.../Controls/OBC/UnitConversions/To_degC.mo | 16 +-
.../Controls/OBC/UnitConversions/To_degF.mo | 16 +-
.../Controls/OBC/Utilities/OptimalStart.mo | 3 +-
.../BaseClasses/Controls/Economizer.mo | 34 ++--
.../Combined/Controls/SideCold.mo | 67 +++---
.../Combined/Controls/SideHot.mo | 10 +-
.../Combined/Controls/WatersideEconomizer.mo | 17 +-
.../Validation/BaseClasses/Building.mo | 16 +-
.../Experimental/DHC/Networks/Controls.mo | 4 +-
.../Subsystems/CoolingTowersWithBypass.mo | 13 +-
.../OBC/CDL/Continuous/AddParameter.mo | 89 ++++++++
.../CDL/Continuous/Validation/AddParameter.mo | 56 +++++
.../CDL/Continuous/Validation/package.order | 1 +
.../Controls/OBC/CDL/Continuous/package.order | 1 +
...CDL_Continuous_Validation_AddParameter.txt | 12 +-
...C_CDL_Integers_Validation_AddParameter.txt | 10 +
...CDL_Continuous_Validation_AddParameter.txt | 10 +
.../Continuous/Validation/AddParameter.mos | 2 +-
.../CDL/Integers/Validation/AddParameter.mos | 2 +
.../ConvertBuildings_from_8_to_9.0.0.mos | 4 +
.../Continuous/Validation/AddParameter.mos | 2 +
...C.CDL.Integers.Validation.AddParameter.mos | 5 +
...CDL.Continuous.Validation.AddParameter.mos | 5 +
.../OBC/UnitConversions/unit_converters.py | 23 ++-
.../Detailed/Examples/MixedAirCO2.mo | 43 ++--
.../BaseClasses/SingleZoneFloorHeater.mo | 29 ++-
.../Examples/SingleFamilyHouse/AirHeating.mo | 3 +-
Buildings/package.mo | 14 +-
bin/verifyFiles.py | 6 +-
48 files changed, 746 insertions(+), 357 deletions(-)
create mode 100644 Buildings/Controls/OBC/CDL/Integers/AddParameter.mo
create mode 100644 Buildings/Controls/OBC/CDL/Integers/Validation/AddParameter.mo
create mode 100644 Buildings/Obsolete/Controls/OBC/CDL/Continuous/AddParameter.mo
create mode 100644 Buildings/Obsolete/Controls/OBC/CDL/Continuous/Validation/AddParameter.mo
create mode 100644 Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_CDL_Integers_Validation_AddParameter.txt
create mode 100644 Buildings/Resources/ReferenceResults/Dymola/Buildings_Obsolete_Controls_OBC_CDL_Continuous_Validation_AddParameter.txt
create mode 100644 Buildings/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/AddParameter.mos
create mode 100644 Buildings/Resources/Scripts/Dymola/Obsolete/Controls/OBC/CDL/Continuous/Validation/AddParameter.mos
create mode 100644 Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.CDL.Integers.Validation.AddParameter.mos
create mode 100644 Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Obsolete.Controls.OBC.CDL.Continuous.Validation.AddParameter.mos
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/MultiZone/VAV/SetPoints/OutdoorAirFlow/AHU.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/MultiZone/VAV/SetPoints/OutdoorAirFlow/AHU.mo
index c1dc0ae8154..39413e75c34 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/MultiZone/VAV/SetPoints/OutdoorAirFlow/AHU.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/MultiZone/VAV/SetPoints/OutdoorAirFlow/AHU.mo
@@ -117,8 +117,7 @@ protected
annotation (Placement(transformation(extent={{-120,-20},{-100,0}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar(
- final p=1,
- final k=1)
+ final p=1)
"System outdoor air flow fraction plus 1"
annotation (Placement(transformation(extent={{-80,-20},{-60,0}})));
@@ -146,8 +145,7 @@ protected
annotation (Placement(transformation(extent={{60,120},{80,140}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar1(
- final p=1,
- final k=1)
+ final p=1)
"Average outdoor air flow fraction plus 1"
annotation (Placement(transformation(extent={{120,120},{140,140}})));
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/SetPoints/Supply.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/SetPoints/Supply.mo
index 47d102efcaf..cea3f572f58 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/SetPoints/Supply.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/SetPoints/Supply.mo
@@ -72,9 +72,9 @@ block Supply "Supply air set point for single zone VAV system"
Buildings.Controls.OBC.CDL.Continuous.Switch switch "Switch to assign control signal"
annotation (Placement(transformation(extent={{120,-70},{140,-50}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant fanOff(k=0) "Fan off status"
- annotation (Placement(transformation(extent={{40,10},{60,30}})));
+ annotation (Placement(transformation(extent={{80,10},{100,30}})));
Buildings.Controls.OBC.CDL.Continuous.Min yFanHeaCoo "Fan speed due to heating or cooling"
- annotation (Placement(transformation(extent={{90,-40},{110,-20}})));
+ annotation (Placement(transformation(extent={{80,-40},{100,-20}})));
protected
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant one(final k=1) "Maximum fan speed"
annotation (Placement(transformation(extent={{40,-30},{60,-10}})));
@@ -95,15 +95,19 @@ protected
annotation (Placement(transformation(extent={{60,110},{80,130}})));
Buildings.Controls.OBC.CDL.Continuous.Subtract dT
"Difference zone minus outdoor temperature"
- annotation (Placement(transformation(extent={{-70,-128},{-50,-108}})));
+ annotation (Placement(transformation(extent={{-70,-130},{-50,-110}})));
+ Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter gai1(
+ final k=(yMin - yCooMax)/(0.56 - 5.6))
+ "Gain factor"
+ annotation (Placement(transformation(extent={{-40,-130},{-20,-110}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter yMed(
- final p=yCooMax - (yMin - yCooMax)/(0.56 - 5.6)*5.6,
- final k=(yMin - yCooMax)/(0.56 - 5.6)) "Fan speed at medium cooling load"
- annotation (Placement(transformation(extent={{-30,-128},{-10,-108}})));
+ final p=yCooMax - (yMin - yCooMax)/(0.56 - 5.6)*5.6)
+ "Fan speed at medium cooling load"
+ annotation (Placement(transformation(extent={{-8,-130},{12,-110}})));
Buildings.Controls.OBC.CDL.Continuous.Limiter yMedLim(
final uMax=yCooMax,
final uMin=yMin) "Limiter for yMed"
- annotation (Placement(transformation(extent={{0,-128},{20,-108}})));
+ annotation (Placement(transformation(extent={{28,-130},{48,-110}})));
Buildings.Controls.OBC.CDL.Continuous.Limiter TDea(
final uMax=24 + 273.15,
final uMin=21 + 273.15)
@@ -133,11 +137,14 @@ protected
Buildings.Controls.OBC.CDL.Continuous.Subtract TDeaTSupSetMin
"Outputs TDea-TSupSetMin"
annotation (Placement(transformation(extent={{-20,0},{0,20}})));
- Buildings.Controls.OBC.CDL.Continuous.AddParameter addTDea(
- final p=-1.1,
+ Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter gai(
final k=-1)
- "Adds constant offset"
+ "Gain factor"
annotation (Placement(transformation(extent={{10,0},{30,20}})));
+ Buildings.Controls.OBC.CDL.Continuous.AddParameter addTDea(
+ final p=-1.1)
+ "Adds constant offset"
+ annotation (Placement(transformation(extent={{40,0},{60,20}})));
Buildings.Controls.OBC.CDL.Continuous.Subtract TSupSetMaxTDea
"Outputs TSupSetMax-TDea"
annotation (Placement(transformation(extent={{-20,40},{0,60}})));
@@ -178,9 +185,9 @@ protected
final k=0) "Constant signal"
annotation (Placement(transformation(extent={{0,-350},{20,-330}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter yOffSet(
- final p=-yMin, k=1)
+ final p=-yMin)
"Subtract yMin so that all control signals can be added"
- annotation (Placement(transformation(extent={{36,-128},{56,-108}})));
+ annotation (Placement(transformation(extent={{60,-130},{80,-110}})));
Buildings.Controls.OBC.CDL.Continuous.Add addHeaCoo
"Add heating control signal and offset due to cooling"
annotation (Placement(transformation(extent={{40,-70},{60,-50}})));
@@ -226,16 +233,13 @@ equation
annotation (Line(points={{82,120},{84,120},{84,40},{180,40}},
color={0,0,127}));
connect(dT.u1, TZon)
- annotation (Line(points={{-72,-112},{-86,-112},{-86,-10},{-120,-10}},
+ annotation (Line(points={{-72,-114},{-86,-114},{-86,-10},{-120,-10}},
color={0,0,127}));
connect(dT.u2, TOut)
- annotation (Line(points={{-72,-124},{-88,-124},{-88,-80},{-120,-80}},
- color={0,0,127}));
- connect(dT.y, yMed.u)
- annotation (Line(points={{-48,-118},{-32,-118}},
+ annotation (Line(points={{-72,-126},{-88,-126},{-88,-80},{-120,-80}},
color={0,0,127}));
connect(yMedLim.u, yMed.y)
- annotation (Line(points={{-2,-118},{-8,-118}}, color={0,0,127}));
+ annotation (Line(points={{26,-120},{14,-120}}, color={0,0,127}));
connect(TDea.u, TZonSet)
annotation (Line(points={{-82,30},{-120,30}}, color={0,0,127}));
connect(TDea.y, TSetHeaHig.f1)
@@ -249,8 +253,7 @@ equation
color={0,0,127}));
connect(uHea, TSetHeaHig.u)
annotation (Line(points={{-120,110},{-88,110},{-88,102},{-36,102},{-36,220},
- {0,220}},
- color={0,0,127}));
+ {0,220}}, color={0,0,127}));
connect(TSetHeaHig.y, addTHe.u1)
annotation (Line(points={{24,220},{40,220},{40,206},{58,206}},
color={0,0,127}));
@@ -269,10 +272,8 @@ equation
connect(conTSupSetMin.y, TDeaTSupSetMin.u2)
annotation (Line(points={{-58,0},{-40,0},{-40,4},{-22,4}},
color={0,0,127}));
- connect(TDeaTSupSetMin.y, addTDea.u)
- annotation (Line(points={{2,10},{8,10}}, color={0,0,127}));
connect(addTDea.y, offSetTSetHea.f2)
- annotation (Line(points={{32,10},{34,10},{34,70},{-14,70},{-14,172},{-2,172}},
+ annotation (Line(points={{62,10},{70,10},{70,70},{-14,70},{-14,172},{-2,172}},
color={0,0,127}));
connect(TSetCooHig.x1, con05.y)
annotation (Line(points={{-2,148},{-30,148},{-30,150},{-58,150}},
@@ -315,21 +316,21 @@ equation
connect(uCoo, lin075.u) annotation (Line(points={{-120,70},{-90,70},{-90,-252},
{24,-252},{24,-284},{32,-284}}, color={0,0,127}));
connect(yMedLim.y, yOffSet.u)
- annotation (Line(points={{22,-118},{34,-118}}, color={0,0,127}));
+ annotation (Line(points={{50,-120},{58,-120}}, color={0,0,127}));
connect(dY075.u2, yOffSet.y) annotation (Line(points={{-38,-290},{-42,-290},{-42,
- -160},{70,-160},{70,-118},{58,-118}}, color={0,0,127}));
+ -160},{94,-160},{94,-120},{82,-120}}, color={0,0,127}));
connect(offCoo.u1, lin050.y) annotation (Line(points={{38,-186},{20,-186},{20,
-192},{2,-192}}, color={0,0,127}));
connect(offCoo.u2, lin075.y) annotation (Line(points={{38,-198},{34,-198},{34,
-256},{60,-256},{60,-284},{56,-284}}, color={0,0,127}));
- connect(offCoo.y, addHeaCoo.u2) annotation (Line(points={{62,-192},{90,-192},{
- 90,-80},{30,-80},{30,-66},{38,-66}}, color={0,0,127}));
+ connect(offCoo.y, addHeaCoo.u2) annotation (Line(points={{62,-192},{100,-192},
+ {100,-80},{30,-80},{30,-66},{38,-66}}, color={0,0,127}));
connect(lin050.x2, con1.y) annotation (Line(points={{-22,-196},{-46,-196},{-46,
-222},{-58,-222}}, color={0,0,127}));
connect(con025.y, lin050.x1) annotation (Line(points={{-58,-166},{-52,-166},{-52,
-184},{-22,-184}}, color={0,0,127}));
connect(lin050.f2, yOffSet.y) annotation (Line(points={{-22,-200},{-42,-200},{
- -42,-160},{70,-160},{70,-118},{58,-118}}, color={0,0,127}));
+ -42,-160},{94,-160},{94,-120},{82,-120}}, color={0,0,127}));
connect(con3.y, lin050.f1) annotation (Line(points={{-58,-196},{-50,-196},{-50,
-188},{-22,-188}}, color={0,0,127}));
connect(dY075.y, lin075.f2) annotation (Line(points={{-14,-284},{-8,-284},{-8,
@@ -339,8 +340,7 @@ equation
connect(TSetHeaHig.x1, con0.y) annotation (Line(points={{0,228},{-56,228},{-56,
220},{-58,220}}, color={0,0,127}));
connect(con7.y, yHea.x1) annotation (Line(points={{-18,-30},{-6,-30},{-6,-42},
- {2,-42}},
- color={0,0,127}));
+ {2,-42}}, color={0,0,127}));
connect(minSpe.y, yHea.f1) annotation (Line(points={{-58,-30},{-56,-30},{-56,-46},
{2,-46}}, color={0,0,127}));
connect(uHea, yHea.u) annotation (Line(points={{-120,110},{-94,110},{-94,-50},
@@ -348,25 +348,30 @@ equation
connect(conOne.y, yHea.x2) annotation (Line(points={{-58,-70},{-56,-70},{-56,-54},
{2,-54}}, color={0,0,127}));
connect(maxHeaSpe.y, yHea.f2) annotation (Line(points={{-18,-70},{-6,-70},{-6,
- -58},{2,-58}},
- color={0,0,127}));
+ -58},{2,-58}}, color={0,0,127}));
connect(yHea.y, addHeaCoo.u1) annotation (Line(points={{26,-50},{32,-50},{32,-54},
{38,-54}}, color={0,0,127}));
-
connect(uFan, switch.u2) annotation (Line(points={{-120,-140},{106,-140},{106,
- -60},{118,-60}},
- color={255,0,255}));
+ -60},{118,-60}}, color={255,0,255}));
connect(fanOff.y, switch.u3)
- annotation (Line(points={{62,20},{74,20},{74,-68},{118,-68}},
- color={0,0,127}));
+ annotation (Line(points={{102,20},{112,20},{112,-68},{118,-68}}, color={0,0,127}));
connect(switch.y, y) annotation (Line(points={{142,-60},{180,-60}},
color={0,0,127}));
- connect(one.y, yFanHeaCoo.u1) annotation (Line(points={{62,-20},{80,-20},{80,-24},
- {88,-24}}, color={0,0,127}));
- connect(addHeaCoo.y, yFanHeaCoo.u2) annotation (Line(points={{62,-60},{80,-60},
- {80,-36},{88,-36}}, color={0,0,127}));
- connect(yFanHeaCoo.y, switch.u1) annotation (Line(points={{112,-30},{116,-30},
+ connect(one.y, yFanHeaCoo.u1) annotation (Line(points={{62,-20},{70,-20},{70,-24},
+ {78,-24}}, color={0,0,127}));
+ connect(addHeaCoo.y, yFanHeaCoo.u2) annotation (Line(points={{62,-60},{70,-60},
+ {70,-36},{78,-36}}, color={0,0,127}));
+ connect(yFanHeaCoo.y, switch.u1) annotation (Line(points={{102,-30},{116,-30},
{116,-52},{118,-52}}, color={0,0,127}));
+ connect(TDeaTSupSetMin.y, gai.u)
+ annotation (Line(points={{2,10},{8,10}}, color={0,0,127}));
+ connect(gai.y, addTDea.u)
+ annotation (Line(points={{32,10},{38,10}}, color={0,0,127}));
+ connect(dT.y, gai1.u)
+ annotation (Line(points={{-48,-120},{-42,-120}}, color={0,0,127}));
+ connect(gai1.y, yMed.u)
+ annotation (Line(points={{-18,-120},{-10,-120}}, color={0,0,127}));
+
annotation (
defaultComponentName = "setPoiVAV",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-120},{100,120}}),
@@ -503,12 +508,12 @@ annotation (
fillPattern=FillPattern.Solid,
textString="0.75 < yCoo < 1"),
Rectangle(
- extent={{-84,-100},{80,-138}},
+ extent={{-76,-100},{88,-138}},
lineColor={0,0,0},
fillColor={215,215,215},
fillPattern=FillPattern.Solid),
Text(
- extent={{28,-142},{64,-124}},
+ extent={{46,-142},{82,-124}},
textColor={0,0,0},
fillColor={215,215,215},
fillPattern=FillPattern.Solid,
@@ -525,7 +530,7 @@ annotation (
fillPattern=FillPattern.Solid,
textString="heating"),
Text(
- extent={{-82,-98},{88,-90}},
+ extent={{-74,-98},{96,-90}},
textColor={0,0,0},
fillColor={215,215,215},
fillPattern=FillPattern.Solid,
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/FreezeProtectionMixedAir.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/FreezeProtectionMixedAir.mo
index a43152052de..b8987f6396a 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/FreezeProtectionMixedAir.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/FreezeProtectionMixedAir.mo
@@ -56,9 +56,12 @@ protected
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant setPoi(final k=TFreSet)
"Set point for freeze protection"
annotation (Placement(transformation(extent={{-60,20},{-40,40}})));
- Buildings.Controls.OBC.CDL.Continuous.AddParameter yOut(final p=1, final k=-1)
+ Buildings.Controls.OBC.CDL.Continuous.Subtract yOut
"Freeze protection control signal inverter"
annotation (Placement(transformation(extent={{60,20},{80,40}})));
+ Buildings.Controls.OBC.CDL.Continuous.Sources.Constant one(
+ final k=1) "Constant 1"
+ annotation (Placement(transformation(extent={{20,60},{40,80}})));
equation
connect(con.u_s, setPoi.y)
@@ -69,8 +72,10 @@ equation
annotation (Line(points={{-120,0},{-10,0},{-10,18}}, color={0,0,127}));
connect(con.y, yFrePro) annotation (Line(points={{2,30},{30,30},{30,-30},{120,
-30}}, color={0,0,127}));
- connect(con.y, yOut.u) annotation (Line(points={{2,30},{30,30},{30,30},{58,30}},
- color={0,0,127}));
+ connect(con.y, yOut.u2) annotation (Line(points={{2,30},{30,30},{30,24},{58,
+ 24}}, color={0,0,127}));
+ connect(one.y, yOut.u1) annotation (Line(points={{42,70},{50,70},{50,36},{58,
+ 36}}, color={0,0,127}));
annotation (Dialog(
enable=controllerType == Buildings.Controls.OBC.CDL.Types.SimpleController.PI
or controllerType == Buildings.Controls.OBC.CDL.Types.SimpleController.PID),
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/GroupStatus.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/GroupStatus.mo
index 9bfb098a6f2..c5089d1a72d 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/GroupStatus.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/GroupStatus.mo
@@ -7,45 +7,48 @@ model GroupStatus
numZonGro=2,
zonGroMsk={true,false,true})
"Calculate zone group status"
- annotation (Placement(transformation(extent={{122,-58},{142,-18}})));
+ annotation (Placement(transformation(extent={{120,-60},{140,-20}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant warUpTim[3](
final k={1800,1700,1900})
"Warm-up time"
- annotation (Placement(transformation(extent={{-98,-28},{-78,-8}})));
+ annotation (Placement(transformation(extent={{-100,-30},{-80,-10}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooDowTim[3](
final k={1600,1700,1800})
"Cooling down time"
- annotation (Placement(transformation(extent={{-138,-8},{-118,12}})));
+ annotation (Placement(transformation(extent={{-140,-10},{-120,10}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta[3](
final width={0.3,0.2,0.1},
final period=fill(3600, 3),
final shift={150,130,120})
"Window status"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-46,-298})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-50,-300})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
final offset=0,
final height=6.2831852,
final duration=24*3600) "Block that generates ramp signal"
- annotation (Placement(transformation(extent={{-138,-218},{-118,-198}})));
+ annotation (Placement(transformation(extent={{-140,-220},{-120,-200}})));
Buildings.Controls.OBC.CDL.Continuous.Sin sin2
"Block that outputs the sine of the input"
- annotation (Placement(transformation(extent={{-98,-218},{-78,-198}})));
+ annotation (Placement(transformation(extent={{-100,-220},{-80,-200}})));
+ Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter gai(
+ final k=6)
+ "Current zone temperature"
+ annotation (Placement(transformation(extent={{-60,-220},{-40,-200}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter zonTem(
- final k=6,
final p=273.15 + 22.5)
"Current zone temperature"
- annotation (Placement(transformation(extent={{-58,-218},{-38,-198}})));
+ annotation (Placement(transformation(extent={{-20,-220},{0,-200}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant uOccOve[3](
final k=fill(false,3))
"Occupancy local override"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-130,180})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={70,180})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse zonOcc1(
final width=0.8,
final period=7200,
shift=1800)
"Zone 1 occupied status"
annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-90,160})));
- Buildings.Controls.OBC.CDL.Logical.Sources.Pulse zonOcc3(
+ Buildings.Controls.OBC.CDL.Logical.Sources.Pulse zonOcc3(
final width=0.8,
final period=7200,
shift=2100) "Zone 3 occupied status"
@@ -58,62 +61,60 @@ model GroupStatus
annotation (Placement(transformation(extent={{-20,130},{0,150}})));
Buildings.Controls.OBC.CDL.Logical.Timer tim3 "Time after input becomes true"
annotation (Placement(transformation(extent={{-20,10},{0,30}})));
- Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar1(
- final p=1800,
- final k=-1) "Time to occupied period"
+ Buildings.Controls.OBC.CDL.Continuous.Subtract addPar1
+ "Time to occupied period"
annotation (Placement(transformation(extent={{20,130},{40,150}})));
- Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar3(
- final p=2100,
- final k=-1) "Time to occupied period"
+ Buildings.Controls.OBC.CDL.Continuous.Subtract addPar3
+ "Time to occupied period"
annotation (Placement(transformation(extent={{20,10},{40,30}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse lowOccHea[3](
final width=fill(0.5, 3),
final period=fill(3600, 3),
final shift=fill(1000, 3)) "Lower than occupied heating setpoint"
annotation (Placement(transformation(extent={{-10,-10},{10,10}},
- origin={-128,-38})));
+ origin={-130,-40})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant higOccCoo[3](
final k=fill(false, 3))
"Higher than occupied cooling setpoint"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-88,-58})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-90,-60})));
Buildings.Controls.OBC.CDL.Logical.And and2[3]
"Lower than occupied heating setpoint when it is not occupied"
- annotation (Placement(transformation(extent={{-18,-48},{2,-28}})));
+ annotation (Placement(transformation(extent={{-20,-50},{0,-30}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse lowUnoHea1[3](
final width=fill(0.1, 3),
final period=fill(3600, 3))
"Lower than unoccupied heating setpoint"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-128,-78})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-130,-80})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant heaSetOff[3](
final k={285.15,282.15,283.15})
"Unoccupied heating setpoint"
- annotation (Placement(transformation(extent={{-98,-108},{-78,-88}})));
+ annotation (Placement(transformation(extent={{-100,-110},{-80,-90}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse endSetBac[3](
final width=fill(0.8, 3),
final period=fill(3600, 3),
final shift=fill(900, 3)) "End setback"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-128,-118})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-130,-120})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant higUnoCoo[3](
final k=fill(false, 3))
"HIgher than unoccupied cooling setpoint"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-88,-138})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-90,-140})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooSetOff[3](
final k={303.15,304.15,305.15})
"Unoccupied cooling setpoint"
- annotation (Placement(transformation(extent={{-138,-168},{-118,-148}})));
+ annotation (Placement(transformation(extent={{-140,-170},{-120,-150}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant endSetUp[3](
final k=fill(false,3))
"End setup mode"
- annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-88,-178})));
+ annotation (Placement(transformation(extent={{-10,-10},{10,10}}, origin={-90,-180})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse zonTem3(
final amplitude=7,
final period=600,
final offset=273.15 + 19) "Zone 3 temperature"
- annotation (Placement(transformation(extent={{-78,-278},{-58,-258}})));
+ annotation (Placement(transformation(extent={{-80,-280},{-60,-260}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant zonTem2(
final k=273.15 + 20)
"Zone 2 temperature"
- annotation (Placement(transformation(extent={{-118,-258},{-98,-238}})));
+ annotation (Placement(transformation(extent={{-120,-260},{-100,-240}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant zonOcc2(
final k=true)
"Zone 2 occupied status"
@@ -122,83 +123,96 @@ model GroupStatus
"Logical not"
annotation (Placement(transformation(extent={{-60,70},{-40,90}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant tNexOcc2(
- final k=0)
- "Zone 2 next occupancy time"
- annotation (Placement(transformation(extent={{20,60},{40,80}})));
+ final k=0) "Zone 2 next occupancy time"
+ annotation (Placement(transformation(extent={{40,60},{60,80}})));
+ Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con(
+ final k=1800)
+ "Constant"
+ annotation (Placement(transformation(extent={{-20,170},{0,190}})));
+ Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con1(
+ final k=2100)
+ "Constant"
+ annotation (Placement(transformation(extent={{-20,60},{0,80}})));
equation
connect(ramp2.y,sin2. u)
- annotation (Line(points={{-116,-208},{-100,-208}}, color={0,0,127}));
- connect(sin2.y, zonTem.u)
- annotation (Line(points={{-76,-208},{-60,-208}}, color={0,0,127}));
+ annotation (Line(points={{-118,-210},{-102,-210}}, color={0,0,127}));
connect(not1.y, tim1.u)
annotation (Line(points={{-38,140},{-22,140}}, color={255,0,255}));
connect(not3.y,tim3. u)
annotation (Line(points={{-38,20},{-22,20}}, color={255,0,255}));
- connect(tim1.y, addPar1.u)
- annotation (Line(points={{2,140},{18,140}}, color={0,0,127}));
- connect(tim3.y,addPar3. u)
- annotation (Line(points={{2,20},{18,20}}, color={0,0,127}));
- connect(uOccOve.y, zonGroSta.zonOcc) annotation (Line(points={{-118,180},{102,
- 180},{102,-19},{120,-19}}, color={255,0,255}));
- connect(zonOcc1.y, not1.u) annotation (Line(points={{-78,160},{-70,160},{-70,140},
+ connect(uOccOve.y, zonGroSta.zonOcc) annotation (Line(points={{82,180},{100,180},
+ {100,-21},{118,-21}}, color={255,0,255}));
+ connect(zonOcc1.y, not1.u) annotation (Line(points={{-78,160},{-72,160},{-72,140},
{-62,140}}, color={255,0,255}));
- connect(zonOcc3.y,not3. u) annotation (Line(points={{-78,40},{-70,40},{-70,20},
+ connect(zonOcc3.y,not3. u) annotation (Line(points={{-78,40},{-72,40},{-72,20},
{-62,20}}, color={255,0,255}));
- connect(zonOcc1.y, zonGroSta.uOcc[1]) annotation (Line(points={{-78,160},{100,
- 160},{100,-22.3333},{120,-22.3333}}, color={255,0,255}));
- connect(zonOcc3.y, zonGroSta.uOcc[3]) annotation (Line(points={{-78,40},{100,
- 40},{100,-36},{120,-36},{120,-19.6667}},
+ connect(zonOcc1.y, zonGroSta.uOcc[1]) annotation (Line(points={{-78,160},{98,
+ 160},{98,-24.3333},{118,-24.3333}}, color={255,0,255}));
+ connect(zonOcc3.y, zonGroSta.uOcc[3]) annotation (Line(points={{-78,40},{98,
+ 40},{98,-38},{118,-38},{118,-21.6667}},
color={255,0,255}));
connect(addPar1.y, zonGroSta.tNexOcc[1]) annotation (Line(points={{42,140},{
- 96,140},{96,-24.3333},{120,-24.3333}},
+ 94,140},{94,-26.3333},{118,-26.3333}},
color={0,0,127}));
- connect(addPar3.y, zonGroSta.tNexOcc[3]) annotation (Line(points={{42,20},{94,
- 20},{94,-21.6667},{120,-21.6667}}, color={0,0,127}));
- connect(cooDowTim.y, zonGroSta.uCooTim) annotation (Line(points={{-116,2},{92,
- 2},{92,-27},{120,-27}},color={0,0,127}));
- connect(warUpTim.y, zonGroSta.uWarTim) annotation (Line(points={{-76,-18},{90,
- -18},{90,-29},{120,-29}}, color={0,0,127}));
- connect(not1.y, and2[1].u2) annotation (Line(points={{-38,140},{-28,140},{-28,
- -46},{-20,-46}}, color={255,0,255}));
- connect(not3.y, and2[3].u2) annotation (Line(points={{-38,20},{-30,20},{-30,
- -46},{-20,-46}}, color={255,0,255}));
+ connect(addPar3.y, zonGroSta.tNexOcc[3]) annotation (Line(points={{42,20},{92,
+ 20},{92,-23.6667},{118,-23.6667}}, color={0,0,127}));
+ connect(cooDowTim.y, zonGroSta.uCooTim) annotation (Line(points={{-118,0},{90,
+ 0},{90,-29},{118,-29}},color={0,0,127}));
+ connect(warUpTim.y, zonGroSta.uWarTim) annotation (Line(points={{-78,-20},{88,
+ -20},{88,-31},{118,-31}}, color={0,0,127}));
+ connect(not1.y, and2[1].u2) annotation (Line(points={{-38,140},{-34,140},{-34,
+ -48},{-22,-48}}, color={255,0,255}));
+ connect(not3.y, and2[3].u2) annotation (Line(points={{-38,20},{-30,20},{-30,-48},
+ {-22,-48}}, color={255,0,255}));
connect(lowOccHea.y, and2.u1)
- annotation (Line(points={{-116,-38},{-20,-38}}, color={255,0,255}));
- connect(and2.y, zonGroSta.uOccHeaHig) annotation (Line(points={{4,-38},{22,
- -38},{22,-33},{120,-33}}, color={255,0,255}));
- connect(higOccCoo.y, zonGroSta.uHigOccCoo) annotation (Line(points={{-76,-58},
- {24,-58},{24,-35},{120,-35}}, color={255,0,255}));
- connect(lowUnoHea1.y, zonGroSta.uUnoHeaHig) annotation (Line(points={{-116,
- -78},{26,-78},{26,-39},{120,-39}}, color={255,0,255}));
- connect(heaSetOff.y, zonGroSta.THeaSetOff) annotation (Line(points={{-76,-98},
- {28,-98},{28,-41},{120,-41}}, color={0,0,127}));
- connect(endSetBac.y, zonGroSta.uEndSetBac) annotation (Line(points={{-116,
- -118},{30,-118},{30,-43},{120,-43}}, color={255,0,255}));
- connect(higUnoCoo.y, zonGroSta.uHigUnoCoo) annotation (Line(points={{-76,-138},
- {32,-138},{32,-47},{120,-47}}, color={255,0,255}));
- connect(cooSetOff.y, zonGroSta.TCooSetOff) annotation (Line(points={{-116,
- -158},{34,-158},{34,-49},{120,-49}}, color={0,0,127}));
- connect(endSetUp.y, zonGroSta.uEndSetUp) annotation (Line(points={{-76,-178},
- {36,-178},{36,-51},{120,-51}}, color={255,0,255}));
- connect(zonTem.y, zonGroSta.TZon[1]) annotation (Line(points={{-36,-208},{38,
- -208},{38,-56.3333},{120,-56.3333}},
+ annotation (Line(points={{-118,-40},{-22,-40}}, color={255,0,255}));
+ connect(and2.y, zonGroSta.uOccHeaHig) annotation (Line(points={{2,-40},{20,-40},
+ {20,-35},{118,-35}}, color={255,0,255}));
+ connect(higOccCoo.y, zonGroSta.uHigOccCoo) annotation (Line(points={{-78,-60},
+ {22,-60},{22,-37},{118,-37}}, color={255,0,255}));
+ connect(lowUnoHea1.y, zonGroSta.uUnoHeaHig) annotation (Line(points={{-118,-80},
+ {24,-80},{24,-41},{118,-41}}, color={255,0,255}));
+ connect(heaSetOff.y, zonGroSta.THeaSetOff) annotation (Line(points={{-78,-100},
+ {26,-100},{26,-43},{118,-43}},color={0,0,127}));
+ connect(endSetBac.y, zonGroSta.uEndSetBac) annotation (Line(points={{-118,-120},
+ {28,-120},{28,-45},{118,-45}}, color={255,0,255}));
+ connect(higUnoCoo.y, zonGroSta.uHigUnoCoo) annotation (Line(points={{-78,-140},
+ {30,-140},{30,-49},{118,-49}}, color={255,0,255}));
+ connect(cooSetOff.y, zonGroSta.TCooSetOff) annotation (Line(points={{-118,-160},
+ {32,-160},{32,-51},{118,-51}}, color={0,0,127}));
+ connect(endSetUp.y, zonGroSta.uEndSetUp) annotation (Line(points={{-78,-180},{
+ 34,-180},{34,-53},{118,-53}}, color={255,0,255}));
+ connect(zonTem.y, zonGroSta.TZon[1]) annotation (Line(points={{2,-210},{36,
+ -210},{36,-58.3333},{118,-58.3333}},
color={0,0,127}));
- connect(zonTem3.y, zonGroSta.TZon[3]) annotation (Line(points={{-56,-268},{
- 106,-268},{106,-58},{120,-58},{120,-53.6667}},
+ connect(zonTem3.y, zonGroSta.TZon[3]) annotation (Line(points={{-58,-270},{
+ 104,-270},{104,-60},{118,-60},{118,-55.6667}},
color={0,0,127}));
- connect(winSta.y, zonGroSta.uWin) annotation (Line(points={{-34,-298},{120,
- -298},{120,-57}}, color={255,0,255}));
- connect(zonTem2.y, zonGroSta.TZon[2]) annotation (Line(points={{-96,-248},{82,
- -248},{82,-58},{120,-58},{120,-55}}, color={0,0,127}));
- connect(zonOcc2.y, not2.u) annotation (Line(points={{-78,100},{-70,100},{-70,
- 80},{-62,80}}, color={255,0,255}));
- connect(not2.y, and2[2].u2) annotation (Line(points={{-38,80},{-28,80},{-28,
- -46},{-20,-46}}, color={255,0,255}));
- connect(zonOcc2.y, zonGroSta.uOcc[2]) annotation (Line(points={{-78,100},{100,
- 100},{100,-21},{120,-21}}, color={255,0,255}));
- connect(tNexOcc2.y, zonGroSta.tNexOcc[2]) annotation (Line(points={{42,70},{
- 96,70},{96,-23},{120,-23}}, color={0,0,127}));
+ connect(winSta.y, zonGroSta.uWin) annotation (Line(points={{-38,-300},{118,-300},
+ {118,-59}}, color={255,0,255}));
+ connect(zonTem2.y, zonGroSta.TZon[2]) annotation (Line(points={{-98,-250},{80,
+ -250},{80,-60},{118,-60},{118,-57}}, color={0,0,127}));
+ connect(zonOcc2.y, not2.u) annotation (Line(points={{-78,100},{-72,100},{-72,80},
+ {-62,80}}, color={255,0,255}));
+ connect(not2.y, and2[2].u2) annotation (Line(points={{-38,80},{-26,80},{-26,-48},
+ {-22,-48}}, color={255,0,255}));
+ connect(zonOcc2.y, zonGroSta.uOcc[2]) annotation (Line(points={{-78,100},{98,100},
+ {98,-23},{118,-23}}, color={255,0,255}));
+ connect(tNexOcc2.y, zonGroSta.tNexOcc[2]) annotation (Line(points={{62,70},{94,
+ 70},{94,-25},{118,-25}}, color={0,0,127}));
+ connect(con.y, addPar1.u1) annotation (Line(points={{2,180},{10,180},{10,146},
+ {18,146}}, color={0,0,127}));
+ connect(tim1.y, addPar1.u2) annotation (Line(points={{2,140},{10,140},{10,134},
+ {18,134}}, color={0,0,127}));
+ connect(con1.y, addPar3.u1) annotation (Line(points={{2,70},{10,70},{10,26},{18,
+ 26}}, color={0,0,127}));
+ connect(tim3.y, addPar3.u2) annotation (Line(points={{2,20},{10,20},{10,14},{18,
+ 14}}, color={0,0,127}));
+ connect(sin2.y, gai.u)
+ annotation (Line(points={{-78,-210},{-62,-210}}, color={0,0,127}));
+ connect(gai.y, zonTem.u)
+ annotation (Line(points={{-38,-210},{-22,-210}}, color={0,0,127}));
annotation (
experiment(StopTime=3600, Tolerance=1e-6),
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/OperationMode.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/OperationMode.mo
index 6a171454de1..e6a095fbcf3 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/OperationMode.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/OperationMode.mo
@@ -13,11 +13,13 @@ model OperationMode "Validate block for selecting operation mode"
annotation (Placement(transformation(extent={{-140,40},{-120,60}})));
Buildings.Controls.OBC.CDL.Continuous.Sin sin1
"Block that outputs the sine of the input"
- annotation (Placement(transformation(extent={{-100,40},{-80,60}})));
+ annotation (Placement(transformation(extent={{-110,40},{-90,60}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter zonTem(
- final k=14.5,
final p=295.65) "Zone temperarure"
- annotation (Placement(transformation(extent={{-60,40},{-40,60}})));
+ annotation (Placement(transformation(extent={{-50,40},{-30,60}})));
+ Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter gai(
+ final k=14.5) "Gain factor"
+ annotation (Placement(transformation(extent={{-80,40},{-60,60}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonHeaSetUno(
final k=285.15) "Unoccupied heating setpoint"
annotation (Placement(transformation(extent={{-100,-40},{-80,-20}})));
@@ -76,34 +78,32 @@ model OperationMode "Validate block for selecting operation mode"
equation
connect(ramp1.y, sin1.u)
- annotation (Line(points={{-118,50},{-102,50}}, color={0,0,127}));
- connect(sin1.y,zonTem. u)
- annotation (Line(points={{-78,50},{-62,50}}, color={0,0,127}));
+ annotation (Line(points={{-118,50},{-112,50}}, color={0,0,127}));
connect(cooDowTim.y, opeModSel.maxCooDowTim) annotation (Line(points={{-118,130},
{30,130},{30,110},{118,110}}, color={0,0,127}));
connect(warUpTim.y, opeModSel.maxWarUpTim) annotation (Line(points={{-78,110},
{-60,110},{-60,106},{118,106}}, color={0,0,127}));
connect(TZonHeaSetOcc.y, lowThaHeaSet.u1)
annotation (Line(points={{-118,80},{-2,80}}, color={0,0,127}));
- connect(zonTem.y, lowThaHeaSet.u2) annotation (Line(points={{-38,50},{-20,50},
+ connect(zonTem.y, lowThaHeaSet.u2) annotation (Line(points={{-28,50},{-20,50},
{-20,72},{-2,72}}, color={0,0,127}));
- connect(zonTem.y, higThaCooSet.u1) annotation (Line(points={{-38,50},{-20,50},
+ connect(zonTem.y, higThaCooSet.u1) annotation (Line(points={{-28,50},{-20,50},
{-20,30},{-2,30}}, color={0,0,127}));
connect(TZonCooSetOcc.y, higThaCooSet.u2) annotation (Line(points={{-78,20},{-40,
20},{-40,22},{-2,22}}, color={0,0,127}));
connect(TZonHeaSetUno.y, greEqu2.u1)
annotation (Line(points={{-78,-30},{-2,-30}}, color={0,0,127}));
- connect(zonTem.y, greEqu2.u2) annotation (Line(points={{-38,50},{-20,50},{-20,
+ connect(zonTem.y, greEqu2.u2) annotation (Line(points={{-28,50},{-20,50},{-20,
-38},{-2,-38}}, color={0,0,127}));
connect(greEqu2.y, booToInt.u)
annotation (Line(points={{22,-30},{38,-30}}, color={255,0,255}));
connect(booToInt.y, opeModSel.totColZon) annotation (Line(points={{62,-30},{76,
-30},{76,100},{118,100}}, color={255,127,0}));
- connect(zonTem.y, opeModSel.TZonMax) annotation (Line(points={{-38,50},{58,50},
+ connect(zonTem.y, opeModSel.TZonMax) annotation (Line(points={{-28,50},{58,50},
{58,94},{118,94}}, color={0,0,127}));
- connect(zonTem.y, opeModSel.TZonMin) annotation (Line(points={{-38,50},{64,50},
+ connect(zonTem.y, opeModSel.TZonMin) annotation (Line(points={{-28,50},{64,50},
{64,92},{118,92}}, color={0,0,127}));
- connect(zonTem.y, greEqu3.u1) annotation (Line(points={{-38,50},{-20,50},{-20,
+ connect(zonTem.y, greEqu3.u1) annotation (Line(points={{-28,50},{-20,50},{-20,
-100},{-2,-100}}, color={0,0,127}));
connect(TZonCooSetUno.y, greEqu3.u2) annotation (Line(points={{-78,-100},{-40,
-100},{-40,-108},{-2,-108}}, color={0,0,127}));
@@ -125,7 +125,7 @@ equation
{30,-10},{70,-10},{70,98},{118,98}}, color={255,0,255}));
connect(greEqu3.y, opeModSel.uSetUp) annotation (Line(points={{22,-100},{30,-100},
{30,-80},{94,-80},{94,88},{118,88}}, color={255,0,255}));
- connect(zonTem.y, sub3.u1) annotation (Line(points={{-38,50},{-20,50},{-20,-54},
+ connect(zonTem.y, sub3.u1) annotation (Line(points={{-28,50},{-20,50},{-20,-54},
{-2,-54}}, color={0,0,127}));
connect(TZonHeaSetUno.y, sub3.u2) annotation (Line(points={{-78,-30},{-40,-30},
{-40,-66},{-2,-66}}, color={0,0,127}));
@@ -137,11 +137,19 @@ equation
annotation (Line(points={{22,-140},{38,-140}}, color={0,0,127}));
connect(hys1.y, opeModSel.uEndSetUp) annotation (Line(points={{62,-140},{100,-140},
{100,86},{118,86}}, color={255,0,255}));
-
+ connect(zonTem.y, sub1.u2) annotation (Line(points={{-28,50},{-20,50},{-20,-146},
+ {-2,-146}}, color={0,0,127}));
+ connect(TZonCooSetUno.y, sub1.u1) annotation (Line(points={{-78,-100},{-40,-100},
+ {-40,-134},{-2,-134}}, color={0,0,127}));
+ connect(sin1.y, gai.u)
+ annotation (Line(points={{-88,50},{-82,50}}, color={0,0,127}));
+ connect(gai.y, zonTem.u)
+ annotation (Line(points={{-58,50},{-52,50}}, color={0,0,127}));
connect(zonTem.y, sub1.u2) annotation (Line(points={{-38,50},{-20,50},{-20,-146},
{-2,-146}}, color={0,0,127}));
connect(TZonCooSetUno.y, sub1.u1) annotation (Line(points={{-78,-100},{-40,-100},
{-40,-134},{-2,-134}}, color={0,0,127}));
+
annotation (
experiment(StopTime=172800, Tolerance=1e-06),
__Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/OperationMode.mos"
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/ZoneStatus.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/ZoneStatus.mo
index ad939a829e2..74cc38a40e9 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/ZoneStatus.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/Generic/SetPoints/Validation/ZoneStatus.mo
@@ -29,12 +29,15 @@ model ZoneStatus
annotation (Placement(transformation(extent={{-100,-50},{-80,-30}})));
Buildings.Controls.OBC.CDL.Continuous.Sin sin2
"Block that outputs the sine of the input"
- annotation (Placement(transformation(extent={{-60,-50},{-40,-30}})));
+ annotation (Placement(transformation(extent={{-70,-50},{-50,-30}})));
+ Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter gai(
+ final k=12.5)
+ "Gain factor"
+ annotation (Placement(transformation(extent={{-40,-50},{-20,-30}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter zonTem(
- final k=12.5,
final p=273.15 + 22.5)
"Current zone temperature"
- annotation (Placement(transformation(extent={{-20,-50},{0,-30}})));
+ annotation (Placement(transformation(extent={{-10,-50},{10,-30}})));
equation
connect(cooDowTim.y, noWinZonSta.cooDowTim) annotation (Line(points={{-58,60},
@@ -42,19 +45,21 @@ equation
connect(warUpTim.y, noWinZonSta.warUpTim) annotation (Line(points={{-58,20},{-14,
20},{-14,78},{58,78}}, color={0,0,127}));
connect(ramp2.y,sin2. u)
- annotation (Line(points={{-78,-40},{-62,-40}}, color={0,0,127}));
- connect(sin2.y, zonTem.u)
- annotation (Line(points={{-38,-40},{-22,-40}},color={0,0,127}));
- connect(zonTem.y, noWinZonSta.TZon) annotation (Line(points={{2,-40},{20,-40},
+ annotation (Line(points={{-78,-40},{-72,-40}}, color={0,0,127}));
+ connect(zonTem.y, noWinZonSta.TZon) annotation (Line(points={{12,-40},{20,-40},
{20,66},{58,66}}, color={0,0,127}));
connect(cooDowTim.y, witWinZonSta.cooDowTim) annotation (Line(points={{-58,60},
{-20,60},{-20,2},{58,2}}, color={0,0,127}));
connect(warUpTim.y, witWinZonSta.warUpTim) annotation (Line(points={{-58,20},{
-14,20},{-14,-2},{58,-2}}, color={0,0,127}));
- connect(zonTem.y, witWinZonSta.TZon) annotation (Line(points={{2,-40},{20,-40},
+ connect(zonTem.y, witWinZonSta.TZon) annotation (Line(points={{12,-40},{20,-40},
{20,-14},{58,-14}},color={0,0,127}));
connect(uWinSta.y, witWinZonSta.uWin) annotation (Line(points={{2,-80},{40,-80},
{40,-10},{58,-10}}, color={255,0,255}));
+ connect(sin2.y, gai.u)
+ annotation (Line(points={{-48,-40},{-42,-40}}, color={0,0,127}));
+ connect(gai.y, zonTem.u)
+ annotation (Line(points={{-18,-40},{-12,-40}}, color={0,0,127}));
annotation (
experiment(StopTime=86400, Tolerance=1e-6),
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/DamperValves.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/DamperValves.mo
index 8957d742546..588eb23cf12 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/DamperValves.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/DamperValves.mo
@@ -272,12 +272,10 @@ protected
final k=0.5) "Constant real value"
annotation (Placement(transformation(extent={{-260,-340},{-240,-320}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar(
- final p=dTDisZonSetMax,
- final k=1)
+ final p=dTDisZonSetMax)
"Maximum heating discharge temperature"
annotation (Placement(transformation(extent={{-260,-70},{-240,-50}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar1(
- final k=1,
final p=2.8)
"Zone temperature pluTZonSets 2.8 degC"
annotation (Placement(transformation(extent={{-260,-260},{-240,-240}})));
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/SystemRequests.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/SystemRequests.mo
index 584b77627bf..f57fee6dcb0 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/SystemRequests.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/Reheat/SystemRequests.mo
@@ -233,12 +233,10 @@ protected
"Calculate difference of discharge temperature (plus errTDis_2) and its setpoint"
annotation (Placement(transformation(extent={{-80,-310},{-60,-290}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar(
- final k=1,
final p=errTDis_1) if have_heaWatCoi
"Discharge temperature plus errTDis_1"
annotation (Placement(transformation(extent={{-140,-272},{-120,-252}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar1(
- final k=1,
final p=errTDis_2) if have_heaWatCoi
"Discharge temperature plus errTDis_2"
annotation (Placement(transformation(extent={{-140,-330},{-120,-310}})));
diff --git a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/SetPoints/ZoneTemperatures.mo b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/SetPoints/ZoneTemperatures.mo
index fb30746b229..8091ccfb74a 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/SetPoints/ZoneTemperatures.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36_PR1/TerminalUnits/SetPoints/ZoneTemperatures.mo
@@ -175,18 +175,15 @@ block ZoneTemperatures
Buildings.Controls.OBC.CDL.Logical.Not not1 "Logic not"
annotation (Placement(transformation(extent={{0,140},{20,160}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar3(
- final p=incTSetDem_3,
- final k=1)
+ final p=incTSetDem_3)
"Increase setpoint by 2.2 degC"
annotation (Placement(transformation(extent={{40,20},{60,40}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar1(
- final p=incTSetDem_2,
- final k=1)
+ final p=incTSetDem_2)
"Increase setpoint by 1.1 degC"
annotation (Placement(transformation(extent={{40,60},{60,80}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar2(
- final p=incTSetDem_1,
- final k=1)
+ final p=incTSetDem_1)
"Increase setpoint by 0.56 degC"
annotation (Placement(transformation(extent={{40,100},{60,120}})));
Buildings.Controls.OBC.CDL.Continuous.Multiply pro6
@@ -212,17 +209,14 @@ block ZoneTemperatures
"Output product of the two inputs"
annotation (Placement(transformation(extent={{80,-80},{100,-60}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar6(
- final k=1,
final p=-decTSetDem_1)
"Decrease setpoint by 0.56 degC"
annotation (Placement(transformation(extent={{40,-120},{60,-100}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar5(
- final k=1,
final p=-decTSetDem_2)
"Decrease setpoint by 1.1 degC"
annotation (Placement(transformation(extent={{40,-160},{60,-140}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar4(
- final k=1,
final p=-decTSetDem_3)
"Decrease setpoint by 2.2 degC"
annotation (Placement(transformation(extent={{40,-200},{60,-180}})));
@@ -245,13 +239,11 @@ block ZoneTemperatures
"Instant when the zone becomes more than 5 minutes"
annotation (Placement(transformation(extent={{-40,-280},{-20,-260}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter heaSetDec(
- p=-1.1,
- final k=1)
+ final p=-1.1)
"Heating setpoint decrease due to the 5 minutes unpopulation under occupied mode"
annotation (Placement(transformation(extent={{100,-320},{120,-300}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter cooSetInc(
- p=1.1,
- final k=1)
+ final p=1.1)
"Heating setpoint increase due to the 5 minutes unpopulation under occupied mode"
annotation (Placement(transformation(extent={{100,-280},{120,-260}})));
Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler cooSetSam
@@ -275,8 +267,7 @@ block ZoneTemperatures
"Limit occupied zone heating setpoint"
annotation (Placement(transformation(extent={{-240,-590},{-220,-570}})));
Buildings.Controls.OBC.CDL.Continuous.AddParameter addPar(
- p=-0.56,
- final k=1)
+ final p=-0.56)
"Cooling setpoint minus 0.56 degC"
annotation (Placement(transformation(extent={{160,-590},{180,-570}})));
diff --git a/Buildings/Controls/OBC/CDL/Continuous/Add.mo b/Buildings/Controls/OBC/CDL/Continuous/Add.mo
index f07103f1d0a..89e21032f5a 100644
--- a/Buildings/Controls/OBC/CDL/Continuous/Add.mo
+++ b/Buildings/Controls/OBC/CDL/Continuous/Add.mo
@@ -22,7 +22,7 @@ Block that outputs y
as the sum of the
two input signals u1
and u2
,
- y = u1 + u2
+ y = u1 + u2.