Document

advertisement
Tuning PID Controller
Institute of Industrial Control,
Zhejiang University, Hangzhou, P. R. China
2013/03/27
Single-loop PID Control System
DVs
Extended
Controlled Process
(广义对象)
ysp
+
ym(t)
_
PID
Controller
u(t)
Final Control
Element
MV
Disturbance
Path
Control
Path
+
+
Sensor &
Transmitter
Problem: For an unknown extended controlled process,
how to design and tune our PID controller ?
y(t)
Proportional-Integral-Derivative
(PID) Controller
 Ideal PID Controller
1
u (t )  K c (e(t ) 
Ti
de(t )
0 e( )d  Td dt )  u0 ,
t
1
Td is the derivative time.
Gc ( s)  Kc (1   Td s)
Ti s
 Industrial PID Controller (design and realization ?)


 Td s  1  
1  The derivative
Gc ( s)  K c 
1
gain Ad = 10.



T
 d A s  1   Ti s 
d


Problem Discussion




Explain the function of PID controller for a
stable controlled process.
Analyze the effect of PID parameter
changes on control performances
How can we realize the industrial PID
controller in Simulink ?
PID tuning example (See ../PIDControl
/PIDLoop.mdl )
Contents






Selection of PID Controller Types (PID控制
器类型选择)
Tuning of PID Controller Parameters (控制
器参数整定)
Flow Control (流量控制)
Level Control (液位控制)
Reset Windup and Its Prevention (积分饱和
与防止)
Summary
Type Selection of PID Controllers
Controlled
Variable
Controller
Type
Temperature /
Composition
PID*1
Flow /
Pressure
/Liquid-Level
PI
*1: For some slow
processes with long time
constants, the derivative
action is suggested to use.
However, if there exists
strong measurement noises,
a first-order or average filter
should be added.
Liquid-Level
P
Please analyze the rule
of type selection ?
PID Tuning Concept
Process
Characteristics
Controller
Kc or PB,
Ti ,
Td
Offline Tuning Based on
Process Parameters: K, T,τ




Step 1: switch the controller to manual mode,
change the output of controller in step form,
and record input/output data of controller.
Step 2: obtain process characteristics: K, T,τ,
from the step response data.
Step 3: set the PID parameters Kc, Ti , Td, and
switch the controller to automatic mode.
Step 4: increase or decrease the gain Kc until
obtaining the satisfactory response.
Simulation of Offline Tuning
step 1: Step Testing
Controller Output
62
60
%
Furnace
Process
Fluid
T(t)
58
56
54
Ti (t)
0
TT
27
10
20
30
40
50
60
70
80
90
100
70
80
90
100
Transmitter Output
y(t)
u(t)
%, CO
%, TO
78
76
TC
27
74
ysp(t)
%
Fuel Oil
80
72
70
68
See ../PIDControl/PIDLoop.mdl
66
0
10
20
30
40
50
60
Step 2: Obtain Process Para.
Transmitter Output
80
TO,% TO final  TOinitial
K

CO,% CO final  COinitial
78
76
74
%
T  1.5  t0.632 O  t0.283O 
72
70
  t0.632 O  T
68
66
0
10
20
30
40
50
min
60
70
80
90
100
Step 3: Obtain Initial PID Para.
(Ziegler-Nichols Method)
Controller
Kc
P
 1  T 
  
 K   
PI
PID
 0.9   T 

 
 K   
 1.2   T 

 
 K   
Ti
Td
3.33 
2.0 
0.5 
Note: the above method was developed for 0    T
Step 3: Obtain Initial PID Para.
(Lambda Tuning Method)
Controller
Kc
P
1  T 
 

 K     
1  T 
 

K



  

PI
PID
1  T 
 

K



  

Ti
Td
Initial Value
 0
 
T
T
τ/2
  0.2 
Note: the above method is not limited by the value of  / T
Simulation Example #1
Output of Transmitter
63
K = 1.75
62.5
62
T = 6.5,τ= 3.3 min
%
61.5
For PI Controller,
61
Z-N tuning: Kc = 1.0,
Ti = 11 min
60.5
60
Ziegler-Nichols method
Lambda tuning method
set point
59.5
59
Lambda tuning: Kc =
0.56, Ti = 6.5 min
0
50
100
Time, min
150
Simulation Example #2
Output of Transmitter
63
K = 1.75
62.5
T = 6.5,τ= 6.3 min
62
For PI Controller,
%
61.5
Z-N tuning: Kc =
0.53, Ti = 20.8 min
61
60.5
Lambda tuning: Kc =
0.30, Ti = 6.5 min
60
Z-N tuning
Lambda tuning
set point
59.5
59
0
50
100
Time, min
150
200
Procedure of Online Tuning:
Ziegler-Nichols Technique




Step 1: with the controller online (in
automatic mode), remove all the reset (Ti =
maximum) and derivative (Td = 0) modes.
Start with a small Kc value.
Step 2: make a small set point or load
change and observe the response of CV.
Step 3: if the response is not continuously
oscillatory, increase Kc, or decrease PB,
repeat step 2.
Step 4: Repeat step 3 until a continuous
oscillatory response is obtained.
Example of Online Tuning
Output of Transmitter
66
Furnace
Process
Fluid
65
Ti = 6000 min, Td = 0 min
64
Tu
Kc = 4
Kc = 3.5
T(t)
63
Ti (t)
set point
y(t)
u(t)
%, CO
%
TT
27
Fuel Oil
Kc = 2
%, TO
62
61
Kc = 1
60
TC
27
ysp(t)
Kc = 0.5
59
58
0
10
20
30
Time, min
See ../PIDControl/PIDLoop.mdl
40
50
Online Tuning:
Ziegler-Nichols Technique
The gain that gives these continuous oscillations is the ultimate
gain (临界增益), Kcu. The period of the oscillations is called
the ultimate period (临界周期), Tu. the ultimate gain and the
ultimate period are the characteristics of the process being
tuned. The following formulas are then applied:
Controller
P
Kc
0.5Kcu
Ti
PI
0.45Kcu
Tu /1.2
PID
0.65Kcu
Tu /2
Td
Tu /8
Online Tuning Result
Output of Transmitter
63
62
%
Furnace
Process
Fluid
T(t)
Ti (t)
y(t)
59
%, CO
20
40
60
80
100
Output of Controller
%, TO
TC
27
0
100
Kcu = 3.4, Tu = 11 min
ysp(t)
80
PID: Kc = 2.2, Ti = 5.5 min, Td = 1.4 min
%
u(t)
Inlet temp. drops 5 Cent.
60
TT
27
Fuel Oil
set point
61
60
See ../PIDControl/PIDLoop.mdl
40
0
20
40
60
Time, min
80
100
Limitation of Online Tuning
Output of Transmitter
66
Furnace
Process
Fluid
65
Ti = 6000 min, Td = 0 min
64
Tu
Kc = 4
Kc = 3.5
T(t)
63
Ti (t)
set point
y(t)
u(t)
%, CO
%
TT
27
Fuel Oil
Kc = 2
%, TO
62
61
Kc = 1
60
TC
27
ysp(t)
Kc = 0.5
59
58
0
10
20
30
Time, min
40
50
Auto-tuning Based on Relay
Feedback (基于继电反馈的参数自整定)
PID
ysp
Auto
e(t)
+_
u
Tune
Controlled
Process
(+)
Relay
Here we suppose the process gain > 0
ym
Relay Feedback Example
PID
ysp
Auto
e(t)
+_
Tune
u
Controlled
Process
ym
(+)
Relay
The controlled process can
be described as
Ym ( s)
2.0 exp(2s)

U ( s) (5s  1)(2s  1)
The amplitude of relay
controller is d = ±2.0
Response of Relay Feedback
Ym
61.5
61
60.5
60
59.5
59
58.5
0
5
10
15
20
25
30
35
40
45
50
Oscillation period
TU & amplitude AY
(振荡周期与幅
度)?
U
53
See the detailed results:
52
51
../ PIDLoopAutoTuning.mdl
50
49
48
47
0
5
10
15
20
25
min
30
35
40
45
50
The Ultimate Gain (临界增益)
Kcu Calculation
U
53
52
51
50
49
a  4d / 
48
47
0
5
10
15
20
25
min
30
35
40
45
50
经FT变换可知,控制输出的一次谐波幅度为 4d / 
而对应的控制器临界增益为 K CU  4d
AY
Online Z-N Tuning Parameters
Controller
P
PI
PID
Kc
0.5Kcu
0.45Kcu
0.65Kcu
Ti
Td
Tu /1.2
Tu /2
Tu /8
If we use a PID controller, then we select the
following parameters ……
Closed-loop Response of PID
Feedback System
Ym
75
70
65
60
0
20
40
60
80
100
120
140
80
100
120
140
U
100
80
60
40
0
20
40
60
min
Above autotuning method
can be applied
to other
controlled
processes ?
Characteristics of Flow Loops


Fast dynamic response
Zero dead time, which results in an infinite
controller gain in every tuning equation


Large measurement noise
To decrease the change of control valve, a PI
controller is common used with very small
proportional action and a large integral action
to approximate an integral controller. (Why?)
Tuning Example of Flow Loops
ysp(t)
Output of Transmitter
65
% TO
%
60
FC
y(t)
55
% CO
u(t)
50
45
0
20
40
60
80
100
F(t)
Output of Controller
60
Kc = 4, Ti =2 min
Kc = 1, Ti = 0.5 min
See ../PIDControl/FlowLoop.mdl
40
%
Please compare the proportional
gain with the integral gain
20
0
0
20
40
60
Time, min
80
100
Examples of Level Loops
Product
C201
C301
FIC 102
LT
201
LC
201
FC 201
LT
301
LC
301
FC 302
Characteristics of Level Loops


Very often levels are integrating
processes
There are two types of possible control
objectives when the input flow varies:
(1) Tight Level Control;
(2) Average Level Control
(“液位均匀控制”)
Tight Level Control



The objective is to control the level tightly at
set point, and the output flow can be allowed
to vary without limitation
If a level process happens to be self-regulated,
and it is possible to obtain K, T andτ, the
above tuning techniques can be used directly
If a level process is integrating, a PI controller
is common used with large proportional action
and a very small integral action
Average Level Control



The objective is to smooth the output flow
from the tank, which feeds the downstream
unit, the level in the tank must be allowed to
“float” between a high and a low level
A P controller is common used in Average Level
Control with a small proportional gain
Tuning: the gain should be set to be as small
as possible, as long as the level changes
between a high and a low level for the
expected flow deviation from the average flow.
Example of Level Control
Fi(t)
LT
41
h(t)
A
y(t)
LC
41
% TO
ysp
u(t) % CO
Fo(t)
See ../PIDControl/
LevelLoop.mdl
Analysis of Average Level
Control Systems
Fi(t)
ysp(t)
h(t)
A
% TO
y(t)
LC
u(t)
Dynamic equation of the controlled
process:
dh (t )
A
 Fi (t )  F0 (t )
dt
where A is the area of the tank.
% CO
Suppose
Fo(t)
y(t )  h(t )
hmax
,
F0 (t )  KV u(t )
Analysis of Average Level
Control Systems (cont.)
Fi (s)
ysp
+
-
Fo (s)
u(s)
Gc
For a proportional
controller, Gc = -Kc,
KV
-
+
1
As
h(s)
1
y(s)
hmax
K C KV
Fo ( s )
Ahmax s
1


Ahmax
Fi ( s ) 1  K C KV
s 1
Ahmax s K C KV
1
Ahmax s
y( s)
1
1



Fi ( s ) 1  K C KV
K C KV Ahmax s  1
Ahmax s
K C KV
Please analyze the
above models.
Examples of Average Level
Control Systems
Ysp
Fi
SW1
e
u
1
0.2
10s
PID
Kv
Man/Auto
Uman
DU
Gp
Fo
10
Ym
KT
Please see ../PIDControl/ AverageLevelLoop.mdl
Y
Simulation Results of
P-type Average Level Control
Fin, Fout
11
m3/hr
10.5
10
9.5
Fin
9
0
10
20
30
40
Kc = -2.0
50
60
70
80
90
100
90
100
Kc = -0.5
Ysp, Ym
54
%
52
50
48
46
0
10
20
30
40
50
time, min
60
70
80
Reset Windup Problem
d(t)
ysp(t)
+
-
e(t)

1 
KC 1 

 TI s 
uc
up
Controlled
Process
+
+
Please see the following simulation example
…/PIDControl/PidLoopwithLimit.mdl
ym(t)
Simulation Result with Reset
Windup in a Single-Loop System
Discussion:
Which difference
exists between
reset windup and
the open or
closed status of
the control valve
completely ?
The Principle of Preventing
Reset Windup
d(t)
ysp(t)
+
-
e(t)
uc
KC
up
+
+
A Controlled
Process
+
+
ym(t)
1
TI s  1
if uc (t )  u min
 umin ,
Principle: remove the reset or

u p (t )  uc (t ), if umin  uc (t )  u max integral action if the control
u ,
output is beyond the normal
if
u
(
t
)

u
max
c
max

operation range.
Anti-reset Windup Example
Ysp, Ym
75
%
70
65
60
55
0
20
40
60
80
100
120
140
160
180
200
100
120
time, min
140
160
180
200
Uc, Up
150
%
100
50
0
0
20
40
60
80
Industrial PID Controller
d(t)
ysp(t)
PID1
e(t)
KC
+
-
TD s  1
TD
s 1
AD
uc
up
+
+
A Controlled
Process
+
+
ym(t)
1
TI s  1
PID Controller
d(t)
ysp(t)
PID2
+
-
uc
e(t)
KC
TD s  1
TD
s 1
AD
up
+
+
1
TI s  1
Derivative Action First
PID Controller
A Controlled
Process
+
+
ym(t)
Summary





Selection of PID Controller Types
Tuning of PID Controller Parameters
Tuning of PID Controller for Flow Loops
Tight / Average Level Control
Reset Windup and Its Prevention
Problem Discussion





For an unknown stable temperature control system,
can you determine PID parameters in Offline and
Online tuning methods ?
Please realize the industrial PID controller in
Simulink ?
For the fast flow control loop, show me your tuning
principle and explain why.
For the AVERAGE level control loop, show me your
tuning principle and explain why.
Explain the existing reason of reset windup and
show me your prevention schemes
Exercise 3.1
A controlled process is shown in the Problem 2-1 (p.34) in
Automated Continuous Process Control.
(1) calculate its characteristics parameters K, T and τ;
(2) decide on the action of the valve and the controller;
(3) tune your PID controller.
Exercise 3.2
U
53
52
51
50
49
a  4d / 
48
47
0
5
10
15
20
25
min
30
35
40
45
50
假设Relay(继电器法)镇定PID参数时,控制器输出如上图所
示,信号周期为Tu, 振幅为d=2。证明经傅立叶变换,控制输
出的一次谐波幅度为 4d / 
Download