modelPI
Proportional + Integral controller
Extends from Interfaces.Controller (Partial interface for a generic controller).
Information
Description
Proportional + Integral controller with Automatic, Tracking mode and bias signal.
The control law is defined as
1+sTi
CS(s) = Kp ------- (SP(s) - PV(S))
sTi
Scheme
| Name | Description | Conditional? |
|---|---|---|
| SP | Set Point | NO |
| PV | Process Variable | NO |
| CS | Control Signal | NO |
| TR | Track Reference signal | YES (useTS) |
| TS | Track Switch signal | YES (useTS) |
| Bias | Biasing signal | YES (useBIAS) |
| ATreq | AutoTuning request | YES (*) |
AutoTuning
The controller can have various operating conditions:
- Automatic,
- and Tracking
In the Automatic mode, the control output is computed with the proportional+integral control law, while in the tracking mode
it is defined by the input TR.
To note that in the tracking mode the output signal CS is equal to TR, and the first order filter
1
-------- TR(S)
1+s*Ti
is replaced by
1
-------- TR(S)
1+s*eps
where eps is a small time constant. With such a scheme, the integrator does not diverge while the tracking modeis enabled.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | eps (from Controller) | 1e-1 | small time constant that represents the time for switching between auto and tracking mode |
| Boolean | useTS (from Controller) | false | =true, if TS and TR inputs are enabled |
| Boolean | useBIAS (from Controller) | false | =true, if BIAS input is enabled |
| Boolean | useAT (from Controller) | false | =true, if AutoTuning input is enabled |
| Boolean | useGS (from Controller) | false | =true, if GainScheduling inputs are enabled |
| Boolean | useSAT (from Controller) | false | =true, if Saturation outputs are enabled |
| Discretisation | |||
| Real | Ts (from Controller) | 0 | Sampling time (if <= 0 continuous time) |
| IndustrialControlSystems.LinearSystems.Discrete.Types.discrMethod | method (from Controller) | IndustrialControlSystems.LinearSystems.Discrete.Types.discrMethod.BE | Discretisation method |
| Saturation | |||
| Boolean | AntiWindup (from Controller) | false | Flag that enables the antiwindup feature |
| Real | CSmin (from Controller) | 0 | minimum value of the CS |
| Real | CSmax (from Controller) | 1 | maximum value of the CS |
| Initialisation | |||
| Real | CS_start (from Controller) | 0 | output initial value |
| Parameters | |||
| Real | Kp | 5 | Proportional gain |
| Real | Ti | 1 | Integral time |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | TR (from Controller) | Track Reference signal | |
| Modelica.Blocks.Interfaces.BooleanInput | TS (from Controller) | Track Switch signal | |
| Modelica.Blocks.Interfaces.RealInput | BIAS (from Controller) | Bias | |
| Modelica.Blocks.Interfaces.RealInput | SP (from Controller) | Set Point signal | |
| Modelica.Blocks.Interfaces.RealOutput | CS (from Controller) | Control signal | |
| Modelica.Blocks.Interfaces.RealInput | PV (from Controller) | Process Variable signal | |
| Modelica.Blocks.Interfaces.BooleanInput | ATreq (from Controller) | Auto Tuning request | |
| Modelica.Blocks.Interfaces.BooleanOutput | satHI (from Controller) | ||
| Modelica.Blocks.Interfaces.BooleanOutput | satLOW (from Controller) | ||
| Modelica.Blocks.Interfaces.RealInput | Kp_GS | ||
| Modelica.Blocks.Interfaces.RealInput | Ti_GS |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | bias (from Controller) | bias signal | |
| Real | tr (from Controller) | track reference value | |
| Boolean | ts (from Controller) | track reference signal | |
| Boolean | at_req (from Controller) | auto tuning enabling signal | |
| Boolean | satHigh (from Controller) | High saturation signal | |
| Boolean | satLow (from Controller) | Low saturation signal | |
| Real | Ti_act | Actual integral time | |
| Real | Kp_act | Actual proportianal gain | |
| Real | FBout | output (and state) of the feedback block 1/(1+sTi) | |
| Real | cs | Pre-biased Control Signal | |
| Real | satin | input of the saturation block |
Revisions
- Industrial Control Systems (v 1.0.0) : April-May 2012
- List of revisions:
- 11 May 2012 (author: Marco Bonvini)
- Main Authors:
- Marco Bonvini; <bonvini@elet.polimi.it>
- Alberto Leva <leva@elet.polimi.it>
- Politecnico di Milano
- Dipartimento di Elettronica e Informazione
- Via Ponzio 34/5
- 20133 Milano - ITALIA -
- Copyright:
- Copyright © 2010-2012, Marco Bonvini and Alberto Leva.
- The IndustrialControlSystems package is free software; it can be redistributed and/or modified under the terms of the Modelica license.