Differential pressure control for variable speed pumps
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.
- March 29, 2024, by Antoine Gautier:
First implementation.
Generated at 2026-04-02T18:18:35Z by OpenModelicaOpenModelica 1.26.3 using
GenerateDoc.mos