Tuning PID Controller Institute of Industrial Control, Zhejiang University, Hangzhou, P. R. China 2013/03/27 Single-loop PID Control System DVs Extended Controlled Process (广义对象) ysp + ym(t) _ PID Controller u(t) Final Control Element MV Disturbance Path Control Path + + Sensor & Transmitter Problem: For an unknown extended controlled process, how to design and tune our PID controller ? y(t) Proportional-Integral-Derivative (PID) Controller Ideal PID Controller 1 u (t ) K c (e(t ) Ti de(t ) 0 e( )d Td dt ) u0 , t 1 Td is the derivative time. Gc ( s) Kc (1 Td s) Ti s Industrial PID Controller (design and realization ?) Td s 1 1 The derivative Gc ( s) K c 1 gain Ad = 10. T d A s 1 Ti s d Problem Discussion Explain the function of PID controller for a stable controlled process. Analyze the effect of PID parameter changes on control performances How can we realize the industrial PID controller in Simulink ? PID tuning example (See ../PIDControl /PIDLoop.mdl ) Contents Selection of PID Controller Types (PID控制 器类型选择) Tuning of PID Controller Parameters (控制 器参数整定) Flow Control (流量控制) Level Control (液位控制) Reset Windup and Its Prevention (积分饱和 与防止) Summary Type Selection of PID Controllers Controlled Variable Controller Type Temperature / Composition PID*1 Flow / Pressure /Liquid-Level PI *1: For some slow processes with long time constants, the derivative action is suggested to use. However, if there exists strong measurement noises, a first-order or average filter should be added. Liquid-Level P Please analyze the rule of type selection ? PID Tuning Concept Process Characteristics Controller Kc or PB, Ti , Td Offline Tuning Based on Process Parameters: K, T,τ Step 1: switch the controller to manual mode, change the output of controller in step form, and record input/output data of controller. Step 2: obtain process characteristics: K, T,τ, from the step response data. Step 3: set the PID parameters Kc, Ti , Td, and switch the controller to automatic mode. Step 4: increase or decrease the gain Kc until obtaining the satisfactory response. Simulation of Offline Tuning step 1: Step Testing Controller Output 62 60 % Furnace Process Fluid T(t) 58 56 54 Ti (t) 0 TT 27 10 20 30 40 50 60 70 80 90 100 70 80 90 100 Transmitter Output y(t) u(t) %, CO %, TO 78 76 TC 27 74 ysp(t) % Fuel Oil 80 72 70 68 See ../PIDControl/PIDLoop.mdl 66 0 10 20 30 40 50 60 Step 2: Obtain Process Para. Transmitter Output 80 TO,% TO final TOinitial K CO,% CO final COinitial 78 76 74 % T 1.5 t0.632 O t0.283O 72 70 t0.632 O T 68 66 0 10 20 30 40 50 min 60 70 80 90 100 Step 3: Obtain Initial PID Para. (Ziegler-Nichols Method) Controller Kc P 1 T K PI PID 0.9 T K 1.2 T K Ti Td 3.33 2.0 0.5 Note: the above method was developed for 0 T Step 3: Obtain Initial PID Para. (Lambda Tuning Method) Controller Kc P 1 T K 1 T K PI PID 1 T K Ti Td Initial Value 0 T T τ/2 0.2 Note: the above method is not limited by the value of / T Simulation Example #1 Output of Transmitter 63 K = 1.75 62.5 62 T = 6.5,τ= 3.3 min % 61.5 For PI Controller, 61 Z-N tuning: Kc = 1.0, Ti = 11 min 60.5 60 Ziegler-Nichols method Lambda tuning method set point 59.5 59 Lambda tuning: Kc = 0.56, Ti = 6.5 min 0 50 100 Time, min 150 Simulation Example #2 Output of Transmitter 63 K = 1.75 62.5 T = 6.5,τ= 6.3 min 62 For PI Controller, % 61.5 Z-N tuning: Kc = 0.53, Ti = 20.8 min 61 60.5 Lambda tuning: Kc = 0.30, Ti = 6.5 min 60 Z-N tuning Lambda tuning set point 59.5 59 0 50 100 Time, min 150 200 Procedure of Online Tuning: Ziegler-Nichols Technique Step 1: with the controller online (in automatic mode), remove all the reset (Ti = maximum) and derivative (Td = 0) modes. Start with a small Kc value. Step 2: make a small set point or load change and observe the response of CV. Step 3: if the response is not continuously oscillatory, increase Kc, or decrease PB, repeat step 2. Step 4: Repeat step 3 until a continuous oscillatory response is obtained. Example of Online Tuning Output of Transmitter 66 Furnace Process Fluid 65 Ti = 6000 min, Td = 0 min 64 Tu Kc = 4 Kc = 3.5 T(t) 63 Ti (t) set point y(t) u(t) %, CO % TT 27 Fuel Oil Kc = 2 %, TO 62 61 Kc = 1 60 TC 27 ysp(t) Kc = 0.5 59 58 0 10 20 30 Time, min See ../PIDControl/PIDLoop.mdl 40 50 Online Tuning: Ziegler-Nichols Technique The gain that gives these continuous oscillations is the ultimate gain (临界增益), Kcu. The period of the oscillations is called the ultimate period (临界周期), Tu. the ultimate gain and the ultimate period are the characteristics of the process being tuned. The following formulas are then applied: Controller P Kc 0.5Kcu Ti PI 0.45Kcu Tu /1.2 PID 0.65Kcu Tu /2 Td Tu /8 Online Tuning Result Output of Transmitter 63 62 % Furnace Process Fluid T(t) Ti (t) y(t) 59 %, CO 20 40 60 80 100 Output of Controller %, TO TC 27 0 100 Kcu = 3.4, Tu = 11 min ysp(t) 80 PID: Kc = 2.2, Ti = 5.5 min, Td = 1.4 min % u(t) Inlet temp. drops 5 Cent. 60 TT 27 Fuel Oil set point 61 60 See ../PIDControl/PIDLoop.mdl 40 0 20 40 60 Time, min 80 100 Limitation of Online Tuning Output of Transmitter 66 Furnace Process Fluid 65 Ti = 6000 min, Td = 0 min 64 Tu Kc = 4 Kc = 3.5 T(t) 63 Ti (t) set point y(t) u(t) %, CO % TT 27 Fuel Oil Kc = 2 %, TO 62 61 Kc = 1 60 TC 27 ysp(t) Kc = 0.5 59 58 0 10 20 30 Time, min 40 50 Auto-tuning Based on Relay Feedback (基于继电反馈的参数自整定) PID ysp Auto e(t) +_ u Tune Controlled Process (+) Relay Here we suppose the process gain > 0 ym Relay Feedback Example PID ysp Auto e(t) +_ Tune u Controlled Process ym (+) Relay The controlled process can be described as Ym ( s) 2.0 exp(2s) U ( s) (5s 1)(2s 1) The amplitude of relay controller is d = ±2.0 Response of Relay Feedback Ym 61.5 61 60.5 60 59.5 59 58.5 0 5 10 15 20 25 30 35 40 45 50 Oscillation period TU & amplitude AY (振荡周期与幅 度)? U 53 See the detailed results: 52 51 ../ PIDLoopAutoTuning.mdl 50 49 48 47 0 5 10 15 20 25 min 30 35 40 45 50 The Ultimate Gain (临界增益) Kcu Calculation U 53 52 51 50 49 a 4d / 48 47 0 5 10 15 20 25 min 30 35 40 45 50 经FT变换可知,控制输出的一次谐波幅度为 4d / 而对应的控制器临界增益为 K CU 4d AY Online Z-N Tuning Parameters Controller P PI PID Kc 0.5Kcu 0.45Kcu 0.65Kcu Ti Td Tu /1.2 Tu /2 Tu /8 If we use a PID controller, then we select the following parameters …… Closed-loop Response of PID Feedback System Ym 75 70 65 60 0 20 40 60 80 100 120 140 80 100 120 140 U 100 80 60 40 0 20 40 60 min Above autotuning method can be applied to other controlled processes ? Characteristics of Flow Loops Fast dynamic response Zero dead time, which results in an infinite controller gain in every tuning equation Large measurement noise To decrease the change of control valve, a PI controller is common used with very small proportional action and a large integral action to approximate an integral controller. (Why?) Tuning Example of Flow Loops ysp(t) Output of Transmitter 65 % TO % 60 FC y(t) 55 % CO u(t) 50 45 0 20 40 60 80 100 F(t) Output of Controller 60 Kc = 4, Ti =2 min Kc = 1, Ti = 0.5 min See ../PIDControl/FlowLoop.mdl 40 % Please compare the proportional gain with the integral gain 20 0 0 20 40 60 Time, min 80 100 Examples of Level Loops Product C201 C301 FIC 102 LT 201 LC 201 FC 201 LT 301 LC 301 FC 302 Characteristics of Level Loops Very often levels are integrating processes There are two types of possible control objectives when the input flow varies: (1) Tight Level Control; (2) Average Level Control (“液位均匀控制”) Tight Level Control The objective is to control the level tightly at set point, and the output flow can be allowed to vary without limitation If a level process happens to be self-regulated, and it is possible to obtain K, T andτ, the above tuning techniques can be used directly If a level process is integrating, a PI controller is common used with large proportional action and a very small integral action Average Level Control The objective is to smooth the output flow from the tank, which feeds the downstream unit, the level in the tank must be allowed to “float” between a high and a low level A P controller is common used in Average Level Control with a small proportional gain Tuning: the gain should be set to be as small as possible, as long as the level changes between a high and a low level for the expected flow deviation from the average flow. Example of Level Control Fi(t) LT 41 h(t) A y(t) LC 41 % TO ysp u(t) % CO Fo(t) See ../PIDControl/ LevelLoop.mdl Analysis of Average Level Control Systems Fi(t) ysp(t) h(t) A % TO y(t) LC u(t) Dynamic equation of the controlled process: dh (t ) A Fi (t ) F0 (t ) dt where A is the area of the tank. % CO Suppose Fo(t) y(t ) h(t ) hmax , F0 (t ) KV u(t ) Analysis of Average Level Control Systems (cont.) Fi (s) ysp + - Fo (s) u(s) Gc For a proportional controller, Gc = -Kc, KV - + 1 As h(s) 1 y(s) hmax K C KV Fo ( s ) Ahmax s 1 Ahmax Fi ( s ) 1 K C KV s 1 Ahmax s K C KV 1 Ahmax s y( s) 1 1 Fi ( s ) 1 K C KV K C KV Ahmax s 1 Ahmax s K C KV Please analyze the above models. Examples of Average Level Control Systems Ysp Fi SW1 e u 1 0.2 10s PID Kv Man/Auto Uman DU Gp Fo 10 Ym KT Please see ../PIDControl/ AverageLevelLoop.mdl Y Simulation Results of P-type Average Level Control Fin, Fout 11 m3/hr 10.5 10 9.5 Fin 9 0 10 20 30 40 Kc = -2.0 50 60 70 80 90 100 90 100 Kc = -0.5 Ysp, Ym 54 % 52 50 48 46 0 10 20 30 40 50 time, min 60 70 80 Reset Windup Problem d(t) ysp(t) + - e(t) 1 KC 1 TI s uc up Controlled Process + + Please see the following simulation example …/PIDControl/PidLoopwithLimit.mdl ym(t) Simulation Result with Reset Windup in a Single-Loop System Discussion: Which difference exists between reset windup and the open or closed status of the control valve completely ? The Principle of Preventing Reset Windup d(t) ysp(t) + - e(t) uc KC up + + A Controlled Process + + ym(t) 1 TI s 1 if uc (t ) u min umin , Principle: remove the reset or u p (t ) uc (t ), if umin uc (t ) u max integral action if the control u , output is beyond the normal if u ( t ) u max c max operation range. Anti-reset Windup Example Ysp, Ym 75 % 70 65 60 55 0 20 40 60 80 100 120 140 160 180 200 100 120 time, min 140 160 180 200 Uc, Up 150 % 100 50 0 0 20 40 60 80 Industrial PID Controller d(t) ysp(t) PID1 e(t) KC + - TD s 1 TD s 1 AD uc up + + A Controlled Process + + ym(t) 1 TI s 1 PID Controller d(t) ysp(t) PID2 + - uc e(t) KC TD s 1 TD s 1 AD up + + 1 TI s 1 Derivative Action First PID Controller A Controlled Process + + ym(t) Summary Selection of PID Controller Types Tuning of PID Controller Parameters Tuning of PID Controller for Flow Loops Tight / Average Level Control Reset Windup and Its Prevention Problem Discussion For an unknown stable temperature control system, can you determine PID parameters in Offline and Online tuning methods ? Please realize the industrial PID controller in Simulink ? For the fast flow control loop, show me your tuning principle and explain why. For the AVERAGE level control loop, show me your tuning principle and explain why. Explain the existing reason of reset windup and show me your prevention schemes Exercise 3.1 A controlled process is shown in the Problem 2-1 (p.34) in Automated Continuous Process Control. (1) calculate its characteristics parameters K, T and τ; (2) decide on the action of the valve and the controller; (3) tune your PID controller. Exercise 3.2 U 53 52 51 50 49 a 4d / 48 47 0 5 10 15 20 25 min 30 35 40 45 50 假设Relay(继电器法)镇定PID参数时,控制器输出如上图所 示,信号周期为Tu, 振幅为d=2。证明经傅立叶变换,控制输 出的一次谐波幅度为 4d /