Vous êtes sur la page 1sur 59

PID Tuning

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

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

c 0: desired closed-loop response time (tuning parameter) For robustness select: c

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

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

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) Beware of large I-action (small I) for level control

2.

Use (close to) P-control for integrating process

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 1. TIGHT CONTROL: Want fastest possible TIGHT CONTROL: control subject to having good robustness

Want tight control of active constraints (squeeze and shift)

2.

SMOOTH CONTROL: Want slowest possible SMOOTH CONTROL: 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 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.

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

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
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.

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 Level control problem has Model of level: V(s) = (q - qout)/s
G(s)=k/s, Gd(s)= -k/s (with k=1) y = V, u = qout, d=q

V
LC

Apply PI-control: u = c(s) (ys-y); c(s) = Kc(1+1/Is) Closed-loop response to input disturbance: The denominator can be rewritten on standard form
(02 s2 + 2 0 s + 1) with 02 = I/kKc and 2 0 = I Algebra gives: y/d = gd / (1+gc) = I s / (I/k s2 + Kc I s + Kc)
This is the basis for the SIMC-rule for the minimum integral time

The controller gain Kc must be large to avoid oscillations!

To avoid oscillations we must require 1, or Kck I > 4

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 Sigurds 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 closedloop 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.2, I = 1 = time constant valve (typically, 2 to 10s) Level control: Kc=2 (and no integral action) Other easy loops (e.g. pressure control): Kc = 2, I = min(4c, 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

Factor 5 rule: Only dynamics within a factor 5 from control time scale (c) are important Integrating process (1 = 1)

1 200 (may be neglected for c < 40)


0.9954 0.9953 0.9953 0.9952 0.9952 0.9951 0.9951 0.995 0.995 0.9949 0 10 20 30 40 50 60 time

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

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

1 (may be neglected for c > 5)

c = desired response time

Step response experiment: How long do we need to wait?

RULE: May stop at about 10 times 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 ()

Integrating process (c < 0.2 1):

Need only two parameters: k and

From step response:

Example. Step change in u: Initial value for y: Observed delay: At T=10 min: Initial slope: u = 0.1 y(0) = 2.19 = 2.5 min y(T)=2.62

Response on stage 70 to step in L

2.8 2.7 2.6 2.5

y(t)
2.4 2.3
7.5 min 2.62-2.19

2.2 2.1 0

=2.5
2 4 6

t [min]
8 10

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

TC

Primary controller (CC) sets setpoint to secondary controller (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 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) 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 outp uts (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

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

G2

y2

G1

y1

Without cascade

With cascade

Tuning cascade control: serial process

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 (kd |d0| / ymax large)

Can generalize using frequency domain: |Gd(j0.5/max)| |d0| = |ymax|

CONTROLLABILITY

Example: Distillation column


Response to 20% increase in feed rate (disturbance) with no control
-3

16 14 12 10 8 6 4 2 0 -2

x 10

xB(t) ymax=0.005 xD(t)


0 1 2 3 4 5 6 7 8 9 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

time [min]
time to exceed bound = ymax/kd |d| = 3 min

Max. delay in feedback loop, max = 3/2 = 1.5 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
-3

16 14 12 10 8 6 4 2 0 -2

x 10

Original holdup
16 14

-3

x 10

Larger holdup

xB(t)

12 10 8 6 4 2 0 -2

xB(t)

10

10

3 min

5.8 min

time [min]

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

Conclusion controllability

1.

If the plant is not controllable then improved tuning will not help Alternatives
Change the process design to make it more controllable

Better self-regulation with respect to disturbances, e.g. insulate your house to make y=Tin less sensitive to d=Tout.

2.

Give up some of your performance requirements

Vous aimerez peut-être aussi