blockSafetyControl

Block including all safety levels

Extends from BaseClasses.PartialSafetyControl (Base Block).

Information

Aggregation of the four main safety measurements of a heat pump. The order is based on the relevance to the real system. Only the AntiFreeze-Control is put last because of the relevance for the simulation. If the medium temperature falls below the critical value, the simulation will fail.

All used functions are optional. See the used models for more info on each safety function:

The safety function for the anti legionella control is placed inside the model HPControl

Parameters

TypeNameDefaultDescription
OnOffControl
Booleanuse_minRunTimetrueFalse if minimal runtime of HP is not considered
Modelica.Units.SI.TimeminRunTimeMimimum runtime of heat pump
Booleanuse_minLocTimetrueFalse if minimal locktime of HP is not considered
Modelica.Units.SI.TimeminLocTimeMinimum lock time of heat pump
Booleanuse_runPerHoutrueFalse if maximal runs per hour HP are not considered
IntegermaxRunPerHouMaximal number of on/off cycles in one hour
Booleanpre_n_starttrueStart value of pre(n) at initial time
Operational Envelope
Booleanuse_opeEnvtrueFalse to allow HP to run out of operational envelope
Booleanuse_opeEnvFroRectrueUse a the operational envelope given in the datasheet
Obsolete.Year2024.DataBase.HeatPump.HeatPumpBaseDataDefinitiondataTableData Table of HP
Real[:,2]tableUppUpper boundary of envelope
Modelica.Units.SI.TemperatureDifferencedTHystOperEnv5Temperature difference used for both upper and lower hysteresis in the operational envelope.
Defrost
Booleanuse_deFroTrue if defrost control should be enabled(only air-source HPs)
RealminIceFacMinimal value above which no defrost is necessary
RealdeltaIceFac0.1Bandwitdth for hystereses. If the icing factor is based on the duration of defrost, this value is necessary to avoid state-events.
Booleanuse_chillertrueTrue if defrost operates by changing mode to cooling. False to use an electrical heater
Modelica.Units.SI.PowercalcPel_deFroCalculate how much eletrical energy is used to melt ice
Anti Freeze Control
Booleanuse_antFretrueTrue if anti freeze control is part of safety control
Modelica.Units.SI.ThermodynamicTemperatureTantFre276.15Limit temperature for anti freeze control

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputnSet (from PartialSafetyControl)Set value relative speed of compressor. Analog from 0 to 1
Modelica.Blocks.Interfaces.RealOutputnOut (from PartialSafetyControl)Relative speed of compressor. From 0 to 1
Interfaces.VapourCompressionMachineControlBussigBusHP (from PartialSafetyControl)Bus-connector for the heat pump
Modelica.Blocks.Interfaces.BooleanOutputmodeOut (from PartialSafetyControl)Heat pump mode, =true: heating, =false: chilling
Modelica.Blocks.Interfaces.BooleanInputmodeSet (from PartialSafetyControl)Set value of heat pump mode
Modelica.Blocks.Interfaces.IntegerOutputERR (from PartialSafetyControl)Integer for displaying number off Errors during simulation
Modelica.Blocks.Interfaces.RealOutputPel_deFroRelative speed of compressor. From 0 to 1
Modelica.Blocks.Interfaces.IntegerOutputERR_opeEnv
Modelica.Blocks.Interfaces.IntegerOutputERR_antFre

Components

TypeNameDefaultDescription
AixLib.Utilities.Logical.SmoothSwitchswiErr (from PartialSafetyControl)If an error occurs, the value of the conZero block will be used(0)
Modelica.Blocks.Sources.ConstantconZer (from PartialSafetyControl)If an error occurs, the compressor speed is set to zero
Modelica.Blocks.MathInteger.TriggeredAdddisErr (from PartialSafetyControl)Used to show if the error was triggered
Modelica.Blocks.Logical.Notnot1 (from PartialSafetyControl)
Modelica.Blocks.Sources.IntegerConstantintConOne (from PartialSafetyControl)Used for display of current error
Obsolete.Year2024.Controls.HeatPump.SafetyControls.OperationalEnvelopeoperationalEnvelope
Obsolete.Year2024.Controls.HeatPump.SafetyControls.OnOffControlonOffController
Obsolete.Year2024.Controls.HeatPump.SafetyControls.DefrostControldefrostControl
Modelica.Blocks.Routing.RealPassThroughrealPasThrDefNo 2. Layer
Modelica.Blocks.Sources.BooleanConstantconTruAlways true as the two blocks OperationalEnvelope and OnOffControl deal with whether the nSet value is correct or not
Obsolete.Year2024.Controls.HeatPump.SafetyControls.AntiFreezeantiFreeze
Modelica.Blocks.Routing.BooleanPassThroughboolPasThrDefNo 2. Layer

Revisions

  • November 26, 2018  by Fabian Wüllhorst:
    First implementation (see issue #577)