modelSafety
Model including all safety levels
Extends from BaseClasses.PartialSafety (Safety control with I/O).
Information
Aggregation of the four main safety controls of a refrigerant machine (heat pump or chiller).
The order is based on the relevance to a real system. Antifreeze control and mininmum flow rate control are put last because of the relevance for the simulation. If the medium temperature falls below or rises above the critical values, the simulation will fail.
All used functions are optional. See the used models for more information on each safety function:
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | ySet_small | Threshold for relative speed for the device to be considered on | |
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Generic | safCtrPar | ||
| Mass flow rates | |||
| Modelica.Units.SI.MassFlowRate | mEva_flow_nominal | Nominal mass flow rate in evaporator medium | |
| Modelica.Units.SI.MassFlowRate | mCon_flow_nominal | Nominal mass flow rate in condenser medium | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.RefrigerantMachineControlBus | sigBus (from PartialSafety) | Bus-connector for the heat pump | |
| Modelica.Blocks.Interfaces.IntegerOutput | opeEnvErr | Number of errors from violating the operational envelope | |
| Modelica.Blocks.Interfaces.IntegerOutput | antFreErr | Number of errors from antifreeze control | |
| Modelica.Blocks.Interfaces.IntegerOutput | minFlowErr | Number of errors from violating minimum flow rates | |
| Modelica.Blocks.Interfaces.RealInput | ySet | Input for relative compressor speed from 0 to 1 | |
| Modelica.Blocks.Interfaces.RealOutput | yOut | Output for relative compressor speed from 0 to 1 |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.OperationalEnvelope | opeEnv | ||
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.OnOff | onOffCtr | On off control block | |
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.AntiFreeze | antFre | Antifreeze control | |
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.MinimalFlowRate | minVolFloRatSaf | Block to ensure minimal flow rates | |
| Modelica.Blocks.Routing.RealPassThrough | reaPasThrOnOff | No on off control | |
| Modelica.Blocks.Logical.Hysteresis | ySetOn | =true if device is set on after on off control | |
| Modelica.Blocks.Logical.Switch | swiErr | Switches to zero when an error occurs | |
| Modelica.Blocks.Sources.Constant | conZer | Constant zero | |
| Modelica.Blocks.MathBoolean.And | andCanOpe | Can operate | |
| Modelica.Blocks.Sources.BooleanConstant | conCanOpeAntFre | Constant can operate | |
| Modelica.Blocks.Sources.BooleanConstant | conCanOpeMinFlo | Constant can operate | |
| Modelica.Blocks.Sources.BooleanConstant | conCanOpeOpeEnv | Constant can operate |
Revisions
-
May 27, 2025 by Fabian Wuellhorst:
Make safety checks parallel (see issue IBPSA #2015) -
May 26, 2025 by Fabian Wuellhorst and Michael Wetter:
Increase error counter only when device should turn on (see issue IBPSA #2011) -
October 2, 2022 by Fabian Wuellhorst:
Adjusted based on the discussion in this issue #1576) -
November 26, 2018 by Fabian Wuellhorst:
First implementation (see issue AixLib #577)