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
| Type | Name | Default | Description |
|---|---|---|---|
| Real | k | 1 | Gain |
| Boolean | useI | true | PI else P |
| SI.Time | Ti | 1 | Integral time constant (T>0 required) |
| Feed-forward | |||
| Boolean | useFF | false | Use feed-forward? |
| Boolean | useConstantKFF | true | Use constant feed-forward factor? |
| Real | KFF | 1 | Feed-forward gain |
| Limitation | |||
| Boolean | constantLimits | true | Use constant limits? |
| Boolean | symmetricLimits | true | Use symmetric limits? |
| Real | yMax | inf | Upper limit of output |
| Real | yMin | -yMax | Lower limit of output |
| Initialization | |||
| Modelica.Blocks.Types.Init | initType | Modelica.Blocks.Types.Init.NoInit | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Real | x_start | 0 | Initial or guess value of state |
| Real | y_start | 0 | Initial value of output |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| RealInput | u (from SISO) | Connector of Real input signal | |
| RealOutput | y (from SISO) | Connector of Real output signal | |
| Modelica.Blocks.Interfaces.RealInput | u_m | Connector of measured signal | |
| Modelica.Blocks.Interfaces.RealInput | feedForward | Connector of feed-forward signal | |
| Modelica.Blocks.Interfaces.RealInput | kFF | Connector of feed-forward factor | |
| Modelica.Blocks.Interfaces.RealInput | yMaxVar | Connector of yMax input signal | |
| Modelica.Blocks.Interfaces.RealInput | yMinVar | Connector of yMin input signal |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | controlError | u - u_m | Control error (set point - measurement) |
| Modelica.Blocks.Math.Feedback | feedback | ||
| Modelica.Blocks.Math.Add | addAntiWindup | ||
| Modelica.Blocks.Continuous.Integrator | integrator | ||
| Modelica.Blocks.Math.Add3 | add3 | ||
| Modelica.Blocks.Nonlinear.VariableLimiter | variableLimiter | ||
| Modelica.Blocks.Math.Feedback | addSat | ||
| Modelica.Blocks.Math.Product | product |