From 737165ec479e1508d9d025264b0c2b4161e64870 Mon Sep 17 00:00:00 2001 From: AntoineGautier Date: Tue, 29 Aug 2023 11:42:21 +0200 Subject: [PATCH] Graphics --- .../Templates/ChilledWaterPlants/AirCooled.mo | 49 +-- .../CoolerGroups/CoolingTowerOpen.mo | 254 +++++++++++++- .../Economizers/HeatExchangerWithPump.mo | 19 +- .../Economizers/HeatExchangerWithValve.mo | 28 +- .../Components/Economizers/None.mo | 8 +- .../Interfaces/PartialChillerGroup.mo | 317 +++++++++++------- .../Interfaces/PartialCoolerGroup.mo | 20 +- .../Interfaces/PartialEconomizer.mo | 12 +- .../Interfaces/PartialEconomizerHX.mo | 45 ++- .../Routing/ChillersToPrimaryPumps.mo | 220 ++++++------ .../Interfaces/PartialChilledWaterLoop.mo | 266 ++++++++------- .../Interfaces/PartialChilledWaterPlant.mo | 23 +- .../ChilledWaterPlants/WaterCooled.mo | 50 +-- .../Components/Chillers/Compression.mo | 10 - .../Components/Coolers/CoolingTower.mo | 23 +- .../Components/Interfaces/PartialChiller.mo | 11 +- .../Interfaces/PartialPumpMultiple.mo | 55 ++- .../Components/Routing/MultipleToMultiple.mo | 94 ++++-- .../Components/Routing/MultipleToSingle.mo | 50 ++- .../Components/Routing/SingleToMultiple.mo | 47 ++- 20 files changed, 1083 insertions(+), 518 deletions(-) diff --git a/Buildings/Templates/ChilledWaterPlants/AirCooled.mo b/Buildings/Templates/ChilledWaterPlants/AirCooled.mo index 36c9f3c48c5..4806fa45888 100644 --- a/Buildings/Templates/ChilledWaterPlants/AirCooled.mo +++ b/Buildings/Templates/ChilledWaterPlants/AirCooled.mo @@ -1,6 +1,7 @@ within Buildings.Templates.ChilledWaterPlants; model AirCooled "Air-cooled chiller plant" - extends Buildings.Templates.ChilledWaterPlants.Interfaces.PartialChilledWaterLoop( + extends + Buildings.Templates.ChilledWaterPlants.Interfaces.PartialChilledWaterLoop( redeclare replaceable package MediumCon=Buildings.Media.Air, redeclare final Buildings.Templates.ChilledWaterPlants.Components.Economizers.None eco, ctl(final typCtlHea=Buildings.Templates.ChilledWaterPlants.Types.ChillerLiftControl.BuiltIn), @@ -10,6 +11,15 @@ model AirCooled "Air-cooled chiller plant" final nPumConWat=0, final typValCooInlIso=Buildings.Templates.Components.Types.Valve.None, final typValCooOutIso=Buildings.Templates.Components.Types.Valve.None); + Fluid.Sources.MassFlowSource_WeatherData souAir[nChi]( + redeclare each final package Medium = MediumCon, + each final nPorts=1, + each final use_m_flow_in=true) + "Air flow source" + annotation (Placement(transformation( + extent={{10,-10},{-10,10}}, + rotation=180, + origin={-80,-192}))); // Air loop Fluid.Sources.Boundary_pT bouCon( @@ -20,23 +30,18 @@ model AirCooled "Air-cooled chiller plant" transformation( extent={{10,-10},{-10,10}}, rotation=180, - origin={-120,0}))); - Fluid.Sources.MassFlowSource_WeatherData souAir[nChi]( - redeclare each final package Medium = MediumCon, - each final nPorts=1, - each final use_m_flow_in=true) - "Air flow source" - annotation (Placement(transformation( - extent={{10,-10},{-10,10}}, - rotation=180, - origin={-120,-180}))); + origin={-80,0}))); Controls.OBC.CDL.Conversions.BooleanToReal y1Chi[nChi] "Convert chiller Start/Stop signal into real value" - annotation (Placement(transformation(extent={{-230,130},{-210,150}}))); + annotation (Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=-90, + origin={-260,110}))); Controls.OBC.CDL.Continuous.MultiplyByParameter mCon_flow[nChi]( final k=chi.mConChi_flow_nominal) "Compute air mass flow rate at condenser" - annotation (Placement(transformation(extent={{-188,130},{-168,150}}))); + annotation (Placement(transformation(extent={{-10,-10},{10,10}}, + rotation=-90, + origin={-260,70}))); protected Buildings.Templates.Components.Interfaces.Bus busChi[nChi] "Chiller control bus" @@ -45,28 +50,26 @@ protected equation for i in 1:nChi loop connect(busWea, souAir[i].weaBus) annotation (Line( - points={{0,280},{0,260},{-140,260},{-140,-180.2},{-130,-180.2}}, + points={{0,280},{0,260},{-100,260},{-100,-192.2},{-90,-192.2}}, color={255,204,51}, thickness=0.5)); end for; connect(souAir.ports[1], inlConChi.ports_a) annotation(Line( - points={{-110,-180},{-100,-180}}, color={0,127,255})); + points={{-70,-192},{-70,-192}}, color={0,127,255})); connect(outConChi.port_b, bouCon.ports[1]) - annotation (Line(points={{-80,0},{-105,0},{-105,-4.44089e-16},{-110, - -4.44089e-16}}, + annotation (Line(points={{-60,0},{-70,0}}, color={0,127,255})); connect(y1Chi.y, mCon_flow.u) - annotation (Line(points={{-208,140},{-190,140}}, color={0,0,127})); - connect(mCon_flow.y, souAir.m_flow_in) annotation (Line(points={{-166,140},{ - -160,140},{-160,-188},{-130,-188}}, - color={0,0,127})); + annotation (Line(points={{-260,98},{-260,82}}, color={0,0,127})); + connect(mCon_flow.y, souAir.m_flow_in) annotation (Line(points={{-260,58},{ + -260,-200},{-90,-200}}, color={0,0,127})); connect(busChi.y1, y1Chi.u) annotation (Line( - points={{-260,140},{-232,140}}, + points={{-260,140},{-260,122}}, color={255,204,51}, thickness=0.5)); connect(bus.chi, busChi) annotation (Line( - points={{-300,140},{-260,140}}, + points={{-300,200},{-280,200},{-280,140},{-260,140}}, color={255,204,51}, thickness=0.5)); annotation (Documentation(info=" diff --git a/Buildings/Templates/ChilledWaterPlants/Components/CoolerGroups/CoolingTowerOpen.mo b/Buildings/Templates/ChilledWaterPlants/Components/CoolerGroups/CoolingTowerOpen.mo index 8e86b96854c..a17ff2da5ac 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/CoolerGroups/CoolingTowerOpen.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/CoolerGroups/CoolingTowerOpen.mo @@ -55,7 +55,8 @@ model CoolingTowerOpen "Open-circuit cooling towers in parallel" final show_T=show_T, final allowFlowReversal=allowFlowReversal, final energyDynamics=energyDynamics, - final tau=tau) + final tau=tau, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.None) "Cooler group inlet manifold" annotation (Placement(transformation(extent={{-90,-10},{-70,10}}))); Buildings.Templates.Components.Routing.MultipleToSingle outCoo( @@ -65,7 +66,8 @@ model CoolingTowerOpen "Open-circuit cooling towers in parallel" final show_T=show_T, final allowFlowReversal=allowFlowReversal, final energyDynamics=energyDynamics, - final tau=tau) + final tau=tau, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.None) "Cooling tower group outlet manifold" annotation (Placement(transformation(extent={{70,-10},{90,10}}))); equation @@ -100,8 +102,6 @@ equation annotation (Line(points={{50,0},{70,0}}, color={0,127,255})); annotation ( defaultComponentName="coo", - Diagram(coordinateSystem(extent={{-100,-100},{100,100}})), - Icon(coordinateSystem(extent={{-400,-400},{400,400}})), Documentation(info="

Control points

@@ -116,5 +116,249 @@ November 18, 2022, by Antoine Gautier:
First implementation. -")); +"), + Icon(graphics={ + Rectangle( + extent={{60,-100},{220,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 4), + Text( + extent={{60,-100},{220,-160}}, + textColor={0,0,0}, + visible=nCoo >= 4, + textString="CT-4"), + Rectangle( + extent={{-780,-100},{-620,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 1), + Rectangle( + extent={{-620,160},{-780,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 1), + Text( extent={{-780,-98},{-620,-158}}, + textColor={0,0,0}, + textString="CT-1", + visible=nCoo >= 1), + Bitmap( + extent={{-740,160},{-660,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + visible=nCoo >= 1), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + origin={-700,122}, + rotation=-90, + visible=nCoo >= 1), + Line( + points={{-820,-240},{-820,80},{-780,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 1), + Line( + points={{-700,-160},{-700,-300},{0,-300},{0,-302}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 1), + Rectangle( + extent={{-500,-100},{-340,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 2), + Rectangle( + extent={{-340,160},{-500,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 2), + Text( extent={{-500,-98},{-340,-158}}, + textColor={0,0,0}, + visible=nCoo >= 2, + textString="CT-2"), + Bitmap( + extent={{-460,160},{-380,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + visible=nCoo >= 2), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + origin={-420,122}, + rotation=-90, + visible=nCoo >= 2), + Line( + points={{-822,-240},{-540,-240},{-540,80},{-500,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 2), + Line( + points={{-420,-160},{-420,-300}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 2), + Rectangle( + extent={{-220,-100},{-60,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 3), + Rectangle( + extent={{-60,160},{-220,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 3), + Text( extent={{-220,-98},{-60,-158}}, + textColor={0,0,0}, + visible=nCoo >= 3, + textString="CT-3"), + Bitmap( + extent={{-180,160},{-100,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + visible=nCoo >= 3), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + origin={-140,122}, + rotation=-90, + visible=nCoo >= 3), + Line( + points={{-542,-240},{-260,-240},{-260,80},{-220,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 3), + Line( + points={{-140,-160},{-140,-300}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 3), + Rectangle( + extent={{220,160},{60,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 4), + Bitmap( + extent={{100,160},{180,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + + visible=nCoo >= 4), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + + origin={140,122}, + rotation=-90, + visible=nCoo >= 4), + Line( + points={{-262,-240},{20,-240},{20,80},{60,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 4), + Line( + points={{140,-160},{140,-300},{0,-300}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 4), + Bitmap( + extent={{380,160},{460,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + + visible=nCoo >= 5), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + + origin={420,122}, + rotation=-90, + visible=nCoo >= 5), + Line( + points={{18,-240},{300,-240},{300,80},{340,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 5), + Line( + points={{420,-160},{420,-300},{140,-300}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 5), + Rectangle( + extent={{340,-100},{500,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 5), + Rectangle( + extent={{500,160},{340,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 5), + Text( + extent={{340,-100},{500,-160}}, + textColor={0,0,0}, + visible=nCoo >= 5, + textString="CT-5"), + Bitmap( + extent={{660,160},{740,240}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg", + + visible=nCoo >= 6), + Bitmap( + extent={{-60,-60},{60,60}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + + origin={700,122}, + rotation=-90, + visible=nCoo >= 6), + Line( + points={{298,-240},{580,-240},{580,80},{620,80}}, + color={0,0,0}, + pattern=LinePattern.Dash, + thickness=5, + visible=nCoo >= 6), + Line( + points={{700,-160},{700,-300},{420,-300}}, + color={0,0,0}, + thickness=5, + visible=nCoo >= 6), + Rectangle( + extent={{620,-100},{780,-160}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid, + visible=nCoo >= 6), + Rectangle( + extent={{780,160},{620,-160}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nCoo >= 6), + Text( + extent={{620,-100},{780,-160}}, + textColor={0,0,0}, + visible=nCoo >= 6, + textString="CT-6")})); end CoolingTowerOpen; diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithPump.mo b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithPump.mo index b317d8d42ba..2af47f2576a 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithPump.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithPump.mo @@ -1,6 +1,7 @@ within Buildings.Templates.ChilledWaterPlants.Components.Economizers; model HeatExchangerWithPump "Heat exchanger with pump for CHW flow control" - extends Buildings.Templates.ChilledWaterPlants.Components.Interfaces.PartialEconomizerHX( + extends + Buildings.Templates.ChilledWaterPlants.Components.Interfaces.PartialEconomizerHX( final typ=Buildings.Templates.ChilledWaterPlants.Types.Economizer.HeatExchangerWithPump, hex(from_dp2=true)); @@ -71,5 +72,19 @@ November 18, 2022, by Antoine Gautier:
First implementation. -")); +"), + Icon(graphics={ + Bitmap( + extent={{300,-320},{380,-240}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/Temperature.svg"), + Bitmap(extent={{240,-40},{440,-240}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/ProbeInWell.svg"), + Line(points={{216,-142},{216,-180}},color={0,0,0}), + Bitmap( + extent={{158,-280},{258,-180}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + extent={{258,-150},{158,-50}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Pumps/Single.svg")})); end HeatExchangerWithPump; diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithValve.mo b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithValve.mo index 322d5eb8ffa..08e7970b461 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithValve.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/HeatExchangerWithValve.mo @@ -53,5 +53,31 @@ November 18, 2022, by Antoine Gautier:
First implementation. -")); +"), + Icon(graphics={ + Line( + points={{0,30},{0,-30}}, + color={0,0,0}, + origin={430,0}, + rotation=-90), + Bitmap( + extent={{460,-38},{540,42}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), + Bitmap( + extent={{140,-40},{220,40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/DifferentialPressure.svg"), + Bitmap( + extent={{190,-100},{270,-20}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/DifferentialPressureHigh.svg"), + Bitmap( + extent={{190,20},{270,100}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/DifferentialPressureLow.svg"), + Rectangle(extent={{175,-40},{185,-80}}, lineColor={0,0,0}), + Rectangle(extent={{175,80},{185,40}}, lineColor={0,0,0}), + Bitmap( + extent={{-100,-100},{100,100}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + rotation=180, + origin={400,0})})); end HeatExchangerWithValve; diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/None.mo b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/None.mo index 3ed56b1b598..aba03597456 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Economizers/None.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Economizers/None.mo @@ -21,5 +21,11 @@ November 18, 2022, by Antoine Gautier:
First implementation. -")); +"), + Icon(graphics={ + Line( + points={{400,80},{400,-80}}, + color={0,0,0}, + thickness=5, + pattern=LinePattern.Dash)})); end None; diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialChillerGroup.mo b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialChillerGroup.mo index c1a31c2cca8..c4f6d7b0d38 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialChillerGroup.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialChillerGroup.mo @@ -218,32 +218,32 @@ partial model PartialChillerGroup "Interface class for chiller group" each h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW supply" annotation (Placement(transformation(extent={{190,80},{210,160}}), - iconTransformation(extent={{390,820},{410,900}}))); + iconTransformation(extent={{390,920},{410,1000}}))); Modelica.Fluid.Interfaces.FluidPorts_b ports_bCon[nChi]( redeclare each final package Medium = MediumCon, each m_flow(max=if allowFlowReversal then +Modelica.Constants.inf else 0), each h_outflow(start=MediumCon.h_default, nominal=MediumCon.h_default)) "Condenser cooling fluid return (e.g. from chillers to cooling towers)" annotation (Placement(transformation(extent={{-210,80},{-190,160}}), - iconTransformation(extent={{-410,820},{-390,900}}))); + iconTransformation(extent={{-410,920},{-390,1000}}))); Modelica.Fluid.Interfaces.FluidPorts_a ports_aCon[nChi]( redeclare each final package Medium = MediumCon, each m_flow(min=if allowFlowReversal then -Modelica.Constants.inf else 0), each h_outflow(start=MediumCon.h_default, nominal=MediumCon.h_default)) "Condenser cooling fluid supply (e.g. from cooling towers to chillers)" annotation (Placement(transformation(extent={{-210,-140},{-190,-60}}), - iconTransformation(extent={{-410,-900},{-390,-820}}))); + iconTransformation(extent={{-410,-1000},{-390,-920}}))); Modelica.Fluid.Interfaces.FluidPorts_a ports_aChiWat[nChi]( redeclare each final package Medium = MediumChiWat, each m_flow(min=if allowFlowReversal then -Modelica.Constants.inf else 0), each h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW return" annotation (Placement(transformation(extent={{190,-140},{210, -60}}), - iconTransformation(extent={{390,-900},{410,-820}}))); + iconTransformation(extent={{390,-1000},{410,-920}}))); Buildings.Templates.ChilledWaterPlants.Interfaces.Bus bus "Plant control bus" annotation (Placement(transformation(extent={{-20,180},{20,220}}), - iconTransformation(extent={{-20,940},{20,980}}))); + iconTransformation(extent={{-20,982},{20,1022}}))); Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator TChiWatSupSet( final nout=nChi) @@ -294,39 +294,39 @@ equation index=-1, extent={{-3,6},{-3,6}}, horizontalAlignment=TextAlignment.Right)); - annotation (Diagram(coordinateSystem(extent={{-200,-200},{200,200}})), + annotation (Diagram(coordinateSystem(extent={{-200,-240},{200,200}})), Icon(coordinateSystem(preserveAspectRatio=false, - extent={{-400,-960},{400,960}}), + extent={{-400,-1000},{400,1000}}), graphics={ Line( - points={{180,740},{400,740}}, + points={{180,840},{400,840}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Line( - points={{180,860},{400,860}}, + points={{180,960},{400,960}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), Line( visible=nChi >= 2, - points={{180,540},{400,540}}, + points={{180,600},{400,600}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), Line( visible=nChi >= 3, - points={{180,220},{400,220}}, + points={{180,240},{400,240}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), Line( visible=nChi >= 4, - points={{180,-100},{400,-100}}, + points={{180,-120},{400,-120}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), - Text( extent={{-151,-986},{149,-1026}}, + Text( extent={{-151,-1008},{149,-1048}}, textColor={0,0,255}, textString="%name"), Bitmap( @@ -335,16 +335,16 @@ equation extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={300,860}), + origin={300,960}), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 1, - extent={{260,920},{340,1000}}, + extent={{260,1020},{340,1100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 2, - extent={{260,600},{340,680}}, + extent={{260,660},{340,740}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None @@ -352,12 +352,11 @@ equation extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", - rotation=-90, - origin={300,540}), + origin={300,600}), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 3, - extent={{260,280},{340,360}}, + extent={{260,300},{340,380}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso<>Buildings.Templates.Components.Types.Valve.None @@ -365,115 +364,115 @@ equation extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={300,220}), + origin={300,240}), Bitmap( visible=typValChiWatChiIso<>Buildings.Templates.Components.Types.Valve.None and nChi >= 4, extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={300,-100}), + origin={300,-120}), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=4, - extent={{260,-40},{340,40}}, + extent={{260,-60},{340,20}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 1, - extent={{260,920},{340,1000}}, + extent={{260,1020},{340,1100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( visible=typValChiWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 2, - extent={{260,600},{340,680}}, + extent={{260,660},{340,740}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( visible=typValChiWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 3, - extent={{260,280},{340,360}}, + extent={{260,300},{340,380}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi>=4, - extent={{260,-40},{340,40}}, + extent={{260,-60},{340,20}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Rectangle( - extent={{180,900},{-180,700}}, - lineColor={0,0,0}, - lineThickness=1), + extent={{180,1000},{-180,800}}, + lineColor={0,0,0}, + lineThickness=1), Text( - extent={{-180,800},{180,760}}, + extent={{-180,900},{180,860}}, textColor={0,0,0}, textString="CHI-1"), Rectangle( - extent={{180,580},{-180,380}}, - lineColor={0,0,0}, - lineThickness=1, - visible=nChi >= 2), + extent={{180,640},{-180,440}}, + lineColor={0,0,0}, + lineThickness=1, + visible=nChi >= 2), Text( visible=nChi >= 2, - extent={{-180,480},{180,440}}, + extent={{-180,540},{180,500}}, textColor={0,0,0}, textString="CHI-2"), Line( visible=nChi >= 2, - points={{180,420},{400,420}}, + points={{180,480},{400,480}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Rectangle( - extent={{180,260},{-180,60}}, + extent={{180,280},{-180,78}}, lineColor={0,0,0}, lineThickness=1, visible=nChi >= 3), Text( visible=nChi >= 3, - extent={{-180,160},{180,120}}, + extent={{-180,180},{180,140}}, textColor={0,0,0}, textString="CHI-3"), - Line( points={{180,100},{400,100}}, + Line( points={{180,120},{400,120}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5, visible=nChi >= 3), Rectangle( visible=nChi >= 4, - extent={{180,-60},{-180,-260}}, + extent={{180,-80},{-180,-280}}, lineColor={0,0,0}, lineThickness=1), Text( visible=nChi >= 4, - extent={{-180,-160},{180,-200}}, + extent={{-180,-180},{180,-220}}, textColor={0,0,0}, textString="CHI-4"), - Line( points={{180,-220},{400,-220}}, + Line( points={{180,-240},{400,-240}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5, visible=nChi >= 4), Line( - points={{300,920},{300,860}}, + points={{300,1020},{300,960}}, color={0,0,0}, visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 1), Line( - points={{300,600},{300,540}}, + points={{300,660},{300,600}}, color={0,0,0}, visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 2), Line( - points={{300,280},{300,220}}, + points={{300,300},{300,240}}, color={0,0,0}, visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 3), Line( - points={{300,-40},{300,-100}}, + points={{300,-60},{300,-120}}, color={0,0,0}, visible=typArrPumChiWatPri == Buildings.Templates.Components.Types.PumpArrangement.Headered and nChi >= 4), Line( visible=nChi>=5, - points={{180,-420},{400,-420}}, + points={{180,-480},{400,-480}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), @@ -483,38 +482,38 @@ equation extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={300,-420}), + origin={300,-480}), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=5, - extent={{260,-360},{340,-280}}, + extent={{260,-420},{340,-340}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 5, - extent={{260,-360},{340,-280}}, + extent={{260,-420},{340,-340}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Rectangle( visible=nChi>=5, - extent={{180,-380},{-180,-580}}, + extent={{180,-440},{-180,-640}}, lineColor={0,0,0}, lineThickness=1), Text( visible=nChi>=5, - extent={{-180,-480},{180,-520}}, + extent={{-180,-540},{180,-580}}, textColor={0,0,0}, textString="CHI-5"), - Line( points={{180,-540},{400,-540}}, + Line( points={{180,-600},{400,-600}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5, visible=nChi>=5), Line( - points={{300,-360},{300,-420}}, + points={{300,-420},{300,-480}}, color={0,0,0}, visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 5), Line( visible=nChi>=6, - points={{180,-740},{400,-740}}, + points={{180,-840},{400,-840}}, color={0,0,0}, pattern=LinePattern.Solid, thickness=5), @@ -524,233 +523,291 @@ equation extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={300,-740}), + origin={300,-840}), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=6, - extent={{260,-680},{340,-600}}, + extent={{260,-780},{340,-700}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=typValChiWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi>=6, - extent={{260,-680},{340,-600}}, + extent={{260,-780},{340,-700}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Rectangle( visible=nChi>=6, - extent={{180,-700},{-180,-900}}, + extent={{180,-800},{-180,-1000}}, lineColor={0,0,0}, lineThickness=1), Text( visible=nChi>=6, - extent={{-180,-800},{180,-840}}, + extent={{-180,-880},{180,-920}}, textColor={0,0,0}, textString="CHI-6"), - Line( points={{180,-860},{400,-860}}, + Line( points={{180,-960},{400,-960}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5, visible=nChi>=6), Line( - points={{300,-680},{300,-740}}, + points={{300,-780},{300,-840}}, color={0,0,0}, visible=typValChiWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 6), Line( visible=nChi >= 1 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,738},{-180,738}}, + points={{-400,840},{-180,840}}, color={0,0,0}, thickness=5), Line( visible=nChi >= 1 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,860},{-180,860}}, + points={{-400,960},{-180,960}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Line( visible=nChi >= 2 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,540},{-180,540}}, + points={{-400,600},{-180,600}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Line( visible=nChi >= 3 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,218},{-180,218}}, + points={{-400,240},{-180,240}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Line( visible=nChi >= 4 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,-100},{-180,-100}}, + points={{-400,-120},{-180,-120}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 1, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,860}), + origin={-280,960}), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 1, - extent={{-320,920},{-240,1000}}, + extent={{-320,1020},{-240,1100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=typValConWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 2, - extent={{-318,600},{-238,680}}, + extent={{-318,660},{-238,740}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 2, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,540}), + origin={-280,600}), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 3, - extent={{-320,280},{-240,360}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), - Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi >= 3, + extent={{-320,300},{-240,380}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), + Bitmap( + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + and nChi >= 3, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,220}), + origin={-280,240}), Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 4, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,-100}), + origin={-280,-120}), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=4, - extent={{-320,-40},{-240,40}}, + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=4, + extent={{-320,-60},{-240,20}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 1, - extent={{-320,920},{-240,1000}}, + extent={{-320,1020},{-240,1100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( - visible=typValConWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 2, - extent={{-318,600},{-238,680}}, + extent={{-318,660},{-238,740}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( - visible=typValConWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating - and nChi >= 3, - extent={{-320,280},{-240,360}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating + and nChi >= 3, + extent={{-320,300},{-240,380}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi>=4, - extent={{-320,-40},{-240,40}}, + extent={{-320,-60},{-240,20}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Line( visible=nChi >= 2 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,418},{-180,418}}, + points={{-400,480},{-180,480}}, color={0,0,0}, thickness=5), - Line( points={{-400,98},{-180,98}}, + Line( + points={{-400,120},{-180,120}}, color={0,0,0}, thickness=5, visible=nChi >= 3 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled), - Line( points={{-400,-220},{-180,-220}}, + Line( points={{-400,-240},{-180,-240}}, color={0,0,0}, thickness=5, visible=nChi >= 4 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled), Line( - points={{-280,920},{-280,860}}, + points={{-280,1020},{-280,960}}, color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 1), Line( - points={{-280,600},{-280,540}}, + points={{-280,660},{-280,600}}, color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 2), Line( - points={{-280,280},{-280,220}}, - color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None - and nChi >= 3), + points={{-280,300},{-280,240}}, + color={0,0,0}, + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + and nChi >= 3), Line( - points={{-280,-40},{-280,-100}}, + points={{-280,-60},{-280,-120}}, color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 4), Line( visible=nChi>=5 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,-420},{-180,-420}}, + points={{-400,-480},{-180,-480}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 5, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,-420}), + origin={-280,-480}), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=5, - extent={{-320,-360},{-240,-280}}, + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=5, + extent={{-320,-420},{-240,-340}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=typValConWatChiIso == Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 5, - extent={{-320,-360},{-240,-280}}, + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi >= 5, + extent={{-320,-420},{-240,-340}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), - Line( points={{-400,-540},{-180,-540}}, + Line( points={{-400,-600},{-180,-600}}, color={0,0,0}, thickness=5, visible=nChi>=5), Line( - points={{-280,-360},{-280,-420}}, + points={{-280,-420},{-280,-480}}, color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None and nChi >= 5), Line( visible=nChi>=6 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled, - points={{-400,-740},{-180,-740}}, + points={{-400,-840},{-180,-840}}, color={0,0,0}, pattern=LinePattern.Dash, thickness=5), Bitmap( - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None - and nChi >= 6, + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + and nChi >= 6, extent={{-100,-100},{100,100}}, fileName= "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=-90, - origin={-280,-740}), + origin={-280,-840}), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and + typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition and nChi>=6, - extent={{-320,-680},{-240,-600}}, + extent={{-320,-780},{-240,-700}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=typValConWatChiIso==Buildings.Templates.Components.Types.Valve.TwoWayModulating + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso== Buildings.Templates.Components.Types.Valve.TwoWayModulating and nChi>=6, - extent={{-320,-680},{-240,-600}}, + extent={{-320,-780},{-240,-700}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/Modulating.svg"), Line( - points={{-400,-860},{-180,-860}}, + points={{-400,-960},{-180,-960}}, color={0,0,0}, thickness=5, visible=nChi >= 6 and typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled), Line( - points={{-280,-680},{-280,-740}}, + points={{-280,-780},{-280,-840}}, color={0,0,0}, - visible=typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None - and nChi >= 6)}), + visible=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled and +typValConWatChiIso <> Buildings.Templates.Components.Types.Valve.None + and nChi >= 6), + Bitmap( + extent={{-60,1000},{60,1120}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 1), + Bitmap( + extent={{-60,640},{60,760}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 2), + Bitmap( + extent={{-60,280},{60,400}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 3), + Bitmap( + extent={{-60,-80},{60,40}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 4), + Bitmap( + extent={{-60,-440},{60,-320}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 5), + Bitmap( + extent={{-60,-800},{60,-680}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg", + visible=nChi >= 6)}), Documentation(info="

This partial class provides a standard interface for chiller group models. diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialCoolerGroup.mo b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialCoolerGroup.mo index 2f7a65efbca..d7707e2b1eb 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialCoolerGroup.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialCoolerGroup.mo @@ -3,9 +3,7 @@ partial model PartialCoolerGroup "Interface class for cooler group" extends Buildings.Fluid.Interfaces.PartialTwoPortInterface( redeclare final package Medium=MediumConWat, - final m_flow_nominal=mConWat_flow_nominal) - annotation ( - IconMap(extent={{-400,-400},{400,400}})); + final m_flow_nominal=mConWat_flow_nominal); replaceable package MediumConWat=Buildings.Media.Water constrainedby Modelica.Media.Interfaces.PartialMedium @@ -94,14 +92,11 @@ partial model PartialCoolerGroup annotation (Placement(transformation( extent={{-20,-20},{20,20}}, rotation=0, - origin={0,100}), iconTransformation( - extent={{-10,-10},{10,10}}, - rotation=0, - origin={0,400}))); + origin={0,100}), iconTransformation(extent={{-20,280},{20,320}}))); BoundaryConditions.WeatherData.Bus busWea "Weather data bus" annotation (Placement(transformation(extent={{-80,80},{-40,120}}), - iconTransformation(extent={{-230,390},{-210,410}}))); + iconTransformation(extent={{-320,280},{-280,320}}))); Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator repSpe( final nout=nCoo) if have_varCom "Replicate signal in case of common unique commanded speed" @@ -174,13 +169,8 @@ equation horizontalAlignment=TextAlignment.Right)); annotation ( Icon(coordinateSystem(preserveAspectRatio=false, - extent={{-400,-400},{400,400}}), graphics={ - Rectangle( - extent={{-402,400},{400,-400}}, - lineColor={0,0,255}, - fillColor={255,255,255}, - fillPattern=FillPattern.Solid)}), - Diagram( + extent={{-820,-300},{820,300}})), + Diagram( coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, 100}})), Documentation(info=" diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizer.mo b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizer.mo index 11139be7dc4..66dc685884c 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizer.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizer.mo @@ -78,7 +78,7 @@ partial model PartialEconomizer "Partial waterside economizer model" if typ<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None "Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)" annotation (Placement(transformation(extent={{90,70},{110,90}}), - iconTransformation(extent={{90,80},{110,100}}))); + iconTransformation(extent={{-410,70},{-390,90}}))); Modelica.Fluid.Interfaces.FluidPort_b port_bConWat( redeclare final package Medium = MediumConWat, m_flow(max=if allowFlowReversal then +Modelica.Constants.inf else 0), @@ -86,7 +86,7 @@ partial model PartialEconomizer "Partial waterside economizer model" if typ<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None "Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)" annotation (Placement(transformation(extent={{-90,70},{-110,90}}), - iconTransformation(extent={{-90,80},{-110,100}}))); + iconTransformation(extent={{-390,-90},{-410,-70}}))); Buildings.Templates.ChilledWaterPlants.Interfaces.Bus bus if typ<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None @@ -95,12 +95,10 @@ partial model PartialEconomizer "Partial waterside economizer model" transformation( extent={{-20,-20},{20,20}}, rotation=0, - origin={0,100}), iconTransformation( - extent={{-10,-10},{10,10}}, - rotation=0, - origin={0,100}))); + origin={0,100}), iconTransformation(extent={{-20,100},{20,140}}))); - annotation (Icon(coordinateSystem(preserveAspectRatio=false)), + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-400, + -100},{400,100}})), Diagram(coordinateSystem(preserveAspectRatio=false)), Documentation(info="

diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizerHX.mo b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizerHX.mo index e820b188cbe..882f9b0d373 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizerHX.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Interfaces/PartialEconomizerHX.mo @@ -55,9 +55,44 @@ November 18, 2022, by Antoine Gautier:
First implementation. -"), Icon(graphics={ - Rectangle( - extent={{100,100},{-100,0}}, - lineColor={0,0,0}, - lineThickness=1)})); +"), +Icon(graphics={ + Line( + points={{-400,80},{-100,80}}, + color={0,0,0}, + thickness=5), + Bitmap( + extent={{-100,-100},{100,100}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + rotation=-90, + origin={-240,80}), + Rectangle( + extent={{100,100},{-100,-102}}, + lineColor={0,0,0}, + lineThickness=1), + Line( + points={{-100,100},{100,-100}}, + color={0,0,0}, + thickness=1), + Line( + points={{-240,140},{-240,80}}, + color={0,0,0}), + Bitmap( + extent={{-280,140},{-200,220}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), + Line( + points={{326,-160}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{100,80},{400,80},{400,-80},{100,-80}}, + color={0,0,0}, + thickness=5, + pattern=LinePattern.Dash), + Line( + points={{-400,-80},{-100,-80}}, + color={0,0,0}, + thickness=5, + pattern=LinePattern.Dash)})); end PartialEconomizerHX; diff --git a/Buildings/Templates/ChilledWaterPlants/Components/Routing/ChillersToPrimaryPumps.mo b/Buildings/Templates/ChilledWaterPlants/Components/Routing/ChillersToPrimaryPumps.mo index 2e2d177aba9..c2924477544 100644 --- a/Buildings/Templates/ChilledWaterPlants/Components/Routing/ChillersToPrimaryPumps.mo +++ b/Buildings/Templates/ChilledWaterPlants/Components/Routing/ChillersToPrimaryPumps.mo @@ -6,6 +6,9 @@ model ChillersToPrimaryPumps constrainedby Modelica.Media.Interfaces.PartialMedium "CHW medium"; + constant Integer icon_dy = 360 + "Distance in y-direction between each branch in icon layer"; + parameter Integer nChi "Number of chillers" annotation (Evaluate=true, Dialog(group="Configuration")); @@ -82,8 +85,8 @@ model ChillersToPrimaryPumps each h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW return to chillers and WSE" annotation (Placement(transformation( - extent={{-210,-140},{-190,-60}}),iconTransformation(extent={{-210, - -1240},{-190,-1160}}))); + extent={{-210,-140},{-190,-60}}),iconTransformation(extent={{-210,-1340}, + {-190,-1260}}))); Modelica.Fluid.Interfaces.FluidPorts_b ports_bSup[nPumChiWatPri]( redeclare each final package Medium = MediumChiWat, each m_flow(max=if allowFlowReversal then +Modelica.Constants.inf else 0), @@ -91,27 +94,27 @@ model ChillersToPrimaryPumps "CHW supply to CHW pumps" annotation (Placement( transformation(extent={{190,80},{210,160}}),iconTransformation(extent={{190, - 1160},{210,1240}}))); + 1260},{210,1340}}))); Modelica.Fluid.Interfaces.FluidPort_a port_aByp( redeclare final package Medium = MediumChiWat, m_flow(min=if allowFlowReversal then -Modelica.Constants.inf else 0), h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW supply from minimum flow bypass or common leg" annotation (Placement( transformation(extent={{190,-10},{210,10}}), iconTransformation(extent={{-210, - -870},{-190,-850}}))); + -1010},{-190,-990}}))); Modelica.Fluid.Interfaces.FluidPorts_a ports_aSup[nPorts]( redeclare each final package Medium = MediumChiWat, each m_flow(min=if allowFlowReversal then -Modelica.Constants.inf else 0), each h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW supply from chillers and WSE" annotation (Placement(transformation( - extent={{-210,80},{-190,160}}), iconTransformation(extent={{-210,1160}, - {-190,1240}}))); + extent={{-210,80},{-190,160}}), iconTransformation(extent={{-210,1260}, + {-190,1340}}))); Buildings.Templates.ChilledWaterPlants.Interfaces.Bus bus "Plant control bus" annotation (Placement(transformation( - extent={{-20,180},{20,220}}), iconTransformation(extent={{-20,1280},{ - 20,1320}}))); + extent={{-20,180},{20,220}}), iconTransformation(extent={{-20,1320},{20, + 1360}}))); Buildings.Templates.Components.Valves.TwoWayTwoPosition valChiWatChiBypSer[nChi]( redeclare each final package Medium = MediumChiWat, @@ -268,7 +271,7 @@ public h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW return from CHW distribution" annotation (Placement(transformation(extent={{190,-110},{210,-90}}), - iconTransformation(extent={{190,-1210},{210,-1190}}))); + iconTransformation(extent={{190,-1310},{210,-1290}}))); initial equation if typEco<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None then assert(typArrPumChiWatPri == Buildings.Templates.Components.Types.PumpArrangement.Headered, @@ -340,185 +343,204 @@ equation annotation ( defaultComponentName="int", Icon(coordinateSystem(preserveAspectRatio=false, - extent={{-200,-1300},{200,1300}}), + extent={{-200,-1340},{200,1340}}), graphics={ - Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series, - points={{-200,1200},{-200,1080}}, - color={0,0,0}, - thickness=5), - Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel, - points={{-200,1080},{-200,-1200}}, + Line( points={{-200,1180},{-200,-1140}}, color={0,0,0}, thickness=5, pattern=LinePattern.Dash), - Text( - extent={{-149,-1314},{151,-1354}}, - textColor={0,0,255}, - textString="%name"), + Text( + extent={{-149,-1350},{151,-1390}}, + textColor={0,0,255}, + textString="%name"), Bitmap( - visible=have_valChiWatChiBypSer and nChi>=1, + visible=have_valChiWatChiBypSer and nChi >= 1, extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=360, - origin={-200,1140}), + origin={-200,1240}), Bitmap( visible=have_valChiWatChiBypSer and nChi >= 1, - extent={{-140,1102},{-60,1182}}, + extent={{-140,1202},{-60,1282}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=have_valChiWatChiBypSer and nChi >= 2, - extent={{-140,780},{-60,860}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), + visible=have_valChiWatChiBypSer and nChi >= 2, + extent={{-140,1240 - 1*icon_dy - 40},{-60,1240 - 1*icon_dy + 40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=have_valChiWatChiBypSer and nChi >= 2, - extent={{-100,-100},{100,100}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", - rotation=360, - origin={-200,820}), + visible=have_valChiWatChiBypSer and nChi >= 2, + extent={{-100,-100},{100,100}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + rotation=360, + origin={-200,1240 - icon_dy}), Bitmap( - visible=have_valChiWatChiBypSer and nChi >= 3, - extent={{-140,460},{-60,540}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), + visible=have_valChiWatChiBypSer and nChi >= 3, + extent={{-140,1240 - 2*icon_dy - 40},{-60,1240 - 2*icon_dy + 40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - visible=have_valChiWatChiBypSer and nChi >= 3, - extent={{-100,-100},{100,100}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", - rotation=360, - origin={-200,500}), + visible=have_valChiWatChiBypSer and nChi >= 3, + extent={{-100,-100},{100,100}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + rotation=360, + origin={-200,1240 - 2*icon_dy}), Bitmap( - visible=have_valChiWatChiBypSer and nChi >= 4, - extent={{-100,-100},{100,100}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", - rotation=360, - origin={-200,180}), + visible=have_valChiWatChiBypSer and nChi >= 4, + extent={{-100,-100},{100,100}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + rotation=360, + origin={-200,1240 - 3*icon_dy}), Bitmap( - visible=have_valChiWatChiBypSer and nChi>=4, - extent={{-140,140},{-60,220}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), - Line( - visible=have_valChiWatChiBypSer and nChi>=1, - points={{-200,1140},{-140,1140}}, color={0,0,0}), - Line( - visible=have_valChiWatChiBypSer and nChi>=2, - points={{-200,820},{-140,820}}, color={0,0,0}), - Line( - visible=have_valChiWatChiBypSer and nChi>=3, - points={{-200,500},{-140,500}}, color={0,0,0}), - Line( - visible=have_valChiWatChiBypSer and nChi>=4, - points={{-200,180},{-140,180}}, color={0,0,0}), - Line( - points={{-200,1200},{200,1200}}, + visible=have_valChiWatChiBypSer and nChi >= 4, + extent={{-140,1240 - 3*icon_dy - 40},{-60,1240 - 3*icon_dy + 40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), + Line( visible=have_valChiWatChiBypSer and nChi >= 1, + points={{-200,1240},{-140,1240}}, + color={0,0,0}), + Line( visible=have_valChiWatChiBypSer and nChi >= 2, + points={{-200,1240 - 1*icon_dy},{-140,1240 - 1*icon_dy}}, + color={0,0,0}), + Line( visible=have_valChiWatChiBypSer and nChi >= 3, + points={{-200,1240 - 2*icon_dy},{-140,1240 - 2*icon_dy}}, + color={0,0,0}), + Line( visible=have_valChiWatChiBypSer and nChi >= 4, + points={{-200,1240 - 3*icon_dy},{-140,1240 - 3*icon_dy}}, + color={0,0,0}), + Line( points={{-200,1300},{200,1300}}, color={0,0,0}, thickness=5), - Line( - points={{-200,-1200},{200,-1200}}, + Line( points={{-200,-1300},{200,-1300}}, color={0,0,0}, thickness=5, pattern=LinePattern.Dash), Bitmap( visible=have_valChiWatChiBypSer and nChi >= 5, - extent={{-140,-180},{-60,-100}}, + extent={{-140,1240 - 4*icon_dy - 40},{-60,1240 - 4*icon_dy + 40}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( visible=have_valChiWatChiBypSer and nChi >= 5, extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=360, - origin={-200,-140}), + origin={-200,1240 - 4*icon_dy}), Bitmap( visible=have_valChiWatChiBypSer and nChi >= 6, extent={{-100,-100},{100,100}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", rotation=360, - origin={-200,-460}), + origin={-200,1240-5*icon_dy}), Bitmap( visible=have_valChiWatChiBypSer and nChi >= 6, - extent={{-140,-500},{-60,-420}}, + extent={{-140,1240 - 5*icon_dy - 40},{-60,1240 - 5*icon_dy + 40}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Line( visible=have_valChiWatChiBypSer and nChi >= 5, - points={{-200,-140},{-140,-140}}, + points={{-200,1240 - 4*icon_dy},{-140,1240 - 4*icon_dy}}, color={0,0,0}), Line( visible=have_valChiWatChiBypSer and nChi >= 6, - points={{-200,-460},{-140,-460}}, + points={{-200,1240 - 5*icon_dy},{-140,1240 - 5*icon_dy}}, color={0,0,0}), Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and nChi >= 2, - points={{-200,880},{200,880}}, + points={{-200,1300 - icon_dy},{200,1300 - icon_dy}}, color={0,0,0}, thickness=5), Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and nChi >= 3, - points={{-200,560},{200,560}}, + points={{-200,1300 - 2*icon_dy},{200,1300 - 2*icon_dy}}, color={0,0,0}, thickness=5), Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and nChi >= 4, - points={{-200,240},{200,240}}, + points={{-200,1300 - 3*icon_dy},{200,1300 - 3*icon_dy}}, color={0,0,0}, thickness=5), Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and nChi >= 5, - points={{-200,-80},{200,-80}}, + points={{-200,1300 - 4*icon_dy},{200,1300 - 4*icon_dy}}, color={0,0,0}, thickness=5), Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and nChi >= 6, - points={{-200,-400},{200,-400}}, + points={{-200,1300 - 5*icon_dy},{200,1300 - 5*icon_dy}}, color={0,0,0}, thickness=5), - Line( visible=typArrChi==Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Parallel and - typArrPumChiWatPri==Buildings.Templates.Components.Types.PumpArrangement.Headered, - points={{100,1200},{100,1200 - (nChi - 1)*320}}, + Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series + and nChi >= 2, + points={{100,1300 - icon_dy},{200,1300 - icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series + and nChi >= 3, + points={{100,1300 - 2*icon_dy},{200,1300 - 2*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series + and nChi >= 4, + points={{100,1300 - 3*icon_dy},{200,1300 - 3*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series + and nChi >= 5, + points={{100,1300 - 4*icon_dy},{200,1300 - 4*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typArrChi == Buildings.Templates.ChilledWaterPlants.Types.ChillerArrangement.Series + and nChi >= 6, + points={{100,1300 - 5*icon_dy},{200,1300 - 5*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typArrPumChiWatPri==Buildings.Templates.Components.Types.PumpArrangement.Headered, + points={{100,1300},{100,1300 - (nChi - 1)*icon_dy}}, color={0,0,0}, thickness=5), Line( - visible=have_valChiWatChiBypPar, - points={{-200,1040},{200,1040}}, - color={0,0,0}, - thickness=5), + visible=have_valChiWatChiBypPar, + points={{-200,1100},{100,1100}}, + color={0,0,0}, + thickness=5), Bitmap( - visible=have_valChiWatChiBypPar, - extent={{-100,-100},{100,100}}, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", - rotation=-90, - origin={0,1040}), + visible=have_valChiWatChiBypPar, + extent={{-100,-100},{100,100}}, + fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Valves/TwoWay.svg", + + rotation=-90, + origin={-40,1100}), Line( visible=have_valChiWatChiBypPar, points={{-30,0},{30,0}}, color={0,0,0}, - origin={0,1010}, + origin={-40,1070}, rotation=-90), Bitmap( visible=have_valChiWatChiBypPar, - extent={{-40,900},{40,980}}, + extent={{-80,960},{0,1040}}, fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/TwoPosition.svg"), Bitmap( - extent={{-40,-980},{40,-900}}, + extent={{-40,-1120},{40,-1040}}, visible=typEco<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/Temperature.svg"), Bitmap(extent={{-100,-100},{100,100}}, visible=typEco<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/ProbeInWell.svg", - origin={-140,-940}, + origin={-140,-1080}, rotation=-90), Bitmap( extent={{-100,-100},{100,100}}, - visible=have_senTChiWatPlaRet, + visible=true or have_senTChiWatPlaRet, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/ProbeInWell.svg", - origin={-140,-600}, + origin={-140,-760}, rotation=-90), Bitmap( - extent={{-40,-640},{40,-560}}, - visible=have_senTChiWatPlaRet, + extent={{-40,-800},{40,-720}}, + visible=true or have_senTChiWatPlaRet, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/Temperature.svg"), Bitmap( extent={{-100,-100},{100,100}}, visible=typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/ProbeInWell.svg", - origin={120,-1140}, + origin={120,-1220}, rotation=360), Bitmap( - extent={{80,-1040},{160,-960}}, + extent={{80,-1120},{160,-1040}}, visible=typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/Temperature.svg"), Bitmap( @@ -526,17 +548,17 @@ annotation ( visible=have_senVChiWatPri and locSenFloChiWatPri==Buildings.Templates.ChilledWaterPlants.Types.SensorLocation.Return, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/VolumeFlowRateFlowMeter.svg", - origin={-200,-750}, + origin={-200,-910}, rotation=-90), Bitmap( - extent={{-40,-790},{40,-710}}, + extent={{-40,-950},{40,-870}}, visible=have_senVChiWatPri and locSenFloChiWatPri==Buildings.Templates.ChilledWaterPlants.Types.SensorLocation.Return, fileName="modelica://Buildings/Resources/Images/Templates/Components/Sensors/VolumeFlowRate.svg"), Line( visible=have_senVChiWatPri and locSenFloChiWatPri==Buildings.Templates.ChilledWaterPlants.Types.SensorLocation.Return, - points={{-166,-750},{-40,-750}},color={0,0,0})}), + points={{-166,-910},{-40,-910}},color={0,0,0})}), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-200,-200},{200,200}})), Documentation(info="

diff --git a/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterLoop.mo b/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterLoop.mo index 407287ee5c4..b7e6f6bc2bf 100644 --- a/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterLoop.mo +++ b/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterLoop.mo @@ -15,41 +15,6 @@ partial model PartialChilledWaterLoop nLooChiWatSec=ctl.nLooChiWatSec, have_senVChiWatSec=ctl.have_senVChiWatSec, have_senLevCoo=ctl.have_senLevCoo)); - Buildings.Templates.Components.Routing.MultipleToSingle outPumChiWatPri( - redeclare final package Medium=MediumChiWat, - final nPorts=nPumChiWatPri, - final m_flow_nominal=mChiWatPri_flow_nominal, - final energyDynamics=energyDynamics, - final tau=tau, - final allowFlowReversal=allowFlowReversal, - icon_dy=-320) - "Primary CHW pumps outlet manifold" - annotation (Placement(transformation(extent={{50,-10},{70,10}}))); - Buildings.Templates.Components.Routing.MultipleToSingle outPumChiWatSec( - redeclare final package Medium=MediumChiWat, - final nPorts=nPumChiWatSec, - final m_flow_nominal=mChiWat_flow_nominal, - final energyDynamics=energyDynamics, - final tau=tau, - final allowFlowReversal=allowFlowReversal, - icon_dy=300) - if have_pumChiWatSec - "Secondary CHW pumps outlet manifold" - annotation (Placement(transformation(extent={{200,-10},{220,10}}))); - Buildings.Templates.Components.Routing.MultipleToSingle outConChi( - redeclare final package Medium = MediumCon, - final nPorts=if typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled - and typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None - then nChi + 1 else nChi, - final m_flow_nominal=mCon_flow_nominal, - final energyDynamics=energyDynamics, - final tau=tau, - final allowFlowReversal=allowFlowReversal, - icon_dy=320, - icon_offset=-1200, - icon_pipe=Buildings.Templates.Components.Types.IconPipe.Return) - "Chiller group condenser fluid outlet" - annotation (Placement(transformation(extent={{-90,-10},{-110,10}}))); replaceable Buildings.Templates.ChilledWaterPlants.Components.ChillerGroups.Compression chi constrainedby @@ -70,8 +35,8 @@ partial model PartialChilledWaterLoop final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal) "Chillers" - annotation (Dialog(group="Chillers"), Placement(transformation(extent={{-90, - -182},{-10,10}}))); + annotation (Dialog(group="Chillers"), + Placement(transformation(extent={{-40,-196},{40,4}}))); // Primary CHW loop Components.Routing.ChillersToPrimaryPumps intChi( @@ -90,8 +55,7 @@ partial model PartialChilledWaterLoop final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal) "Hydronic interface between chillers (and optional WSE) and primary CHW pumps" - annotation ( - Placement(transformation(extent={{-10,-250},{30,10}}))); + annotation (Placement(transformation(extent={{40,-264},{80,4}}))); Buildings.Templates.Components.Pumps.Multiple pumChiWatPri( redeclare final package Medium=MediumChiWat, final nPum=nPumChiWatPri, @@ -100,10 +64,21 @@ partial model PartialChilledWaterLoop final dat=dat.pumChiWatPri, final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal, - icon_dy=-320) + icon_dy=-360) "Primary CHW pumps" annotation ( - Placement(transformation(extent={{30,-10},{50,10}}))); + Placement(transformation(extent={{80,-10},{100,10}}))); + Buildings.Templates.Components.Routing.MultipleToSingle outPumChiWatPri( + redeclare final package Medium=MediumChiWat, + final nPorts=nPumChiWatPri, + final m_flow_nominal=mChiWatPri_flow_nominal, + final energyDynamics=energyDynamics, + final tau=tau, + final allowFlowReversal=allowFlowReversal, + icon_dy=-360, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) + "Primary CHW pumps outlet manifold" + annotation (Placement(transformation(extent={{100,-10},{120,10}}))); Buildings.Templates.Components.Valves.TwoWayModulating valChiWatMinByp( redeclare final package Medium=MediumChiWat, final dat=dat.valChiWatMinByp, @@ -113,7 +88,7 @@ partial model PartialChilledWaterLoop annotation ( Placement(transformation(extent={{10,10},{-10,-10}}, rotation=90, - origin={140,-100}))); + origin={170,-100}))); Buildings.Templates.Components.Routing.PassThroughFluid bypChiWatFix( redeclare final package Medium=MediumChiWat, final allowFlowReversal=allowFlowReversal) @@ -122,7 +97,7 @@ partial model PartialChilledWaterLoop annotation ( Placement(transformation(extent={{10,-10},{-10,10}}, rotation=90, - origin={140,-100}))); + origin={170,-100}))); Buildings.Templates.Components.Sensors.VolumeFlowRate VChiWatPri_flow( redeclare final package Medium = MediumChiWat, final m_flow_nominal=mChiWatPri_flow_nominal, @@ -134,7 +109,7 @@ partial model PartialChilledWaterLoop icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) "Primary CHW volume flow rate" annotation ( - Placement(transformation(extent={{80,-10},{100,10}}))); + Placement(transformation(extent={{120,-10},{140,10}}))); Buildings.Templates.Components.Routing.Junction junction( redeclare final package Medium=MediumChiWat, final tau=tau, @@ -153,7 +128,7 @@ partial model PartialChilledWaterLoop transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={140,0}))); + origin={170,0}))); Buildings.Templates.Components.Sensors.Temperature TChiWatPriSup( redeclare final package Medium = MediumChiWat, final have_sen=ctl.have_senTChiWatPriSup, @@ -165,7 +140,7 @@ partial model PartialChilledWaterLoop Placement(transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={110,0}))); + origin={150,0}))); Buildings.Templates.Components.Sensors.VolumeFlowRate VChiWatByp_flow( redeclare final package Medium = MediumChiWat, final m_flow_nominal=mChiWat_flow_nominal, @@ -180,7 +155,7 @@ partial model PartialChilledWaterLoop annotation (Placement(transformation( extent={{10,10},{-10,-10}}, rotation=90, - origin={140,-150}))); + origin={170,-150}))); // CW loop Buildings.Templates.Components.Routing.MultipleToMultiple inlConChi( @@ -189,15 +164,34 @@ partial model PartialChilledWaterLoop then nPumConWat else nChi, final nPorts_b=nChi, final m_flow_nominal=mCon_flow_nominal, - final have_comLeg=typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled - and typArrPumConWat == Buildings.Templates.Components.Types.PumpArrangement.Headered, + final have_comLeg=typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled + and typArrPumConWat==Buildings.Templates.Components.Types.PumpArrangement.Headered, final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, - icon_extend=400, - icon_dy=320) + icon_xout=200, + icon_offset=(6-nChi)*inlConChi.icon_dy, + icon_dy=360, + icon_pipe=if typChi==Buildings.Templates.Components.Types.Chiller.WaterCooled then + Buildings.Templates.Components.Types.IconPipe.Supply else + Buildings.Templates.Components.Types.IconPipe.None) "Chiller group condenser fluid inlet" - annotation (Placement(transformation(extent={{-164,-182},{-144,-162}}))); + annotation (Placement(transformation(extent={{-70,-202},{-50,-182}}))); + Buildings.Templates.Components.Routing.MultipleToSingle outConChi( + redeclare final package Medium = MediumCon, + final nPorts=if typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled + and typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None + then nChi + 1 else nChi, + final m_flow_nominal=mCon_flow_nominal, + final energyDynamics=energyDynamics, + final tau=tau, + final allowFlowReversal=allowFlowReversal, + icon_dy=-360, + icon_pipe=if typChi == Buildings.Templates.Components.Types.Chiller.WaterCooled then + Buildings.Templates.Components.Types.IconPipe.Return else + Buildings.Templates.Components.Types.IconPipe.None) + "Chiller group condenser fluid outlet" + annotation (Placement(transformation(extent={{-40,-10},{-60,10}}))); // Secondary CHW loop Buildings.Templates.Components.Routing.SingleToMultiple inlPumChiWatSec( @@ -206,16 +200,41 @@ partial model PartialChilledWaterLoop final m_flow_nominal=mChiWat_flow_nominal, final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal, - icon_dy=300) + icon_dy=300, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) if have_pumChiWatSec "Secondary CHW pumps inlet manifold" - annotation (Placement(transformation(extent={{160,-10},{180,10}}))); - Buildings.Templates.Components.Routing.PassThroughFluid supChiWat( + annotation (Placement(transformation(extent={{180,-10},{200,10}}))); + Buildings.Templates.Components.Pumps.Multiple pumChiWatSec( redeclare final package Medium=MediumChiWat, + final nPum=nPumChiWatSec, + final have_var=true, + final have_varCom=true, + final dat=dat.pumChiWatSec, + final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal) + if have_pumChiWatSec + "Secondary CHW pumps" + annotation (Placement(transformation(extent={{200,-10},{220,10}}))); + Buildings.Templates.Components.Routing.MultipleToSingle outPumChiWatSec( + redeclare final package Medium=MediumChiWat, + final nPorts=nPumChiWatSec, + final m_flow_nominal=mChiWat_flow_nominal, + final energyDynamics=energyDynamics, + final tau=tau, + final allowFlowReversal=allowFlowReversal, + icon_dy=300, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) + if have_pumChiWatSec + "Secondary CHW pumps outlet manifold" + annotation (Placement(transformation(extent={{220,-10},{240,10}}))); + Buildings.Templates.Components.Routing.PassThroughFluid supChiWat( + redeclare final package Medium=MediumChiWat, + final allowFlowReversal=allowFlowReversal, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) if not have_pumChiWatSec "CHW supply line - Without secondary CHW pumps" - annotation (Placement(transformation(extent={{180,-10},{200,10}}))); + annotation (Placement(transformation(extent={{200,-10},{220,10}}))); Buildings.Templates.Components.Sensors.DifferentialPressure dpChiWatLoc( redeclare final package Medium=MediumChiWat, final have_sen=ctl.have_senDpChiWatLoc, @@ -237,7 +256,7 @@ partial model PartialChilledWaterLoop final typ=Buildings.Templates.Components.Types.SensorVolumeFlowRate.FlowMeter, icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) "Secondary CHW volume flow rate" - annotation (Placement(transformation(extent={{230,-10},{250,10}}))); + annotation (Placement(transformation(extent={{250,-10},{270,10}}))); Buildings.Templates.Components.Sensors.VolumeFlowRate VChiWatSecRet_flow( redeclare final package Medium = MediumChiWat, final m_flow_nominal=mChiWat_flow_nominal, @@ -248,7 +267,7 @@ partial model PartialChilledWaterLoop final typ=Buildings.Templates.Components.Types.SensorVolumeFlowRate.FlowMeter, icon_pipe=Buildings.Templates.Components.Types.IconPipe.Return) "Secondary CHW volume flow rate" - annotation (Placement(transformation(extent={{250,-250},{230,-230}}))); + annotation (Placement(transformation(extent={{250,-270},{230,-250}}))); Buildings.Templates.Components.Sensors.Temperature TChiWatSecRet( redeclare final package Medium = MediumChiWat, final have_sen=ctl.have_senTChiWatSecRet, @@ -258,7 +277,7 @@ partial model PartialChilledWaterLoop "Secondary CHW return temperature" annotation (Placement(transformation(extent={{10,-10},{-10,10}}, rotation=0, - origin={200,-240}))); + origin={200,-260}))); // WSE replaceable Buildings.Templates.ChilledWaterPlants.Components.Economizers.None eco @@ -273,19 +292,13 @@ partial model PartialChilledWaterLoop annotation ( Dialog(group="Waterside economizer"), choices( - choice(redeclare replaceable - Buildings.Templates.ChilledWaterPlants.Components.Economizers.None eco - "No waterside economizer"), - choice(redeclare replaceable - Buildings.Templates.ChilledWaterPlants.Components.Economizers.HeatExchangerWithPump eco - "Heat exchanger with pump for CHW flow control"), - choice(redeclare replaceable - Buildings.Templates.ChilledWaterPlants.Components.Economizers.HeatExchangerWithValve eco - "Heat exchanger with bypass valve for CHW flow control")), - Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=90, - origin={-50,-230}))); + choice(redeclare replaceable Buildings.Templates.ChilledWaterPlants.Components.Economizers.None eco + "No waterside economizer"), + choice(redeclare replaceable Buildings.Templates.ChilledWaterPlants.Components.Economizers.HeatExchangerWithPump eco + "Heat exchanger with pump for CHW flow control"), + choice(redeclare replaceable Buildings.Templates.ChilledWaterPlants.Components.Economizers.HeatExchangerWithValve eco + "Heat exchanger with bypass valve for CHW flow control")), + Placement(transformation(extent={{-40,-262},{40,-242}}))); // Controls replaceable Buildings.Templates.ChilledWaterPlants.Components.Controls.OpenLoop ctl @@ -315,7 +328,7 @@ partial model PartialChilledWaterLoop "Plant controller" annotation ( Dialog(group="Controls"), - Placement(transformation(extent={{-10,130},{10,150}}))); + Placement(transformation(extent={{-10,190},{10,210}}))); // Miscellaneous Buildings.Fluid.Sources.Outside out( @@ -339,19 +352,6 @@ partial model PartialChilledWaterLoop annotation (Placement(transformation(extent={{30,230},{50,250}}))); equation /* Control point connection - start */ -public - Buildings.Templates.Components.Pumps.Multiple pumChiWatSec( - redeclare final package Medium=MediumChiWat, - final nPum=nPumChiWatSec, - final have_var=true, - final have_varCom=true, - final dat=dat.pumChiWatSec, - final energyDynamics=energyDynamics, - final allowFlowReversal=allowFlowReversal) - if have_pumChiWatSec - "Secondary CHW pumps" - annotation (Placement(transformation(extent={{180,-10},{200,10}}))); -equation connect(TOut.T, bus.TOut); connect(phiOut.phi, bus.phiOut); connect(bus, intChi.bus); @@ -367,101 +367,109 @@ equation connect(TChiWatPriSup.y, bus.TChiWatPriSup); /* Control point connection - stop */ connect(intChi.ports_bSup, pumChiWatPri.ports_a) - annotation (Line(points={{30,0},{30,0}}, color={0,127,255})); + annotation (Line(points={{80,0},{80,0}}, color={0,127,255})); connect(chi.ports_bCon, outConChi.ports_a[1:nChi]) - annotation (Line(points={{-90,0},{-90,0}}, color={0,127,255})); + annotation (Line(points={{-40,0},{-40,0}}, color={0,127,255})); connect(pumChiWatPri.ports_b, outPumChiWatPri.ports_a) - annotation (Line(points={{50,0},{50,0}}, color={0,127,255})); + annotation (Line(points={{100,0},{100,0}}, color={0,127,255})); connect(inlPumChiWatSec.ports_b, pumChiWatSec.ports_a) - annotation (Line(points={{180,0},{180,0}}, color={0,127,255})); - connect(pumChiWatSec.ports_b, outPumChiWatSec.ports_a) annotation (Line(points={{200,0},{200,0}}, color={0,127,255})); + connect(pumChiWatSec.ports_b, outPumChiWatSec.ports_a) + annotation (Line(points={{220,0},{220,0}}, color={0,127,255})); connect(intChi.ports_bRet[1:nChi], chi.ports_aChiWat) annotation (Line( - points={{-10,-240},{-10,-224},{-12,-224},{-12,-172},{-10,-172}}, + points={{40,-260},{40,-192}}, color={0,127,255}, visible=viewDiagramAll)); - connect(chi.ports_bChiWat, intChi.ports_aSup[1:nChi]) annotation (Line(points={{-10,0}, - {-10,0}}, color={0,0,0}, + connect(chi.ports_bChiWat, intChi.ports_aSup[1:nChi]) annotation (Line(points={{40,0},{ + 40,0}}, color={0,0,0}, thickness=0.5)); - connect(intChi.ports_bRet[nChi + 1], eco.port_a) annotation (Line(points={{-10, - -240},{-50,-240}}, color={0,0,0}, - thickness=0.5, - pattern=LinePattern.Dash)); + connect(intChi.ports_bRet[nChi + 1], eco.port_a) annotation (Line( + points={{40,-260},{-10,-260},{-10,-252}}, + color={0,127,255}, + visible=viewDiagramAll)); connect(eco.port_b, intChi.ports_aSup[nChi + 1]) annotation (Line( - points={{-50,-220},{-10,-220},{-10,0}}, + points={{10,-252},{40,-252},{40,0}}, color={0,127,255}, visible=viewDiagramAll)); connect(inlConChi.ports_b, chi.ports_aCon) - annotation (Line(points={{-144,-172},{-90,-172}}, - color={0,0,0},thickness=0.5)); + annotation (Line( + points={{-50,-192},{-40,-192}}, + color={0,127,255}, + visible=viewDiagramAll)); connect(inlConChi.port_aComLeg, eco.port_aConWat) annotation (Line( - points={{-154,-172},{-154,-220},{-59,-220}}, - color={0,0,0},thickness=0.5)); + points={{-60,-192},{-60,-244},{-40,-244}}, + color={0,0,0}, + thickness=0.5, + visible=typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None)); connect(eco.port_bConWat, outConChi.ports_a[nChi + 1]) annotation (Line( - points={{-59,-240},{-100,-240},{-100,0},{-90,0}}, - color={0,0,0},thickness=0.5, - pattern=LinePattern.Dash)); + points={{-40,-260},{-50,-260},{-50,0},{-40,0}}, + color={0,0,0}, + thickness=0.5, + pattern=LinePattern.Dash, + visible=typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None)); connect(dpChiWatLoc.port_a, port_b) annotation (Line( points={{280,-110},{280,0},{300,0}}, color={0,127,255}, visible=viewDiagramAll)); connect(dpChiWatLoc.port_b, port_a) annotation (Line( - points={{280,-130},{280,-240},{300,-240}}, + points={{280,-130},{280,-260},{300,-260}}, color={0,127,255}, visible=viewDiagramAll)); connect(outPumChiWatPri.port_b, VChiWatPri_flow.port_a) - annotation (Line(points={{70,0},{80,0}}, color={0,0,0}, + annotation (Line(points={{120,0},{120,0}}, color={0,0,0}, thickness=0.5)); connect(junction.port_2, inlPumChiWatSec.port_a) - annotation (Line(points={{150,0},{160,0}}, color={0,127,255})); + annotation (Line(points={{180,0},{180,0}}, color={0,127,255})); connect(junction.port_3, valChiWatMinByp.port_a) annotation (Line( - points={{140,-10},{140,-90}}, + points={{170,-10},{170,-90}}, color={0,0,0}, thickness=0.5)); connect(junction.port_3, bypChiWatFix.port_a) annotation (Line( - points={{140,-10},{140,-90}}, + points={{170,-10},{170,-90}}, color={0,0,0}, thickness=0.5)); connect(junction.port_2, supChiWat.port_a) annotation (Line( - points={{150,0},{180,0}}, + points={{180,0},{200,0}}, color={0,0,0}, thickness=0.5)); connect(outPumChiWatSec.port_b, VChiWatSecSup_flow.port_a) - annotation (Line(points={{220,0},{230,0}}, color={0,127,255})); - connect(supChiWat.port_b, VChiWatSecSup_flow.port_a) annotation (Line(points={{200,0}, - {230,0}}, color={0,0,0}, - thickness=0.5)); + annotation (Line(points={{240,0},{250,0}}, color={0,127,255})); + connect(supChiWat.port_b, VChiWatSecSup_flow.port_a) annotation (Line(points={{220,0}, + {250,0}}, color={0,0,0}, thickness=0.5)); connect(VChiWatSecSup_flow.port_b, port_b) - annotation (Line(points={{250,0},{300,0}}, color={0,0,0}, + annotation (Line(points={{270,0},{300,0}}, color={0,0,0}, thickness=0.5)); connect(port_a, VChiWatSecRet_flow.port_a) - annotation (Line(points={{300,-240},{250,-240}}, color={0,0,0}, + annotation (Line(points={{300,-260},{250,-260}}, color={0,0,0}, thickness=0.5, pattern=LinePattern.Dash)); connect(VChiWatSecRet_flow.port_b, TChiWatSecRet.port_a) - annotation (Line(points={{230,-240},{210,-240}}, color={0,0,0}, + annotation (Line(points={{230,-260},{210,-260}}, color={0,0,0}, thickness=0.5, pattern=LinePattern.Dash)); connect(TChiWatSecRet.port_b, intChi.port_aRet) annotation (Line(points={{190, - -240},{30,-240}}, color={0,0,0}, + -260},{80,-260}}, color={0,0,0}, thickness=0.5, pattern=LinePattern.Dash)); connect(VChiWatPri_flow.port_b, TChiWatPriSup.port_a) - annotation (Line(points={{100,0},{100,0}}, color={0,127,255})); + annotation (Line( + points={{140,0},{140,0}}, + color={0,0,0}, + thickness=0.5)); connect(TChiWatPriSup.port_b, junction.port_1) annotation (Line( - points={{120,0},{130,0}}, + points={{160,0},{160,0}}, color={0,0,0}, thickness=0.5)); connect(bypChiWatFix.port_b, VChiWatByp_flow.port_a) - annotation (Line(points={{140,-110},{140,-140}},color={0,0,0}, + annotation (Line(points={{170,-110},{170,-140}},color={0,0,0}, thickness=0.5)); - connect(VChiWatByp_flow.port_b, intChi.port_aByp) annotation (Line(points={{140, - -160},{140,-206},{-10,-206}}, color={0,0,0}, + connect(VChiWatByp_flow.port_b, intChi.port_aByp) annotation (Line(points={{170, + -160},{170,-230},{40,-230}}, color={0,0,0}, thickness=0.5)); connect(valChiWatMinByp.port_b, VChiWatByp_flow.port_a) annotation (Line( - points={{140,-110},{140,-140}}, color={0,0,0}, + points={{170,-110},{170,-140}}, color={0,0,0}, thickness=0.5)); connect(busWea, out.weaBus) annotation (Line( points={{0,280},{0,250},{0.2,250}}, @@ -472,15 +480,15 @@ equation connect(phiOut.port, out.ports[2]) annotation (Line(points={{-40,230},{1,230}}, color={0,127,255})); connect(bus, ctl.bus) annotation (Line( - points={{-300,140},{-10,140}}, + points={{-300,200},{-10,200}}, color={255,204,51}, thickness=0.5)); connect(ctl.busAirHan, busAirHan) annotation (Line( - points={{10,146},{280,146},{280,180},{300,180}}, + points={{10,206},{280,206},{280,240},{300,240}}, color={255,204,51}, thickness=0.5)); connect(ctl.busEquZon, busEquZon) annotation (Line( - points={{10,134},{280,134},{280,100},{300,100}}, + points={{10,194},{280,194},{280,160},{300,160}}, color={255,204,51}, thickness=0.5)); annotation (Documentation(info=" diff --git a/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterPlant.mo b/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterPlant.mo index c9fc4a02533..2737acbf7d9 100644 --- a/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterPlant.mo +++ b/Buildings/Templates/ChilledWaterPlants/Interfaces/PartialChilledWaterPlant.mo @@ -8,8 +8,8 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" "Medium model for condenser cooling fluid"; inner parameter Boolean viewDiagramAll=false - "Set to true to view all component icons in diagram view" - annotation (Dialog(group="Graphics")); + "Set to true to view all component icons and connection lines in diagram" + annotation (Dialog(tab="Graphics")); parameter Buildings.Templates.Components.Types.Chiller typChi "Type of chiller" @@ -128,8 +128,11 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" and typEco == Buildings.Templates.ChilledWaterPlants.Types.Economizer.None)); // The following parameter stores the actual configuration setting. final parameter Buildings.Templates.Components.Types.PumpArrangement - typArrPumConWat=if typEco <> Buildings.Templates.ChilledWaterPlants.Types.Economizer.None - then Buildings.Templates.Components.Types.PumpArrangement.Headered else + typArrPumConWat= + if typChi==Buildings.Templates.Components.Types.Chiller.AirCooled then + Buildings.Templates.Components.Types.PumpArrangement.Dedicated + elseif typEco<>Buildings.Templates.ChilledWaterPlants.Types.Economizer.None + then Buildings.Templates.Components.Types.PumpArrangement.Headered else typArrPumConWat_select "Type of CW pump arrangement" annotation (Evaluate=true, Dialog(group="CW loop")); @@ -271,7 +274,7 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" m_flow(min=if allowFlowReversal then -Modelica.Constants.inf else 0), h_outflow(start=MediumChiWat.h_default, nominal=MediumChiWat.h_default)) "CHW return" - annotation (Placement(transformation(extent={{290,-250},{310,-230}}), + annotation (Placement(transformation(extent={{290,-270},{310,-250}}), iconTransformation(extent={{192,-110},{212,-90}}))); Modelica.Fluid.Interfaces.FluidPort_b port_b( redeclare final package Medium = MediumChiWat, @@ -293,7 +296,7 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" "CHW plant control bus" annotation (Placement(transformation( extent={{-20,-20},{20,20}}, rotation=90, - origin={-300,140}), iconTransformation( + origin={-300,200}), iconTransformation( extent={{-20,-20},{20,20}}, rotation=90, origin={-200,100}))); @@ -302,7 +305,7 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" "Air handling unit control bus" annotation (Placement(transformation(extent={{-20,-20},{20,20}}, rotation=-90, - origin={300,180}), iconTransformation(extent={{-20,-20},{20,20}}, + origin={300,240}), iconTransformation(extent={{-20,-20},{20,20}}, rotation=-90, origin={200,140}))); Buildings.Templates.ZoneEquipment.Interfaces.Bus busEquZon[nEquZon] @@ -310,7 +313,7 @@ partial model PartialChilledWaterPlant "Interface class for CHW plant" "Terminal unit control bus" annotation (Placement(transformation(extent={{-20,-20},{20,20}}, rotation=-90, - origin={300,100}), + origin={300,160}), iconTransformation(extent={{-20,-20},{20,20}}, rotation=-90, origin={202,60}))); @@ -375,7 +378,7 @@ initial equation extent={{-200,-200},{200,200}}), graphics={ Rectangle( - extent={{-200,200},{202,-200}}, + extent={{-200,200},{200,-200}}, lineColor={0,0,255}, fillColor={255,255,255}, fillPattern=FillPattern.Solid), @@ -385,7 +388,7 @@ initial equation textString="%name")}), Diagram(coordinateSystem( preserveAspectRatio=false, - extent={{-300,-280},{300,280}})), + extent={{-300,-300},{300,300}})), Documentation(info="

This partial class provides a standard interface for chilled water plant templates. diff --git a/Buildings/Templates/ChilledWaterPlants/WaterCooled.mo b/Buildings/Templates/ChilledWaterPlants/WaterCooled.mo index fa11e7404a7..ba7bd6a6c75 100644 --- a/Buildings/Templates/ChilledWaterPlants/WaterCooled.mo +++ b/Buildings/Templates/ChilledWaterPlants/WaterCooled.mo @@ -20,9 +20,8 @@ model WaterCooled "Water-cooled chiller plant" final tau=tau, final allowFlowReversal=allowFlowReversal) "Coolers" - annotation ( - Dialog(group="Coolers"), - Placement(transformation(extent={{-180,-40},{-260,40}}))); + annotation (Dialog(group="Coolers"), Placement(transformation(extent={{-128,34}, + {-292,94}}))); // CW loop Buildings.Templates.Components.Routing.SingleToMultiple inlPumConWat( @@ -32,9 +31,10 @@ model WaterCooled "Water-cooled chiller plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, - icon_dy=300) + icon_dy=intChi.icon_dy, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply) "CW pumps inlet manifold" - annotation (Placement(transformation(extent={{-140,-190},{-120,-170}}))); + annotation (Placement(transformation(extent={{-110,-202},{-90,-182}}))); Buildings.Templates.Components.Pumps.Multiple pumConWat( redeclare final package Medium=MediumCon, final nPum=nPumConWat, @@ -42,9 +42,10 @@ model WaterCooled "Water-cooled chiller plant" final have_varCom=have_varComPumConWat, final dat=dat.pumConWat, final energyDynamics=energyDynamics, - final allowFlowReversal=allowFlowReversal) + final allowFlowReversal=allowFlowReversal, + icon_dy=intChi.icon_dy) "CW pumps" - annotation (Placement(transformation(extent={{-120,-190},{-100,-170}}))); + annotation (Placement(transformation(extent={{-90,-202},{-70,-182}}))); Fluid.Sources.Boundary_pT bouConWat( redeclare final package Medium = MediumCon, p=200000, @@ -54,7 +55,7 @@ model WaterCooled "Water-cooled chiller plant" transformation( extent={{10,-10},{-10,10}}, rotation=-90, - origin={-140,-220}))); + origin={-100,-250}))); Buildings.Templates.Components.Sensors.Temperature TConWatRet( redeclare final package Medium = MediumCon, final m_flow_nominal=mCon_flow_nominal, @@ -64,7 +65,7 @@ model WaterCooled "Water-cooled chiller plant" transformation( extent={{-10,-10},{10,10}}, rotation=0, - origin={-140,0}))); + origin={-110,40}))); Buildings.Templates.Components.Sensors.Temperature TConWatSup( redeclare final package Medium = MediumCon, final m_flow_nominal=mCon_flow_nominal, @@ -74,7 +75,7 @@ model WaterCooled "Water-cooled chiller plant" annotation (Placement(transformation( extent={{10,-10},{-10,10}}, rotation=0, - origin={-200,-180}))); + origin={-160,-192}))); equation /* Control point connection - start */ @@ -84,32 +85,39 @@ equation connect(TConWatSup.y, bus.TConWatRet); /* Control point connection - stop */ connect(inlPumConWat.ports_b, pumConWat.ports_a) - annotation (Line(points={{-120,-180},{-120,-180}}, color={0,127,255})); + annotation (Line( + points={{-90,-192},{-90,-192}}, + color={0,0,0}, + thickness=0.5)); connect(busWea, coo.busWea) annotation (Line( - points={{0,280},{0,256},{-16,256},{-16,160},{-32,160},{-32,52},{-198,52}, - {-198,40}}, + points={{0,280},{-180,280},{-180,94}}, color={255,204,51}, thickness=0.5)); connect(inlPumConWat.port_a, bouConWat.ports[1]) - annotation (Line(points={{-140,-180},{-140,-210}}, color={0,127,255})); + annotation (Line( + points={{-110,-192},{-110,-212},{-100,-212},{-100,-240}}, + color={0,127,255}, + visible=viewDiagramAll)); connect(pumConWat.ports_b, inlConChi.ports_a) - annotation (Line(points={{-100,-180},{-160,-180}}, color={0,127,255})); + annotation (Line( + points={{-70,-192},{-70,-192}}, + color={0,0,0}, + thickness=0.5)); connect(outConChi.port_b, TConWatRet.port_b) annotation (Line( - points={{-120,0},{-130,0}}, + points={{-60,0},{-60,40},{-100,40}}, color={0,0,0}, thickness=0.5, pattern=LinePattern.Dash)); connect(TConWatRet.port_a, coo.port_a) annotation (Line( - points={{-150,0},{-210,0}}, + points={{-120,40},{-200,40},{-200,64}}, color={0,0,0}, thickness=0.5, pattern=LinePattern.Dash)); - connect(coo.port_b,TConWatSup. port_b) annotation (Line(points={{-230,0},{ - -278,0},{-278,-180},{-210,-180}}, - color={0,0,0}, + connect(coo.port_b,TConWatSup. port_b) annotation (Line(points={{-220,64},{ + -212,64},{-212,-192},{-170,-192}}, color={0,0,0}, thickness=0.5)); connect(TConWatSup.port_a, inlPumConWat.port_a) - annotation (Line(points={{-190,-180},{-140,-180}}, color={0,0,0}, + annotation (Line(points={{-150,-192},{-110,-192}}, color={0,0,0}, thickness=0.5)); annotation (Documentation(info="

diff --git a/Buildings/Templates/Components/Chillers/Compression.mo b/Buildings/Templates/Components/Chillers/Compression.mo index 38d9478e7b4..dd122b783f8 100644 --- a/Buildings/Templates/Components/Chillers/Compression.mo +++ b/Buildings/Templates/Components/Chillers/Compression.mo @@ -65,16 +65,6 @@ equation 92,-40},{92,96},{0,96},{0,100}}, color={255,0,255})); annotation(defaultComponentName="chi", - Icon(graphics={ - Rectangle( - extent={{100,60},{-100,-60}}, - lineColor={0,0,0}, - lineThickness=1), - Text( extent={{-60,20},{60,-20}}, - textColor={0,0,0}, - textString="CHI"), - Bitmap(extent={{-20,60},{20,100}}, fileName= - "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg")}), Documentation(info="

The chiller request commands to the CHW or CW isolation valves diff --git a/Buildings/Templates/Components/Coolers/CoolingTower.mo b/Buildings/Templates/Components/Coolers/CoolingTower.mo index a4c6f85b75d..a8e13985bd0 100644 --- a/Buildings/Templates/Components/Coolers/CoolingTower.mo +++ b/Buildings/Templates/Components/Coolers/CoolingTower.mo @@ -77,7 +77,28 @@ equation annotation (Line(points={{-100,0},{-10,0}}, color={0,127,255})); annotation ( defaultComponentName="coo", - Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( + Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-40,-60},{40,-100}}, + lineColor={28,108,200}, + pattern=LinePattern.None, + fillColor={239,239,239}, + fillPattern=FillPattern.Solid), + Text( extent={{-60,-60},{60,-100}}, + textColor={0,0,0}, + textString="CT"), + Rectangle( + extent={{40,60},{-40,-100}}, + lineColor={0,0,0}, + lineThickness=1), + Bitmap(extent={{-20,60},{20,100}}, fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + extent={{-33,-30},{33,30}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Fans/Propeller.svg", + origin={0,41}, + rotation=-90)}), + Diagram( coordinateSystem(preserveAspectRatio=false)), Documentation(revisions="

-")); +"), Icon(graphics={ + Rectangle( + extent={{100,60},{-100,-60}}, + lineColor={0,0,0}, + lineThickness=1), + Bitmap(extent={{-20,60},{20,100}}, fileName= + "modelica://Buildings/Resources/Images/Templates/Components/Boilers/ControllerOnboard.svg"), + Text( extent={{-60,20},{60,-20}}, + textColor={0,0,0}, + textString="CHI")})); end PartialChiller; diff --git a/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo b/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo index 73ea5943369..b372c10e1bb 100644 --- a/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo +++ b/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo @@ -153,6 +153,59 @@ First implementation. visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=4, extent={{-100, 3*icon_dy+60},{0, 3*icon_dy+160}}, rotation=text_rotation, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg")})); + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg"), + Line( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + points={{-100, 4*icon_dy},{100, 4*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + points={{-50, 4*icon_dy+60},{-50, 4*icon_dy+22}}, + color={0,0,0}), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + extent={{-100, 4*icon_dy-70},{0, 4*icon_dy+30}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Pumps/Single.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_valChe and nPum>=5, + extent={{20, 4*icon_dy-40},{100, 4*icon_dy+40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/Check.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_var and nPum>=5, + extent={{-100, 4*icon_dy+60},{0, 4*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=5, + extent={{-100, 4*icon_dy+60},{0, 4*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg"), + Line( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + points={{-100, 5*icon_dy},{100, 5*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + points={{-50, 5*icon_dy+60},{-50, 5*icon_dy+22}}, + color={0,0,0}), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + extent={{-100, 5*icon_dy-70},{0, 5*icon_dy+30}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Pumps/Single.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_valChe and nPum>=6, + extent={{20, 5*icon_dy-40},{100, 5*icon_dy+40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/Check.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_var and nPum>=6, + extent={{-100, 5*icon_dy+60},{0, 5*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=6, + extent={{-100, 5*icon_dy+60},{0, 5*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg") +})); end PartialPumpMultiple; diff --git a/Buildings/Templates/Components/Routing/MultipleToMultiple.mo b/Buildings/Templates/Components/Routing/MultipleToMultiple.mo index e23e8ac3d7c..c94efade48e 100644 --- a/Buildings/Templates/Components/Routing/MultipleToMultiple.mo +++ b/Buildings/Templates/Components/Routing/MultipleToMultiple.mo @@ -42,16 +42,17 @@ model MultipleToMultiple annotation ( Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_extend = 0 - "Extend lines by this amount in x-direction in icon layer: >0 at outlet, <0 at inlet" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = + constant Integer icon_xinl = -100 + "Minimum x-coordinate of inlet connection lines"; + constant Integer icon_xout = 100 + "Maximum x-coordinate of outlet connection lines"; + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPorts_a ports_a[nPorts_a]( redeclare each final package Medium = Medium, @@ -160,49 +161,84 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), - Line( points={{-100 + min(0,icon_extend), 0}, {100 + max(0, icon_extend),0}}, + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), + Line( points={{icon_xinl, 0}, {0,0}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=2, - points=if have_comLeg then - {{-100 + min(0,icon_extend), icon_dy}, {-40,icon_dy}, {-40, 0}} - else {{-100 + min(0,icon_extend),icon_dy}, {100 + max(0, icon_extend),icon_dy}}, + Line( visible=nPorts_a>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, icon_dy}, {0,icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=3, - points=if have_comLeg then - {{-100 + min(0,icon_extend), 2*icon_dy}, {-40, 2*icon_dy}, {-40, icon_dy}} - else {{-100 + min(0,icon_extend),2*icon_dy}, {100 + max(0, icon_extend),2*icon_dy}}, + Line( visible=nPorts_a>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 2*icon_dy}, {0, 2*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=4, - points=if have_comLeg then - {{-100 + min(0,icon_extend), 3*icon_dy}, {-40, 3*icon_dy}, {-40, 2*icon_dy}} - else {{-100 + min(0,icon_extend),3*icon_dy}, {100 + max(0, icon_extend),3*icon_dy}}, + Line( visible=nPorts_a>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 3*icon_dy}, {0, 3*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=2 and have_comLeg, - points={{40, 0}, {40, icon_dy}, {100 + max(0, icon_extend), icon_dy}}, + Line( visible=nPorts_a>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 4*icon_dy}, {0, 4*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=3 and have_comLeg, - points={{40, icon_dy}, {40, 2*icon_dy}, {100 + max(0, icon_extend), 2*icon_dy}}, + Line( visible=nPorts_a>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 5*icon_dy}, {0, 5*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=4 and have_comLeg, - points={{40, 2*icon_dy}, {40, 3*icon_dy}, {100 + max(0, icon_extend), 3*icon_dy}}, + Line( points={{0, icon_offset}, {icon_xout,icon_offset}}, + color={0,0,0}, + thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 1*icon_dy}, {icon_xout,icon_offset + 1*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 2*icon_dy}, {icon_xout,icon_offset + 2*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 3*icon_dy}, {icon_xout,icon_offset + 3*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 4*icon_dy}, {icon_xout,icon_offset + 4*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 5*icon_dy}, {icon_xout,icon_offset + 5*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None and + max(nPorts_a, nPorts_b)>=2 and have_comLeg, + points={{0, 0}, {0, icon_offset + (max(nPorts_a, nPorts_b)-1)*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply @@ -221,7 +257,7 @@ First implementation. This is a model of a many-to-many fluid connector with an optional control volume, and an optional mixing port (common leg). It is typically used to connect parallel pumps with parallel -chillers or boilers. +chillers or boilers. Selecting a mixing port allows modeling a headered pumping arrangement. Without any mixing port, a dedicated pumping arrangement is modeled.

diff --git a/Buildings/Templates/Components/Routing/MultipleToSingle.mo b/Buildings/Templates/Components/Routing/MultipleToSingle.mo index df088e2bfe3..a42b8bcda4e 100644 --- a/Buildings/Templates/Components/Routing/MultipleToSingle.mo +++ b/Buildings/Templates/Components/Routing/MultipleToSingle.mo @@ -35,16 +35,13 @@ model MultipleToSingle "Multiple inlet port, single outlet ports" Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_offset = 0 - "Offset in y-direction between inlet and outlet in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = - Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = + Buildings.Templates.Components.Types.IconPipe.None + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPorts_a ports_a[nPorts]( redeclare each final package Medium = Medium, @@ -100,8 +97,7 @@ equation -20,20},{-10,20}}, color={0,127,255})); end for; connect(ports_a, del.ports[1:nPorts]) annotation (Line(points={{-100,0},{-20,0}, - {-20,-20},{0,-20}}, - color={0,127,255})); + {-20,-20},{0,-20}}, color={0,127,255})); connect(del.ports[nPorts+1], port_b) annotation (Line(points={{0,-20},{20,-20}, {20,0},{100,0}}, color={0,127,255})); connect(pasSte.port_b, port_b) annotation (Line(points={{10,20},{20,20},{20,0}, @@ -112,12 +108,16 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), Line( points={{-100, icon_offset}, {0, icon_offset}, {0,0}, {100,0}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts>=2, + Line( visible=nPorts>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0,icon_offset},{0,icon_offset+icon_dy},{-100,icon_offset+icon_dy}} elseif icon_offset>0 and icon_offset+icon_dy<0 or icon_offset<0 and icon_offset+icon_dy>0 then @@ -127,7 +127,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=3, + Line( visible=nPorts>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+icon_dy},{0, icon_offset+2*icon_dy},{-100, icon_offset+2*icon_dy}} elseif icon_offset>0 and icon_offset+2*icon_dy<0 or icon_offset<0 and icon_offset+2*icon_dy>0 then @@ -137,7 +137,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=4, + Line( visible=nPorts>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+2*icon_dy},{0, icon_offset+3*icon_dy},{-100, icon_offset+3*icon_dy}} elseif icon_offset>0 and icon_offset+3*icon_dy<0 or icon_offset<0 and icon_offset+3*icon_dy>0 then @@ -146,6 +146,26 @@ equation color={0,0,0}, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+3*icon_dy},{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}} + elseif icon_offset>0 and icon_offset+4*icon_dy<0 or icon_offset<0 and icon_offset+4*icon_dy>0 then + {{0, 0},{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}} + else {{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+4*icon_dy},{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}} + elseif icon_offset>0 and icon_offset+5*icon_dy<0 or icon_offset<0 and icon_offset+5*icon_dy>0 then + {{0, 0},{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}} + else {{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, thickness=5)}), Diagram( coordinateSystem(preserveAspectRatio=false)), diff --git a/Buildings/Templates/Components/Routing/SingleToMultiple.mo b/Buildings/Templates/Components/Routing/SingleToMultiple.mo index 0c8996d1449..6bfd895ae96 100644 --- a/Buildings/Templates/Components/Routing/SingleToMultiple.mo +++ b/Buildings/Templates/Components/Routing/SingleToMultiple.mo @@ -35,16 +35,13 @@ model SingleToMultiple "Single inlet port, multiple outlet ports" Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_offset = 0 - "Offset in y-direction between inlet and outlet in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = - Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = + Buildings.Templates.Components.Types.IconPipe.None + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPort_a port_a( redeclare final package Medium = Medium, @@ -114,12 +111,16 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), Line( points={{-100,0},{0,0},{0,icon_offset},{100,icon_offset}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts>=2, + Line( visible=nPorts>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset}, {0,icon_offset+icon_dy}, {100,icon_offset+icon_dy}} elseif icon_offset>0 and icon_offset+icon_dy<0 or icon_offset<0 and icon_offset+icon_dy>0 then @@ -129,7 +130,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=3, + Line( visible=nPorts>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+icon_dy},{0, icon_offset+2*icon_dy},{100, icon_offset+2*icon_dy}} elseif icon_offset>0 and icon_offset+2*icon_dy<0 or icon_offset<0 and icon_offset+2*icon_dy>0 then @@ -139,7 +140,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=4, + Line( visible=nPorts>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+2*icon_dy},{0, icon_offset+3*icon_dy},{100, icon_offset+3*icon_dy}} elseif icon_offset>0 and icon_offset+3*icon_dy<0 or icon_offset<0 and icon_offset+3*icon_dy>0 then @@ -148,6 +149,26 @@ equation color={0,0,0}, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+3*icon_dy},{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}} + elseif icon_offset>0 and icon_offset+4*icon_dy<0 or icon_offset<0 and icon_offset+4*icon_dy>0 then + {{0, 0},{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}} + else {{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+4*icon_dy},{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}} + elseif icon_offset>0 and icon_offset+5*icon_dy<0 or icon_offset<0 and icon_offset+5*icon_dy>0 then + {{0, 0},{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}} + else {{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, thickness=5)}), Diagram( coordinateSystem(preserveAspectRatio=false)),