modelVarLimPIDFreeze
PI controller with limited output (with adjustable limits), anti-windup compensation, setpoint weighting, optional feed-forward and optional freezing of the state
Extends from Modelica.Blocks.Interfaces.SVcontrol (Single-Variable continuous controller).
Information
The following features are present:
- The output of this controller is limited. If the controller is in its limits, anti-windup compensation is activated to drive the integrator state to zero.
- Setpoint weighting is present, which allows to weight the setpoint in the proportional part independently from the measurement. The controller will respond to load disturbances and measurement noise independently of this setting (parameters Wp). However, setpoint changes will depend on this setting.
- Optional feed-forward. It is possible to add a feed-forward signal. The feed-forward signal is added before limitation.
Extended with Freeze functionality: If boolean input is set to true, the derivative of the state variable is set to zero.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | K | 1 | Gain of controller |
| Types.Time | Ti | 0.5 | Time constant of Integrator block |
| Real | Wp | 1 | Set-point weight for Proportional block (0..1) |
| Real | Ni | 0.9 | Ni*Ti is time constant of anti-windup compensation |
| Boolean | WithFeedForward | false | Use feed-forward input? |
| Real | Kff | 1 | Gain of feed-forward input |
| Real | Xi0 | 0 | Initial or guess value for integrator output (= integrator state) |
| Real | Y0 | 0 | Initial value of output |
| Types.Time | unitTime | 1 | |
| Advanced | |||
| Boolean | Strict | false | = true, if Strict limits with noEvent(..) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| RealInput | u_s (from SVcontrol) | Connector of setpoint input signal | |
| RealInput | u_m (from SVcontrol) | Connector of measurement input signal | |
| RealOutput | y (from SVcontrol) | Connector of actuator output signal | |
| Modelica.Blocks.Interfaces.RealInput | uFF | Optional connector of feed-forward input signal | |
| Modelica.Blocks.Interfaces.RealInput | yMin | ||
| Modelica.Blocks.Interfaces.RealInput | yMax | ||
| Modelica.Blocks.Interfaces.BooleanInput | freeze |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | controlError | u_s - u_m | Control error (set point - measurement) |
| Modelica.Blocks.Math.Add | addP | ||
| Modelica.Blocks.Math.Gain | P | ||
| Modelica.Blocks.Math.Gain | gainPID | ||
| Modelica.Blocks.Math.Add | addPID | ||
| Modelica.Blocks.Math.Add3 | addI | ||
| Modelica.Blocks.Math.Add | addSat | ||
| Modelica.Blocks.Math.Gain | gainTrack | ||
| Modelica.Blocks.Nonlinear.VariableLimiter | limiter | ||
| Modelica.Blocks.Sources.Constant | FFzero | ||
| Modelica.Blocks.Math.Add | addFF | ||
| IntegratorSetFreeze | I |