PID Tuning using the SIMC rules Sigurd Skogestad NTNU, Trondheim, Norway.

Post on 17-Jan-2016

244 views 2 download

Transcript of PID Tuning using the SIMC rules Sigurd Skogestad NTNU, Trondheim, Norway.

PID Tuning using the SIMC rules

Sigurd SkogestadNTNU, Trondheim, Norway

PID controller

Time domain

Laplace domain

Only two parameters (Kc and τI)… but surprisingly difficult to tune without systematic

approach

e

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 responseInitial 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 ¸ - : 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

Step response experiment

k’=k/1

STEP IN INPUT u (MV)

RESULTING OUTPUT y (CV)

Delay - Time where output does not change1: Time constant - Additional time to reach 63% of final changek : steady-state gain = y(1)/ u k’ : slope after response “takes off” = k/1

Step response integrating process

Δy

Δt

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 the “effective” delay

Example 1

Half rule

half rule

half rule

2

original

1st-order+delay

2nd-order+delay

Approximation of zeros

Correction: More generally replace θ by τc in the above rules

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:

IMC Tuning = Direct Synthesis Algebra:

Integral time Found: Integral time = dominant time constant (I = 1) Works well for setpoint changes Needs to be modified (reduced) for integrating disturbances

Example. “Almost-integrating process” with disturbance at input:G(s) = e-s/(30s+1)

Original integral time I = 30 gives poor disturbance responseTry reducing it!

gc

d

yu

Integral TimeI = 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 rules1. The effective delay θ (which limits the achievable closed-loop

time constant τc) 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 fast process (with small time

constant τ1)

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

Quiz: SIMC PI-tunings

The Figure shows the response (y) from a test where we made a step change in the input (Δu = 0.1) at t=0. Suggest PI-tunings for (1) τc=2,. (2) τc=10

t [s]

y

Step response

y

Time t

Solution

Actual plant: g = 0.35*(50*s+1)/((4*s+1)*(75*s+1)*(3*s+1)*(0.3*s+1))*exp(-0.2*s);

OUTPUT y INPUT uTunings from Step responseSetpoint change at t=0, input disturbance = 0.1 at t=50

Tunings from Half rule (Somewhat better)

Kc=9.5, tauI=10

Kc=2.9, tauI=10

Kc=2, tauI=5.5

Kc=6, tauI=5.5

Selection of tuning parameter cTwo main cases1. TIGHT CONTROL: Want “fastest possible

control” subject to having good robustness• Want tight control of active constraints (“squeeze and shift”)

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

SMOOTH 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.148Get 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.028Get 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

TIGHT CONTROL

Tuning for smooth control

Will derive Kc,min. From this we can get c,max using SIMC tuning rule

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?

Closed-loop disturbance rejection d0

ymax

-d0

-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

Minimum controller gain is then

Minimum gain for smooth control )Common default factory setting Kc=1 is reasonable !

SMOOTH CONTROL

(span)

Example

Does not quite reach 1 because d isstep disturbance (not not sinusoid)

Response to step disturbance = 1 at input

c is much larger than =0.25

SMOOTH CONTROL

Application of smooth control Averaging level control

VqLC

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 timeprovided tank is nominally half full and q0 is equal to the nominal flow.

SMOOTH CONTROL LEVEL CONTROL

If you insist on integral actionthen this value avoids cycling

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

LEVEL CONTROL

• 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

– (02 s2 + 2 0 s + 1) with 0

2 = 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!

VqLC

VqLC

qLC

This is the basis for the SIMC-rule for the minimumintegral time

How avoid oscillating levels?

LEVEL CONTROL

• 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

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

LEVEL 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

SMOOTH CONTROL

Kc: Assume variables are scaled with respect to their span

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

SMOOTH CONTROL

Conclusion PID tuningSIMC 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

3. Derivative time: Only for dominant second-order processes

Some discussion points

Selection of τc: some other issues Obtaining the model from step responses: How

long should we run the experiment? Cascade control: Tuning Controllability implications of tuning rules

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

0 10 20 30 40 50 600.9949

0.995

0.995

0.9951

0.9951

0.9952

0.9952

0.9953

0.9953

0.9954

¼ 1(may be neglected for c > 5)

1 ¼ 200(may be neglected for c < 40)

time

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: = min (, 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:

0 2 4 6 8 102.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8Response on stage 70 to step in L

7.5 min

2.62-2.19

Example.

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

y(t)

t [min]

Example (from quiz)

Assume integrating process, theta=1.5; k’ = 0.03/(0.1*11.5)=0.026 SIMC-tunings tauc=2: Kc=11, tauI=14 (OK) SIMC-tunings tauc=10: Kc=3.3, tauI = 46 (too long because process is not actually

integrating on this time scale!)

tauc=2

tauc=10

OUTPUT y INPUT y

Step responseΔu=0.1

Cascade control

CC

TCTs

xB

CC: Primary controller (“slow”): y1 = xB (“original” CV), u1 = y2s (MV)TC: Secondary controller (“fast”): y2 = T (CV), u2 = V (“original” MV)

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)

Primary controller (CC)sets setpoint to secondary controller (TC).

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+

Cascade control serial process

d=6

G1u2

y1

K1

ys G2K2

y2y2s

Cascade control serial process d=6

Without cascade

With cascade

G1u

y1

K1

ys G2K2

y2y2s

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

A comment on 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

Recall SIMC tuning rules

1. Tight control: Select c= corresponding to

2. Smooth control. Select Kc ¸

Must require Kc,max > Kc.min for controllability

)

Controllability

initial effect of “input” disturbance

max. output deviation

y reaches k’ ¢ |d0|¢ t after time ty reaches ymax after t= |ymax|/ k’ ¢ |d0|

CONTROLLABILITY

ControllabilityCONTROLLABILITY

• More general disturbances. Requirement becomes (for c=):

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

Following step disturbance d0:Time it takes for output yto reach max. deviation

Example: Distillation column

CONTROLLABILITY

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

0

2

4

6

8

10

12

14

16x 10

-3

time [min]

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

xB(t)

xD(t)

ymax=0.005

time to exceed bound = ymax/k’d |d| = 3 min

Controllability: Must close a loop with time constant (c) faster than 1.5 min toavoid that bottom composition xB exceeds max. deviationIf this is not possible: May add tank (feed tank?, larger reboiler volume?) to smooth disturbances

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

Max. delay in feedbackloop, max = 3/2 = 1.5 min

Example: Distillation column

CONTROLLABILITY

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

0

2

4

6

8

10

12

14

16x 10

-3

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

0

2

4

6

8

10

12

14

16x 10

-3

time [min]

Increase reboiler holdup to MB/F = 10 min

xB(t)

3 min 5.8 min

xB(t)

Original holdup Larger holdup

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

Conclusion controllability If the plant is not controllable then improved

tuning will not help Alternatives

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