Buildings.Experimental.DHC.Plants.Combined.Controls

Package of control blocks for combined plants

Information

This package contains control blocks for combined heating and cooling plants.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Experimental.DHC.Plants.Combined.Controls.Controller Controller Plant controller
Buildings.Experimental.DHC.Plants.Combined.Controls.ModeCondenserLoop ModeCondenserLoop Condenser loop operating modes
Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses BaseClasses Package with base classes

Buildings.Experimental.DHC.Plants.Combined.Controls.Controller Buildings.Experimental.DHC.Plants.Combined.Controls.Controller

Plant controller

Buildings.Experimental.DHC.Plants.Combined.Controls.Controller

Information

This block implements the following control functions.

Heat pumps

Heat pumps are enabled whenever Charge Assist mode is active and any CWC pump is enabled. Heat pumps are disabled otherwise.

The supply temperature setpoint is K plus the highest setpoint of the active tank cycle. Note that no limitation of the setpoint value per HP manufacturer specification is taken into account.

CHW, HW, CWE and CWC pumps

The lead pump is enabled based on the logic described in Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.ValveCondenserEvaporator.

Pumps are staged based on the logic described in Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.StagingPump.

When any pump is enabled, the pump speed is modulated by a PI controller tracking a differential pressure setpoint at the boundaries of the circuit served by the pump. The control loop is biased to launch from 100 % (maximum speed). All pumps within the same group receive the same speed command signal.

The differential pressure setpoint for the CHW and HW loops is provided as a control input. Ideally, a reset logic based on consumer valve requests should be implemented to adapt those setpoints to the demand. For the sake of simplicity, the differential pressure setpoint for the CWC and CWE loops is a fixed parameter (design pressure drop).

Extends from BaseClasses.PartialController (Interface class for plant controller).

Parameters

TypeNameDefaultDescription
RealPLRStaTra0.85Part load ratio triggering stage transition [1]
SpecificHeatCapacitycp_defaultBuildings.Utilities.Psychrom...Specific heat capacity of the fluid [J/(kg.K)]
CHW loop and cooling-only chillers
IntegernChi Number of units operating at design conditions
IntegernPumChiWat Number of CHW pumps operating at design conditions
TemperatureTChiWatSup_nominal Design (minimum) CHW supply temperature [K]
HeatFlowRateQChiWatChi_flow_nominal Cooling design heat flow rate of cooling-only chillers (all units) [W]
MassFlowRatemChiWat_flow_nominal CHW design mass flow rate (all units) [kg/s]
PressureDifferencedpChiWatSet_max Design (maximum) CHW differential pressure setpoint [Pa]
MassFlowRatemChiWatChi_flow_nominal Chiller CHW design mass flow rate (each unit) [kg/s]
MassFlowRatemChiWatChi_flow_min Chiller CHW minimum mass flow rate (each unit) [kg/s]
MassFlowRatemConWatChi_flow_nominal Chiller CW design mass flow rate (each unit) [kg/s]
PressureDifferencedpEvaChi_nominal Chiller evaporator design pressure drop (each unit) [Pa]
PressureDifferencedpValEvaChi_nominal Chiller evaporator isolation valve design pressure drop (each unit) [Pa]
TemperatureDifferencedTLifChi_min Minimum chiller lift at minimum load [K]
TemperatureDifferencedTLifChi_nominal Design chiller lift [K]
HW loop and heat recovery chillers
IntegernChiHea Number of units operating at design conditions
IntegernPumHeaWat Number of HW pumps operating at design conditions
TemperatureTHeaWatSup_nominal Design (maximum) HW supply temperature [K]
HeatFlowRateQChiWatCasCoo_flow_nominal Cooling design heat flow rate of HRC in cascading cooling mode (all units) [W]
HeatFlowRateQChiWatCasCoo_flow_nominal_approx Cooling design heat flow rate of HRC in cascading cooling mode (all units), approximate for scaling [W]
HeatFlowRateQHeaWat_flow_nominal Heating design heat flow rate (all units) [W]
MassFlowRatemHeaWat_flow_nominal HW design mass flow rate (all units) [kg/s]
PressureDifferencedpHeaWatSet_max Design (maximum) HW differential pressure setpoint [Pa]
MassFlowRatemChiWatChiHea_flow_nominal HRC CHW design mass flow rate (each unit) [kg/s]
MassFlowRatemChiWatChiHea_flow_min HRC CHW minimum mass flow rate (each unit) [kg/s]
MassFlowRatemConWatChiHea_flow_nominal HRC CW design mass flow rate (each unit) [kg/s]
MassFlowRatemHeaWatChiHea_flow_min Chiller HW minimum mass flow rate (each unit) [kg/s]
PressureDifferencedpEvaChiHea_nominal Design chiller evaporator pressure drop (each unit) [Pa]
PressureDifferencedpValEvaChiHea_nominal HRC evaporator isolation valve design pressure drop (each unit) [Pa]
CW loop, TES tank and heat pumps
IntegernHeaPum Number of heat pumps operating at design conditions
IntegernPumConWatCon Number of CW pumps serving condenser barrels at design conditions
IntegernPumConWatEva Number of CW pumps serving evaporator barrels at design conditions
HeatFlowRateQHeaPum_flow_nominal Heating design heat flow rate of heat pumps (all units) [W]
MassFlowRatemConWatCon_flow_nominal Design total CW mass flow rate through condenser barrels (all units) [kg/s]
MassFlowRatemConWatEva_flow_nominal Design total CW mass flow rate through evaporator barrels (all units) [kg/s]
PressureDifferencedpConWatConSet_max Design (maximum) CW condenser loop differential pressure setpoint [Pa]
PressureDifferencedpConWatEvaSet_max Design (maximum) CW evaporator loop differential pressure setpoint [Pa]
TemperatureTTanSet[2, 2] Tank temperature setpoints: 2 cycles with 2 setpoints [K]
RealfraUslTan Useless fraction of TES [1]
RealratFraChaTanLim[5]{-0.3,-0.2,-0.15,-0.10,-0.08}Rate of change of tank charge fraction (over 10, 30, 120, 240, and 360') that triggers Charge Assist (<0) [1/h]
Cooling tower loop
IntegernCoo Number of cooling tower cells operating at design conditions
IntegernPumConWatCoo Number of CW pumps serving cooling towers at design conditions
TemperatureDifferencedTHexCoo_nominal Design heat exchanger approach [K]
Dynamics
Filtered speed
TimeriseTimePum30Pump rise time of the filter (time to reach 99.6 % of the speed) [s]
Filtered opening
TimeriseTimeVal120Pump rise time of the filter (time to reach 99.6 % of the opening) [s]

Connectors

TypeNameDescription
input BooleanInputu1CooCooling enable signal
input BooleanInputu1HeaHeating enable signal
input RealInputTChiWatSupSetCHW supply temperature setpoint [K]
input RealInputTHeaWatSupSetHW supply temperature setpoint [K]
output RealOutputyValEvaChi[nChi]Cooling-only chiller evaporator isolation valve commanded position
output RealOutputyValConChi[nChi]Cooling-only chiller condenser isolation valve commanded position [1]
output BooleanOutputy1Chi[nChi]Cooling-only chiller On/Off command
output BooleanOutputy1PumChiWat[nPumChiWat]CHW pump Start command
output RealOutputyPumChiWatCHW pump speed signal [1]
output RealOutputyValEvaChiHea[nChiHea]HRC evaporator isolation valve commanded position [1]
output BooleanOutputy1ChiHea[nChiHea]HRC On/Off command
output BooleanOutputy1CooChiHea[nChiHea]HRC cooling mode switchover command: true for cooling, false for heating
output RealOutputyValConChiHea[nChiHea]HRC condenser isolation valve commanded position [1]
output BooleanOutputy1PumHeaWat[nPumHeaWat]HW pump Start command
output RealOutputyPumHeaWatHW pump speed signal [1]
output RealOutputyValChiWatMinBypCHW minimum flow bypass valve control signal [1]
output RealOutputyValHeaWatMinBypHW minimum flow bypass valve control signal [1]
output BooleanOutputy1PumConWatCon[nPumConWatCon]CW pump serving condenser barrels Start command
output RealOutputyPumConWatConCW pump serving condenser barrels Speed command [1]
output BooleanOutputy1PumConWatEva[nPumConWatEva]CW pump serving evaporator barrels Start command
output RealOutputyPumConWatEvaCW pump serving evaporator barrels Speed command [1]
output BooleanOutputy1HeaPum[nHeaPum]Heat pump On/Off command
output RealOutputTHeaPumSetHeat pump supply temperature setpoint [K]
output RealOutputyValBypTanTES tank bypass valve commanded position [1]
output BooleanOutputy1Coo[nCoo]Cooling tower Start command
output RealOutputyCooCooling tower fan speed command [1]
output BooleanOutputy1PumConWatCoo[nPumConWatCoo]Cooling tower pump Start command
output RealOutputTChiHeaSet[nChiHea]HRC supply temperature setpoint [K]
output BooleanOutputy1HeaCooChiHea[nChiHea]HRC direct heat recovery switchover command: true for direct HR, false for cascading
input RealInputdpChiWatSetCHW differential pressure setpoint (for local dp sensor) [Pa]
input RealInputdpHeaWatSetHW differential pressure setpoint (for local dp sensor) [Pa]
input RealInputdpChiWatCHW differential pressure (from local dp sensor) [Pa]
input RealInputdpHeaWatHW differential pressure (from local dp sensor) [Pa]
input RealInputmChiWatPri_flowPrimary CHW mass flow rate [kg/s]
input RealInputmHeaWatPri_flowPrimary HW mass flow rate [kg/s]
input RealInputdpConWatConCW condenser loop differential pressure [Pa]
input RealInputdpConWatEvaCW evaporator loop differential pressure [Pa]
input RealInputmConWatCon_flowCW condenser loop mass flow rate [kg/s]
input RealInputmConWatEva_flowCW evaporator loop mass flow rate [kg/s]
input RealInputTChiWatSupCHW supply temperature [K]
input RealInputTChiWatPriRetPrimary CHW return temperature [K]
input RealInputTHeaWatPriRetPrimary HW return temperature [K]
input RealInputTTan[nTTan]TES tank temperature [K]
input RealInputmConWatHexCoo_flowCW mass flow rate through secondary (plant) side of HX [kg/s]
input RealInputmConWatOutTan_flowMass flow rate out of lower port of TES tank (>0 when charging) [kg/s]
input RealInputmEvaChi_flow[nChi]Chiller evaporator barrel mass flow rate [kg/s]
input RealInputmConChi_flow[nChi]Chiller condenser barrel mass flow rate [kg/s]
input RealInputmEvaChiHea_flow[nChiHea]HRC evaporator barrel mass flow rate [kg/s]
input RealInputmConChiHea_flow[nChiHea]HRC condenser barrel mass flow rate [kg/s]
output RealOutputyValEvaSwiHea[nChiHea]HRC evaporator switchover valve commanded position [1]
output RealOutputyValConSwiChiHea[nChiHea]HRC condenser switchover valve commanded position [1]
input RealInputTEvaLvgChiHea[nChiHea]HRC evaporator barrel leaving temperature [K]
input RealInputTHeaWatSupHW supply temperature [K]
output RealOutputyPumConWatCooCooling tower pump speed command
input RealInputTConWatConChiEntChiller and HRC entering CW temperature [K]
input RealInputTConWatConChiLvgChiller and HRC leaving CW temperature [K]
input RealInputTConWatCooSupCooling tower loop CW supply temperature [K]
input RealInputTConWatCooRetCooling tower loop CW return temperature [K]
input RealInputTConWatHexCooEntHX entering CW temperature [K]
input RealInputTConWatHexCooLvgHX leaving CW temperature [K]
input RealInputTConEntChiHea[nChiHea]HRC condenser barrel entering temperature [K]
input RealInputTConLvgChiHea[nChiHea]HRC condenser barrel leaving temperature [K]
input RealInputTConWatEvaEntHRC evaporator entering CW temperature [K]
output RealOutputyValConWatEvaMixHRC evaporator CW mixing valve commanded position
input RealInputTConWatConRetCondenser loop CW return temperature [K]
input RealInputTConLvgChi[nChi]Chiller condenser barrel leaving temperature [K]
output RealOutputyValConWatBypCW chiller bypass valve control signal [1]

Modelica definition

block Controller "Plant controller" extends BaseClasses.PartialController; Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator repHeaPum( final nout=nHeaPum) "Replicate signal"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal cvtValBypTan "Convert DO to AO"; Buildings.Controls.OBC.CDL.Reals.Switch TChiHeaSupSet[nChiHea] "Switch supply temperature setpoint"; BaseClasses.StagingPump staPumChiWat( final nPum=nPumChiWat, final m_flow_nominal=mChiWat_flow_nominal) "CHW pump staging"; EnergyTransferStations.Combined.Controls.PIDWithEnable pumChiWat( k=0.1, Ti=60, r=dpChiWatSet_max, y_reset=1, y_neutral=0) "Pump speed controller"; EnergyTransferStations.Combined.Controls.PIDWithEnable pumHeaWat( k=0.1, Ti=60, r=dpHeaWatSet_max, y_reset=1, y_neutral=0) "Pump speed controller"; BaseClasses.StagingPump staPumHeaWat( final nPum=nPumHeaWat, final m_flow_nominal=mHeaWat_flow_nominal) "HW pump staging"; BaseClasses.StagingPump staPumConWatCon( final nPum=nPumConWatCon, final m_flow_nominal=mConWatCon_flow_nominal) "CW pump staging"; EnergyTransferStations.Combined.Controls.PIDWithEnable pumConWatCon( k=0.1, Ti=60, final r=dpConWatConSet_max, y_reset=1, y_neutral=0) "Pump speed controller"; EnergyTransferStations.Combined.Controls.PIDWithEnable pumConWatEva( k=0.1, Ti=60, final r=dpConWatEvaSet_max, y_reset=1, y_neutral=0) "Pump speed controller"; BaseClasses.StagingPump staPumConWatEva( final nPum=nPumConWatEva, final m_flow_nominal=mConWatEva_flow_nominal) "CW pump staging"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant dpConNom(final k= dpConWatConSet_max) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant dpEvaNom(final k= dpConWatEvaSet_max) "Constant"; BaseClasses.StagingPlant staPla( final nChi=nChi, final QChiWatChi_flow_nominal=QChiWatChi_flow_nominal, final nChiHea=nChiHea, final QChiWatCasCoo_flow_nominal=QChiWatCasCoo_flow_nominal, final QChiWatCasCoo_flow_nominal_approx=QChiWatCasCoo_flow_nominal_approx, final QHeaWat_flow_nominal=QHeaWat_flow_nominal, final cp_default=cp_default) "Plant staging"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator repTSet(nout=nChiHea) "Replicate signal"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator repTSet1(nout=nChiHea) "Replicate signal"; BaseClasses.ModeCondenserLoop modConLoo( final mConWatHexCoo_flow_nominal=mConWatCon_flow_nominal, final QHeaPum_flow_nominal=QHeaPum_flow_nominal, final TTanSet=TTanSet, final fraUslTan=fraUslTan, final ratFraChaTanLim=ratFraChaTanLim, final cp_default=cp_default, nTTan=nTTan) "Condenser loop operating mode"; BaseClasses.TankCycle cycTan( mConWatHexCoo_flow_nominal=mConWatCon_flow_nominal, final TTanSet=TTanSet, nTTan=nTTan) "Determine tank cycle"; Buildings.Controls.OBC.CDL.Integers.Equal isModChaAss "Return true if charge assist mode is active"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant chaAss( final k=Buildings.Experimental.DHC.Plants.Combined.Controls.ModeCondenserLoop.chargeAssist) "Charge assist mode index"; Buildings.Controls.OBC.CDL.Logical.And assAndPum "Charge assist mode and any CW pump On"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant THeaPumSetVal[2]( final k={max(TTanSet[i]) + 3 for i in 1:2}) "HP supply temperature setpoint for each tank cycle"; Buildings.Controls.OBC.CDL.Routing.RealExtractor extIndRea(final nin=2) "Extract active setpoint"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant heaRej( final k=Buildings.Experimental.DHC.Plants.Combined.Controls.ModeCondenserLoop.heatRejection) "Heat rejection mode index"; Buildings.Controls.OBC.CDL.Integers.Equal isModHeaRej "Return true if heat rejection mode is active"; Buildings.Controls.OBC.CDL.Logical.Not isModNotHeaRej "Return true if heat rejection mode is NOT active"; BaseClasses.ValveCondenserEvaporator valConEva( final nChi=nChi, final nChiHea=nChiHea, final mChiWatChi_flow_nominal=mChiWatChi_flow_nominal, final mChiWatChi_flow_min=mChiWatChi_flow_min, final mConWatChi_flow_nominal=mConWatChi_flow_nominal, final dpEvaChi_nominal=dpEvaChi_nominal, final dpValEvaChi_nominal=dpValEvaChi_nominal, final mChiWatChiHea_flow_nominal=mChiWatChiHea_flow_nominal, final mChiWatChiHea_flow_min=mChiWatChiHea_flow_min, final mConWatChiHea_flow_nominal=mConWatChiHea_flow_nominal, final mHeaWatChiHea_flow_min=mHeaWatChiHea_flow_min, final dpEvaChiHea_nominal=dpEvaChiHea_nominal, final dpValEvaChiHea_nominal=dpValEvaChiHea_nominal, final TTanSet=TTanSet) "Controller for chiller and HRC condenser and evaporator valves"; Buildings.Experimental.DHC.Plants.Combined.Controls.BaseClasses.DirectHeatRecovery dirHeaCoo( final nChi=nChi, final nChiHea=nChiHea, final mChiWatChi_flow_nominal=mChiWatChi_flow_nominal, final mChiWatChi_flow_min=mChiWatChi_flow_min, final mChiWatChiHea_flow_nominal=mChiWatChiHea_flow_nominal, final mChiWatChiHea_flow_min=mChiWatChiHea_flow_min) "Control logic for HRC in direct HR mode"; BaseClasses.CoolingTowerLoop coo( final mConWatHexCoo_flow_nominal=mConWatCon_flow_nominal, final nCoo=nCoo, final nPumConWatCoo=nPumConWatCoo, final QChiWat_flow_nominal=QChiWat_flow_nominal, final dTLifChi_min=dTLifChi_min, final dTLifChi_nominal=dTLifChi_nominal, final TTanSet=TTanSet, final dTHexCoo_nominal=dTHexCoo_nominal) "Cooling tower loop"; Buildings.Controls.OBC.CDL.Logical.Or u1CooOrHea "Plant Enable signal: either cooling or heating is enabled"; equation connect(repHeaPum.y, y1HeaPum); connect(cvtValBypTan.y, yValBypTan); connect(staPumChiWat.y1, y1PumChiWat); connect(pumChiWat.y, yPumChiWat); connect(dpChiWatSet, pumChiWat.u_s); connect(staPumHeaWat.y1, y1PumHeaWat); connect(pumHeaWat.y, yPumHeaWat); connect(dpHeaWatSet, pumHeaWat.u_s); connect(pumConWatEva.y, yPumConWatEva); connect(pumConWatCon.y, yPumConWatCon); connect(staPumConWatCon.y1, y1PumConWatCon); connect(staPumConWatEva.y1, y1PumConWatEva); connect(dpHeaWat, pumHeaWat.u_m); connect(mHeaWatPri_flow, staPumHeaWat.m_flow); connect(dpChiWat, pumChiWat.u_m); connect(mConWatEva_flow, staPumConWatEva.m_flow); connect(mConWatCon_flow, staPumConWatCon.m_flow); connect(mChiWatPri_flow, staPumChiWat.m_flow); connect(dpConNom.y, pumConWatCon.u_s); connect(dpEvaNom.y, pumConWatEva.u_s); connect(mHeaWatPri_flow, staPla.mHeaWatPri_flow); connect(THeaWatSupSet, staPla.THeaWatSupSet); connect(mChiWatPri_flow, staPla.mChiWatPri_flow); connect(u1Coo, staPla.u1Coo); connect(u1Hea, staPla.u1Hea); connect(TChiWatSupSet, staPla.TChiWatSupSet); connect(TChiWatPriRet, staPla.TChiWatPriRet); connect(THeaWatPriRet, staPla.THeaWatPriRet); connect(repTSet1.y, TChiHeaSupSet.u3); connect(repTSet.y, TChiHeaSupSet.u1); connect(staPla.y1CooChiHea, TChiHeaSupSet.u2); connect(TChiHeaSupSet.y, TChiHeaSet); connect(TChiWatSupSet, repTSet.u); connect(THeaWatSupSet, repTSet1.u); connect(mConWatHexCoo_flow, modConLoo.mConWatHexCoo_flow); connect(mConWatOutTan_flow, modConLoo.mConWatOutTan_flow); connect(TTan, modConLoo.TTan); connect(TTan, cycTan.TTan); connect(mConWatOutTan_flow, cycTan.mConWatOutTan_flow); connect(chaAss.y, isModChaAss.u2); connect(modConLoo.mode, isModChaAss.u1); connect(assAndPum.y, repHeaPum.u); connect(isModChaAss.y, assAndPum.u1); connect(THeaPumSetVal.y, extIndRea.u); connect(extIndRea.y, THeaPumSet); connect(cycTan.idxCycTan, extIndRea.index); connect(heaRej.y, isModHeaRej.u1); connect(modConLoo.mode, isModHeaRej.u2); connect(isModNotHeaRej.y, cvtValBypTan.u); connect(isModHeaRej.y, isModNotHeaRej.u); connect(mEvaChi_flow,valConEva. mEvaChi_flow); connect(mConChi_flow,valConEva. mConChi_flow); connect(mEvaChiHea_flow,valConEva. mEvaChiHea_flow); connect(mConChiHea_flow,valConEva. mConChiHea_flow); connect(staPla.y1Chi,valConEva. u1Chi); connect(staPla.y1ChiHea,valConEva. u1ChiHea); connect(staPla.y1CooChiHea,valConEva. u1CooChiHea); connect(staPla.y1HeaCooChiHea,valConEva. u1HeaCooChiHea); connect(valConEva.yValEvaChi, yValEvaChi); connect(valConEva.yValConChi, yValConChi); connect(valConEva.yValConSwiChiHea, yValConSwiChiHea); connect(valConEva.yValEvaSwiChiHea, yValEvaSwiHea); connect(valConEva.yValConChiHea, yValConChiHea); connect(valConEva.yValEvaChiHea, yValEvaChiHea); connect(dpConWatEva, pumConWatEva.u_m); connect(dpConWatCon, pumConWatCon.u_m); connect(cycTan.idxCycTan,valConEva. idxCycTan); connect(modConLoo.mode,valConEva. mode); connect(TChiWatSup, staPla.TChiWatSup); connect(dpChiWatSet, staPla.dpChiWatSet); connect(dpChiWat, staPla.dpChiWat); connect(valConEva.y1PumChiWat, staPumChiWat.y1Ena); connect(pumChiWat.y, staPumChiWat.y); connect(pumHeaWat.y, staPumHeaWat.y); connect(valConEva.y1PumHeaWat, staPumHeaWat.y1Ena); connect(pumConWatCon.y, staPumConWatCon.y); connect(pumConWatEva.y, staPumConWatEva.y); connect(valConEva.y1PumConWatEva, staPumConWatEva.y1Ena); connect(valConEva.y1PumConWatCon, staPumConWatCon.y1Ena); connect(staPla.y1Chi, y1Chi); connect(staPla.y1ChiHea, y1ChiHea); connect(staPla.y1CooChiHea, y1CooChiHea); connect(staPla.y1HeaCooChiHea, y1HeaCooChiHea); connect(staPla.y1ChiHea, dirHeaCoo.y1); connect(staPla.y1HeaCooChiHea, dirHeaCoo.y1HeaCoo); connect(TChiWatSupSet, dirHeaCoo.TChiWatSupSet); connect(TEvaLvgChiHea, dirHeaCoo.TEvaLvg); connect(THeaWatPriRet, dirHeaCoo.THeaWatPriRet); connect(dirHeaCoo.mEvaChiSet_flow,valConEva. mEvaChiSet_flow); connect(dirHeaCoo.mEvaChiHeaSet_flow,valConEva. mEvaChiHeaSet_flow); connect(dpHeaWatSet, staPla.dpHeaWatSet); connect(dpHeaWat, staPla.dpHeaWat); connect(THeaWatSup, staPla.THeaWatSup); connect(coo.y1PumConWatCoo, y1PumConWatCoo); connect(coo.yPumConWatCoo, yPumConWatCoo); connect(coo.y1Coo, y1Coo); connect(coo.yCoo, yCoo); connect(cycTan.idxCycTan, coo.idxCycTan); connect(modConLoo.mode, coo.mode); connect(TChiWatSupSet, coo.TChiWatSupSet); connect(TConWatConChiEnt, coo.TConWatConChiEnt); connect(TConWatConChiLvg, coo.TConWatConChiLvg); connect(TConWatCooSup, coo.TConWatCooSup); connect(TConWatCooRet, coo.TConWatCooRet); connect(TConWatHexCooEnt, coo.TConWatHexCooEnt); connect(TConWatHexCooLvg, coo.TConWatHexCooLvg); connect(staPla.QCooReq_flow, coo.QCooReq_flow); connect(mConWatHexCoo_flow, coo.mConWatHexCoo_flow); connect(cvtValBypTan.y, coo.yValBypTan); connect(dirHeaCoo.TConEntChiHeaSet,valConEva. TConEntChiHeaSet); connect(TConEntChiHea,valConEva. TConEntChiHea); connect(staPumConWatCon.y1Any, pumConWatCon.uEna); connect(staPumConWatEva.y1Any, pumConWatEva.uEna); connect(staPumConWatCon.y1Any, assAndPum.u2); connect(staPumHeaWat.y1Any, pumHeaWat.uEna); connect(staPumChiWat.y1Any, pumChiWat.uEna); connect(valConEva.yValConWatEvaMix, yValConWatEvaMix); connect(TEvaLvgChiHea, valConEva.TEvaLvgChiHea); connect(TConWatEvaEnt, valConEva.TConWatEvaEnt); connect(TConLvgChiHea, valConEva.TConLvgChiHea); connect(TConLvgChi, valConEva.TConLvgChi); connect(TConWatConRet, valConEva.TConWatConRet); connect(valConEva.yValChiWatMinByp, yValChiWatMinByp); connect(valConEva.yValHeaWatMinByp, yValHeaWatMinByp); connect(valConEva.yValConWatByp, yValConWatByp); connect(mConWatCon_flow, modConLoo.mConWatCon_flow); connect(TConWatConChiLvg, modConLoo.TConWatConChiLvg); connect(TConWatConRet, modConLoo.TConWatConRet); connect(u1Coo, u1CooOrHea.u1); connect(u1Hea, u1CooOrHea.u2); connect(u1CooOrHea.y, valConEva.u1CooOrHea); end Controller;