blockSideHot

Control block for hot side

Information

This block serves as the controller for the hot side of the ETS in Buildings.Obsolete.DHC.ETS.Combined.Controls.Supervisory. It computes the following control signals.

  • Control signals for ambient sources yAmb (array)
    The controller for heat rejection is enabled when the return position of the evaporator loop isolation valve is close to zero. When enabled, it maintains the temperature at the top of the heating water tank at the heating water supply temperature set point plus a dead band dTDea. The controller yields a control signal value between 0 and nSouAmb. The systems serving as ambient sources are then controlled in sequence by mapping the controller output to a nSouAmb-array of signals between 0 and 1.
  • Control signal for cold rejection yCol
    The controller for cold rejection is enabled if
    • the return position of the condenser loop isolation valve is close to zero, and
    • heating is enabled, and
    • the temperature at the top of the heating water tank is below a safety limit equal to the heating water supply temperature set point plus the parameter dTLoc. This last condition limits the temperature overshoot after the warmup periods, without having to finely tune the heat and cold rejection controller parameters to guard against the disturbing effect of a varying district water temperature.
    When enabled, the controller maintains the temperature at the top of the heating water tank at the heating water supply temperature set point. The controller yields a signal between 0 and nSouAmb+1 which is connected to Buildings.Obsolete.DHC.ETS.Combined.Controls.SideCold where it is used to control in sequence the systems serving as ambient sources and ultimately to reset down the chilled water supply temperature.
  • Control signal for the condenser loop isolation valve yIsoAmb
    The valve is commanded to be fully open whenever the controller for heat rejection yields an output signal greater than zero. The command signal is held for 5 min to avoid short cycling.

Parameters

TypeNameDefaultDescription
IntegernSouAmb1Number of ambient sources to control
RealdTDea1Temperature difference band between set point tracking and heat rejection (absolute value)
RealdTLocdTDea + 2Temperature difference between set point tracking and cold rejection lockout (absolute value)
Buildings.Controls.OBC.CDL.Types.SimpleControllercontrollerTypeBuildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller
Realk0.1Gain of controller
RealTi120Time constant of integrator block

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuHeaEnable signal for heating
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuCooEnable signal for cooling
Buildings.Controls.OBC.CDL.Interfaces.RealInputTSetSupply temperature set point (heating or chilled water)
Buildings.Controls.OBC.CDL.Interfaces.RealInputTTopTemperature at top of tank
Buildings.Controls.OBC.CDL.Interfaces.RealInputyValIsoCon_actualReturn position of condenser to ambient loop isolation valve
Buildings.Controls.OBC.CDL.Interfaces.RealInputyValIsoEva_actualReturn position of evaporator to ambient loop isolation valve
Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nSouAmb]yAmbControl signal for ambient sources
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyValIsoAmbient loop isolation valve control signal
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyColControl signal for cold side

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.Utilities.PIDWithEnableconColRejController for cold rejection
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdgreThrControl signal is non zero (with 1% tolerance)
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealbooToReaConvert DO to AO signal
Buildings.Controls.OBC.Utilities.PIDWithEnableconHeaRejController for heat rejection
Buildings.Controls.OBC.CDL.Reals.Line[nSouAmb]mapFunMapping functions for controlled systems
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nSouAmb]x1x1
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorrepReplicate control signal
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nSouAmb]f1f1
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nSouAmb]f2f2
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[nSouAmb]x2x2
Buildings.Controls.OBC.CDL.Reals.LessThresholdisValIsoConCloCheck if isolation valve is closed
Buildings.Controls.OBC.CDL.Reals.LessThresholdisValIsoEvaCloAt least one signal is non zero
Buildings.Controls.OBC.CDL.Logical.MultiAndmulAnd
Buildings.Controls.OBC.CDL.Reals.AddParameteraddDeaAdd dead band
Buildings.Controls.OBC.CDL.Reals.AddParameteraddLocAdd temperature difference for lockout
Buildings.Controls.OBC.CDL.Reals.LessisBelLocCheck if temperature is below cold rejection lockout
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldtruFalHolHold logical signal to avoid short cycling
Buildings.Controls.OBC.CDL.Logical.PrepreBlock to avoid algebraic loop during initialization
Buildings.Controls.OBC.CDL.Logical.Andand2And block to enable downstream controller for heat rejection

Revisions

  • March 7, 2025, by Michael Wetter:
    Increased, and added where missing, hysteresis, as the input signal is the output of the PID controller.
  • March 6, 2025, by Hongxiang Fu:
    Added uCoo as an additional condition to enable conHeaRej.
    This is for #4133.
  • November 22, 2024, by Michael Wetter:
    Reduced number of time events by replacing zero order hold with true and false hold, and increasing the minimum cycle time.
    This is for #4058.
  • July 31, 2020, by Antoine Gautier:
    First implementation.