blockStagingPump

Pump staging

Information

This block implements the logic for staging the lag pump of a multiple-pump group.

The first staging criterion is optional and is based on ratFlo, the ratio of current flow rate to design flow rate. The lag pump is enabled whenever any of the following is true.

  • The pump speed command is higher than yUp for 5 min.
  • Optionally if have_flowCriterion is set to true, the ratio ratFlo is higher than n / nPum - 0.03 for 10 min, where n is the number of operating pumps and nPum is the number of pumps operating at design conditions.

The lag pump is disabled whenever any of the following is true.

  • The lead pump is disabled.
  • The pump speed command is lower than yDow for 5 min.
  • Optionally if have_flowCriterion is set to true, the ratio ratFlo is higher than (n - 1) / nPum - 0.03 for 10 min.

Parameters

TypeNameDefaultDescription
Booleanhave_flowCriteriontrueSet to true for flow criterion in conjunction with speed criterion
IntegernPumNumber of pumps
RealyDow0.30Low speed limit for staging down
RealyUp0.99High speed limit for staging up
Nominal condition
Realm_flow_nominal1Loop design mass flow rate (all pumps)

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputy1EnaLead pump Enable signal (e.g. based on isolation valve opening command)
Buildings.Controls.OBC.CDL.Interfaces.RealInputm_flowMass flow rate as measured by the loop flow meter
Buildings.Controls.OBC.CDL.Interfaces.RealInputyCommanded speed
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPum]y1Start signal (VFD Run or motor starter contact)
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputnPumEnaNumber of pumps that are enabled
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputy1AnyReturn true if any pump enabled (left limit to avoid direct feedback)

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdcmpCompare
Buildings.Controls.OBC.CDL.Logical.TimertimSpeTrue delay
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterratFloRatio of current flow rate to design value
Buildings.Controls.OBC.CDL.Reals.Greatercmp2Compare
Buildings.Controls.OBC.CDL.Reals.AddParameteraddOffAdd offset
Buildings.Controls.OBC.CDL.Logical.TimertimFloCheck if true for a given time
Buildings.Controls.OBC.CDL.Logical.OrupCheck if flow or speed criterion passed for staging up
Buildings.Controls.OBC.CDL.Reals.Lesscmp3Compare
Buildings.Controls.OBC.CDL.Logical.TimertimFlo1Check if true for a given time
Buildings.Controls.OBC.CDL.Reals.LessThresholdcmp4Compare
Buildings.Controls.OBC.CDL.Logical.TimertimSpe1True delay
Buildings.Controls.OBC.CDL.Logical.OrdowCheck if flow or speed criterion passed for staging down
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterratOpeDsgRatio of number of operating pumps to number of operating pumps at design conditions
Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold[nPum]cvtBooCompute pump Start command from number of pumps to be commanded On
Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicatorrepReplicate
Buildings.DHC.Plants.Combined.Controls.BaseClasses.StageIndexstaLagStage lag pumps (minimum runtime allowing for pump start time)
Buildings.Controls.OBC.CDL.Conversions.IntegerToRealcvtIntConvert
Buildings.Controls.OBC.CDL.Reals.AddParameteraddOffLowStaAdd offset for lower stage
Buildings.Controls.OBC.CDL.Conversions.BooleanToIntegerleaEnaReturn 1 if lead pump enabled
Buildings.Controls.OBC.CDL.Integers.AddnumNumber of pumps enabled
Buildings.Controls.OBC.CDL.Integers.AddnumPreNumber of pumps enabled
Buildings.Controls.OBC.CDL.Integers.Sources.ConstantzerConstant
Buildings.Controls.OBC.CDL.Logical.Sources.ConstantfalConstant
Buildings.Controls.OBC.CDL.Integers.GreaterEqualThresholdanyEnaReturn true if any pump is enabled
Buildings.Controls.OBC.CDL.Logical.Prepre1Left limit of signal avoiding direct feedback

Revisions

  • February 24, 2023, by Antoine Gautier:
    First implementation.