modelIntegratorVariableLimits

Integrator with limited value of output (variable limits) and freeze
Diagram of IntegratorVariableLimits

Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).

Information

This blocks computes w as integral of the input u multiplied by the gain K.

If the integral reaches a given upper or lower limit, the integration is halted and only restarted if the input drives the integral away from the bounds, with a sufficient margin defined by Tol.

This margin is aimed at avoiding chattering i.e. rapid swings between frozen and unfrozen sates.

If the integration is halted, the integrator output follows the variable limit it has reached.

The output y is the result of the limitation of w by both variable limits.

If the "upper" limit is smaller than the "lower" one, the output y is ruled by the parameter DefaultLimitMax: y is equal to either limitMax or limitMin.

The integrator output is initialized with the parameter Y0.

Parameters

TypeNameDefaultDescription
BooleanDefaultLimitMaxtrueIf limitMin > limitMax : if true, y = limitMax, if false, y = limitMin
Types.PerUnitK1Integrator gain
Types.TimetDer0.01Time constant of derivative filters for limits, in s
Types.PerUnitTolTolerance on limit crossing as a fraction of the difference between initial limits
Types.PerUnitLimitMax0Initial value of upper limit
Types.PerUnitLimitMin0Initial value of lower limit
Types.PerUnitY00Initial or guess value of output
BooleanFrozenMax0Y0 > LimitMax0 - Tol*abs(LimitMax0 - LimitMin0)If true, integration is initially frozen at upper limit
BooleanFrozenMin0Y0 < LimitMin0 + Tol*abs(LimitMax0 - LimitMin0)If true, integration is initially frozen at lower limit

Connectors

TypeNameDefaultDescription
RealInputu (from SISO)Connector of Real input signal
RealOutputy (from SISO)Connector of Real output signal
Modelica.Blocks.Interfaces.RealInputlimitMaxConnector of Real input signal used as maximum of output y
Modelica.Blocks.Interfaces.RealInputlimitMinConnector of Real input signal used as minimum of output y

Components

TypeNameDefaultDescription
Modelica.Blocks.Continuous.DerivativederivativeLimitMax
Modelica.Blocks.Continuous.DerivativederivativeLimitMin