Document 7298953

Download Report

Transcript Document 7298953

PID Tuning and
Controllability
Sigurd Skogestad
NTNU, Trondheim, Norway
Tuning of PID controllers



SIMC tuning rules (“Skogestad IMC”)(*)
Main message: Can usually do much better by taking a
systematic approach
Key: Look at initial part of step response
Initial slope: k’ = k/1

One tuning rule! Easily memorized
c ¸ 0: desired closed-loop response time (tuning parameter)
For robustness select: c ¸ 
Reference: S. Skogestad, “Simple analytic rules for model reduction and PID controller design”, J.Proc.Control,
Vol. 13, 291-309, 2003
(*) “Probably the best simple PID tuning rules in the world”
Need a model for tuning

Model: Dynamic effect of change in input u (MV) on
output y (CV)
First-order + delay model for PI-control

Second-order model for PID-control

Step response experiment


Make step change in one u (MV) at a time
Record the output (s) y (CV)
First-order plus delay process
RESULTING OUTPUT y (CV)
k’=k/1
STEP IN INPUT u (MV)
Step response experiment
: Delay - Time where output does not change
1: Time constant - Additional time to reach 63% of final change
k : steady-state gain =  y(1)/ u
k’ : slope after response “takes off” = k/1
Model simplifications

1 ¼ 200
(may be neglected for c < 40)
For control: Dynamics at “control
time scale” (c) are important
0.9954

Integrating process (1 = 1)
Time constant 1 is not important if it is much larger
than the desired response time c. More
precisely, may use
1 =1 for 1 > 5 c
0.9953
0.9953
0.9952
0.9952
0.9951
0.9951
0.995

Delay-free process (=0)
Delay  is not important if it is much smaller than
the desired response time c. More precisely,
may use
 ¼ 0 for  < c/5
0.995
0.9949
0
10
20
30
40
50
¼1
(may be neglected for c > 5)
c = desired response time
60
time

“Integrating process” (c < 5 1):


Need only two parameters: k’ and 
From step response:
Response on stage 70 to step in L
Example.
Step change in u:
Initial value for y:
Observed delay:
At T=10 min:
Initial slope:
2.8
u = 0.1
y(0) = 2.19
 = 2.5 min
y(T)=2.62
2.7
2.6
2.5
y(t)
2.4
2.62-2.19
2.3
7.5 min
2.2
2.1
0
=2.5
t [min]
2
4
6
8
10
First-order with delay process (c > 51)


Need 3 parameters:
 Delay 
 2 of the following: k, k’, 1 (Note relationship k’ = k/1)
Example:
BOTTOM V: -0.5
0.14
First-order model:
= 0
k= (0.134-0.1)/(-0.5) = -0.068 (steady-state gain)
1= 16 min (63% of change)
0.135
0.13
63%
0.125
xB
0.12
0.115
Gives k’ = 0.068/16 = 0.00425
(could alternatively find k’ by observing the initial
response)
0.11
0.105
0.1
0.095
16 min
0
50
100
150
200
250
300
Step response experiment: How
long do we need to wait?

FAST TUNING DESIRED (“tight control”, c = ):


NORMALLY NO NEED TO RUN THE STEP EXPERIMENT FOR LONGER
THAN ABOUT 10 TIMES THE EFFECTIVE DELAY ()
EXCEPTION: LET IT RUN A LITTLE LONGER IF YOU SEE THAT IT IS
ALMOST SETTLING (TO GET 1 RIGHT)


SIMC RULE: I = min (1, 4(c+)) with c =  for tight control
SLOW TUNING DESIRED (“smooth control”, c > ):



HERE YOU MAY WANT TO WAIT LONGER TO GET 1 RIGHT BECAUSE
IT MAY AFFECT THE INTEGRAL TIME
BUT THEN ON THE OTHER HAND, GETTING THE RIGHT INTEGRAL
TIME IS NOT ESSENTIAL FOR SLOW TUNING
SO ALSO HERE YOU MAY STOP AT 10 TIMES THE EFFECTIVE DELAY
()
Model reduction of more
complicated model

Start with complicated stable model on the form

Want to get a simplified model on the form

Most important parameter is usually the “effective” delay

half rule
Approximation of zeros
Derivation of SIMC-PID tuning rules

PI-controller (based on first-order model)

For second-order model add D-action.
For our purposes it becomes simplest with the “series” (cascade)
PID-form:
Basis: Direct synthesis (IMC)
Closed-loop response to setpoint change
Idea: Specify desired response (y/ys)=T and from this get the controller. Algebra:
IMC Tuning = Direct Synthesis
Integral time



Found: Integral time = dominant time constant (I = 1)
Works well for setpoint changes
Needs to be modified (reduced) for integrating
disturbances
d
c
u
g
y
Example. “Almost-integrating process” with disturbance at input:
G(s) = e-s/(30s+1)
Original integral time I = 30 gives poor disturbance response
Try reducing it!
Integral Time
I = 1
Reduce I to this value:
I = 4 (c+) = 8 
SIMC-PID Tuning Rules
One tuning parameter: c
Some special cases
One tuning parameter: c
Note: Derivative action is commonly used for temperature control loops.
Select D equal to time constant of temperature sensor
Selection of tuning parameter c
Two cases
1. Tight control: Want “fastest possible control”
subject to having good robustness
2.
Smooth control: Want “slowest possible control”
subject to having acceptable disturbance rejection
TIGHT CONTROL
TIGHT CONTROL
Example. Integrating process with delay=1. G(s) = e-s/s.
Model: k’=1, =1, 1=1
SIMC-tunings with c with ==1:
IMC has I=1
Ziegler-Nichols is usually a
bit aggressive
Setpoint change at t=0
Input disturbance at t=20
TIGHT CONTROL
1.
Approximate as first-order model with k=1, 1 = 1+0.1=1.1, =0.1+0.04+0.008 = 0.148
Get SIMC PI-tunings (c=): Kc = 1 ¢ 1.1/(2¢ 0.148) = 3.71, I=min(1.1,8¢ 0.148) = 1.1
2.
Approximate as second-order model with k=1, 1 = 1, 2=0.2+0.02=0.22, =0.02+0.008 = 0.028
Get SIMC PID-tunings (c=): Kc = 1 ¢ 1/(2¢ 0.028) = 17.9, I=min(1,8¢ 0.028) = 0.224, D=0.22
TIGHT CONTROL
SMOOTH CONTROL
Tuning for smooth control

Tuning parameter: c = desired closed-loop response time

Selecting c= (“tight control”) is reasonable for cases with a relatively large
effective delay 

Other cases: Select c >  for


slower control
smoother input usage




less disturbing effect on rest of the plant
less sensitivity to measurement noise
better robustness
Question: Given that we require some disturbance rejection.


What is the largest possible value for c ?
Or equivalently: The smallest possible value for Kc?
Will derive Kc,min. From this we can get c,max using SIMC tuning rule
SMOOTH CONTROL
Closed-loop disturbance rejection
d0
-d0
ymax
-ymax
=|u0|
SMOOTH CONTROL
Kc
u
Minimum controller gain for PI-and PID-control:
Kc ¸ Kc,min = |u0|/|ymax|
|u0|: Input magnitude required for disturbance rejection
|ymax|: Allowed output deviation
SMOOTH CONTROL
Minimum controller gain:
Industrial practice: Variables (instrument ranges) often scaled such that
(span)
Minimum controller gain is then
Minimum gain for smooth control )
Common default factory setting Kc=1 is reasonable !
SMOOTH CONTROL
Example
c is much larger than =0.25
Does not quite reach 1 because d is
step disturbance (not not sinusoid)
Response to disturbance = 1 at input
SMOOTH CONTROL LEVEL CONTROL
Application of smooth control

Averaging level control
q
V
LC
If you insist on integral action
then this value avoids cycling
Reason for having tank is to smoothen disturbances in concentration and flow.
Tight level control is not desired: gives no “smoothening” of flow disturbances.
Let
|u0| = | q0| – expected flow change [m3/s] (input disturbance)
|ymax| = |Vmax| - largest allowed variation in level [m3]
Minimum controller gain for acceptable disturbance rejection:
Kc ¸ Kc,min = |u0|/|ymax|
From the material balance (dV/dt = q – qout), the model is g(s)=k’/s with k’=1.
Select Kc=Kc,min. SIMC-Integral time for integrating process:
I = 4 / (k’ Kc) = 4 |Vmax| / | q0| = 4 ¢ residence time
provided tank is nominally half full and q0 is equal to the nominal flow.
SMOOTH CONTROL
Rule: Kc ¸ |u0|/|ymax| =1 (in scaled
variables)

Exception to rule: Can have Kc < 1 if disturbances
are handled by the integral action.


Disturbances must occur at a frequency lower than 1/I
Applies to: Process with short time constant (1 is
small) and no delay ( ¼ 0).


Then I = 1 is small so integral action is “large”
For example, flow control
Kc: Assume variables are scaled with respect to their span
SMOOTH CONTROL
Summary: Tuning of easy loops




Easy loops: Small effective delay ( ¼ 0), so closedloop response time c (>> ) is selected for “smooth
control”
Flow control: Kc=0.5, I = 1 = time constant valve
(typically, 10s to 30s)
Level control: Kc=2 (and no integral action)
Other easy loops (e.g. pressure control): Kc = 2, I =
min(4c, 1)

Note: Often want a tight pressure control loop (so may have
Kc=10 or larger)
Kc: Assume variables are scaled with respect to their span
LEVEL CONTROL
More on level control


Level control often causes problems
Typical story:






Level loop starts oscillating
Operator detunes by decreasing controller gain
Level loop oscillates even more
......
???
Explanation: Level is by itself unstable and
requires control.
LEVEL CONTROL
Integrating process: Level control
q
V
• Level control problem has
LC
– y = V, u = qout, d=q
• Model of level: V(s) = (q - qout)/s
– G(s)=k’/s, Gd(s)= -k’/s (with k’=1)
• Apply PI-control: u = c(s) (ys-y); c(s) = Kc(1+1/Is)
• Closed-loop response to input disturbance:
y/d = gd / (1+gc) = I s / (I/k’ s2 + Kc I s + Kc)
• The denominator can be rewritten on standard form
– (02 s2 + 2  0 s + 1) with 02 = I/k’¢Kc and 2  0 = I
– Algebra gives:
– To avoid oscillations we must require 1, or Kc¢k’ ¢I > 4
• The controller gain Kc must be large to avoid oscillations!
This is the basis
for the SIMC-rule
for the minimum
integral time
LEVEL CONTROL
How avoid oscillating levels?
• Simplest: Use P-control only (no integral action)
• If you insist on integral action, then make sure
the controller gain is sufficiently large
• If you have a level loop that is oscillating then
use Sigurds rule (can be derived):
To avoid oscillations, increase Kc ¢I by factor
f=0.1¢(P0/I0)2
where
P0 = period of oscillations [s]
I0 = original integral time [s]
LEVEL CONTROL
Case study oscillating level



We were called upon to solve a problem with
oscillations in a distillation column
Closer analysis: Problem was oscillating reboiler
level in upstream column
Use of Sigurd’s rule solved the problem
LEVEL CONTROL
Conclusion PID tuning
SIMC tuning rules
1. Tight control: Select c= corresponding to
2. Smooth control. Select Kc ¸
Note: Having selected Kc (or c), the integral time I should be
selected as given above
Cascade control
Tuning:
1. First tune TC
(based on response from V to T)
2. Close TC and tune CC
(based on response from Ts to xB)
Ts
Primary controller (CC)
sets setpoint to secondary
controller (TC).
TC
xB
CC
CC: Primary controller (“slow”):
TC: Secondary controller (“fast”):
y1 = xB (“original” CV),
y2 = T (CV),
u1 = y2s (MV)
u2 = V (“original” MV)
Tuning of cascade controllers
• Want to control y1 (primary CV), but have “extra” measurement y2
• Idea: Secondary variable (y2) may be tightly controlled and this
helps control of y1.
• Implemented using cascade control: Input (MV) of “primary”
controller (1) is setpoint (SP) for “secondary” controller (2)
• Tuning simple: Start with inner secondary loops (fast) and move
upwards
• Must usually identify new model experimentally after closing each
loop.
• One exception: Serial process with “original” input (u) and outputs
(y1) at opposite ends of the process, and y2 in the middle.
– Inner (secondary-2) loop may be modelled with gain=1 and effective
delay=(c+2
Cascade control serial process
d=6
ys
K1
y2s
K2
u2
G2
y2
G1
y1
Cascade control serial process
d=6
ys
K1
y2s
K2
Without cascade
With cascade
u
G2
y2
G1
y1
Tuning cascade control: serial process

Inner fast (secondary) loop:




Outer slower primary loop:


Reduced effective delay (2 s instead of 6 s)
Time scale separation


P or PI-control
Local disturbance rejection
Much smaller effective delay (0.2 s)
Inner loop can be modelled as gain=1 + 2*effective delay (0.4s)
Very effective for control of large-scale systems
CONTROLLABILITY
Controllability




(Input-Output) “Controllability” is the ability to
achieve acceptable control performance (with any
controller)
“Controllability” is a property of the process itself
Analyze controllability by looking at model G(s)
What limits controllability?
CONTROLLABILITY
Controllability
Recall SIMC tuning rules
1. Tight control: Select c= corresponding to
2. Smooth control. Select Kc ¸
Must require Kc,max > Kc.min for controllability
)
max. output deviation
initial effect of “input” disturbance
y reaches k’ ¢ |d0|¢ t after time t
y reaches ymax after t= |ymax|/ k’ ¢ |d0|
CONTROLLABILITY
Controllability
• More general disturbances. Requirement
becomes (for c=):
Following step
disturbance d0:
Time it takes for output y
to reach max. deviation
• Conclusion: The main factors limiting
controllability are
– large effective delay from u to y ( large)
– large disturbances (k’d |d0| / ymax large)
• Can generalize using “frequency domain”:
|Gd(j¢0.5/max)| ¢|d0| = |ymax|
CONTROLLABILITY
Example: Distillation column
Response to 20% increase in feed rate (disturbance) with no control
-3
16
x 10
Data for “column A”
Product purities:
xD = 0.99 § 0.002, xB =0.01 § 0.005
(mole fraction light component)
Small reboiler holdup, MB/F = 0.5 min
14
12
xB(t)
10
8
6
ymax=0.005
4
xD(t)
2
0
-2
0
1
2
3
4
5
6
7
8
9
10
time [min]
Max. delay in feedback
loop, max = 3/2 = 1.5 min
time to exceed bound = ymax/k’d |d| = 3 min
Controllability: Must close a loop with time constant (c) faster than 1.5 min to
avoid that bottom composition xB exceeds max. deviation
If this is not possible: May add tank (feed tank?, larger reboiler volume?)
to smooth disturbances
CONTROLLABILITY
Example: Distillation column
Increase reboiler holdup to MB/F = 10 min
Original holdup
-3
16
x 10
-3
16
14
Larger holdup
14
xB(t)
12
10
12
10
8
8
6
6
4
4
2
2
0
0
-2
x 10
0
1
2
3
3 min
4
5
6
7
8
9
10
-2
xB(t)
0
1
2
3
4
5
6
5.8 min
7
8
9
10
time [min]
With increased holdup: Max. delay in feedback loop: = 2.9 min
CONTROLLABILITY
Distillation example: Frequency
domain analysis
Frequency-dependent gains |Gd(j)|
Column A with small reboiler holdup.
LV-configuration
1
10
Effect of F on xB
zF on xB
0
10
max
-1
10
-3
10
-2
10
10
-1
0
10
1
10
Frequency where |Gd(j)| for feed disturbance crosses 0.5 (max):  d = 0.3 min-1
) Need response time c · max = 0.5/ d = 1.7 min
Agrees with previous result (1.5 min)
CONTROLLABILITY
Other factors limiting controllability


Input limitations (saturation or “slow valve”): Can
sometimes limit achievable speed of response
Unstable process (including levels): Need
feedback control for stabilization
) Makes sure inputs do not saturate in stabilizing loops