Skip to content

Commit

Permalink
Changes in BMS to comply with HP max supply temperatures and refactor…
Browse files Browse the repository at this point in the history
…ed conditional input connector
  • Loading branch information
Iago Cupeiro committed Jan 4, 2024
1 parent 5c47043 commit b900152
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,16 @@ model BmsControl
.Modelica.Blocks.Math.RealToInteger realToIntPrfProCoo annotation(Placement(transformation(extent = {{29.259458112116533,133.25945811211653},{38.74054188788347,142.74054188788347}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuNz(description = "North zone AHU air supply temperature setpoint", u(min=273.15+16, max=273.15+25, unit="K")) annotation(Placement(transformation(extent = {{0.7964094858412487,76.7964094858413},{11.203590514158751,87.2035905141587}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuSz(description = "South zone AHU air supply temperature setpoint", u(min=273.15+16, max=273.15+25, unit="K")) annotation(Placement(transformation(extent = {{0.7964094858412487,76.7964094858413},{11.203590514158751,87.2035905141587}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaNz(description = "North zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaSz(description = "South zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaNz(description = "North zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaSz(description = "South zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuCooNz(description = "North zone AHU cooling water supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-35.315897484917286},{-42.6841025150827,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuCooSz(description = "South zone AHU cooling water supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-35.315897484917286},{-42.6841025150827,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuHeaNz(description = "North zone AHU heating circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,4.684102515082714},{41.3158974849173,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuHeaSz(description = "South zone AHU heating circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,4.684102515082714},{41.3158974849173,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuCooNz(description = "North zone AHU cooling circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-35.315897484917286},{41.3158974849173,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuCooSz(description = "South zone AHU cooling circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-35.315897484917286},{41.3158974849173,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaNz(description = "North zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaSz(description = "South zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaNz(description = "North zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaSz(description = "South zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiCooNz(description = "North zone cooling emission circuit supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-113.31589748491729},{-42.6841025150827,-102.68410251508271}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiCooSz(description = "Southh zone cooling emission circuit supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-113.31589748491729},{-42.6841025150827,-102.68410251508271}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosEmiHeaNz(description = "North zone heating emission circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-73.31589748491729},{41.3158974849173,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0)));
Expand Down Expand Up @@ -101,10 +101,10 @@ model BmsControl
.IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiHeaNz(description = "North zone emission heating circuit activation setpoint",u(min = 0,max = 1, unit="1")) annotation(Placement(transformation(extent = {{72.43172280599326,-91.56827719400674},{83.56827719400674,-80.43172280599326}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiCooSz(u(min = 0,max = 1, unit="1"),description = "South zone emission cooling circuit activation setpoint") annotation(Placement(transformation(extent = {{72.68410251508271,-131.3158974849173},{83.31589748491729,-120.68410251508271}},origin = {0.0,0.0},rotation = 0.0)));
.IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiHeaSz(description = "South zone emission heating circuit activation setpoint",u(min = 0,max = 1, unit="1")) annotation(Placement(transformation(extent = {{72.43172280599326,-91.56827719400674},{83.56827719400674,-80.43172280599326}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Tables.CombiTable1Ds[nZones] heaCur(each table = [273.15 - 10, 273.15 + 70; 273.15 + 20, 273.15 + 40]) annotation(Placement(transformation(extent = {{-75.38187521415755,-73.38187521415755},{-64.61812478584245,-62.618124785842454}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Tables.CombiTable1Ds[nZones] heaCur(each table = [273.15 - 10, 273.15 + 50; 273.15 + 20, 273.15 + 35]) annotation(Placement(transformation(extent = {{-75.38187521415755,-73.38187521415755},{-64.61812478584245,-62.618124785842454}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Interfaces.RealInput Te annotation(Placement(transformation(extent = {{-111.38569444853543,78.61430555146458},{-88.61430555146457,101.38569444853542}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Tables.CombiTable1Ds[nZones] cooCur(each table = [273.15 + 15, 273.15 + 12; 273.15 + 35, 273.15 + 7]) annotation(Placement(transformation(extent = {{-75.38187521415755,-113.38187521415755},{-64.61812478584245,-102.61812478584245}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Sources.Constant[nVen] TSetAhuHea(k = {273.15 + 50,273.15 + 50}) annotation(Placement(transformation(extent = {{-76.1691289287923,3.830871071207696},{-63.830871071207696,16.169128928792304}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Sources.Constant[nVen] TSetAhuHea(k = {273.15 + 45,273.15 + 45}) annotation(Placement(transformation(extent = {{-76.1691289287923,3.830871071207696},{-63.830871071207696,16.169128928792304}},origin = {0.0,0.0},rotation = 0.0)));
.Modelica.Blocks.Sources.Constant[nVen] TSetAhuCoo(k = {273.15 + 9,273.15 + 9}) annotation(Placement(transformation(extent = {{-76.1691289287923,-36.169128928792304},{-63.830871071207696,-23.830871071207696}},origin = {0.0,0.0},rotation = 0.0)));
.Buildings.Utilities.Math.Max TSupProHea(nin = nVen + nZones) annotation(Placement(transformation(extent = {{-33.00368646072283,114.99631353927717},{-22.996313539277168,125.00368646072283}},origin = {0.0,0.0},rotation = 0.0)));
.Buildings.Utilities.Math.Min TSupProCoo(nin = nVen + nZones) annotation(Placement(transformation(extent = {{-3.0036864607228324,94.99631353927717},{7.003686460722832,105.00368646072283}},origin = {0.0,0.0},rotation = 0.0)));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
within BuildingEmulators.Components;
model IdealProduction "Ideal production model which assumes a linear efficiency curve"
extends IDEAS.Fluid.Interfaces.PrescribedOutlet(show_T = true, allowFlowReversal=false);
extends IDEAS.Fluid.Interfaces.PrescribedOutlet(final use_TSet=true, show_T = true, allowFlowReversal=false);
outer .IDEAS.BoundaryConditions.SimInfoManager sim "Simulation information manager for climate data" annotation(Placement(transformation(extent = {{-100.0,80.0},{-80.0,100.0}},rotation = 0.0,origin = {0.0,0.0})));
parameter Boolean boiler = true
"if true, gas boiler whose efficiency only depends on the inlet temperature; if false, chiller/heat pump whose efficiency depends on inlet and ambient temperatures";
Expand All @@ -9,7 +9,7 @@ model IdealProduction "Ideal production model which assumes a linear efficiency

.Modelica.Blocks.Interfaces.RealOutput P(unit = "W") "Energy used by the production component" annotation(Placement(transformation(extent = {{100.0,-70.0},{120.0,-50.0}},rotation = 0.0,origin = {0.0,0.0})));

.Modelica.Blocks.Interfaces.RealInput TSetIn(unit = "K", displayUnit="degC");
.Modelica.Blocks.Interfaces.RealInput TSetIn(unit = "K", displayUnit="degC") if use_TSet;


parameter Real A = if boiler then 2.46575 else A_vcrs "Intercept of the linear expression";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ model FanCoilUnits

parameter Modelica.Units.SI.TemperatureDifference deltaTCoo_nominal = 5 "Nominal temperature difference in water side in the cooling coil" annotation (
Dialog(group = "Cooling coil parameters"));
parameter Modelica.Units.SI.TemperatureDifference deltaTHea_nominal = 20 "Nominal temperature difference in water side in the heating coil" annotation (
parameter Modelica.Units.SI.TemperatureDifference deltaTHea_nominal = 5 "Nominal temperature difference in water side in the heating coil" annotation (
Dialog(group = "Heating coil parameters"));
parameter Modelica.Units.SI.MassFlowRate[nZones] mWatEmiHea_flow_nominal = QHeaEmi_flow_nominal / 4180 / deltaTHea_nominal "Nominal mass flow of the heating coil";
parameter Modelica.Units.SI.MassFlowRate[nZones] mWatEmiCoo_flow_nominal = -QCooEmi_flow_nominal / 4180 / deltaTCoo_nominal "Nominal mass flow of the cooling coil";
Expand All @@ -63,7 +63,7 @@ model FanCoilUnits
each TCoo_a1_nominal = 273.15 + 7,
each TCoo_a2_nominal = 273.15 + 31,
QHea_flow_nominal = QHeaEmi_flow_nominal,
each THea_a1_nominal = 273.15 + 60,
each THea_a1_nominal = 273.15 + 50,
each THea_a2_nominal = 273.15 + 16,deltaTHea_nominal = {20,20})
annotation (Placement(transformation(extent={{-79.0,68.0},{-53.0,96.0}},rotation = 0.0,origin = {0.0,0.0})));
Components.CollectorPair cooCol(nDist = nZones + nVen, m_flow_nominal = {mWatProCoo_flow_nominal},dp_nominal = 0) "Cooling collector"
Expand Down

0 comments on commit b900152

Please sign in to comment.