blockLimitedPI

Limited PI controller with anti-windup and feed-forward

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

Information

Proportional - Integral - controller with optional feed-forward and limitation at the output.

The integral part can be switched off to obtain a limited P controller.

The feed-forward gain can either be constant or given by the optional input kFF.

When the output is limited, the controller cannot bring the control error to zero and the integrator will not stop integrating. To avoid this WindUp - effect, an Anti-WindUp loop is implemented: The difference between unlimited and limited output is fed back to the integrator's input.

Parameters

TypeNameDefaultDescription
Realk1Gain
BooleanuseItruePI else P
SI.TimeTi1Integral time constant (T>0 required)
Feed-forward
BooleanuseFFfalseUse feed-forward?
BooleanuseConstantKFFtrueUse constant feed-forward factor?
RealKFF1Feed-forward gain
Limitation
BooleanconstantLimitstrueUse constant limits?
BooleansymmetricLimitstrueUse symmetric limits?
RealyMaxinfUpper limit of output
RealyMin-yMaxLower limit of output
Initialization
Modelica.Blocks.Types.InitinitTypeModelica.Blocks.Types.Init.NoInitType of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Realx_start0Initial or guess value of state
Realy_start0Initial value of output

Connectors

TypeNameDefaultDescription
RealInputu (from SISO)Connector of Real input signal
RealOutputy (from SISO)Connector of Real output signal
Modelica.Blocks.Interfaces.RealInputu_mConnector of measured signal
Modelica.Blocks.Interfaces.RealInputfeedForwardConnector of feed-forward signal
Modelica.Blocks.Interfaces.RealInputkFFConnector of feed-forward factor
Modelica.Blocks.Interfaces.RealInputyMaxVarConnector of yMax input signal
Modelica.Blocks.Interfaces.RealInputyMinVarConnector of yMin input signal

Components

TypeNameDefaultDescription
RealcontrolErroru - u_mControl error (set point - measurement)
Modelica.Blocks.Math.Feedbackfeedback
Modelica.Blocks.Math.AddaddAntiWindup
Modelica.Blocks.Continuous.Integratorintegrator
Modelica.Blocks.Math.Add3add3
Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter
Modelica.Blocks.Math.FeedbackaddSat
Modelica.Blocks.Math.Productproduct