Practical plantwide process control: PID tuning Sigurd Skogestad, NTNU
Part 4: PID tuning PID controller tuning: It pays off to be systematic! 1. Obtaining first-order plus delay models Open-loop step response From detailed model (half rule) From closed-loop setpoint response 2 . Derivation SIMC PID tuning rules Controller gain, Integral time, derivative time 3. Special topics Integrating processes (level control) Other special processes and examples When do we need derivative action? Near-optimality of SIMC PID tuning rules Non PID-control: Is there an advantage in using Smith Predictor? (No) Feedforward control and Two degrees-of-freedom control
Operation: Decision and control layers RTO Min J (economics); MV=y1s cs = y1s CV=y1; MV=y2s MPC y2s PID CV=y2; MV=u u (valves)
PID controller Time domain (“ideal” PID) Laplace domain (“ideal”/”parallel” form) For our purposes. Simpler with cascade form Usually τD=0. Then the two forms are identical. Only two parameters left (Kc and τI) How difficult can it be to tune??? Surprisingly difficult without systematic approach!
Disadvantages Ziegler-Nichols: Aggressive settings No tuning parameter Trans. ASME, 64, 759-768 (Nov. 1942). Comment: Similar to SIMC for integrating process with ¿c=0 (aggressive!): Kc = 1/k’ 1/µ ¿I = 4 µ Disadvantages Ziegler-Nichols: Aggressive settings No tuning parameter Poor for processes with large time delay (µ)
Disadvantage IMC-PID (=Lambda tuning): Many rules Poor disturbance response for «slow» processes (with large ¿1/µ)
Motivation for developing SIMC PID tuning rules The tuning rules should be well motivated, and preferably be model-based and analytically derived. They should be simple and easy to memorize. They should work well on a wide range of processes.
SIMC PI tuning rule Approximate process as first-order with delay (e.g., use “half rule”) k = process gain ¿1 = process time constant µ = process delay Derive SIMC tuning rule*: Open-loop step response c ¸ - : Desired closed-loop response time (tuning parameter) Integral time rule combines well-known rules: IMC (Lamda-tuning): Same as SIMC for small ¿1 (¿I = ¿1) Ziegler-Nichols: Similar to SIMC for large ¿1 (if we choose ¿c= 0; aggressive!) 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”
MODEL 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 Recommend: Use second-order model only if ¿2>µ
1. Step response experiment MODEL, Approach 1A 1. Step response experiment Make step change in one u (MV) at a time Record the output (s) y (CV)
MODEL, Approach 1A Δy(∞) RESULTING OUTPUT y STEP IN INPUT u Δu : Delay - Time where output does not change 1: Time constant - Additional time to reach 63% of final change k = y(∞)/ u : Steady-state gain
Step response integrating process MODEL, Approach 1A Step response integrating process Δy Δt
MODEL, Approach 1B Shams’ method: Closed-loop setpoint response with P-controller with about 20-40% overshoot Kc0=1.5 Δys=1 Δy∞ OBTAIN DATA IN RED (first overshoot and undershoot), and then: tp=4.4, dyp=0.79; dyu=0.54, Kc0=1.5, dys=1 dyinf = 0.45*(dyp + dyu) Mo =(dyp -dyinf)/dyinf % Mo=overshoot (about 0.3) b=dyinf/dys A = 1.152*Mo^2 - 1.607*Mo + 1.0 r = 2*A*abs(b/(1-b)) %2. OBTAIN FIRST-ORDER MODEL: k = (1/Kc0) * abs(b/(1-b)) theta = tp*[0.309 + 0.209*exp(-0.61*r)] tau = theta*r 3. CAN THEN USE SIMC PI-rule Δyp=0.79 Δyu=0.54 tp=4.4 Example 2: Get k=0.99, theta =1.68, tau=3.03 Ref: Shamssuzzoha and Skogestad (JPC, 2010) + modification by C. Grimholt (Project, NTNU, 2010; see also PID-book 2012)
2. Model reduction of more complicated model MODEL, Approach 2 2. 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
MODEL, Approach 2
MODEL, Approach 2 Example 1 Half rule
MODEL, Approach 2 original 1st-order+delay
MODEL, Approach 2 2 half rule
MODEL, Approach 2 original 1st-order+delay 2nd-order+delay
Approximation of zeros MODEL, Approach 2 Approximation of zeros To make these rules more general (and not only applicable to the choice c=): Replace (time delay) by c (desired closed-loop response time). (6 places) c c c c c c Alternative and improved method for approximating zeros: Simple Analytic PID Controller Tuning Rules Revisited J Lee, W Cho, TF Edgar - Industrial & Engineering Chemistry Research 2014, 53 (13), pp 5038–5047
Derivation of SIMC-PID tuning rules SIMC-tunings Derivation of SIMC-PID tuning rules PI-controller (based on first-order model) For second-order model add D-action. For our purposes, simplest with the “series” (cascade) PID-form:
Basis: Direct synthesis (IMC) SIMC-tunings Basis: Direct synthesis (IMC) Closed-loop response to setpoint change Idea: Specify desired response: and from this get the controller. ……. Algebra:
SIMC-tunings NOTE: Setting the steady-state gain = 1 in T will result in integral action in the controller!
IMC Tuning = Direct Synthesis SIMC-tunings IMC Tuning = Direct Synthesis Algebra:
SIMC-tunings Integral time Found: Integral time = dominant time constant (I = 1) (IMC-rule) 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! g c d y u
Integral Time SIMC-tunings I = 1 Reduce I to this value: I = 4 (c+) = 8 Setpoint change at t=0 Input disturbance at t=20
SIMC-tunings Integral time Want to reduce the integral time for “integrating” processes, but to avoid “slow oscillations” we must require: Derivation: Setpoint response: Improve (get rid of overshoot) by “pre-filtering”, y’s = f(s) ys. Details: See www.nt.ntnu.no/users/skoge/publications/2003/tuningPID Remark 13 II
Conclusion: SIMC-PID Tuning Rules SIMC-tunings Conclusion: SIMC-PID Tuning Rules One tuning parameter: c
Cascade PID -> Ideal PID
SIMC-tunings
Selection of tuning parameter c SIMC-tunings Selection of tuning parameter c Two main cases TIGHT CONTROL: Want “fastest possible control” subject to having good robustness Want tight control of active constraints (“squeeze and shift”) 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 Typical closed-loop SIMC responses with the choice c=
Example. Integrating process with delay=1. G(s) = e-s/s. 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=0c Input disturbance at t=20
TIGHT CONTROL Approximate as first-order model: 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: 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
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 S. Skogestad, ``Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23), 7817-7822 (2006).
SMOOTH CONTROL Rule: Min. controller gain for acceptable disturbance rejection: Kc ¸ |ud|/|ymax| often ~1 (in span-scaled variables) |ymax| = allowed deviation for output (CV) |ud| = required change in input (MV) for disturbance rejection (steady state) = observed change (movement) in input from historical data
SMOOTH CONTROL Rule: Kc ¸ |ud|/|ymax| Exception to rule: Can have lower Kc 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). For example, flow control Then I = 1 is small so integral action is “large”
Summary: Tuning of easy loops 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.2, I = 1 = time constant valve (typically, 2 to 10s; close to pure integrating!) Level control: Kc=2 (and no integral action) Other easy loops (e.g. pressure): Kc = 2, I = min(4c, 1) Note: Often want a tight pressure control loop (so may have Kc=10 or larger)
Conclusion PID tuning 3. Derivative time: Only for dominant second-order processes
PID: More (Special topics) Integrating processes (level control) Other special processes and examples When do we need derivative action? Near-optimality of SIMC PID tuning rules Non PID-control: Is there an advantage in using Smith Predictor? (No) April 4-8, 2004 KFUPM-Distillation Control Course
1. Application of smooth control LEVEL CONTROL 1. Application of smooth control Averaging level control V q 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. Proof: 1. 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| = |q0| / |Vmax| 2. 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.
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: Can have both fast and slow oscillations Slow oscillations (Kc too low): P > 3¿I Fast oscillations (Kc too high): P < 3¿I Here: Consider the less common slow oscillations
How avoid oscillating levels? LEVEL CONTROL How avoid oscillating levels? 0.1 ¼ 1/2
Case study oscillating level 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
SIMC-tunings 2. Some special cases One tuning parameter: c
Another special case: IPZ process SIMC-tunings 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.
3. Derivative action? Note: Derivative action is commonly used for temperature control loops. Select D equal to 2 = time constant of temperature sensor
Pure time delay process: Minor improvement by adding D-action Optimal PI = I-control θ=1 Time delay process: Setpoint and disturbance responses same + input response same
Pure time delay process
) Two alternative “Improved SIMC”-rules Alt. 1. Improved PI-rule (iSIMC-PI): Add θ/3 to 1 Alt. 2. Improved PID-rule (iSIMC-PID): Add θ/3 to D iSIMC-PI and iSIMC-PID are identical for pure delay process (¿1=0) BUT in general: iSIMC-PID is better (1 > θ/3)
Example: Integrating process
4. Optimality of SIMC rules How good are the SIMC-rules compared to optimal PI/PID? High controller gain (“tight control”) Low controller gain (“smooth control”) Multiobjective. Tradeoff between Output performance Robustness Input usage Noise sensitivity Our choice: Quantification Output performance: Rise time, overshoot, settling time IAE or ISE for setpoint/disturbance Robustness: Ms, Mt, GM, PM, Delay margin, … Input usage: ||KSGd||, TV(u) for step response Noise sensitivity: ||KS||, etc. J = avg. IAE for setpoint/disturbance Ms = peak sensitivity
Performance (J):
Robustness (Ms):
JIAE vs. Ms for optimal PI/PID (-) and SIMC (¢¢) for 4 processes CONCLUSION: SIMC almost «Pareto-optimal» Note: “PID” weightings used for JIAE
5. Better with IMC, Smith Predictor or MPC? Suprisingly, the answer is: NO IMC and SP are actually worse than well-tuned PID Poor for integrating process Poor time delay margin SP = Smith Predictor
IMC controller (tuned for setpoints) The Smith Predictor Where K is a “normal” PID controller IMC controller (tuned for setpoints) = Special case of Smith Predictor where K is a PI controller with the parameters ¿1 > 0 ¿1 = 0 Kc = ¿1/(k ¿c) ¿I = ¿1 Kc =0 Ki = Kc/¿I = 1/¿c (I-controller)
Comparison of J vs. Ms for optimal and SIMC for 4 processes IMC and SP: Gets worse as process becomes integrating CONCLUSION: i-SIMC is generally better than IMC & SP!
Step responses with delay error time time time Smith Predictor and IMC: Sensitive to both positive and negative time delay error
Reason: SP & IMC can have multiple GM, PM, DM
CONCLUSION COMPARISON WITH SP & IMC Well-tuned PI or PID (using i-SIMC rules) is better than Smith Predictor or IMC!! Especially for integrating processes
6. Feedforward control Model: y = g u + gd d Measurement dm cff gdm Model: y = g u + gd d Measured disturbance: dm = gdm d Feedforward controller: u = cFF dm Get y = (g cFF gdm + gd) d Ideal feedforward: y = 0 ) cFF,ideal = - g-1 gd gdm-1 = - (gd / (gdm g) In practice: cFF(s) must be realizable Order pole polynomial ¸ order zero polynomial No prediction allowed (µ can not be negative) And must avoid that CFF has too high gain to avoid (to avoid aggressive input changes) Common simplification: cFF = k (static gain) General. Approximate cFF,ideal as :
When use feedforward? When feedback alone is not good For example, if the measurement of y has a long delay When the disturbance response (gd) is “slow” compared to the input response (g) cFF,ideal = - gd / (gdm g) is then realizable, and the feedforward has “more time” to take the right action For example, if gd has a larger delay than g (so that cFF,ideal has a delay) or if gd has a larger time constant than g
Example d2 d1 d1 d2
Example «Chicken factor»
Feedforward control (measure d1 & d2) d1: cff = -(20*s+1)/(2*s+1) d2: cff2 = -1 (not shown) d1 d2
Simulation feedforward 100 200 300 400 500 600 0.5 1 1.5 2 2.5 3 3.5 4 FEEDBACK ONLY y1 FEEDFORWARD ADDED FOR d1 and d2 Setpoint change d2 d1
Main problem feedforward: Need good models “If process gain increases by more than a factor 2, then ideal feedforward control is worse than no control” Proof: y = g u + gd d where u=cFF d Let cFF = - gd/g Ideal: Get y = g cFF d + gd d = 0 so term “g cFF d” is equal to “-gd d” Real: If g has increased by a factor x then y = x(-gd d) + gd d = (-x+1) gd d And we have that |-x+1|>1 (worse than no control) for x>2. Example, x=2.1, gd d=1, Ideal y = gd d = 1 Real: y = (-2.1+1)*1 = -1.1 (which is greater than 1 in magnitude, so y overshoots y by more than 1 on the other side)
7. Two degrees-of-freedom control Typically, the feedforward block is A = G--1Fr where G- is the invertible part of G. A typical choice for the prefilter is Fr = 1/(τrs+1) Example. G=(-3s+1)exp(-4s)/(7s+1)^2, Fv=1 (perfect measurement) and taur=2. Use “IMC-like” design and write G = G+ G- where G+=exp(-4s)(-3s+1)/(3s+1) and G-=(3s+1)/(7s+1)^2. Gives A = (7s+1)^2/(3s+1)(2s+1) We want to choose B such that A and K can be designed independently!! Solution (Lang and Ham ,1955): Choose B=FyGA so that transfer function from r to e is zero (with perfect model) !! The feedback will then only take action if the feedforward is not working as expected (due to model error). We must have B(0)=I so that we will have no offset (y=r at steady state) even with model error for G Example. B(s) = FyGA = FyG+Fr = exp(-4s)(-3s+1)/(3s+1)(2s+1). Note that B(0)=1. The feedback controller K can be designed for disturbance rejection and robustness, e.g., using SIMC rules. Example. Approximate as first-order with delay process with theta=4+3+7/2=10.5 and tau1=7+7/2=10.5, and use SIMC! With tauc=theta get Kc=0.5 and taui=10.5.