Matlab代写 - CEIC8102 Advanced Process Control Project
1 Distillation Column The process under consideration in this unit is a binary distillation column which separates a mixture of methanol (MeOH) and ethanol. Distillation is a very important unit operation in the chemical and petroleum industries. Increasing demand for high quality products coupled with the demand for more efficient energy utilization has highlighted the role of process control for distillation columns. The particular column studied in this unit has 27 trays, a reboiler on the bottom tray, and a total condenser on the overhead stream. A 50% 50% (mol) mixture of methanol and ethanol is fed at the fourteenth tray (counted from the bottom). This column was originally modeled by K. Weischedel and T.J. McAvoy in 1980. The source code of Simulink module was developed by Doyle III et al (2000)1 . The specific control objective is to achieve an 85% (mol) methanol stream at the top and an 85% (mol) ethanol stream at the bottom of the column. This is referred to as dual-composition control. A schematic of the process is given in Figure 1. The column is modeled with component mass balances and steady state energy balances which result in coupled nonlinear differential algebraic equations. The column model has four inputs and four outputs as listed below: INPUTS OUTPUTS Reflux Ratio (R: MV) Overhead MeOH Composition (yd : CV) Vapor Flow Rate (V : MV) Bottom MeOH Composition (xb : CV) Feed MeOH Composition (d1: Load variable) Overhead Flow rate Feed Flow Rate (d2 : Load variable) Bottom Flow Rate CV: Controlled variable, MV: Manipulated variable 1.1 Software You need to download the software from the course website. It works for Matlab (64 bit) on both Windows and MacOS. If you do not have access to Matlab on your own PC or Mac, you can also run this software on 1.2 Column Operation After starting MATLAB, type “mainmenu” at the MATLAB prompt. Click on the button Manual Operation. This will bring up two figures: the distillation column flow diagram, and the distillation column process monitor. 1Doyle III, F.J., Gatzke, E. P., and Parker, R. S., 2000. Process Control Modules - A Software Laboratory for Control Design Prentice Hall. ISBN 0-13-021107-9. 1 Figure 1: Schematic plot of the column 1. Double-click on the box Vapor Flow Rate. Use the backspace key to delete the existing value and enter 0.045 m3/sec. 2. Close the box and start the simulation. 3. Click on the window showing the monitor to bring it to the front of your screen. It gives information about the system outputs: Overhead Flow Rate, Overhead MeOH Composition, Bottom Flow Rate, and Bottom MeOH Composition. These graphs give both the current and the nominal process values. 4. You can take the reading of the values on the plot by using the pointers: click on the check boxes for pointers and then move the mouse to the process variable curve where you want to pick up the value and left-click. The value will be displayed on the screen. 5. You may also want to save the data to hard disk by clicking on the bottom of “save” in the “Column process monitor” window. You can load the data into Matlab by entering the command “load column.mat” in the Matlab command window. The monitored variable data will appear in Matlab workspace as d1y, d2y, d3y and d4y for Overhead Flow Rate, Overhead MeOH Composition, Bottom Flow Rate, and Bottom MeOH Composition, and the corresponding time vectors are d1t, d2t, d3t and d4t. 6. Changes in the values of Reflux Ratio, Feed Flow Rate and Feed MeOH Composition can be given in a similar manner. You do not need to report results in this section in your lab report unless you have some exciting discovery you want to share with us. 2 2 Tasks 2.1 Determining Steady-state Gains The system which relates the two controlled variables Overhead MeOH Composition (yd) and Bottom MeOH Composition ( xb) to input variables Reflux Ratio (R), Vapor Flow Rate (V), Feed MeOH Com￾position (d 1), Feed Flow Rate ( d2) can be expressed as:  ∆yd (s) ∆xb (s)  =  G11 (s) G12 (s) G21 (s) G22 (s)   ∆R (s) ∆V (s)  +  Gd11 (s) Gd12 (s) Gd21 (s) Gd22 (s)   ∆d1 (s) ∆d2 (s)  . (1) 1. Make the following sequence of moves in the Reflux Ratio (R) by double-clicking the left mouse button on the Reflux Ratio box. Keep the remaining inputs (the three other inputs) at their initial steady state values. After each change in the Reflux Ratio, allow the system to reach a new steady state and then record the values of the output variables,.Overhead MeOH Composition (yd) and Bottom MeOH Composition ( xb). Reflux Ratio: 1.75 (nominal) 1.85 1.95 1.55 2. Now make following sequence of moves in Vapor Flow Rate (V) and record the steady-state values of the output variables: Vapor Flow Rate : 0.033 (nominal) 0.040 0.036 0.032 3. You can then calculate the steady-state gains of G11 (0), G21 (0) (from Step 1), G12 (0), G22 (0) (from Step 2). This can be accomplished calculating the best linear fit to the data. Use Matlab to find the least square solution or you can do this graphically by plotting the output vs. input values and find out the best slopes using “eye-ball optimization”. 4. You need record the results and your work of linear fitting in your lab reports. 2.2 Modelling from Frequency Response Data The goal of this procedure is to examine the frequency response behavior for high-order systems. The high order systems may be approximated by first order plus time-delay models. This information is useful in controller design as well. Frequency-based methods tend to be more reliable than other heuristics. The goal of this exercise is to use pulse inputs for both the Vapor Flow Rate and the Reflux Ratio, and to collect the frequency response data from the outputs. 1. Select the Frequency Response Analysis Menu. Displayed on your screen are the flowsheet and the column strip chart on which the inputs and outputs of interest are recorded. 2. Decide the width and height of the rectangular pulse inputs. (What are the main considerations? ) 3. Connect the pulse signal to the Reflux Ratio channel and the workspace module. (Hint: you should add the pulse signal on top of the nominal steady-state value 1.75 ). Set the time step to be 1 second. Start the simulation. Once the simulation is completed, output variables are stored in two vectors oMeOH (overhead MeOH concentration) and bMeOH (bottom MeOH concentration). 4. With input/output data (think carefully what is the input and what is the output!), calculate the appropriate amplitude ratios and the phase lags and construct the Bode plots of the Overhead MeOH Composition and Bottom MeOH Composition for the Reflux Ratio. You may use the Fourier Transform function pcmfft.m (using the sampling period of 1 second) to get AR (ω) and φ (ω) and the Bode plots. From the Bode plots, estimate the transfer functions G11 (s), G21 (s). 5. Use the pull-down menu: Edit → Copy model to clipboard to copy the diagram and paste it to a word file. You need include this in your lab reports. 6. Repeat Steps 2 and 3 for Vapor Flow Rate channel and derive the transfer functions G12 (s), G22 (s). 3 2.3 Multi-loop PI control In this section, you will design a multi-loop PI control system for this multi-variable process. From the steady-state analysis, it has been found that ∆R affects yd most and ∆V affects xb most. You can approximate the process with  ydxb  =  G11 (s) 0 0 G22 (s)   ∆R∆V  (2) by ignoring the interaction terms G12 (s) and G21 (s). Now you can use one control loop to control yd by manipulating ∆R (let’s call it C1 (s)) and another control loop to control xb by manipulating ∆V (let’s call it C2 (s)). 1. You can design the first PI control loop based on G11 (s) and second PI control loop based on G22 (s) using any method of your choice (such as Ziegler Nichols settings, etc.). 2. In the main menu, choose Process Control. 3. Pick up the PID control block from Simulink Library Browser and connect it to the Reflux Ratio such that the negative feedback loop is formed. Keep the Vapor flowrate constant. Double click on the PID block and define the control parameters (set D = 0). Use the pull-down menu: Edit → Copy model to clipboard to copy the block diagram and paste it to a word file. You need include this in your lab reports. 4. Run the simulation and find the responses of the controlled process to the changes in the following setpoints: Overhead Composition: 0.80, 0.85, 0.90 mol MeOH Mol Total Bottom Composition: 0.20, 0.15, 0.10 mol MeOH Mol Total 5. Now study the performance of the control system with the above setpoints when there are distur￾bances in the feed composition and feed flowrate: Feed composition: from 0.45 to 0.55 mol MeOH Mol Total Feed flowrate: from 0.02 to 0.03 m3 sec 6. You may observe and report on: (1) Stability (2) Control error plot e(t) vs. time (3) Overshoot in process responses. 2.4 LQG control 1. Design a multivariable LQG controller for this process based on the state-space process model. 2. Develop the controller for the set points in Section Section 2.3 Step 4. Test your controller with the setpoint changes and disturbances as described in Section 2.3 Step 5. Record the control error in the experiments. 3. Compare the control performance with that of the multi-loop PI control. 4. Using different weighting functions in your LQG control design. Find from the experiments how would the choices of the weighting functions affect the control performance. Hint: You may design the LQG controller based on the state-space process model. 2.5 Model predictive control 1. Design a multivariable MPC for this process with the following constraints: 0 ≤ reflux ratio ≤ 3, 0 ≤ vapor flow rate ≤ 0.06. 4 2. Develop the controller for the set points in Section 2.3 Step 4. Test your controller with the setpoint changes and disturbances as described in Section 2.3 Step 5. Record the control error in the experiments. 3. Compare the control performance with that of the LQG control. Hint: You may use the same weighting functions Q and R as you used in LQG control. 2.6 Optional: Robust control (15% bonus marks) Design the H∞ controller based on the state-space process model such that it achieves a similar level of performance of LQG control and also achieves the best possible robustness. 1. Determine the uncertainty bound and the weighting functions for H∞ control design based on your results in Section 2.2. 2. Augment the process model and design a multivariable H∞ controller which minimizes the mixed sensitivity. 3. Compare the control performance with that of the multi-loop PI control and LQG control. 3 Lab Report Each student is to submit an individual report. This report contains sections of introduction, experimental work and results and discussion. In the first section, the objective and numerical experiments procedure in general are described. In the second section, you should write up each experiment, describe what you did, present relevant results (such as printed plots of your sampled data) and, where relevant, discuss them. In Section 3, you should discuss various issues relating to control methods you implemented, problems encountered and comment on the performance of the controllers.