Buildings.DHC.Plants.Cooling.Controls
Package of control sequences for cooling plants
Information
This package contains control sequences for central cooling plants.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Package Content
Name | Description |
---|---|
ChilledWaterBypass | Controller for chilled water bypass valve |
ChilledWaterPumpSpeed | Controller for two headered variable speed chilled water pumps |
ChillerStage | Chiller staging controller for plants with two chillers of the same size |
FlowControl | This block controls the flow at the primary and secondary pumps |
SelectMin | Block that includes or excludes storage plant pressure signal for min |
TankStatus | Returns the tank status from its temperature sensors |
Validation | Collection of validation models |
Buildings.DHC.Plants.Cooling.Controls.ChilledWaterBypass
Controller for chilled water bypass valve
Information
This model implements the chilled water loop bypass valve control logic as follows:
When the plant is on, the PID controller controls the valve opening ratio to reach the scaled mass flow rate setpoint.
The setpoint is mMin_flow
multiplied by the number of chillers
that are on. mMin_flow
is the minimum mass flow rate required by
one chiller.
This control sequence assumes that all the chillers are identical and the cooling load is evenly split between all of the chillers that are on.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | numChi | Number of chillers | |
MassFlowRate | mMin_flow | Minimum mass flow rate of single chiller [kg/s] | |
Real | k | 0.06 | Gain of controller |
Time | Ti | 60 | Time constant of Integrator block [s] |
SimpleController | controllerType | Modelica.Blocks.Types.Simple... | Type of controller |
Connectors
Type | Name | Description |
---|---|---|
input BooleanInput | chiOn[numChi] | On signals of the chillers |
input RealInput | mFloChi | Mass flow rate through the chillers [kg/s] |
output RealOutput | y | Bypass valve opening ratio |
Modelica definition
Buildings.DHC.Plants.Cooling.Controls.ChilledWaterPumpSpeed
Controller for two headered variable speed chilled water pumps
Information
This model implements the control logic for variable speed pumps. The staging of pumps is implemented through an instance of Buildings.Applications.BaseClasses.Controls.VariableSpeedPumpStage.
The pump speed is controlled to maintain the pressure difference setpoint through a PI controller.
The model inputs are the measured chilled water mass flow rate
masFloPum
and the pressure difference dpMea
at a
reference point from the demand side. The output y
is a vector
of pump speeds.
The model currently only supports the control of two variable speed pumps.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
---|---|---|---|
PressureDifference | dpSetPoi | Pressure difference setpoint [Pa] | |
Time | tWai | Waiting time [s] | |
MassFlowRate | m_flow_nominal | Nominal mass flow rate of single chilled water pump [kg/s] | |
Real | minSpe | 0.05 | Minimum speed ratio required by chilled water pumps [1] |
MassFlowRate | criPoiFlo | 0.7*m_flow_nominal | Critcal point of flowrate for switching pump on or off [kg/s] |
MassFlowRate | deaBanFlo | 0.1*m_flow_nominal | Deadband for critical point of flowrate [kg/s] |
Real | criPoiSpe | 0.5 | Critical point of speed signal for switching on or off |
Real | deaBanSpe | 0.3 | Deadband for critical point of speed signal |
Speed Controller | |||
SimpleController | controllerType | Modelica.Blocks.Types.Simple... | Type of pump speed controller |
Real | k | 1 | Gain of controller [1] |
Time | Ti | 60 | Time constant of Integrator block [s] |
Time | Td | 0.1 | Time constant of Derivative block [s] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | masFloPum | Total mass flowrate of chilled water pumps [kg/s] |
input RealInput | dpMea | Measured pressure difference [Pa] |
output RealOutput | y[numPum] | Pump speed signal [1] |
input BooleanInput | on | On signal of the plant |
Modelica definition
Buildings.DHC.Plants.Cooling.Controls.ChillerStage
Chiller staging controller for plants with two chillers of the same size
Information
This model implements the staging control logic as follows:
- When the plant enabling signal
on
changes fromfalse
totrue
, one chiller is enabled. - When the total cooling load
QLoa
exceeds 80 percent (adjustable) of one chiller's nominal capacityQChi_nominal
, a second chiller is enabled. - When the total cooling load
QLoa
drops below 60 percent (adjustable) of one chiller's nominal capacityQChi_nominal
(i.e. 30 percent of both chillers combined), or the plant enabling signalon
changes fromtrue
tofalse
, the second chiller is disabled. - When the plant enabling signal
on
changes fromtrue
tofalse
, the operating chillers will be disabled sequentially. - Parameter
tWai
assures a transitional time is kept between each operation.
It is assumed that both chillers have the same capacity of
QChi_nominal
.
Note: This model can be used for plants with two chillers with or without waterside econimizer (WSE). For plants with WSE, extra control logic on top of this model needs to be added.
.
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | Buildings.Media.Water | Service side medium | |
Time | tWai | Waiting time [s] | |
Power | QChi_nominal | Nominal cooling capacity (negative) [W] | |
Power | staUpThr | -0.8*QChi_nominal | Stage up load threshold(from one to two chillers) [W] |
Power | staDowThr | -0.6*QChi_nominal | Stage down load threshold(from two to one chiller) [W] |
Connectors
Type | Name | Description |
---|---|---|
replaceable package Medium | Service side medium | |
input BooleanInput | on | Enabling signal of the plant. True: chiller should be enabled |
input RealInput | TChiWatRet | Chilled water return temperature |
input RealInput | TChiWatSup | Chilled water supply temperature |
input RealInput | mFloChiWat | Chilled water mass flow rate |
output BooleanOutput | y[2] | On/off signal for the chillers - false: off; true: on |
Modelica definition
Buildings.DHC.Plants.Cooling.Controls.FlowControl
This block controls the flow at the primary and secondary pumps
Information
This block implements a state graph to control the flows of the storage plant. It receives two tank status Boolean signals indicating that the tank is charged or empty. These two signals can be both false indicating an in-between state. The block can receive one of the following commands:
- Charge tank,
- No command, and
- Discharge tank.
The command to tank may be disregarded. For example, if the tank is receiving a discharge command but it is already empty, it will not discharge which would let warm return water directly into the supply side.
The system transitions among the following states:
Step | Description | Transition in | Transition out |
---|---|---|---|
All Off (Initial Step) |
All off. This is the initial step. | - | - |
Local Charging | Charge the tank with the local chiller. | "Charge tank" command AND tank is not charged yet AND chiller is enabled. This transition takes priority over the one below.1 |
The in-transition condition becomes false. |
Remote Charging | Charge the tank with the remote chiller. | Same as above except that the chiller is not enabled. |
The in-transition condition becomes false. |
Secondary Pump On | Turn on the secondary pump. This step is in parallel with the two below.2 |
The district has load AND the additional conditions of either step below become true. |
Both steps below are no longer active (implicit). |
Tank Producing | The tank produces CHW to the district. This step is in parallel with "secondary pump on". |
The district has load AND "Discharge tank" command AND tank not empty. This transition takes priority over the one below. |
To "chiller producing": The in-transition condition becomes false AND The chiller is enabled. This transition takes priority over the one below. |
To initial step: No load OR the in-transition conditions of "tank producing" and "chiller producing" are both false (i.e. neither tank or chiller is available). |
|||
Chiller Producing | The chiller produces CHW to the district. This step is in parallel with "secondary pump on". |
The district has load AND the chiller is enabled. |
To "tank producing": The condition for in-transition of "tank producing" becomes true. This transition takes priority over the one below. |
To initial step: No load OR the in-transition conditions of "tank producing" and "chiller producing" are both false. |
Notes:
- Out-transitions from the same step have priorities. When the conditions of more than one of them become true, the transition connected by a connector with the lowest index in the array fires. For example, even when the in-transition condition of "chiller producing" becomes true, as long as the in-transition condition of "tank producing" is also true, the latter fires because of priority.
- Steps that are in parallel are and must be active at the same time. When "secondary pump on" is active, either "tank producing" or "chiller producing" is also active.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Nominal values | |||
MassFlowRate | mChi_flow_nominal | Nominal mass flow rate of the chiller loop [kg/s] | |
MassFlowRate | mTan_flow_nominal | Nominal mass flow rate of the tank branch [kg/s] | |
Dynamics | |||
Filter | |||
Boolean | use_outFil | true | = true, if output is filtered with a 2nd order CriticalDamping filter |
Connectors
Type | Name | Description |
---|---|---|
input IntegerInput | com | Command: 1 = charge tank, 2 = no command, 3 = discharge tank |
input BooleanInput | chiEnaSta | Chiller enable status, true if chiller is enabled |
input BooleanInput | hasLoa | Set to true if there is a load |
input RealInput | yPum | Normalized speed signal for the secondary pump [1] |
output RealOutput | yVal | Valve normalized mass flow rate |
output RealOutput | mPriPum_flow | Primary pump mass flow rate [kg/s] |
output RealOutput | ySecPum | Secondary pump normalized speed [1] |
input BooleanInput | tanSta[2] | Tank status - 1: is empty; 2: is charged; can be both false |
output BooleanOutput | isChaRem | Is operated for remote charging |
Modelica definition
Buildings.DHC.Plants.Cooling.Controls.SelectMin
Block that includes or excludes storage plant pressure signal for min
Information
This block finds the minimum value from pressure head signals. The signal from the storage plant is included only when the plant is in remote charging mode.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
---|---|---|
input RealInput | dpUse[nin] | Connector of Real input signals |
input RealInput | dpStoPla | Connector of Real input signals |
input BooleanInput | isChaRem | The storage plant is in remote charging mode |
output RealOutput | y |
Modelica definition
Buildings.DHC.Plants.Cooling.Controls.TankStatus
Returns the tank status from its temperature sensors
Information
This model outputs tank status signals using the temperatures at the CHW tank top and the tank bottom as input. The status has two separate boolean signals indicating whether the tank is charged or empty (of cooling). The two output signals can be both false, indicating an in-between state, but they can never both be true.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Temperature | THig | Higher threshold to consider the tank empty [K] | |
Temperature | TLow | Lower threshold to consider the tank full [K] | |
TemperatureDifference | dTHys | 0.5 | Deadband for hysteresis [K] |
Connectors
Type | Name | Description |
---|---|---|
input RealInput | TTan[2] | Temperatures at the tank 1: top; and 2: bottom [K] |
output BooleanOutput | y[2] | Tank status - y[1]=true is empty; y[2] = true is charged; both false means partially charged |