modelLimitController
Limits electrical power consumption
Information
The LimitController restricts the heating system’s thermal output based on a power limit signal.
When P_limit_active is true, a PI controller (PID_reset_lim) regulates output so the measured heating power P_Heating tracks P_limit.
When inactive, the output is set to Q_limit_not_active.
Key features
- PI control with reset when limiter is inactive (
xi_start = Q_nom). - Variable maximum output:
P_limitwhen active,Q_limit_not_activewhen inactive. - Minimum output fixed at zero.
- First-order lag (
breakAlgebraicLoop) to avoid algebraic loops in feedback.
Logic
- Switch selects setpoint from
P_limitorQ_limit_not_activebased onP_limit_active. - PI controller regulates within [0,
Q_limit_not_active]. - Reset triggered when limiter turns off.
- Output
PID_limitsent to actuator/supervisory control.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.HeatFlowRate | Q_limit_not_active | Maximum thermal heat flow rate if limiter is not active | |
| Modelica.Units.SI.HeatFlowRate | Q_nom | Nominal heat flow rate of heating system |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealOutput | PID_limit | Connector of actuator output signal | |
| Modelica.Blocks.Interfaces.RealInput | P_limit | ||
| Modelica.Blocks.Interfaces.BooleanInput | P_limit_active | ||
| Modelica.Blocks.Interfaces.RealInput | P_Heating |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Continuous.FirstOrder | breakAlgebraicLoop | ||
| Modelica.Blocks.Math.Feedback | controlError_P_Limit | ||
| Basics.Blocks.PID_reset_lim | controller_P_Limit | ||
| Modelica.Blocks.Logical.Switch | P_limit_active_switch | ||
| Modelica.Blocks.Sources.RealExpression | Q_varLimiter_max | ||
| Modelica.Blocks.Logical.Not | not2 | ||
| Modelica.Blocks.Sources.RealExpression | Q_varLimiter_min | ||
| Basics.Blocks.Hysteresis_inputVariable | active | ||
| Modelica.Blocks.Math.Add | add | ||
| Modelica.Blocks.Sources.RealExpression | deactivationOffset | ||
| Modelica.Blocks.Sources.RealExpression | activationOffset | ||
| Modelica.Blocks.Math.Add | add1 | ||
| Modelica.Blocks.Logical.Or | or1 | ||
| Modelica.Blocks.Logical.Change | change1 | ||
| Modelica.Blocks.Math.Gain | COP_best | ||
| Modelica.Blocks.Logical.Switch | P_limit_active_switch1 |