From 1ad157927168a64ac1a1b0a277400a729276107c Mon Sep 17 00:00:00 2001
From: Casper Fu <91219266+hcasperfu@users.noreply.github.com>
Date: Wed, 30 Aug 2023 22:23:47 -0700
Subject: [PATCH] Issue2465 remove and3 (#3490)
* moved Add3 and validation to Obsolete, updated revision log, added obsolete markings
---
.../Subsequences/Limits/SeparateWithDP.mo | 38 ++++--
.../VAV/Economizers/Subsequences/Enable.mo | 33 +++--
.../VAV/Economizers/Subsequences/Limits.mo | 27 ++--
.../CoolingOnly/Subsequences/Alarms.mo | 32 +++--
.../Subsequences/Alarms.mo | 57 ++++++---
.../Subsequences/Alarms.mo | 28 +++--
.../Subsequences/Alarms.mo | 57 ++++++---
.../DualDuctSnapActing/Subsequences/Alarms.mo | 82 +++++++-----
.../ParallelFanCVF/Subsequences/Alarms.mo | 114 ++++++++++-------
.../ParallelFanVVF/Subsequences/Alarms.mo | 118 +++++++++++-------
.../Reheat/Subsequences/Alarms.mo | 57 ++++++---
.../SeriesFanCVF/Subsequences/Alarms.mo | 118 +++++++++++-------
.../SeriesFanVVF/Subsequences/Alarms.mo | 118 +++++++++++-------
.../OBC/CDL/Logical/Validation/package.order | 1 -
.../Controls/OBC/CDL/Logical/package.order | 1 -
.../Controls/BaseClasses/ModeCondenserLoop.mo | 33 +++--
.../VAV/Economizers/Subsequences/Enable.mo | 2 +-
.../VAV/Economizers/Subsequences/Limits.mo | 2 +-
.../Controls/OBC/CDL/Logical/And3.mo | 18 ++-
.../OBC/CDL/Logical/Validation/And3.mo | 15 ++-
.../OBC/CDL/Logical/Validation/package.order | 1 +
.../Controls/OBC/CDL/Logical/package.order | 1 +
...trols_OBC_CDL_Logical_Validation_And3.txt} | 0
.../ConvertBuildings_from_9_to_10.0.0.mos | 6 +
.../OBC/CDL/Logical/Validation/And3.mos | 2 +-
...trols.OBC.CDL.Logical.Validation.And3.mos} | 0
.../Examples/BaseClasses/CoolingCoilValve.mo | 33 +++--
Buildings/package.mo | 59 ++++++++-
28 files changed, 698 insertions(+), 355 deletions(-)
rename Buildings/{ => Obsolete}/Controls/OBC/CDL/Logical/And3.mo (80%)
rename Buildings/{ => Obsolete}/Controls/OBC/CDL/Logical/Validation/And3.mo (75%)
rename Buildings/Resources/ReferenceResults/Dymola/{Buildings_Controls_OBC_CDL_Logical_Validation_And3.txt => Buildings_Obsolete_Controls_OBC_CDL_Logical_Validation_And3.txt} (100%)
rename Buildings/Resources/Scripts/Dymola/{ => Obsolete}/Controls/OBC/CDL/Logical/Validation/And3.mos (55%)
rename Buildings/Resources/Scripts/OpenModelica/compareVars/{Buildings.Controls.OBC.CDL.Logical.Validation.And3.mos => Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.And3.mos} (100%)
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Economizers/Subsequences/Limits/SeparateWithDP.mo b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Economizers/Subsequences/Limits/SeparateWithDP.mo
index 92a492594b1..02e8d2bc305 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Economizers/Subsequences/Limits/SeparateWithDP.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Economizers/Subsequences/Limits/SeparateWithDP.mo
@@ -201,8 +201,11 @@ protected
Buildings.Controls.OBC.CDL.Integers.Equal intEqu
"Check if operation mode is occupied"
annotation (Placement(transformation(extent={{-160,20},{-140,40}})));
- Buildings.Controls.OBC.CDL.Logical.And3 enaMinDam
- "Check if the minimum outdoor air damper should be enabled"
+ Buildings.Controls.OBC.CDL.Logical.And enaMinDam1
+ "Check if the minimum outdoor air damper should be enabled, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,60},{-80,80}})));
+ Buildings.Controls.OBC.CDL.Logical.And enaMinDam2
+ "Check if the minimum outdoor air damper should be enabled, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-40,60},{-20,80}})));
Buildings.Controls.OBC.CDL.Reals.Sources.Constant one(
final k=1) "Constant"
@@ -315,24 +318,20 @@ equation
{-42,-98}}, color={0,0,127}));
connect(moaP.y, gai.u) annotation (Line(points={{-98,-90},{-90,-90},{-90,-120},
{-82,-120}}, color={0,0,127}));
- connect(enaMinDam.y, enaRetDamMin.u1) annotation (Line(points={{-18,70},{-10,70},
- {-10,10},{38,10}}, color={255,0,255}));
+ connect(enaMinDam2.y, enaRetDamMin.u1) annotation (Line(points={{-18,70},{-10,
+ 70},{-10,10},{38,10}}, color={255,0,255}));
connect(les.y, enaRetDamMin.u2) annotation (Line(points={{-18,-30},{10,-30},{10,
2},{38,2}}, color={255,0,255}));
connect(enaRetDamMin.y, enaDis.u)
annotation (Line(points={{62,10},{78,10}}, color={255,0,255}));
- connect(enaMinDam.y, disMinDam.u) annotation (Line(points={{-18,70},{-10,70},{
- -10,-60},{-2,-60}}, color={255,0,255}));
+ connect(enaMinDam2.y, disMinDam.u) annotation (Line(points={{-18,70},{-10,70},
+ {-10,-60},{-2,-60}}, color={255,0,255}));
connect(disMinDam.y, disRetDamMin.u1)
annotation (Line(points={{22,-60},{38,-60}}, color={255,0,255}));
connect(gre.y, disRetDamMin.u2) annotation (Line(points={{-18,-90},{30,-90},{30,
-68},{38,-68}},color={255,0,255}));
connect(disRetDamMin.y, enaDis.clr) annotation (Line(points={{62,-60},{70,-60},
{70,4},{78,4}}, color={255,0,255}));
- connect(greThr.y, enaMinDam.u1) annotation (Line(points={{-58,150},{-50,150},{
- -50,78},{-42,78}}, color={255,0,255}));
- connect(intEqu.y, enaMinDam.u3) annotation (Line(points={{-138,30},{-60,30},{-60,
- 62},{-42,62}}, color={255,0,255}));
connect(minDp.y, maxRetDam.u_s) annotation (Line(points={{-98,170},{118,170}},
color={0,0,127}));
connect(dpMinOutDam, maxRetDam.u_m)
@@ -361,10 +360,8 @@ equation
annotation (Line(points={{-178,-170},{240,-170}}, color={0,0,127}));
connect(outDamPhyPosMaxSig.y, yOutDam_max)
annotation (Line(points={{-178,-210},{240,-210}}, color={0,0,127}));
- connect(enaMinDam.y, y1MinOutDam)
+ connect(enaMinDam2.y, y1MinOutDam)
annotation (Line(points={{-18,70},{240,70}}, color={255,0,255}));
- connect(u1SupFan, enaMinDam.u2)
- annotation (Line(points={{-240,70},{-42,70}}, color={255,0,255}));
connect(effAbsOutAir_normalized, pro1.u1) annotation (Line(points={{-240,300},
{-200,300},{-200,306},{-182,306}}, color={0,0,127}));
connect(effAbsOutAir_normalized, pro1.u2) annotation (Line(points={{-240,300},
@@ -401,6 +398,14 @@ equation
170},{-90,170},{-90,150},{-82,150}}, color={0,0,127}));
connect(one2.y, minDp1.u) annotation (Line(points={{-98,250},{-80,250},{-80,270},
{18,270}}, color={0,0,127}));
+ connect(intEqu.y, enaMinDam1.u2) annotation (Line(points={{-138,30},{-112,30},
+ {-112,62},{-102,62}}, color={255,0,255}));
+ connect(u1SupFan, enaMinDam1.u1)
+ annotation (Line(points={{-240,70},{-102,70}}, color={255,0,255}));
+ connect(greThr.y, enaMinDam2.u1) annotation (Line(points={{-58,150},{-52,150},
+ {-52,70},{-42,70}}, color={255,0,255}));
+ connect(enaMinDam1.y, enaMinDam2.u2) annotation (Line(points={{-78,70},{-60,70},
+ {-60,62},{-42,62}}, color={255,0,255}));
annotation (
defaultComponentName="ecoLim",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
@@ -552,6 +557,13 @@ point.
revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
index ec4083d4981..902628dd8e8 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
@@ -108,9 +108,12 @@ block Enable
annotation (Placement(transformation(extent={{180,-260},{220,-220}}),
iconTransformation(extent={{100,-80},{140,-40}})));
- Buildings.Controls.OBC.CDL.Logical.And3 andEnaDis
+ Buildings.Controls.OBC.CDL.Logical.And andFrePro
+ "Logical and that checks freeze protection stage"
+ annotation (Placement(transformation(extent={{-10,30},{10,50}})));
+ Buildings.Controls.OBC.CDL.Logical.And andEnaDis
"Logical and that checks freeze protection stage and zone state"
- annotation (Placement(transformation(extent={{40,30},{60,50}})));
+ annotation (Placement(transformation(extent={{40,30},{60,50}})));
Buildings.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol(
trueHoldDuration=600) "10 min on/off delay"
annotation (Placement(transformation(extent={{120,210},{140,230}})));
@@ -209,16 +212,13 @@ equation
{-60,-132},{38,-132}}, color={0,0,127}));
connect(uOutDam_max, maxOutDam.u3) annotation (Line(points={{-200,-130},{-80,-130},
{-80,-148},{38,-148}}, color={0,0,127}));
- connect(andEnaDis.y, not2.u)
- annotation (Line(points={{62,40},{72,40},{72,-20},{-20,-20},{-20,-60},{-12,-60}},
- color={255,0,255}));
+ connect(andEnaDis.y, not2.u) annotation (Line(points={{62,40},{72,40},{72,-20},
+ {-20,-20},{-20,-60},{-12,-60}}, color={255,0,255}));
connect(minRetDam.y, yRetDam_min)
annotation (Line(points={{62,-240},{200,-240}}, color={0,0,127}));
connect(truFalHol.y, and1.u1)
annotation (Line(points={{142,220},{164,220},{164,130},{-26,130},{-26,110},{2,110}},
color={255,0,255}));
- connect(and1.y, andEnaDis.u1)
- annotation (Line(points={{26,110},{30,110},{30,48},{38,48}}, color={255,0,255}));
connect(u1SupFan, and1.u2) annotation (Line(points={{-200,110},{-102,110},{-102,
102},{2,102}}, color={255,0,255}));
connect(retDamPhyMax.y, minRetDam.u1) annotation (Line(points={{-118,-210},
@@ -241,10 +241,6 @@ equation
annotation (Line(points={{-200,0},{-82,0}}, color={255,127,0}));
connect(uFreProSta, intEqu.u1)
annotation (Line(points={{-200,60},{-82,60}}, color={255,127,0}));
- connect(intEqu.y, andEnaDis.u2)
- annotation (Line(points={{-58,60},{-10,60},{-10,40},{38,40}}, color={255,0,255}));
- connect(not3.y, andEnaDis.u3)
- annotation (Line(points={{-22,0},{8,0},{8,32},{38,32}}, color={255,0,255}));
connect(hysOutTem.y, or2.u1)
annotation (Line(points={{-78,250},{-20,250},{-20,220},{38,220}},
color={255,0,255}));
@@ -254,6 +250,14 @@ equation
{38,212}}, color={255,0,255}));
connect(or2.y, truFalHol.u) annotation (Line(points={{62,220},{118,220}},
color={255,0,255}));
+ connect(not3.y, andFrePro.u2) annotation (Line(points={{-22,0},{-16,0},{-16,
+ 32},{-12,32}}, color={255,0,255}));
+ connect(andFrePro.u1, intEqu.y) annotation (Line(points={{-12,40},{-48,40},{-48,
+ 60},{-58,60}}, color={255,0,255}));
+ connect(and1.y, andEnaDis.u1) annotation (Line(points={{26,110},{32,110},{32,
+ 40},{38,40}}, color={255,0,255}));
+ connect(andEnaDis.u2, andFrePro.y) annotation (Line(points={{38,32},{20,32},{
+ 20,40},{12,40}}, color={255,0,255}));
annotation (
defaultComponentName = "enaDis",
Icon(graphics={
@@ -381,6 +385,13 @@ src=\"modelica://Buildings/Resources/Images/Controls/OBC/ASHRAE/G36/AHUs/SingleZ
", revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
Updated according to ASHRAE G36, May 2020.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
index 196b45631cc..1f4cedf30d8 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
@@ -184,7 +184,9 @@ protected
annotation (Placement(transformation(extent={{-140,-160},{-120,-140}})));
Buildings.Controls.OBC.CDL.Integers.Equal intEqu1 "Check if operation mode is occupied"
annotation (Placement(transformation(extent={{-100,-140},{-80,-120}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and3 "Logical and"
+ Buildings.Controls.OBC.CDL.Logical.And and1 "Logical and"
+ annotation (Placement(transformation(extent={{-70,-120},{-50,-100}})));
+ Buildings.Controls.OBC.CDL.Logical.And and2 "Logical and"
annotation (Placement(transformation(extent={{-60,-80},{-40,-60}})));
Buildings.Controls.OBC.CDL.Reals.Switch enaDis2
"Zero minimum damper position when the min OA is near zero"
@@ -253,13 +255,7 @@ equation
annotation (Line(points={{-102,-98},{-110,-98},{-110,-110},{-118,-110}}, color={255,127,0}));
connect(uFreProSta, intLesEqu.u1)
annotation (Line(points={{-180,-90},{-102,-90}}, color={255,127,0}));
- connect(u1SupFan, and3.u1) annotation (Line(points={{-180,-40},{-80,-40},{-80,
- -62},{-62,-62}}, color={255,0,255}));
- connect(intLesEqu.y, and3.u2) annotation (Line(points={{-78,-90},{-74,-90},{-74,
- -70},{-62,-70}}, color={255,0,255}));
- connect(intEqu1.y, and3.u3) annotation (Line(points={{-78,-130},{-68,-130},{-68,
- -78},{-62,-78}}, color={255,0,255}));
- connect(and3.y, not1.u)
+ connect(and2.y, not1.u)
annotation (Line(points={{-38,-70},{-22,-70}}, color={255,0,255}));
connect(VOutMinSet_flow, noZerMin.u) annotation (Line(points={{-180,180},{-30,
180},{-30,-160},{18,-160}}, color={0,0,127}));
@@ -272,6 +268,14 @@ equation
connect(zer.y, enaDis2.u3) annotation (Line(points={{102,-190},{110,-190},{110,
-168},{118,-168}}, color={0,0,127}));
+ connect(intLesEqu.y, and1.u1) annotation (Line(points={{-78,-90},{-74,-90},{-74,
+ -110},{-72,-110}}, color={255,0,255}));
+ connect(and1.u2, intEqu1.y) annotation (Line(points={{-72,-118},{-74,-118},{-74,
+ -130},{-78,-130}}, color={255,0,255}));
+ connect(and1.y, and2.u2) annotation (Line(points={{-48,-110},{-40,-110},{-40,-86},
+ {-66,-86},{-66,-78},{-62,-78}}, color={255,0,255}));
+ connect(u1SupFan, and2.u1) annotation (Line(points={{-180,-40},{-66,-40},{-66,
+ -70},{-62,-70}}, color={255,0,255}));
annotation (
defaultComponentName = "damLim",
Icon(graphics={
@@ -444,6 +448,13 @@ src=\"modelica://Buildings/Resources/Images/Controls/OBC/ASHRAE/G36/AHUs/SingleZ
", revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
Updated according to ASHRAE G36, May 2020.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/CoolingOnly/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/CoolingOnly/Subsequences/Alarms.mo
index fbfec19a8b7..b0a7010d57a 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/CoolingOnly/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/CoolingOnly/Subsequences/Alarms.mo
@@ -188,8 +188,11 @@ block Alarms "Generate alarms of cooling only terminal unit"
final h=0.5*damPosHys)
"Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-220},{-180,-200}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-180},{-80,-160}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-40,-180},{-20,-160}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-220},{120,-200}})));
@@ -276,10 +279,6 @@ equation
annotation (Line(points={{222,150},{260,150}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-210},{-202,-210}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,-100},{-220,-100},
- {-220,-170},{-42,-170}},color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-210},{-100,-210},
- {-100,-178},{-42,-178}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-210},{138,-210}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -300,14 +299,20 @@ equation
annotation (Line(points={{-78,-40},{-42,-40}}, color={255,0,255}));
connect(not3.y, and5.u2) annotation (Line(points={{-178,-100},{-60,-100},{-60,
-48},{-42,-48}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,-40},{-70,-40},{-70,
- -162},{-42,-162}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{-18,-170},{18,-170}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{42,-170},{138,-170}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{42,-170},{80,-170},{80,-210},
{98,-210}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{-18,-170},{18,-170}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,-40},{-50,-40},{-50,
+ -170},{-42,-170}}, color={255,0,255}));
+ connect(leaDamAla2.u2, leaDamAla1.y) annotation (Line(points={{-42,-178},{-68,
+ -178},{-68,-170},{-78,-170}}, color={255,0,255}));
+ connect(leaDamAla1.u1, u1Fan) annotation (Line(points={{-102,-170},{-230,-170},
+ {-230,-100},{-260,-100}}, color={255,0,255}));
+ connect(cloDam.y, leaDamAla1.u2) annotation (Line(points={{-178,-210},{-110,-210},
+ {-110,-178},{-102,-178}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -397,6 +402,13 @@ fan serving the zone is proven on (uFan=true
), generate a Level
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctColdDuctMin/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctColdDuctMin/Subsequences/Alarms.mo
index 326329cfd84..0fd669cbfa0 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctColdDuctMin/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctColdDuctMin/Subsequences/Alarms.mo
@@ -216,8 +216,11 @@ block Alarms "Generate alarms of dual-duct terminal unit with cold-duct minimum
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-180,-130},{-160,-110}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-90},{-60,-70}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{0,-90},{20,-70}})));
Buildings.Controls.OBC.CDL.Logical.Not not5
"Logical not"
@@ -271,8 +274,11 @@ block Alarms "Generate alarms of dual-duct terminal unit with cold-duct minimum
final h=0.5*damPosHys)
"Check if damper position is near zero"
annotation (Placement(transformation(extent={{-180,-360},{-160,-340}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla1
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla3
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-320},{-60,-300}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla4
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{0,-320},{20,-300}})));
Buildings.Controls.OBC.CDL.Logical.Not not8
"Logical not"
@@ -359,10 +365,6 @@ equation
annotation (Line(points={{222,260},{260,260}}, color={255,127,0}));
connect(uCooDam, cloDam.u)
annotation (Line(points={{-260,-120},{-182,-120}}, color={0,0,127}));
- connect(u1CooFan, leaDamAla.u2) annotation (Line(points={{-260,-10},{-220,-10},
- {-220,-80},{-2,-80}}, color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-158,-120},{-20,-120},
- {-20,-88},{-2,-88}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{142,-120},{158,-120}}, color={255,0,255}));
connect(booToInt3.y, yColLeaDamAla)
@@ -383,10 +385,6 @@ equation
annotation (Line(points={{182,-180},{260,-180}}, color={255,127,0}));
connect(uHeaDam, cloDam1.u)
annotation (Line(points={{-260,-350},{-182,-350}}, color={0,0,127}));
- connect(u1HeaFan, leaDamAla1.u2) annotation (Line(points={{-260,-240},{-220,-240},
- {-220,-310},{-2,-310}}, color={255,0,255}));
- connect(cloDam1.y, leaDamAla1.u3) annotation (Line(points={{-158,-350},{-20,-350},
- {-20,-318},{-2,-318}},color={255,0,255}));
connect(not8.y,assMes5. u)
annotation (Line(points={{142,-350},{158,-350}}, color={255,0,255}));
connect(booToInt5.y, yHotLeaDamAla)
@@ -407,8 +405,6 @@ equation
annotation (Line(points={{-98,240},{-42,240}}, color={255,0,255}));
connect(truDel6.y, and2.u2) annotation (Line(points={{-98,240},{-50,240},{-50,
312},{-42,312}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{22,-80},{58,-80}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{82,-80},{158,-80}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{82,-80},{100,-80},{100,-120},
@@ -421,10 +417,6 @@ equation
annotation (Line(points={{42,50},{158,50}}, color={255,0,255}));
connect(truDel2.y, not4.u) annotation (Line(points={{42,50},{50,50},{50,20},{58,
20}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-58,50},{-30,50},{-30,
- -72},{-2,-72}}, color={255,0,255}));
- connect(leaDamAla1.y, truDel5.u)
- annotation (Line(points={{22,-310},{58,-310}}, color={255,0,255}));
connect(truDel5.y, booToInt5.u)
annotation (Line(points={{82,-310},{158,-310}}, color={255,0,255}));
connect(truDel5.y, not8.u) annotation (Line(points={{82,-310},{100,-310},{100,
@@ -435,10 +427,28 @@ equation
annotation (Line(points={{42,-180},{158,-180}}, color={255,0,255}));
connect(not6.y, and6.u2) annotation (Line(points={{-158,-240},{-40,-240},{-40,
-188},{-22,-188}}, color={255,0,255}));
- connect(gre2.y, leaDamAla1.u1) annotation (Line(points={{-58,-180},{-30,-180},
- {-30,-302},{-2,-302}}, color={255,0,255}));
connect(truDel4.y, not7.u) annotation (Line(points={{42,-180},{50,-180},{50,-210},
{58,-210}}, color={255,0,255}));
+ connect(cloDam1.y, leaDamAla3.u2) annotation (Line(points={{-158,-350},{-90,-350},
+ {-90,-318},{-82,-318}}, color={255,0,255}));
+ connect(u1HeaFan, leaDamAla3.u1) annotation (Line(points={{-260,-240},{-200,-240},
+ {-200,-310},{-82,-310}}, color={255,0,255}));
+ connect(gre2.y, leaDamAla4.u1) annotation (Line(points={{-58,-180},{-30,-180},
+ {-30,-310},{-2,-310}}, color={255,0,255}));
+ connect(leaDamAla3.y, leaDamAla4.u2) annotation (Line(points={{-58,-310},{-40,
+ -310},{-40,-318},{-2,-318}}, color={255,0,255}));
+ connect(leaDamAla4.y, truDel5.u)
+ annotation (Line(points={{22,-310},{58,-310}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{22,-80},{58,-80}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloDam.y) annotation (Line(points={{-82,-88},{-148,-88},
+ {-148,-120},{-158,-120}}, color={255,0,255}));
+ connect(leaDamAla1.u1, u1CooFan) annotation (Line(points={{-82,-80},{-200,-80},
+ {-200,-10},{-260,-10}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-58,50},{-30,50},{-30,
+ -80},{-2,-80}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-58,-80},{-40,-80},
+ {-40,-88},{-2,-88}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -571,6 +581,13 @@ fan serving the zone is proven on (u1HeaFan=true
), generate a Level
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConDischargeSensor/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConDischargeSensor/Subsequences/Alarms.mo
index 3b651fe8e62..05d35bd7d8a 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConDischargeSensor/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConDischargeSensor/Subsequences/Alarms.mo
@@ -206,8 +206,11 @@ block Alarms
final delayTime=leaFloTim)
"Check if the input has been true for more than threshold time"
annotation (Placement(transformation(extent={{40,-190},{60,-170}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla2
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-190},{-60,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-190},{0,-170}})));
Buildings.Controls.OBC.CDL.Logical.And cloBotDam
"Both heating and cooling dampers are closed"
@@ -306,10 +309,6 @@ equation
-18},{-82,-18}}, color={0,0,127}));
connect(cooMaxFlo1.y, gai4.u)
annotation (Line(points={{-158,-50},{-142,-50}}, color={0,0,127}));
- connect(cloBotDam.y, leaDamAla2.u3) annotation (Line(points={{-98,-210},{-80,-210},
- {-80,-188},{-22,-188}}, color={255,0,255}));
- connect(or2.y, leaDamAla2.u2) annotation (Line(points={{-158,-110},{-140,-110},
- {-140,-180},{-22,-180}}, color={255,0,255}));
connect(cloDam.y, cloBotDam.u1) annotation (Line(points={{-178,-210},{-122,-210}},
color={255,0,255}));
connect(cloDam1.y, cloBotDam.u2) annotation (Line(points={{-178,-250},{-140,-250},
@@ -338,8 +337,14 @@ equation
annotation (Line(points={{62,-180},{138,-180}}, color={255,0,255}));
connect(truDel7.y, not11.u) annotation (Line(points={{62,-180},{80,-180},{80,-220},
{98,-220}}, color={255,0,255}));
- connect(gre3.y, leaDamAla2.u1) annotation (Line(points={{-58,-10},{-50,-10},{-50,
- -172},{-22,-172}}, color={255,0,255}));
+ connect(gre3.y, leaDamAla2.u1) annotation (Line(points={{-58,-10},{-30,-10},{-30,
+ -180},{-22,-180}}, color={255,0,255}));
+ connect(or2.y, leaDamAla1.u1) annotation (Line(points={{-158,-110},{-136,-110},
+ {-136,-180},{-82,-180}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloBotDam.y) annotation (Line(points={{-82,-188},{-88,-188},
+ {-88,-210},{-98,-210}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-58,-180},{-40,
+ -180},{-40,-188},{-22,-188}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -445,6 +450,13 @@ generate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConInletSensor/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConInletSensor/Subsequences/Alarms.mo
index c1816958e6f..72eb899b1b7 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConInletSensor/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctMixConInletSensor/Subsequences/Alarms.mo
@@ -216,8 +216,11 @@ block Alarms "Generate alarms of dual-duct terminal unit using mixing control wi
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-180,-130},{-160,-110}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-90},{-60,-70}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{0,-90},{20,-70}})));
Buildings.Controls.OBC.CDL.Logical.Not not5
"Logical not"
@@ -271,8 +274,11 @@ block Alarms "Generate alarms of dual-duct terminal unit using mixing control wi
final h=0.5*damPosHys)
"Check if damper position is near zero"
annotation (Placement(transformation(extent={{-180,-360},{-160,-340}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla1
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla3
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-320},{-60,-300}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla4
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{0,-320},{20,-300}})));
Buildings.Controls.OBC.CDL.Logical.Not not8
"Logical not"
@@ -359,10 +365,6 @@ equation
annotation (Line(points={{222,260},{260,260}}, color={255,127,0}));
connect(uCooDam, cloDam.u)
annotation (Line(points={{-260,-120},{-182,-120}}, color={0,0,127}));
- connect(u1CooFan, leaDamAla.u2) annotation (Line(points={{-260,-10},{-220,-10},
- {-220,-80},{-2,-80}}, color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-158,-120},{-20,-120},
- {-20,-88},{-2,-88}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{142,-120},{158,-120}}, color={255,0,255}));
connect(booToInt3.y, yColLeaDamAla)
@@ -383,10 +385,6 @@ equation
annotation (Line(points={{182,-180},{260,-180}}, color={255,127,0}));
connect(uHeaDam, cloDam1.u)
annotation (Line(points={{-260,-350},{-182,-350}}, color={0,0,127}));
- connect(u1HeaFan, leaDamAla1.u2) annotation (Line(points={{-260,-240},{-220,-240},
- {-220,-310},{-2,-310}}, color={255,0,255}));
- connect(cloDam1.y, leaDamAla1.u3) annotation (Line(points={{-158,-350},{-20,-350},
- {-20,-318},{-2,-318}},color={255,0,255}));
connect(not8.y,assMes5. u)
annotation (Line(points={{142,-350},{158,-350}}, color={255,0,255}));
connect(booToInt5.y, yHotLeaDamAla)
@@ -407,8 +405,6 @@ equation
annotation (Line(points={{-98,240},{-42,240}}, color={255,0,255}));
connect(truDel6.y, and2.u2) annotation (Line(points={{-98,240},{-50,240},{-50,
312},{-42,312}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{22,-80},{58,-80}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{82,-80},{158,-80}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{82,-80},{100,-80},{100,-120},
@@ -421,10 +417,6 @@ equation
20}}, color={255,0,255}));
connect(not3.y, and5.u2) annotation (Line(points={{-158,-10},{-40,-10},{-40,42},
{-22,42}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-58,50},{-50,50},{-50,
- -72},{-2,-72}}, color={255,0,255}));
- connect(leaDamAla1.y, truDel5.u)
- annotation (Line(points={{22,-310},{58,-310}}, color={255,0,255}));
connect(truDel5.y, booToInt5.u)
annotation (Line(points={{82,-310},{158,-310}}, color={255,0,255}));
connect(truDel5.y, not8.u) annotation (Line(points={{82,-310},{100,-310},{100,
@@ -437,8 +429,26 @@ equation
{58,-210}}, color={255,0,255}));
connect(not6.y, and6.u2) annotation (Line(points={{-158,-240},{-40,-240},{-40,
-188},{-22,-188}}, color={255,0,255}));
- connect(gre2.y, leaDamAla1.u1) annotation (Line(points={{-58,-180},{-30,-180},
- {-30,-302},{-2,-302}}, color={255,0,255}));
+ connect(leaDamAla4.y, truDel5.u)
+ annotation (Line(points={{22,-310},{58,-310}}, color={255,0,255}));
+ connect(gre2.y, leaDamAla4.u1) annotation (Line(points={{-58,-180},{-30,-180},
+ {-30,-310},{-2,-310}}, color={255,0,255}));
+ connect(leaDamAla3.y, leaDamAla4.u2) annotation (Line(points={{-58,-310},{-40,
+ -310},{-40,-318},{-2,-318}}, color={255,0,255}));
+ connect(leaDamAla3.u1, u1HeaFan) annotation (Line(points={{-82,-310},{-216,-310},
+ {-216,-240},{-260,-240}}, color={255,0,255}));
+ connect(cloDam1.y, leaDamAla3.u2) annotation (Line(points={{-158,-350},{-100,-350},
+ {-100,-318},{-82,-318}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{22,-80},{58,-80}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-58,50},{-30,50},{-30,
+ -80},{-2,-80}}, color={255,0,255}));
+ connect(leaDamAla2.u2, leaDamAla1.y) annotation (Line(points={{-2,-88},{-48,-88},
+ {-48,-80},{-58,-80}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloDam.y) annotation (Line(points={{-82,-88},{-148,-88},
+ {-148,-120},{-158,-120}}, color={255,0,255}));
+ connect(u1CooFan, leaDamAla1.u1) annotation (Line(points={{-260,-10},{-200,-10},
+ {-200,-80},{-82,-80}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -571,6 +581,13 @@ fan serving the zone is proven on (u1HeaFan=true
), generate a Level
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctSnapActing/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctSnapActing/Subsequences/Alarms.mo
index ab6cefff068..859e5590b59 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctSnapActing/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/DualDuctSnapActing/Subsequences/Alarms.mo
@@ -236,8 +236,11 @@ block Alarms "Generate alarms of snap-acting controlled dual-duct terminal unit"
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-240},{-180,-220}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla if have_duaSen
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1 if have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-200},{-80,-180}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2 if have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-200},{0,-180}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 if have_duaSen
"Logical not"
@@ -295,8 +298,11 @@ block Alarms "Generate alarms of snap-acting controlled dual-duct terminal unit"
final h=0.5*damPosHys)
"Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-470},{-180,-450}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla1 if have_duaSen
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla3 if have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-430},{-80,-410}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla4 if have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-430},{0,-410}})));
Buildings.Controls.OBC.CDL.Logical.Not not8 if have_duaSen
"Logical not"
@@ -353,8 +359,11 @@ block Alarms "Generate alarms of snap-acting controlled dual-duct terminal unit"
final delayTime=leaFloTim) if not have_duaSen
"Check if the input has been true for more than threshold time"
annotation (Placement(transformation(extent={{60,20},{80,40}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla2 if not have_duaSen
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla5 if not have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-20,20},{0,40}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla6 if not have_duaSen
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{20,20},{40,40}})));
Buildings.Controls.OBC.CDL.Logical.And cloBotDam if not have_duaSen
"Both heating and cooling dampers are closed"
@@ -449,10 +458,6 @@ equation
annotation (Line(points={{222,360},{260,360}}, color={255,127,0}));
connect(uCooDam, cloDam.u)
annotation (Line(points={{-260,-230},{-202,-230}}, color={0,0,127}));
- connect(u1CooFan, leaDamAla.u2) annotation (Line(points={{-260,-120},{-220,-120},
- {-220,-190},{-22,-190}},color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-230},{-70,-230},
- {-70,-198},{-22,-198}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-230},{138,-230}}, color={255,0,255}));
connect(booToInt3.y, yColLeaDamAla)
@@ -473,10 +478,6 @@ equation
annotation (Line(points={{162,-290},{260,-290}}, color={255,127,0}));
connect(uHeaDam, cloDam1.u)
annotation (Line(points={{-260,-460},{-202,-460}}, color={0,0,127}));
- connect(u1HeaFan, leaDamAla1.u2) annotation (Line(points={{-260,-350},{-210,-350},
- {-210,-420},{-22,-420}},color={255,0,255}));
- connect(cloDam1.y, leaDamAla1.u3) annotation (Line(points={{-178,-460},{-50,-460},
- {-50,-428},{-22,-428}}, color={255,0,255}));
connect(not8.y,assMes5. u)
annotation (Line(points={{122,-460},{138,-460}}, color={255,0,255}));
connect(booToInt5.y, yHotLeaDamAla)
@@ -499,10 +500,8 @@ equation
192},{-82,192}}, color={0,0,127}));
connect(cooMaxFlo1.y, gai4.u)
annotation (Line(points={{-158,150},{-142,150}}, color={0,0,127}));
- connect(cloBotDam.y, leaDamAla2.u3) annotation (Line(points={{2,0},{10,0},{10,
- 22},{18,22}}, color={255,0,255}));
- connect(or2.y, leaDamAla2.u2) annotation (Line(points={{-178,100},{-170,100},{
- -170,30},{18,30}}, color={255,0,255}));
+ connect(or2.y,leaDamAla5. u2) annotation (Line(points={{-178,100},{-172,100},{
+ -172,22},{-22,22}},color={255,0,255}));
connect(cloDam.y, cloBotDam.u1) annotation (Line(points={{-178,-230},{-70,-230},
{-70,0},{-22,0}}, color={255,0,255}));
connect(cloDam1.y, cloBotDam.u2) annotation (Line(points={{-178,-460},{-50,-460},
@@ -537,14 +536,12 @@ equation
annotation (Line(points={{62,200},{138,200}}, color={255,0,255}));
connect(truDel6.y, not9.u) annotation (Line(points={{62,200},{80,200},{80,170},
{98,170}}, color={255,0,255}));
- connect(leaDamAla2.y, truDel7.u)
- annotation (Line(points={{42,30},{58,30}}, color={255,0,255}));
connect(truDel7.y, booToInt7.u)
annotation (Line(points={{82,30},{138,30}}, color={255,0,255}));
connect(truDel7.y, not11.u) annotation (Line(points={{82,30},{90,30},{90,-10},
{98,-10}}, color={255,0,255}));
- connect(gre3.y, leaDamAla2.u1) annotation (Line(points={{-58,200},{-40,200},{-40,
- 38},{18,38}}, color={255,0,255}));
+ connect(gre3.y,leaDamAla5. u1) annotation (Line(points={{-58,200},{-40,200},{-40,
+ 30},{-22,30}},color={255,0,255}));
connect(not3.y, and5.u2) annotation (Line(points={{-178,-120},{-40,-120},{-40,
-68},{-22,-68}}, color={255,0,255}));
connect(and5.y, truDel2.u)
@@ -553,10 +550,6 @@ equation
annotation (Line(points={{42,-60},{138,-60}}, color={255,0,255}));
connect(truDel2.y, not4.u) annotation (Line(points={{42,-60},{80,-60},{80,-100},
{98,-100}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,-190},{18,-190}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,-60},{-60,-60},{-60,
- -182},{-22,-182}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{42,-190},{138,-190}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{42,-190},{80,-190},{80,-230},
@@ -569,14 +562,36 @@ equation
-298},{-22,-298}}, color={255,0,255}));
connect(truDel4.y, not7.u) annotation (Line(points={{42,-290},{80,-290},{80,-330},
{98,-330}}, color={255,0,255}));
- connect(leaDamAla1.y, truDel5.u)
- annotation (Line(points={{2,-420},{18,-420}}, color={255,0,255}));
connect(truDel5.y, booToInt5.u)
annotation (Line(points={{42,-420},{138,-420}}, color={255,0,255}));
connect(truDel5.y, not8.u) annotation (Line(points={{42,-420},{80,-420},{80,-460},
{98,-460}}, color={255,0,255}));
- connect(gre2.y, leaDamAla1.u1) annotation (Line(points={{-78,-290},{-60,-290},
- {-60,-412},{-22,-412}}, color={255,0,255}));
+ connect(leaDamAla6.y, truDel7.u)
+ annotation (Line(points={{42,30},{58,30}}, color={255,0,255}));
+ connect(cloBotDam.y, leaDamAla6.u2) annotation (Line(points={{2,0},{10,0},{10,
+ 22},{18,22}}, color={255,0,255}));
+ connect(leaDamAla5.y, leaDamAla6.u1)
+ annotation (Line(points={{2,30},{18,30}}, color={255,0,255}));
+ connect(leaDamAla4.y, truDel5.u)
+ annotation (Line(points={{2,-420},{18,-420}}, color={255,0,255}));
+ connect(leaDamAla4.u1, gre2.y) annotation (Line(points={{-22,-420},{-30,-420},
+ {-30,-290},{-78,-290}}, color={255,0,255}));
+ connect(leaDamAla3.u1, u1HeaFan) annotation (Line(points={{-102,-420},{-220,-420},
+ {-220,-350},{-260,-350}}, color={255,0,255}));
+ connect(cloDam1.y, leaDamAla3.u2) annotation (Line(points={{-178,-460},{-120,-460},
+ {-120,-428},{-102,-428}}, color={255,0,255}));
+ connect(leaDamAla3.y, leaDamAla4.u2) annotation (Line(points={{-78,-420},{-60,
+ -420},{-60,-428},{-22,-428}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,-190},{18,-190}}, color={255,0,255}));
+ connect(leaDamAla2.u1, gre1.y) annotation (Line(points={{-22,-190},{-30,-190},
+ {-30,-60},{-78,-60}}, color={255,0,255}));
+ connect(u1CooFan, leaDamAla1.u1) annotation (Line(points={{-260,-120},{-220,-120},
+ {-220,-190},{-102,-190}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloDam.y) annotation (Line(points={{-102,-198},{-120,-198},
+ {-120,-230},{-178,-230}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,-190},{-40,
+ -190},{-40,-198},{-22,-198}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-200},{100,200}}),
graphics={
@@ -767,6 +782,13 @@ generate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanCVF/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanCVF/Subsequences/Alarms.mo
index 6bb5f5f34f2..511adb81287 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanCVF/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanCVF/Subsequences/Alarms.mo
@@ -268,8 +268,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with constan
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-120},{-180,-100}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-80},{-80,-60}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-80},{0,-60}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-120},{120,-100}})));
@@ -376,8 +379,12 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with constan
final h=dTHys)
"Discharge temperature greate than AHU supply temperature by a threshold"
annotation (Placement(transformation(extent={{-140,-210},{-120,-190}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaValAla "Check if generating leak valve alarms"
- annotation (Placement(transformation(extent={{-20,-190},{0,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla1
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-190},{-80,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla2
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-18,-190},{2,-170}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt6(
final integerTrue=4)
"Convert boolean true to level 4 alarm"
@@ -392,8 +399,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with constan
final delayTime=comChaTim)
"Check if the fan has been commond on for threshold time"
annotation (Placement(transformation(extent={{-160,50},{-140,70}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and11
- "Check if the terminal fan has been commond on for threshold time and fan is still off"
+ Buildings.Controls.OBC.CDL.Logical.And and12
+ "Check if the terminal fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,80},{-80,100}})));
+ Buildings.Controls.OBC.CDL.Logical.And and13
+ "Check if the terminal fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,80},{0,100}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant conInt4(
final k=2)
@@ -409,8 +419,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with constan
final delayTime=comChaTim)
"Check if the fan has been commond off for threshold time"
annotation (Placement(transformation(extent={{-120,-20},{-100,0}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and10
- "Check if the terminal fan has been commond off for threshold time and fan is still on"
+ Buildings.Controls.OBC.CDL.Logical.And and10
+ "Check if the terminal fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,20},{-80,40}})));
+ Buildings.Controls.OBC.CDL.Logical.And and11
+ "Check if the terminal fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,10},{0,30}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt7(
final integerTrue=4)
@@ -508,10 +521,6 @@ equation
annotation (Line(points={{222,350},{260,350}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-110},{-202,-110}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -70},{-22,-70}},color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-110},{-60,-110},
- {-60,-78},{-22,-78}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-110},{138,-110}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -564,10 +573,6 @@ equation
-200},{-142,-200}}, color={0,0,127}));
connect(addPar2.y, gre2.u2) annotation (Line(points={{-178,-230},{-160,-230},{
-160,-208},{-142,-208}}, color={0,0,127}));
- connect(u1Fan, leaValAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -180},{-22,-180}},color={255,0,255}));
- connect(gre2.y, leaValAla.u3) annotation (Line(points={{-118,-200},{-60,-200},
- {-60,-188},{-22,-188}}, color={255,0,255}));
connect(not8.y, assMes6.u)
annotation (Line(points={{122,-220},{138,-220}}, color={255,0,255}));
connect(booToInt6.y, yLeaValAla)
@@ -578,38 +583,26 @@ equation
{-182,-10}}, color={255,0,255}));
connect(not9.y, truDel8.u)
annotation (Line(points={{-158,-10},{-122,-10}}, color={255,0,255}));
- connect(u1FanCom, and11.u2) annotation (Line(points={{-260,60},{-200,60},{-200,
- 90},{-22,90}}, color={255,0,255}));
- connect(truDel7.y, and11.u3) annotation (Line(points={{-138,60},{-120,60},{-120,
- 82},{-22,82}}, color={255,0,255}));
- connect(and11.y, fanStaAla.u2)
- annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
- connect(not9.y, and10.u2) annotation (Line(points={{-158,-10},{-140,-10},{-140,
- 20},{-22,20}}, color={255,0,255}));
- connect(truDel8.y, and10.u3) annotation (Line(points={{-98,-10},{-80,-10},{-80,
- 12},{-22,12}}, color={255,0,255}));
- connect(and10.y, booToInt7.u)
- annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ connect(u1FanCom,and12. u2) annotation (Line(points={{-260,60},{-200,60},{-200,
+ 82},{-102,82}},color={255,0,255}));
+ connect(not9.y, and10.u2) annotation (Line(points={{-158,-10},{-136,-10},{-136,
+ 22},{-102,22}},color={255,0,255}));
connect(conInt4.y, fanStaAla.u1) annotation (Line(points={{102,130},{120,130},
{120,98},{138,98}}, color={255,127,0}));
connect(booToInt7.y, fanStaAla.u3) annotation (Line(points={{102,20},{120,20},
{120,82},{138,82}}, color={255,127,0}));
connect(fanStaAla.y, yFanStaAla)
annotation (Line(points={{162,90},{260,90}}, color={255,127,0}));
- connect(and11.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
- 60}}, color={255,0,255}));
connect(not10.y, assMes7.u)
annotation (Line(points={{62,60},{78,60}}, color={255,0,255}));
connect(not11.y, assMes8.u)
annotation (Line(points={{62,-10},{78,-10}}, color={255,0,255}));
- connect(and10.y, not11.u) annotation (Line(points={{2,20},{20,20},{20,-10},{38,
- -10}}, color={255,0,255}));
connect(u1TerFan, and10.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
- 28},{-22,28}}, color={255,0,255}));
+ 30},{-102,30}},color={255,0,255}));
connect(u1TerFan, not12.u) annotation (Line(points={{-260,20},{-180,20},{-180,
110},{-162,110}}, color={255,0,255}));
- connect(not12.y, and11.u1) annotation (Line(points={{-138,110},{-80,110},{-80,
- 98},{-22,98}}, color={255,0,255}));
+ connect(not12.y,and12. u1) annotation (Line(points={{-138,110},{-112,110},{-112,
+ 90},{-102,90}},color={255,0,255}));
connect(greThr.y, truDel9.u)
annotation (Line(points={{-158,330},{-122,330}}, color={255,0,255}));
connect(truDel9.y, and1.u1)
@@ -624,18 +617,10 @@ equation
{38,170}}, color={255,0,255}));
connect(not3.y, and5.u2) annotation (Line(points={{-178,140},{-70,140},{-70,192},
{-42,192}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
- -62},{-22,-62}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{62,-70},{138,-70}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{62,-70},{80,-70},{80,-110},
{98,-110}}, color={255,0,255}));
- connect(cloVal.y, leaValAla.u1) annotation (Line(points={{-178,-160},{-60,-160},
- {-60,-172},{-22,-172}}, color={255,0,255}));
- connect(leaValAla.y, truDel6.u)
- annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
connect(truDel6.y, booToInt6.u)
annotation (Line(points={{62,-180},{138,-180}}, color={255,0,255}));
connect(truDel6.y, not8.u) annotation (Line(points={{62,-180},{80,-180},{80,-220},
@@ -660,6 +645,42 @@ equation
annotation (Line(points={{-98,-380},{-82,-380}}, color={255,0,255}));
connect(u1HotPla, and8.u2) annotation (Line(points={{-260,-270},{-90,-270},{-90,
-388},{-82,-388}}, color={255,0,255}));
+ connect(not10.u, and13.y) annotation (Line(points={{38,60},{20,60},{20,90},{2,
+ 90}}, color={255,0,255}));
+ connect(and13.y, fanStaAla.u2)
+ annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
+ connect(truDel7.y, and13.u2) annotation (Line(points={{-138,60},{-40,60},{-40,
+ 82},{-22,82}}, color={255,0,255}));
+ connect(and12.y, and13.u1)
+ annotation (Line(points={{-78,90},{-22,90}}, color={255,0,255}));
+ connect(and11.y, booToInt7.u)
+ annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ connect(not11.u, and11.y) annotation (Line(points={{38,-10},{20,-10},{20,20},{
+ 2,20}}, color={255,0,255}));
+ connect(and11.u2, truDel8.y) annotation (Line(points={{-22,12},{-80,12},{-80,-10},
+ {-98,-10}}, color={255,0,255}));
+ connect(and10.y, and11.u1) annotation (Line(points={{-78,30},{-40,30},{-40,20},
+ {-22,20}}, color={255,0,255}));
+ connect(leaValAla2.y, truDel6.u)
+ annotation (Line(points={{4,-180},{38,-180}}, color={255,0,255}));
+ connect(gre2.y, leaValAla2.u2) annotation (Line(points={{-118,-200},{-32,-200},
+ {-32,-188},{-20,-188}}, color={255,0,255}));
+ connect(leaValAla1.y, leaValAla2.u1)
+ annotation (Line(points={{-78,-180},{-20,-180}}, color={255,0,255}));
+ connect(u1Fan, leaValAla1.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-70},{-108,-70},{-108,-180},{-102,-180}}, color={255,0,255}));
+ connect(leaValAla1.u2, cloVal.y) annotation (Line(points={{-102,-188},{-112,-188},
+ {-112,-160},{-178,-160}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,200},{-56,200},{-56,
+ -70},{-22,-70}}, color={255,0,255}));
+ connect(u1Fan, leaDamAla1.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-70},{-102,-70}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,-70},{-60,-70},
+ {-60,-78},{-22,-78}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloDam.y) annotation (Line(points={{-102,-78},{-164,-78},
+ {-164,-110},{-178,-110}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -844,6 +865,13 @@ on (u1Fan=true
), gemerate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanVVF/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanVVF/Subsequences/Alarms.mo
index a19e413c620..a06535760a2 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanVVF/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/ParallelFanVVF/Subsequences/Alarms.mo
@@ -268,8 +268,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with variabl
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-120},{-180,-100}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-80},{-80,-60}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-80},{0,-60}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-120},{120,-100}})));
@@ -376,7 +379,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with variabl
final h=dTHys)
"Discharge temperature greate than AHU supply temperature by a threshold"
annotation (Placement(transformation(extent={{-140,-210},{-120,-190}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaValAla "Check if generating leak valve alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla1
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-190},{-60,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla2
+ "Check if generating leak valve alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-190},{0,-170}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt6(
final integerTrue=4)
@@ -392,8 +399,11 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with variabl
final delayTime=comChaTim)
"Check if the terminal fan has been commond on for threshold time"
annotation (Placement(transformation(extent={{-160,50},{-140,70}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and11
- "Check if the fan has been commond on for threshold time and fan is still off"
+ Buildings.Controls.OBC.CDL.Logical.And and12
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,80},{-80,100}})));
+ Buildings.Controls.OBC.CDL.Logical.And and13
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,80},{0,100}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant conInt4(
final k=2)
@@ -408,9 +418,12 @@ block Alarms "Generate alarms of parallel fan-powered terminal unit with variabl
Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel8(
final delayTime=comChaTim)
"Check if the terminal fan has been commond off for threshold time"
- annotation (Placement(transformation(extent={{-120,-20},{-100,0}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and10
- "Check if the fan has been commond off for threshold time and fan is still on"
+ annotation (Placement(transformation(extent={{-140,-20},{-120,0}})));
+ Buildings.Controls.OBC.CDL.Logical.And and10
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,10},{-80,30}})));
+ Buildings.Controls.OBC.CDL.Logical.And and11
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,10},{0,30}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt7(
final integerTrue=4)
@@ -508,10 +521,6 @@ equation
annotation (Line(points={{222,350},{260,350}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-110},{-202,-110}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -70},{-22,-70}},color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-110},{-60,-110},
- {-60,-78},{-22,-78}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-110},{138,-110}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -564,10 +573,6 @@ equation
-200},{-142,-200}}, color={0,0,127}));
connect(addPar2.y, gre2.u2) annotation (Line(points={{-178,-230},{-160,-230},{
-160,-208},{-142,-208}}, color={0,0,127}));
- connect(u1Fan, leaValAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -180},{-22,-180}},color={255,0,255}));
- connect(gre2.y, leaValAla.u3) annotation (Line(points={{-118,-200},{-60,-200},
- {-60,-188},{-22,-188}}, color={255,0,255}));
connect(not8.y, assMes6.u)
annotation (Line(points={{122,-220},{138,-220}}, color={255,0,255}));
connect(booToInt6.y, yLeaValAla)
@@ -577,39 +582,19 @@ equation
connect(u1FanCom, not9.u) annotation (Line(points={{-260,60},{-200,60},{-200,-10},
{-182,-10}}, color={255,0,255}));
connect(not9.y, truDel8.u)
- annotation (Line(points={{-158,-10},{-122,-10}}, color={255,0,255}));
- connect(u1FanCom, and11.u2) annotation (Line(points={{-260,60},{-200,60},{-200,
- 90},{-22,90}}, color={255,0,255}));
- connect(truDel7.y, and11.u3) annotation (Line(points={{-138,60},{-120,60},{-120,
- 82},{-22,82}}, color={255,0,255}));
- connect(and11.y, fanStaAla.u2)
- annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
- connect(not9.y, and10.u2) annotation (Line(points={{-158,-10},{-140,-10},{-140,
- 20},{-22,20}}, color={255,0,255}));
- connect(truDel8.y, and10.u3) annotation (Line(points={{-98,-10},{-80,-10},{-80,
- 12},{-22,12}}, color={255,0,255}));
- connect(and10.y, booToInt7.u)
- annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ annotation (Line(points={{-158,-10},{-142,-10}}, color={255,0,255}));
connect(conInt4.y, fanStaAla.u1) annotation (Line(points={{102,130},{120,130},
{120,98},{138,98}}, color={255,127,0}));
connect(booToInt7.y, fanStaAla.u3) annotation (Line(points={{102,20},{120,20},
{120,82},{138,82}}, color={255,127,0}));
connect(fanStaAla.y, yFanStaAla)
annotation (Line(points={{162,90},{260,90}}, color={255,127,0}));
- connect(and11.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
- 60}}, color={255,0,255}));
connect(not10.y, assMes7.u)
annotation (Line(points={{62,60},{78,60}}, color={255,0,255}));
connect(not11.y, assMes8.u)
annotation (Line(points={{62,-10},{78,-10}}, color={255,0,255}));
- connect(and10.y, not11.u) annotation (Line(points={{2,20},{20,20},{20,-10},{38,
- -10}}, color={255,0,255}));
connect(u1TerFan, not12.u) annotation (Line(points={{-260,20},{-180,20},{-180,
110},{-162,110}}, color={255,0,255}));
- connect(u1TerFan, and10.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
- 28},{-22,28}}, color={255,0,255}));
- connect(not12.y, and11.u1) annotation (Line(points={{-138,110},{-80,110},{-80,
- 98},{-22,98}}, color={255,0,255}));
connect(greThr.y, truDel9.u)
annotation (Line(points={{-158,330},{-122,330}}, color={255,0,255}));
connect(truDel9.y, and1.u1)
@@ -624,22 +609,16 @@ equation
{38,170}}, color={255,0,255}));
connect(truDel2.y, booToInt2.u)
annotation (Line(points={{22,200},{138,200}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{62,-70},{138,-70}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{62,-70},{80,-70},{80,-110},
{98,-110}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
- -62},{-22,-62}}, color={255,0,255}));
- connect(leaValAla.y, truDel6.u)
- annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
connect(truDel6.y, booToInt6.u)
annotation (Line(points={{62,-180},{138,-180}}, color={255,0,255}));
connect(truDel6.y, not8.u) annotation (Line(points={{62,-180},{80,-180},{80,-220},
{98,-220}}, color={255,0,255}));
- connect(cloVal.y, leaValAla.u1) annotation (Line(points={{-178,-160},{-60,-160},
- {-60,-172},{-22,-172}}, color={255,0,255}));
+ connect(cloVal.y, leaValAla1.u1) annotation (Line(points={{-178,-160},{-96,-160},
+ {-96,-180},{-82,-180}}, color={255,0,255}));
connect(and6.y, truDel4.u)
annotation (Line(points={{-58,-310},{-42,-310}}, color={255,0,255}));
connect(truDel4.y, lowTemAla.u2)
@@ -660,6 +639,48 @@ equation
-318},{-82,-318}}, color={255,0,255}));
connect(u1HotPla, and8.u2) annotation (Line(points={{-260,-270},{-90,-270},{-90,
-388},{-82,-388}}, color={255,0,255}));
+ connect(and13.y, fanStaAla.u2)
+ annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
+ connect(not12.y, and13.u1) annotation (Line(points={{-138,110},{-30,110},{-30,
+ 90},{-22,90}}, color={255,0,255}));
+ connect(and12.u1, u1FanCom) annotation (Line(points={{-102,90},{-200,90},{-200,
+ 60},{-260,60}}, color={255,0,255}));
+ connect(truDel7.y, and12.u2) annotation (Line(points={{-138,60},{-112,60},{-112,
+ 82},{-102,82}}, color={255,0,255}));
+ connect(and12.y, and13.u2) annotation (Line(points={{-78,90},{-40,90},{-40,82},
+ {-22,82}}, color={255,0,255}));
+ connect(and11.y, booToInt7.u)
+ annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ connect(not11.u, and11.y) annotation (Line(points={{38,-10},{20,-10},{20,20},{
+ 2,20}}, color={255,0,255}));
+ connect(u1TerFan, and11.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
+ 40},{-30,40},{-30,20},{-22,20}}, color={255,0,255}));
+ connect(not9.y, and10.u1) annotation (Line(points={{-158,-10},{-150,-10},{-150,
+ 20},{-102,20}}, color={255,0,255}));
+ connect(truDel8.y, and10.u2) annotation (Line(points={{-118,-10},{-110,-10},{-110,
+ 12},{-102,12}}, color={255,0,255}));
+ connect(and10.y, and11.u2) annotation (Line(points={{-78,20},{-40,20},{-40,12},
+ {-22,12}}, color={255,0,255}));
+ connect(leaValAla2.y, truDel6.u)
+ annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
+ connect(u1Fan, leaValAla2.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-140},{-30,-140},{-30,-180},{-22,-180}}, color={255,0,255}));
+ connect(gre2.y, leaValAla1.u2) annotation (Line(points={{-118,-200},{-92,-200},
+ {-92,-188},{-82,-188}}, color={255,0,255}));
+ connect(leaValAla1.y, leaValAla2.u2) annotation (Line(points={{-58,-180},{-40,
+ -180},{-40,-188},{-22,-188}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
+ -70},{-22,-70}}, color={255,0,255}));
+ connect(u1Fan, leaDamAla1.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-70},{-102,-70}}, color={255,0,255}));
+ connect(cloDam.y, leaDamAla1.u2) annotation (Line(points={{-178,-110},{-140,-110},
+ {-140,-78},{-102,-78}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,-70},{-70,-70},
+ {-70,-78},{-22,-78}}, color={255,0,255}));
+ connect(and13.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
+ 60}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -844,6 +865,13 @@ on (u1Fan=true
), gemerate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/Reheat/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/Reheat/Subsequences/Alarms.mo
index 63c28ab639b..ae68c11d857 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/Reheat/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/Reheat/Subsequences/Alarms.mo
@@ -252,8 +252,11 @@ block Alarms "Generate alarms of terminal unit with reheat"
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-50},{-180,-30}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-10},{-80,10}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-10},{0,10}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-50},{120,-30}})));
@@ -360,7 +363,11 @@ block Alarms "Generate alarms of terminal unit with reheat"
final h=dTHys)
"Discharge temperature greate than AHU supply temperature by a threshold"
annotation (Placement(transformation(extent={{-140,-140},{-120,-120}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaValAla "Check if generating leak valve alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla1
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-120},{-80,-100}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla2
+ "Check if generating leak valve alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-120},{0,-100}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt6(
final integerTrue=4)
@@ -450,11 +457,6 @@ equation
annotation (Line(points={{222,280},{260,280}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-40},{-202,-40}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,70},{-220,70},{
- -220,0},{-22,0}},
- color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-40},{-80,-40},
- {-80,-8},{-22,-8}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-40},{138,-40}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -541,10 +543,6 @@ equation
-200},{-50,-318},{-42,-318}}, color={255,0,255}));
connect(u1Fan, fanHotPlaOn.u2) annotation (Line(points={{-260,70},{-220,70},{
-220,-208},{-142,-208}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,130},{-60,130},{
- -60,8},{-22,8}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,0},{38,0}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{62,0},{138,0}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{62,0},{80,0},{80,-40},{
@@ -557,18 +555,30 @@ equation
{38,100}}, color={255,0,255}));
connect(truDel2.y, booToInt2.u)
annotation (Line(points={{22,130},{138,130}}, color={255,0,255}));
- connect(cloVal.y, leaValAla.u1) annotation (Line(points={{-178,-90},{-40,-90},
- {-40,-102},{-22,-102}}, color={255,0,255}));
- connect(u1Fan, leaValAla.u2) annotation (Line(points={{-260,70},{-220,70},{
- -220,-110},{-22,-110}}, color={255,0,255}));
- connect(gre2.y, leaValAla.u3) annotation (Line(points={{-118,-130},{-40,-130},
- {-40,-118},{-22,-118}}, color={255,0,255}));
- connect(leaValAla.y, truDel6.u)
- annotation (Line(points={{2,-110},{38,-110}}, color={255,0,255}));
connect(truDel6.y, booToInt6.u)
annotation (Line(points={{62,-110},{138,-110}}, color={255,0,255}));
connect(truDel6.y, not8.u) annotation (Line(points={{62,-110},{80,-110},{80,
-150},{98,-150}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,0},{38,0}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,130},{-60,130},{-60,
+ 0},{-22,0}}, color={255,0,255}));
+ connect(u1Fan, leaDamAla1.u1) annotation (Line(points={{-260,70},{-220,70},{-220,
+ 0},{-102,0}}, color={255,0,255}));
+ connect(cloDam.y, leaDamAla1.u2) annotation (Line(points={{-178,-40},{-120,-40},
+ {-120,-8},{-102,-8}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,0},{-70,0},
+ {-70,-8},{-22,-8}}, color={255,0,255}));
+ connect(leaValAla2.y, truDel6.u)
+ annotation (Line(points={{2,-110},{38,-110}}, color={255,0,255}));
+ connect(cloVal.y, leaValAla2.u1) annotation (Line(points={{-178,-90},{-40,-90},
+ {-40,-110},{-22,-110}}, color={255,0,255}));
+ connect(u1Fan, leaValAla1.u1) annotation (Line(points={{-260,70},{-220,70},{-220,
+ -110},{-102,-110}}, color={255,0,255}));
+ connect(gre2.y, leaValAla1.u2) annotation (Line(points={{-118,-130},{-110,-130},
+ {-110,-118},{-102,-118}}, color={255,0,255}));
+ connect(leaValAla1.y, leaValAla2.u2) annotation (Line(points={{-78,-110},{-60,
+ -110},{-60,-118},{-22,-118}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -723,6 +733,13 @@ on (u1Fan=true
), gemerate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanCVF/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanCVF/Subsequences/Alarms.mo
index 03bc2491bc7..69efd7628e0 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanCVF/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanCVF/Subsequences/Alarms.mo
@@ -267,8 +267,11 @@ block Alarms "Generate alarms of parallerl fan-powered terminal unit with consta
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-120},{-180,-100}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-80},{-80,-60}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-80},{0,-60}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-120},{120,-100}})));
@@ -375,7 +378,11 @@ block Alarms "Generate alarms of parallerl fan-powered terminal unit with consta
final h=dTHys)
"Discharge temperature greate than AHU supply temperature by a threshold"
annotation (Placement(transformation(extent={{-140,-210},{-120,-190}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaValAla "Check if generating leak valve alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla1
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-80,-190},{-60,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla2
+ "Check if generating leak valve alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-190},{0,-170}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt6(
final integerTrue=4)
@@ -391,8 +398,11 @@ block Alarms "Generate alarms of parallerl fan-powered terminal unit with consta
final delayTime=comChaTim)
"Check if the terminal fan has been commond on for threshold time"
annotation (Placement(transformation(extent={{-160,50},{-140,70}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and11
- "Check if the fan has been commond on for threshold time and fan is still off"
+ Buildings.Controls.OBC.CDL.Logical.And and12
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,80},{-80,100}})));
+ Buildings.Controls.OBC.CDL.Logical.And and13
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,80},{0,100}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant conInt4(
final k=2)
@@ -407,9 +417,12 @@ block Alarms "Generate alarms of parallerl fan-powered terminal unit with consta
Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel8(
final delayTime=comChaTim)
"Check if the terminal fan has been commond off for threshold time"
- annotation (Placement(transformation(extent={{-120,-20},{-100,0}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and10
- "Check if the fan has been commond off for threshold time and fan is still on"
+ annotation (Placement(transformation(extent={{-140,-20},{-120,0}})));
+ Buildings.Controls.OBC.CDL.Logical.And and10
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,10},{-80,30}})));
+ Buildings.Controls.OBC.CDL.Logical.And and11
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,10},{0,30}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt7(
final integerTrue=4)
@@ -507,10 +520,6 @@ equation
annotation (Line(points={{222,350},{260,350}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-110},{-202,-110}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -70},{-22,-70}}, color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-110},{-60,-110},
- {-60,-78},{-22,-78}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-110},{138,-110}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -563,10 +572,6 @@ equation
-200},{-142,-200}}, color={0,0,127}));
connect(addPar2.y, gre2.u2) annotation (Line(points={{-178,-230},{-160,-230},{
-160,-208},{-142,-208}}, color={0,0,127}));
- connect(u1Fan, leaValAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -180},{-22,-180}}, color={255,0,255}));
- connect(gre2.y, leaValAla.u3) annotation (Line(points={{-118,-200},{-60,-200},
- {-60,-188},{-22,-188}}, color={255,0,255}));
connect(not8.y, assMes6.u)
annotation (Line(points={{122,-220},{138,-220}}, color={255,0,255}));
connect(booToInt6.y, yLeaValAla)
@@ -576,39 +581,19 @@ equation
connect(u1FanCom, not9.u) annotation (Line(points={{-260,60},{-200,60},{-200,
-10},{-182,-10}}, color={255,0,255}));
connect(not9.y, truDel8.u)
- annotation (Line(points={{-158,-10},{-122,-10}}, color={255,0,255}));
- connect(u1FanCom, and11.u2) annotation (Line(points={{-260,60},{-200,60},{-200,
- 90},{-22,90}}, color={255,0,255}));
- connect(truDel7.y, and11.u3) annotation (Line(points={{-138,60},{-120,60},{-120,
- 82},{-22,82}}, color={255,0,255}));
- connect(and11.y, fanStaAla.u2)
- annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
- connect(not9.y, and10.u2) annotation (Line(points={{-158,-10},{-140,-10},{-140,
- 20},{-22,20}}, color={255,0,255}));
- connect(truDel8.y, and10.u3) annotation (Line(points={{-98,-10},{-80,-10},{-80,
- 12},{-22,12}}, color={255,0,255}));
- connect(and10.y, booToInt7.u)
- annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ annotation (Line(points={{-158,-10},{-142,-10}}, color={255,0,255}));
connect(conInt4.y, fanStaAla.u1) annotation (Line(points={{102,130},{120,130},
{120,98},{138,98}}, color={255,127,0}));
connect(booToInt7.y, fanStaAla.u3) annotation (Line(points={{102,20},{120,20},
{120,82},{138,82}}, color={255,127,0}));
connect(fanStaAla.y, yFanStaAla)
annotation (Line(points={{162,90},{260,90}}, color={255,127,0}));
- connect(and11.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
- 60}}, color={255,0,255}));
connect(not10.y, assMes7.u)
annotation (Line(points={{62,60},{78,60}}, color={255,0,255}));
connect(not11.y, assMes8.u)
annotation (Line(points={{62,-10},{78,-10}}, color={255,0,255}));
- connect(and10.y, not11.u) annotation (Line(points={{2,20},{20,20},{20,-10},{38,
- -10}}, color={255,0,255}));
- connect(u1TerFan, and10.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
- 28},{-22,28}}, color={255,0,255}));
connect(u1TerFan, not12.u) annotation (Line(points={{-260,20},{-180,20},{-180,
110},{-162,110}}, color={255,0,255}));
- connect(not12.y, and11.u1) annotation (Line(points={{-138,110},{-80,110},{-80,
- 98},{-22,98}}, color={255,0,255}));
connect(greThr.y, truDel9.u)
annotation (Line(points={{-158,330},{-122,330}}, color={255,0,255}));
connect(truDel9.y, and1.u1)
@@ -623,22 +608,16 @@ equation
{38,170}}, color={255,0,255}));
connect(not3.y, and5.u2) annotation (Line(points={{-178,140},{-50,140},{-50,192},
{-42,192}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
connect(truDel3.y, booToInt3.u)
annotation (Line(points={{62,-70},{138,-70}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{62,-70},{80,-70},{80,-110},
{98,-110}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
- -62},{-22,-62}}, color={255,0,255}));
- connect(leaValAla.y, truDel6.u)
- annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
connect(truDel6.y, not8.u) annotation (Line(points={{62,-180},{80,-180},{80,-220},
{98,-220}}, color={255,0,255}));
connect(truDel6.y, booToInt6.u)
annotation (Line(points={{62,-180},{138,-180}}, color={255,0,255}));
- connect(cloVal.y, leaValAla.u1) annotation (Line(points={{-178,-160},{-60,-160},
- {-60,-172},{-22,-172}}, color={255,0,255}));
+ connect(cloVal.y, leaValAla1.u1) annotation (Line(points={{-178,-160},{-100,-160},
+ {-100,-180},{-82,-180}}, color={255,0,255}));
connect(les2.y, and8.u1)
annotation (Line(points={{-98,-380},{-82,-380}}, color={255,0,255}));
connect(and8.y, truDel5.u)
@@ -659,6 +638,48 @@ equation
-318},{-82,-318}}, color={255,0,255}));
connect(u1HotPla, and8.u2) annotation (Line(points={{-260,-270},{-90,-270},{-90,
-388},{-82,-388}}, color={255,0,255}));
+ connect(and13.y, not10.u) annotation (Line(points={{2,90},{30,90},{30,60},{38,
+ 60}}, color={255,0,255}));
+ connect(and13.y, fanStaAla.u2)
+ annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
+ connect(not12.y, and13.u1) annotation (Line(points={{-138,110},{-30,110},{-30,
+ 90},{-22,90}}, color={255,0,255}));
+ connect(u1FanCom, and12.u1) annotation (Line(points={{-260,60},{-200,60},{-200,
+ 90},{-102,90}}, color={255,0,255}));
+ connect(and12.u2, truDel7.y) annotation (Line(points={{-102,82},{-120,82},{-120,
+ 60},{-138,60}}, color={255,0,255}));
+ connect(and12.y, and13.u2) annotation (Line(points={{-78,90},{-40,90},{-40,82},
+ {-22,82}}, color={255,0,255}));
+ connect(and11.y, booToInt7.u)
+ annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ connect(and11.y, not11.u) annotation (Line(points={{2,20},{30,20},{30,-10},{38,
+ -10}}, color={255,0,255}));
+ connect(u1TerFan, and11.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
+ 40},{-30,40},{-30,20},{-22,20}}, color={255,0,255}));
+ connect(not9.y, and10.u1) annotation (Line(points={{-158,-10},{-150,-10},{-150,
+ 20},{-102,20}}, color={255,0,255}));
+ connect(truDel8.y, and10.u2) annotation (Line(points={{-118,-10},{-110,-10},{-110,
+ 12},{-102,12}}, color={255,0,255}));
+ connect(and10.y, and11.u2) annotation (Line(points={{-78,20},{-40,20},{-40,12},
+ {-22,12}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
+ -70},{-22,-70}}, color={255,0,255}));
+ connect(u1Fan, leaDamAla1.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-70},{-102,-70}}, color={255,0,255}));
+ connect(cloDam.y, leaDamAla1.u2) annotation (Line(points={{-178,-110},{-140,-110},
+ {-140,-78},{-102,-78}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,-70},{-70,-70},
+ {-70,-78},{-22,-78}}, color={255,0,255}));
+ connect(leaValAla2.y, truDel6.u)
+ annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
+ connect(u1Fan, leaValAla2.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-140},{-30,-140},{-30,-180},{-22,-180}}, color={255,0,255}));
+ connect(gre2.y, leaValAla1.u2) annotation (Line(points={{-118,-200},{-100,-200},
+ {-100,-188},{-82,-188}}, color={255,0,255}));
+ connect(leaValAla1.y, leaValAla2.u2) annotation (Line(points={{-58,-180},{-40,
+ -180},{-40,-188},{-22,-188}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -843,6 +864,13 @@ on (u1Fan=true
), gemerate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanVVF/Subsequences/Alarms.mo b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanVVF/Subsequences/Alarms.mo
index 4a0ae7b5468..e8bb68d4248 100644
--- a/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanVVF/Subsequences/Alarms.mo
+++ b/Buildings/Controls/OBC/ASHRAE/G36/TerminalUnits/SeriesFanVVF/Subsequences/Alarms.mo
@@ -266,8 +266,11 @@ block Alarms "Generate alarms of series fan-powered terminal unit with variable-
final t=damPosHys,
final h=0.5*damPosHys) "Check if damper position is near zero"
annotation (Placement(transformation(extent={{-200,-120},{-180,-100}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaDamAla
- "Check if generating leak damper alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla1
+ "Check if generating leak damper alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-80},{-80,-60}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaDamAla2
+ "Check if generating leak damper alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-80},{0,-60}})));
Buildings.Controls.OBC.CDL.Logical.Not not5 "Logical not"
annotation (Placement(transformation(extent={{100,-120},{120,-100}})));
@@ -374,7 +377,11 @@ block Alarms "Generate alarms of series fan-powered terminal unit with variable-
final h=dTHys)
"Discharge temperature greate than AHU supply temperature by a threshold"
annotation (Placement(transformation(extent={{-140,-210},{-120,-190}})));
- Buildings.Controls.OBC.CDL.Logical.And3 leaValAla "Check if generating leak valve alarms"
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla1
+ "Check if generating leak valve alarms, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,-190},{-80,-170}})));
+ Buildings.Controls.OBC.CDL.Logical.And leaValAla2
+ "Check if generating leak valve alarms, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,-190},{0,-170}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt6(
final integerTrue=4)
@@ -390,8 +397,11 @@ block Alarms "Generate alarms of series fan-powered terminal unit with variable-
final delayTime=comChaTim)
"Check if the terminal fan has been commond on for threshold time"
annotation (Placement(transformation(extent={{-160,50},{-140,70}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and11
- "Check if the fan has been commond on for threshold time and fan is still off"
+ Buildings.Controls.OBC.CDL.Logical.And and12
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,80},{-80,100}})));
+ Buildings.Controls.OBC.CDL.Logical.And and13
+ "Check if the fan has been commond on for threshold time and fan is still off, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,80},{0,100}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant conInt4(
final k=2)
@@ -406,9 +416,12 @@ block Alarms "Generate alarms of series fan-powered terminal unit with variable-
Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel8(
final delayTime=comChaTim)
"Check if the terminal fan has been commond off for threshold time"
- annotation (Placement(transformation(extent={{-120,-20},{-100,0}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and10
- "Check if the fan has been commond off for threshold time and fan is still on"
+ annotation (Placement(transformation(extent={{-140,-20},{-120,0}})));
+ Buildings.Controls.OBC.CDL.Logical.And and10
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
+ annotation (Placement(transformation(extent={{-100,10},{-80,30}})));
+ Buildings.Controls.OBC.CDL.Logical.And and11
+ "Check if the fan has been commond off for threshold time and fan is still on, one of two stacked And blocks"
annotation (Placement(transformation(extent={{-20,10},{0,30}})));
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt7(
final integerTrue=4)
@@ -506,10 +519,6 @@ equation
annotation (Line(points={{222,350},{260,350}}, color={255,127,0}));
connect(uDam, cloDam.u)
annotation (Line(points={{-260,-110},{-202,-110}}, color={0,0,127}));
- connect(u1Fan, leaDamAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -70},{-22,-70}},color={255,0,255}));
- connect(cloDam.y, leaDamAla.u3) annotation (Line(points={{-178,-110},{-60,-110},
- {-60,-78},{-22,-78}}, color={255,0,255}));
connect(not5.y, assMes3.u)
annotation (Line(points={{122,-110},{138,-110}}, color={255,0,255}));
connect(booToInt3.y, yLeaDamAla)
@@ -562,10 +571,6 @@ equation
-200},{-142,-200}}, color={0,0,127}));
connect(addPar2.y, gre2.u2) annotation (Line(points={{-178,-230},{-160,-230},{
-160,-208},{-142,-208}}, color={0,0,127}));
- connect(u1Fan, leaValAla.u2) annotation (Line(points={{-260,140},{-220,140},{-220,
- -180},{-22,-180}},color={255,0,255}));
- connect(gre2.y, leaValAla.u3) annotation (Line(points={{-118,-200},{-60,-200},
- {-60,-188},{-22,-188}}, color={255,0,255}));
connect(not8.y, assMes6.u)
annotation (Line(points={{122,-220},{138,-220}}, color={255,0,255}));
connect(booToInt6.y, yLeaValAla)
@@ -575,39 +580,19 @@ equation
connect(u1FanCom, not9.u) annotation (Line(points={{-260,60},{-200,60},{-200,-10},
{-182,-10}}, color={255,0,255}));
connect(not9.y, truDel8.u)
- annotation (Line(points={{-158,-10},{-122,-10}}, color={255,0,255}));
- connect(u1FanCom, and11.u2) annotation (Line(points={{-260,60},{-200,60},{-200,
- 90},{-22,90}}, color={255,0,255}));
- connect(truDel7.y, and11.u3) annotation (Line(points={{-138,60},{-120,60},{-120,
- 82},{-22,82}}, color={255,0,255}));
- connect(and11.y, fanStaAla.u2)
- annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
- connect(not9.y, and10.u2) annotation (Line(points={{-158,-10},{-140,-10},{-140,
- 20},{-22,20}}, color={255,0,255}));
- connect(truDel8.y, and10.u3) annotation (Line(points={{-98,-10},{-80,-10},{-80,
- 12},{-22,12}}, color={255,0,255}));
- connect(and10.y, booToInt7.u)
- annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ annotation (Line(points={{-158,-10},{-142,-10}}, color={255,0,255}));
connect(conInt4.y, fanStaAla.u1) annotation (Line(points={{102,130},{120,130},
{120,98},{138,98}}, color={255,127,0}));
connect(booToInt7.y, fanStaAla.u3) annotation (Line(points={{102,20},{120,20},
{120,82},{138,82}}, color={255,127,0}));
connect(fanStaAla.y, yFanStaAla)
annotation (Line(points={{162,90},{260,90}}, color={255,127,0}));
- connect(and11.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
- 60}}, color={255,0,255}));
connect(not10.y, assMes7.u)
annotation (Line(points={{62,60},{78,60}}, color={255,0,255}));
connect(not11.y, assMes8.u)
annotation (Line(points={{62,-10},{78,-10}}, color={255,0,255}));
- connect(and10.y, not11.u) annotation (Line(points={{2,20},{20,20},{20,-10},{38,
- -10}}, color={255,0,255}));
- connect(u1TerFan, and10.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
- 28},{-22,28}}, color={255,0,255}));
connect(u1TerFan, not12.u) annotation (Line(points={{-260,20},{-180,20},{-180,
110},{-162,110}}, color={255,0,255}));
- connect(not12.y, and11.u1) annotation (Line(points={{-138,110},{-80,110},{-80,
- 98},{-22,98}}, color={255,0,255}));
connect(greThr.y, truDel9.u)
annotation (Line(points={{-158,330},{-122,330}}, color={255,0,255}));
connect(truDel9.y, and1.u1)
@@ -626,14 +611,6 @@ equation
annotation (Line(points={{62,-70},{138,-70}}, color={255,0,255}));
connect(truDel3.y, not5.u) annotation (Line(points={{62,-70},{80,-70},{80,-110},
{98,-110}}, color={255,0,255}));
- connect(leaDamAla.y, truDel3.u)
- annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
- connect(gre1.y, leaDamAla.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
- -62},{-22,-62}}, color={255,0,255}));
- connect(cloVal.y, leaValAla.u1) annotation (Line(points={{-178,-160},{-60,-160},
- {-60,-172},{-22,-172}}, color={255,0,255}));
- connect(leaValAla.y, truDel6.u)
- annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
connect(truDel6.y, booToInt6.u)
annotation (Line(points={{62,-180},{138,-180}}, color={255,0,255}));
connect(truDel6.y, not8.u) annotation (Line(points={{62,-180},{80,-180},{80,-220},
@@ -658,6 +635,50 @@ equation
-318},{-82,-318}}, color={255,0,255}));
connect(u1HotPla, and8.u2) annotation (Line(points={{-260,-270},{-90,-270},{-90,
-388},{-82,-388}}, color={255,0,255}));
+ connect(and13.y, not10.u) annotation (Line(points={{2,90},{20,90},{20,60},{38,
+ 60}}, color={255,0,255}));
+ connect(and13.y, fanStaAla.u2)
+ annotation (Line(points={{2,90},{138,90}}, color={255,0,255}));
+ connect(not12.y, and13.u1) annotation (Line(points={{-138,110},{-30,110},{-30,
+ 90},{-22,90}}, color={255,0,255}));
+ connect(u1FanCom, and12.u1) annotation (Line(points={{-260,60},{-200,60},{-200,
+ 90},{-102,90}}, color={255,0,255}));
+ connect(truDel7.y, and12.u2) annotation (Line(points={{-138,60},{-120,60},{-120,
+ 82},{-102,82}}, color={255,0,255}));
+ connect(and12.y, and13.u2) annotation (Line(points={{-78,90},{-40,90},{-40,82},
+ {-22,82}}, color={255,0,255}));
+ connect(and11.y, booToInt7.u)
+ annotation (Line(points={{2,20},{78,20}}, color={255,0,255}));
+ connect(and11.y, not11.u) annotation (Line(points={{2,20},{32,20},{32,-10},{38,
+ -10}}, color={255,0,255}));
+ connect(u1TerFan, and11.u1) annotation (Line(points={{-260,20},{-180,20},{-180,
+ 40},{-30,40},{-30,20},{-22,20}}, color={255,0,255}));
+ connect(truDel8.y, and10.u2) annotation (Line(points={{-118,-10},{-110,-10},{-110,
+ 12},{-102,12}}, color={255,0,255}));
+ connect(not9.y, and10.u1) annotation (Line(points={{-158,-10},{-150,-10},{-150,
+ 20},{-102,20}}, color={255,0,255}));
+ connect(and10.y, and11.u2) annotation (Line(points={{-78,20},{-40,20},{-40,12},
+ {-22,12}}, color={255,0,255}));
+ connect(leaDamAla2.y, truDel3.u)
+ annotation (Line(points={{2,-70},{38,-70}}, color={255,0,255}));
+ connect(gre1.y, leaDamAla2.u1) annotation (Line(points={{-78,200},{-60,200},{-60,
+ -70},{-22,-70}}, color={255,0,255}));
+ connect(u1Fan, leaDamAla1.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-70},{-102,-70}}, color={255,0,255}));
+ connect(leaDamAla1.u2, cloDam.y) annotation (Line(points={{-102,-78},{-164,-78},
+ {-164,-110},{-178,-110}}, color={255,0,255}));
+ connect(leaDamAla1.y, leaDamAla2.u2) annotation (Line(points={{-78,-70},{-70,-70},
+ {-70,-78},{-22,-78}}, color={255,0,255}));
+ connect(leaValAla2.y, truDel6.u)
+ annotation (Line(points={{2,-180},{38,-180}}, color={255,0,255}));
+ connect(u1Fan, leaValAla2.u1) annotation (Line(points={{-260,140},{-220,140},{
+ -220,-140},{-60,-140},{-60,-180},{-22,-180}}, color={255,0,255}));
+ connect(cloVal.y, leaValAla1.u1) annotation (Line(points={{-178,-160},{-110,-160},
+ {-110,-180},{-102,-180}}, color={255,0,255}));
+ connect(gre2.y, leaValAla1.u2) annotation (Line(points={{-118,-200},{-110,-200},
+ {-110,-188},{-102,-188}}, color={255,0,255}));
+ connect(leaValAla1.y, leaValAla2.u2) annotation (Line(points={{-78,-180},{-70,
+ -180},{-70,-188},{-22,-188}}, color={255,0,255}));
annotation (defaultComponentName="ala",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
graphics={
@@ -842,6 +863,13 @@ on (u1Fan=true
), gemerate a Level 4 alarm.
",revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
August 1, 2020, by Jianjun Hu:
First implementation.
diff --git a/Buildings/Controls/OBC/CDL/Logical/Validation/package.order b/Buildings/Controls/OBC/CDL/Logical/Validation/package.order
index bf463ca2b05..9e2e4a4464c 100644
--- a/Buildings/Controls/OBC/CDL/Logical/Validation/package.order
+++ b/Buildings/Controls/OBC/CDL/Logical/Validation/package.order
@@ -1,5 +1,4 @@
And
-And3
Change
Edge
FallingEdge
diff --git a/Buildings/Controls/OBC/CDL/Logical/package.order b/Buildings/Controls/OBC/CDL/Logical/package.order
index 5f083666dad..52b0f87a879 100644
--- a/Buildings/Controls/OBC/CDL/Logical/package.order
+++ b/Buildings/Controls/OBC/CDL/Logical/package.order
@@ -1,5 +1,4 @@
And
-And3
Change
Edge
FallingEdge
diff --git a/Buildings/Experimental/DHC/Plants/Combined/Controls/BaseClasses/ModeCondenserLoop.mo b/Buildings/Experimental/DHC/Plants/Combined/Controls/BaseClasses/ModeCondenserLoop.mo
index 7d7be080c35..bef6d3d628a 100644
--- a/Buildings/Experimental/DHC/Plants/Combined/Controls/BaseClasses/ModeCondenserLoop.mo
+++ b/Buildings/Experimental/DHC/Plants/Combined/Controls/BaseClasses/ModeCondenserLoop.mo
@@ -116,8 +116,11 @@ block ModeCondenserLoop
Buildings.Controls.OBC.CDL.Logical.Not criFraChaHig
"High charge fraction criterion"
annotation (Placement(transformation(extent={{-70,-130},{-50,-110}})));
- Buildings.Controls.OBC.CDL.Logical.And3 allEnaTru "All enable criteria true"
- annotation (Placement(transformation(extent={{40,130},{60,150}})));
+ Buildings.Controls.OBC.CDL.Logical.And allEnaTru "All enable criteria true"
+ annotation (Placement(transformation(extent={{50,170},{70,190}})));
+ Buildings.Controls.OBC.CDL.Logical.And criTemOrCriChaHigAndTimCriFlo
+ "Temperature or high charge fraction criterion true and given time criterion true"
+ annotation (Placement(transformation(extent={{50,130},{70,150}})));
Buildings.Controls.OBC.CDL.Logical.Timer timCriFraChaHig(t=5*60)
annotation (Placement(transformation(extent={{-40,-130},{-20,-110}})));
Buildings.Controls.OBC.CDL.Logical.Or criTemOrCriChaHig
@@ -240,14 +243,10 @@ equation
annotation (Line(points={{-78,-120},{-72,-120}}, color={255,0,255}));
connect(criFloAndTem.y, disCha.u1) annotation (Line(points={{-8,40},{4,40},{4,
-30},{38,-30}}, color={255,0,255}));
- connect(timNotCha.passed, allEnaTru.u1) annotation (Line(points={{32,152},{36,
- 152},{36,148},{38,148}}, color={255,0,255}));
+ connect(timNotCha.passed, allEnaTru.u1) annotation (Line(points={{32,152},{40,
+ 152},{40,180},{48,180}}, color={255,0,255}));
connect(criFraChaHig.y, timCriFraChaHig.u)
annotation (Line(points={{-48,-120},{-42,-120}}, color={255,0,255}));
- connect(timCriFlo.passed, allEnaTru.u2) annotation (Line(points={{-48,52},{-40,
- 52},{-40,140},{38,140}}, color={255,0,255}));
- connect(criTemOrCriChaHig.y, allEnaTru.u3) annotation (Line(points={{32,120},{
- 36,120},{36,132},{38,132}}, color={255,0,255}));
connect(timCriTem.passed, criTemOrCriChaHig.u1) annotation (Line(points={{-48,22},
{-36,22},{-36,120},{8,120}}, color={255,0,255}));
connect(timCriFraChaHig.passed, criTemOrCriChaHig.u2) annotation (Line(points={{-18,
@@ -296,8 +295,8 @@ equation
64,-60},{68,-60}}, color={255,0,255}));
connect(enaAndNotDis1.y, enaRej.u) annotation (Line(points={{72,110},{76,110},
{76,100},{78,100}}, color={255,0,255}));
- connect(allEnaTru.y, enaAndNotDis1.u1) annotation (Line(points={{62,140},{64,140},
- {64,126},{44,126},{44,110},{48,110}}, color={255,0,255}));
+ connect(allEnaTru.y, enaAndNotDis1.u1) annotation (Line(points={{72,180},{80,180},
+ {80,126},{40,126},{40,110},{48,110}}, color={255,0,255}));
connect(notDis1.y, enaAndNotDis1.u2) annotation (Line(points={{32,94},{44,94},
{44,102},{48,102}}, color={255,0,255}));
connect(timCriFlo1.passed, notDis1.u) annotation (Line(points={{-48,112},{-44,
@@ -356,6 +355,13 @@ equation
{34,-14},{34,-38},{38,-38}}, color={255,0,255}));
connect(ratHeaRec.y, criRatHeaRec.u)
annotation (Line(points={{-68,-180},{-62,-180}}, color={0,0,127}));
+ connect(criTemOrCriChaHig.y, criTemOrCriChaHigAndTimCriFlo.u2) annotation (
+ Line(points={{32,120},{36,120},{36,132},{48,132}}, color={255,0,255}));
+ connect(timCriFlo.passed, criTemOrCriChaHigAndTimCriFlo.u1) annotation (Line(
+ points={{-48,52},{-40,52},{-40,140},{48,140}}, color={255,0,255}));
+ connect(criTemOrCriChaHigAndTimCriFlo.y, allEnaTru.u2) annotation (Line(
+ points={{72,140},{76,140},{76,164},{46,164},{46,172},{48,172}}, color={255,
+ 0,255}));
annotation (
defaultComponentName="modConLoo",
Icon(graphics={
@@ -445,6 +451,13 @@ The mode is enabled whenever neither Charge Assist nor Heat Rejection mode is en
", revisions="
-
+August 29, 2023, by Hongxiang Fu:
+Because of the removal of Logical.And3
based on ASHRAE 231P,
+replaced it with a stack of two Logical.And
blocks.
+This is for
+#2465.
+
+-
February 24, 2023, by Antoine Gautier:
First implementation.
diff --git a/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo b/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
index d30044b6858..3de8d00d956 100644
--- a/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
+++ b/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Enable.mo
@@ -114,7 +114,7 @@ block Enable
annotation (Placement(transformation(extent={{180,-230},{220,-190}}),
iconTransformation(extent={{100,-20},{140,20}})));
- Buildings.Controls.OBC.CDL.Logical.And3 andEnaDis
+ Buildings.Obsolete.Controls.OBC.CDL.Logical.And3 andEnaDis
"Logical and that checks freeze protection stage and zone state"
annotation (Placement(transformation(extent={{40,30},{60,50}})));
Buildings.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol(
diff --git a/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo b/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
index dd06002f6f6..8bab627e88c 100644
--- a/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
+++ b/Buildings/Obsolete/Controls/OBC/ASHRAE/G36_PR1/AHUs/SingleZone/VAV/Economizers/Subsequences/Limits.mo
@@ -173,7 +173,7 @@ protected
annotation (Placement(transformation(extent={{-140,-190},{-120,-170}})));
Buildings.Controls.OBC.CDL.Integers.Equal intEqu1 "Check if operation mode is occupied"
annotation (Placement(transformation(extent={{-100,-170},{-80,-150}})));
- Buildings.Controls.OBC.CDL.Logical.And3 and3 "Logical and"
+ Buildings.Obsolete.Controls.OBC.CDL.Logical.And3 and3 "Logical and"
annotation (Placement(transformation(extent={{-60,-80},{-40,-60}})));
equation
diff --git a/Buildings/Controls/OBC/CDL/Logical/And3.mo b/Buildings/Obsolete/Controls/OBC/CDL/Logical/And3.mo
similarity index 80%
rename from Buildings/Controls/OBC/CDL/Logical/And3.mo
rename to Buildings/Obsolete/Controls/OBC/CDL/Logical/And3.mo
index e6d9fc3baf2..0f3d2e969b6 100644
--- a/Buildings/Controls/OBC/CDL/Logical/And3.mo
+++ b/Buildings/Obsolete/Controls/OBC/CDL/Logical/And3.mo
@@ -1,16 +1,18 @@
-within Buildings.Controls.OBC.CDL.Logical;
+within Buildings.Obsolete.Controls.OBC.CDL.Logical;
block And3
"Logical 'and3': y = u1 and u2 and u3"
- Interfaces.BooleanInput u1
+ extends Modelica.Icons.ObsoleteModel;
+
+ Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1
"Connector of first Boolean input signal"
annotation (Placement(transformation(extent={{-140,60},{-100,100}})));
- Interfaces.BooleanInput u2
+ Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u2
"Connector of second Boolean input signal"
annotation (Placement(transformation(extent={{-140,-20},{-100,20}})));
- Interfaces.BooleanInput u3
+ Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u3
"Connector of third Boolean input signal"
annotation (Placement(transformation(extent={{-140,-100},{-100,-60}})));
- Interfaces.BooleanOutput y
+ Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput y
"Connector of Boolean output signal"
annotation (Placement(transformation(extent={{100,-20},{140,20}})));
@@ -18,6 +20,7 @@ equation
y=u1 and u2 and u3;
annotation (
defaultComponentName="and3",
+ obsolete = "This model is obsolete, use two blocks of Buildings.Controls.OBC.CDL.Logical.And stacked together instead",
Icon(
coordinateSystem(
preserveAspectRatio=true,
@@ -86,6 +89,11 @@ Otherwise the output is false
.
revisions="