modelHPSystemController
Model including both safety and HP controller
Information
This system controller aggregates the heat pump controller and relevant safety controls from AixLib.Controls.HeatPump to control the heat pump based on an ambient temperature and the current supply temperature.
Further, the COP is calculated. The icing factor used for air-source heat pumps is added to simulate defrost cycles.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.SpecificHeatCapacity | cp_con | 4180 | specific heat capacity of condenser medium |
| System | |||
| Boolean | use_secHeaGen | true | True if a bivalent setup is required |
| Heat Pump Control › Heating Curve | |||
| 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 heating curve |
| 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 |
| Heat Pump Control › Anti Legionella | |||
| Boolean | use_antLeg | true | True if Anti-Legionella control is considered |
| 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 | 5 | Day of the week at which control is triggered |
| Integer | trigHour | 3 | Hour of the day at which control is triggered |
| Safety Control › General | |||
| Boolean | use_sec | true | False if the Safety block should be disabled |
| Safety Control › On-/Off Control | |||
| Boolean | use_minRunTime | false | False if minimal runtime of HP is not considered |
| Modelica.Units.SI.Time | minRunTime | 300 | Minimum runtime of heat pump |
| Boolean | use_minLocTime | false | False if minimal locktime of HP is not considered |
| Modelica.Units.SI.Time | minLocTime | 300 | Minimum lock time of heat pump |
| Boolean | use_runPerHou | false | False if maximal runs per hour of HP are not considered |
| Integer | maxRunPerHou | 3 | Maximal number of on/off cycles in one hour |
| Boolean | pre_n_start | false | Start value of pre(n) at initial time |
| Safety Control › Operational Envelope | |||
| Boolean | use_opeEnv | true | False to allow HP to run out of operational envelope |
| Boolean | use_opeEnvFroRec | true | Use a the operational envelope given in the datasheet |
| Obsolete.Year2024.DataBase.HeatPump.HeatPumpBaseDataDefinition | dataTable | Data Table of HP | |
| Real[:,2] | tableUpp | Table matrix (grid = first column; e.g., table=[0,2]) | |
| Modelica.Units.SI.TemperatureDifference | dTHystOperEnv | 5 | Temperature difference used for both upper and lower hysteresis in the operational envelope. |
| Safety Control › Defrost | |||
| Boolean | use_deFro | true | False if defrost in not considered |
| Real | minIceFac | Minimal value above which no defrost is necessary | |
| Real | deltaIceFac | 0.1 | Bandwitdth for hystereses. If the icing factor is based on the duration of defrost, this value is necessary to avoid state-events. |
| Boolean | use_chiller | false | True if defrost operates by changing mode to cooling. False to use an electrical heater |
| Modelica.Units.SI.Power | calcPel_deFro | Calculate how much eletrical energy is used to melt ice | |
| Safety Control › Anti Freeze Control | |||
| Boolean | use_antFre | false | True if anti freeze control is part of safety control |
| Modelica.Units.SI.ThermodynamicTemperature | TantFre | 276.15 | Limit temperature for anti freeze control |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| AixLib.Obsolete.Year2024.Controls.HeatPump.SafetyControls.SafetyControl | safetyControl | ||
| AixLib.Controls.HeatPump.HPControl | hPControls | ||
| AixLib.Obsolete.Year2024.DataBase.HeatPump.PerformanceData.calcCOP | calcCOP | ||
| AixLib.Utilities.HeatTransfer.CalcQFlow | calcQHeat | Calculates the heat flow added to the source medium | |
| Modelica.Blocks.Routing.RealPassThrough | realPasThrSec | No 1. Layer | |
| Modelica.Blocks.Interfaces.RealInput | T_oda | Outdoor air temperature | |
| AixLib.Obsolete.Year2024.Controls.Interfaces.VapourCompressionMachineControlBus | sigBusHP | ||
| Modelica.Blocks.Interfaces.RealInput | TSup | Supply temperature of HP system | |
| Modelica.Blocks.Interfaces.RealOutput | y_sin | ||
| Modelica.Blocks.Interfaces.RealOutput | ySecHeaGen | Relative power of second heat generator, from 0 to 1 | |
| Modelica.Blocks.Interfaces.RealOutput | y_sou | ||
| Modelica.Blocks.Math.MultiSum | multiSum | ||
| AixLib.Obsolete.Year2024.DataBase.HeatPump.PerformanceData.IcingBlock | icingBlock | ||
| Modelica.Blocks.Sources.Constant | const | ||
| Modelica.Blocks.Routing.BooleanPassThrough | booleanPassThroughMode | Pass through for mode signal | |
| Modelica.Blocks.Sources.Constant | constTAmb |
Contents
| Name | Description |
|---|---|
| TSetToNSet | |
| HeatingCurveFunction |
Revisions
-
October 31, 2018 by Alexander Kümpel:
Connection between controller and heat pump only via bus connector -
November 26, 2018 by Fabian Wüllhorst:
First implementation (see issue #577)