Buildings.Controls.SetPoints

Models for control set points

Information


This package contains components models to compute set points of control systems.
For additional models, see also 

Modelica.Blocks.Discrete.

Package Content

NameDescription
Buildings.Controls.SetPoints.Examples Examples Collection of models that illustrate model use and test models
Buildings.Controls.SetPoints.HeatingCurve HeatingCurve Block to compute the supply and return set point of heating systems


Buildings.Controls.SetPoints.HeatingCurve Buildings.Controls.SetPoints.HeatingCurve

Block to compute the supply and return set point of heating systems

Buildings.Controls.SetPoints.HeatingCurve

Information


This block computes the set point temperatures for the
supply and return temperature of a heating system.
The set point for the room air temperature can either be specified
by a parameter, or it can be an input to the model. The latter allows
to use this model with systems that have night set back.

The parameter dTOutHeaBal can be used to shift the heating curve to account for the fact that solar heat gains and heat gains from equipment and people make up for some of the transmission losses. For example, in energy efficient houses, the heating may not be switched on above 12 degree Celsius, even if a room temperature of 20 degree is required. In such a situation, set dTOutHeaBal=20-12=8 Kelvin to shift the heating curve.


Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).

Parameters

TypeNameDefaultDescription
Realm1.3Exponent for heat transfer
Booleanuse_TRoo_infalseGet the room temperature set point from the input connector
TemperatureTRoo293.15Fixed value of room air temperature set point [K]
TemperatureDifferencedTOutHeaBal8Offset for heating curve [K]
Nominal conditions
TemperatureTSup0 Supply temperature [K]
TemperatureTRet0 Return temperature [K]
TemperatureTRoo0293.15Room temperature [K]
TemperatureTOut0 Outside temperature [K]

Connectors

TypeNameDescription
input RealInputTRoo_inRoom air temperature set point [K]
input RealInputTOutOutside temperature [K]
output RealOutputTSupSetpoint for supply temperature [K]
output RealOutputTRetSetpoint for return temperature [K]

Modelica definition

block HeatingCurve 
  "Block to compute the supply and return set point of heating systems"
  extends Modelica.Blocks.Interfaces.BlockIcon;


  parameter Real m = 1.3 "Exponent for heat transfer";
  parameter Modelica.SIunits.Temperature TSup0 "Supply temperature";
  parameter Modelica.SIunits.Temperature TRet0 "Return temperature";
  parameter Modelica.SIunits.Temperature TRoo0 = 293.15 "Room temperature";
  parameter Modelica.SIunits.Temperature TOut0 "Outside temperature";

  parameter Boolean use_TRoo_in = false 
    "Get the room temperature set point from the input connector";
  parameter Modelica.SIunits.Temperature TRoo = 293.15 
    "Fixed value of room air temperature set point";
  parameter Modelica.SIunits.TemperatureDifference dTOutHeaBal = 8 
    "Offset for heating curve";
  Modelica.Blocks.Interfaces.RealInput TRoo_in(final quantity="ThermodynamicTemperature",
                                               final unit = "K", displayUnit = "degC", min=0) if 
          use_TRoo_in "Room air temperature set point";

  Modelica.Blocks.Interfaces.RealInput TOut(final quantity="ThermodynamicTemperature",
                                            final unit = "K", displayUnit = "degC", min=0) 
    "Outside temperature";
  Modelica.Blocks.Interfaces.RealOutput TSup(final quantity="ThermodynamicTemperature",
                                            final unit = "K", displayUnit = "degC", min=0) 
    "Setpoint for supply temperature";
  Modelica.Blocks.Interfaces.RealOutput TRet(final quantity="ThermodynamicTemperature",
                                            final unit = "K", displayUnit = "degC", min=0) 
    "Setpoint for return temperature";

protected 
  Modelica.Blocks.Interfaces.RealInput TRoo_in_internal(final quantity="ThermodynamicTemperature",
                                                        final unit = "K", displayUnit = "degC", min=0) 
    "Needed to connect to conditional connector";
  Real qRel "Relative heat load = Q_flow/Q0_flow";
  Modelica.SIunits.Temperature TOutOffSet 
    "Effective outside temperature for heat transfer (takes into account room heat gains)";
  parameter Modelica.SIunits.Temperature TOutOffSet0 =  TOut0 + dTOutHeaBal 
    "Effective outside temperature for heat transfer at nominal conditions (takes into account room heat gains)";

equation 
  connect(TRoo_in, TRoo_in_internal);
  if not use_TRoo_in then
    TRoo_in_internal = TRoo;
  end if;
 TOutOffSet = TOut + dTOutHeaBal;
 // Relative heating load, compared to nominal conditions
 qRel = max(0, (TRoo_in_internal-TOutOffSet)/(TRoo0-TOutOffSet0));
 TSup = TRoo_in_internal
          + ((TSup0+TRet0)/2-TRoo_in_internal) * qRel^(1/m)
          + (TSup0-TRet0)/2 * qRel;
 TRet = TSup - qRel * (TSup0-TRet0);
end HeatingCurve;

HTML-documentation generated by Dymola Thu Feb 19 16:50:48 2009.