pid tuning using the simc rules sigurd skogestad€¦ · step response experiment k’=k/ 1 step in...
TRANSCRIPT
PID Tuning using the SIMC rules
Sigurd SkogestadNTNU, Trondheim, Norway
September 2008
1. Model2. SIMC-tunings3. Tight control4. Smooth control5. Level control6. Discussion points
Operation: Decision and control layers
cs = y1s
MPC
PID
y2s
RTO
u (valves)
CV=y1; MV=y2s
CV=y2; MV=u
Min J (economics); MV=y1s
Stepwise procedure plantwide control
I. TOP-DOWNStep 1. DEGREES OF FREEDOMStep 2. OPERATIONAL OBJECTIVES Step 3. WHAT TO CONTROL? (primary CV’s c=y1)Step 4. PRODUCTION RATE
II. BOTTOM-UP (structure control system):Step 5. REGULATORY CONTROL LAYER (PID)
“Stabilization”What more to control? (secondary CV’s y2)
Step 6. SUPERVISORY CONTROL LAYER (MPC)Decentralization
Step 7. OPTIMIZATION LAYER (RTO)Can we do without it?
PID controller
Time domain (“ideal” PID)
Laplace domain (“ideal”/”parallel” form)
Usually τD=0. Only two parameters left (Kc and τI)… How difficult can it be???
Surprisingly difficult 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 (Also reprinted in MIC)
(*) “Probably the best simple PID tuning rules in the world”
c ≥ - : desired closed-loop response time (tuning parameter)•For robustness select: c ≥
Let’s start with the CONCLUSION
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
MODEL
1. Step response experiment
Make step change in one u (MV) at a time Record the output (s) y (CV)
MODEL, Approach 1A
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(∞)/ u k’ : slope after response “takes off” = k/1
MODEL, Approach 1A
STEP IN INPUT u
RESULTING OUTPUT y
: Delay - Time where output does not change1: Time constant - Additional time to reach
63% of final changek = y(∞)/ u : Steady-state gain
Δy(∞)
Δu
MODEL, Approach 1A
Step response integrating process
Δy
Δt
MODEL, Approach 1A
Model from closed-loop response with P-controller
Kc0=1.5Δys=1
Δyu=0.54
Δyp=0.79
tp=4.4
dyinf = 0.45*(dyp + dyu)Mo =(dyp -dyinf)/dyinfb=dyinf/dys
A = 1.152*Mo^2 - 1.607*Mo + 1.0r = 2*A*abs(b/(1-b))k = (1/Kc0) * abs(b/(1-b))theta = tp*[0.309 + 0.209*exp(-0.61*r)]tau = theta*r
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)
Δy∞
MODEL, Approach 1B
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
half rule
2
MODEL, Approach 2
original
1st-order+delay
2nd-order+delay
MODEL, Approach 2
Original 7th order, g0
1st-order, half rule, g1
2nd-order, half rule, g2
1st-order, closed loop, gcl
PID
PID
PIhalf-rule
PIhalf-rule
PIcl
PIcl
Approximation of zeros
Correction: More generally replace θ by τc in the above rules
MODEL, Approach 2
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)
cc
c
c c
c
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:
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
SIMC-tunings
IMC Tuning = Direct Synthesis Algebra:
SIMC-tunings
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
dyu
SIMC-tunings
Integral Time
I = 1
Reduce I to this value:I = 4 (c+) = 8
SIMC-tunings
Setpoint change at t=0 Input disturbance at t=20
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.
SIMC-tunings
Details: See www.nt.ntnu.no/users/skoge/publications/2003/tuningPID Remark 13 II
Conclusion: SIMC-PID Tuning Rules
One tuning parameter: c
SIMC-tunings
Some insights from tuning rules
1. 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)
4. Parameter variations: For robustness tune at operating point with maximum value of k’ θ = (k/τ1)θ
SIMC-tunings
Some special cases
One tuning parameter: c
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.
SIMC-tunings
Note: Derivative action is commonly used for temperature control loops. Select D equal to 2 = time constant of temperature sensor
SIMC-tunings
SIMC-tunings
SIMC-tunings
Selection of tuning parameter c
Two 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:
SIMC-tunings
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=∞SIMC-tunings with c with ==1:
IMC has I=∞
Ziegler-Nichols is usually a bit aggressive
Setpoint change at t=0c 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
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?
S. Skogestad, ``Tuning for smooth PID control with acceptable disturbance rejection'', Ind.Eng.Chem.Res, 45 (23), 7817-7822 (2006).
Closed-loop disturbance rejectiond0
ymax
-d0
-ymax
SMOOTH CONTROL
10−2
10−1
100
101
102
100
101
102
103
Frequency
|d0|/|y
max|
|cPI
|
|cPID
|
Kcu
Minimum controller gain for PI-and PID-control:min |c(j)| = Kc
SMOOTH CONTROL
Rule: Min. controller gain for acceptable disturbance rejection:
Kc ≥ |u0|/|ymax|often ~1 (in span-scaled variables)
SMOOTH CONTROL
|ymax| = allowed deviation for output (CV)
|u0| = required change in input (MV) for disturbance rejection (steady state)= observed change (movement) in input from historical data
Rule: Kc ≥ |u0|/|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”
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)
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.
SMOOTH CONTROL LEVEL CONTROL
If you insist on integral actionthen this value avoids cycling
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 timeprovided 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
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
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
Quiz: SIMC PI-tunings
(a) The Figure shows the response (y) from a test where we made a step change in theinput (Δu = 0.1) at t=0. Suggest PI-tunings for (1) τc=2,. (2) τc=10.
t [s]
y
0 10 20 30 40 50 600.1
0.105
0.11
0.115
0.12
0.125
0.13
Step response
y
Time t
SIMC-tunings
(b) Do the same, given that the actual plant is
QUIZ
Solution
Actual plant:
QUIZ
Approximation of step response
Approximation ”bye eye”
QUIZ