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:
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
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 myaccess.unsw.edu.au.
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.
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
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.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)
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
Overhead Composition: 0.80, 0.85, 0.90 mol MeOH
Bottom Composition: 0.20, 0.15, 0.10 mol MeOH
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
Feed flowrate: from 0.02 to 0.03 m3
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.
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
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
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.