modelHPControl
Control block which makes sure the desired temperature is supplied by the HP
Information
Model of a heat pump controller, setting a compressor signal and heat pump mode based on a given input temperarute. A heating curve is used to determine the supply temperature. This TSet is later converted to a signal nSet based on the acutal temperature in the system. Futhermore, a legionella protection for DHW-Simulation is implemented.
Using the control bus, more complex control strategies can easily be adapted.
Looking at the HeatPumpSystem, the task of the control block is also to control the pumps or fans and second heat generator if necessary.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | use_secHeaGen | false | True to choose a bivalent system |
| Heating Curve - Data | |||
| Boolean | use_tableData | true | Choose between tables or function to calculate TSet |
| AixLib.DataBase.Boiler.DayNightMode.HeatingCurvesDayNightBaseDataDefinition | heatingCurveRecord | AixLib.DataBase.Boiler.DayNightMode.HeatingCurves_Vitotronic_Day25_Night10() | Record with information about heating curve data |
| Real | declination | 2 | Declination of curve |
| Heating Curve - Night mode | |||
| Real | day_hour | 6 | Hour of day at which day mode is enabled |
| Real | night_hour | 22 | Hour of day at which night mode is enabled |
| AixLib.Utilities.Time.Types.ZeroTime | zerTim | AixLib.Utilities.Time.Types.ZeroTime.NY2017 | Enumeration for choosing how reference time (time = 0) should be defined. Used for heating curve and antilegionella |
| Anti Legionella | |||
| Boolean | use_antLeg | True if Legionella Control is of relevance | |
| Modelica.Units.SI.ThermodynamicTemperature | TLegMin | 333.15 | Temperature at which the legionella in DWH dies |
| Modelica.Units.SI.Time | minTimeAntLeg | Minimal duration of antilegionella control | |
| Boolean | weekly | true | Switch between a daily or weekly trigger approach |
| Integer | trigWeekDay | Day of the week at which control is triggered | |
| Integer | trigHour | 3 | Hour of the day at which control is triggered |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| AixLib.Fluid.HeatPumps.ModularReversible.BaseClasses.RefrigerantMachineControlBus | sigBusHP | ||
| Modelica.Blocks.Interfaces.RealOutput | yOut | Relative compressor speed | |
| Modelica.Blocks.Interfaces.RealInput | T_oda | Outdoor air temperature | |
| Modelica.Blocks.Interfaces.RealOutput | ySecHeaGen | Relative power of second heat generator, from 0 to 1 | |
| Modelica.Blocks.Interfaces.RealOutput | y_sou | ||
| Modelica.Blocks.Interfaces.RealOutput | y_sin | ||
| Modelica.Blocks.Interfaces.BooleanOutput | hea | Heating mode | |
| Modelica.Blocks.Interfaces.RealInput | TSup | Supply temperature |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| AixLib.Controls.HeatPump.AntiLegionella | antiLegionella | ||
| Modelica.Blocks.Sources.Constant | constHeating1 | If you want to include chilling, please insert control blocks first | |
| AixLib.Controls.SetPoints.HeatingCurve | heatCurve | ||
| TSetToNSet | ConvTSetToNSet | ||
| Modelica.Blocks.Routing.RealPassThrough | realPasThrAntLeg | No Anti Legionella | |
| Modelica.Blocks.Sources.BooleanConstant | constHeating | If you want to include chilling, please insert control blocks first |
Contents
| Name | Description |
|---|---|
Revisions
-
November 26, 2018 by Fabian Wüllhorst:
First implementation (see issue #577)