Buildings.Templates.Plants.Controls.Pumps.Generic
Information
This package contains control sequences for primary or secondary pumps.
Package Content
Name | Description |
---|---|
ControlDifferentialPressure | Differential pressure control for variable speed pumps |
ResetLocalDifferentialPressure | Local differential pressure reset |
StagingHeadered | Generic staging logic for headered pumps |
StagingHeaderedDeltaP | Staging logic for headered variable speed pumps using ∆p pump speed control |
Validation | Collection of validation models |
Buildings.Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressure
Differential pressure control for variable speed pumps
Information
For plants where a remote DP sensor(s) is hardwired to the pump controller
(have_senDpRemHar=true
):
- When any pump is proven on, the pump speed is controlled by a reverse acting PI loop maintaining the differential pressure signal at setpoint. All pumps receive the same speed signal.
- Where multiple DP sensors exist, a PI loop runs for each sensor. The pumps are controlled to the highest signal output of all DP sensor loops.
For plants where the remote DP sensor(s) is not hardwired to the plant controller, but
a local DP sensor is hardwired to the plant controller
(have_senDpRemHar=false
):
- When any pump is proven on, the pump speed is controlled by a reverse acting PI loop maintaining the local DP signal at the DP setpoint output from the remote sensor control loop (see Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure). All pumps receive the same speed signal.
- Where multiple remote DP sensors exist, a PI loop shall run for each sensor. The DP setpoint for the local DP sensor is the highest DP setpoint output from each of the remote loops.
Details
This logic is prescribed in ASHRAE, 2021 for:
- variable speed primary pumps in primary-only chiller and boiler plants where the remote DP sensor(s) is hardwired to the plant controller,
- variable speed primary pumps in primary-only chiller and boiler plants where the remote DP sensor(s) is not hardwired to the plant controller, but a local DP sensor is hardwired to the plant controller,
- variable speed secondary pumps in primary-secondary chiller and boiler plants where a remote DP sensor(s) is hardwired to the secondary pump controller,
- variable speed secondary pumps in primary-secondary chiller and boiler plants where a remote DP sensor is not hardwired to the secondary pump controller, but a local DP sensor is hardwired to the secondary pump controller.
References
- ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | have_senDpRemWir | Set to true for remote differential pressure sensor(s) hardwired to controller | |
Integer | nPum | Number of pumps that operate at design conditions | |
Integer | nSenDpRem | Number of remote loop differential pressure sensors used for pump speed control | |
Real | y_min | 0.1 | Minimum pump speed [1] |
Control gains | |||
Real | k | 1 | Gain of controller |
Real | Ti | 60 | Time constant of integrator block [s] |
Connectors
Type | Name | Description |
---|---|---|
input BooleanInput | y1_actual[nPum] | Pump status |
input RealInput | dpRemSet[nSenDpRem] | Remote differential pressure setpoint [Pa] |
input RealInput | dpLoc | Loop differential pressure local to the plant [Pa] |
input RealInput | dpRem[nSenDpRem] | Remote loop differential pressure [Pa] |
input RealInput | dpLocSet[nSenDpRem] | Local differential pressure setpoint [Pa] |
output RealOutput | y | Pump speed command [1] |
Modelica definition
Buildings.Templates.Plants.Controls.Pumps.Generic.ResetLocalDifferentialPressure
Local differential pressure reset
Information
For plants where the remote DP sensor(s) is not hardwired to the plant controller, but a local DP sensor is hardwired to the plant controller, remote DP is maintained at setpoint by a reverse acting PI loop running in the controller to which the remote sensor is wired.
The loop output is a DP setpoint for the local primary loop DP sensor hardwired to the plant controller.
The local DP setpoint is reset from dpLocSet_min
at 0 % loop output
to dpLocSet_max
at 100 % loop output.
The minimum local differential pressure setpoint dpLocSet_min
is
dictated by minimum flow control in primary-only plants but has no lower
limit in primary-secondary plants.
In primary-only plants, the minimum setpoint needs to be high enough to drive design
minimum flow for the largest equipment through the minimum flow bypass valve.
Details
This logic is prescribed in ASHRAE, 2021 for:
- variable speed primary pumps in primary-only chiller and boiler plants where the remote DP sensor(s) is not hardwired to the plant controller, but a local DP sensor is hardwired to the plant controller,
- variable speed secondary pumps in primary-secondary chiller and boiler plants where a remote DP sensor is not hardwired to the secondary pump controller, but a local DP sensor is hardwired to the secondary pump controller.
References
- ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Real | dpLocSet_min | 5*6895 | Minimum loop differential pressure setpoint local to the plant [Pa] |
Real | dpLocSet_max | Maximum loop differential pressure setpoint local to the plant [Pa] | |
Control gains | |||
Real | k | 1 | Gain of controller |
Real | Ti | 60 | Time constant of integrator block [s] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | dpRemSet | Remote loop differential pressure setpoint [Pa] |
input RealInput | dpRem | Remote loop differential pressure [Pa] |
output RealOutput | dpLocSet | Local differential pressure setpoint [Pa] |
Modelica definition
Buildings.Templates.Plants.Controls.Pumps.Generic.StagingHeadered
Generic staging logic for headered pumps
Information
Plants with headered primary pumps that are not controlled to maintain differential pressure or flow setpoint
Primary pumps are lead/lag alternated as described in Buildings.Templates.Plants.Controls.StagingRotation.SortRuntime.
The lead primary pump is enabled as described in Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered.
The number of operating primary pumps matches the number of operating equipment.
Plants with headered primary pumps that are controlled to maintain differential pressure or flow setpoint
Primary pumps are lead/lag alternated as described in Buildings.Templates.Plants.Controls.StagingRotation.SortRuntime.
The lead primary pump is enabled as described in Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered.
Primary pumps are staged as described in Buildings.Templates.Plants.Controls.Pumps.Generic.StagingHeaderedDeltaP.
Plants with headered secondary pumps
Secondary pumps are lead/lag alternated as described in Buildings.Templates.Plants.Controls.StagingRotation.SortRuntime.
The lead secondary pump is enabled when the plant is enabled. Otherwise, the lead secondary pump is disabled.
Secondary pumps are staged as described in Buildings.Templates.Plants.Controls.Pumps.Generic.StagingHeaderedDeltaP.
Details
At its current stage of development, this block contains no logic for handling faulted equipment. It is therefore assumed that all pumps are available at all times.
To simplify integration into the plant controller this block also serves as a pass-through for the dedicated primary pump command signal that is generated in Buildings.Templates.Plants.Controls.StagingRotation.EventSequencing.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | is_pri | Set to true for primary pumps, false for secondary pumps | |
Boolean | is_hdr | Set to true for headered pumps, false for dedicated pumps | |
Boolean | is_ctlDp | Set to true for headered variable speed pumps using ∆p pump speed control | |
Boolean | have_valInlIso | Set to true if the system as inlet isolation valves | |
Boolean | have_valOutIso | Set to true if the system as outlet isolation valves | |
Integer | nEqu | Number of equipment | |
Integer | nPum | Number of pumps | |
Real | V_flow_nominal | Design flow rate [m3/s] | |
Real | dtRun | 600 | Runtime before triggering stage command [s] |
Real | dVOffUp | 0.03 | Stage up flow point offset [1] |
Real | dVOffDow | dVOffUp | Stage down flow point offset [1] |
Connectors
Type | Name | Description |
---|---|---|
input BooleanInput | u1Pum[nEqu] | Pump command from equipment enable logic |
input BooleanInput | u1Pum_actual[nPum] | Pump status – Hardware point |
output BooleanOutput | y1[nPum] | Pump command – Hardware point |
output BooleanOutput | y1_actual[nEqu] | Pump status to equipment enable logic |
input RealInput | V_flow | Flow rate [m3/s] |
input BooleanInput | u1ValInlIso[nEqu] | Equipment inlet isolation valve command |
input BooleanInput | u1ValOutIso[nEqu] | Equipment outlet isolation valve command |
input BooleanInput | u1Pla | Plant enable signal |
Modelica definition
Buildings.Templates.Plants.Controls.Pumps.Generic.StagingHeaderedDeltaP
Staging logic for headered variable speed pumps using ∆p pump speed control
Information
Pumps are staged as a function of the ratio ratV_flow of current volume flow rate V_flow to design volume flow rate V_flow_nominal, the number of operating pumps nPum_actual and the number of pumps that operate at design conditions nPum. Pumps are assumed to be equally sized.
FR = V_flow / V_flow_nominal
The next lag pump is enabled whenever the following is true for
dtRun
:
FR > nPum_actual / nPum − dVOffUp
The last lag pump is disabled whenever the following is true for
dtRun
:
FR < (nPum_actual - 1) / nPum − dVOffDow
If desired, the stage down flow point dVOffDow
can be
offset slightly below the stage up point dVOffUp
to
prevent cycling between pump stages in applications with highly variable loads.
The timers are reset to zero when the status of a pump changes. This is necessary to ensure the minimum pump runtime with rapidly changing loads.
Details
This logic is prescribed in ASHRAE, 2021 for:
- headered variable speed primary pumps in primary-only chiller and boiler plants using differential pressure pump speed control,
- variable speed secondary pumps in primary-secondary chiller plants with one or more sets of secondary loop pumps serving downstream control valves,
- variable speed secondary pumps in primary-secondary boiler plants with serving a secondary loop with a flow meter.
For other plant configurations, the pumps are staged with the equipment, i.e., the number of pumps matches the number of chillers or boilers. The actual logic for generating the pump enable commands is part of the staging event sequencing.
A "if" condition is used to generate the stage up and down command as opposed
to a "when" condition. This means that the command remains true as long as the
condition is verified. This is necessary, for example, if no higher stage is
available when a stage up command is triggered. Using a "when" condition –
which is only valid at the point in time at which the condition becomes true –
would prevent the plant from staging when a higher stage becomes available again.
To avoid multiple consecutive stage changes, the block that receives the stage up
and down command and computes the stage index must enforce a minimum stage runtime
of dtRun
.
References
- ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | nPum | Number of pumps that operate at design conditions | |
Real | V_flow_nominal | Design flow rate [m3/s] | |
Real | dtRun | 10*60 | Runtime before triggering stage command [s] |
Real | dVOffUp | 0.03 | Stage up flow point offset [1] |
Real | dVOffDow | dVOffUp | Stage down flow point offset [1] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | V_flow | Flow rate [m3/s] |
output BooleanOutput | y1Up | Stage up command |
output BooleanOutput | y1Dow | Stage down command |
input BooleanInput | u1_actual[nPum] | Pump status |