blockSmoothLimPID
Extends from Modelica.Blocks.Interfaces.SVcontrol (Single-Variable continuous controller).
Information
1. Purpose of model
LimPID from Modelica Standard Library (Modelica.Blocks.Continuous.LimPID) with smoothed transition zone limiter.
2. Level of detail, physical effects considered, and physical insight
(Purely technical component without physical modeling.)
3. Limits of validity
(Purely technical component without physical modeling.)
4. Interfaces
(no remarks)
5. Nomenclature
(no elements)
6. Governing Equations
(no equations)
7. Remarks for Usage
The parameter thres gives the transition zone as share of (uMax-uMin) and should be <=0.5, else regions would overlap.
8. Validation
(no validation or testing necessary)
9. References
(no remarks)
10. Version History
Model created by Christian Warnecke, Aug 2015
Model revised by Lisa Andresen (andresen@tuhh.de), Dec 2016
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Time | unitTime | 1 | |
| .Modelica.Blocks.Types.SimpleController | controllerType | .Modelica.Blocks.Types.SimpleController.PID | Type of controller |
| Real | thres | 0.1 | Smooting region of the limiter |
| Real | k | 1 | Gain of controller |
| Modelica.Units.SI.Time | Ti | 0.5 | Time constant of Integrator block |
| Modelica.Units.SI.Time | Td | 0.1 | Time constant of Derivative block |
| Real | yMax | Upper limit of output | |
| Real | yMin | -yMax | Lower limit of output |
| Real | wp | 1 | Set-point weight for Proportional block (0..1) |
| Real | wd | 0 | Set-point weight for Derivative block (0..1) |
| Real | Ni | 0.9 | Ni*Ti is time constant of anti-windup compensation |
| Real | Nd | 10 | The higher Nd, the more ideal the derivative block |
| Initialization | |||
| .Modelica.Blocks.Types.Init | initType | .Modelica.Blocks.Types.Init.InitialState | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Real | xi_start | 0 | Initial or guess value value for integrator output (= integrator state) |
| Real | xd_start | 0 | Initial or guess value for state of derivative block |
| Real | y_start | 0 | Initial value of output |
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 |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | controlError | u_s - u_m | Control error (set point - measurement) |
| Modelica.Blocks.Sources.Constant | Dzero | ||
| Modelica.Blocks.Sources.Constant | Izero | ||
| Modelica.Blocks.Math.Add | addP | ||
| Modelica.Blocks.Math.Add | addD | ||
| Modelica.Blocks.Math.Gain | P | ||
| Modelica.Blocks.Continuous.Integrator | I | ||
| Modelica.Blocks.Continuous.Derivative | D | ||
| Modelica.Blocks.Math.Gain | gainPID | ||
| Modelica.Blocks.Math.Add3 | addPID | ||
| Modelica.Blocks.Math.Add3 | addI | ||
| Modelica.Blocks.Math.Add | addSat | ||
| Modelica.Blocks.Math.Gain | gainTrack | ||
| TransiEnt.Basics.Blocks.SplineLim | limiter |