blockController
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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | have_valInlIso | Set to true to enable control loop based on inlet isolation valve command | |
| Boolean | have_valOutIso | Set to true to enable control loop based on outlet isolation valve command | |
| Integer | nEqu | 0 | Number of plant equipment |
| Integer | nEna | 0 | Number of enable signals – Valve command or pump status |
| Real[:] | V_flow_nominal | Design flow rate – Each unit | |
| Real[:] | V_flow_min | Minimum flow rate – Each unit | |
| Real | k | 1 | Gain of controller |
| Modelica.Units.SI.Time | Ti | 0.5 | Time constant of integrator block |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VPri_flow | Primary volume flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEna] | u1PumPri_actual | Primary pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEna] | u1ValInlIso | Inlet isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEna] | u1ValOutIso | Outlet isolation valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | y | Valve command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEqu] | u1Equ | Equipment enable command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | VPriSet_flow | Primary flow setpoint |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.Utilities.PIDWithEnable | ctl | PI controller | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyValInlIso | True if any valve commanded open | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyValOutIso | True if any valve commanded open | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyPumPri | True if any pump proven on | |
| Utilities.PlaceholderLogical | phValInlIso | Placeholder signal | |
| Utilities.PlaceholderLogical | phValOutIso | Placeholder signal | |
| Utilities.PlaceholderLogical | phPrumPri | Placeholder signal | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | any | True if any enable condition met | |
| Setpoint | setFloMin | Calculate minimum flow setpoint |
Revisions
-
May 31, 2024, by Antoine Gautier:
First implementation.