blockLimitPIDWithReset
Antiwindup limitable PID controller with reset input. Resets on raising and falling edge of reset input.
Extends from Modelica.Blocks.Continuous.LimPID (P, PI, PD, and PID controller with limited output, anti-windup compensation, setpoint weighting and optional feed-forward).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| .Modelica.Blocks.Types.SimpleController | controllerType (from LimPID) | .Modelica.Blocks.Types.SimpleController.PID | Type of controller |
| Real | k (from LimPID) | 1 | Gain of controller, must be non-zero |
| SI.Time | Ti (from LimPID) | 0.5 | Time constant of Integrator block |
| SI.Time | Td (from LimPID) | 0.1 | Time constant of Derivative block |
| Real | yMax (from LimPID) | Upper limit of output | |
| Real | yMin (from LimPID) | -yMax | Lower limit of output |
| Real | wp (from LimPID) | 1 | Set-point weight for Proportional block (0..1) |
| Real | wd (from LimPID) | 0 | Set-point weight for Derivative block (0..1) |
| Real | Ni (from LimPID) | 0.9 | Ni*Ti is time constant of anti-windup compensation |
| Real | Nd (from LimPID) | 10 | The higher Nd, the more ideal the derivative block |
| Boolean | withFeedForward (from LimPID) | false | Use feed-forward input? |
| Real | kFF (from LimPID) | 1 | Gain of feed-forward input |
| SI.Time | unitTime (from LimPID) | 1 | |
| Initialization | |||
| Init | initType (from LimPID) | Init.InitialState | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Real | xi_start (from LimPID) | 0 | Initial or guess value for integrator output (= integrator state) |
| Real | xd_start (from LimPID) | 0 | Initial or guess value for state of derivative block |
| Real | y_start (from LimPID) | 0 | Initial value of output |
| Modelica.Blocks.Types.LimiterHomotopy | homotopyType (from LimPID) | Modelica.Blocks.Types.LimiterHomotopy.Linear | Simplified model for homotopy-based initialization |
| Advanced | |||
| Boolean | strict (from LimPID) | 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 | u_ff (from LimPID) | Optional connector of feed-forward input signal | |
| Modelica.Blocks.Interfaces.RealInput | PIReset | Reset signal, triggers reset on beginning of raising and falling edges. (der > 1e-6) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | controlError (from LimPID) | u_s - u_m | Control error (set point - measurement) |
| Modelica.Blocks.Math.Add | addP (from LimPID) | ||
| Modelica.Blocks.Math.Add | addD (from LimPID) | ||
| Modelica.Blocks.Math.Gain | P (from LimPID) | ||
| Modelica.Blocks.Continuous.Integrator | I (from LimPID) | ||
| Modelica.Blocks.Continuous.Derivative | D (from LimPID) | ||
| Modelica.Blocks.Math.Gain | gainPID (from LimPID) | ||
| Modelica.Blocks.Math.Add3 | addPID (from LimPID) | ||
| Modelica.Blocks.Math.Add3 | addI (from LimPID) | ||
| Modelica.Blocks.Math.Add | addSat (from LimPID) | ||
| Modelica.Blocks.Math.Gain | gainTrack (from LimPID) | ||
| Modelica.Blocks.Nonlinear.Limiter | limiter (from LimPID) | ||
| Modelica.Blocks.Sources.Constant | Dzero (from LimPID) | ||
| Modelica.Blocks.Sources.Constant | Izero (from LimPID) | ||
| Modelica.Blocks.Sources.Constant | FFzero (from LimPID) | ||
| Modelica.Blocks.Math.Add | addFF (from LimPID) |