modelHeatExchanger
District heat exchanger controller
Information
This block implements the control logic for the district heat exchanger, which realizes the interface between the building system and the district system.
The input signal u is yielded by the supervisory controller.
The primary and secondary circuits are enabled to operate if this input signal
is greater than zero and the return position of at least one isolation valve
is greater than 90%.
When enabled,
-
the secondary circuit is controlled based on the input signal
u, which is mapped to modulate in sequence the mixing valve (from full bypass to closed bypass for a control signal varying between 0% and 30%) and the pump speed (from the minimum to the maximum value for a control signal varying between 30% and 100%), and -
the primary pump speed (or valve opening) is directly modulated with
the input signal
u.
Note that the valve on the secondary side is needed to stabilize the control of the system when the secondary mass flow rate required to meet the heat or cold rejection demand is below the flow rate corresponding to the minimum pump speed.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.DHC.ETS.Types.ConnectionConfiguration | conCon | District connection configuration | |
| Real | spePum1Min | 0.1 | Heat exchanger primary pump minimum speed (fractional) |
| Real | spePum2Min | 0.1 | Heat exchanger secondary pump minimum speed (fractional) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[2] | yValIso | Isolation valves return position (index 1 for condenser) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | y1 | District heat exchanger primary control signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPum2 | District heat exchanger secondary pump control signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yVal2 | District heat exchanger secondary valve control signal | |
| Buildings.Controls.OBC.CDL.Reals.Max | max1 | Maximum between control signal and minimum speed or opening | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swiOff1 | Output zero if not enabled | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | min1 | Minimum pump speed or actuator opening | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | u | Control signal for secondary side (from supervisory) | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr | Check for heat or cold rejection demand | |
| Buildings.Controls.OBC.CDL.Logical.And | and2 | At least one valve is open and HX circuit is enabled | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | heaRej | Heat rejection if condenser isolation valve is open | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | cooRej | Cold rejection if evaporator isolation valve is open | |
| Buildings.Controls.OBC.CDL.Logical.Or | or1 | At least one valve is open | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | speMin | Minimum pump speed | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swiOff2 | Output zero if not enabled | |
| Buildings.Controls.OBC.CDL.Reals.Line | mapSpe | Mapping function for pump speed | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | one | One | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | zer | Zero | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | hal | Control signal value for full opening of the valve | |
| Buildings.Controls.OBC.CDL.Reals.Line | mapVal | Mapping function for valve opening |
Revisions
-
November 14, 2025, by Michael Wetter:
Moved toBuildings.Obsolete.
This is for #4354. -
July 14, 2021, by Antoine Gautier:
Updated the control logic.
This is for issue #2561. -
July 31, 2020, by Antoine Gautier:
First implementation.