Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Move CDL blocks to Obsolete package #3601

Merged
merged 19 commits into from
Dec 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,6 @@ model Enable_TOut_hOut
Buildings.Controls.OBC.CDL.Reals.Sources.Constant hOutCut1(
final k=hOutCutoff) "Outdoor air enthalpy cutoff"
annotation (Placement(transformation(extent={{-40,40},{-20,60}})));
Buildings.Controls.OBC.CDL.Logical.TriggeredTrapezoid TOut(
final rising=1000,
final falling=800,
final amplitude=4,
final offset=TOutCutoff - 2) "Outoor air temperature"
annotation (Placement(transformation(extent={{-160,150},{-140,170}})));
Buildings.Controls.OBC.CDL.Logical.TriggeredTrapezoid hOut(
final amplitude=4000,
final offset=hOutCutoff - 2200,
final rising=1000,
final falling=800) "Outdoor air enthalpy"
annotation (Placement(transformation(extent={{-40,80},{-20,100}})));

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Enable enaDis
"Multi zone VAV AHU economizer enable disable sequence"
Expand All @@ -31,7 +19,18 @@ model Enable_TOut_hOut
final use_enthalpy=false)
"Multi zone VAV AHU economizer enable disable sequence"
annotation (Placement(transformation(extent={{220,-44},{240,-16}})));

Buildings.Controls.OBC.CDL.Reals.Sources.Sin TOut(
final amplitude=4,
final freqHz=1/3600,
final offset=TOutCutoff - 2,
final startTime=10) "Outdoor air temperature"
annotation (Placement(transformation(extent={{-160,140},{-140,160}})));
Buildings.Controls.OBC.CDL.Reals.Sources.Sin hOut(
final amplitude=4000,
final freqHz=1/3600,
final offset=hOutCutoff - 2200,
final startTime=10) "Outdoor air enthalpy"
annotation (Placement(transformation(extent={{-40,82},{-20,102}})));
protected
final parameter Real TOutCutoff(
final unit="K",
Expand Down Expand Up @@ -79,12 +78,6 @@ protected
Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFanSta(
final k=true) "Supply fan status signal"
annotation (Placement(transformation(extent={{-200,-42},{-180,-22}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul(final shift=10,
final period=2000) "Boolean pulse signal"
annotation (Placement(transformation(extent={{-200,150},{-180,170}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul1(final shift=10,
final period=2000) "Boolean pulse signal"
annotation (Placement(transformation(extent={{-80,80},{-60,100}})));

equation
connect(TOutCut.y, enaDis.TOutCut)
Expand Down Expand Up @@ -114,14 +107,6 @@ equation
{-82,-22}}, color={0,0,127}));
connect(TOutBelowCutoff.y, enaDis1.TOut)
annotation (Line(points={{62,90},{70,90},{70,-20},{78,-20},{78,-17}}, color={0,0,127}));
connect(booPul.y, TOut.u)
annotation (Line(points={{-178,160},{-162,160}}, color={255,0,255}));
connect(TOut.y, enaDis.TOut)
annotation (Line(points={{-138,160},{-110,160},{-110,-17},{-82,-17}}, color={0,0,127}));
connect(booPul1.y, hOut.u)
annotation (Line(points={{-58,90},{-58,90},{-42,90}}, color={255,0,255}));
connect(hOut.y, enaDis1.hOut)
annotation (Line(points={{-18,90},{-10,90},{-10,60},{20,60},{20,-22},{78,-22}}, color={0,0,127}));
connect(freProSta.y, enaDis1.uFreProSta)
annotation (Line(points={{-178,30},{-46,30},{-46,-29},{78,-29}}, color={255,127,0}));
connect(outDamPosMax.y, enaDis1.uOutDam_max) annotation (Line(points={{-218,-70},
Expand All @@ -134,8 +119,6 @@ equation
{20,-150},{20,-41},{78,-41}}, color={0,0,127}));
connect(retDamPosMin.y, enaDis1.uRetDam_min) annotation (Line(points={{-138,-190},
{30,-190},{30,-43},{78,-43}}, color={0,0,127}));
connect(TOut.y, enaDis2.TOut)
annotation (Line(points={{-138,160},{200,160},{200,-17},{218,-17}}, color={0,0,127}));
connect(TOutCut.y, enaDis2.TOutCut)
annotation (Line(points={{-138,90},{-120,90},{-120,120},{188,120},{188,-19},
{218,-19}}, color={0,0,127}));
Expand All @@ -157,7 +140,12 @@ equation
-32},{-160,-12},{-20,-12},{-20,-27},{78,-27}}, color={255,0,255}));
connect(supFanSta.y, enaDis2.u1SupFan) annotation (Line(points={{-178,-32},{-160,
-32},{-160,-12},{140,-12},{140,-27},{218,-27}}, color={255,0,255}));

connect(TOut.y, enaDis.TOut) annotation (Line(points={{-138,150},{-100,150},{-100,
-17},{-82,-17}}, color={0,0,127}));
connect(TOut.y, enaDis2.TOut) annotation (Line(points={{-138,150},{196,150},{196,
-17},{218,-17}}, color={0,0,127}));
connect(hOut.y, enaDis1.hOut) annotation (Line(points={{-18,92},{-10,92},{-10,
60},{20,60},{20,-22},{78,-22}}, color={0,0,127}));
annotation (
experiment(StopTime=1800.0, Tolerance=1e-06),
__Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/G36/AHUs/MultiZone/VAV/Economizers/Subsequences/Validation/Enable_TOut_hOut.mos"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ block FreezeProtection
annotation (Placement(transformation(extent={{440,-860},{480,-820}}),
iconTransformation(extent={{100,-210},{140,-170}})));

protected
Buildings.Controls.OBC.CDL.Reals.LessThreshold lesThr(
final t=273.15 + 4.4,
final h=Thys) if have_frePro
Expand Down Expand Up @@ -400,7 +401,7 @@ block FreezeProtection
Buildings.Controls.OBC.CDL.Logical.Timer tim3(
final t=900) if have_frePro
"Check if the supply air temperature has been lower than threshold value for sufficient long time"
annotation (Placement(transformation(extent={{-300,240},{-280,260}})));
annotation (Placement(transformation(extent={{-320,240},{-300,260}})));
Buildings.Controls.OBC.CDL.Reals.LessThreshold lesThr2(
final t=273.15 + 1,
final h=Thys) if have_frePro
Expand All @@ -409,15 +410,15 @@ block FreezeProtection
Buildings.Controls.OBC.CDL.Logical.Timer tim4(
final t=300) if have_frePro
"Check if the supply air temperature has been lower than threshold value for sufficient long time"
annotation (Placement(transformation(extent={{-300,200},{-280,220}})));
Buildings.Controls.OBC.CDL.Logical.Or3 or3 if have_frePro
annotation (Placement(transformation(extent={{-320,200},{-300,220}})));
Buildings.Controls.OBC.CDL.Logical.Or or8 if have_frePro
"Check if it should be in stage 3 mode"
annotation (Placement(transformation(extent={{-220,192},{-200,212}})));
annotation (Placement(transformation(extent={{-220,190},{-200,210}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant con2(
final k=false) if not freSta == Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat.Hardwired_to_BAS
and have_frePro
"Constant false"
annotation (Placement(transformation(extent={{-300,50},{-280,70}})));
annotation (Placement(transformation(extent={{-320,50},{-300,70}})));
Buildings.Controls.OBC.CDL.Logical.Latch lat1 if have_frePro
"Stay in stage 3 freeze protection mode"
annotation (Placement(transformation(extent={{-140,150},{-120,170}})));
Expand Down Expand Up @@ -732,6 +733,9 @@ block FreezeProtection
if (not have_frePro) and heaCoi==Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil.WaterBased
"Dummy constant"
annotation (Placement(transformation(extent={{360,-820},{380,-800}})));
Buildings.Controls.OBC.CDL.Logical.Or or7 if have_frePro
"Check if it should be in stage 3 mode"
annotation (Placement(transformation(extent={{-280,232},{-260,252}})));

equation
connect(lesThr.y, tim.u)
Expand Down Expand Up @@ -778,18 +782,12 @@ equation
410},{118,410}}, color={0,0,127}));
connect(conInt1.y, intSwi1.u1) annotation (Line(points={{62,350},{100,350},{
100,328},{118,328}}, color={255,127,0}));
connect(lesThr1.y, tim3.u) annotation (Line(points={{-358,470},{-350,470},{
-350,250},{-302,250}}, color={255,0,255}));
connect(lesThr1.y, tim3.u) annotation (Line(points={{-358,470},{-350,470},{-350,
250},{-322,250}}, color={255,0,255}));
connect(lesThr2.y, tim4.u)
annotation (Line(points={{-338,210},{-302,210}}, color={255,0,255}));
annotation (Line(points={{-338,210},{-322,210}}, color={255,0,255}));
connect(TAirSup, lesThr2.u) annotation (Line(points={{-460,330},{-420,330},{
-420,210},{-362,210}}, color={0,0,127}));
connect(tim3.passed, or3.u1) annotation (Line(points={{-278,242},{-240,242},{
-240,210},{-222,210}}, color={255,0,255}));
connect(tim4.passed, or3.u2)
annotation (Line(points={{-278,202},{-222,202}}, color={255,0,255}));
connect(con2.y, or3.u3) annotation (Line(points={{-278,60},{-240,60},{-240,
194},{-222,194}}, color={255,0,255}));
connect(u1SofSwiRes, lat1.clr) annotation (Line(points={{-460,20},{-160,20},{
-160,154},{-142,154}}, color={255,0,255}));
connect(lat1.y, supFan.u2) annotation (Line(points={{-118,160},{20,160},{20,
Expand Down Expand Up @@ -960,8 +958,8 @@ equation
{318,-62}}, color={255,0,255}));
connect(u1FreSta,norFal. u) annotation (Line(points={{-460,130},{-362,130}},
color={255,0,255}));
connect(or3.y, lat1.u) annotation (Line(points={{-198,202},{-160,202},{-160,
160},{-142,160}}, color={255,0,255}));
connect(or8.y, lat1.u) annotation (Line(points={{-198,200},{-160,200},{-160,160},
{-142,160}}, color={255,0,255}));
connect(falEdg.y, lat1.clr) annotation (Line(points={{-198,130},{-180,130},{
-180,154},{-142,154}}, color={255,0,255}));
connect(u1RetFan, and1.u1) annotation (Line(points={{-460,-320},{-80,-320},{-80,
Expand Down Expand Up @@ -1046,8 +1044,6 @@ equation
{460,-220}}, color={0,0,127}));
connect(norFal.y, falEdg.u)
annotation (Line(points={{-338,130},{-222,130}}, color={255,0,255}));
connect(norFal.y, or3.u3) annotation (Line(points={{-338,130},{-260,130},{-260,
194},{-222,194}}, color={255,0,255}));
connect(conInt9.y, yFreProSta) annotation (Line(points={{402,370},{420,370},{420,
320},{460,320}}, color={255,127,0}));
connect(gai8.y, yRetDam) annotation (Line(points={{-218,-50},{366,-50},{366,160},
Expand Down Expand Up @@ -1088,6 +1084,16 @@ equation
annotation (Line(points={{342,-460},{460,-460}}, color={255,0,255}));
connect(and3.y, y1RelDam) annotation (Line(points={{342,-420},{360,-420},{360,
-460},{460,-460}}, color={255,0,255}));
connect(tim3.passed, or7.u1)
annotation (Line(points={{-298,242},{-282,242}}, color={255,0,255}));
connect(tim4.passed, or7.u2) annotation (Line(points={{-298,202},{-290,202},{-290,
234},{-282,234}}, color={255,0,255}));
connect(or7.y, or8.u1) annotation (Line(points={{-258,242},{-240,242},{-240,200},
{-222,200}}, color={255,0,255}));
connect(norFal.y, or8.u2) annotation (Line(points={{-338,130},{-240,130},{-240,
192},{-222,192}}, color={255,0,255}));
connect(con2.y, or8.u2) annotation (Line(points={{-298,60},{-240,60},{-240,192},
{-222,192}}, color={255,0,255}));
annotation (defaultComponentName="mulAHUFrePro",
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-200},{100,200}}),
graphics={
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,9 @@ protected
Buildings.Controls.OBC.CDL.Logical.Or or2 if have_perZonRehBox
"Setback or warmup mode"
annotation (Placement(transformation(extent={{20,30},{40,50}})));
Buildings.Controls.OBC.CDL.Logical.Or3 or3
Buildings.Controls.OBC.CDL.Logical.Or or3
"Cool-down or setup or occupied mode"
annotation (Placement(transformation(extent={{20,90},{40,110}})));
annotation (Placement(transformation(extent={{-20,90},{0,110}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Constant con(
k=false) if not have_perZonRehBox
"Constant true"
Expand Down Expand Up @@ -210,6 +210,9 @@ protected
final samplePeriod=samplePeriod)
"Extrapolation through the values of the last two sampled input signals"
annotation (Placement(transformation(extent={{-100,-60},{-80,-40}})));
Buildings.Controls.OBC.CDL.Logical.Or or4
"Cool-down or setup or occupied mode"
annotation (Placement(transformation(extent={{20,60},{40,80}})));

equation
connect(or2.y, or1.u2)
Expand Down Expand Up @@ -238,13 +241,11 @@ equation
annotation (Line(points={{42,10},{60,10},{60,62},{78,62}},
color={255,0,255}));
connect(intEqu.y, or3.u1)
annotation (Line(points={{-38,130},{0,130},{0,108},{18,108}},
color={255,0,255}));
connect(intEqu2.y, or3.u3)
annotation (Line(points={{-38,70},{0,70},{0,92},{18,92}},
annotation (Line(points={{-38,130},{-30,130},{-30,100},{-22,100}},
color={255,0,255}));
connect(intEqu1.y, or3.u2)
annotation (Line(points={{-38,100},{18,100}}, color={255,0,255}));
annotation (Line(points={{-38,100},{-30,100},{-30,92},{-22,92}},
color={255,0,255}));
connect(conInt.y, intEqu.u2)
annotation (Line(points={{-98,130},{-90,130},{-90,122},{-62,122}},
color={255,127,0}));
Expand Down Expand Up @@ -275,9 +276,6 @@ equation
connect(uOpeMod, intEqu4.u1)
annotation (Line(points={{-180,120},{-140,120},{-140,150},{-80,150},
{-80,10},{-62,10}}, color={255,127,0}));
connect(or3.y, or1.u1)
annotation (Line(points={{42,100},{60,100},{60,70},{78,70}},
color={255,0,255}));
connect(intEqu3.y, or2.u1)
annotation (Line(points={{-38,40},{18,40}}, color={255,0,255}));
connect(intEqu4.y, or2.u2)
Expand All @@ -300,7 +298,12 @@ equation
-116},{-72,-116}}, color={0,0,127}));
connect(firOrdHol.y, norPSet.u1) annotation (Line(points={{-78,-50},{-76,-50},
{-76,-64},{-72,-64}}, color={0,0,127}));

connect(intEqu2.y, or4.u1)
annotation (Line(points={{-38,70},{18,70}}, color={255,0,255}));
connect(or4.y, or1.u1)
annotation (Line(points={{42,70},{78,70}}, color={255,0,255}));
connect(or3.y, or4.u2) annotation (Line(points={{2,100},{10,100},{10,62},{18,62}},
color={255,0,255}));
annotation (
defaultComponentName="conSupFan",
Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-160,-140},{140,160}}),
Expand All @@ -312,7 +315,7 @@ annotation (
fillPattern=FillPattern.Solid,
pattern=LinePattern.None),
Rectangle(
extent={{-156,156},{134,-6}},
extent={{-158,158},{132,2}},
lineColor={0,0,0},
fillColor={215,215,215},
fillPattern=FillPattern.Solid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,19 @@ model Enable_TOut_hOut
Buildings.Controls.OBC.CDL.Reals.Sources.Constant hOutCut1(
final k=hOutCutoff) "Outdoor air enthalpy cutoff"
annotation (Placement(transformation(extent={{-80,0},{-60,20}})));
Buildings.Controls.OBC.CDL.Logical.TriggeredTrapezoid TOut(
final rising=1000,
final falling=800,
Buildings.Controls.OBC.CDL.Reals.Sources.Sin TOut(
final amplitude=4,
final offset=TOutCutoff - 2) "Outoor air temperature"
final freqHz=1/3600,
final offset=TOutCutoff - 2,
final startTime=10) "Outdoor air temperature"
annotation (Placement(transformation(extent={{-160,80},{-140,100}})));
Buildings.Controls.OBC.CDL.Logical.TriggeredTrapezoid hOut(
Buildings.Controls.OBC.CDL.Reals.Sources.Sin hOut(
final amplitude=4000,
final freqHz=1/3600,
final offset=hOutCutoff - 2200,
final rising=1000,
final falling=800) "Outdoor air enthalpy"
annotation (Placement(transformation(extent={{-40,40},{-20,60}})));
final startTime=10) "Outdoor air enthalpy"
annotation (Placement(transformation(extent={{-40,38},{-20,58}})));

protected
final parameter Real TOutCutoff(
final unit="K",
Expand Down Expand Up @@ -79,12 +80,6 @@ protected
Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFanSta(
final k=true) "Supply fan status signal"
annotation (Placement(transformation(extent={{-200,-80},{-180,-60}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul(final shift=10,
final period=2000) "Boolean pulse signal"
annotation (Placement(transformation(extent={{-200,80},{-180,100}})));
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul1(final shift=10,
final period=2000) "Boolean pulse signal"
annotation (Placement(transformation(extent={{-80,40},{-60,60}})));

equation
connect(TOutCut.y, enaDis.TCut) annotation (Line(points={{-138,50},{-112,50},{
Expand All @@ -103,43 +98,29 @@ equation
connect(TOutCut1.y, enaDis1.TCut) annotation (Line(points={{22,50},{30,50},{30,
-63},{86,-63}}, color={0,0,127}));
connect(hOutCut1.y, enaDis1.hCut) annotation (Line(points={{-58,10},{10,10},{
10,-67},{86,-67}},
color={0,0,127}));
10,-67},{86,-67}}, color={0,0,127}));
connect(hOutBelowCutoff.y, enaDis.hOut)
annotation (Line(points={{-218,50},{-180,50},{-180,26},{-130,26},{-130,-65},
{-82,-65}}, color={0,0,127}));
connect(TOutBelowCutoff.y, enaDis1.TOut)
annotation (Line(points={{76,50},{80,50},{80,-61},{86,-61}}, color={0,0,127}));
connect(booPul.y, TOut.u)
annotation (Line(points={{-178,90},{-162,90}}, color={255,0,255}));
connect(TOut.y, enaDis.TOut)
annotation (Line(points={{-138,90},{-110,90},{-110,-61},{-82,-61}}, color={0,0,127}));
connect(booPul1.y, hOut.u)
annotation (Line(points={{-58,50},{-58,50},{-42,50}}, color={255,0,255}));
connect(hOut.y, enaDis1.hOut)
annotation (Line(points={{-18,50},{-10,50},{-10,20},{20,20},{20,-65},{86,
-65}}, color={0,0,127}));
connect(freProSta.y, enaDis1.uFreProSta)
annotation (Line(points={{-178,-10},{-30,-10},{-30,-73},{86,-73}}, color={255,127,0}));
connect(zoneState.y, enaDis1.uZonSta)
annotation (Line(points={{-178,-40},{-160,-40},{-160,-26},{4,-26},{4,-75},{
86,-75}},
color={255,127,0}));
86,-75}}, color={255,127,0}));
connect(outDamPosMaxSig.y, enaDis1.uOutDam_max) annotation (Line(points={{-218,
-110},{60,-110},{60,-77},{86,-77}}, color={0,0,127}));
connect(outDamPosMinSig.y, enaDis1.uOutDam_min) annotation (Line(points={{-218,
-150},{-180,-150},{-180,-120},{70,-120},{70,-79},{86,-79}}, color={0,
0,127}));
connect(TOut.y, enaDis2.TOut)
annotation (Line(points={{-138,90},{-138,90},{200,90},{200,-61},{218,-61}},color={0,0,127}));
connect(TOutCut.y, enaDis2.TCut) annotation (Line(points={{-138,50},{-112,50},
{-112,80},{188,80},{188,-63},{218,-63}}, color={0,0,127}));
connect(freProSta.y, enaDis2.uFreProSta)
annotation (Line(points={{-178,-10},{170,-10},{170,-73},{218,-73}}, color={255,127,0}));
connect(zoneState.y, enaDis2.uZonSta)
annotation (Line(points={{-178,-40},{-170,-40},{-170,-20},{150,-20},{150,
-75},{218,-75}},
color={255,127,0}));
-75},{218,-75}}, color={255,127,0}));
connect(outDamPosMaxSig.y, enaDis2.uOutDam_max) annotation (Line(points={{-218,
-110},{180,-110},{180,-77},{218,-77}}, color={0,0,127}));
connect(outDamPosMinSig.y, enaDis2.uOutDam_min) annotation (Line(points={{-218,
Expand All @@ -151,7 +132,12 @@ equation
-70},{-160,-54},{-40,-54},{-40,-70},{86,-70}}, color={255,0,255}));
connect(supFanSta.y, enaDis2.u1SupFan) annotation (Line(points={{-178,-70},{-170,
-70},{-170,-50},{140,-50},{140,-70},{218,-70}}, color={255,0,255}));

connect(TOut.y, enaDis.TOut) annotation (Line(points={{-138,90},{-106,90},{-106,
-61},{-82,-61}}, color={0,0,127}));
connect(TOut.y, enaDis2.TOut) annotation (Line(points={{-138,90},{194,90},{194,
-61},{218,-61}}, color={0,0,127}));
connect(hOut.y, enaDis1.hOut) annotation (Line(points={{-18,48},{-10,48},{-10,
20},{20,20},{20,-65},{86,-65}}, color={0,0,127}));
annotation (
experiment(StopTime=1800.0, Tolerance=1e-06),
__Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/Economizers/Subsequences/Validation/Enable_TOut_hOut.mos"
Expand Down
Loading