Control Lab Thermal Plant Chriss Grimholt Process System Engineering Department of Chemical Engineering Norwegian University of Science and Technology October 3, 23 C. Grimholt (NTNU) Thermal Plant October 3, 23 / 7
What is a controller? disturbance variable, DV (d) controller sensor actuator setpoint (y s ) controlled variable, CV (y) manipulated variable, MV (u) C. Grimholt (NTNU) Thermal Plant October 3, 23 2 / 7
The PID Controller K c e u P P e dt error, e u I + u = u P + u I + u D I de dt u D D In Time Domain: u = K c e + Kc τ I edt + Kc τ D de dt C. Grimholt (NTNU) Thermal Plant October 3, 23 3 / 7
The PID K c e up.5 u P.5 5 5 2 error, e.5.5 2 ui.4.2 e dt u I + u 2 5 5 2 3.2 u = u P + u I + u D.4 5 5 2 de dt.5 ud.5 u D.5 5 5 2 C. Grimholt (NTNU) Thermal Plant October 3, 23 4 / 7
The Experimental Setup and the Task y s e Controller u Process y Task: Tune the PI controller.??? where to begin? Trial and Error? C. Grimholt (NTNU) Thermal Plant October 3, 23 5 / 7
Trial and Error Trial and Error Trial and error is usually everybody s first approach to tuning. Tuning works by changing the tuning parameters up and down until a satisfactory response is obtained. Tuning with this method is very time consuming. Hard to get a satisfactory response. hmm, as a lazy engineer I must find a better method less time consuming to get a satisfactory response C. Grimholt (NTNU) Thermal Plant October 3, 23 6 / 7
How to Tune a Controller A more systematic approach: SIMC tuning rules Obtain a model of the process. 2 Use the SIMC tuning rules. 3 If the closed-loop response is not satisfactory, adjust τ c. Perfect! C. Grimholt (NTNU) Thermal Plant October 3, 23 7 / 7
Finding The Model Process??? How to find the model of your process? C. Grimholt (NTNU) Thermal Plant October 3, 23 8 / 7
Finding The Model Process Step Response C. Grimholt (NTNU) Thermal Plant October 3, 23 8 / 7
Finding The Model Input, u.8.6.4.2 2 4 6 8 Time Process. Apply a step to the input of the process C. Grimholt (NTNU) Thermal Plant October 3, 23 8 / 7
Finding The Model Input, u.8.6.4.2 2 4 6 8 Time Process Output, y.8.6.4.2 2 4 6 8 Time. Apply a step to the input of the process 2. Observe the process response (process output) C. Grimholt (NTNU) Thermal Plant October 3, 23 8 / 7
Finding The Model Input, u.8.6.4.2 2 4 6 8 Time Process Output, y.8.6.4.2 2 4 6 8 Time Looks like a First Order Response A First Order Model might describe the system well! y(s) = k τ s+ e( θs) u(s) C. Grimholt (NTNU) Thermal Plant October 3, 23 8 / 7
Model Library Input, u.8.6.4.2 Input Step 2 4 6 8 Time Time Delay Process First Order Process Integrating Process Output, y.8.6.4.2 2 4 6 8 Time Output, y.8.6.4.2 2 4 6 8 Time Output, y.8.6.4.2 2 4 6 8 Time y = ke ( θs) u y = k τ s+ e( θs) u y = k s e( θs) u τ τ C. Grimholt (NTNU) Thermal Plant October 3, 23 9 / 7
Fitting a First Order Model to the Response An easy way to find the model parameters such that the model have the same response as the process. Input, u Output, y.5 2 4 6 8.5 y 2 4 6 8 y y(t = τ ) = y +.63 y u y Good Model Parameters: Gain: k = y u = Time delay: θ = Time constant: τ = θ τ C. Grimholt (NTNU) Thermal Plant October 3, 23 / 7
Fitting a First Order Model to the Response An easy way to find the model parameters such that the model have the same response as the process. Input, u Output, y.5 2 4 6 8.5 y 2 4 6 8 y y(t = τ ) = y +.63 y u y Good Model Parameters: Gain: k = y u = Time delay: θ = Time constant: τ = Nice Fit! θ τ C. Grimholt (NTNU) Thermal Plant October 3, 23 / 7
Fitting an Integrating Model to the Response An easy way to find the model parameters such that the model have the same response as the process. Input, u Output, y.5 2 4 6 8.5 slope 2 4 6 8 u Good Model Parameters: Gain: k = slope u =.2 Time delay: θ = θ C. Grimholt (NTNU) Thermal Plant October 3, 23 / 7
Fitting an Integrating Model to the Response An easy way to find the model parameters such that the model have the same response as the process. Input, u Output, y.5 2 4 6 8.5 slope 2 4 6 8 u Good Model Parameters: Gain: k = slope u =.2 Time delay: θ = Nice Fit! θ C. Grimholt (NTNU) Thermal Plant October 3, 23 / 7
We have found a model of the process, now we need to tune the controller. K C =? τ I =? k τ s+ e θs y s e Controller u Process y Task: Tune the PI controller.??? How to use the model to tune? C. Grimholt (NTNU) Thermal Plant October 3, 23 2 / 7
The SIMC tuning rules K C = k τ τ c + θ () τ I = min{τ, 4(τ c + θ)} (2) where τ c is the tuning parameter (i.e. what you can adjust to trade off between fast and robust tuning). τ c is also called the closed-loop time constant, meaning the speed of the control. small τ c large fast response slow response less robust more robust τ c = θ recommended for fast and robust tuning C. Grimholt (NTNU) Thermal Plant October 3, 23 3 / 7
The Role of τ c The closed-loop time constant τ c is used to trade off between robustness and the speed of control. slow SIMC Tuning speed of control Infeasible τ c = θ fast high robustness low C. Grimholt (NTNU) Thermal Plant October 3, 23 4 / 7
SIMC for integrating processes The SIMC tuning rules K C = k τ c + θ (3) τ I = 4(τ c + θ) (4) Why? Integrating process: τ G(s) = τ s + τ s k τ s + k τ s = k s (τ, τ θ) τ I = min{τ, 4(τ c + θ)} = 4(τ c + θ) C. Grimholt (NTNU) Thermal Plant October 3, 23 5 / 7
The Windup Problem the MV is either at min or max value If the MV becomes saturated when using a PI controller, you might experience problems with windup. So what is the windup problem? Given the model: y = 2s+ e( s) u We find the SIMC PI controller tuning: with τ c = θ: K C =.5 and τ I = 8 Note: u is constrained between and.5 C. Grimholt (NTNU) Thermal Plant October 3, 23 6 / 7
The Windup Problem the MV is either at min or max value If the MV becomes saturated when using a PI controller, you might experience problems with windup. So what is the windup problem? Input, u Output, y Given the model:.4 y = 2s+ e( s) u.2 We find the SIMC PI controller tuning: with τ c = θ: K C =.5 2and τ I = 8 4 Note: u is constrained between and.5 5 2 4?! y is below the setpoint but the controller does not increase u! what a bad controller! C. Grimholt (NTNU) Thermal Plant October 3, 23 6 / 7
The Windup Problem Why does windup happen? Integral action is to blame! Cause: Integral action (u I ) keeps on increasing the controller output past the saturation limit. u = u P + u I + u D Because u I can only decrease if the error changes sign, the controller will be temporarily disabled until u I is decreased such that u is under the saturation limit. C. Grimholt (NTNU) Thermal Plant October 3, 23 7 / 7