PPC_Workshops_4x

PPC_Workshops_4x - Control Control Station Station Software...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Control Control Station Station Software For Process Control Analysis, Tuning & Training Simplifying PID Control. Software Plant Performance. Optimizing For Process Control Analysis, Tuning & Training Hands-on Workshop Series Providing Real-World Experience in Practical Process Control Using LOOP-PRO 4.5 Douglas J. Cooper Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc All Rights Reserved Table of Contents Page Workshop 1: Workshop 2: Workshop 3: Workshop 4: Workshop 5: Workshop 6: Workshop 7: Workshop 8: Workshop 9: Exploring Dynamics of the Gravity Drained Tanks P-Only Control of Tank Level P-Only Control of Jacketed Reactor Temperature The Hazard of Tuning PI Controllers by Trial and Error PI Control of Heat Exchanger Temperature PI Control of Distillation Top Composition PID Control of Heat Exchanger Temperature PID with Filter and Control of the Multi-Tank Process Adaptive PI Control of Nonlinear Processes 2 5 10 13 16 22 26 30 35 38 42 45 49 53 58 62 66 68 Workshop 10: Modeling and Simulation of Single Loop Processes Workshop 11: Cascade Control of the Jacketed Reactor Workshop 12: Feed Forward Control of the Jacketed Reactor Workshop 13: Advanced Feed Forward Control of the Heat Exchanger Workshop 14: Multivariable Decouplers and Distillation Control Workshop 15: Modeling and Decoupling of Multi-Loop Processes Workshop 16: Dead Time Compensation Using the Smith Predictor Workshop 17: Dynamic Matrix Control (DMC) of the Gravity Drained Tanks Workshop 18: Dynamics and Control of Integrating Processes 1 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 1: Exploring Dynamics of the Gravity Drained Tanks Objective: To generate step test data and describe the dynamic process response with a first order plus dead time (FOPDT) model. Also, to learn about the nonlinear nature of processes. Reference: "Practical Process Control" Chapters 1-3 1) Click LOOP-PRO's Case Studies icon on the main screen and select Gravity Drained Tanks. When the simulation starts, note on the process graphic that the measured process variable (PV) is liquid level in the lower tank. The controller output signal (CO) manipulates a valve that adjusts liquid flow rate into the upper tank. Also note two moving strip charts that plot the recent history of PV and CO as time passes. 2) Make sure the CO is at 70% and that the PV (liquid level) is steady. Perform a step test by clicking the controller output (CO) box on the tanks graphic and entering 80%. When the liquid level (PV) reaches a new steady value, click the Pause icon (II) on the tool bar. The strip charts now show dynamic process data from a step test (a kind of bump test). Click once or double click a white number entry box like controller output on the process graphic. - If you click once, the box will turn blue. Enter a number and press enter. - If you double click, a window gives you the option of performing a step, oscillate, ramp or PRBS experiment. With the Step tab active, enter a value and click Done. 3) Click the Plot icon on the tool bar to view a fixed plot of your step (bump) test dynamic data. An alternative to the Plot icon is to use the menu list, clicking: File View and Print Plot. When a fixed plot is displayed, click the Plot Options icon on the tool bar to open a window for changing plot settings (or on the menu list, click: Customize Plot Options). Use the tabs at the top of the Plot Options window to select a plot axis. Choose options that show the plot in a manner best suited for a graphical analysis. Click Apply Changes to update the plot. For example, set the Min and Max Time values to zoom in on the data from initial to final steady state. You only need 10 minutes of data to see the complete step. Refine the grid by setting the Major Tick Unit = 1.0 and Minor Tick Unit = 0.2. Click Apply Changes to update the plot. Click the PV/SP and CO tabs and make appropriate adjustments to prepare the plot display for graphical analysis. You may also consider a `Thick' Line Type and `Large' Font Size. 4) Use a graphical analysis to fit a first order plus dead time (FOPDT) model to the CO to PV step test dynamic behavior. The worksheet at the end of this workshop may be useful. Record the first order plus dead time (FOPDT) model parameters with units (e.g. m/% or minutes) Process gain, Kp = Time constant, p = 2 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Dead time, p = Workshop 1: Dynamics of the Gravity Drained Tanks (continued) 5) Close the plot window and return to the gravity drained tanks process. Click the Continue () icon on the tool bar to start the simulation if it is paused. Repeat tasks 2-4 above for a bump test where the CO is stepped from 50% up to 60%. Be sure the PV is moved from one steady state to another. Fit a FOPDT model to the plot data. Process gain, Kp = Time constant, p = Dead time, p = 6) The two steps in the CO (70 80% and 50 60%) are the same size. Are the FOPDT model parameters the same for these two steps? How/why are they different? 7) Set the CO to 20% and let the measured PV steady out (as an aside, note that the PV enters a low alarm condition). Step the CO from 20% up to 40%, then up to 60%, then 80%. Let the PV (liquid level) steady between each step. View a plot of the entire test. Each CO step is the same size. A linear process would show uniform PV response shapes (Kp, p and p would remain constant) for identical CO steps, regardless of operating level. A nonlinear process shows a changing response shape , indicating a changing Kp, p and/or p, as operating level changes. Is the gravity drained tanks a linear or nonlinear process? Explain your conclusion. (optional) 8) Start the Heat Exchanger case study. Here, the CO adjusts the flow rate of cooling liquid on the shell side. The measured PV is stream temperature exiting the exchanger on the tube side. Step the CO signal from 39% up to 50%. This causes an increase in the cooling flow rate and hence a decrease in the PV (exit stream temperature). When the process response is complete, click the Pause icon (II) icon on the tool bar. View a fixed plot and using the skills you have learned, fit a FOPDT model to the dynamic test data. Record the model parameters with units: Process gain, Kp = Time constant, p = Dead time, p = What is a notable difference in the Kp for the heat exchanger compared to the gravity drained tanks? 9) Perform the experiments necessary to determine if the heat exchanger is a linear or nonlinear process. What experiments did you perform and what do you conclude? 3 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 1: Dynamics of the Gravity Drained Tanks Worksheet Compute FOPDT model parameters based on CO (controller output) to PV (process variable) step test data CO step from 70% 80% Compute process gain, Kp when CO1 = 70%, then PV1 = _________ when CO2 = 80%, then PV2 = _________ PV = PV2 PV1 = ___________ CO = CO2 CO1 = ___________ Kp is the "how far" variable CO step from 50% 60% Compute process gain, Kp when CO1 = 50%, then PV1 = __________ when CO2 = 60%, then PV2 = __________ PV = PV2 PV1 = ___________ CO = CO2 CO1 = ___________ Kp is the "how far" variable Kp = PV/CO = units Kp = PV/CO = units Compute process time constant, p tPVstart = time PV response starts = _________ PV63.2 = PV1 + 0.632(PV) = __________ t63.2 = time PV63.2 reached = __________ Compute process time constant, p tPVstart = time PV response starts = _________ PV63.2 = PV1 + 0.632(PV) = __________ t63.2 = time PV63.2 reached = __________ p is the "how fast" variable p is the "how fast" variable p = t63.2 tPVstart = units p = t63.2 tPVstart = units Compute process dead time, p tCOstep = time CO stepped = _________ p is the "how much delay" variable Compute process dead time, p tCOstep = time CO stepped = _________ p is the "how much delay" variable p = tPVstart tCOstep = units p = tPVstart tCOstep = units 4 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 2: P-Only Control of Tank Level Objective: To design and test a P-Only controller for tracking changes in set point and rejecting disturbances. Also, to explore how controller gain impacts P-Only performance. Reference: "Practical Process Control" Chapters 4-5 1) Click LOOP-PRO's Case Studies icon on the main screen and select Gravity Drained Tanks. Find the CO that causes the PV (liquid level) to settle at our design level of operation (DLO) of PV = 3.3 m when the pumped flow disturbance (D) is 2.0 L/min. Record this as CObias. The controller design and tuning recipe begins by specifying the design level of operation (DLO). This includes the desired value for the measured process variable (PV), which we assume will be equal to the set point (SP) during normal operation. The DLO also includes the typical or baseline values for the important process disturbances (D). In this study, when our controller is in automatic (closed loop), we desire the liquid level in the lower tank to be 3.3 m. The pumped flow disturbance (D) out of the lower tank is expected to be about 2.0 L/min during normal operation. Record these design level of operation details: Our DLO for this study is a PV = SP = ____________ when D is normally = _____________ units units A P-Only controller design requires determination of the controller bias (CObias), which is the value of the controller output (CO) that causes the measured PV (liquid level) to remain steady at the DLO value of 3.3 m when the pumped flow disturbance is at its DLO value of 2.0 L/min. Search for this CO by entering different values and watching where the PV settles. The value of CO that steadies the PV at the DLO is our CObias = ______________ units 2) Similar to Workshop 1, perform a step (bump) test and use a graphical analysis to fit an FOPDT model to the CO to PV dynamic test data. The worksheet at the end of this workshop may be useful. Controller design and tuning requires a first order plus dead time (FOPDT) model that describes the dynamic process behavior around the DLO. In task 1, you hopefully found that a CObias of 64% causes the measured level to steady at the design PV of 3.3 m when disturbance D is at 2.0 L/min. Because this process is nonlinear (that is, Kp, p and/or p change as operating level changes), best practice is to perform a bump test that includes some data both below and above the DLO so the FOPDT model fit "averages out" the nonlinear or changing nature of the process. To do this, set the CO to 60% and let the process steady. Now step the CO to 68%. When the response is complete, click the pause icon (II) on the tool bar. You have just generated step test data that, on average, describes the process around the design PV of 3.3 m when D is at 2.0 L/min. Click the Plot icon on the tool bar to view a fixed plot of your step (bump) test data. 5 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 2: P-Only Control of Tank Level (cont.) Click the Plot Options icon on the fixed plot tool bar to open a window for changing plot settings. Use the tabs at the top of the Plot Options window to switch among the plot axis. Choose options that show the plot in a manner best suited for a graphical analysis. For example, set the Min and Max Time values to zoom in on the step from initial to final steady state. This requires about 10 minutes of data. Refine the grid by setting the Major Tick Unit = 1.0 and Minor Tick Unit = 0.2. Click the PV/SP and CO tabs and make appropriate adjustments to enhance the plot display for graphical analysis. You may also consider a `Thick' Line Type and `Large' Font Size. With the plot displayed, use a graphical analysis method to compute FOPDT (first order plus dead time) dynamic model parameters. Record your results and include units (e.g. m/% or minutes): Process gain, Kp = Time constant, p = Dead time, p = 3) Using the ITAE tuning correlation and your FOPDT model parameters from task 2, compute and record a P-Only controller gain. Remember that Kc has a sign (+/) and units. A FOPDT model of bump test dynamic data gives us parameters to use in a controller tuning correlation. The ITAE (Integral Time Weighted Absolute Error) correlation reliably computes a conservative P-Only controller gain, Kc, for the simple P-Only algorithm. Note that for all other PID forms beyond P-Only, LOOP -PRO uses the theoretically derived and industry proven IMC (internal model control) tuning correlations. Compute and record P-Only controller gain. Remember it has a sign (plus or minus) and units. P-Only tuning correlation: Kc = 0.2 " Kp $ !p ' # & !p % 1.22 = __________________ (Note: Kc for this task often ranges from 4-20 %/m. Check your work if your Kc is much different) 4) Click the level controller icon (LC) on the gravity drained tanks graphic to open the controller design menu. At the top of the design menu, switch from Manual Mode to PID. Enter your SP, CObias and Kc values. Since this is a P-Only control study, switch the integral action to `Off: Integral Mode'. Derivative action should also be `Off: Derivative Mode'. Click Done to put your P-Only controller in automatic (closed loop). With the gravity drained tanks simulation displayed, click the level controller (LC) icon on the tanks graphic to open the controller design menu. At the top of the design menu, switch from Manual Mode to PID to enable a proportional-integral-derivative controller. The default configuration is a PI controller. Thus, the proportional and integral modes are On while the derivative mode is off. To implement a P-Only controller, switch the integral mode to `off: Integral Mode.' Entered values do not affect control action when a mode is turned off. 6 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 2: P-Only Control of Tank Level (cont.) Enter your Set Point, Bias and Controller Gain values from the tasks 1 and 3 above. Click Done at the bottom of the controller design menu to put the controller in automatic. Click the Continue icon on the tool bar to start the process simulation if it is paused. The top strip chart should display the white PV signal trace with some noise or random error. The PV should be centered over a straight yellow SP line. There should be no sustained offset. If there is, recheck that your CObias value is set to 64% on the controller design menu. 5) Click the Continue () icon on the tool bar to start the process simulation if it is paused. Click the Set Point box shown on the process graphic, step the SP from 3.3 up to 4.3 m and watch the response. Step the SP back to 3.3 m and when the response completes, click the Pause icon (II). What do you notice when the SP moves away from the DLO value of 3.3 m? Explore how Kc impacts offset and response oscillations. Repeat the above SP steps using a Kc of 5, then 10, and then 20 %/m. View a plot that shows all three tests side-by-side. Which of these three Kc values provides the best balance of a small offset yet reasonable oscillations? How/why did you decide which is the "best" Kc? Explore the set point tracking performance of your P-Only controller. Click once on the Set Point box on the process, step the SP from 3.3 m up to 4.3 m and observe the response. Step the SP back to 3.3 m and when the response completes, click Pause . Do you notice offset when the set point is different from the DLO (design level of operation) set point value? Explore how the size of Kc impacts offset and the oscillatory nature of the controller response. Click the level controller (LC) on the process and when the controller design menu opens, change your controller gain. Enter a Kc of 5 %/m and click Done to put the controller in automatic. Step the set point from 3.3 m up to 4.3 m and back, waiting for the response to complete after each step. Repeat this procedure for a Kc of 10 and then 20 %/m. Click Pause when you have completed all three controller gain (Kc) experiments. You may want to lengthen the time scale of the plot display using the History icon on the tool bar. Click the Plot icon and view a fixed plot of the three set point studies side-by-side. You may need to customize the display using Plot Options so the plot allows a useful visual comparison. First consider at the measured PV (liquid level) plot. How does an increasing Kc impact the speed of response? The offset? The tendency to oscillate? Now consider the controller output (CO) plot. How does a changing Kc impact this variable? Which of the Kc values do you think provides the best balance of a rapid response, acceptable offset and reasonable degree of oscillation? Explain why you selected your best Kc value. 7 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 2: P-Only Control of Tank Level (cont.) 6) Use the controller design menu to set Kc = 10 %/m. Enter a SP of 3.3 m and let the measured PV steady out. Now, letting the PV settle between each test, step the SP from 3.3 up to 5.3 m, then 7.3 m, and finally 9.3 m. You may need to use the History icon on the tool bar to view the entire series of tests. How does offset and oscillatory nature of the response change as the SP moves further from the DLO? Does the controller CO become constrained at the maximum 100% limit during the tests? How does (or would) this impact the set point response performance? 7) Study disturbance rejection performance of a P-Only controller. Return Kc to 5 %/m and the SP to 3.3 m. Wait for all previous activity to scroll off of the strip charts and expand the vertical plot axes by clicking the Rescale icon on the tool bar. Since this is our DLO, there should be no offset. The major disturbance (D) is the pumped flow rate out of the bottom of the tank. Step the disturbance, D, from 2 up to 5 L/min. After the PV response completes, return D to 2 L/min and let the response complete. Repeat this procedure for a Kc of 10 and 20 %/m. The set point is at the DLO. Why does the PV show offset during the experiments? Which of the Kc values do you think provides the best balance of a rapid response, acceptable offset and reasonable degree of oscillation for disturbance rejection? Is this the same as your choice for SP tracking? Explain why you selected your best Kc value. (optional) 8) Design and test a P-Only controller for the Heat Exchanger process. The DLO is a measured exit stream temperature of 144 oC. The warm oil flow disturbance stream is expected to be about 10 L/min during typical operation. Explore P-Only controller performance for set point tracking from 144 oC up to 150 oC and back again. Also explore the controller in rejecting disturbance changes from 10 L/min up to 15 L/min and back again. Determine a "best" Kc value that balances set point tracking and disturbance rejection performance. Document your results with plots, computation and discussion. 8 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 2: P-Only Control of Tank Level Worksheet Fit a FOPDT dynamic model to the CO to PV (cause and effect) step test data CO = controller output; PV = measured process variable (level in the tank) CO step from 60% 68% Compute process gain, Kp when CO1 = 60%, then PV1 = _________ when CO2 = 68%, then PV2 = _________ PV = PV2 PV1 = ___________ CO = CO2 CO1 = ___________ Kp is the "how far" variable Kp = PV/CO = units Compute process time constant, p tPVstart = time PV response starts = _________ PV63.2 = PV1 + 0.632(PV) = __________ t63.2 = time PV63.2 reached = __________ p is the "how fast" variable p = t63.2 tPVstart = units Compute process dead time, p tCOstep = time CO stepped = _________ p is the "how much delay" variable p = tPVstart tCOstep = units 9 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 3: P-Only Control of Jacketed Reactor Temperature Objective: To design and test a P-Only controller for tracking changes in set point and rejecting disturbances. Also, to explore how controller gain impacts P-Only performance. Reference: "Practical Process Control" Chapters 4-5 1) All controllers should be designed for a specific level of operation, which includes specifying the expected or design value for the set point, and typical or baseline values for the important process disturbances. Here we design a controller for the jacketed reactor process. Click the Case Studies button on the main Control Station screen and from the pop-up list of processes, click "Jacketed Reactor" (not the cascade case) to start the reactor simulation. For this P-Only temperature control design, consider the case where the design level of operation is a reactor exit temperature (the measured process variable) of 91C. The cooling jacket inlet temperature (the disturbance) is expected to be about 50C during typical operation. When your controller is put in automatic, the set point should be at the design level of the measured process variable: PVsetpoint = A P-Only controller design requires determining of the controller bias, or the value of the controller output that causes the measured reactor exit temperature to steady at the design value of 91 C when the cooling jacket inlet temperature is at its disturbance design value of 50C. Search for this value by moving the controller output signal until the measured variable reads 91C. Record your result: CObias = 2) The next step, similar to workshop 1, is to describe the dynamic behavior of this process with a first order plus dead time (FOPDT) dynamic model. That is, we need to compute the steady state process gain, Kp, overall time constant, p, and apparent dead time, p, for the process at the design level of operation. In step 1 above it was (hopefully) found that a controller output of 45% causes the measured reactor exit temperature to steady at the design value of 91C. Because this process is nonlinear, best practice is to perform an experiment that includes data both below and above this design level. Set the controller output to 43% and wait until the process steadies. With this as a starting point, step the controller output up to 47%. When the process response is complete, click the "Pause" icon on the tool bar above the strip charts to pause the simulation. This experiment produces dynamic data that on average describes the behavior of the process around the design level of 91C. View a full screen plot of the response by clicking the Plot (printer) icon (with floating label "View and Print Plot") on the tool bar. Alternatively, click File on the menu list and choose View and Print Plot. With the plot displayed, click the Plot Options icon on the plot tool bar and use the various options to create a plot best suited for graphical analysis. Compute and record the FOPDT process model parameters: Process gain, Kp = Time constant, p = Dead time, p = 10 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 3: P-Only Control of Jacketed Reactor Temperature (cont.) 3) One important reason for fitting a FOPDT model to dynamic process data is because the resulting model parameters can be used in correlations to estimate controller tuning values. One popular controller design correlation is the ITAE (Integral Time Weighted Absolute Error) for Set Point Tracking, which in the form below yields an initial estimate of the P-Only controller gain, KC, when set point tracking is the primary objective. Compute and record P-Only controller gain. Remember it has a sign (plus or minus) and units. ITAE tuning relation: KC = KC = 4) Now validate your completed controller design. Click the temperature controller icon (the TC in the white circle on the jacketed reactor graphic). When the controller design menu opens, note that "Manual Mode" is displayed at the top of the menu indicating that no controller is in service (the control loop is open). Click "Manual Mode" and from the drop down selection of controllers, click "PID" to enable a proportional-integral-derivative controller. The default configuration is a PI controller. Thus, the proportional and integral modes are "On" while the derivative mode is "Off." Implement a P-Only controller by turning the integral mode off. To do this, click "ON: Integral with Anti-Reset Windup" (located half way down the controller design menu) and choose "off: Integral Mode." Tuning values entered for the integral and derivative terms have no impact on controller computations when these modes are off. With this P-Only configuration, click "Set Point," then "Bias" and finally "Controller Gain" and enter the values you computed for these selections. Note that a negative value for KC is entered by using the "ON: Proportional Direct Acting, KC < 0" and entering the absolute value of the number into the box. When finished, click Done at the bottom of the controller design menu to put your controller in automatic. If you have performed the steps correctly, the strip chart should show the white measured temperature signal tracing (with some noise or random error) over the straight yellow set point line. There should be no sustained offset. 5) Test the performance of this controller in tracking set point steps. The set point is most conveniently changed by clicking on the "Set Point" box on the process graphic. Step the set point from 91C up to 95C and back to 91C. Observe the performance of your controller as it attempts to track the changes. Do you notice offset when the set point is different from the design value? Explore how the magnitude of KC impacts offset and the oscillatory nature of the controller response. Click the temperature controller (the TC in the circle on the graphic) and in the controller design menu, change your controller gain. If you think your controller is too aggressive because of large response oscillations, cut your KC in half. If your controller is rather slow or sluggish in its response, double your KC. Now make the same set point step as before. Keep changing your controller gain to search for a performance that balances offset against oscillatory behavior. Call this your "best" KC: "Best" KC = 11 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved 1.22 0.2 !P /!P KP ( ) Workshop 3: P-Only Control of Jacketed Reactor Temperature (cont.) 6) Using your "best" KC, put the set point at 91C and let the measured reactor exit temperature steady out. Now, step the set point from 91C up to 95C, then up to 99C, then 103C. Let the measured reactor exit temperature steady out after each set point step. You may need to use the "Change Strip Chart History" icon on the tool bar to increase the strip chart display to 80 minutes. What do you notice as the set point moves farther away from the design point of operation? 7) Study disturbance rejection performance of a P-Only controller. Using your "best" KC , put the set point back at 91C and let the measured reactor exit temperature steady out. Use the "Change Strip Chart History" icon from the tool bar and return the strip chart display to 30 minutes. Wait for previous changes to scroll off of the moving strip charts and when they show essentially straight lines, expand the plots using the "Rescale Vertical Axis" icon from the tool bar. Step the disturbance flow rate from 50C up to 60C by clicking on the cooling jacket inlet temperature box located to the left of the process graphic. The set point is at its design value, so why does the controller now show offset? Step the disturbance back and forth between 50C and 60C using different values of KC. If you think your controller is too aggressive, cut your KC in half. If your controller is rather slow or sluggish in its response, double your KC. Keep changing your controller gain to search for a performance that balances offset against oscillatory behavior. Call this your "best" KC tuning value. "Best" KC = How does controller gain impact offset and oscillatory behavior for P-Only disturbance rejection? Is your best KC for disturbance rejection the same as that for set point tracking? 12 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 4: The Hazard of Tuning PI Controllers by Trial and Error Objective: To build intuition about PI controller performance and tuning when the control objective is disturbance rejection. Also, to experience the drawbacks of trial and error tuning. Reference: "Practical Process Control" Chapters 6-9 1) Use LOOP-PRO's Custom Process to start a Single Loop Process simulation. Click the Process button on the graphic to open a Custom Process Construct Models Input Form. On the form, click the Process tab and select the Overdamped Linear Model and Self Regulating (Stable) Process options. Enter the process model parameters listed below. Click the Disturbance tab and repeat, entering the disturbance model parameters below. Click Done to start the simulation. "Guess and test" is an inefficient yet common method of tuning a PI controller. Here we create a process simulation and explore the disadvantages of trail and error tuning. Start by clicking Custom Process on LOOP-PRO's main screen and choose Single Loop Process. When the simulation starts, note that the graphic includes a Process button, Disturb(ance) button and Controller button (the C in the white circle). Click the Process button on the graphic to open a "Construct Process and Disturbance Models" custom process input form. First specify the controller output (CO) to measured process variable (PV) dynamic behavior. Click the Process Model tab (it should already be active if you have not done any exploring) and select the options: - Overdamped Linear Model - Self Regulating (Stable) Process Enter these process gain, time constant and dead time values to define the CO to PV dynamic behavior: Process Gain, Kp = 1.0 First Time Constant, P1 = 10.0 Second Time Constant, P2 = 1.0 Third Time Constant, P3 = 1.0 Lead Time, PL = 0 Dead Time, p = 1.0 Click the Disturbance Model tab at the top of the form, ensure that Overdamped and SelfRegulating options are selected, and specify the behavior of the disturbance (D) to PV dynamics: Disturbance Gain, K D First Time Constant, D1 Second Time Constant, D2 Third Time Constant, D3 Lead Time, DL Dead Time, D = = = = = = 1.2 12.0 1.2 1.2 0 1.2 Click Done at the bottom of the form to start the simulation. 13 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 4: Tuning PI Controllers by Trial and Error (cont.) 2) With the controller in manual, step the CO from 50% to 60% and back. Let the PV steady after each step. Repeat with a disturbance variable (D) step from 50% to 60% and back. Compare the two plots side-by-side. Can you see how the larger gain of the disturbance model has impacted the D to PV response compared to that of the CO to PV process response? Are the speeds of response different due to the differing time constants? CO to PV response behavior should differ from the D to PV response behavior because the dynamic models used to create each simulation are different. Verify this by stepping CO from its default value of 50% up to 60% and when the response is complete, back to 50%. Next, step D from 50% up to 60% and back to 50%. Compare the two responses side by side (you may need to use the History icon on the tool bar to see both responses). Does a step in the disturbance variable show a larger but slightly slower response associated with its larger gain and longer overall time constant? Compute Kp and K D from plot data to verify that the models you programmed are the same as the simulation behavior. 3) Click the Controller (C) icon on the graphic and select PID at the top of the controller design form. Specify a conservative (sluggish) PI controller by entering the tuning values: Set Point, SP = 50 Controller Gain, Kc = 1.0 (Proportional Action) Reset Time, I = 50 (Integral Action) For PI control, be sure that Integral Action is On and Derivative Action to Off. Click Done to put the controller in automatic (closed loop). 4) On the process graphic, step the disturbance variable, D, from 50% up to 60%. After PV settles, step D back to 50%. How would you characterize the controller performance? Seek to improve disturbance rejection performance by trying new Kc and/or I values. Guess new tuning values and test performance by stepping D from 50% to 60% and back. Repeat this procedure until you find "best" tuning values for disturbance rejection. Count the number of tests you make as you search by trial and error for your best tuning. Tuning a PI controller by "guess and test" wastes human and capital resources, and consumes feedstock and utilities. The result is lost productivity and reduced revenue. Explore the disadvantages of this often-used approach. The control objective is improved disturbance rejection performance. SP will remain constant throughout the study. Click the white "Disturbance, D" box on the graphic, step the disturbance variable from 50% up to 60% and after the response is substantially complete, step it back to 50%. 14 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 4: Tuning PI Controllers by Trial and Error (cont.) Seek to improve disturbance rejection performance by adjusting Kc and/or I on the controller design menu. The PI controller tuning map in Chapter 8 of the Practical Process Control book is for set point tracking, but may assist your thought process as you search for your best tuning values. Test new tuning values by stepping the disturbance from 50% up to 60% and back again. Repeat this procedure as necessary to arrive at "best" tuning values for this process and control objective. The History icon on the tool bar is useful for displaying more (or less) test data on the strip charts. In general, a better performing controller: - permits a smaller maximum deviation from set point (SP) after the disturbance, - quickly moves the PV back near the SP with modest (or even no) oscillations, and - avoids excessive CO action that can cause wear on a mechanical final control element (FCE). When you have determined best tuning values for disturbance rejection, record them below. Also record the number of tests you tried in your search for these best values. Kc = I = Number of tunings tests performed = If clock time on the simulation is showing minutes, how many hours of process time did this loop tuning exercise take? At 8 hours/shift, how many loops could you tune per shift at this rate? Hours of process timed used = (optional) 5) Repeat the above exercise with a set point tracking control objective. Start with your best disturbance rejection tuning values and determine by trial and error whether they are best for tracking SP steps from 50% up to 60% and back again. Record your best SP tracking tuning values: Kc = Number of loops tuned in 8 hour shift = I = Number of tunings tests performed = Is your best tuning for set point tracking the same as your best tuning for disturbance rejection? Did having disturbance rejection tuning values as a starting point help you find set point tracking tuning values with fewer tests? 15 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 5: PI Control of Heat Exchanger Temperature Objective: To learn about PI controllers and how tuning parameter interaction impacts controller performance. Also, to learn how Design Tools can automate controller design and tuning. Reference: "Practical Process Control" Chapters 6-9 1) Click LOOP -PRO's Case Studies icon on the main screen and select Heat Exchanger. The first step of the controller design and tuning recipe is to establish a design level of operation (DLO). Our goal in this study is to operate the heat exchanger at an exit stream temperature of 134 oC. The warm liquid disturbance flow rate is expected to be about 30 L/min during typical operation. Move the process to the DLO so we can perform a bump test that generates process data descriptive of our design level of operation. A design level of operation (DLO) includes the desired value for the measured process variable (PV), which we assume will be equal to the set point (SP) during normal operation. The DLO also includes the typical or baseline values for the important process disturbances (D). Our DLO for this study is a PV = SP = ____________ when D is normally = _____________ units units Click the disturbance box on the heat exchanger graphic and set the warm liquid flow rate to its expected value of 30 L/min. Now click on the controller output box and keep adjusting the controller output (CO) until the measured PV steadies at the design value of 134 oC. PV will steady at the DLO when D is at its expected value and when CO = CObias = ___________ units When the process has steadied at the DLO, wait until the previous experiments scroll off and the plots show essentially straight lines. Expand the vertical plot axes by clicking the Rescale icon. 2) The second step of the controller design and tuning recipe is to bump the process and collect CO to PV dynamic process data around the DLO while recording the data to file. Click the Save icon and name a file for data collection. A pop-up window offers storage rate and clock options. Click OK to accept the defaults. Data is now being recorded to file. Perform a doublet test. Step the CO from 42% up to 47%, down to 37%, and back to 42%. It is not necessary for PV to reach steady state, but wait for a clear PV response after each step. When done, again click the Save icon on the tool bar to stop saving data to file. Click the Pause (II) icon on the tool bar to pause the process. You now have a process data set that includes dynamic information both above and below the DLO. 16 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 5: PI Control of Heat Exchanger Temperature (cont.) Because processes are nonlinear (their Kp, p and/or p change as operating level changes), bump tests should generate data both above and below the DLO so a first order plus dead time (FOPDT) model fit will "average out" the nonlinear effects. A doublet test (stepping above and below the DLO in quick succession) meets this goal in an efficient manner. Hopefully, you found a CO of 42% causes the PV to settle at 134 oC when D is at 30 L/min. To perform a doublet test, click the Save icon on the tool bar and name a file for data storage. Accept the default data storage rate and clock options. Data storage is now in progress. Step the CO from 42% up to 47%, down to 37% and back to 42%. Let the PV show a clear response after each step, but you need not wait for each response to reach steady state. When the test is complete, again click the Save icon to turn file storage off. Pause the process. 3) The third step of the controller design and tuning recipe is to fit a First Order Plus Dead Time (FOPDT) dynamic model to the bump test data. LOOP-PRO can automate this task. Click the Design icon on the tool bar to navigate to Design Tools. From the Design Tools main screen, click the Open icon on the toolbar and import the data file you just created. The data in the file should be displayed on your screen with the Time, Manipulated Variable and Process Variable columns properly labeled. If you would like to see the raw data file to verify the column assignments, click the Edit File icon on the tool bar. The time stamp of your data is in minutes. Be sure the time units display shows this label. Click OK to accept the column and time unit labels and return to Design Tools' main screen. 4) The First Order Plus Dead Time (FOPDT) equation should be displayed at the bottom of the Design Tools main screen. If it is not, use the Select Model icon and choose it from the list. Click the Start Fitting icon to fit a FOPDT model to your doublet test data. A plot will show a yellow FOPDT model that should reasonably match the white PV response data. If the model doesn't look like the data, or if the data doesn't look like your doublet test, then a problem has occurred and the results cannot be used. Run the test (task 2) again. If the model describes the data to your satisfaction, Accept and Close the plot screen. A Model Parameters tab to the left on Design Tools' main screen shows the fit results. Record the FOPDT model parameters, including the sign (positive/negative) and units. Kp = p = p = 17 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 5: PI Control of Heat Exchanger Temperature (cont.) 5) Next to the Model Parameters tab on Design Tools' main screen is a PID Response tab. Click it and observe that a PI controller set point response is displayed (we know it is a PI response because that is the only controller checked in the adjacent IMC tuning chart). A Statistics chart and Stability tab replace the model equation box at the bottom of the screen. Study the statistics chart to learn what information is available to you. 6) The fourth step of the controller design and tuning recipe is to use the FOPDT parameters in rules and correlations to complete the design. Design Tools performs this step by showing an IMC controller tuning chart for the complete family of PID controllers. Tuning values in the IMC chart use the Internal Model Control correlations. For PI control: IMC tuning correlation: Kc = !p Kp (!p + !c) 1 and !I = !p Where the desired controller performance is specified with, c, the closed loop time constant: - aggressive: - moderate: - conservative: c is the larger of 0.1 p c is the larger of 1 p c is the larger of 10 p or 0.8 p or 8 p or 80 p If desired, c can be adjusted between these performance categories. Use the slide bar below the chart to adjust performance across the complete range from aggressive to conservative. The slide bar defaults to a moderate (middle) tuning c as shown in the image above. Record the moderate PI controller values displayed in the IMC tuning chart (with units): Moderate Tuning: Kc = I = Click on the slide bar button and move it so it points directly at the Aggressive label tick mark. Record the aggressive PI controller tuning values (with units): Aggressive Tuning: Kc = I = Use the IMC correlation above and your FOPDT model parameters from task 4 to verify that LOOP-PRO is computing the tuning values correctly. Why does I remain constant as the slide bar button is moved? 18 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 5: PI Control of Heat Exchanger Temperature (cont.) 7) Click the Process icon on the Design Tools toolbar to return to the heat exchanger process. Click the temperature controller icon (TC) on the heat exchanger graphic to open the controller design menu. At the top of the design menu, switch from Manual Mode to PID. Enter your SP (task 1) and moderate Kc and I tuning values (task 6). You must enter a positive Kc value and then select `Proportional-Direct Acting' to indicate that Kc is negative. Leave derivative disabled by selecting `off: Derivative Mode.' Click Done at the bottom of the design menu to put the PI controller in automatic. If you had closed the heat exchanger simulation, the Process icon will not be displayed in Design Tools. You must restart the heat exchanger from the main screen and return to the DLO (task 1). With the controller design menu open, switch from Manual Mode to PID to enable a proportionalintegral-derivative controller. The default design is for a PI controller with anti-reset windup logic. When the integral mode is On, a value for CObias cannot be entered. Like most all commercial controllers, a bumpless transfer procedure assigns a bias value when the loop is put in automatic. On the design menu, enter your design Set Point and moderate values for Controller Gain and Reset Time. Because this process has a negative gain, you must select the Proportional - Direct Acting mode and enter Kc as a positive number. Leave derivative mode off, thus making this a PI implementation. Click Done at the bottom of the menu to put your controller in automatic mode. 8) Click Continue () if your process is paused. Click on the set point box on the graphic and step the SP temperature from 134 oC up to 138 oC. After the response is complete, return the SP to 134 oC. Pause (II) the simulation when the PV steadies. Click on the temperature controller (TC) on the graphic, enter your aggressive Kc and I tuning values (task 6) and repeat the SP steps above. Pause the simulation. The History icon on the tool bar will allow you to see both tests on the strip chart. Describe the difference in SP tracking performance between moderate and aggressive tuning. Do the response plots look like that predicted in Design Tools? Why/why not? Average the moderate and aggressive tuning values from task 6 and record the result: Moderately-Aggressive Tuning: Kc = I = Using these tuning values, repeat the SP tests from 134 oC up to 138 oC and back. View a plot of the three SP tracking experiments side-by-side. Which provides the "best" performance? Explain how/why you made your decision. 19 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 5: PI Control of Heat Exchanger Temperature (cont.) 9) Study how the strong nonlinear behavior of this process impacts controller performance. Enter your aggressive PI tuning values and steady the process at a SP of 134 oC. Now step the SP in increments of 4 oC, from 134 oC up to 138 oC, then 142 oC and finally 146 oC. Let the PV steady after each step. Why does SP tracking performance change as operating temperature changes? What does the changing performance with operating level indicate about Kp, p and/or p? How does the changing controller performance with operating level relate to the first step in the controller design and tuning recipe (i.e., establish a DLO)? Can you now explain in more detail why the performance observed in task 8 does not look exactly like the performance response predicted in Design Tools? 10) Develop your intuition about how Kc and when SP tracking is the objective. I individually impact controller performance Start with your averaged moderately-aggressive tuning values from task 8. Double and halve each tuning parameter in an orderly fashion, and step the SP from 134 oC up to 138 oC and back. Does the changing SP response performance follow the trends shown in the PI controller tuning map below? 2 Kc I Base Case Performance Kc I I Copyright 2007 by Control Station, Inc. All Rights Reserved. Kc/2 /2 20 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved 2 Workshop 5: PI Control of Heat Exchanger Temperature (cont.) 11) Investigate the disturbance rejection capability of the PI controller. Enter your moderate PI tuning values (task 6) and a SP of 134 oC. Click Continue if the process is paused. When the previous experiments have scrolled off the strip charts and the plots show essentially straight lines, click Rescale to expand the vertical plot axes. Click the Warm Liquid Flow (D) on the heat exchanger graphic and step the flow rate of this disturbance stream from 30 L/min up to 40 L/min. After the response is complete, step it back to 30 L/min. Pause the process. Enter your moderately-aggressive and then aggressive tuning values and repeat the disturbance rejection test. View a plot of the three disturbance rejection experiments side-by-side. Which provides the "best" performance? Explain how/why you made your decision. Is your best tuning for disturbance rejection the same as that for set point tracking (task 8)? (optional) 12) Briefly explore the hazards of reset windup (windup occurs from improper programming of the integral term of the PI algorithm. The result is decreased performance whenever the final control element reaches a maximum or minimum constraint). Using your moderately-aggressive tuning values, put the SP at 134 oC, the warm oil disturbance flow rate at 30 L/min, click Continue if the process is paused, and let the process steady. Step the SP up to 180 oC. This set point is higher than the PV can physically reach. In fact, the valve hits its lower limit as the temperature approaches 170 oC. After the PV has steadied at its extreme value, step the SP back to 134 oC. Pause the process after the response completes. On the controller design menu, switch the integral term to Integral with Windup. Repeat the SP step up to 180 oC, wait for the PV to completely settle, then step the SP back to 134 oC. Pause when PV settles. Do you see a difference between the two responses? Specifically, note the delay that occurs before the PV starts its return to 134 oC for the "Integral with Windup" algorithm. This is because the integral term must mathematically "unwind" before the return response can begin. Compare Integral with Windup against Integral with Anti-Reset Windup logic for SP steps from 134 oC up to 138 oC and back again. Notice that as long as the CO signal does not reach a maximum or minimum constraint, controller performance is unaffected by choice of algorithm. 13) Now that you have learned the steps of a controller design and tuning recipe, return to Workshop 4 and repeat that study using your new skills. Compare the systematic method to the guess and test approach and make some decisions about the strengths and weaknesses of each. 21 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 6: PI Control of Distillation Top Composition Objective: To learn about the PI controller and to explore the interaction of the two tuning parameters on controller performance when disturbance rejection is the control objective. Also, to learn how Design Tools can automate dynamic modeling and controller design. Reference: "Practical Process Control" Chapters 6-9 1) A formal or systematic procedure for designing and tuning a controller is detailed in the "Practical Process Control" book and will be used in this study. This procedure is important because it is the one used in the plant, the lab and with Control Station simulations: (Aside: A summary of the procedure we will follow in this workshop is: a) Move the process to the design level of operation and when it reaches steady state, generate and record "measured process variable response to change in controller output" dynamic data. b) Fit a FOPDT (first order plus dead time) model to this data. Design Tools is well-suited for this modeling task, though graphical methods explored in earlier workshops can be used. c) Use the resulting FOPDT model parameters in a correlation to compute initial PID controller tuning values. d) Implement your controller on the actual process and perform final tuning by trial and error until control objectives are satisfied.) Begin this study by starting the Distillation Column process in Control Station. Here we focus on the control of the top composition loop in this study. The bottom composition loop will remain in manual mode at the default startup values throughout this workshop. Consider a case where the top composition is 90% when the feed flow disturbance is at its typical or expected value of 600 Kg/min. Record your design set point: PVsetpoint = Your first goal is to move the process to the design level of operation. Click the disturbance box shown on the graphic and set the column feed flow rate to its expected value of 600 Kg/min. Now search for the value of the controller output (that manipulates the reflux flow rate) that causes the measured top composition to steady at the design value of 90%. When you have moved your process to the design level of operation, wait until all of the dynamics have scrolled off screen on the data plots (wait until the plots show essentially straight lines) and expand the plots using the "Rescale Vertical Axis" icon from the tool bar. 2) Just as in the previous controller designs, we start a PI controller design with experiments to generate dynamic process data around the design top composition of 90%. Since you (hopefully) found a controller output of 45.4% causes the top composition to steady at 90%, make your changes starting at this controller output value. (Aside: Design Tools is not limited to simple step tests. In this study, we make a quick pulse up followed by a quick pulse down in the controller output. Such a doublet generates data both above and below our design level of operation, a desirable result when the process has a nonlinear character. This method also returns the process to the initial design value relatively quickly, which is a popular notion with operations staff.) 22 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 6: PI Control of Distillation Top Composition (cont.) Before starting the experiment, turn file storage on with the "Save" icon on the toolbar (with floating label "Save Data to File") on the tool bar. You must enter a file name before data storage begins. After entering a file name, a pop-up menu asks for a data storage rate and starting time. Accept the default values by clicking "OK." Storage of process data to file is now in progress. Step the controller output from 45.4% up to 47.4%. When the top composition has shown a clear response to this change (you need not wait for the response to reach steady state), step the controller output from 47.4% down to 43.4%. After a clear response to this change, step the controller output back to its original value of 45.4%. As soon as the final response is complete, click the "Stop Saving Data" icon on the tool bar to turn file storage off. While we focus only on the top composition in this workshop, note that every change in the reflux rate has a significant impact on the bottom composition. Exploring this multivariable interaction will be the subject of a later workshop. 3) Now use Design Tools to automatically fit a FOPDT model to this data. First pause execution of the Distillation Column process using the "Pause" icon on the tool bar. Then, use the "Design" icon on the tool bar to open Design Tools. From the Design Tools main screen, click the "Open" icon on the upper left of the toolbar. In the Open File pop up window, click the file name where you saved the process data and click "OK" to import your dynamic process data. After the file is read, it will be displayed on your screen with the Time, Manipulated Variable and Process Variable columns of data already properly labeled. If you agree that the data labels are correct, click "OK" to accept the column labels. (Aside: You can use the "Edit" button located at the upper right of this Data window and read the column labels if you are not sure which data each column contains.) 4) You should be back to the Design Tools main screen now. Make sure the "First Order Plus Dead Time (FOPDT)" model is displayed in the equation box at the bottom of the screen. If not, use the "Select Model" icon on the tool bar to select it from the library of models. Click the "Start Fitting" icon on the tool bar to start fitting the FOPDT model to the process data. If the fit is successful, Design Tools will display a plot. Use your judgment to determine whether the model reasonably describes the data you collected. Hopefully, the FOPDT model plot line (shown in yellow) will substantially approximate the response of the measured process variable data (shown in white). If the model does not describe the data reasonably well, then the tuning values computed from the model parameters will be questionable. If the model describes the data to your satisfaction, close the plot screen and note the FOPDT model parameters displayed to the left on Design Tools' main screen. Kp = p = p = 23 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 6: PI Control of Distillation Top Composition (cont.) 5) The main Design Tools screen will also display tuning parameter values for the P-Only, PI and PID controller. The PI controller gain, KC, and reset time, I , are computed using the IMC (Internal Model Control) correlation. The correlation is shown below, but you need not perform the calculation as Control Station has done it for you. Choose the PID tab on the tuning chart and be sure that the Closed Loop Time Constant sliding button below the tuning chart is directly centered between conservative and aggressive (floating label should read Moderate when you click on the sliding button). Record the tuning values for the PI controller: Moderate Tuning: ! C is the larger of ! P or 8 ! P IMC Tuning: KC = 1 !p K p (" p + ! c) I I = p KC = = 6) After recording the PI controller tuning values, close Design Tools to return to the Distillation Column process. Click the "Continue" icon on the tool bar to restart the simulation. (Note: if you had closed the distillation column simulation rather than navigating from it, you must again set the disturbance feed flow rate to 600 Kg/min and the controller output to 45.4% to move the process back to the design level of operation.) Click the top composition controller (the CC in the circle at the top of the column graphic) to open the controller design menu. Click "Manual Mode" at the top of the menu and from the list of controllers, choose PID. The default design is for a PI controller with anti-reset windup logic. (Aside: When the integral mode is on, the controller bias need not be entered. It is not needed because when the controller is put in automatic, the bias will be automatically set to the current value of the controller output. This provides a smooth or bumpless transfer to automatic.) On the design menu, click "Set Point," then "Controller Gain" and "Reset Time" boxes and enter the values you recorded above. Because this process has a positive gain, you must select the "Proportional - Reverse Acting" mode. Leave derivative time as zero, thus making the PID controller into a PI controller. When you are finished, click "Done" at the bottom of the menu to put your controller in automatic mode. 7) Test the performance of your controller in rejecting disturbances when the feed rate to the column suddenly changes. Starting with the design feed rate to the column of 600 Kg/min, step this disturbance feed rate up to 650 Kg/min and observe the response (it is most convenient to make step changes in the disturbance flow rate by clicking on the disturbance box on the distillation column graphic). After the response is complete, return the feed rate to 600 Kg/min to complete the disturbance rejection test. 24 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 6: PI Control of Distillation Top Composition (cont.) 8) Review the PI controller tuning map toward the end of Chapter 8 of the Practical Process Control book. Here we will develop a corresponding map that shows disturbance rejection performance as a function of PI controller tuning. To begin, return to Design Tools and repeat steps 3-5 (read in the data file and fit a FOPDT model) to arrive at the PID controller tuning chart. This time center the Closed Loop Time Constant sliding button half way between Moderate and Aggressive (floating label should read "Moderately Aggressive" when you click on the sliding button). Record the new KC and I values in the center "base case" cell below. Repeat Steps 6 and 7 with these new values and record the disturbance rejection performance as the base case performance. 2.0KC = 0.5I = 2.0KC = I = 2.0KC = 2.0I = Base Case KC = 0.5I = KC = I = KC = 2.0I = 0.5KC = 0.5I = 0.5KC = I = 0.5KC = 2.0I = 9) Fill out the rest of the chart by systematically doubling and halving KC and I and recording the values in the cells above. Now explore the disturbance rejection performance of the PI controller for the eight other cases in the tuning map. That is, for each set of tuning parameters, step the disturbance feed rate from 600 Kg/min up to 650 Kg/min, and after the response is complete, back again. Document the controller performance for each case. Can you see parallels in relative performance between tuning for disturbance rejection and tuning for set point tracking? 25 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 7: PID Control of Heat Exchanger Temperature Objective: To learn about the tuning and performance capabilities of a PID controller and to explore the interaction of the three tuning parameters on controller performance. Reference: "Practical Process Control" Chapter 10 1) Click LOOP -PRO's Case Studies icon on the main screen and select Heat Exchanger. Our objective is to operate the heat exchanger at an exit stream temperature of 137 oC when the warm liquid disturbance is flowing at about 10 L/min during normal operation. Perform steps 1 and 2 of the controller design and tuning recipe. That is, start recording process data to file and perform a doublet bump test around our DLO. The controller design and tuning recipe is presented step-by-step in Workshop 5: 1. Establish a design level of operation (DLO), including target values for the measured process variable (PV) and set point (SP) when the important disturbances (D) are at typical values. 2. Bump the CO to force a dynamic PV response around the DLO and record this data to file. 3. Fit a first order plus dead time (FOPDT) model to the data to describe the dynamic behavior. 4. Use the FOPDT model parameters in rules and correlations to complete the design and tuning. Performing steps 1 and 2 of the recipe on the heat exchanger are detailed in tasks 1 and 2 of workshop 5. Following that presentation: Our DLO for this study is a PV = SP = ____________ when D is normally = _____________ units units PV will steady at the DLO when D is at its expected value and when CO = CObias = __________ units To perform a doublet test in manual mode, steady the process at the DLO. Plan for step changes in CO that are small enough to cause minimal disruption to production, yet large enough to produce a PV response that clearly dominates noise and random disturbances in the measurement signal. The doublet test plan is to start from the DLO CO, step CO to __________ , then to __________ , then return CO to __________. Wait for PV to show a visually obvious response after each step. Start saving data to file, perform your bump test plan, then stop saving data. Pause (II) the process. 2) Perform step 3 of the controller design and tuning recipe. That is, use Design Tools to fit an approximating FOPDT model to the dynamic process test data from task 1 above. Record moderate and aggressive tuning values for the dependent, ideal PID controller. Use the Set Controller icon to switch to the dependent, interacting controller and record moderate and aggressive tuning values for this form as well. 26 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 7: PID Control of Heat Exchanger Temperature (cont.) As detailed in tasks 3 and 4 of Workshop 5: - Click the Design icon on the heat exchanger process tool bar to navigate to Design Tools. - Click Open and read in your file of dynamic process test data. - Click OK if the data columns are properly labeled and that the time stamp is in minutes. - Click Start Fitting to fit a FOPDT model to your CO to PV dynamic test data. - Visually inspect that the yellow model fit approximates the white PV data to your satisfaction. - Accept the model fit (if appropriate) to return to Design Tools' main screen and the IMC tuning chart. On the IMC tuning chart, click the white box next to PID. Leave PI checked as well. At the bottom of the tuning chart, the slide bar button defaults to moderate (middle) tuning. Slowly drag the slide bar button back and forth between aggressive and conservative performance. Watch the PID Response plot to gain some appreciation for PI vs PID differences and capabilities. Note: the PID Response plot provides good performance estimates for all algorithms except for PID when the slide button moves above the aggressive tuning tick mark. The plot predictions are good for all other algorithms, and is good for PID when the slide button is below aggressive tuning. Keep this in mind when drawing conclusions from the Response display. The IMC tuning chart title lists Dependent, Ideal PID as the current algorithm form. Use the slide bar to obtain moderate and aggressive PID tuning values. Record them below (with units): Moderate, Ideal PID Kc = Kc = I I = = D D = = Aggressive, Ideal PID Switch the IMC tuning chart to the Dependent, Interacting algorithm form by clicking the tool bar icon: Set Controller LOOP -PRO Generic Controller Algorithms PID... When the Select Algorithm window opens, study the chart to appreciate the broad array of controller options available from industry vendors (if you play with different options, restore: Step 1 = controller gain; Step 2 = error; Step 3 = reset time; Step 4 = measurement). Select Dependent, Interacting PID in Step 5 toward the bottom of the window, then click Done. On the Design Tools main screen, `Dependent, Interacting PID' should be displayed at the top of the IMC tuning chart. Record moderate and aggressive tuning values for this form (with units). Moderate, Interacting PID Kc = I I 27 = = D D = = Aggressive, Interacting PID Kc = Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 7: PID Control of Heat Exchanger Temperature (cont.) 3) Explore the impact of noise or random error in the measured PV signal on performance. To the lower right of Design Tools main screen (next to the statistics chart) is a Measurement Noise selection. Switch among the different noise levels and observe the PID Response plot. Check and uncheck PI and PID, and move the slide button back and forth (staying between aggressive and conservative performance) to help you visualize the impact of noise level. What is the benefit and disadvantage of PID relative to PI control? Consider both SP tracking and the consequences of CO chatter (CO Travel) in your performance evaluation. 4) Return to the heat exchanger and on the controller design menu, implement a PID controller using the options: Check the Advanced box at the top of the controller design menu Switch from manual mode to PID Proportional: ON: Proportional - Direct Acting Integral: ON: Integral with Anti-Reset Windup Derivative: ON: Ideal (Non-interacting) Derivative computed on: Measurement Enter your Moderate Ideal PID tuning values from task 2. Step the SP from 136 oC up to 138 oC and back to 136 oC, thus bracketing the DLO temperature of 137 oC. Repeat these set point steps using your Aggressive Ideal PID tuning values from task 2. Compare your observations to those made using the visual PID Response tool of task 3. With this added experience, what effect does measurement noise have on PID control performance? How does more aggressive IMC tuning impact set point tracking performance? Again consider both SP tracking and the consequences of CO chatter in your performance evaluation discussion. 5) Compare PID with PI control to directly establish how derivative action impacts performance. Enter Aggressive Ideal PID tuning values and step the SP from 136 oC to 138 oC and back. On the controller design menu, turn derivative mode Off (as an aside, note that by simply turning derivative off, the PI controller is not using its proper IMC tuning values). With derivative off, again step the SP from 136 oC to 138 oC and back. Does SP tracking change? How/why? Does CO chatter (CO travel) change? How/Why? 28 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 7: PID Control of Heat Exchanger Temperature (cont.) 6) Enable derivative mode by setting it back to On Ideal. Set the noise in the measured PV signal to zero to remove it as an issue in the next tasks (on the menu list, click: Tasks Change Measurement Noise enter 0.0 as the span Done). Build your intuition on the interaction that Kc, I and D have with each other. Starting with your Aggressive Ideal PID tuning from task 2, double and halve each of the tuning parameters in turn while leaving the other two parameters at the Aggressive IMC value. Observe how each parameter impacts performance for tracking SP steps from 136 oC up to 138 oC and back. Does derivative action clearly work to dampen oscillations? 7) With the measurement noise still set to zero, compare the performance of the ideal vs interacting controller. Enter your Aggressive Ideal PID tunings and step the SP from 136 oC to 138 oC and back. At the top the controller design menu, make sure Advanced is checked. Then switch to: - Derivative: ON: Interacting Enter your Aggressive Interacting PID tuning values. Repeat the SP steps from 136 oC to 138 oC and back. Show side-by-side plots that establish that (at least for this experiment) the Ideal PID controller tuned with the Ideal PID correlations provides identical performance to the Interacting PID controller tuned with the Interacting PID correlations. Do you think the two will always behave the same if designed and tuned using their proper correlations? Why? 29 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 8: PID with Filter and Control of the Multi-Tanks Process Objective: To learn about the tuning of a PID controller with CO filter when measured PV noise is large, and to explore the interaction of the four tuning parameters on controller performance. Reference: "Practical Process Control" Chapter 10 1) Click LOOP-PRO's Case Studies icon on the main screen and select Multi-Tank Process. We focus on the left two tanks (upper and lower tank 1). Controller 2 will remain in manual mode throughout this study and CO2 should remain steady at 61.5% at all times. During normal operation, the liquid level in lower tank 1 is about 3.0 m. The disturbance flow rate out of the bottom of tank, D1, is designed to pump at a fixed rate of 1 m3/min. Perform steps 1 and 2 of the controller design and tuning recipe. That is, start recording process data to file and perform a doublet bump test around our DLO. (Aside: With two sets of freely draining tanks set side-by-side, this is a multivariable version of the gravity drained tanks process. The two PVs are liquid level in the lower tanks. To maintain a PV at SP, each level controller adjusts the flow rate of liquid entering its own upper tank. Note from the screen graphic that each upper tank drains into both lower tanks. This creates a multivariable challenge because the actions of one controller affect both PVs. In this study we focus on upper and lower tank 1 and consider only a single-loop control objective. We will explore multivariable control in a later workshop. Be sure to observe, however, that changes to tank 1 on the left cause a corresponding reaction in tank 2 on the right.) The controller design and tuning recipe is presented step-by-step in Workshop 5: 1. Establish a design level of operation (DLO), including target values for the measured process variable (PV) and set point (SP) when the important disturbances (D) are at typical values. 2. Bump the CO to force a dynamic PV response around the DLO and record this data to file. 3. Fit a first order plus dead time (FOPDT) model to the data to describe the dynamic behavior. 4. Use the FOPDT model parameters in rules and correlations to complete the design and tuning. Our DLO for this study is a PV1 = SP1 = ___________ when D1 is normally = ____________ units units PV1 steadies at the DLO when D1 is at its design value and when CO1 = CO1bias = __________ units Controller 2 is to remain in manual and CO2 should be constant at 61.5% at all times in this study. Steady the process at the DLO. Plan for CO steps that cause minimal disruption to production, yet produce a measured PV response that clearly dominates the noise and any random disturbances. The doublet test plan is to start from the DLO CO1, step CO1 to _________ , then to _________ , then return CO1 to _________. Wait for PV1 to show a visually clear response after each step. Start saving data to file, perform your bump test plan, then stop saving data. Pause (II) the process. 30 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 8: PID with Filter & Control of Multi-Tanks Process (cont.) 2) Perform step 3 of the controller design and tuning recipe. That is, use Design Tools to fit an FOPDT model that approximates the dynamic process test data from task 1 above. For the dependent ideal algorithm, record moderately aggressive tuning values for the PID and PID with Filter controller. As detailed in task 3 of Workshop 5: - Click the Design icon on the multi-tank process tool bar to navigate to Design Tools. - Click Open and read in your file of dynamic process test data. - Click OK if the data columns are properly labeled and that the time stamp is in minutes. When you open your data file in Design Tools, notice the Select and Edit Data Columns screen displays nine columns of data. This is because the file contains data for both tanks 1 and 2. It is essential in this (and any) study that the data columns are properly labeled for model fitting. To verify that the column labels are correct., click the Edit File button on the tool bar and view the raw file. Your file should show the second column as tank 1 CO and the third column as tank 1 PV. Be sure these columns are labeled as such when you close the Edit File window. As detailed in task 4 of Workshop 5: - Click Start Fitting to fit a FOPDT model to your CO to PV dynamic test data. - Visually inspect that the yellow model fit approximates the white PV data to your satisfaction. - Accept the model fit (if appropriate) to return to Design Tools' main screen and the IMC tuning chart. Verify that the IMC tuning chart title is Dependent, Ideal PID. On the tuning chart, click the white boxes next to PID and PID with Filter. Unclick the PI box. Use the slide bar to obtain moderately aggressive tuning values for these two controllers. Record them below (with units): Moderately Aggressive, Ideal PID Kc = I = D = Moderately Aggressive, Ideal PID w/ Filter Kc = I = D = = 31 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 8: PID with Filter & Control of Multi-Tanks Process (cont.) 3) Use the Set Controller icon at the top of the Design Tools main page to switch to the dependent, interacting controller. Record moderately aggressive tuning values for this PID with filter form as well. Switch the IMC tuning chart to the Dependent, Interacting algorithm form by clicking the tool bar icon: Set Controller LOOP-PRO Generic Controller Algorithms PID... When the Select Algorithm window opens, study the chart to appreciate the broad array of controller options available from industry vendors (if you play with different options, restore: Step 1 = controller gain; Step 2 = error; Step 3 = reset time; Step 4 = measurement). Select Dependent, Interacting PID in Step 5 toward the bottom of the window, then click Done. On the Design Tools main screen, `Dependent, Interacting PID' should be displayed at the top of the IMC tuning chart. Record moderately aggressive tuning values for this form (with units). Moderately Aggressive, Interacting PID w/ Filter Kc = I = D = = 4) On the IMC tuning chart in Design Tools, confirm that PID and PID with Filter are checked and the other controllers are unchecked. Explore the impact of noise or random error in the measured PV signal on performance. To the lower right of Design Tools main screen (next to the statistics chart) is a Measurement Noise selection. Switch among the different noise levels and observe the PID Response plot. Check and uncheck PID and PID with Filter, and move the slide button back and forth to help you visualize the differences in performance in the presence of noise for the two controllers. Note: the PID Response plot provides good performance estimates for all algorithms except for PID when the slide button moves above the aggressive tuning tick mark. The plot predictions are good for all other algorithms including PID with Filter, and is good for PID when the slide button is below aggressive tuning. Keep this in mind when drawing your conclusions. Based on the PID Response plot predictions, what is the benefit and disadvantage of PID relative to PID with Filter control? Consider both SP tracking and the consequences of CO chatter (CO Travel) in your performance evaluation. 32 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 8: PID with Filter & Control of Multi-Tank Process (cont.) 5) Return to the multi-tank process and set the PV noise for tank 1 to 0.05 m (on the menu list click Tasks Tank 1 Change Measurement Noise enter 0.05 as the span). Run three set point (SP) step tests and compare them side by side. The Advanced option at the top of the Controller Design Menu must be selected. Remember that tank 2 will remain in manual mode at all times. Click the Process icon on the tool bar in Design Tools to return to the process. Set the measurement noise by using a right mouse click, or click Tasks on the Multi-Tank menu list. Enter 0.05 as the span. On the Controller Design menu, use the options: Check the Advanced box at the top of the menu Switch from manual mode to PID Proportional: ON: Proportional - Direct Acting Integral: ON: Integral with Anti-Reset Windup Derivative: ON: Ideal (Non-interacting) Derivative computed on: Measurement Set Derivative Filter: Off a) On lower tank 1, implement your Moderately Aggressive, Ideal PID tuning values from task 2. Step the SP from 3 m up to 4 m and back again. Pause the process. b) Implement your Moderately Aggressive, Ideal PID w/ Filter tuning values from task 2. Make sure the Derivative Filter is On. Step the SP from 3 m up to 4 m and back again. Pause the process. Click the History icon on the tool bar and increase the amount of data displayed in the trend plots (try 500 minutes) so you can compare performance c) Set the noise for tank 1 to 0.0 m (i.e. right mouse click and enter zero measurement noise). Again implement your Moderately Aggressive, Ideal PID tuning values. Be sure to turn the Derivative Filter Off. Step the set point from 3 m up to 4 m and back again. Pause the process. View a fixed plot the compares the three controller side-by-side. Discuss your observations. Beyond your own observations, discuss: - how noise in the measured PV impacts PID control performance? - how effectively the filter addresses the excessive movement (chatter) in the CO signal? - how the three mode PID controller when no measurement noise present compare with the four mode PID controller with Filter in the presence of PV noise? - whether the filter appears to eliminate the negative effects of noise in the measured process variable? 33 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 8: PID with Filter & Control of Multi-Tank Process (cont.) 6) Investigate how the size of the derivative filter, , impacts controller performance. Set the measurement noise for tank 1 back to 0.05 m and again implement your Moderately Aggressive, Ideal PID w/ Filter tuning values from task 2. Step the set point from 3 m up to 4 m and back again. Double the derivative filter, , and repeat the SP steps. Continue doubling and stepping the SP until the trend becomes clear. What do you conclude about the impact of derivative filter on set point tracking performance? 7) Compare the Ideal vs. Interacting PID with Filter controllers. Keeping the PV noise for tank 1 at 0.05 m and your Moderately Aggressive, Ideal PID w/ Filter tuning values from task 2, step the set point from 3 m up to 4 m and back again. Pause the process. Now implement your Moderately Aggressive, Interacting PID w/ Filter tuning from task 3. Be sure on the controller design menu to switch the derivative mode to ON Interacting. Step the set point from 3 m up to 4 m and back again. Pause the process. Create a plot comparing the two controllers side-by-side. When assigned their proper tuning values, the performance of the two controller forms should be identical. Is this what you observed? 34 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 9: Adaptive PI Control of Nonlinear Processes Objective: To explore how a parameter scheduled adaptive controller can improve controller performance over a range of nonlinear operation. Reference: "Practical Process Control" Chapters 6-10 1) Here we explore the design and implementation of a parameter scheduled adaptive PI controller. The process will be a nonlinear simulation created using Custom Process. Start by clicking on the Custom Process button on Control Station's main screen; then choose Single Loop Process. When the simulation starts, notice that the graphic to the right of the scrolling plots is comprised of a Process button, Disturb(ance) button and Controller button (the C in the white circle). To create the nonlinear simulation, click the Process button on the graphic. This opens a "Construct Process and Disturbance Models" form. Click the Process Model tab. To create a nonlinear dynamic process behavior, click the "Overdamped Linear Model" selection on the form and change it to "Overdamped Nonlinear Schedule Model." Leave the other two selections as "Self-Regulating (Stable) Process" and "Constant Parameters Beyond High/Low PV." The model input form provides for the entry for three linear process models, one each at a low, middle and high basis value of the measured process variable. (Aside: The nonlinear simulation method used in Custom Process exploits the fact that a linear model can accurately describe the behavior of a nonlinear process for a narrow range of operation, and that nonlinear behavior can be simulated by averaging the dynamics of multiple linear models. During simulation, Custom Process identifies the two linear models whose basis values bracket the current value of the measured process variable. The dynamic behavior of these two linear models is then interpolated to simulate the nonlinear behavior of the process. The closer the measured process variable is to a particular basis value, the more weight that linear model is given in the interpolation. If the current measured process variable is outside the bounds of the basis values, the dynamics of the two closest models are extrapolated.) Enter the process gain, time constants and dead time listed below. Each set of parameters defines the dynamic process behavior at a specific value of the measured process variable. These linear models are then weighted and combined to provide a nonlinear behavior over the complete range of process operation: Low PV Process Variable Basis Process Gain, Kp First Time Constant, P1 Second Time Constant, P2 Third Time Constant, P3 Lead Time, PL Dead Time, p 20 3 30 3 0 0 3 Middle PV 50 2 20 2 0 0 2 High PV 80 1 10 1 0 0 1 We will not enter a disturbance model because we will not be exploring disturbance rejection performance in this workshop. When finished, click Done at the bottom of the form to start the simulation. 35 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 9: Adaptive PI Control of Nonlinear Processes (cont.) 2) Verify that the behavior of your Custom Process simulation matches the model values you entered in Step 1. To do this, generate dynamic test data around each of the process variable basis values and then use Design Tools to model the data. Our goal is to have each Design Tools fit match the parameter values we entered into Custom Process. Adjust the controller output signal until the measured process variable is very near the low basis value of 20 (hint: try a CO of 39.9%). When the process is steady, start saving data in a file, say PV20.txt. To get the best data set and thus the most accurate model fit, save every sample of data to file. To do this, after you enter the file name, a Save Simulation History form opens. Change the storage rate in that form to Every 1 Point. Now that you have begun saving data, step the controller output a small amount (hint: try stepping the CO from 39.5% up to 40.1%). Read PV20.txt into Design Tools. From the Select Model list, choose the Second Order Plus Dead Time (SOPDT) model (recall that when we entered two time constants, we were entering a SOPDT model into our Custom Process). Fit the data and verify that the SOPDT fit yields values that are close to those entered in the Low PV column in Step 1. Repeat this procedure very near the measured process variable basis values of 50 and then 80. Verify that Design Tools yields SOPDT model values that reasonably match those entered in Step 1 for each of these levels of operation. 3) Design and implement a fixed-tuning PI controller (not adaptive) around the design level for the measured process variable of 20 (hint: your file PV20.txt already has the process data you need for this task). As always, you will need to use a FOPDT model to obtain controller tuning values. Choose the PID tab on the tuning chart and be sure that the Closed Loop Time Constant sliding button below the tuning chart is half way between Moderate and Aggressive (floating label should read "Moderately Aggressive" when you click on the sliding button). Record your results: Moderately Aggressive, Ideal PI KC = I = 4) Set the fixed-tuning PI controller in automatic by entering the values found in step 3 into the Controller Design Menu (click on the C in the white circle). Start with a set point of 20 and let the process steady. Step the set point from 20 up to 35, and then 50, and then 65. Let the process steady after each step. How does the set point tracking performance change as the level of operation moves higher? Does the controller output signal become constrained and contribute to the change in performance? If not, why does the controller become increasingly sluggish? 5) Design and implement an adaptive PI controller. To use the adaptive feature, choose the Adaptive toggle under "Specify PID Controller Parameters". Click the Edit Adaptive Schedule that now appears. Much like the Custom Process nonlinear process model input form, a Construct Adaptive PID Parameter Schedule form will open. This form lets you enter tuning parameters at three basis values of the measured process variable. 36 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 9: Adaptive PI Control of Nonlinear Processes (cont.) (Aside: The adaptive mechanism continually adjusts the tuning of the PID controller. At each sample time, the controller computes a weighted average of the tuning parameters whose basis values bracket the current measured process variable. The closer the measured process variable is to a particular basis value, the more weight those tuning parameters receive in the interpolation. If the measured process variable is outside the bounds of the basis values, the tuning parameters are extrapolated.) Since we are testing our controller in a set point range of 20 to 65, we should select basis values for tuning that bracket this range. Step 2 gave us dynamic test data at measured process variable basis values of 20, 50 and 80. These bracket our range of operation and therefore are reasonable choices for basis values. You might also choose to collect new dynamic data at measured process variable values of, say, 20, 43 and 65 and use these more targeted values in our Adaptive PID Parameter Schedule. Neither choice is wrong and the decision is left to you. Whatever your choice, record your three sets of tuning values and their associated basis values. Use "Moderately Aggressive" PI tuning: Low PV Basis = Middle PV Basis = High PV Basis = KC = KC = KC = I I I = = = 6) Enter your parameter schedule and put the adaptive PI controller in automatic. Set the set point to 20 and let the process steady. As with the fixed PI tuning, step the set point from 20 up to 35, then to 50, and then 65. Let the process steady after each step. How does the set point tracking performance change as the level of operation moves higher. Does the adaptive controller maintain performance across the range of operation? Can you see in the controller output signal trace that the controller changes its effort as operating level changes? (Optional) 7) Repeat this workshop with a three mode PID controller. 8) Repeat this workshop with a four mode PID controller with derivative filter. 37 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 10: Modeling and Simulation of Single Loop Processes Objective: To learn how Design Tools and Custom Process can be used to model, simulate and explore controller design of single loop processes. Reference: "Practical Process Control" Chapters 6-7 1) In this workshop, we learn how to model and simulate a single loop process. We pretend here that the Jacketed Reactor is our "real" process, and we explore how to create a simulation of it using Custom Process. The procedure detailed here is important to understand because it is the same one you would follow in a real process in the plant or lab. (Aside: A summary of the procedure we will follow in this workshop is: a) At the design level of operation, collect controller output to measured process variable dynamic data. Also, for the dominant disturbance, collect disturbance to measured process variable dynamic data. b) Use Design Tools to fit a first order plus dead time (FOPDT) model to the controller output data set. Use the resulting model parameters to compute controller tuning values. c) Use Design Tools to fit second order models to both controller output and disturbance data sets. The resulting models are implemented in Custom Process to simulate the process. d) Implement a controller in Custom Process and test it in tracking set points and/or rejecting disturbances. Refine the design and tuning as needed. e) When satisfied with the controller performance in Custom Process, return to the actual process for final implementation.) 2) To begin, start the Jacketed Reactor (not the cascade) process. This will serve as our "real" process for the study. The first step outlined above is to collect data at the design level of operation, which in this study is a reactor exit stream temperature (the measured process variable) of 92 C. The cooling jacket inlet temperature (the disturbance) is expected to be about 50 C during normal operation but may occasionally spike as high as 60 C. Rejecting the influence of this disturbance spike so the reactor exit stream temperature remains as close as possible to 92 C will be the focus of our design. (Aside: The temperature of the reactor exit stream is directly related to percent conversion of reactants to products and thus can be used to infer product purity. Though product purity is our true control objective, reactor temperature is an inexpensive and reliable measured variable substitute.) With the reactor at steady state at the design level of operation, note the values of the controller output, measured process variable and disturbance. We will need these values for the simulation: CODesign = PVDesign = DISTDesign = Begin saving data to a file (called, say, PROCESS.TXT). Step the controller output from the design level of 42% up to 47%, then down to 37%, and back to 42%. Let the process show a clear response between steps. Stop saving data after the process variable returns to steady state. Again begin saving data to a file (called, say, DISTURB.TXT) and step the cooling jacket inlet disturbance temperature from 50 C up to 60 C, and after the process responds, back to 50 C. Stop saving data after the measured process variable steadies. 38 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 10: Modeling and Simulation of Single Loop Processes (cont.) 3) Exit the reactor process and return to the main Control Station screen. At this point we pretend that we have just returned from the plant with dynamic process data on disk. Start Custom Process and choose Single Loop Process from the list. Once the simulation has started, click Pause to suspend activity and then navigate to Design Tools. Read in file PROCESS.TXT, fit a FOPDT model to the data and use the model parameters to compute a PI controller gain, KC, and reset time, I , using the IMC tuning correlation. Record the results. Also, record the FOPDT SSE for this fit in the space provided in step 4 below. KC = I = (Aside: The sum of squared errors (SSE) shown at the bottom of the Model Parameters table indicates how well the linear model describes the process data contained in the file. A smaller SSE indicates a better goodness of fit. Thus, SSE is useful for comparing how accurately different models describe the data.) 4) Next determine a second order model that best describes the open loop dynamic process behavior. The open loop behavior of the jacketed reactor, like a great many chemical processes, is well described with a second order plus dead time (SOPDT) model. (Aside: The SOPDT with Lead model available in Design Tools is also useful in describing the open loop dynamic behavior of certain processes and we will investigate this model form in later workshops. We do not consider the second order underdamped model in any workshops because very few chemical processes require its inherent oscillating nature to describe their open loop dynamic behavior.) Click on the Select Model button on the Design Tools tool bar and choose the SOPDT model form. Fit the data with the SOPDT model and record the SSE below: FOPDT SSE = SOPDT SSE = Hopefully, the SOPDT model yields a smaller SSE value, indicating that it best describes the process data. Record the SOPDT model values for use in the Custom Process simulation. Kp = p,1 = p,2 = p = 5) Repeat step 4 above for the data in file DISTURB.TXT. Note: after reading in a data file, Design Tools requires that you label the time, manipulated variable and process variable data columns. In previous exercises, the default labels have been correct. Recall that for this file, it was the cooling jacket inlet temperature that was manipulated, not the controller output signal. Thus, you must click on the Manipulated Variable label currently above the second column of data, and then drag and drop the label over to the top of the last column of data in the file. This properly labels the disturbance changes as the manipulated data. If you are unsure about this, scroll down the data to verify that this column contains the step disturbance manipulation between 50 C and 60 C. 39 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 10: Modeling and Simulation of Single Loop Processes (cont.) Fit the disturbance data with the FOPDT and SOPDT model and record the SSE for each fit: FOPDT SSE = SOPDT SSE = Again the SOPDT model (hopefully) shows improved ability to describe the process data. Note the values for the disturbance driven SOPDT model: KD = D,1 = D,2 = D = 6) The next step in the procedure is to implement the process and disturbance model parameters in Custom Process to create a jacketed reactor control simulation. Exit Design Tools and return to the single loop Custom Process. The graphic to the right of the scrolling plots contains a Process button, Disturb(ance) button and Controller button (the C in the white circle). To create the simulation, click on the Process button to open a Construct Process and Disturbance Models menu. The Process Model tab will be active. The SOPDT model is an overdamped linear model so be sure that model is selected on the menu. Enter the process gain, two time constants and dead time that define the controller output driven data as determined in step 4. Take care to enter each parameter in its proper box. Parameters not used in the model should read zero. Now click on the Disturbance Model tab and enter the process gain, two time constants and dead time that Design Tools computed to describe the disturbance driven data in step 5. This also is a overdamped linear model form. Parameters not used in the model should read zero. Custom Process assumes as a default that the controller output, process variable and disturbance variable have a minimum value of 0, a maximum value of 100, and a design level startup value of 50. As in this study, these values are not always appropriate for a simulation. In step 2 we noted the design level start up values. The minimum and maximum values along with these start up values are listed in the table below. (Aside: The minimum and maximum values for the reactor process actually have a larger span than that listed below. Recall that we are approximating a "real" nonlinear process with simplifying linear models. The farther we move from our design conditions, the more suspect the linear models become in describing actual process behavior. Hence, we deliberately narrow this span to a range where we believe the linear models will be reasonably accurate.) Click on the Zeros and Spans tab and enter the maximum, minimum and start up values for each variable of the process as listed in the table: Controller Output Minimum Value Maximum Value Start up Value 0 100 42 Process Variable 60 110 92 Disturbance 40 60 50 40 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 10: Modeling and Simulation of Single Loop Processes (cont.) When finished, click on Done to start the simulation. You now are simulating the Jacketed Reactor process. Test the open loop dynamic behavior by stepping the controller output and disturbance variable and observing the measured process variable response. Return the process to the design conditions when you accept the simulation as appropriate. 7) Click on the controller icon on the graphic, select a PID controller, and enter the controller gain and reset time determined in step 3 (leave the derivative time as zero). Since the controller gain is negative, be sure you specify that the sense of the controller is direct acting. The integral mode should have antireset windup logic. Test the controller performance in tracking a set point step from 92 C up to 95 C and back to 92 C. Then test the controller in rejecting disturbance steps from 50 C up to 60 C and back to 50 C. Do your responses look similar to that of the actual Jacketed Reactor process shown below? If so, you have successfully used Control Station to simulate this "real" process. Why do you think there are differences between your simulation and the behavior of the actual reactor process as shown? Process: Single Loop Jacketed Reactor 96 94 92 90 88 80 60 40 20 0 60 55 50 Single Loop Reactor Under PI Control Cont.: PID ( P= DA, I= ARW, D= off, F = off) Disturbance Controller Output PV/Setpoint 30 35 40 45 50 55 60 65 Time (mins) 70 75 80 85 90 Tuning: Gain = -4.40, Reset Time = 2.10, Sample Time = 1.00 Set point tracking and disturbance rejection performance of the Jacketed Reactor process 8) From the main Control Station screen, start the Jacketed Reactor (not the cascade) process. Click on the controller icon on the graphic and enter your PI controller tuning values just as in step 7 above. Repeat the set point tracking and disturbance rejection test and verify the above plot is accurate. Does your disturbance rejection performance look like that shown in the plot? It is especially important to verify this because Workshops 10 and 11 focus on using cascade control and feed forward control for improved disturbance rejection in the jacketed reactor. The above plot will be used as a baseline to establish benefits for these advanced architectures. 41 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 11: Cascade Control of the Jacketed Reactor Objective: To explore cascade controller design and implementation. Also, to compare disturbance rejection performance of a cascade architecture with that of a lone PI controller for the jacketed reactor process. Reference: "Practical Process Control" Chapter 18 1) Start the cascade jacketed reactor simulation. Like all cascade architectures, the process graphic shows two measured variables, two controllers, but only one manipulated variable (one valve). The upper strip chart on the screen shows the primary process variable (the reactor exit temperature), the middle strip chart shows the secondary process variable (the cooling jacket outlet temperature), and the bottom strip chart shows the secondary controller output signal. The control objective is to maintain reactor exit temperature at 92 oC. Reactor exit temperature indicates percent conversion of reactants to products, so this exit temperature is the primary or outer loop process variable. The cooling jacket inlet temperature (the disturbance) is expected to be 50 oC during normal operation but occasionally may spike as high as 60 oC. Our controller design will focus on rejecting this disturbance so the reactor exit stream temperature remains as close as possible to 92 C. Begin this study with the process steady at the design level of operation. Offset is unacceptable for reactor temperature control because off-spec product means lost profit. Hence, a PI controller will be used on the primary loop. The secondary or inner controller maintains jacket exit temperature at the design value of 75.6 o C. A fast and simple controller is desired here. Since we do not sell cooling jacket water, offset does not present a problem and a P-Only controller will serve our purpose. Consider the discussion above and the cascade jacketed reactor graphic on your screen, then record this design information for later: Secondary (inner) P-Only Controller: Primary (outer) PI Controller: Tsetpoint = Tsetpoint = CObias = 2) Cascade controller design begins with the secondary controller (the cooling jacket exit temperature control loop). This will be a P-Only controller designed to track set point updates sent from the primary controller. Controller tuning follows the same procedure presented in earlier workshops. Begin saving data to file (say, SECOND.TXT) and generate dynamic data by stepping the controller output from 42% down to 37%, then up to 47%, and finally back to 42%. Let the response become clearly established before making each change. Turn file storage off when the response is complete. 3) Pause the reactor simulation, navigate to Design Tools and read in SECOND.TXT. You will notice the Label Data Columns screen displays eight columns of data. This is because the file contains data for both the secondary and primary control loops. It is essential in this (and any) study that the columns be properly labeled for model fitting. 42 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 11: Cascade Control of the Jacketed Reactor (cont.) If you are unsure which columns of data in the file are for the secondary control loop, click on the Edit File icon on the upper right of the tool bar and read the headings contained in the file. For the cascade reactor, the second column will hold the secondary controller output (manipulated variable) data and the third column will hold the secondary measured process variable data. After you close the Edit window, be sure these columns are labeled accordingly. Fit a FOPDT model to the data and if the fit looks reasonable to you, close the plot window and record the "Aggressive" P-Only controller gain (the Closed Loop Time Constant sliding button below the tuning chart should be directly over the Aggressive label and the floating label should read Aggressive when you click on the sliding button). Record the result: Secondary Controller: Aggressive P-Only controller gain, KC = Remember that if the model does not reasonably approximate the data, the controller tuning values computed from the model parameters will be suspect. 4) Close Design Tools and return to the cascade reactor. Click on the secondary controller icon on the reactor graphic (the controller for the cooling jacket exit temperature) and implement a P-Only controller (select a PID controller and turn the integral and derivative action off). Enter your set point, bias and controller gain as recorded above and click Done. Make sure you have the control action (direct or reverse acting) properly selected. Test the controller in tracking set point steps near the design conditions. When you are satisfied that the set point tracking performance balances a rapid response with a short settling time, leave the secondary controller in automatic and proceed to design the primary controller. 5) Pause the simulation and place the primary controller in PID mode (accept the default tuning parameter values for now this is just to look at the control loop architecture). With both controllers in automatic, the process graphic illustrates that the primary controller output is indeed the set point of the secondary controller. Thus, stepping the set point of the secondary controller is the same as stepping the controller output of the primary controller. Note that because of this cascade architecture, the output of the primary controller has units of C rather than the more traditional units of %. Return the primary controller to Manual Mode and continue the simulation. Begin saving data to file (say, PRIMARY.TXT) and generate dynamic data by stepping the secondary set point from 75.6 C down to 72.6 C, then up to 78.6 C, and finally back to 75.6 C. Allow the process to respond before making each change. When the data has been collected, turn data file storage off. 6) Again use Design Tools to tune the controller. Read in PRIMARY.TXT and before fitting, make sure the columns of data are properly labeled (the default labels are NOT correct). Click on the Edit File icon on the upper right of the tool bar and locate the primary control loop columns of interest in the data file. After you close the Edit window, drag the Manipulated Variable and Process Variable headings over the proper columns of data. 43 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 11: Cascade Control of the Jacketed Reactor (cont.) Proceed with the FOPDT model fit and if the fit looks reasonable, close the plot window to return to the controller tuning chart. Record the Aggressive PI controller tuning parameters: Primary Controller: Aggressive PI tuning parameters: KC = I = 7) Return to the jacketed reactor simulation, click on the outer primary controller and implement your PI controller. With both controllers in automatic, test the disturbance rejection capabilities of the cascade architecture by making step changes in the cooling jacket inlet temperature from 50 C up to 60 C and back to 50 C again. As shown below, the reactor exit temperature for the single loop (not cascade) case ranges during the disturbance from about 88 C to 95 C. Compare the performance of the cascade architecture in rejecting the disturbance to that of the single loop controller. 8) Step the set point from 92 C up to 95 C and back. Compare the results to the above single loop case. Does the cascade architecture offer any benefit in set point tracking performance? (optional) 9) Implement Moderate and More Conservative P-Only tuning values for the secondary controller and comment on how disturbance rejection performance is impacted. How does disturbance rejection performance change if you put a PI controller on this inner loop? Explore how tuning adjustments to the outer primary PI controller affect disturbance rejection performance. Does adding derivative action show any benefit? 44 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 12: Feed Forward Control of the Jacketed Reactor Objective: To explore feed forward controller design and implementation. Also, to compare disturbance rejection performance of a feed forward controller with that of a lone PI controller for the jacketed reactor process. Reference: "Practical Process Control" Chapter 19 1) Start the Jacketed Reactor (not the cascade) process. The design level of operation is a reactor exit temperature of 92 C. Reactor exit temperature indicates percent conversion of reactants to products so maintaining this exit temperature is our control objective. The cooling jacket inlet temperature (the disturbance) is expected to be 50 C during normal operation but occasionally may pulse as high as 60 C. Our controller design will focus on rejecting the influence of this disturbance. Begin this study with the process steady at the design level of operation and record the design set point: Tsetpoint = 2) A feed forward control element will be used in combination with a traditional feedback controller in this study (called feed forward with feedback trim). The feed forward element is comprised of a process model that describes the dynamic behavior of the process variable in response to controller output changes, and a disturbance model that describes the dynamic behavior of the process variable in response to disturbance changes. (Aside: Feed forward, like cascade control, is used for improved disturbance rejection. Feed forward control is appropriate when one particular disturbance causes a significant disruption to process operation. For feed forward implementation, a sensor must be installed to measure this disturbance. A feed forward model must be programmed to compute a sequence of control actions that will just counter the impact of each disturbance event on the measured process variable.) Tuning requires controller output to process variable dynamic data. For this study, this same data will also be used to fit the process model required for construction of the feed forward element. Start saving data to file (say, PROCESS.TXT) and perform an open loop test by stepping the controller output from 42% 5%. Let the response become clearly established before making each change. Turn file storage off when the response is complete. 3) Disturbance to process variable dynamic data is needed for the disturbance model in the feed forward element. With the process at steady state, start saving data to another file (say, DISTURB.TXT). Step the disturbance (the cooling jacket inlet temperature) from 50 C up to 60 C and after the process has responded, back to 50 C. When the response is complete, stop saving data. 4) Pause the simulation and navigate to Design Tools. Open the PROCESS.TXT file and verify that the first, second and third data columns are labeled as time, manipulated variable and process variable, respectively. Fit a first order plus dead time (FOPDT) model to the data and record aggressive PID tuning values. That is, be sure the Closed Loop Time Constant sliding button below the tuning chart is directly over the aggressive label (floating label should read Aggressive when you click on the sliding button). Record your tuning values: Aggressive PI Tuning: KC = I = 45 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 12: Feed Forward Control of the Jacketed Reactor (cont.) Also record the FOPDT model parameters for use in constructing the process model portion of the feed forward element. Include the SSE to gauge of goodness of model fit. Kp = p = p = SSE = Later we will compare the benefit of different models on feed forward performance. Use the "Select Model" button on the Design Tools tool bar to select a second order plus dead time model (SOPDT) and fit it to the process data. Record the results: Kp = p,1 = p,2 = p = SSE = Based on the SSE, does the SOPDT model show any meaningful improvement in describing process behavior compared to the FOPDT model? 5) Open DISTURB.TXT and as before, verify that the first and third data columns are labeled as Time and Process Variable respectively. For this data set, recall that it was the disturbance variable that was manipulated during the dynamic experiment. Scroll down the data to verify that the last column in the file contains the disturbance step from 50 C to 60 C. You can also edit the file to confirm this. After you have verified the disturbance data, click on the Manipulated Variable label currently above the second data column and drag it to the top of the last column in the file. This properly labels the disturbance changes as the manipulated data for model fitting. Fit a first order plus dead time (FOPDT) model to the data and record the FOPDT model parameters for use in constructing the disturbance model portion of the feed forward element: KD = D = D = SSE = Also select a second order plus dead time model (SOPDT) and fit it to the disturbance data. Record the model parameters and SSE: KD = D,1 = D,2 = D = SSE = Based on the SSE, does the SOPDT model show improved capability in describing the disturbance behavior over the FOPDT model? 6) Close Design Tools and return to the jacketed reactor. Click on the controller icon on the reactor graphic. In the white box at the top of the controller design menu, select the PID with Feed Forward controller. Enter the set point from step 1 and PI controller KC andI from step 4. On the right side of the menu, click on the Process tab and enter your FOPDT process model parameters from step 4. Then click on the Disturb(ance) tab and enter your FOPDT disturbance model parameters from step 5. Leave parameters not included in the model as zero. Click Done to put the controller in automatic. 46 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 12: Feed Forward Control of the Jacketed Reactor (cont.) (Aside: For the feed forward model to be physically realizable (mathematically solvable), the dead time of the disturbance model must be greater than or equal to the dead time of the process model. Otherwise, the math would say that the feed forward corrective actions must start before the disturbance even occurs! This is not a limitation of Control Station but a physical and mathematical reality of all feed forward elements. If your model fits from steps 4 and 5 do not meet this criterion, you must arbitrarily change the disturbance or process model dead time to make them equal. Unfortunately, such a change will reduce model accuracy and degrade feed forward performance.) 7) Test the disturbance rejection performance of this feed forward with feedback trim implementation. Make step changes in the disturbance from 50 up to 60 C and back to 50 C again. When the response is complete, pause the simulation. To determine the benefits of the feed forward element, click on the controller icon and the in the white box at the top of the controller design menu on. Select the regular PID controller (without feed forward). Leave the Derivative Mode off. Start the simulation and repeat the step changes in the disturbance from 50 C up to 60 C and back to 50 C. How do the two controllers compare? Does the feed forward element show clear benefit? Is the PI tuning you used for the non-feed forward study correct or to make the comparison fair, do you need to adjust the tuning values? 8) Return the controller to PID with Feed Forward and on the right side of the menu, enter your SOPDT process and disturbance models from steps 4 and 5. Leave parameters not included in the model as zero. Click Done to put the controller in automatic. Remember that for the feed forward model to be physically realizable (mathematically solvable), the dead time of the disturbance model must be greater than or equal to the dead time of the process model. If need be, shorten the process dead time to equal the disturbance dead time. Test the feed forward disturbance rejection performance with these SOPDT models. Make step changes in the disturbance from 50 C up to 60 C and back to 50 C again. The SOPDT models (hopefully) had lower SSE values than the FOPDT models, implying better model fits of the data. Do the SOPDT models show clearly improved feed forward disturbance rejection performance? Why or why not? 9) Compare the disturbance rejection performance of static feed forward to dynamic feed forward. Open the controller design menu and on the right side of the form, check the box labeled "Use Static Feed Forward". (Aside: Static feed forward only uses the process and disturbance gains in the feed forward calculation. Thus, the dead time model parameters that account for the delay that occurs before a disturbance reaches the measured process variable, and the time constant model parameters that account for the speed at which each disturbance disrupts the measured process variable, are not considered in the static feed forward calculation. With static feed forward, each feed forward action is implemented immediately and completely upon detection of a disturbance. The benefit of static feed forward control is that it requires no programming. Often, static feed forward can be implemented with conventional control loop instrumentation.) 47 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 12: Feed Forward Control of the Jacketed Reactor (cont.) Test the static feed forward disturbance rejection performance by making step changes in the disturbance from 50 C up to 60 C and back to 50 C again. Is there any clear change in disturbance rejection performance compared to the fully dynamic model form? 10) Return to the dynamic FOPDT Feed Forward model parameters (Step 6) and perform a sensitivity study to determine how each feed forward model parameter impacts the disturbance rejection performance. To do this, first double and then halve the process model gain and perform a disturbance rejection experiment after each change. Keep all the other model parameters at their original design values. Repeat this procedure for the process model time constant and finally the process model dead time. Repeat this study for the disturbance model parameters. Which of the model parameters has the greatest impact disturbance rejection performance? For each model parameter, determine if it is more conservative (less aggressive) to have it be too large or too small. 11) Explore the benefit of feed forward control on set point tracking performance. Step the set point from 92 C up to 95 C and back again. Now use the controller design menu to change the controller to traditional PID (no feed forward). Keep the PI controller tunings unchanged and repeat the set point step. Does the feed forward element offer any benefit in set point tracking performance? 48 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 13: Advanced Feed Forward Control of Heat Exchanger Objective: To explore advanced modeling issues and the impact of plant-model mismatch on feed forward controller performance. Reference: "Practical Process Control" Chapter 19 1) The design objective for study is to maintain a constant heat exchanger exit stream temperature of 135 C. During normal operation, the warm liquid disturbance flow rate is steady at about 10 L/min, but up-stream operation occasionally causes the disturbance stream flow rate to jump as high as 20 L/min. Rejecting the impact of this disturbance is our design objective. Start the Heat Exchanger process. Design a PI controller. That is, - move the process to the design operating level, - generate controller output to measured process variable dynamic data around this design level and save the data to file called, say, PROCESS.TXT, - fit a first order plus dead time (FOPDT) model to the dynamic test data, - use the resulting parameters in a PI tuning correlation (IMC) to obtain initial values for PI controller gain, KC, and reset time, I If the FOPDT fit describes the dynamic behavior of the data to your satisfaction, record the model parameters: Kp = p = p = SSE = Choose Aggressive tuning values by positioning the Closed Loop Time Constant sliding button located below the tuning chart directly over the aggressive label (floating label should read Aggressive when you click on the sliding button). Record your PI tuning parameters: Aggressive PI Tuning: KC = I = Implement your PI controller and verify that it performs reasonably well in rejecting step changes in the warm liquid disturbance flow from 10 L/min up to 20 L/min and back again. 2) A feed forward control element is comprised of a process model that describes controller output to process variable dynamic behavior and a disturbance model that describes the disturbance to process variable dynamic behavior. In step 1, you already computed the required process model. Make sure the controller is in Manual Mode and generate the dynamic data needed to determine the disturbance model. With the process at steady state, start saving data to another file (say, DISTURB.TXT). Step the warm oil disturbance flow rate from 10 L/min up to 20 L/min. Because of the complicated models we will use to fit this data, let the measured exit temperature pattern evolve all the way to a clear steady state. When the response is complete, step the disturbance flow rate back to 10 L/min and again wait for the response to complete. Stop saving data. Why does the heat exchanger show this inverse response to a disturbance variable step? 49 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 13: Advanced Feed Forward Control of Heat Exchanger (cont.) 3) Pause the simulation and navigate to Design Tools. Open DISTURB.TXT and label the first and third data columns as time and process variable. It was the disturbance variable that was manipulated during the experiment. Verify that the last data column in the file contains this disturbance step between 10 and 20 L/min. You can use the Edit File button to confirm this. Thus, you must click on the Manipulated Variable label currently above the second column of data, and then drag and drop the label over to the top of the last column of data in the file. This properly labels the disturbance changes as the manipulated data for model fitting. Fit a first order plus dead time (FOPDT) model to the disturbance data and record the model parameters for use in constructing the disturbance model portion of the feed forward element: KD = D = D = SSE = Fit a second order plus dead time model (SOPDT) to the disturbance data. Record the model parameters and SSE: KD = D,1 = D,2 = D = SSE = Fit a second order plus dead time with lead time model (SOPDT w/ Lead) to the disturbance data. Record the model parameters and SSE: KD = D,1 = D,2 = D,L = D = SSE = Based on the SSE and your observations of the goodness of model fit, does the SOPDT model show improved capability in describing the disturbance behavior over the FOPDT model? How about the SOPDT w/ Lead model? (Aside: Design Tools must search for five model parameters that minimize the SSE when fitting a SOPDT w/ Lead model. A model with five adjustable parameters can fit a wide range of data. To learn about this, go to the single loop Custom Process and construct a second order plus dead time with lead time model. First put in a large positive lead term, say twice the size of the largest time constant, and perform an open loop test by stepping the controller output. Repeat with a large negative lead term. Repeat a third time with a zero lead term. The lead term influence should be clear. If a process has a zero lead term influence, Design Tools may converge on a fit that looks reasonable but beware of nonsense results. For example, the lowest SSE can sometimes be achieved mathematically for such data with a fantastically large L and a Kp near zero. It is your job not only to visually accept model fits, but also to ask if the model parameters make sense.) 4) Return to the Heat Exchanger process. Make sure your PI tuning values from Step 1 are still entered on the Controller Design menu. Keep these values constant for all tests hereafter. Demonstrate the performance of a feedback controller with no feed forward element in rejecting a disturbance step from 10 L/min to 20 L/min and back again. Pause the simulation when the response is complete. This will be our baseline performance. 50 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 13: Advanced Feed Forward Control of Heat Exchanger (cont.) Select the PID with feed forward controller. Click on the Process tab of the feed forward model and enter the FOPDT process model parameters from step 1. Click on the Disturb(ance) tab of the feed forward model and enter the FOPDT disturbance model parameters from step 3. Click Done to put the controller in automatic. Show the performance of a feed forward controller with feedback trim in rejecting a disturbance step from 10 L/min to 20 L/min and back again. Pause the simulation when the response is complete. (Aside: Recall that for the feed forward model to be physically realizable, the dead time of the disturbance model must be greater than or equal to that of the process model. If your models do not meet this criterion, you must change one of the model dead times to make them equal.) 5) Return to the controller design menu, click on the Disturb(ance) tab of the feed forward model, enter the SOPDT disturbance model parameters and click Done to put the controller in automatic. Show the performance of the controller in rejecting a disturbance step from 10 L/min to 20 L/min and back again. Pause the simulation when the response is complete. Repeat one more time for the SOPDT w/ Lead disturbance model. Pause the simulation when the response is complete and click on View and Print Plot to view a fixed plot of the investigation. Use the Plot Options icon to create a plot similar to that shown below. Process: Heat Exchanger 138 137 136 135 134 133 132 No Feed Forward 20 15 10 40 48 56 Comparing Feed Forward Models Controller: PID with Feed Forward PV/Setpoint FOPDT SOPDT SOPDT w/ Lead Disturbance Time (mins) Tuning: Gain = -1.80, Reset Time = 1.10, Deriv Time = 0.0, Sample Time = 1.00 Process Model: Gain(Kp) = -0.39, T1 = 0.96, T2 = 0.0, TD = 0.80, TL = 0.0 Disturbance Model: Gain(Kd) = -0.146, T1 = 0.735, T2 = 0.735, TD = 0.822, TL = -3.41 64 72 80 88 96 104 112 120 128 136 144 51 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 13: Advanced Feed Forward Control of Heat Exchanger (cont.) 6) Why does feed forward with a FOPDT disturbance model only show modest benefit over the disturbance rejection performance of a feedback controller with no feed forward element at all? Why does a SOPDT disturbance model show no benefit in disturbance rejection performance compared to that of the FOPDT model? Why does the SOPDT w/ Lead disturbance model not show perfect disturbance rejection performance? 7) Compare the disturbance rejection performance of static feed forward element to the performance of dynamic feed forward element with a SOPDT w/ Lead model. (Aside: Static feed forward only uses the process and disturbance gains in the feed forward calculation. Thus, the dead time model parameters that account for the delay that occurs before a disturbance reaches the measured process variable, and the time constant model parameters that account for the speed at which each disturbance disrupts the measured process variable, are not considered in the static feed forward calculation. With static feed forward, each feed forward action is implemented immediately and completely upon detection of a disturbance. The benefit of static feed forward control is that it requires no programming. Often, static feed forward can be implemented with conventional control loop instrumentation.) Using the SOPDT w/ Lead disturbance model, step the disturbance from 10 L/min to 20 L/min and back again. Pause the simulation after the response has completed. Open the controller design menu and on the model entry portion of the form, check the box labeled "Use Static Feed Forward." Again step the disturbance from 10 L/min to 20 L/min and back. Is there any clear benefit in disturbance rejection performance for the static vs. dynamic model form? 8) Compare the set point tracking performance of a feedback controller (no feed forward element) to that of your best feed forward with feedback trim design. Use the same PI tuning parameters for both set point tracking experiments. Does the feed forward element offer any benefit in set point tracking performance? 52 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 14: Multivariable Decouplers and Distillation Control Objective: To observe control loop interaction on a multi-loop process and to design and explore model-based decouplers that minimize such interaction. Reference: "Practical Process Control" Chapter 20-21 1) Start the distillation column simulation and observe the process graphic. This column separates a mixture of benzene and toluene into a top and bottom stream. As shown on the graphic, there is a controller at the top of the column that manipulates the reflux flow rate to control the top composition. A second controller at the bottom of the column that manipulates the steam rate to control the bottom composition. The design level of operation for this study is: - top composition of 94.5% benzene - bottom composition of 2.6% benzene (97.4% toluene) - total feed flow rate to column of 596 Kg/min Record the design set point values for the top controller and bottom controllers: top ysetpoint = % benzene bottom ysetpoint = % benzene 2) Before designing the controllers, explore the dynamics of this process. Step the top controller output (CO) from 50% up to 55%, down to 45% and back to 50%. Repeat this experiment with the bottom controller, stepping it from 47.9% up to 52.9%, down to 42.9% and back to 47.9%. Compare your results to the plot below and verify that it represents the dynamic behavior of the distillation column. top CO step up gives large KP bottom CO step down gives large KP This plot shows that the top composition loop is only mildly nonlinear. The bottom composition loop, however, is extremely nonlinear. In particular, the process gain of the bottom loop is three times larger when the bottom composition is increasing from the design level of operation compared to when it is decreasing, regardless of whether it is the top or bottom controller forcing the response. 53 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 14: Multivariable Decouplers and Distillation Control (cont.) (Aside: The extreme nonlinear behavior makes this process quite challenging to control. To meet this challenge, we take advantage of the information in the above plot to design the dynamic tests. Rather than a doublet, we will pulse each controller output in one direction only, the direction that yields parameters leading to the most stable design. Recall that tuning correlations compute controller gain, KC, as proportional to the inverse of process gain, Kp. So for a conservative design, we want to use large values of Kp in the correlations to obtain small values of KC. Exploiting the information contained in the above figure, we achieve the largest values of Kp by pulsing the top controller up and bottom controller down when generating our dynamic test data.) 3) Remember that both loops should remain in manual mode throughout the dynamic tests. For the top loop, start saving data to file (say, TOP.TXT) and pulse the top controller output from 50% up to 55% and back to 50%. Let the response become well established before making the second step. Turn file storage off when the response is complete. Let the column settle out to steady state. For the bottom loop, start saving data to file (say, BOTTOM.TXT). Step the bottom controller output from 47.9% down to 42.9% and back to 47.9%. Again wait for the response to complete before making the return step. Turn file storage off when the test is complete. 4) Use Design Tools to compute PI tuning values for the top controller. Pause the distillation simulation, navigate to Design Tools and read in TOP.TXT. The Label Data Columns screen will display eight columns of data because the file contains data for both the top and bottom loop. It is essential in this (and any) study that the columns be properly labeled before starting a model fit. If you are unsure which columns of data are for the top loop, click the Edit Data button in the upper right corner of the Label Data Columns screen and read the headings contained in the file. For this study, the second column holds the top controller output data and the third column holds the top measured process variable data. Be sure to drag and drop the labels to reflect this before starting the model fit. Fit a FOPDT model to the data and if the fit seems reasonable, record the PI controller tuning values from the IMC tuning correlation with the bottom scroll bar centered over Moderately Aggressive (floating label should read "Moderately Aggressive): Top controller PI tuning parameters: KC = I = Remember that if the model does not reasonably approximate the data, the controller tuning values computed from the model parameters will be suspect. Repeat the process to tune a PI controller for the bottom loop. Read BOTTOM.TXT into Design Tools. The fifth and sixth columns hold the controller output and measured process variable data for the bottom loop. Label these columns accordingly. Fit a FOPDT model to the data and check that the fit seems reasonable. Record the PI controller tuning values from the IMC tuning correlation, again with the bottom scroll bar centered over Moderately Aggressive: Bottom controller PI tuning parameters: KC = I = 54 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 14: Multivariable Decouplers and Distillation Control (cont.) 5) Exit Design Tools and return to the distillation simulation. Implement your PI controller design for the top loop while leaving the bottom loop in manual. Test the top controller by stepping the top composition set point from 94.5% benzene up to 96% and back again. Put the top loop back in manual and implement your PI controller design for the bottom loop. Be sure the sign for the process gain is correct (direct or reverse acting). Test this controller by stepping the bottom composition set point from 2.6% benzene up to 3.6% and back again. Verify that each of your controllers performs similarly to that shown below. Individual Performance of Top and Bottom Loop Process: Distillation Column Top: Manual Mode / Bot: PID ( P= DA, I= ARW, D= off ) Distillate % Top % 96 95 94 55 50 45 4 3 2 50 48 46 44 top loop performance with bottom loop in manual Bottoms % Top CO bottom loop performance with top loop in manual Bot CO 500 1000 Time (mins) 1500 Tuning: Gain = -3.70, Reset Time = 63.6, Deriv Time = 0.0, Sample Time = 1.00 6) Now put both PI controllers in automatic, step the top composition set point from 94.5% benzene up to 96% and watch the loop interaction. (Aside: As the top controller sends more cold reflux down the column to increase the purity of the top composition, it has the undesirable consequence of causing the bottom of the column to cool. This moves the bottom composition from set point. The bottom controller responds by increasing the steam rate, which heats up the bottom of the column as desired. It results, however, in hot vapors traveling up the vessel and heating the top of the column at the same time the top controller is trying to cool it. Over time, you will see both the reflux rate and the steam rate increase more and more as each controller "fights" for its own measured process variable. The result is a dismal overall performance.) When you have established the negative impact of loop interaction, return the set point to 94.5% and let the process reach steady state. 55 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 14: Multivariable Decouplers and Distillation Control (cont.) 7) (Aside: A multivariable decoupler is a feed forward element where the measured disturbance is the output signal of the cross-loop controller. To construct a decoupler, we need to identify a process and cross-loop disturbance model for both the top and bottom loop (four models total). No additional process testing is necessary to create these models because the tests just completed contain the information we need. When the top controller output signal changes (thus changing the reflux rate), it not only causes a response in the top composition so we can fit a process model, but it also acts as a disturbance to the bottom composition. Thus, the cross-loop disturbance data we need for the bottom decoupler is already contained in file TOP.TXT. And when the bottom controller output signal changes (thus changing steam rate), it not only causes a response in the bottom composition so we can fit a process model, but it also acts as a disturbance to the top composition. Hence, the cross-loop disturbance data we need for the top decoupler is already contained in file BOTTOM.TXT.) To design the top decoupler, the process and disturbance models needed are: - Process model: GTT(s) = top composition response to top controller output model - Disturbance model: GTB(s) = top composition response to bottom controller output model For the bottom decoupler, the process and disturbance model parameters needed are: - Process model: GBB(s) = bottom composition response to bottom controller output - Disturbance model: GBT(s) = bottom composition response to top controller output To obtain the process model for the top decoupler, GTT(s), read TOP.TXT into Design Tools. The second column holds the top controller output data. The third column holds the top process variable data (you can verify this with the Edit Data button). Label these columns as such and fit a FOPDT model. If the fit is acceptable, record the model below as the top decoupler process model. To obtain the cross-loop disturbance model for the top decoupler, GDB(s), read BOTTOM.TXT into Design Tools. The fifth column holds the bottom controller output data. The third column holds the top process variable data. Label these columns as such and fit a FOPDT model. If the fit is acceptable, record the model below as the top decoupler cross-loop disturbance model. Top Decoupler: Process Model (top composition response to top controller output) Kp = p = p = Cross-Loop Disturbance Model (top composition response to bottom controller output) KD = D = D = In absolute value, if |KD| > |Kp| , then the decoupler assigns more influence over the process variable to the cross-loop disturbance than it does to the controller. This can lead to unstable control. If your fits result in this situation, lower your KD above so |KD| = |Kp|. 56 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 14: Multivariable Decouplers and Distillation Control (cont.) 8) To obtain the process model for the bottom decoupler, GBB(s), read BOTTOM.TXT into Design Tools. The fifth column holds the bottom controller output data. The sixth column holds the bottom process variable data. Label these columns as such and fit a FOPDT model. If the fit is acceptable, record the model below as the bottom decoupler process model. To obtain the cross-loop disturbance model for the bottom decoupler, GBT(s), read TOP.TXT into Design Tools. The second column holds the top controller output data. The sixth column holds the bottom process variable data. Label these columns as such and fit a FOPDT model. If the fit is acceptable, record the model below as the top decoupler disturbance model. Bottom Decoupler: Process Model (bottom composition response to bottom controller output) Kp = p = p = Cross-Loop Disturbance Model (bottom composition response to top controller output) KD = D = D = In absolute value, if |KD| > |Kp| , then the decoupler assigns more influence over the process variable to the cross-loop disturbance than it does to the controller. This can lead to unstable control. If your fits result in this situation, lower your KD above so |KD| = |Kp|. 9) Return to the distillation simulation, select the top controller, choose PID with Decoupler from the menu list, enter your process and disturbance models for the top decoupler, and click Done. Leave parameters not included in the model as zero. Repeat this for the bottom controller. For both loops, leave your original PI tuning values unchanged. With both the top and bottom loop under automatic PI Control with Decoupler, test the process by stepping the top composition set point from 94.5% benzene up to 96% and back again. Is your controller stable? Do the decouplers decrease loop interaction? Is the set point tracking performance similar to when only the top loop was in automatic (step 5 above)? 10) Now test the benefit of decouplers on disturbance rejection. With the process at steady state, step the column feed rate from 596 Kg/min up to 650 Kg/min and after the response is complete, step it back again. Repeat this test under PI with Decoupler control, and again under ordinary PI control. Does decoupling help with disturbance rejection? 57 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 15: Modeling and Decoupling of Multi-Loop Processes Objective: To explore multivariable modeling issues and to learn how Design Tools and Custom Process can be used to model, simulate and explore multi loop processes. Reference: "Practical Process Control" Chapter 20-21 1) We learn here how Design Tools and Custom Process can be used to simulate and analyze 2x2 multivariable processes. We pretend that the Multi-Tank process is our "real" process, and we explore how to create a simulation of it using Custom Process. The procedure detailed here is important to understand because it is the same one you would follow on a real process in the plant or lab. To appreciate how challenging this workshop will be, select Custom Process from Control Station's main screen and then choose Multi-Loop Process. Observe the process graphic and note that a 2x2 multivariable simulation requires six models for implementation. (Aside: A summary of the procedure we will follow in this workshop is: a) At the design level of operation, collect controller output to measured process variable dynamic data for loop 1 and loop 2. Also, if appropriate, collect disturbance to measured process variable dynamic data for both loops. b) Use Design Tools to fit a first order plus dead time (FOPDT) model to the controller output to measured process variable data sets. Use the resulting model parameters to compute controller tuning values for loop 1 and loop 2. c) Use Design Tools to fit second order plus dead time (SOPDT) models to both controller output and disturbance data. Implement the models in multi-loop Custom Process to create a simulation. d) Implement the controllers in Custom Process and test them in tracking set points and/or rejecting disturbances. Refine the design and tuning as needed. e) When satisfied with the controller performance in Custom Process, return to the actual process for final implementation.) 2) Close Custom Process and start the Multi-Tanks process. This will serve as our "real" process for the study. The first step outlined above is to collect data at the design level of operation, which in this study is the measured levels: tank 1 = 3.1 m; tank 2 = 3.0 m. Both disturbance flows are normally at 1.0 m3/min and rarely change so we will not investigate disturbance modeling here. Move the Multi-Tanks process to the design level of operation (hint: try a CO1 = 57 %/min and a CO2 = 60 %/min). With the process at the design level of operation, record the controller output, measured process variable and disturbance values. We will need these for the simulation: Loop 1: Loop 2: u1,Design = u2,Design = y1,Design = y2,Design = d1,Design = d2,Design = 3) Begin saving data to a file called PROC1.TXT. Step controller output 1 up and down from the design level by about 5%, thus creating controller output to measured process variable dynamic test data. Let the process show a clear response between steps. Stop saving data after the process returns to steady state. Repeat by stepping controller output 2 in a similar fashion and saving data in a file called PROC2.TXT. 58 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 15: Modeling and Decoupling of Multi-Loop Processes (cont.) 4) Exit the Multi-Tank process and return to the main Control Station screen. At this point we pretend that we have just returned from the plant with dynamic process data on disk. Start Custom Process and choose Multi-Loop Process from the list. Once the simulation has started, click Pause to suspend activity and then navigate to Design Tools. Read in file PROC1.TXT, fit a FOPDT model to the data and use the model parameters to compute PI tuning values with the bottom scroll bar centered over Moderately Aggressive. Record the results. Repeat for PROC2.TXT. Be sure to label the proper columns Loop 1: Loop 2: KC = KC = I = I = 5) Next determine SOPDT models that best fit the dynamic process data and thus can be used to simulate the process in Custom Process. Open Design Tools and Click the Select Model button on the tool bar and choose the SOPDT model form. Read file PROC1.TXT into Design Tools. Label controller output 1 data as the manipulated variable and measured level 1 as the process variable (use the Edit Data button if you are not sure which columns of data hold the information you need). Fit a SOPDT model to the data and record the results as direct loop 11. Direct Loop 11: CO1 PV1 K11 = 1,11 = 2,11 = 11 = For this same file, label controller output 1 data as the manipulated variable and measured level 2 as the process variable. Fit a SOPDT model to the data and record the results as cross loop 21. Cross Loop 21: CO1 PV2 K21 = 1,21 = 2,21 = 21 = Read file PROC2.TXT into Design Tools. Label controller output 2 data as the manipulated variable and measured level 2 as the process variable. Fit a SOPDT model to the data and record the results as direct loop 22. Direct Loop 22: CO2 PV2 K22 = 1, 22 = 2, 22 = 22 = For this same file, label controller output 2 data as the manipulated variable and measured level 1 as the process variable. Fit a SOPDT model to the data and record the results as cross loop 12. Cross Loop 12: CO2 PV1 K12 = 1, 12 = 2, 12 = 12 = 59 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 15: Modeling and Decoupling of Multi-Loop Processes (cont.) 6) Compute the relative gain for this process: != K11K 22 = K11K 22 " K12 K 21 Based on this relative gain, what do you expect will be the nature of the control loop interaction? 7) Exit Design Tools and return to multi-loop Custom Process. To create the Multi-Tank process simulation, click the Process 1 (CO1 to PV1) button on the graphic. The Multi-Loop Construct Process and Disturbance Models input form will open. The SOPDT model is an overdamped linear model so be sure that model is selected on the menu. There are four models to enter from step 5 that correspond to the first four tabs on the input form. Enter the process gain, two time constants and dead time for each model. Take care to enter each model on its proper tab and each parameter in its proper box. Parameters not used in the model should be zero. Custom Process assumes as a default that the controller outputs, process variables and disturbance variables have a minimum value of 0, a maximum value of 100, and a design level startup value of 50. As in this study, these values are not always appropriate for a simulation. In step 2 we noted the design level start up values. The minimum and maximum values along with the start up values are listed in the table below. Click on the Zeros and Spans tab and enter the maximum, minimum and start up values for each variable of the process as listed in the table. Leave the model limits set at their default values. CO1 Minimum Maximum Startup 0 100 57 PV1 0 10 3.1 D1 0 4 1 CO2 0 100 60 PV2 0 10 3.0 D2 0 4 1 When finished, click on Done to start the simulation. You now are simulating the Multi-Tank process. Test the open loop dynamic behavior by stepping the controller output and observing the measured process variable response. Return the process to the design conditions when you accept the simulation as appropriate. 8) Implement your PI controller for control loop 1 using the KC and I values found in step 4. Put the set point at 3.0 m (which is very near our design level of operation) and let the process steady. Leave control loop 2 in manual. Step set point 1 from 3.0 m up to 4.0 m and back again. Leaving control loop 1 in automatic, implement your PI controller for control loop 2, put both set points at 3.0 m, and let the process steady. With both controllers in automatic, step set point 1 from 3.0 m up to 4.0 m and back again. 60 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 15: Modeling and Decoupling of Multi-Loop Processes (cont.) Do your responses look similar to first two set point steps from the actual Multi-Tank process shown below (we have not done the decoupling case yet). If your simulation looks similar to that below, you have successfully used Control Station to simulate this "real" process. Process: Multi-Tank Process 4.0 Level 1 Control Station: Multi-Tank Process Level 1: PID w/ Decoupler Level 2: PID w/ Decoupler 3.5 3.0 3.5 controller 1 only no decoupling with decoupling Level 2 3.0 2.5 0 400 600 800 Time (mins) Tuning: Gain = 19.6, Reset Time = 14.4, Sample Time = 0.10 Process Model: Gain(Kp) = 0.066, T1 = 8.47, T2 = 8.47, TL = 0.0, TD = 2.50 Disturb Model: Gain(Kd) = 0.039, T1 = 8.65, T2 = 8.65, TL = 0.0, TD = 2.90 Tuning: Gain = 17.7, Reset Time = 16.2, Sample Time = 0.10 Process Model: Gain(Kp) = 0.07, T1 = 9.30, T2 = 9.30, TL = 0.0, TD = 2.90 Disturb Model: Gain(Kd) = 0.033, T1 = 9.00, T2 = 9.00, TL = 0.0, TD = 3.00 200 9) (Aside: A multivariable decoupler is a feed forward element where the measured disturbance is the output signal of the cross-loop controller. To construct a decoupler, we need to identify a process and cross-loop disturbance model for both loops (four models total). The models we developed in step 5 are the models we seek.) Using your SOPDT models from Step 5, implement decouplers on both loops. Select controller C1, choose PID with Decoupler from the menu list, and choose Dynamic Decoupling on the Process Model tab. Enter your process model (CO1 PV1) and disturbance model (CO2 PV1) in the corresponding tabs, and click Done. Repeat for controller C2. For both loops, leave your original PI tuning values unchanged. With both loops under automatic PI Control with Dynamic Decoupling, test the process by stepping set point 1 from 3.0 m up to 4.0 m and back again. Does your response look similar to the last set point steps on the above plot? 10) Return to the Multi-Tank process and repeat the three cases shown in the plot above. Verify for yourself that the Custom Process simulation indeed represents the behavior of this process. 61 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 16: Dead Time Compensation Using the Smith Predictor Objective: To design, implement and explore the capabilities of the model-based Smith predictor on processes with significant dead time. Reference: "Practical Process Control" Chapter 22 1) Begin this study by constructing a linear process simulation using Custom Process. Click on the Custom Process button on Control Station's main screen and then choose Single Loop Process from the list. When the simulation starts, click the Process button on the graphic. This opens a "Construct Process and Disturbance Models" menu. Click the Process Model tab (it should already be active if you have not done any exploring) and select the Overdamped Linear Model and the Self Regulating (Stable) Process. Enter the process parameters below to create a third order (three time constants) without dead time process: Process Gain, Kp First Time Constant, P1 Second Time Constant, P2 Third Time Constant, P3 Lead Time, PL Dead Time, p = = = = = = 0.8 70.0 50.0 10.0 0 0 We will use the default Zeros and Spans in this study, but you should click that tab to confirm that all parameters range from 0-100 with startup values equal to 50. We will not specify a model describing the disturbance behavior right now so leave the default values in place. When you are finished, click Done at the bottom of the menu to begin the simulation of your third order without dead time process. 2) While saving data to file, perform a dynamic test at the startup operating conditions of the process (CO = 50 and PV = 50). When the test is complete, navigate to Design Tools, fit a FOPDT model to the data and record Agressive PI tuning values. To do this, be sure that the Closed Loop Time Constant sliding button below the tuning chart is directly over the Moderately Aggressive label: FOPDT Model Fit: Kp = p = KC = p = Moderately Aggressive PI tuning values: I = When you fit a FOPDT model to this third order without dead time process, does the model fit produce a positive value for dead time? Why? 3) Return to Custom Process and implement a PI control with the values found in step 2. Test the set point tracking performance of this controller on your third order without dead time process. Starting from steady state, make a set point step from 50 up to 55. When the response is complete, click View and Print Plot. Using the plot options as needed to help you visualize the response, compute and record the rise time and peak overshoot ratio for this base case: trise = 62 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved POR = Workshop 16: Dead Time Compensation Using Smith Predictor (cont.) We will call this peak overshoot ratio and rise time our base case performance (your POR should be in the range of 15-25% and the measured process variable should settle completely to the new set point in roughly one cycle of the measured process variable. If this is not true, you should recheck your design.) 4) Explore the impact of dead time on controller performance. Click on the Process block on the control loop graphic and add a dead time of 25 to your existing third order process. Click Done to start the simulation. Do Not change the controller tuning. Make a set point step from 50 up to 55 and from the screen plot, determine the rise time and peak overshoot ratio for your controller: trise = POR = Comment on the change in these values due to the presence of dead time. 5) Put the controller in manual mode and use Design Tools to design a PI controller for this third order plus dead time process using the Aggressive PI tunings. Record both the PI tuning values (remember to keep the scroll bar centered over Aggressive) and the FOPDT model parameters computed by Design Tools. Also fit a SOPDT model that describes the dynamic behavior of this process and record those parameters: PI tuning values: KC = Kp = Kp = I = p = p1 = p = FOPDT model: SOPDT model: p2 = p = 6) Return to Custom Process and implement your updated tuning values. Make a set point step from 50 up to 55. If the peak overshoot ratio is not similar to the base case (the no dead time process of step 3), adjust tuning by trial and error until it is. Record the peak overshoot ratio and rise time for this third order with dead time process: trise = POR = Comment on how the dead time has impacted the performance on this properly designed controller. 7) From the controller design menu, select the PID with Smith Predictor controller. A process model form will open. Enter the FOPDT model parameters from step 5 as the predictive process model for the Smith architecture. For PI controller tuning, use the KC and I found below. In the computation, use the FOPDT Kp and p from step 5, but since a Smith predictor can theoretically eliminate dead time, you should use p = 0.1p for the dead time in the correlation. This requires a hand calculation. 63 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 16: Dead Time Compensation Using Smith Predictor (cont.) (Aside: There are no tuning correlations for a PI controller used in a Smith predictor architecture. Since the Smith predictor theoretically eliminates the impact of dead time on control performance, we use a theoretical minimum dead time in the correlations to compute PI tuning values. For commercial equipment, the theoretical minimum dead time is the controller sample time. That is, one sample time passes between a control action and when the controller receives the next measurement. Since sample time, T, should be less than or equal to 0.1P, use p = 0.1P and the process gain and time constant from the FOPDT fit of the process test data in the IMC tuning correlations.) Recall the Aggresssive tuning correlation for the PI controller: Moderate Tuning: ! C is the larger of 0.1 ! P or 0.8 ! P KC = !p K P (" P + ! C ) 1 I I = !P KC = = With these tuning values and the FOPDT process model implemented as the Smith predictive model, make a set point step from 50 up to 55. How does the rise time and peak overshoot ratio compare with the values you achieved in step 3. trise = POR = Don't forget that even in the perfect case, the rise time must increase by 25 because of the dead time added to the process. 8) Perform a sensitivity study to determine which of the three FOPDT model parameters most impact set point tracking performance. To do this, double and then halve first the model gain, then the time constant and finally the dead time implemented in your Smith predictor model while keeping the other two constant at the proper values. After each change, perform a set point tracking experiment. Which of the model parameters most impacts performance? What is its effect? 9) Replace the FOPDT Smith model with the SOPDT model from step 5. Use the base case tuning values from step 2 (no dead time) for the PI controller. Repeat the set point tracking experiment. Does the second order model provide any improvement to control performance? Is there any impact on the trace of the controller output signal? Is trial and error tuning required to achieve the design rise time and peak overshoot ratio? 64 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 16: Dead Time Compensation Using Smith Predictor (cont.) Optional 10) Click the Disturb button on the control loop graphic to open the "Construct Process and Disturbance Models" menu. Enter as a disturbance simulation the same model used for the process from step 1. Use the PI tuning (no Smith predictor) from step 2 and test the disturbance rejection performance of the controller by stepping the disturbance variable from 50 to 55. Click on the Disturb block on the control loop graphic and add a dead time of 25 to your existing third order process. Test the disturbance rejection performance of the controller by stepping the disturbance variable from 50 to 55. Compare the result to that above. Does disturbance dead time impact disturbance rejection performance? Select the Smith predictor controller and input the FOPDT process model from step 5 and PI tuning values from step 7. Repeat the disturbance test and draw a conclusion on the benefit of the Smith predictor when used for disturbance rejection applications. 65 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 17: DMC Control of the Gravity Drained Tanks Objective: To explore DMC design and implementation. Also, to explore how the tuning parameters impact DMC performance. Reference: "Practical Process Control" Chapter 23 1) Start the Gravity Drained Tanks process. For this DMC level control design, consider the case where the design level of operation is a measured liquid level in the lower tank of 5.3 m. The flow rate of the disturbance stream out of the bottom of the lower tank is expected to be about 2.0 L/min during typical operation. When your controller is put in automatic, the set point should be at the design level of the measured process variable: ysetpoint = 2) A DMC control element will be used in this study. The DMC controller element is comprised of tuning parameters and a step response process model that describes controller output to measured process variable dynamic behavior. Tuning requires a controller output to process variable dynamic data set. Start saving data to a file and perform an open loop test by stepping the controller output from 80% down to 75% then up to 85% and finally back to 80%. Let the response become clearly established before making each change. Turn file storage off when the response is complete. 3) Pause the simulation and navigate to Design Tools. Open the data file and verify that the first, second and third data columns are labeled as time, manipulated variable and process variable, respectively. Fit a first order plus dead time (FOPDT) model to the data. Choose the DMC tab and enter time units for imported data and sample time. Both should be minutes. Click the Generate SISO DMC Tuning Values button and record the DMC controller tuning values: Sample Time = N = P= M= = Note: Make sure that you pay specific attention to the time units that your data file is saved in and the time units needed for the sample time on the Gravity Drained Tanks controller design menu. Also record the FOPDT model parameters for use in constructing the step response process model portion of the DMC controller. Include the SSE to gauge of goodness of model fit. Kp = p = p = SSE = Later we will compare the benefit of different models on DMC performance. Select a second order plus dead time model (SOPDT) and fit it to the process data. Record the results: Kp = p,1 = p,2 = p = SSE = Based on the SSE, does the SOPDT model show improved capability in describing process behavior over the FOPDT model? 4) Close Design Tools and return to the gravity drained tanks. Click on the controller icon on the tanks graphic. At the top of the controller design menu, select the Dynamic Matrix Controller. 66 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 17: DMC Control of the Gravity Drained Tanks (cont.) On the left side of the menu, enter the set point from step 1 and the Sample Time, P, N, M and from step 3. Underneath the tuning parameters, click on the Specify Step Response Model button and enter your FOPDT process model parameters. Leave parameters not included in the model as zero. Click Done when you are finished inputting the step response model. And, then click Done on the controller design menu to put the controller in automatic. 5) Test the set point tracking performance of this DMC implementation. Make step changes in the set point from 5.3 up to 6.3 m and back to 5.3 m again. When the response is complete, pause the simulation. 6) Enter your SOPDT model parameters for the step response model. Leave parameters not included in the model as zero. Click Done when you are finished inputting the step response model. And, then click Done on the controller design menu to put the controller in automatic. Make step changes in the set point from 5.3 up to 6.3 m and back to 5.3 m again. The SOPDT models (hopefully) had lower SSE values than the FOPDT models, implying a better model fit of the data. Does the SOPDT model show clearly improved DMC performance? Why or why not? 7) Return to the dynamic FOPDT step response model parameters (Step 4) and perform a sensitivity study to determine how each tuning parameter impacts the set point tracking performance. To do this, first double and then halve the sample time and perform a set point tracking experiment after each change. Keep all the other tuning parameters and step response parameters at their original design values. Repeat this procedure for the prediction horizon, model horizon, control horizon and move suppression coefficients. Also, perform a sensitivity study to determine how step response model parameters impact the set point tracking performance. To do this, first double and then halve the process model gain and perform a set point tracking experiment after each change. Keep all the tuning parameters and other model parameters at their original design values. Repeat this procedure for the process model time constant and finally the process model dead time. Which of the tuning and step response model parameters has the greatest impact on set point tracking performance? For each model parameter, determine if it is more conservative (less aggressive) to have it be too large or too small. 8) Explore the benefit of constraints by entering these constraints into the controller design menu, where ^ u is the controller output (CO) and y is the process variable (PV): !1.0 " #u " 1.0 80 ! u ! 87 ^ 1! y ! 9 What affect do they have on the response of the controller output and the process variable? 9) Explore the benefit of DMC control on disturbance rejection performance. Step the disturbance from 2.0 L/min up to 2.5 L/min and back again. Does the DMC controller offer any benefit in disturbance rejection performance. 67 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 18: Dynamics and Control of Integrating Processes Objective: To understand the dynamic character of integrating processes and to explore the issues associated with their control Reference: "Practical Process Control" Chapter 25 1) The Pumped Tank process follows a non-self regulating (integrating) dynamic behavior. That is, the process does not steady out to a constant liquid level after the controller output or disturbance variables are changed when the controller is in manual mode. To explore the behavior and control of this process, start the Pumped Tank simulation by selecting it from the Case Studies list on Control Station's main screen. Study the graphic and observe that unlike the gravity drained tanks simulation, where the outlet flow rate adjusts according to changes in the liquid level, the flow rate out of the pumped tank is set by the throttling valve at the discharge of a constant pressure pump. If the feed and disturbance streams total a different flow rate into the tank than the fixed value leaving the tank, the liquid level will continue to fall or rise until the tank empties or overfills. To verify this, change the disturbance flow rate from 2.5 L/min up to 3.5 L/min and observe the results. Change it once more to 1.5 L/min and again observe the liquid level behavior. 2) Restart the process using the program default values (select this from the Run menu on the Pumped Tank screen), which are set to be a tank liquid level of 4 m and a disturbance flow rate of 2.5 L/min. We will now collect dynamic process data for controller tuning. Begin saving data to a file and step the controller output from 70% down to 65%. Wait for the liquid level to rise above 5 m and then step the controller output up to 75%. When the tank level has fallen past 3.5 m, stop saving data and pause the simulation. Notice that when you return the controller to its original output of 70%, the process does not return to its initial steady state, at which the tank liquid level was 4 m; instead, the level steadies at a new value. 3) Your data should now have a segment where the process variable (liquid level) is rising steadily and another where it is falling steadily. We want to compute the slope of each individual segment. Click the Plot button on the Pumped Tank screen to view a fixed plot of the data; use Plot Options to adjust the plot so you can see both step changes and the process variable response. The equation to compute a slope is: tuning slope = dy t dt ( ) = yend ! ystart tend ! tstart where ystart and tstart are the start points and yend and tend are the end points of each slope segment. 68 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 18: Dynamics and Control of Integrating Processes (cont.) First focus on the upward sloping segment and compute the slope: y1 start = t1 start = y1 end = slope1 = dy t dt ( ) = y1 end ! y1 start = t1 end ! t1 start t1 end = controller output 1, CO1 = Repeat the calculation for the downward sloping segment: y2 start = t2 start = y2 end = t2 end = slope 2 = dy t dt ( ) = y2 end ! y2 start = t2 end ! t2 start * controller output 2, CO2 = 4) Use this expression to calculate the integrator gain, Kp : * KP = slope 2 ! slope1 = CO 2 ! CO1 Remember, integrator gain is a ratio of the process gain to the process time constant; therefore, the units for this process are m/(%min). 5) Estimate the process dead time, p, from the plot using the same graphical method discussed in Chapter 3. !P = 69 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 18: Dynamics and Control of Integrating Processes (cont.) 6) Using the IMC tuning correlations for integrating processes, compute the PI tuning parameters (KC and I ) for the process. The IMC PI tuning correlations for integrating processes are: KC = # & 1 % 2! C + " P ( * KP % ! + " 2 ( P $ C ' ( ) ! I = 2! C + " P The closed loop time constant, C , for integrating processes is based on the process dead time: Moderate Tuning: Conservative Tuning: ! C = " P 10 ! C = 5" P 10 For this workshop, use the moderate tuning correlation, so: ! C = " P 10 = With the above information, compute a KC and I for this integrating process: KC = !I = 7) Now use Control Station's Design Tools to check the model parameters and PI controller tuning values you computed by hand. Launch Design Tools by using the Navigate button on the Pumped Tank screen. Open the file containing your process data, make sure the columns of data are properly labeled, and click OK. Click Select Model and choose FOPDT Integrating model, then choose the option for process data with two periods of constant controller output. Click "Start Fitting" on the Design Tools screen and view the plot for the Graphical Integrator modeling tool. Using the Graphical Integrator tool, position the nodes to tell Design Tools which data segments should be used to compute the model parameters. Similar to the calculations in step (3), use the segment when the controller output is constant at 65% as slope1 and the segment when the controller output is constant at 75% as slope2. Click on the end nodes of the left slope bar and position the line so it lies over the slope1 data. Drag the lower controller output bar to the data corresponding to a controller output of 65%. Repeat this procedure for the slope2 data. 70 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved Workshop 18: Dynamics and Control of Integrating Processes (cont.) Tweak the various end nodes until the model fit approximates the process data to your satisfaction. You may also need to adjust the dead time parameter at the top of the screen. Click "Accept Model" at the top of plot when you are ready. Close the plot and record both the model parameters and Moderate PI tuning parameters suggested by Design Tools: * Integrator gain, K P = Dead time, ! P = PI Tuning values: KC = !I = Do the model parameters found by Design Tools match those you found previously? 8) Implement your PI controller on the Pumped Tank process and test its performance. Click on the LC (level controller) button on the Pumped Tank graphic, switch the controller from manual to PID, and implement you PI controller. Step the set point from 4 m up to 5 m, and after the response is complete, back to 4 m. How would you characterize the response of the controller (i.e. overshoot, oscillations, response time)? Could this performance be improved? Use trial and error to determine the "best" values for KC and I for set point tracking. Record these "best" values below: KC = !I = To test the controller's disturbance rejection capability, step the disturbance flow rate from 2.5 L/min to 3.5 L/min, and after the response is complete, back down to 2.5 L/min. Do the controller tuning values that are best for set point tracking appear to be best for disturbance rejection as well? If not, use trial and error to determine the best values for disturbance rejection, and record them below: KC = Average your trial and error KC and computed in step 7? !I = I. How does the average tuning values compare to those 71 Hands-on Workshop Series by Douglas J. Cooper Copyright 2007 by Control Station, Inc. All Rights Reserved ...
View Full Document

{[ snackBarMessage ]}

Page1 / 72

PPC_Workshops_4x - Control Control Station Station Software...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online