540 likes | 561 Views
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
E N D
PID Tuning and ControllabilitySigurd SkogestadNTNU, 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 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¸
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 Need a model for tuning
Step response experiment • Make step change in one u (MV) at a time • Record the output (s) y (CV)
RESULTING OUTPUT y (CV) k’=k/1 STEP IN INPUT u (MV) Step response experiment First-order plus delay process : 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 • 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 time ¼ 1 (may be neglected for c > 5) c = desired response time
“Integrating process” (c < 5 1): Need only two parameters: k’ and From step response: Example. Step change in u: u = 0.1 Initial value for y: y(0) = 2.19 Observed delay: = 2.5 min At T=10 min: y(T)=2.62 Initial slope: Response on stage 70 to step in L y(t) 2.62-2.19 7.5 min =2.5 t [min]
First-order with delay process (c > 51) • Need 3 parameters: • Delay • 2 of the following: k, k’, 1 (Note relationship k’ = k/1) • Example: BOTTOM V: -0.5 • First-order model: • = 0 • k= (0.134-0.1)/(-0.5) = -0.068 (steady-state gain) • 1= 16 min (63% of change) • Gives k’ = 0.068/16 = 0.00425 • (could alternatively find k’ by observing the initial response) 63% xB 16 min
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 ()
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 Model reduction of more complicated model
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: Derivation of SIMC-PID tuning rules
Basis: Direct synthesis (IMC) Closed-loop response to setpoint change Idea: Specify desired response (y/ys)=T and from this get the controller. Algebra:
d u y c g 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 response Try reducing it!
I = 1 Reduce I to this value: I = 4 (c+) = 8 Integral Time
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 • Tight control: Want “fastest possible control” subject to having good robustness • Smooth control: Want “slowest possible control” subject to having acceptable disturbance rejection
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 • 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
SMOOTH CONTROL Will derive Kc,min. From this we can get c,max using SIMC tuning rule 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?
SMOOTH CONTROL Closed-loop disturbance rejection d0 -d0 ymax -ymax =|u0|
Kc u SMOOTH CONTROL 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 (span) 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 q LC V Application of smooth control • Averaging level control 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 closed-loop 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(4c, 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
LEVEL CONTROL How avoid oscillating levels?
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
ys y2 y2s u2 G2 G1 K1 K2 y1 Cascade control serial process d=6
ys y2 y2s u G2 G1 K1 K2 y1 Without cascade With cascade Cascade control serial process d=6
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