modelWatersideEconomizer

Waterside economizer controller

Information

This block implements the control logic for the waterside economizer.

The system is enabled if

  • it has been disabled for more than 20 minutes, and
  • the "cooling enabled" input signal is true, and
  • the evaporator isolation valve is closed (i.e., the system is not in cold rejection mode), and
  • the predicted leaving water temperature is lower than the entering water temperature minus dTEna.

The system is disabled if

  • it has been enabled for more than 20 minutes, and
  • the "cooling enabled" input signal is false, or
  • the evaporator isolation valve is open, or
  • the leaving water temperature is higher than the entering water temperature minus dTDis.

When the system is enabled

  • the primary side is controlled so that the primary flow rate varies linearly with the secondary flow rate, and
  • the bypass valve on the secondary side is fully closed.

When the system is disabled

  • if the "cooling enabled" input signal is true and the evaporator isolation valve is closed, the primary pump (resp. valve) is operated at its minimum speed (resp. opening), otherwise it is switched off (resp. fully closed): this is needed to yield a representative measurement of the service water entering temperature, and
  • the bypass valve on the secondary side is fully open.

Parameters

TypeNameDefaultDescription
Nominal condition
Realm2_flow_nominalHeat exchanger secondary mass flow rate
RealT_a1_nominalNominal water inlet temperature on district side
RealT_b2_nominalNominal water outlet temperature on building side
Controls
Realy1Min0.05Minimum pump flow rate or valve opening for temperature measurement (fractional)
RealdTEna1Minimum delta-T above predicted heat exchanger leaving water temperature to enable WSE
RealdTDis0.5Minimum delta-T across heat exchanger before disabling WSE

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuCooCooling enable signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputm2_flowHeat exchanger secondary mass flow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputT1WatEntHeat exchanger primary water entering temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputT2WatEntHeat exchanger secondary water entering temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputT2WatLvgHeat exchanger secondary water leaving temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputyValIsoEva_actualReturn position of evaporator to ambient loop isolation valve
Buildings.Controls.OBC.CDL.Interfaces.RealOutputy1Primary control signal (pump or valve)
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyVal2Secondary valve control signal

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.AddParameteraddDelTemAdd threshold for enabling WSE
Modelica.StateGraph.InitialStepWithSignaliniStaInitial state
Modelica.StateGraph.TransitionWithSignalenaTransition to enabled state
Modelica.StateGraph.StepWithSignalactStaActive WSE
Modelica.StateGraph.TransitionWithSignaldisTransition to disabled state
Buildings.Controls.OBC.CDL.Reals.SubtractdelT1Add delta-T
Buildings.Controls.OBC.CDL.Reals.LessThresholddelTemDisCompare to threshold for disabling WSE
Buildings.DHC.ETS.Combined.Controls.PredictLeavingTemperaturecalTemLvgCompute predicted leaving water temperature
Buildings.Controls.OBC.CDL.Reals.LessdelTemDis1Compare to threshold for enabling WSE
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToReaConvert to real signal (close bypass valve when WSE enabled)
Modelica.StateGraph.StateGraphRootstateGraphRootRoot of state graph
Buildings.Controls.OBC.CDL.Reals.Sources.Constantmin1Minimum signal
Buildings.Controls.OBC.CDL.Reals.LinelinLinear variation bounded by minimum and 1
Buildings.Controls.OBC.CDL.Reals.SwitchswiOff1Output zero if cooling not enabled or isolation valve open (cold rejection)
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantzerZero
Buildings.Controls.OBC.CDL.Logical.MultiAndmulAndEnable if cooling enabled and temperature criterion verified
Buildings.Controls.OBC.CDL.Logical.MultiOror1Cooling disabled or temperature criterion verified
Buildings.Controls.OBC.CDL.Logical.Notnot2Cooling disabled
Buildings.Controls.OBC.CDL.Logical.TimertimTrue when WSE active for more than t
Buildings.Controls.OBC.CDL.Logical.Timertim1True when WSE inactive for more than t
Buildings.Controls.OBC.CDL.Logical.Andand2Cooling disabled or temperature criterion verified
Buildings.Controls.OBC.CDL.Reals.LessThresholdisValIsoEvaCloTrue if valve closed
Buildings.Controls.OBC.CDL.Logical.Notnot1True if valve open
Buildings.Controls.OBC.CDL.Logical.Andand1Cooling disabled or temperature criterion verified
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameternor2Normalize
Buildings.Controls.OBC.CDL.Reals.SwitchswiOff2Switch between enabled and disabled mode
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantoneOne

Revisions

  • March 7, 2025, by Michael Wetter:
    Increased, and added where missing, hysteresis, as the input signal is the output of the PID controller.
  • July 14, 2021, by Antoine Gautier:
    First implementation.