tuning_long

advertisement
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
One tuning rule! Easily memorized
•
•
k’ = k/τ1 = initial slope step response
c ≥ 0: desired closed-loop response time (tuning parameter)
For robustness select (1) : c ¸ 
(gives Kc ≤ Kc,max)
For acceptable disturbance rejection select (2) : Kc ≥ Kc,min = ud0/ymax
References:
(1) S. Skogestad, “Simple analytic rules for model reduction and PID controller design”, J.Proc.Control, Vol. 13, 291-309, 2003
(2) S. Skogestad, ``Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23), 7817-7822
(2006).
(*) “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 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
T = (y/ys)desired
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!
Example: Integral time for “slow”/integrating process
IMC rule:
I = 1 =30
Reduce I to improve
performance. This value
just avoids slow oscillations:
I = 4 (c+) = 8 
(see derivation next page)
Derivation integral time:
Avoiding slow oscillations for integrating process
.


Integrating process: 1 large
Assume 1 large and neglect delay :



PI-control: C(s) = Kc (1 + 1/I s)
Poles (and oscillations) are given by roots of closed-loop polynomial




1+GC = 1 + k’/s ¢ Kc ¢ (1+1/Is) = 0
or I s2 + k’ Kc I s + k’ Kc = 0
Can be written on standard form (02 s2 + 2  0 s + 1) with
To avoid oscillations must require ||¸ 1:



G(s) = k e- s /(1 s + 1) ¼ k/(1s) = k’/s
Kc ¢ k’ ¢ I ¸ 4 or I ¸ 4 / (Kc k’)
With choice Kc = (1/k’) (1/(c+)) this gives I ¸ 4 (c+)
Conclusion integrating process: Want I small to improve performance, but must
be larger than 4 (c+) to avoid slow oscillations
Summary: 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.
(1) S. Skogestad, “Simple analytic rules for model reduction and PID controller design”, J.Proc.Control, Vol. 13, 291309, 2003
Smooth control: Want “slowest possible control”
subject to having acceptable disturbance rejection
•
(2) S. Skogestad, ``Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23),
7817-7822 (2006).
(1) 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
(2) SMOOTH CONTROL
Tuning for smooth control

Tuning parameter: c = desired closed-loop response time

(1) 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?
(2) 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
SMOOTH CONTROL
Kc
u
Minimum controller gain for PI-and PID-control:
Kc ¸ Kc,min = |ud0|/|ymax|
|ud0|: 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.
Derivation of tunings:
Minimum controller gain for acceptable disturbance rejection:
Kc ¸≥ Kc,min = |ud0|/|ymax|
Where in our case
|ud0| = |q0| - expected flow change [m3/s] (input disturbance)
|ymax| = |Vmax| - largest allowed variation in level [m3]
Integral time:
From the material balance (dV/dt = q – qout), the model is g(s)=k’/s with k’=1.
Select Kc=Kc,min = |q0| |Vmax| . SIMC-Integral time for integrating process:
I = 4 / (k’ Kc) = 4 |Vmax| / |q0|
= 4 ¢ residence time
provided tank is nominally half full (so |Vmax| = V) and q0 is equal to the nominal flow.
SMOOTH CONTROL
Rule: Kc ¸ |ud0|/|ymax|
( ~1 in scaled variables)

Exception to rule: Can have even smaller Kc (< 1)
if disturbances are handled by the integral action.



Happens when c > I = 1
Applies to: Process with short time constant (1 is small)
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]
Actually, 0.1 = 1/π2
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
Identifying the model
Model identification from step
response


General: Need 3 parameters:

Delay 

2 of the following: k, k’, 1
(Note relationship k’ = k/1)
Two approaches for obtaining 1:
1.
2.

1 = 16 min for this case
k’
0.14
k
0.135
0.13
63%
Initial response: ( + 1) is where
initial slope crosses final steadystate
(+1)= 63% of final steady state
If disagree: Initial response is
usually best, but to be safe use
smallest value for 1 (“fast
response”) as this gives more
conservative PID-tunings

BOTTOM V: -0.5
0.125
xB
0.12
0.115
0.11
0.105
0.1
0.095
1=16 min / 19 min
0
50
100
150
200
250
300
Model identification from step
response
0.9954

Generally need 3 parameters
0.9953
0.9953
0.9952

BUT For control: Dynamics at “control
time scale” (c) are important
c = desired response time

“Slow” (integrating) process (c< 1/5):
May neglect 1 and use only 2
parameters: k’ and 


g(s) = k’ e- s / s
“Delay-free” process (c > 5θ): Need
only 2 parameters: k and 1

g(s) = k / (1 s+1)
0.9952
0.9951
1 ¼ 200, 
0.9951
0.995
c
0.995
0.9949
0
1
10
20
30
40
50
60
time
c < τ1/5 = 40: “Integrating” (neglect τ1)
c > 5θ = 5: “Delay-free” (neglect θ)

“Integrating” process (c < 1/5):


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
“Delay-free” process (c > 5 )

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
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?

NORMALLY NO NEED TO RUN THE STEP
EXPERIMENT FOR LONGER THAN ABOUT 10 TIMES
THE EFFECTIVE DELAY ()
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
(“exception”)
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
Download