PI controller with Auto Tuning algorithm - mixed
continuous/discrete time version -
Description
Proportional + Integral controller with AutoTuning, 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 (useAT) |
The controller can have various operating conditions:
- Automatic,
- Auto Tuning,
- 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.
Auto Tuning
This section presents the Modelica realisations of the fully
digital of the considered autotuning methodology. The block inputs
are the set point (SP) and the process variable (PV), plus a
boolean one, a pulse on which initiates the autotuning procedure;
the output is clearly the control signal (CS). The initial values
for K and Ti, as well as the required phase margin pm, are provided
as parameters. The autotuning procedure is composed of the
following steps:
It is worth noticing that any industrial realisation would be more
articulated than those illustrated in the following. For example,
some logic would need introducing to abort the procedure in the
case of unexpected and/or possibly harmful system behaviours, a
confirmation should be requested to the operator in order to accept
or decline the proposed parameters prior to updating the PI, and so
forth. Such features are however omitted here since they are
lengthy to discuss in the necessary detail, and substantially
inessential for the purpose of this work.
Mixed Mode
When everything is digital, things are simple, and the only issue
to care about is to correctly manage the regulator tracking while
the relay is driving the control signal so as to achieve the
required permanent oscillation. If conversely one wants to
represent the controller as a continuous-time system, it is
necessary to suitably coordinate it with the digital procedure. The
solution adopted here can be summarised as follows. First,
implement the controller in the desired form (here, for consistence
with the digital case, an antiwindup PI was chosen) as differential
and algebraic equations. Then, realise the autotuning procedure as
a digital algorithm, including the control computation during that
procedure, exactly as it was in the fully digital case. Finally,
manage the autotuning request event by (a) setting a flag that
selects the control output to be that coming from the equations or
the algorithm, depending on the mode, and (b) initialising the
algorithm output to the last equation output. Analogously, manage
the autotuning termination by resetting the above flag, and
reinitialising the equation-based controller state to match the
last algorithm output. The only (small) disadvantage of such a
solution is that the equation-based controller stays in place
during the autotuning phase. However the resulting overhead is
generally very limited, given the invariantly simple structure of
the controller, while there is a gain in terms of simplicity with
respect to possible alternative solutions attempting to avoid said
overhead.
References
For more information please refers to the following paper:
Efficient hybrid simulation of autotuning PI
controllers
Alberto Leva, Marco Bonvini
8th Modelica Conference, Dresden, Germany
march 20-22, 2011
- 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.
Generated at 2026-04-01T18:18:38Z by OpenModelicaOpenModelica 1.26.3 using
GenerateDoc.mos