# Tuning of PID controllers

## Presentation on theme: "Tuning of PID controllers"— Presentation transcript:

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 One tuning rule! Easily memorized References: (1) S. Skogestad, “Simple analytic rules for model reduction and PID controller design”, J.Proc.Control, Vol. 13, , 2003 (2) S. Skogestad, Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23), (2006). (*) “Probably the best simple PID tuning rules in the world” k’ = k/τ1 = initial slope step response c ≥ 0: desired closed-loop response time (tuning parameter) For robustness select (1) : c ¸  (gives Kc ≤ Kc,max) For acceptable disturbance rejection select (2) : Kc ≥ Kc,min = ud0/ymax

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

half rule

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 T = (y/ys)desired 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 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

Example: Integral time for “slow”/integrating process
IMC rule: I = 1 =30 Reduce I to improve performance. This value just avoids slow oscillations: I = 4 (c+) = 8  (see derivation next page)

Derivation integral time: Avoiding slow oscillations for integrating process
. Integrating process: 1 large Assume 1 large and neglect delay : G(s) = k e- s /(1 s + 1) ¼ k/(1s) = k’/s PI-control: C(s) = Kc (1 + 1/I s) Poles (and oscillations) are given by roots of closed-loop polynomial 1+GC = 1 + k’/s ¢ Kc ¢ (1+1/Is) = 0 or I s2 + k’ Kc I s + k’ Kc = 0 Can be written on standard form (02 s2 + 2  0 s + 1) with To avoid oscillations must require ||¸ 1: Kc ¢ k’ ¢ I ¸ 4 or I ¸ 4 / (Kc k’) With choice Kc = (1/k’) (1/(c+)) this gives I ¸ 4 (c+) Conclusion integrating process: Want I small to improve performance, but must be larger than 4 (c+) to avoid slow oscillations

Summary: 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 (1) S. Skogestad, “Simple analytic rules for model reduction and PID controller design”, J.Proc.Control, Vol. 13, , 2003 Smooth control: Want “slowest possible control” subject to having acceptable disturbance rejection (2) S. Skogestad, Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23), (2006).

(1) TIGHT CONTROL

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=0 Input disturbance at t=20

TIGHT CONTROL Approximate as first-order model with k=1, 1 = 1+0.1=1.1, = = 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.22, = = 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 (1) 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? (2) Will derive Kc,min. From this we can get c,max using SIMC tuning rule

Closed-loop disturbance rejection
SMOOTH CONTROL Closed-loop disturbance rejection d0 -d0 ymax -ymax

u Kc SMOOTH CONTROL Minimum controller gain for PI-and PID-control:
Kc ¸ Kc,min = |ud0|/|ymax| |ud0|: Input magnitude required for disturbance rejection |ymax|: Allowed output deviation

Common default factory setting Kc=1 is reasonable !
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 !

Example SMOOTH CONTROL Response to disturbance = 1 at input
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

Application of smooth control
LEVEL CONTROL 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. Derivation of tunings: Minimum controller gain for acceptable disturbance rejection: Kc ¸≥ Kc,min = |ud0|/|ymax| Where in our case |ud0| = |q0| expected flow change [m3/s] (input disturbance) |ymax| = |Vmax| - largest allowed variation in level [m3] Integral time: From the material balance (dV/dt = q – qout), the model is g(s)=k’/s with k’=1. Select Kc=Kc,min = |q0| |Vmax| . SIMC-Integral time for integrating process: I = 4 / (k’ Kc) = 4 |Vmax| / |q0| = 4 ¢ residence time provided tank is nominally half full (so |Vmax| = V) and q0 is equal to the nominal flow.

Rule: Kc ¸ |ud0|/|ymax| ( ~1 in scaled variables)
SMOOTH CONTROL Rule: Kc ¸ |ud0|/|ymax| ( ~1 in scaled variables) Exception to rule: Can have even smaller Kc (< 1) if disturbances are handled by the integral action. Happens when c > I = 1 Applies to: Process with short time constant (1 is small) For example, flow control Kc: Assume variables are scaled with respect to their span

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” 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) Kc: Assume variables are scaled with respect to their span

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.

Integrating process: Level control

How avoid oscillating levels?
LEVEL CONTROL How avoid oscillating levels? Actually, 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

Identifying the model

Model identification from step response
General: Need 3 parameters: Delay  2 of the following: k, k’, 1 (Note relationship k’ = k/1) Two approaches for obtaining 1: Initial response: ( + 1) is where initial slope crosses final steady-state (+1)= 63% of final steady state If disagree: Initial response is usually best, but to be safe use smallest value for 1 (“fast response”) as this gives more conservative PID-tunings 1 = 16 min for this case BOTTOM V: -0.5 xB 1=16 min / 19 min 63% k’ k

Model identification from step response
Generally need 3 parameters BUT For control: Dynamics at “control time scale” (c) are important “Slow” (integrating) process (c< 1/5): May neglect 1 and use only 2 parameters: k’ and  g(s) = k’ e- s / s “Delay-free” process (c > 5θ): Need only 2 parameters: k and 1 g(s) = k / (1 s+1) c = desired response time 1 ¼ 200,   1 c time c < τ1/5 = 40: “Integrating” (neglect τ1) c > 5θ = 5: “Delay-free” (neglect θ)

“Integrating” process (c < 1/5):
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) 7.5 min =2.5 t [min]

“Delay-free” process (c > 5 )
Example: BOTTOM V: -0.5 xB 16 min 63% First-order model: = 0 k= ( )/(-0.5) = (steady-state gain) 1= 16 min (63% of change)

Step response experiment: How long do we need to wait?
NORMALLY NO NEED TO RUN THE STEP EXPERIMENT FOR LONGER THAN ABOUT 10 TIMES THE EFFECTIVE DELAY ()

Conclusion PID tuning

G1 u2 y1 K1 ys G2 K2 y2 y2s

G1 u y1 K1 ys G2 K2 y2 y2s Without cascade With cascade

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

Example: Distillation column
CONTROLLABILITY Example: Distillation column

Example: Distillation column
CONTROLLABILITY Example: Distillation column

Distillation example: Frequency domain analysis
CONTROLLABILITY Distillation example: Frequency domain analysis

Other factors limiting controllability
Input limitations (saturation or “slow valve”): Can sometimes limit achievable speed of response Unstable process (including levels): Need feedback control for stabilization ) Makes sure inputs do not saturate in stabilizing loops