blockController

Minimum flow bypass valve controller

Information

The minimum flow bypass valve is modulated based on a reverse acting control loop to maintain the primary flow rate at setpoint. The setpoint is calculated as described in Buildings.Templates.Plants.Controls.MinimumFlow.Setpoint.

When using isolation valve command signals (have_valInlIso=true or have_valOutIso=true): When any valve is commanded open, the bypass valve control loop is enabled. The valve is opened 100 % otherwise. When enabled, the bypass valve loop shall be biased to start with the valve 100 % open.

Otherwise (have_valInlIso=false and have_valOutIso=false): When any primary pump is proven on, the bypass valve control loop is enabled. The valve is opened 100 % otherwise. When enabled, the bypass valve loop shall be biased to start with the valve 100 % open.

Parameters

TypeNameDefaultDescription
Booleanuse_valSet to true to use isolation valve command to enable control loop – Any unit
Boolean[nEqu]use_valEquSet to true to use isolation valve command to enable control loop – Each unit
Booleanuse_pumPriDedSet to true to use dedicated primary pump status to enable control loop – Any unit
Boolean[nEqu]use_pumPriDedEquSet to true to use dedicated primary pump status to enable control loop – Each unit
IntegernEqu0Number of plant equipment
Real[:]V_flow_nominalDesign flow rate – Each unit
Real[:]V_flow_minMinimum flow rate – Each unit
Realk1Gain of controller
Modelica.Units.SI.TimeTi0.5Time constant of integrator block

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputVPri_flowPrimary volume flow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEqu]u1PumPri_actualDedicated primary pump status
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEqu]u1ValIsoIsolation valve command
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyValve command
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEqu]u1EquEquipment enable command
Buildings.Controls.OBC.CDL.Interfaces.RealOutputVPriSet_flowPrimary flow setpoint

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.Utilities.PIDWithEnablectlPI controller
SetpointsetFloMinCalculate minimum flow setpoint
Buildings.Controls.OBC.CDL.Logical.And[nEqu]valIsoOpeAndPumPriDedValve commanded open and dedicated primary pump proven on
Buildings.Controls.OBC.CDL.Logical.Sources.Constant[nEqu]notUseValTrue if valve command not required
Buildings.Controls.OBC.CDL.Logical.Or[nEqu]valIsoOpeOrNotUseValve commanded open or valve signal not required
Buildings.Controls.OBC.CDL.Logical.Sources.Constant[nEqu]notUsePumPriDedTrue if dedicated primary pump status not required
Buildings.Controls.OBC.CDL.Logical.Or[nEqu]pumPriDedOrNotUseDedicated primary pump proven on or pump signal not required
Utilities.PlaceholderLogical[nEqu]phPumPriDedOrNotUsePlaceholder signal
Utilities.PlaceholderLogical[nEqu]phValIsoOpeOrNotUsePlaceholder signal
Buildings.Controls.OBC.CDL.Logical.MultiOranyValIsoOpeAndPumPriDedTrue if any isolation valve open and dedicated pump proven on

Revisions

  • July 10, 2026, by Antoine Gautier:
    Added per-unit isolation valve and dedicated pump status options to enable the control loop.
    This is for #4512.
  • May 31, 2024, by Antoine Gautier:
    First implementation.