blockVariableSpeed
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 |
|---|---|---|---|
| Boolean | have_pumHeaWatPri | have_heaWat | Set to true for plants with primary HW pumps |
| Boolean | have_pumChiWatPri | have_chiWat and (have_pumPriHdr or have_pumChiWatPriDed) | Set to true for plants with separate primary CHW pumps |
| 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_pumPriCtlDp | Set to true for primary variable speed pumps using ∆p pump speed control | |
| Boolean | have_pumChiWatPriDed | Set to true for plants with separate dedicated primary CHW pumps | |
| Boolean | have_pumPriHdr | Set to true for headered primary pumps, false for dedicated pumps | |
| Integer | nEqu | Number of equipment | |
| 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 | yPumHeaWatPriSet | Primary pump speed providing design heat pump flow in heating mode | |
| Real | yPumChiWatPriSet | Primary pump speed providing design heat pump flow in cooling mode | |
| Real | yPumHeaWatPri_min | 0.1 | Minimum primary HW pump speed |
| Real | yPumChiWatPri_min | 0.1 | Minimum primary CHW pump speed |
| 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 |
| Real | kCtlDpChiWat | 1 | Gain of controller for CHW loop ∆p control |
| Real | TiCtlDpChiWat | 60 | Time constant of integrator block for CHW loop ∆p control |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumHeaWatPri] | u1PumHeaWatPri | Primary HW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumHeaWatPriHdr | Headered primary HW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumChiWatPri] | u1PumChiWatPri | Primary CHW pump start command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yPumChiWatPriHdr | Headered primary CHW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nPumHeaWatPri] | yPumHeaWatPriDed | Dedicated primary HW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput[nPumChiWatPri] | yPumChiWatPriDed | Dedicated primary CHW pump speed command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nEqu] | u1Hea | Heating/cooling mode command | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumHeaWatPri] | u1PumHeaWatPri_actual | Primary HW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPumChiWatPri] | u1PumChiWatPri_actual | Primary CHW pump status | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpChiWatLoc | Local CHW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpChiWatRem] | dpChiWatLocSet | Local CHW differential pressure setpoint output from each of the remote loops | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpChiWatRem] | dpChiWatRem | Remote CHW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpHeaWatLoc | Local HW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpHeaWatRem] | dpHeaWatLocSet | Local HW differential pressure setpoint output from each of the remote loops | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpHeaWatRem] | dpHeaWatRem | Remote HW differential pressure | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpHeaWatRem] | dpHeaWatRemSet | Remote HW differential pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nSenDpChiWatRem] | dpChiWatRemSet | Remote CHW differential pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | dpHeaWatLocSetMax | Maximum HW local differential pressure setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | dpChiWatLocSetMax | Maximum CHW local differential pressure setpoint |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Reals.Switch[nPumChiWatPri] | setPumChiWatPriDed | Set prescribed speed when pump is enabled | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | zer | Constant | |
| Buildings.Controls.OBC.CDL.Reals.Switch[nPumHeaWatPri] | setPumHeaWatPriDed | Set prescribed speed when pump is enabled | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep | Replicate signal | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep1 | Replicate signal | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep2 | Replicate signal | |
| Buildings.Controls.OBC.CDL.Reals.Switch | setPumChiWatPriHdr | Set prescribed speed when pump is enabled | |
| Buildings.Controls.OBC.CDL.Reals.Switch | setPumHeaWatPriHdr | Set prescribed speed when pump is enabled | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyPumChiWatPri | Return true if any pump is enabled | |
| Buildings.Controls.OBC.CDL.Logical.MultiOr | anyPumHeaWatPri | Return true if any pump is enabled | |
| Buildings.Controls.OBC.CDL.Reals.Switch[nPumHeaWatPri] | selSpeHea | Select prescribed pump speed depending on heating/cooling mode – Case with common CHW and HW dedicated pumps | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep3 | Replicate signal | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | rep4 | Replicate signal | |
| Utilities.PlaceholderReal[nPumHeaWatPri] | ph | Always use HW pump speed in case of separate dedicated CHW pumps | |
| Generic.ControlDifferentialPressure | ctlDpHeaWat | HW loop ∆p control | |
| Utilities.PlaceholderReal | phSpePumHeaWatPri | Replace with fixed speed | |
| Generic.ControlDifferentialPressure | ctlDpChiWat | CHW loop ∆p control | |
| Utilities.PlaceholderReal | phSpePumChiWatPri | Replace with fixed speed | |
| Buildings.Controls.OBC.CDL.Logical.Not[nEqu] | u1Coo | Return true if cooling mode command | |
| Buildings.Controls.OBC.CDL.Logical.And[nPumHeaWatPri] | u1CooAndOn | Return true if cooling mode command and pump proven on | |
| Utilities.PlaceholderLogical[if have_pumChiWatPri then nPumChiWatPri else nPumHeaWatPri] | phPumChiWatPriSta | Replace with common dedicated pump signal | |
| Buildings.Controls.OBC.CDL.Logical.Latch[nPumHeaWatPri] | latCoo | Latch signal until pump is re-enabled with equipment commanded to alternative mode | |
| Buildings.Controls.OBC.CDL.Logical.Edge[nPumHeaWatPri] | edgU1PumHeaWatPri | Return true exactly when the pump is enabled | |
| Buildings.Controls.OBC.CDL.Logical.And[nPumHeaWatPri] | edgU1Coo | Return true if equipment commanded in cooling mode when the pump is enabled | |
| Buildings.Controls.OBC.CDL.Logical.And[nPumHeaWatPri] | edgU1AndHea | Return true if equipment commanded in heating mode when the pump is enabled | |
| Buildings.Controls.OBC.CDL.Logical.Latch[nPumHeaWatPri] | latHea | Latch signal until pump is re-enabled with equipment commanded to alternative mode | |
| Buildings.Controls.OBC.CDL.Logical.And[nPumHeaWatPri] | u1HeaAndOn | Return true if heating mode command and pump proven on | |
| Utilities.PlaceholderLogical[nPumHeaWatPri] | phPumHeaWatPriSta | Replace with common dedicated pump signal |
Revisions
-
May 31, 2024, by Antoine Gautier:
Added logic for ∆p-controlled primary pumps and latching of HP operating mode. -
March 29, 2024, by Antoine Gautier:
First implementation.