tuning by linzhengnd

VIEWS: 26 PAGES: 59

• pg 1
```									   PID Tuning

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 reduction of more
complicated model

   Want to get a simplified model on the form

   Most important parameter is usually the “effective” delay

Example

Half rule
half rule
original

1st-order+delay

2nd-order+delay
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:

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
u                     y
c                g

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 
Integral time

   Want to reduce the integral time for “integrating”
processes, but to avoid “slow oscillations” we must
require:

   Derivation:
Conclusion: SIMC-PID Tuning Rules

One tuning parameter: c
Some insights from tuning rules

1.   The effective delay θ (which limits the achievable
closed-loop time constant τ2/2 ) is independent of
the dominant process time constant τ1
   It depends on τ2/2 (PI) or τ3/2 (PID)
2.   Use (close to) P-control for integrating process
   Beware of large I-action (small τI) for level control
3.   Use (close to) I-control for time delay process
Some special cases

One tuning parameter: c
Another special case: IPZ process

   IPZ-process may represent response from steam flow to pressure

   Rule T2:
   SIMC-tunings

These tunings turn out to be almost identical to the tunings given on page 104-106 in the Ph.D.
thesis by O. Slatteke, Lund Univ., 2006 and K. Forsman, "Reglerteknik for processindustrien",
Studentlitteratur, 2005.
Note: Derivative action is commonly used for temperature control loops.
Select D equal to 2 = time constant of temperature sensor
Selection of tuning parameter c
Two main cases
TIGHT CONTROL:
1. TIGHT CONTROL:           Want “fastest possible
control” subject to having good robustness
•   Want tight control of active constraints (“squeeze and shift”)
2.   SMOOTH CONTROL:
SMOOTH CONTROL: Want “slowest possible
control” subject to acceptable disturbance rejection
•   Want smooth control if fast setpoint tracking is not required, for
example, levels and unconstrained (“self-optimizing”) variables

•    THERE ARE ALSO OTHER ISSUES: Input
saturation etc.
TIGHT CONTROL
TIGHT CONTROL

Typical closed-loop SIMC responses with the choice c=
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
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 step disturbance = 1 at input
SMOOTH CONTROL LEVEL CONTROL

Application of smooth control
   Averaging level control
q           V
If you insist on integral action
LC
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.
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
LC
• Level control problem has
– 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
This is the basis
– (02 s2 + 2  0 s + 1) with 02 = I/k’¢Kc and 2  0 = I        for the SIMC-rule
– Algebra gives:                                                     for the minimum
integral time
– To avoid oscillations we must require 1, or Kc¢k’ ¢I > 4
• The controller gain Kc must be large to avoid oscillations!
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]
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
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 closed-
loop response time c (>> ) is selected for “smooth
control”
   ASSUME VARIABLES HAVE BEEN SCALED
WITH RESPECT TO THEIR SPAN SO THAT
|u0/ymax| = 1 (approx.).
   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)
Selection of c: Other issues
   Input saturation.
   Problem. Input may “overshoot” if we “speedup” the
response too much (here “speedup” = /c).
   Solution: To avoid input saturation, we must obey max
“speedup”:
A little more on obtaining the model
from step response experiments
1 ¼ 200
(may be neglected for c < 40)
   “Factor 5 rule”: Only dynamics
within a factor 5 from “control                           0.9954

time scale” (c) are important                            0.9953

0.9953

0.9952
   Integrating process (1 = 1)                              0.9952
Time constant 1 is not important if it is much larger
than the desired response time c. More               0.9951
precisely, may use                                    0.9951

0.995
1 =1 for 1 > 5 c
0.995

0.9949
0       10      20    30     40     50     60
time
   Delay-free process (=0)                                            ¼1
Delay  is not important if it is much smaller than                (may be neglected for c > 5)
the desired response time c. More precisely,
may use                                                        c = desired response time
 ¼ 0 for  < c/5
   “Integrating process” (c < 0.2 1):
   Need only two parameters: k’ and 
   From step response:

Example.                                          Response on stage 70 to step in L
2.8

Step change in u:      u = 0.1          2.7
Initial value for y:   y(0) = 2.19
2.6
Observed delay:         = 2.5 min
At T=10 min:           y(T)=2.62         2.5
Initial slope:                                                     y(t)
2.4
2.62-2.19

2.3
7.5 min
2.2
=2.5
t [min]
2.1
0           2     4        6        8         10
First-order with delay process (c > 0.2 1)
   Need 3 parameters:
 Delay 

 2 of the following: k, k’, 1 (Note relationship k’ = k/1)

   Example:
BOTTOM V: -0.5
0.14

0.135                                               First-order model:
0.13                                                 = 0
k= (0.134-0.1)/(-0.5) = -0.068 (steady-state gain)
63%   0.125

xB                             1= 16 min (63% of change)
0.12

0.115

0.11
Gives k’ = 0.068/16 = 0.00425
(could alternatively find k’ by observing the initial
0.105
response)
0.1

0.095       16 min
0      50     100   150   200   250   300
Step response experiment: How
long do we need to wait?
   RULE: May stop at about 10 times of effective delay

   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 ()
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
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
TC                             Primary controller (CC)
sets setpoint to secondary
controller (TC).

xB
CC

CC: Primary controller (“slow”):     y1 = xB (“original” CV),        u1 = y2s (MV)
TC: Secondary controller (“fast”):   y2 = T (CV),                    u2 = V (“original” MV)
• Want to control y 1 (primary CV), but have “extra” measurement y 2
• Idea: Secondary variable (y 2) 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)
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 y 2 in the middle.
– Inner (secondary-2) loop may be modelled with gain=1 and effective
delay=(c+2
d=6

ys        y2s        u2        y2
K1         K2        G2         G1
y1
d=6

ys         y2s           u        y2
K1             K2       G2         G1
y1

   Inner fast (secondary) loop:
   P or PI-control
   Local disturbance rejection
   Much smaller effective delay (0.2 s)

   Outer slower primary loop:
   Reduced effective delay (2 s instead of 6 s)

   Time scale separation
   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 d 0:
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
x 10
16

14
Data for “column A”
12                                                        Product purities:
xD = 0.99 § 0.002, xB =0.01 § 0.005
10
xB(t)                 (mole fraction light component)
8                                                        Small reboiler holdup, MB/F = 0.5 min
6       ymax=0.005
4

2
xD(t)
0

-2
Max. delay in feedback
loop, max = 3/2 = 1.5 min
0         1   2   3   4   5    6   7   8    9   10

time [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

x 10
-3       Original holdup                              x 10
-3   Larger holdup
16                                                        16

14                                                        14

xB(t)
12                                                        12

10                                                        10

8                                                        8
xB(t)
6                                                        6

4                                                        4

2                                                        2

0                                                        0

-2                                                        -2
0        1    2   3   4    5    6   7   8   9   10        0        1   2   3   4   5   6   7   8    9   10

3 min                                                             5.8 min             time [min]

With increased holdup: Max. delay in feedback loop: = 2.9 min

```
To top