blockAgentPump1Pipe
Information
Controller for balacing agents (i.e. reservoirs and plants) pump.
This controller decides to turn on or off the agent pump depending on the current net demand of the
district if TRetDis > TSupDis cooling else heating and the temperature differential
between the agent source temperature TSou and the agent inlet temperature TSouIn
adjusted by the offset dToff. In particular the pump turns on : if heating and TSou - TSouIn - dToff > 0
or if cooling and TSouIn - Tsou - dToff > 0. Then if the pump is turned on a PID controller,
by default used as P, controls the pump control input by using TSouOut as measurement and as setpoint
TSou - dToff for heating or TSou + dToff for cooling. dToff can be considered
the nominal value of the agent heat exchanger pinch point temperature difference.
References
Ettore Zanetti, David Blum, Michael Wetter.
Control development and sizing analysis for a 5th generation district heating and cooling network using Modelica.
Proc. of the 15th International Modelica Conference,
p. 23--32, Aachen, Germany, October 2023.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Types.SimpleController | controllerType | Buildings.Controls.OBC.CDL.Types.SimpleController.P | Type of controller |
| Real | yPumMin | 0.05 | Minimum pump speed |
| Real | yPumMax | 1 | Upper limit of output |
| Real | k | 1 | Gain of controller |
| Real | Ti | 0.5 | Time constant of integrator block |
| Real | Td | 0.1 | Time constant of derivative block |
| Real | dToff | 1 | Temperature offset to account for heat exchanger pinch point |
| Real | uLowHea | 1 | if y=true and u<uLow, switch to y=false |
| Real | uHighHea | 2 | if y=false and u>uHigh, switch to y=true |
| Real | uLowCoo | 1 | if y=true and u<uLow, switch to y=false |
| Real | uHighCoo | 2 | if y=false and u>uHigh, switch to y=true |
| Real | h | 0.15 | Hysteresis for net demand temperature calculation |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TSouIn | Temperatures at the inlet of the source | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TSouOut | Agent supply temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TSou | Average temperature available at source | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TRetDis | District return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TSupDis | Plant supply temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | y | Pump control signal |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Reals.Less | NetDemBool | Net district demand boolean | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi | ||
| Buildings.Controls.OBC.CDL.Reals.PID | conPIDHea | Controller to track target heating setpoint temperature | |
| Buildings.Controls.OBC.CDL.Reals.PID | conPIDCoo | Controller to track target cooling setpoint temperature | |
| Buildings.Controls.OBC.CDL.Reals.Hysteresis | hys | Turn on pump when source temperature lower than inlet temperature | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi1 | ||
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | Zero | Pump off signal | |
| Buildings.Controls.OBC.CDL.Reals.Hysteresis | hys1 | Turn on pump when source temperature higher than inlet temperature | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi2 | ||
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | gai1 | Change sign for hysteresis | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | Tsou_negshift | Source temperature after negative shift | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | Tsou_posshift | Source temperature after positive shift | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | dTSouSup | Temperature difference between source and source inlet | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | dTSouSupHea | Temperature difference between source and source inlet corrected for heating | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | dTSouSupCoo | Temperature difference between source and source inlet corrected for cooling |
Revisions
-
January 20, 2023, by Ettore Zanetti:
First implementation.