Buildings.Templates.Plants.Controls.Pumps.Primary
Sequences for primary pumps
Information
This package contains control sequences for primary pumps.
Package Content
| Name | Description |
|---|---|
| Pump disable for plants with dedicated primary pumps | |
| Lead primary pump enable/disable for plants with headered primary pumps | |
| Variable speed primary pumps in heat pump plants | |
| Collection of validation models |
Buildings.Templates.Plants.Controls.Pumps.Primary.DisableDedicated
Pump disable for plants with dedicated primary pumps
Information
The pump is disabled when the associated plant equipment is disabled and:
-
if the equipment has a flow request network point
(
have_req=true): either the equipment has been proven off fordtOffor is not requesting flow. -
otherwise (
have_req=false): the equipment has been proven off fordtOff.
When the flow request point is available, the default value for the pump
disable delay dtOff is increased from 3 min
to 10 min to ensure that flow is not cut off too soon.
Details
Used in Guideline 36 for disabling dedicated primary pumps in chiller and boiler plants.
The enable signal u1 is yielded by the staging event sequencing logic.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | have_reqFlo | false | Set to true if plant equipment provides flow request point via network interface |
| Real | dtOff | if not have_reqFlo then 3*60... | Runtime with lead equipment proven off before disabling [s] |
Connectors
| Type | Name | Description |
|---|---|---|
| input BooleanInput | u1ReqFlo | Flow request from equipment |
| input BooleanInput | u1 | Enable signal from system enable logic |
| input BooleanInput | u1Equ | Equipment enable signal |
| input BooleanInput | u1Equ_actual | Equipment status |
| output BooleanOutput | y1 | Lead pump enable signal |
Modelica definition
Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered
Lead primary pump enable/disable for plants with headered primary pumps
Information
Plants with parallel piped equipment
The lead primary pump is enabled when any equipment isolation valve is commanded open.
The lead primary pump is disabled when all equipment isolation valves are commanded closed.
For modulating valves, the "valve commanded open" condition is evaluated based on a command signal > 0 %. The "valve commanded closed" condition is evaluated as the negation of the previous condition.
Plants with series piped equipment
The lead primary pump is enabled when any equipment isolation valve is commanded closed.
The lead primary pump is disabled when all equipment isolation valves are commanded open.
For modulating valves, the "valve commanded closed" condition is evaluated based on a command signal < 100 %. The "valve commanded open" condition is evaluated as the negation of the previous condition.
Details
This logic is prescribed in ASHRAE, 2024 for:
- headered primary pumps in chiller plants with parallel chillers and without a waterside economizer,
- primary pumps in chiller plants with series chillers and without a waterside economizer,
- headered primary pumps in boiler plants.
The valve command is used in contrast to the feedback of the valve position or the end switch status, as prescribed by Guideline 36. This is for the sake of simplicity, as there is no harm in deadheading the pump for a couple seconds and it simplifies the programming.
For modulating valves, the "valve commanded open/closed" condition is evaluated without hysteresis because the valve command signal is generated by the enabling or staging logic and both use minimum runtime conditions. Therefore, the valve command signal is not subject to any oscillatory behavior.
References
- ASHRAE, 2024. Guideline 36-2024, High-Performance Sequences of Operation for HVAC Systems. Atlanta, GA.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| EquipmentConnection | typCon | Type of connection between equipment and primary loop | |
| Actuator | typValIso | Buildings.Templates.Plants.C... | Type of isolation valve |
| Integer | nValIso | Number of isolation valves |
Connectors
| Type | Name | Description |
|---|---|---|
| input BooleanInput | u1ValIso[nValIso] | Isolation valve command |
| input RealInput | uValIso[nValIso] | Isolation valve command |
| output BooleanOutput | y1 | Lead pump enable signal |
Modelica definition
Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedWithHeatPumps
Variable speed primary pumps in heat pump plants
Information
Plants with variable speed primary pumps that are not controlled to maintain differential pressure or flow setpoint
Heating-only plants
When commanded on, the primary HW pumps are commanded at a fixed speed
yPumHeaWatPriSet, as determined during the Testing, Adjusting,
and Balancing phase to provide the design heat pump flow.
Cooling-only plants
When commanded on, the primary CHW pumps are commanded at a fixed speed
yPumChiWatPriSet, as determined during the Testing, Adjusting,
and Balancing phase to provide the design heat pump flow.
Heating and cooling plants with common primary CHW and HW pumps
When commanded on, the primary pumps are commanded at a fixed speed
yPumHeaWatPriSet in heating mode or
yPumChiWatPriSet in cooling mode, as determined during the
Testing, Adjusting, and Balancing phase to provide the design heat pump flow
in heating mode or cooling mode. The operating mode of the associated heat
pump is determined and latched at the time the pump is enabled.
Heating and cooling plants with separate primary CHW and HW pumps
When commanded on, the primary HW pumps are commanded at a fixed speed
yPumHeaWatPriSet. When commanded on, the primary CHW pumps are
commanded at a fixed speed yPumChiWatPriSet. The pump speed
yPumHeaWatPriSet or yPumChiWatPriSet is determined
during the Testing, Adjusting, and Balancing phase to provide the design
heat pump flow in heating mode or cooling mode.
Plants with variable speed primary pumps that are controlled to maintain differential pressure or flow setpoint
Heating-only plants
The pumps are controlled as described in Buildings.Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressure. The "pump proven on" condition is evaluated based on the primary HW pump status.
Cooling-only plants
The pumps are controlled as described in Buildings.Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressure. The "pump proven on" condition is evaluated based on the primary CHW pump status.
Heating and cooling plants with common primary CHW and HW pumps
The pumps are controlled as described in Buildings.Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressure. For the HW loop, the "pump proven on" condition is evaluated based on the status of the primary pumps associated with heat pumps that are commanded in heating mode. For the CHW loop, the "pump proven on" condition is evaluated based on the status of the primary pumps associated with heat pumps that are commanded in cooling mode. The operating mode of the associated heat pump is determined and latched at the time the pump is enabled.
Heating and cooling plants with separate primary CHW and HW pumps
The pumps are controlled as described in Buildings.Templates.Plants.Controls.Pumps.Generic.ControlDifferentialPressure. For the HW loop, the "pump proven on" condition is evaluated based on the status of the primary HW pumps. For the CHW loop, the "pump proven on" condition is evaluated based on the status of the primary CHW pumps.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Plant configuration | |||
| Boolean | have_heaWat | Set to true for plants that provide HW | |
| Boolean | have_chiWat | Set to true for plants that provide CHW | |
| Boolean | have_pumPriHdr | Set to true for headered primary pumps, false for dedicated pumps | |
| Boolean | have_pumChiWatPriDedHp | false | Set to true for HP with separate dedicated primary pumps for CHW and HW circuits |
| Integer | nHp | Number of 2-pipe heat pumps | |
| Integer | nPhp | Number of polyvalent heat pumps | |
| Boolean | have_pumPriCtlDp | Set to true for primary variable speed pumps using ∆p pump speed control | |
| Integer | nPumHeaWatPri | Number of primary HW pumps | |
| Integer | nPumChiWatPri | Number of primary CHW pumps | |
| Boolean | have_senDpHeaWatRemWir | Set to true for remote HW differential pressure sensor(s) hardwired to controller | |
| Integer | nSenDpHeaWatRem | Number of remote HW differential pressure sensors used for pump speed control | |
| Boolean | have_senDpChiWatRemWir | Set to true for remote CHW differential pressure sensor(s) hardwired to controller | |
| Integer | nSenDpChiWatRem | Number of remote CHW differential pressure sensors used for pump speed control | |
| Information provided by testing, adjusting, and balancing contractor | |||
| Real | yPumHeaWatPriHdrSet | Primary HW pump speed providing design flow – Headered pumps [1] | |
| Real | yPumChiWatPriHdrSet | Primary CHW pump speed providing design flow – Headered pumps [1] | |
| Real | yPumHeaWatPriDedHpSet | Primary pump speed providing design flow in heating mode – HP dedicated pumps [1] | |
| Real | yPumChiWatPriDedHpSet | Primary pump speed providing design flow in cooling mode – HP dedicated pumps [1] | |
| Real | yPumHeaWatPriDedPhpSet | Primary HW pump speed providing design flow – Polyvalent HP dedicated pumps [1] | |
| Real | yPumChiWatPriDedPhpSet | Primary CHW pump speed providing design flow – Polyvalent HP dedicated pumps [1] | |
| Real | yPumHeaWatPri_min | 0.1 | Minimum primary HW pump speed [1] |
| Real | yPumChiWatPri_min | 0.1 | Minimum primary CHW pump speed [1] |
| Control gains | |||
| Real | kCtlDpHeaWat | 1 | Gain of controller for HW loop ∆p control |
| Real | TiCtlDpHeaWat | 60 | Time constant of integrator block for HW loop ∆p control [s] |
| Real | kCtlDpChiWat | 1 | Gain of controller for CHW loop ∆p control |
| Real | TiCtlDpChiWat | 60 | Time constant of integrator block for CHW loop ∆p control [s] |
Connectors
| Type | Name | Description |
|---|---|---|
| input BooleanInput | u1PumHeaWatPriHdr[nPumHeaWatPri] | Primary HW pump start command – Headered pumps |
| output RealOutput | yPumHeaWatPriHdr | Headered primary HW pump speed command |
| input BooleanInput | u1PumChiWatPriHdr[nPumChiWatPri] | Primary CHW pump start command – Headered pumps |
| output RealOutput | yPumChiWatPriHdr | Headered primary CHW pump speed command |
| output RealOutput | yPumHeaWatPriDedHp[nHp] | HP dedicated primary HW pump speed command |
| output RealOutput | yPumChiWatPriDedHp[nHp] | HP dedicated primary CHW pump speed command |
| input BooleanInput | u1HeaHp[nHp] | HP heating/cooling mode command |
| input BooleanInput | u1PumHeaWatPriHdr_actual[nPumHeaWatPri] | Primary HW pump status – Headered pumps |
| input BooleanInput | u1PumChiWatPriHdr_actual[nPumChiWatPri] | Primary CHW pump status – Headered pumps |
| input RealInput | dpChiWatLoc | Local CHW differential pressure [Pa] |
| input RealInput | dpChiWatLocSet[nSenDpChiWatRem] | Local CHW differential pressure setpoint output from each of the remote loops [Pa] |
| input RealInput | dpChiWatRem[nSenDpChiWatRem] | Remote CHW differential pressure [Pa] |
| input RealInput | dpHeaWatLoc | Local HW differential pressure [Pa] |
| input RealInput | dpHeaWatLocSet[nSenDpHeaWatRem] | Local HW differential pressure setpoint output from each of the remote loops [Pa] |
| input RealInput | dpHeaWatRem[nSenDpHeaWatRem] | Remote HW differential pressure [Pa] |
| input RealInput | dpHeaWatRemSet[nSenDpHeaWatRem] | Remote HW differential pressure setpoint [Pa] |
| input RealInput | dpChiWatRemSet[nSenDpChiWatRem] | Remote CHW differential pressure setpoint [Pa] |
| output RealOutput | dpHeaWatLocSetMax | Maximum HW local differential pressure setpoint [Pa] |
| output RealOutput | dpChiWatLocSetMax | Maximum CHW local differential pressure setpoint [Pa] |
| input BooleanInput | u1PumHeaWatPriDedHp_actual[nHp] | Primary HW pump status – HP dedicated pumps |
| input BooleanInput | u1PumHeaWatPriDedPhp_actual[nPhp] | Primary HW pump status – PHP dedicated pumps |
| input BooleanInput | u1PumChiWatPriDedHp_actual[nHp] | Primary CHW pump status – HP dedicated pumps |
| input BooleanInput | u1PumChiWatPriDedPhp_actual[nPhp] | Primary CHW pump status – PHP dedicated pumps |
| input BooleanInput | u1PumHeaWatPriDedHp[nHp] | Primary HW pump start command – HP dedicated pumps |
| input BooleanInput | u1PumHeaWatPriDedPhp[nPhp] | Primary HW pump start command – PHP dedicated pumps |
| input BooleanInput | u1PumChiWatPriDedHp[nHp] | Primary CHW pump start command – HP dedicated pumps |
| input BooleanInput | u1PumChiWatPriDedPhp[nPhp] | Primary CHW pump start command – PHP dedicated pumps |
| output RealOutput | yPumHeaWatPriDedPhp[nPhp] | PHP dedicated primary HW pump speed command |
| output RealOutput | yPumChiWatPriDedPhp[nPhp] | PHP dedicated primary CHW pump speed command |