blockStagingHeaderedDeltaP

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 either:

  • Efficiency condition: FR > nPum_actual / nPum − dVOffUp is true for dtRun; or
  • Failsafe condition: Pump speed command > yUp for dtRunFaiSaf and loop ∆p < setpoint – dpOff for dtRunFaiSaf for all hardwired differential pressure sensors.

The last lag pump is disabled whenever either:

  • The lag pump was staged on based on the efficiency condition and FR < (nPum_actual - 1) / nPum − dVOffDow is true for dtRun; or
  • The lag pump was staged on based on the failsafe condition, pump speed command < yDow for dtRunFaiSafLowY and loop ∆p > setpoint – dpOff for dtRunFaiSaf for all hardwired differential pressure sensors.

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

The staging logic based on the efficiency condition (excluding the failsafe condition) 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.

References

  • ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.

Parameters

TypeNameDefaultDescription
IntegernPumNumber of pumps that operate at design conditions
IntegernSenDpNumber of hardwired ∆p sensors
RealV_flow_nominalDesign flow rate
RealdtRun10*60Runtime before triggering stage change command based on efficiency condition
RealdtRunFaiSaf5*60Runtime before triggering stage change command based on failsafe condition
RealdtRunFaiSafLowYdtRunRuntime before triggering stage change command based on low pump speed failsafe condition
RealdVOffUp0.03Stage up flow point offset (>0)
RealdVOffDowdVOffUpStage down flow point offset (>0)
RealdpOff1E4Stage change ∆p point offset (>0)
RealyUp0.99Stage up pump speed point
RealyDow0.4Stage down pump speed point

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputV_flowFlow rate
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputy1UpStage up command
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputy1DowStage down command
Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPum]u1_actualPump status
Buildings.Controls.OBC.CDL.Interfaces.RealInputyPump speed command
Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDp]dpLoop differential pressure
Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDp]dpSetLoop differential pressure setpoint

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameternorVNormalize to design value
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameternorNNormalize to design value
Buildings.Controls.OBC.CDL.Conversions.BooleanToReal[nPum]booToReaConvert to real value
Buildings.Controls.OBC.CDL.Reals.GreaterhigVCompare to stage up flow point
Buildings.Controls.OBC.CDL.Reals.LesslowVCompare to stage down flow point
Buildings.Controls.OBC.CDL.Reals.AddParameterpoiDowCalculate stage down flow point
Buildings.Controls.OBC.CDL.Reals.AddParameterpoiUpCalculate stage up flow point
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithResettimHigVReturn true if stage up condition is true for specified duration
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithResettimLowVReturn true if stage down condition is true for specified duration
Buildings.Controls.OBC.CDL.Logical.Change[nPum]chaReturn true when pump status changes
Buildings.Controls.OBC.CDL.Reals.MultiSumnOpeReturn number of operating pumps
Buildings.Controls.OBC.CDL.Logical.MultiOranyChaReturn true when any pump status changes
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdhigYTrue if pump speed command exceeds high limit
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithResettimHigYTimer
Buildings.Controls.OBC.CDL.Reals.Subtract[nSenDp]delDpSetDifference between dp measurement and setpoint
Buildings.Controls.OBC.CDL.Reals.LessThreshold[nSenDp]lowDpTrue if dp < setpoint - dpOff
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithReset[nSenDp]timLowDpTimer
Buildings.Controls.OBC.CDL.Logical.AndhigYAndLowDpReturn true when pump status changes
Buildings.Controls.OBC.CDL.Logical.OreffOrFailSafUpTrue if efficiency OR failsafe condition met
Buildings.Controls.OBC.CDL.Reals.LessThresholdlowYTrue if pump speed command is less than low limit
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithResettimLowYTimer
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Generic.TimerWithReset[nSenDp]timHigDpTimer
Buildings.Controls.OBC.CDL.Reals.GreaterThreshold[nSenDp]higDpTrue if dp > setpoint - dpOff
Buildings.Controls.OBC.CDL.Logical.LatchlckEffLock efficiency condition true signal until failsafe condition true
Buildings.Controls.OBC.CDL.Logical.LatchlckFaiSafLock failsafe condition true signal until efficiency condition true
Buildings.Controls.OBC.CDL.Logical.PrepreEffTrue if lag pump staged on based on efficiency condition
Buildings.Controls.OBC.CDL.Logical.PrepreFaiSafTrue if lag pump staged on based on failsafe condition
Buildings.Controls.OBC.CDL.Logical.AndstaDowAndPreEffStage down efficiency condition met and lag pump staged on based on efficiency condition
Buildings.Controls.OBC.CDL.Logical.MultiAndstaDowAndPreFaiSafStage down failsafe condition met and lag pump staged on based on failsafe condition
Buildings.Controls.OBC.CDL.Logical.OreffOrFailSafDowTrue if efficiency OR failsafe condition met
Buildings.Controls.OBC.CDL.Logical.EdgeedgUpTrigger stage up command when the conditions are met
Buildings.Controls.OBC.CDL.Logical.EdgeedgDowTrigger stage down command when the conditions are met
Buildings.Controls.OBC.CDL.Logical.MultiAndallLowDpTrue if condition met for all sensors
Buildings.Controls.OBC.CDL.Logical.MultiAndallHigDpTrue if condition met for all sensors
Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicatorbooScaRepReplicate signal

Revisions

  • May 31, 2024, by Antoine Gautier:
    Added failsafe conditions and refactored to generate a stage change command at the exact time when the conditions are met.
  • March 29, 2024, by Antoine Gautier:
    First implementation.