Solution Process Control - Modeling, Design and Simulation
Solution Process Control - Modeling, Design and Simulation
Chapter 1 Solutions
Braking Force
Gear Selection
1.1
i. Driving a car
Please see either jogging, cycling, stirred tank
heater, or household thermostat for a representative answer.
Weather
Path Conditions
Other people, animals
(c) Output Variables Measured:
Speed
Direction
Caloric Output (via electronic monitor)
Output Variables Unmeasured:
Level of enjoyment
Mechanical integrity of person and bicycle
Aesthetics (smoothness of ride)
(d) Constraints Hard:
Turning radius
Mechanical limits of bike and person
Maximum fatigue limit of person
Constraints Soft:
(d) Constraints:
Hard: Max Heart Rate (to avoid heart
attack death)
Hard: Blood oxygen minimum and
maximum
Soft: Time spent jogging
(e) Operating characteristics: Continuous during period, Semi Batch when viewed over
larger time periods.
(f) Safety, environmental, economic factors:
Potential for injury, overexertion
(g) Control: Feedback/Feedforward system.
Oxygen level, heartbeat, fatigue all part of
determining action after the fact. Path,
weather are part of feedforward system
Cycling
(a) Objectives:
Ensure stability (dont crash)
Enjoy ride
Prevent mechanical failure
Steering dynamics that lead to instability before mechanical failure (i.e. you
crash, the bike doesnt break)
Terrain and weather can limit enjoyment level.
(e) Operation: Continuous: Steering, weight
distribution, terrain selection within a path,
pedal force Semi batch: Gear selection,
braking force Batch: Tire pressure, bike selection, path selection
(f) Safety, environment, economics: Safety:
Stability and mechanical limits prevent injury to rider and others Environment: Trail
erosion, noise Economics: Health costs,
maintenance costs
(g) Control Structure: Feedback: Levels of exertion, bike performance are monitored and
ride is adjusted after the fact FeedForward:
Path is seen ahead and ride is adjusted accordingly.
iii. A stirred tank heater
(a) Objectives
Maintain Operating Temperature
Maintain flow rate at desired level
(f) Safety, Environmental, Economic considerations: Safety: heater may be an electrical or burning hazard Economics: Heating
costs Environmental: Energy consumption.
ii. Familiar Terms: Constraint, nonlinearity, control performance, MPC, unmeasured disturbance rejection, modeling, simulation.
b. Reactive Ion Etching
Please see FCCU for a representative answer.
c. Rotary Lime Kiln
Please see FCCU for a representative answer.
e. Anaerobic Digester
Please see FCCU for a representative answer.
sentative answer.
g. pH
Please see vortexshedding flow meters for a representative answer.
f. Distillation
Please see FCCU for a representative answer.
g. Polymerization Reactor
Please see FCCU for a representative answer.
1.4
No solutions are required to work through Module 1
h. pH
Please see FCCU for a representative answer.
1.5
i. Beer Production
Please see FCCU for a representative answer.
a.
The main objective is to maintain the process fluid
outlet temperature at a desired setpoint of 300 C.
b.
The measured output is the process fluid outlet temperature.
c.
The manipulated input is the fuel gas flowrate, specifically the valve position of the fuel gas control valve.
1.3
a. Vortexshedding flow meters
The principal of vortex shedding can be seen in the
curling motion of a flag waving in the breeze, or the
eddies created by a fast moving stream. The flag
outlines the shape of air vortices as the flow past the
pole. Van Karman produced a formula describing the
phenomena in 1911. In the late 1960s the first vortex
shedding meters appeared on the market. Turbulent
flow causes vortex formation in a fluid. The frequency
of vortex detachment is directly proportional to fluid
velocity in moderate to high flow regions. At low
velocity, algorithms exist to account for nonlinearity.
Vortex frequency is an input, fluid velocity is an output.
b. Orificeplate flow meters
Please see vortexshedding flow meters for a representative answer.
c. Mass flow meters
Please see vortexshedding flow meters for a representative answer.
d. Thermocouple based temperature measurements
Please see vortexshedding flow meters for a representative answer.
e. Differential pressure measurements
Please see vortexshedding flow meters for a representative answer.
f. Control valves
Please see vortexshedding flow meters for a repre-
d.
Possible disturbances include: process fluid flowrate,
process fluid inlet temperature, fuel gas quality, and
fuel gas upstream pressure.
e.
This is a continuous process.
f.
This is a feedback controller.
g.
The control valve should be fail-closed. Increasing
air pressure to the valve will then increase the valve
position and lead to an increase in flowrate. Loss of
air to the valve will cause it to close. The gain of the
valve is positive, because an increase in the signal to
the valve results in an increase in flow.
h.
It is important from a safety perspective to have a
fail-closed valve. if the valve failed open, there might
not be enough combustion air, causing a loss of the
flame - this could cause the furnace firebox to fill with
fuel gas, which could then re-ignite under certain conditions. Although the combustion air is not shown, it
should be supplied with a small stoichiometric excess.
If there is too much excess combustion air, energy is
wasted in heating up air that is not combusted. If
there is too little excess air, combustion will not be
complete, causing fuel gas to be wasted and pollution to the atmosphere. The process fluid is flowing
1-3
1.8
We know from the problem statement that the inlet
(Fin ) and outlet (Fout ) flowrates can be represented
with the following equations:
i.
The control block diagram for the process furnace is
shown below in Figure 1. Where the the signals as
Fin = 50 + 10 sin(0.1t)
Fout = 50
The change in volume as a function of time is
dV
= Fin Fout
dt
substituting what we know:
dV
= 50 + 10 sin(0.1t) 50
dt
Simplifying
dV
= 10 sin(0.1t)
dt
Rearranging the equation
follows:
Tsp : Temperature setpoint
dV = 10 sin(0.1t)dt
Tm : Measured temperature
10
cos(0.1t)|tt=0
0.1
1.6
$500, 000
$10, 000
x 0.02 =
day
day
We are also given that the revamp will cost
$2,000,000. We can now calculate the time required
to payback the control system investment.
$2, 000, 000
$10,000
days
= 200days
1.7
2yrs 4.4 million $/yr 0.2% = $176, 000
1.9
a.
The objective is to maintain a desired blood glucose
concentration by insulin injection. Insulin is the manipulated input and blood glucose is the measured
output. As performed by injection, the input is really discrete and not continuous. Also, glucose is
not continuously measured, so the measured output
is discrete. Disturbances include meal consumption
and exercise. Feedforward action is used when a diabetic administers an injection to compensate for a
1-4
700
V(t)
650
600
gain is positive. A fail-closed valve should be specified. If the valve failed-open, the cold stream outlet
temperature could become too high.
500
50
100
150
time
b.
An increase in the hot by-pass flow leads to a decrease
in the cold stream outlet temperature, so the gain is
negative. A fail-open valve should be specified.
c.
An increase in the cold by-pass flowrate leads to a
decrease in the outlet temperature, so the gain is negative. A fail-open valve should be specified, so that
the outlet temperature is not too high or the air pressure is lost.
b.
A process and instrumentation diagram of an automated closed-loop system is shown in Figure 3 below. d.
For simplicity, this is shown as a pump and valve Strategy (c), cold by-pass, will have the fastest dynamic behavior because the effect of changing the bypass flow will be almost instantaneous. The other
strategies have a dynamic lag through the heat exchanger.
1.11
The anesthesiologist attempts to maintain a desired
setpoint for blood pressure. This is done by manipulating the drug flowrate. A major disturbance is the
effect of an anesthetic on blood pressure.
The control block diagram for the automated system
is show below in Figure 5, where, for simplicity, the
drug is shown being changed by a valve.
Figure 1-3: P&ID of closed-loop insulin infusion
arrangement. In practice, the pump speed would
be varied. The associated control block diagram is
shown in Figure 4 below.
1.10
a.
An increase in the hot stream flowrate leads to an increase in the cold stream outlet temperature, so the
1-5
Chapter 2 Solutions
2.1
40.7
40.6
Outlet Temperature C
dP
RT
RT
=
qi
P Ph
dt
V
V
At steady state
dP
RT
RT
=
qi
P Ph = 0
dt
V
V
RT
RT
Ps Phs =
qis
V
V
q2
Ps = Phs + is2
40.5
40.4
40.3
40.2
40.1
ode45
Euler
40
0.2
0.6
0.8
1
Time min
1.2
1.4
1.6
1.8
Thus we can conclude that it is a selfregulating system, as for a change in input it will attain a new
steadystate.
The sketch of the steadystate inputoutput curve
should look like gure 2-1.
25
Ps
0.4
20
100
dT
=
(22 T ) + 4
dt
500
15
10
xk = f (xk )
5
0.5
1.5
2.5
q
3.5
4.5
where f () is the right hand side of the dierential equation, and x is the state, in this case T .
Using t = 0.5, and for a total of 2 minutes, we
have
is
x0 = 40
x1
2.2
x2
x3
dV
= Fi F
dt
dT
Fi
= (Ti T ) + Q
dt
V
x4
1
(22 40) + 4 = 40.2
= 40 + 0.5
5
1
(22 40.2) + 4 = 40.38
= 40.2 + 0.5
5
1
(22 40.38) + 4 = 40.542
= 40.38 + 0.5
5
1
(22 40.542) + 4 = 40.6878
= 40.542 + 0.5
5
2.3
CAi
Since the model equations have only two states, Vl
CP 1s = Fs s
and P , we have to assume the following are constant:
kV + 1
density of the liquid (), temperature (T ), the ideal
gas constant (R) and the molecular weight of the gas We need to meet a yearly production, so our nal
constraint is
(M W ).
Starting with the balance of the liquid mass in the
Fs CP 1s S = 100x106 lb/yr
system, we have
Where S = 62lb/lbmol 504000min/yr is our converdVl
dMl
=
= Ff F
sion factor, assuming 350 days of operation in a year.
dt
dt
Then,
dVl
CAi
= Ff F
Fs Fs s S = 100x106 lb/yr
dt
kV + 1
For the balance of the mass of gas
solving for the owrate, we get Fs = 7.9256ft3 /min.
Now we need to consider the second reactor in sednM W
= qi M Wi qM W
ries,
which will also change the owrate needed to
dt
meet production levels. The equations for the second
dn
= qi q
reactor are
dt
F
dCA2
= (CA1 CA2 ) kCA2
dt
V
F
dCP 1
= (CP 1 CP 2 ) + kCA2
dt
V
From the ideal gas law P Vg = nRT , where the volume of gas is Vg = V Vl Then,
d(P Vg )
nRT
=
dt
dt
dn
d(V Vl )
dP
+ (V Vl )
= RT
P
dt
dt
dt
and using the previously derived expressions for
and Vdtl
P
dn
d(V Vl )
dP
+ (V Vl )
= RT
dt
dt
dt
dVl
dP
+ (V Vl )
= RT (qi q)
P
dt
dt
P
RT
dP
=
(Ff F ) +
(qi q)
dt
V Vl
V Vl
2.4
dn
dt
kV
Fs
kV
Fs
Fs CP 2s S = 100x106 lb/yr
+ 2 CAis
S = 100x106 lb/yr
2
+1
2.5
The resulting graph should be the same as gure 2-5,
except that the time range from -1 to 0 will not appear.
d(V Ca )
= Fin CAin kV CA
dt
dV
= Fin
dt
2-2
= Fin CAin kV CA
= Fin CAin kV CA
= CA
d(V )
+ Fin CAin kV CA
dt
Fin
(CAin CA ) kCA
V
2
=
(C
C
)
kC
a11 =
wi
w1
w1
x1 ss
Cw1 V1
ss
Fs
=
2kCw1s
V1
F
f1
2
a12 =
=
(Cwi Cw1 ) kCw1
x2 ss
Cw2 V1
ss
=0
a21
a22
2.7
a. The modeling equations are
b11
F
dCw1
2
=
(Cwi Cw1 ) kCw1
dt
V1
F
dCw2
2
=
(Cw1 Cw2 ) kCw2
dt
V2
b12
b21
ss
Fs
Fs
Cw1s
Cwis = 0
V1
V1
b22
ss
1
=
(Cw1s Cw2s )
V2
F
f2
2
=
=
(Cw1 Cw2 ) kCw2
u2 ss
Cwi V2
ss
=0
F
f2
2
=
=
(Cw1 Cw2 ) kCw2
x1 ss
Cw1 V2
ss
Fs
=
V2
F
f2
2
=
=
(Cw1 Cw2 ) kCw2
x2 ss
Cw2 V2
ss
Fs
=
2kCw2s
V2
F
f1
2
=
=
(C
C
)
kC
wi
w1
w1
u1 ss
F V1
ss
1
=
(Cwis Cw1s )
V1
F
f1
2
=
=
(Cwi Cw1 ) kCw1
u2 ss
Cwi V1
ss
Fs
=
V1
F
f2
2
=
=
(C
C
)
kC
w1
w2
w2
u1
F V2
Fs
Fs
Cw2s
Cw1s = 0
V2
V2
f1 =
analytically, we have
det
then
U A = 183.9 Btu/( Fmin)
det (I A) = 0
0
=0
+ 0.320156
+ 1.25
0.05
( + 1.25)( + 0.320156) = 0
thus the eigenvalues are 1 = 1.25 and 2 =
0.320156
g. Figure 2-3 shows the plot for the linear and nonlinear responses; as it can be seen, the extraction
requirements are still met.
Response to a 10 l/min step change from steady state
0.355
Cw1 mol/l
0.35
0.345
0.34
0.335
0.33
nonlinear
linear
0
10
time (hrs)
12
14
16
18
d. Using delJ = 0, run ode45 to solve the equations dened in heater.m, then plot the two
states vs. time. The result should be constant
values that match the steady states for all time.
0.096
Cw2 mol/l
0.094
0.092
nonlinear
linear
0.09
10
time (hrs)
12
14
16
18
e. To get the desired plots for the two step responses, the mle shown in pages 74-75 can
be used, starting with the denition of the state
space linear model. Since the model is linear,
the output of the step response command can be
scaled accordingly for steps of dierent sizes by
just multiplying by delFj. Figures 4(a) and 4(b)
show the responses for a small (0.2% change in
Fj ) and a large (10% change in Fj ) steps, respectively.
f. Since we know U A for the small vessel, and we
are assuming that U remains constant, we can
nd the value of U A for a larger volume as
2.8
a. Solve the following two simultaneous equations
using the parameters and steadystate values
provided:
U Asmall
Alarge
= U Alarge
Asmall
20
23
Fs
UA
(Tis Ts ) +
(Tjs Ts ) = 0
V
V cp
Fjs
UA
(Tjins Tjs )
(Tj s Ts ) = 0
Vj
Vj j cpj
2-4
then
125.06
Tjs = 178.86 F
125.04
temp F
125.08
125.02
nonlinear
linear
125
10
15
time (min)
20
25
10
15
time (min)
20
25
30
150.1
jacket temp F
150.08
150.06
150.04
150.02
150
nonlinear
linear
30
(a)
Fs
UA
(Tis Ts ) +
(Tj s Ts ) = 0
V
V cp
V
23
U Asmall 10
0.1 (Tis Ts ) +
(Tj s Ts ) = 0
V cp
temp F
127
126.5
126
125.5
125
nonlinear
linear
0
10
15
time (min)
20
25
30
153.5
jacket temp F
153
152.5
152
151.5
151
nonlinear
linear
150.5
150
10
15
time (min)
20
25
30
(b)
Figure 2-4: Plot for 2.8e (a) small step of 0.2% (b)
large step of 10%
V
10
0
1
0.1
0
0 0
0 0
0
1.4191
0.75
0
1
C=
0
0 0
D=
0 0
0
B=
0.8456
23
2-5
125.025
125.02
125.015
125.01
nonlinear
linear
125.005
125
10
15
time (min)
20
25
30
178.93
jacket temp F
178.92
178.91
178.9
178.89
178.88
nonlinear
linear
178.87
178.86
10
15
time (min)
20
25
30
temp F
126
125.5
nonlinear
linear
125
10
15
time (min)
20
25
10
15
time (min)
20
25
30
181
jacket temp F
180.5
180
179.5
179
178.5
nonlinear
linear
30
2-6
Chapter 4 Solutions
4.1
y(t1 ) = 0.238y
The maximum rate-of-change means taking a deriva- Substituting t2 = p + into the output equation:
tive. The output is:
p +
)}
y(t) = y{1 exp(
t
p
)}
y(t) = kp u{1 exp(
p
Cancelling out terms gives:
The derivative with respect to time is:
y(t) = y{1 exp(1)}
dy
kp u
t
=
exp(
)
Which simplies down to:
dt
p
p
y(t1 ) = 0.632y
Due to the negative sign, the largest that exp { t
p }
can be is 1. An exponential will give a value of 1 when
Use the equations for t1 and t2 to solve for and p
the argument is 0. That means the following is true:
p
+
t1 =
t
3
=0
p
t 2 = p +
Solving for gives
Solving for in the t2 equation gives:
t=
= t 2 p
To nd the maximum slope, plug t = into the slope
equation:
=
exp(
)
dt
p
p
t1 =
p
+ t 2 p
3
dy
kp u
=
dt
p
p =
3
(t2 t1 )
2
4.3
4.2
p
3
t
)}
p
p
3
+
)}
p
kp =
C
68 50 C
=6
28 25 psig
psig
1
y(t) = y{1 exp( )}
3
Looking at the output response, the time for the re- The time delay can be eye balled by looking at
sponse to reach 11.376 C is 15 minutes. The time when the output begins to change signicantly, and
constant can then be calculated using the formula when the input change was applied. For this process:
given in the chapter.
= 5 min 1 min = 4 min
t63.2% = +
The time constant can be estimated by rst determining what 63.2% and 28.3% of the output is.
= t63.2% = 15 4 = 11 min
0.632y = (0.632)(18) = 11.376
The FOPDT can then be expressed as:
gp (s) =
6e4s
10s + 1
C
68 50 C
6e4s
=6
kp =
gp (s) =
28 25 psig
psig
10.5s + 1
The time delay can be eye balled by looking at
Note that all three methods give similar, but not idenwhen the output begins to change signicantly, and
tical FOPDT models.
when the input change was applied. For this process:
4.4
The time constant can be estimated using the max- An integrator plus dead time model has the form:
imum slope of the output response. Looking at the
kp es
gp (s) =
response, we can see that the maximum slope can be
s
calculated using:
We therefore need to estimate a gain and a time delay.
3
min
min
6e
gp (s) =
We can then calculate the gain using the formula:
7.5s + 1
The second technique to estimate the parameters in
a rst order plus dead time (FOPDT) model is the
Two Point method. Find the gain using the formula:
kp =
y
u
kp =
slope
u
m
0.1 min
m
= 0.2
0.5 lps
min lps
The integrator plus dead time model is thus:
C
68 50 C
=6
kp =
28 25 psig
psig
kp =
gp (s) =
4-2
0.2e2s
s
4.5
0
2.9588
C(sI A)1
= 0 1
0.1
0.12
0
s + 2.9588
0.14
=
0.8333
(s+3.6237)(s+2.9588)
C(sI A)1 B
0.8333
= (s+3.6237)(s+2.9588)
1
s+2.9588
G(s) =
1.5
time
2.5
>> dss=c2d(css,0.25)
The discrete time state space model is:
0.4042
0
=
0.0916 0.4773
0.9052
=
0.1392
C= 0 1
1.2660s 0.000204
s2 + 6.5825s + 10.7218
D=0
>> css=ss(A,B,C,D)
5.5051
1.2660
1.2660
4.5874
+
=
(s + 3.6237)(s + 2.9588) s + 2.9588
4.5874 1.2660(s + 3.6237)
=
(s + 3.6237)(s + 2.9588)
1
s+2.9588
0.5
1
s+2.9588
Figure 4-1: Step responses for continuous and discrete time models
s+2.9588
1
s+3.6237
0.8333
(s+3.6237)(s+2.9588)
0.06
0.08
1
s + 3.6237
0
(sI A)1 =
0.8333 s + 2.9588
1
s + 2.9588
0
=
0.8333
s + 3.6237 det(sI A)
s + 2.9588
0
=
0.8333
s + 3.6237
1
(s + 3.6237)(s + 2.9588)
1
0
s+3.6237
=
1
0.8333
(s+3.6237)(s+2.9588)
0.04
output
0 s
s + 3.6237
=
0.8333
0.02
4-3
0.1392z + 0.1392
0.8814z + 0.1929
z2
c. The continuous and discrete time models were To check for stability, we note the the last equation
plotted for a step change using MATLAB. Figure is of the form:
4 1 below has their respective responses.
The sample time is too large for the discrete
(z z1 )(z z2 ) . . . (z zm )
gp (z) = k
transfer function to do a good job of accurately
(z p1 )(z p2 ) . . . (z pn )
modelling the initial step response time. A
smaller sample time could better capture the system behavior.
For this model, that means that p1 = 0.8196 and
p2 = 0.9074. The criteria for stability in a discrete
time
system is that the roots of the denominator (the
4.6
pi values here) have an absolute value of less than
The discrete time model is:
one. Since p1 = 0.8196 < 1 and p2 = 0.6074 < 1, the
discrete time system is stable.
y(k) 1.425y(k 1) + 0.4966y(k 2)
= 0.1194u(k 1) + 0.09456u(k 2)
Taking the Z-transform of both sides
4.7
g(z) =
b1 z 1 + b2 z 2
1 + a1 z 1 + a2 z 2
This simplies to
We can solve for the parameters using the equation:
= (T )1 T Y
a1
We recognize this as the following form of equation
a2
[4.11]:
=
b1
b2
0.1194z 1 + 0.09456z 2
gp (z) =
1
2
1 1.425z + 0.4966z
Multiplying by z 2 /z 2 yields the form of equation
[4.12]:
0.1194z + 0.09456
gp (z) = 2
=
z 1.425z + 0.4966
Finally, by making the leading coecient in the numerator 1, and factoring out the denominator, we can
put the equation into the form of [4.13]:
gp (z) = 0.1194
z + 0.792
(z 0.8196)(z 0.6074)
y(0)
..
.
y(1)
..
.
u(0)
..
.
u(1)
..
.
y(N 1)
y(N 2)
u(N 1)
u(N 2)
Y =
4-4
y(1)
...
y(N )
T
Y =
.1044
.3403
.6105
.8494
1.0234
1.1244
1.1616
1.1531
1.1184
1.0746
1.0336
1.0023
.9828
.9744
.9742
.9790
.9860
.9929
.9985
1.0022
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
The discrete time model can be converted to continuous time using the following series of MATLAB
commands:
>> dtf=tf([.1044 .0883],[1 -1.4138 .6065],1);
>> ctf=d2c(dtf)
The continuous time model that results is:
g(s) =
1.2
0.8
0.6
0.4
0.2
1.4138
.6065
=
.1044
.0883
10
12
14
16
18
20
Time (sec)
4.8
Given noisy input, output and time step data (u,y,k
respectively), we need to estimate the parameters a1 ,
a2 , b1 and b2 in the discrete model:
g(z) =
.00001733s + .25
s2 + .5s + .25
Amplitude
0
0
1
.1044
0
1
.3403
.1044 1
.6105
.3403 1
.8494
.6105 1
1.0234 .8494 1
1.1244 1.0234 1
1.1616 1.1244 1
1.1531 1.1616 1
1.1184 1.1531 1
=
1.0746 1.1184 1
1.0336 1.0746 1
1.0023 1.0336 1
.9828 1.0023 1
.9744
.9828 1
.9742
.9744
1
.9790
.9742
1
.9860
.9790 1
.9929
.9860 1
.9985
.9929 1
z2
b1 z + b2
+ a1 z + a2
Where is the vector of parameters we wish to estimate, and and Y are as follows:
Which means that a1 = 1.4138, a2 = .6065, b1 =
a1
.1044, and b2 = .0833, and the discrete model looks
a2
like:
=
1
2
b1
.1044z + .0883z
g(z) =
b2
1 1.4138z 1 + .6065z 2
4-5
Step Response
Y =
1.4
1.2
Amplitude
0.8
0.6
0.4
0.2
10
12
14
16
18
20
Time (sec)
y(0)
..
.
y(1)
..
.
u(0)
..
.
u(1)
..
.
y(N 1)
y(N 2)
u(N 1)
u(N 2)
Y =
y(1)
...
y(N )
.0399
.1663
.4065
.1521
.3910
.2284
.2569
.0910
.1737
.1260
.0668
.1958
.4976
.3724
.0119
.0927
.0528
.1357
.0580
1.0169
.2541
=
.0817
.1916
T
.0857 .0741
1
.0399 .0857 1
.1663 .0399 1
.4065
.1663
1
.1521
.4065 1
.3910
.1521 1
.2284
.3910
1
.2569 .2284 1
.0910 .2569 1
.1737 .0910
1
.1260 .1737 1
.0668 .1260 1
.1958
.0668 1
.4976
.1958 1
.3724
.4976
1
.0119
.3724 1
.0927
.0119
1
.0528 .0927 1
.01357 .0528 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
z2
.0889z + .2021
1.1196z + .3133
The parameters we just estimated for the noisy measurements are reasonably close to the parameters estimated in Example 4.4 when there was no measurement noise.
The step responses of the two discrete models are
shown in Figure 44 below. The two discrete models
follow the same qualitative trend, although the discrete model with measurement noise reaches a steady
state value that is lower than the one achieved by the
perfect discrete model.
4.9
a. The eigenvalues of a continuous state space
model depend only on the A matrix. For this
system, the A matrix is:
0.1
0
A=
0.04 .04
4-6
Step Response
(sI A)1 =
0.6
0.5
s + .04
.04
s + .04
.04
(sI A)1 =
(sIA)1 =
0.4
0
s + .01
1
s+.1
.04
(s+.1)(s+.04)
Amplitude
0.3
0.2
C(sIA)
0.1
C(sI A)1 =
0
with noise
without noise
0.1
0
s + .01
0.5
1.5
2.5
3.5
4.5
C(sIA)1 B =
Time (sec)
0
1
s+.04
1
s+.04
1
s+.04
0.1
0
.004
(s + .1)(s + .04)
det(I A) = 0
G(s) =
0
.04 .04
+ .1
0
(I A) =
.04 + .04
1
s+.04
1
s+.1
.04
(s+.1)(s+.04)
.04
(s+.1)(s+.04)
s2
1
(s + .1)(s + .04)
0
.04
(s+.1)(s+.04)
C(sI A)1 B =
1
det(sI A)
.004
+ .14s + .004
>>
>>
>>
>>
>> sstf=tf(css)
0 s
.04 .04
s + 0.1
0
(sI A) =
0.04 s + 0.04
1
s + 0.1
0
1
(sI A) =
0.04 s + 0.04
>> dss=c2d(css,3)
4-7
This transfer function conrms the analytical result we derived in part (a) of the problem. Now
we can nd the discrete time state space model
with the MATLAB command:
0.2592
0.01568
C= 0 1
D=0
Finally, the discrete time transfer function can
be found using the following MATLAB command:
>> dsstf=tf(dss)
The discrete time transfer function is:
G(z) =
0.1568z + 0.01363
z 2 1.628z + 0.657
The discrete time state space model can be represented with the following equation:
.7408
0
.2592
xk +
uk
xk+1 =
.0974 .8869
.01568
yk = 0 1 xk
4-8
Chapter 5 Solutions
temperature
5.1
0.6
2
0
10
time
12
14
16
18
20
10
time
12
14
16
18
20
1
0.8
heater
0.6
0.4
0.2
0
temperature
0.4
0.2
5.2
0
0.2
0.4
0
10
time
12
14
16
18
20
ym (s) = gm (s)y(s)
1
and
heater
0.8
0.6
y(s) = gp (s)u(s)
0.4
then
0.2
0
0
10
time
12
14
16
18
20
temperature
0.5
0
and
0.5
1
0
10
time
12
14
16
18
20
then
1
heater
0.8
0.6
0.4
0.2
0
0
10
time
12
14
16
18
20
ym (s) =
Figure 5-2: Temperature and heater profile with dead
band of 1.0
5-1
5.4
so
5.3
y2 (s) =
gp (s)gc (s)
r(s)
y(s) =
1 + gp (s)gc (s)gm (s)
y1 (s) =
Where
gcf (s) =
y1 (s) =
Part (b)
The control valve should be fail open. The objective of a heat exchanger is to heat a cold stream to
a desired temperature (the setpoint). The heating is
achieved by using a hot stream, typically from another unit operation in the plant. In the case of failure, a closure of the valve stops the flow of hot fluid,
5.5
affecting both the upstream process that produces it,
and the downstream process that uses the heat exPart (a)
The control block diagram for the heat exchanger is changer effluent. In either case, the cold stream will
given in the figure below. The blocks and signals on not reach setpoint and be out of spec, and having
the valve open will prevent another plant unit from
being affected by the failure. The valve should therefore be fail open.
The stability of the closed-loop system can be checked
by finding the roots of the closed-loop characteristic
equation (CLCE). This can be done numerically or by
the Routh stability criterion. The system is stable if
all the roots are negative.
Part (c)
The valve is fail open, so an increase in valve pressure will decrease the hot stream flow to the heat
exchanger. A lower hot stream flow rate leads to a
lower measured outlet temperature. The process gain
Figure 5-4: Control block diagram of heat exchanger is defined as:
y
kp =
the control block diagram mean the following:
u
For
the
heat
exchanger,
this
can be written as:
r(s) is the setpoint to the controller.
e(s) is the error between the measured output
and setpoint.
kp =
sign(temperature)
sign(valve)
kp =
=
+
5.6
gp (s) =
kp
u s + 1
I s + 1
I s
5.7
gp (s)gc (s)
1 + gp (s)gc (s)
gp (s) =
gCL (s) =
kp kc I s+1
u s+1 I s
k kc I s+1
+ up s+1
I s
1
s(2s + 1)
Simplifying
kp kc (I s + 1)
gCL (s) =
(u s + 1)(I s) + kp kc (I s + 1)
gc (s)gp (s)
1 + gc (s)gp (s)
Kc
= 2
2s + s + Kc
gcl (s) =
Where the denominator is the closed-loop characteristic equation (CLCE). Expanding the CLCE results
in:
CLCE = I u s2 + I s + kp kc I s + kp kc
CLCE = I u s2 + (I + kp kc I )s + kp kc
Multiplying by -1
= lim se(s)
CLCE = I u s2 (I + kp kc I )s kp kc
s0
5.8
I kp kc I > 0
gp (s) =
1 kp kc > 0
kp kc > 1
2(3s + 1)
(5s + 1)
kp kc < 1
gc (s) = Kc
kp kc > 0
Look at s0 .
kp kc < 0
1 + gc (s)gp (s) = 0
There are two restrictions on the parameters, kp kc <
(5s + 1) + 2Kc (3s + 1) = 0
0 and kp kc < 1. The latter is the more stringent, so
(5 6Kc )s + 1 + 2Kc = 0
the system is stable as long as the following inequality
is satisfied:
without solving for s, we know that for this closed
kp kc < 1
loop system the necessary and sufficient condition for
5-4
5 6Kc > 0
5
Kc <
6
6kc > 2
kc < 1/3
5
6
Look at s0 .
3kc > 0
5.9
kc < 0
2s+1 2s
3kc 2s+1
2s+1 2s
1+
Simplifying
gCL (s) =
3kc (2s + 1)
(2s + 1)(2s) + 3kc (2s + 1)
gp (s)gc (s)
1 + gp (s)gc (s)
Where the denominator is the closed-loop characteristic equation (CLCE). Expanding the CLCE results For this system,
in:
kc
CLCE = 4s2 + 2s + 6kc s + 3kc
(s+1)(s1)
g
(s)
=
CL
kc
CLCE = 4s2 + (2 + 6kc )s + 3kc
1 + (s+1)(s1)
Multiplying by -1
gCL (s) =
kc
(s + 1)(s 1) + kc
kc
In order for the system to be stable, all the coefficients
gCL (s) = 2
s
1 + kc
of the CLCE must be the same sign. Because the
CLCE is quadratic, having all coefficients be the same The denominator is the closed-loop characteristic
sign is both a necessary and sufficient condition. For equation (CLCE).
higher order CLCEs, the Routh stability criterion
CLCE = s2 1 + kc
must be used. To determine the parameter range for
5-5
0>0
kc > 2
gCL (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
gCL (s) =
gCL (s) =
gCL (s) =
kc
(s+1)(s2)
kc
+ (s+1)(s2)
kc
(s+1)(s0.1)
kc
+ (s+1)(s0.1)
kc
(s + 1)(s 0.1) + kc
kc
+ s 0.1s + 0.1kc
The denominator is the closed-loop characteristic
equation (CLCE).
gCL (s) =
kc
(s + 1)(s 2) + kc
gCL (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
1
(s + 1)(s 0.1)
kc
s2 s 2 + k c
s2
5-6
0.9 > 0
kc 2 > 0
kc > 0.1
kc > 2
1
(s + 2)(s 1)
gp (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
gp (s) =
gCL (s) =
s2
1
m s3 + (m + 1)s2 + (1 2m )s 2
kc
(s+2)(s1)
kc
+ (s+2)(s1)
kc
(s + 2)(s 1) + kc
gCL (s) =
1
1
(s + 2)(s 1) m s + 1
kc
+ s 2 + kc
CLCE = s + s + (kc 2)
In order for the system to be stable, all the coefficients
of the CLCE must be the same sign. Because the
CLCE is quadratic, having all coefficients be the same
sign is both a necessary and sufficient condition. For
higher order CLCEs, the Routh stability criterion
must be used. To determine the parameter range for
stability, look at the coefficients of each power of s.
Start with s2 .
1>0
gCL (s) =
4
m s3 + (m + 1)s2 + (1 2m )s + 2
5-7
m > 0
3 + / 17
1 2m > 0
m =
4
1 > 2m
Because we know that m cannot be negative, we only
1
need the positive root from the quadratic equation.
m <
2
3 17
We will need to make sure this inequality is satisfied.
m =
= 0.37436854
4
Look at s0 .
2>0
This will always be satisfied.
Now we need to form the Routh Array to check the
sufficient condition. We can define the coefficients of
the CLCE as a3 = m , a2 = m + 1, a1 = 1 2 ,
a0 = 2. The Routh Array is:
row
1
a3
2
a2
3
b1
4
a0
This value becomes the upper limit defined by the sufficient condition. Because this is more stringent than
the m < 0.5 found by the necessary condition, this is
the maximum allowable measurement time constant
before the system becomes destabilized.
17 3
m =
4
5.12
a1
a0
gc (s) = kc
b1 =
gCL (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
a2 a1 a3 a0
>0
a2
(m + 1)(1 2m ) 2m
>0
b1 =
m + 1
Simplifying,
I s + 1
I s
The only element of the table that we have not already encountered in calculating the necessary condition is b1 . That means we only need to show that
b1 > 0 to satisfy the sufficient condition.
b1 =
1
(s 2)(s + 1)
gp (s) =
gCL (s) =
I s+1
kc
(s2)(s+1) I s
I s+1
kc
+ (s2)(s+1)
I s
Simplifying,
gCL (s) =
2
2m
3m + 1
>0
m + 1
kc (I s + 1)
(s 2)(s + 1)(I s) + kc (I s + 1)
gCL (s) =
kc I s + kc
(s2 s 2)(I s) + kc I s + kc
2
2m
3m + 1 > 0
5-8
We are asked if a PI controller can satisfy the necessary condition for stability. The necessary condition
is that all coefficients in the CLCE are of the same
sign. Taking a close look at the CLCE, we can see
that the signs on the s3 and s2 are +1 and -1 respectively. Since neither coefficient is a function of kc ,
there is nothing we can do to make them the same
sign. Therefore, a PI controller CANNOT satisfy the
necessary condition for stability for this process.
5.13
gp (s)gc (s)
1 + gp (s)gc (s)
kp kc
I s+1
2 s2 +2 s+1 I s
kp kc
I s+1
+ 2 s2 +2
s+1 I s
Simplifying,
gCL (s) =
2.5(5s + 1)
(10s + 1)(2s + 1)
( 2 s2
kp kc (I s + 1)
+ 2 s + 1)(I s) + kp kc (I s + 1)
CLCE = ( 2 s2 + 2 s + 1)(I s) + kp kc (I s + 1)
gc (s) = Kc
Multiplying through,
CLCE = 2 I s3 + 2 I s2 + I s + kp kc I s + kp kc
1 + gc (s)gp (s) = 0
CLCE = 2 I s3 + 2 I s2 + (I + kp kc I )s + kp kc
2.5(5s + 1)
=0
(10s + 1)(2s + 1)
(10s + 1)(2s + 1) + 2.5Kc (5s + 1) = 0
1 + Kc
1 + 2.5Kc > 0
Kc > 0.4
5.15
Part (a)
5.14
2 s2
kc
+ 2 s + 1
I s + 1
I s
Part (b)
Starting with Case 1, the process is:
We will start by deriving the generic closed loop characteristic equation (CLCE) for stability, and then
5-9
gp =
1.1170s + 3.1472
+ 4.6429s + 5.3821
s2
gp (s) =
1.1170s + 3.1472
0.1858s2 + .8627s + 1
0.3549s + 1
gp = 0.5848
0.1858s2 + .8627s + 1
From this arrangement, we can easily see that the
process gain is kc = 0.5848. The zeros are the roots
of the numerator.
gCL (s) =
gCL (s) =
gCL (s) =
z1 = 2.8176
The poles are the roots of the denominator. Using
the Matlab roots command, we find that p1 = 2.405
and p2 = 2.238.
For Case 2, the process is:
kc (1.1170s + 3.1472)
s2 + 4.6429s + 5.3821 + kc (1.1170s + 3.1472)
All we need to check stability is the closed-loop characteristic equation (CLCE), which is the denominator
of the above fraction.
CLCE = s2 +4.6429s+5.38211.1170kc s+3.1472kc
1.1170s 3.1472
s2 + 10.2778s + 26.0508
kc (1.1170s+3.1472)
s2 +4.6429s+5.3821
+ ksc2(1.1170s+3.1472)
+4.6429s+5.3821
Simplifying,
z1 = 1/0.3549 = 2.8176
gp = 0.1208
gp (s)gc (s)
1 + gp (s)gc (s)
z1 = 0.3549s + 1 = 0
gp =
1.1170s + 3.1472
s2 + 4.6429s + 5.3821
z1 = 1/0.3549 = 2.8176
z1 = 2.8176
kc < 4.1566
Look at s0
kc > 1.71
kc < 9.20125
Look at kc
1.1170s 3.1472
s2 + 10.2778s + 26.0518
kc < 8.277453
5.16
gc (s) = kc
gp (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
kp
p s + 1
kc (1.1170s3.1472)
s2 +10.2778s+26.0508
(1.1170s3.1472)
+ sk2c+10.2778s+26.0508
gc (s) = kc
I s + 1
I s
Simplifying,
gCL (s) =
gCL (s) =
kc (1.1170s 3.1472)
s2 + 10.2778s + 26.0508 + kc (1.1170s 3.1472)
gp (s)gc (s)
1 + gp (s)gc (s)
All we need to check stability is the closed-loop characteristic equation (CLCE), which is the denominator
of the above fraction.
gCL (s) =
kc kp I s+1
p s+1 I s
k kp I s+1
+ pcs+1
I s
gCL (s) =
kc kp (I s + 1)
(p s + 1)(I s) + kp kc (I s + 1)
b 4ac = (I + kp kc I ) 4p I kp kc < 0
5>0
(I + kp kc I ) < 4p I kp kc
I2
1 + kc > 0
kc > 1
I (1 + 2kp kc )2 < 4p kp kc
For the first process to be stabilized using P-only control, we only need to make sure that kc > 1.
I <
4p kp kc
(1 + 2kp kc )2
gp2 (s) =
s + 1
(2s + 1)(3s + 1)
5.17
gc (s) = kc
1
(2s + 1)(3s + 1)
kc (s+1)
(2s+1)(3s+1)
kc (s+1)
+ (2s+1)(3s+1)
Simplifying,
gCL (s) =
kc
(2s+1)(3s+1)
kc
+ (2s+1)(3s+1)
gCL (s) =
kc (s + 1)
(2s + 1)(3s + 1) + kc (s + 1)
Simplifying,
kc
gCL (s) =
(2s + 1)(3s + 1) + kc
CLCE = 6s2 + 5s + 1 kc s + kc
CLCE = 6s2 + (5 kc )s + 1 + kc
5-12
Look at s
5 kc > 0
2 I > 0
kc < 5
1 + kc > 0
kc > 1
kp kc > 0
5.18
The second order process without numerator dynamics is:
kp
gp (s) = 2 2
s + 2 s + 1
We will use a PI controller of the form which has the
form,
I s + 1
gc (s) = kc
I s
Start by forming the closed loop transfer function:
gCL (s) =
gp (s)gc (s)
1 + gp (s)gc (s)
an1 = 2 2 I > 0
kp kc (I s+1)
( 2 s2 +2 s+1)(I s)
k kc (I s+1)
+ ( 2 s2p+2
s+1)(I s)
b1 =
Simplifying,
gCL (s) =
(2 I )(kp kc I + I ) ( 2 I )(kp kc
>0
2 I
2 I2 kp kc + 2 I2 2 I kp kc > 0
kp kc (I s + 1)
2
2
( s + 2 s + 1)(I s) + kp kc (I s + 1)
2I kp kc + 2I kp kc > 0
CLCE = ( 2 s2 + 2 s + 1)(I s) + kp kc (I s + 1)
2I +
CLCE = 2 I s3 + 2 I s2 + I s + kp kc I s + kc kp
CLCE = 2 I s3 + 2 I s2 + (I + kp kc I )s + kc kp
I +
I (1 +
2I
>
kp kc
>
kp kc
2
1
)>
kp kc
2
5-13
5.19
2
2m
+ (4 kc ) m + 2 = 0
1
(s + 1)(s + 1)
p
m = 1 + 0.25 kc kc2 8kc
Thus, we have the following bounds for stability
p
0 m < 1 + 0.25 kc kc2 8kc
p
m > 1 + 0.25 kc + kc2 8kc
ym (s) = gm (s)y(s)
1
ym (s) =
y(s)
m s + 1
Thus, our error signal is
gCL (s) =
5.20
The plant transfer function is known to be
gp (s) =
For a Ponly controller, with kc = 1, the plant response shows an offset of of f set = 2/5. The system
also becomes unstable for a gain larger than 2.
The closedloop transfer function for this system
is
s0
= 1 lim
s0
kc (m s + 1)
(s + 1)2 (m s + 1) + kc
1
1 + kc
m s3 + (2m + 1)s2 + (2 + m )s + 1 + kc = 0
s0
2s2
kc k( s + 1)
+ (3 kkc ) s + 1 + kc k
kc k
1 + kc k
1
=
1 + kc k
(s + 1)2 (m s + 1) + kc = 0
m
2m + 1
gc (s)gp (s)
1 + gc (s)gp (s)
kc k( s + 1)
= 2
2s + (3 kkc ) s + 1 + kc k
gCL (s) =
row
1
2
3
4
k( s + 1)
(2s + 1) (s + 1)
=1
2 + m
1 + kc
0
1 + kc
and when kc = 2 we have marginal stability. we know kc and the value of the offset, so we can
Substituting the known values, we have
solve for kp = 2 C/lpm.
When the PIcontroller is used, with kc =
2s2 + 3(1 )s + 4 = 0
1.333 lpm/ C and I = 2 minutes, the response
shows sustained oscillations. This means that the
and we build Rouths array as follows
closedloop system has a pair of complexconjugate
poles on the imaginary axis of the splane (i.e. real
row
part is zero).
1
2
4
We need to look at the stability conditions of the
2
3(1 ) 0
characteristic polynomial 1 + gc (s)gp (s) = 0 using
3
4
Rouths stability criterion. We have then
Then, when = 1, we have marginal stability.
1 + gc (s)gp (s) = 0
iii. Since in the array we have no sign changes and
kp
I s + 1
one zero entry, we know we must have two com=0
1 + kc
I s
u s2 + (1 u )s + 1
plex poles on the imaginary axis; therefore we
will have sustained oscillations when kc = 2.
I u s3 + I (1 u )s2 + I (1 + kc kp )s + kc kp = 0
To confirm that this is indeed the case, construct
the array once more, but with kc as a variable.
Then
row
1
2
1 + 32 kc
2
3(1 k2c )
0
3
1 + 32 kc
I u s3 + I (u 1)s2 I (1 + kc kp )s kc kp = 0
constructing the array, we have
row
1
2
3
4
I u
I (u 1)
I (1u )(1+kc kp )+u kc kp
I (1 + kc kp )
kc kp
0
u 1
If kc = 2, then the first column entries are 2,
kc kp
0 and 4. Increasing kc slightly (which we know
results in an unstable system) gives us 2, and plugging in the values we know, and simplifying the
1 + 3. This results in two sign changes, which expressions, we have
means two poles move into the RHP, confirming
our previous deduction.
row
1
2u
10/3
2
2(
1)
8/3
u
5.21
10(1u )8u
3
0
3(u 1)
The plant transfer function is known to be
4
8/3
kp
gp (s) =
we know that we need no sign changes, with one of the
(u s + 1) (s + 1)
first column coefficients being zero; this way we will
For a Ponly controller, with kc = 3 lpm/ C, the have two roots on the imaginary axis, which would
plant response shows an offset of of f set = r(t account for the sustained oscillations observed. From
the above, there are two options: u = 1 and u = 5.
) y(t ) = 0.2.
Using u = 1 minutes, we can reconstruct the arUsing the final value theorem on the error signal,
ray with these values; note that we need to replace
we have
the zero in the first column with in order to be able
of f set = lim (1 gCL (s))
to calculate the rest of the array.
s0
= 1 lim
s0
gc (s)gp (s)
1 + gc (s)gp (s)
row
1
2
3
4
= 1 lim
p
kc (u s+1)(s+1)
s0 (u s+1)(s+1)+kc kp
(u s+1)(s+1)
kc kp
=1
1 + kc kp
1
=
1 + kc kp
1016
3
10/3
8/3
0
8/3
0
4
8/3
5.22
Part (a)
The control block diagram for the heat exchanger is
given in the figure below. The blocks and signals on
y(s) =
5.23
5-16
gp (s)gc1 (s)
r(s)
1 + gp (s) {gc1 (s) + gc2 (s)}
5.24
From example 5.4, we have the two transfer functions
Kp
gp (s) =
p s + 1
Kd
gd (s) =
d s + 1
and in this case we have a PIcontroller, so
I s + 1
gc (s) = Kc
I s
and we know that
y(s) =
gd (s)
l(s)
1 + gc (s)gp (s)
y(s) =
=
d s+1
1 + Kc
I s+1
I s
Kp
p s+1
l
s
Kd I s(p s + 1)
l
2
(d s + 1) [I p s + I (1 + Kc Kp )s + Kc Kp ] s
I s + 1
Kp
1 + Kc
=0
I s
p s + 1
I p s2 + I (1 + Kc Kp )s + Kc Kp = 0
s2 +
(1 + Kc Kp )
Kc Kp
s+
=0
p
I p
Kc Kp
>0
I p
Chapter 6 Solutions
6.1
kc
89.5s+5.633
1
s2 +4.744s+1.4216 .15s+1 .1s+1
kc
89.5s+5.633
1
+ s2 +4.744s+1.4216
.15s+1 .1s+1
gCL (s) =
s2
89.5s + 5.633
kc
1
+ 4.744s + 1.4216 .15s + 1 .1s + 1
Simplifying,
CLCE = (s2 + 4.744s + 1.4216)(.15s + 1)(.1s + 1)
Figure 6-1: Simulink implementation of process
+(89.5s + 5.633)kc
2.5
pressure (psig)
2
1.5
1
0.5
0
0.5
1
0.5
1.5
time
2.5
0.3
0.2
Now, we will use the Ziegler-Nichols closed-loop oscillations method to get P and PI parameters. For
P-only control:
0.1
0
0.1
0.2
0.5
1.5
time
2.5
For PI control,
kc = 0.45kcu = (0.45)(.4644) = 0.20898
I =
Pu
0.55
=
= 0.45833
1.2
1.2
Part (b)
We now wish to compare the two control strategies for
step changes of 1 psig. Making the setpoint change
on Figure 6.1, we can compare P and PI control. The
responses are shown together on Figure 6.3 below.
6-1
pressure (psig)
2
setpoint
Ponly
PI
1.5
kc =
0.5
5
time
10
0.2
0.15
0.1
0.05
Ponly
PI
0
0.05
10
5
7
[1 +
]=
[1 + ] =
kp
3p
5
30
3
1.2
0
10
time
12
14
16
18
20
0.8
0.6
ZNCL
ZNOL
CC
0.4
0.2
6.2
Before any closed-loop tuning parameters can be calculated, the first step is to determine kcu and Pu .
Using a P-only controller and a unit step change,
kc = 3.85 gives Figure 6.4 below. The output is
in continuous oscillations, meaning that kcu = 3.85.
Looking at the time between consecutive peaks, we
can see that Pu = 17.25.
10
15
20
25
time
30
35
40
45
50
2.5
ZNCL
ZNOL
CC
1.5
1
0.5
0
0.5
10
15
20
25
time
30
35
40
45
50
1.5
1
0.5
Part (b)
With kcu and Pu we can calculate PI tuning parameters for a number of different methods. For the
Ziegler-Nichols closed-loop method,
0
0.5
10
15
20
25
time
30
35
40
45
50
4
2
u
Pu
17.25
=
= 14.375
1.2
1.2
For the Ziegler-Nichols open-loop method,
I =
0
2
4
10
15
20
25
time
30
35
40
45
50
kc =
Figure 6-4: Continuous oscillation with kc = 3.85
(0.9)(10)
0.9p
=
= 1.8
kp
(1)(5)
For Tyreus-Luyben,
kc =
3.85
kcu
=
= 1.203125
3.2
3.2
For Cohen-Coon,
10
p
=
=2
kp
(1)(5)
kc =
6-2
10
5
[0.9 +
]=
[0.9 +
] = 113/60
kp
12p
5
(12)(10
I =
3
p ]
20
p
[30 +
9+
(3)(5)
10 ]
(20)(5)
10
5[30 +
9+
= 8.29
I =
[32 +
13 +
6
p ]
8
p
5[32 +
13 +
(6)(5)
10 ]
(8)(5)
10
= 175/17
1
2
0.5
1.5
0
10
15
20
25
time
30
35
40
45
50
0.5
3.5
ZNCL
TL
ZNOL
CC
3
2.5
10
15
20
25
time
30
35
40
45
50
2
1.5
3
0
10
15
20
25
time
30
35
40
45
50
ZNCL
TL
ZNOL
CC
1
0.5
1
0
Part (c)
With kcu and Pu we can calculate PID tuning parameters for a number of different methods. For the
Ziegler-Nichols closed-loop method,
kc = 0.6kcu = (0.6)(3.85) = 2.31
Pu
17.25
=
= 8.625
2
2
17.25
Pu
=
= 2.15625
D =
8
8
For Ziegler-Nichols open-loop,
I =
kc =
1.2p
(1.2)(10)
=
= 2.4
kp
(1)(5)
I = 2 = (2)(5) = 10
D = 0.5 = (0.5)(5) = 2.5
For Tyreus-Luyben,
kc =
3.85
kcu
=
= 1.75
2.2
2.2
Pu
17.25
=
= 2.7381
6.3
6.3
For Cohen-Coon,
p 4
10 4
5
kc =
[ +
]=
[ +
] = 35/12
kp 3 4p
5 3 (4)(10
10
15
20
25
time
30
35
40
45
50
6.3
Before any closed-loop tuning parameters can be calculated, the first step is to determine kcu and Pu .
Using a P-only controller and a unit step change,
kc = 4.1567 gives Figure 6.8 below. The output is in
continuous oscillations, meaning that kcu = 4.1567.
Looking at the time between consecutive peaks, we
can see that Pu = 1.4625. With kcu and Pu , we can
now calculate the Ziegler-Nichols closed- loop tuning
parameters. For P-only control,
kc = 0.5kcu = (0.5)(4.1567) = 2.07835
For PI control,
kc = 0.45kcu = (0.45)(4.1567) = 1.870515
6-3
6.4
2
1.5
1
y
0.5
0
gp (s) =
0.5
1
5
time
10
5
time
10
Before any closed-loop tuning parameters can be calculated, the first step is to determine kcu and Pu .
Using a P-only controller and a unit step change,
kc = 4.1567 gives Figure 6.10 below. The output is in
continuous oscillations, meaning that kcu = 4.1567.
Looking at the time between consecutive peaks, we
can see that Pu = 1.4625. With kcu and Pu , we can
8
6
4
u
2
0
2
4
6
.5848(.3549s + 1)
.1858s2 + .8627s + 1
2
1.5
1
y
0.5
I =
Pu
1.4
7
=
=
1.2
1.2
6
0.5
1
Pu
1.4
I =
=
= 0.7
2
2
Pu
1.4
D =
=
= 0.175
8
8
Now that we have all the necessary P, PI and PID
tuning parameters, we can see how the controllers
respond to a unit setpoint change. The responses are
shown in Figure 6.9 below.
5
time
10
5
time
10
1.5
2
0
2
4
6
0.5
u(s) = kc (1 +
0.5
5
time
where the PID parameters are given by the ZieglerNichols closed-loop method,
10
Ponly
PI
PID
Pu
1.4625
=
= 0.73125
2
2
Pu
1.4625
D =
=
= 0.1828125
8
8
For the Real PID controller, the manipulated input
is determined by the equation,
3
u
I =
2
1
0
1
+ D s)e(s)
I s
5
time
10
u(s) = kc (
I s + 1 D s + 1
)(
)e(s)
I s
D s + 1
6-4
kc = 2.49402
I = 0.73125
D = 0.1828125
yF =
= 0.1
For the PID controller with ideal derivative action on
the process output, the manipulated input is determined by the equation,
u(s) = kc (
I s + 1
kc D s
)e(s)
y(s)
I s
D s + 1
1.5
1
d
y
1
(
] = D s
y(s)
dt F s + 1
F s + 1
substituting these expressions results in,
0.5
y
[D
0
0.5
1
1
y(t)
F s + 1
5
time
10
u(s) = kc [e(s) +
10
Ideal PID
Real PID
dy/dt PID
1
D s
e(s)
y(s)]
I s
F s + 1
Simplifying,
6
u
u(s) = kc [1 +
1
kc D s
]e(s)
y(s)
I s
F s + 1
2
0
5
time
10
u(s) = kc (
6.5
Missing
6.6
We start by considering the PID algorithm
1
u(t) = kc [e(t) +
I 0
e()d D
I s + 1
D s
)e(s) kc
y(s)
I s
F s + 1
6.7
Before any closed-loop tuning parameters can be calculated, the first step is to determine kcu and Pu .
Using a P-only controller and a unit step change,
kc = 3.85 gives Figure 6.12 below. The output is
in continuous oscillations, meaning that kcu = 3.85.
Looking at the time between consecutive peaks, we
can see that Pu = 17.25.
Now that we have kcu and Pu , we can determine the
requisite PI and PID parameters for Tyreus-Luyben
and Cohen-Coon. The PI parameters for TyreusLuyben are,
dyF
]
dt
kc =
6-5
3.85
kcu
=
= 1.203125
3.2
3.2
1.5
1.5
1
0.5
0.5
0
0.5
0
0
10
15
20
25
time
30
35
40
45
50
50
100
150
time
200
250
300
TyreusLuyben
CohenCoon
2.5
4
2
u
1.5
1
0.5
0
4
10
15
20
25
time
30
35
40
45
50
100
150
time
200
250
300
1
y
50
0.5
kcu
3.85
=
= 1.75
2.2
2.2
50
100
150
time
200
250
300
Pu
17.25
D =
=
= 2.7381
6.3
6.3
The PI parameters for Cohen-Coon are,
TyreusLuyben
CohenCoon
2
1
0
10
5
kc =
[0.9 +
]=
[0.9 +
] = 113/60
kp
12p
5
(12)(10)
I =
3
p ]
20
p
[30 +
9+
(3)(5)
10 ]
(20)(5)
10
5[30 +
9+
I =
13 +
D =
6
p ]
8
p
5[32 +
13 +
(6)(5)
10 ]
(8)(5)
10
50
100
150
time
200
250
300
p 4
10 4
5
[ +
]=
[ +
] = 35/12
kp 3 4p
5 3 (4)(10)
[32 +
= 315/38
= 175/17
4
(4)(5)
=
= 5/3
2
11 + p
11 + (2)(5)
10
6.8
With these parameters, we can compare Tyreus- We have an integrating process of the form,
Luyben performance against Cohen-Coon. Start by
kp
comparing PI control, which can be seen in Figure
gp (s) =
s
6.13.
A comparison of PID control is shown in Figure 6.14.
gCL (s) =
1
s + 1
gCL (s)
gp (s)[1 gCL (s)]
gc (s) = kc [
1
s+1 ]
1
]
F s + 1
1
s+1
kp
s [1
1
1
[
]
2kp 2 s + 1
gc (s) =
1
2kp
F =
2
kc =
Simplifying,
1
gc (s) =
kp
s (s
gc (s) =
gc (s) =
+ 1 1)
6.10
1
kp s
s
1
kp
gp (s) =
s2
15
+ 4.9s + 0.9
1
kp
gCL (s) =
6.9
with = 5 minutes.
We know the closedloop transfer function is
kp
s
gCL (s) =
s2 + 4.9s + 0.9
75s
which clearly has the same form as a standard PID
controller
gc (s) =
gP ID (s) = kc
1
2 s2 +2 s+1
kp
1
s (1 2 s2 +2 s+1 )
Simplifying
1
kp
2 2
s ( s
gc (s) =
gc (s) =
D I s2 + I s + 1
I s
gc (s) =
gCL (s)
gp (s) (1 gCL (s))
gc (s)gp (s)
1 + gc (s)gp (s)
1
gCL (s) = 2 2
s + 2 s + 1
gc (s) =
1
s + 1
49
750
10 2
9 s
49
9 s
49
9 s
+1
+ 2 s + 1 1)
49
= 0.06533
750
49
I =
= 5.4444
9
10
D =
= 0.20408
49
kc =
1
kp ( 2 s + 2 )
1
2
s + 1)
2kp ( 2
6-7
6.11
6.12
gCL (s) =
gp (s) =
1
s + 1
gCL (s) =
gc (s) =
1
s+1 )
gc (s) =
gc (s) =
gc (s) =
+ 1 1)
gP ID (s) = kc
2 s2 + 2 s + 1
kp (n s + 1)(s)
D I s2 + I s + 1
I s (f s + 1)
1 2 s2 + 2 s + 1
kp n s2 + s
2 2
gc (s) =
3s2 + (3 + )s + 1
2s (2 s + 4 2)
1
kp (n s+1)
2 s2 +2 s+1 (s
gCL (s)
gp (s) (1 gCL (s))
Simplifying,
gc (s) =
gc (s)gp (s)
1 + gc (s)gp (s)
gCL (s)
gp (s)[1 gCL (s)]
1
s+1
kp (n s+1)
2 s2 +2 s+1 (1
s + 1
(s + 1)2
2
3s + 1
1 s + 2 s + 1
kp
n s2 + s
D =
3
3+
gc (s) =
1
1 2 s2 + 2 s + 1
[
]
kp
s
n s + 1
gc (s) =
2 2 s2 + 2 s + 1
1
[
]
kp
2 s
n s + 1
(3 + )s(f s + 1) = 2s(2 s + 4 2)
2
= 4 (2 ) s
s+1
4 2
2
(3 + )
= 4 (2 ) s
s+1
4 2
(3 + )
2
4 (2 )
=
(3 + )s
s+1
(3 + )
4 2
gc (s) =
2
2 ( 2 )(2 )s + 2 s + 1
1
[
]
kp
2 s
n s + 1
D I s2 + I s + 1
1
)[
]
I s
F s + 1
(3 + )
4 (2 )
I = 3 +
3
D =
3+
2
f =
4 2
kc =
2
kc =
kp
I = 2
D =
2
F = n
6-8
For the controller to be stable, we need its denominator to have its roots in the LHP, so the pole we need
to worry about is
4 2
s=
2
I s + 1
1
)[
]
s
F s + 1
thus we need
kc =
4 2
<0
2
2 + < 0
>
2
I = p
2
Now that we have derived our controller, we want
to compare it to the closed-loop results that we have
already seen presented in Figure 6-5. We will use
the same values of 1,5 and 10 with a unit setpoint
change. We also know from Section 6.4 that kp = 2
and p = 10. The results of simulating the first order
system with our PI controller with first order lag filter
can be seen in Figure 6.15.
F =
6.13
We have a first order process of the form,
gp (s) =
p
2kp
kp
p s + 1
1.2
1
1
(s + 1)2
0.8
0.6
y (%)
gCL (s) =
0.4
0.2
0
0.2
0
gc (s) =
gCL (s)
gp (s)[1 gCL (s)]
10
15
20
25
time (min)
30
35
40
45
50
lambda = 1
lambda = 5
lambda = 10
2
1.5
gc (s) =
u (%)
1
0.5
0
1
(s+1)2 )
Simplifying,
10
15
20
25
time (min)
30
35
40
45
50
gc (s) =
1
kp
p s+1 [(s
+ 1)2 1]
p s + 1
1
kp 2 s2 + 2s + 1 1
gc (s) =
1 p s + 1
kp 2 s2 + 2s
gc (s) =
1 p s + 1
1
[ 2
]
kp
s
s + 2
gc (s) =
1
1 p s + 1
[ 2
]
2kp
s
2 s + 1
gc (s) =
1
p p s + 1
[
]
2kp p s 2 s + 1
6-9
Chapter 7 Solutions
we get
kp Ap tp
e
p2 2 + 1
kp A
(p cos t sin t)
2 2
p + 1
kp Ap tp
e
= 2 2
p + 1
kp A
kp Ap
cos t + 2 2
sin t
2 2
p + 1
p + 1
7.1
y(t) =
c1
c3
c2
+
+
s + j s j
s + 1p
7.2
kp A
=
1
p (s + tp )(s + j)(s j)
multiplying by (s + 1p ) and setting s = 1p , we have
c1 =
kp Ap
p2 2 + 1
tan()
= tan(30) = 0.57735 day (7.2.1)
The units for the process gain should be obvious: degrees C (or F) over hours.
p =
kp A(p j)
2(p2 2 + 1)
7.3
kp A(p + j)
2(p2 2 + 1)
thus, we have
1
kp Ap
2
2
p + 1 (s + 1p )
kp A(p j)
1
2
2
2(p + 1) (s + j)
1
kp A(p + j)
2
2
2(p + 1) (s j)
Bode Diagram
Gm = 3.1 (at 0.242 rad/min), Pm = 100 deg (at 0.0715 rad/min)
10
Magnitude (abs)
Y (s) =
10
10
10
Phase (deg)
y(t) =
90
180
270
360
450
3
10
10
10
10
Frequency (rad/min)
ej + ej
2
ej ej
sin =
2j
cos =
P
PI
PID
y(t)
1.5
0.5
10
20
30
40
50
Time (min)
60
70
80
90
100
10
(7.3.1)
P
PI
PID
8
6
u(t)
2m
=
= 8.0746 min
360pm
4
2
0
2
10
20
30
40
50
Time (min)
60
70
80
90
100
7.4
The gain margin is the inverse of the distance between
point O and point A on gure 7-3. Thus, the gain
margin is 2.
On the same gure, the angle between line OA and
line OB is the phase margin, which is roughly 23 .
By denition, the gain margin is the multiplicative factor for the system gain that will bring us to
marginal stability. So our current gain kc = 4.35
times the gain margin will give us the gain that will
make the system marginally stable. For our desired
gain kcd , we want a gain margin of 2. Equating these
7-2
7.9
1
= 2kcd
2
1
kcd = kc
4
kcd = 1.0875
kc
7.6
From the plot, we have that the phase margin is
roughly m = 48 degrees at 0.1 rad/min. This give
us that the deadtime can increase by 8.38 minutes
before the system goes unstable. Since it is unstable, then there is at least 8.38 minutes of additional
deadtime that is not included in the model.
7.7
From the Nyquist diagram, the distance between the
origin to where the plot crosses the negative real axis
is 1.5. The gain margin is then the inverse of this,
gm = 23 .
By denition, the gain margin is the multiplicative factor for the system gain that will bring us to
marginal stability. So our current gain kc = 4.9688
times the gain margin will give us the gain that will
make the system marginally stable. But we want
to have a gain margin of 3 for our desired gain kcd .
Equating these two, we then have.
2
= 3kcd
3
2
kcd = kc
9
kcd = 1.104178
kc
7.8
From the bode plot, we see that the phase angle
crosses -180 at roughly co = 0.19 rad/hour, and at
this frequency the amplitude ratio is 0.2. Since the
ultimate gain here is the same as the amplitude ratio,
we have that ku = 1/0.2 = 5, and the ultimate period
is Pu = 2/co = 33 hr1 .
If we use a controller gain of kc = 0.5ku = 2.5, we
need to nd the point on the amplitude ratio curve
where it is equal to 0.4, as this is where the amplitude
ratio will be one with the higher gain (0.4 2.5 = 1).
Changing the gain does not change the phase angle
plot; we see that at this frequency the phase is -110,
so we have a phase margin of 70 degrees when using
the higher gain.
7-3
Chapter 8 Solutions
8.1
gp+ (s) =
Missing
8.2
From the block diagram
q(s) =
and
but
= y(s) y(s)
d(s)
y(s) = gp (s)u(s)
then
= y(s) gp (s)u(s)
d(s)
and
Exercise 83
1.2
q(s)
q(s)
r(s)
y(s)
1 q(s)
gp (s)
1 q(s)
gp (s)
0.8
0.6
y(t)
gp (s)q(s)
gp (s)q(s)
y(s) =
r(s)
y(s)+gd (s)l(s)
1 q(s)
gp (s)
1 q(s)
gp (s)
0.4
0.2
[1 q(s)
gp (s)] y(s) = gp (s)q(s)r(s) gp (s)q(s)y(s)
+ [1 q(s)
gp (s)] gd (s)l(s)
0.2
[1 q(s)
gp (s) + gp (s)q(s)] y(s) =
gp (s)q(s)r(s) + [1 q(s)
gp (s)] gd (s)l(s)
[1 + q(s) {gp (s) gp (s)}] y(s) =
10
20
30
40
50
gp (s)q(s)r(s) + [1 q(s)
gp (s)] gd (s)l(s)
gp (s)q(s)
r(s)
1 + q(s) {gp (s) gp (s)}
[1 q(s)
gp (s)] gd (s)
l(s)
+
1 + q(s) {gp (s) gp (s)}
y(s) =
8.3
8.4
Missing
8.5
a. Our transfer function is (with its factorization From the problem statement
representation)
2
gp (s) =
1.75(3s + 1)(5s + 1)e1.25s
5s + 1
gp (s) =
(10s + 1)(4s + 1)2
1.5(s + 1)
gp (s) =
gp (s) = gp+ (s)
gp (s)
(s + 1)(4s + 1)
8-1
60
70
8.7
Missing
(5s + 1)
2(s + 1)
8.8
1.5(s+1) (5s+1)
(s+1)(4s+1) 2(s+1)
=
1+
=
Missing
gp (s)q(s)
r(s)
1 + q(s) {gp (s) gp (s)}
(5s+1)
2(s+1)
1.5(s+1)
(s+1)(4s+1)
2
5s+1
r(s)
1.5(s + 1)(5s + 1)
r(s)
8s3 + (10 7.5)s2 + (2 + 6)s + 1.5
= 1 lim
s0 8s3
1.5(s + 1)(5s + 1)
+ (10 7.5)s2 + (2 + 6)s + 1.5
=0
In order to nd the smallest value of that will keep
the system stable, we need to use Rouths stability
criterion. Our characteristic equation is
8s3 + (10 7.5)s2 + (2 + 6)s + 1.5 = 0
Thus we immediately nd that the necessary conditions dictate that
>0
> 0.75
> 3
to check the sucient condition, we need to build the
array
row
1
8
2 + 6
2
10 7.5
1.5
202 +3345
3
0
107.5
4
1.5
thus we need to nd the bound for the element in
column 3; since we have another condition that makes
107.5 > 0, we can just satisfy 202 +3345 > 0.
We nd that < 2.5369 or > 0.8869068. Thus
our most restrictive condition requires
> 0.88691
8.6
Missing
8-2
Chapter 9 Solutions
9.1
Missing
9.2
Missing
9.13
Missing
9.14
Missing
9.15
a. Using the corresponding entry in table 9-3 for
unstable processes, we have that
9.3
Missing
9.4
4( + 2)
2
I = + 2 min
2
min
D =
+2
9.5
kc =
Missing
Missing
= (pu + 2)
evaluating at pu =
9.6
Missing
The dominant time constant is 10 min. (corresponding to the unstable pole), thus we can use
= 5. With this value, we have
Missing
= 12.5 min
kc = 2.32
I = 14.5 min
D = 1.7241 min
9.8
Missing
9.9
Missing
s + 1
(s + 1)2
12.5s + 1
=
(5s + 1)2
gcl (s) =
9.10
Missing
9.11
9.16
9.12
9.17
Missing
= 0.1, we have
= (0.1 + 2)
9.7
Missing
1
u
Missing
Missing
9-1
1.2
we know that
Output C
2 + = 0
0.8
= 2 +
0.6
0.4
0.2
kc =
0
10
15
20
Time (min)
25
30
35
40
9.18
Missing
9.19
Missing
9.20
Missing
9.21
Our process model is
k(s + 1)
s
and we want to find a PI controller based on IMC.
The allpass factorization is
gp (s) =
(s + 1)
(s + 1)
k(s + 1)
gp (s) =
s
Since we want a semiproper function, and using the
given filter function, we have
gp+ (s) =
q(s) =
s(s + 1)
k(s + 1)(s + 1)
gc (s) =
9-2
2 +
2k( + )
Problem 5.
a. Complete the control instrumentation diagram
CFC
Caustic Flow Measurement
CFM
Feed
Caustic Solution
Level Setpoint
LT
LC
Flow Setpoint
BCC
Bug Concentration
Measurement
BCM
PFM
PHM
Product
Stream
pH Measurement
PHC
b. This is a 3-level cascade control strategy.
c. Control objective maintain bug concentration at desired setpoint.
Disturbance variables
caustic stream pressure (rejected by the caustic flow controller)
feed pH (rejected by pH controller)
feed chemical disturbance (rejected by the bug concentration controller)
2
Pheader
1
Tinlet
13.5
Gain
3
Pvalve
0.1s+1
Sum1
0.36
5s+1
Sum3
Gain2
valve
furnace
Transport
Delay
83.3
1
Tprocess
2
Fuelflow
Gain1
To keep the SIMULINK .mdl diagram relatively clean I masked this model to yield the
following icon
Tinlet
Tprocess
Pheader
Fuelflow
Pvalve
Furnace
t
Clock
time
Tinlet
Tdist
Tprocess
Process Temp
Pheader
Fuelflow
Pvalve
Pdist
Furnace
Tsp
PID
y
Tsp
Temperature setpoint
vP
valve-top pressure
Fg
Fuel gas flow
t
Clock
time
Tinlet
Step disturbance
(inlet temperature)
Tprocess
Process Temp
Pheader
Pvalve
Step disturbance
(fuel gas pressure)
Fuelflow
Fg
Fuel gas
flow
Furnace
r1
PID1 - Master u1
Tsp
r2
PID2
y1
y2
Temperature PID
(primary or "outer
loop" controller)
vP
u2
Valve Pressure
Tsp
Process Temp setpoint
where I have used controllers from a library that I have created. For example, the ideal PID
controller used in the feedback control system is
1
r
-KSum1
2
y
kc
-K1/taui
taud
taud
s
Integral
Sum
du/dt
Derivative
T, deg F
410
feedback
cascade
405
400
395
-1
10
700
feedback
cascade
650
600
550
-1
10
feedback
cascade
10
9
8
-1
4
5
time, minutes
10
408
feedback
cascade
T, deg F
406
404
402
400
-2
10
600
560
540
520
-2
feedback
cascade
580
10
9
feedback
cascade
8.5
8
-2
4
time, minutes
10
stea m t o
exchanger
FC
flo w
me as
TC
+
+
CC
Csp
FFC
CFM
t emp
me as
react or
con c
sensor
react or
f eed
A change in the reactor feed composition requires that the reactor temperature be changed
to maintain a desired reactor product concentration. Therefore, the reactor feed
composition is used to modify the reactor temperature setpoint using a feedforward controller.
Chapter 13 Solutions
13.1
The obvious choices are for the relative gain = 1, as
the system gain does not change if the other loops
are open or closed. Thus, pair u1 with y2 and u2
with y3 . This leaves u3 with y1 , but its value is large,
which implies sensitivity to model uncertainty, so it
is a judgement call if this loop should remain open or
not.
13.2
For case 1, the pairing is done with the negative RGA
elements. This means that the eective process gain
with the other loop closed has a dierent sign than
when it is open. Since tuning is done with the other
loop closed, when it is opened the response will be
degraded signicantly at best, and it might go unstable, as the controller gain is now of the opposite sign
of the process gain. Loop 1 has to be retuned, with
the main change being the sign of the controller gain;
better yet, change the pairing.
For case 2, the pairing is now better and the sign of
the eective process gain will not change. Since the
RGA is greater than 1, it means that the eective
gain with loop 2 closed is smaller than the gain when
it is open. Thus, if tightly tuned the system could
go unstable when loop 2 is opened. Loop 1 should
be retuned with loop 2 open (and the same goes for
tuning loop 2).
Of the remaining, both outputs have the same relative gain with respect to u2 , so based on the relative
gain for u1 , we select u1 with y1 , which leaves u2 with
y3 .
Reordering the matrices we have
1 2 2
k = 1 2 1.5
0
1
1.5
13.6
Since K is not square, we must use the pseudo-inverse
(K T K)1 K T in place of the inverse in the calculation
of the RGA. Using this, we get
=
0.0277 0.0004
0.0020
0.7257 0.0083
0.2375
Thus, the pairing indicated by the RGA is: u1 with
y4 , u2 with y2 , and u3 with y1 , leaving y3 without
feedback control.
Note that the columns of add up to 1, but the
rows do not, in particular row 3, which is the one that
is left without pairing.
13.7
13.3
12 =
k12
k12,e
Thus, u1 should be paired with y1 and u2 with y2 .
Still, the RGA is much greater than one, so the rewhere k12,e is the eective gain between u2 and y1
sulting system will be very sensitive to model uncerwhen the other loop is closed. We can nd the extainty.
pression for k12,e from the steadystate relationship
k
y1 (s)
= 11
k21
y2 (s)
13.4
We want the relative gains closest to 1. Then pair u2
with y1 , u3 with y2 and u1 with y3 .
k12
k22
u1 (s)
u2 (s)
13.5
y2 = k21 u1 + k22 u2 = 0
y1 = k11 u1 + k12 u2
k11 k22
=
+ k12 u2
k21
13.12
For the given transfer function matrix, the RGA is
0.2692 0.5577 0.1731
=
0.1154 0.4038 0.4808
k11 k22
k21
13.8
Missing
Missing
13.9
y1 is the temperature, as it is aected by both manipulated variables. y2 is the tank height, which is
conrmed since one input (heat addition) would not
aect it.
u1 is the ow rate to the tank (Fi ), as it aects
both tank height and temperature. u2 is the heat
addition (Q) as it only aects temperature.
In order to determine the pairing, we need the gain
matrix
25 0.5
k=
1
0
then the RGA is
=
0 1
1 0
13.10
Missing
13.11
For the given gain matrix, the RGA is
0.6195 0.3805
=
0.3805 0.6195
13-2
Chapter 14 Solutions
14.1
a. For operating point 1, we have the transfer function matrix and the corresponding RGA
1.5
(23s+1)(62s+1)
2.8
90s+1
0.4054
1.4054
G2 (s) =
0.6234
2 =
1.6234
50
100
150
200
250
Time (min)
300
350
400
450
1.2
500
u
2
u
0.8
0.6
0.4
0.2
setpoint
0
Inputs (V)
1.4054
1 =
0.4054
y2
y
0.2
2.5
(39s+1)(63s+1)
1.6
91s+1
1.6234
0.6234
0.2
50
100
150
200
250
Time (min)
300
350
400
450
500
1.2
1
Outputs (V)
2.6
62s+1
1.4
(30s+1)(90s+1)
0.6
0.4
0.8
0.6
0.4
y
2
y
0.2
setpoint
0
50
100
150
200
250
Time (min)
300
350
400
450
0.7
500
u
2
u
0.6
0.5
Inputs (V)
G1 (s) =
Outputs (V)
1
0.8
0.4
0.3
0.2
0.1
0
50
100
150
200
250
Time (min)
300
350
400
450
500
1
0.8
y2
y1
0.2
setpoint
0
50
100
150
200
250
Time (min)
300
350
400
450
1.4
500
kc21
I21 = 147
where the controller with the 12 subscripts corresponds to the y1 u2 pair, and the 21 subscripts
to the y2 u1 pair.
u2
u1
1.2
1
Inputs (V)
I12 = 102
0.6
0.4
0.8
0.6
0.4
0.2
0
50
100
150
200
250
Time (min)
300
350
400
450
102
,
2.512
147
=
,
2.521
kc12 =
500
coupled system, from the RGA analysis alone, and substituting the expression from above for dV /dt
we expect no signicant degradation in performance. Alas, gure 14-2 shows that this is not
d(To
the case, with performance being degraded sig+ To (Fh + Fc Fo ) = Fh Th + Fc Tc Fo To
V
dt
nicantly with both loops closed. This is due to
the nonminimumphase transmission zero. In
order to get improved performance, we need to simplifying, and again using V = Ah, we have
detune the controllers; setting 12 = 68 (twice
the original value chosen) and 21 = 147 (three
times the original value), accomplishes this; the
d(To
Fh
Fc
=
(Th To ) +
(Tc To )
corresponding response is shown in gure 14-3.
dt
Ah
Ah
14.2
The system transfer function is given as
1
s + 3 2
G(s) =
3
1 (s + 1)(s + 2)
h + (u1 + u2 )
h =
A
A
u1
u2
(Th To ) +
(Tc To )
To =
Ah
Ah
y1 = h
14.3
h
A
A
ss
dV
= Fh h + Fc c Fo
1
dt
=
2 A h ss
where Fh , Fc and Fo are the hot, cold and outlet
ows respectively. Assuming that the densities are
=0
(u
A
=
h
+
+
u
)
12
1
2
1
dh
To
A
A
ss
= (Fh + Fc Fo )
dt
A
u1
u2
(T
(T
=
T
)
+
T
)
=0
A
21
h
o
c
o
For the energy balance, we assume that the tank is
h Ah
Ah
ss
perfectly insulated. Neglecting the kinetic and poten u1
u2
(Th To ) +
(Tc To )
A22 =
tial energy contributions, as well as the work done by
To Ah
Ah
ss
the stirring mechanism, neglecting pressurevolume
1
changes and assuming a constant heat capacity, we
(u1 + u2 )
=
Ah
ss
can write
1 1
dV (To
=
= 100 3
= Fh T h + F c T c F o T o
m min
10 min
dt
where Th , Tc and To are the temperatures of the hot,
cold and outlet streams respectively. Expanding the thus
derivative term
1 1
0
20 min
dV
d(To
A=
1 1
+ To
= Fh T h + F c T c F o T o
V
0
10
min
dt
dt
14-2
h + (u1 + u2 )
B11 =
u1
A
A
ss
1
1
m
= 1.7212 2 = 0.0017212
=
A
m
B12 =
h + (u1 + u2 )
u2
A
A
ss
=
B22 =
=
0.0017212 m
B=
0.05 C
thus
0.0017212 m
0.05 C
2
Tank height
B21 =
Scaled System
2.5
1 1
10 min
20s+1 /min
0.5
C
10s+1 /min
20
30
40
50
Time (min)
60
70
80
90
100
strongest
weakest
0.4
0.6
0.8
10
0
0
20
30
40
50
Time (min)
60
70
80
90
100
1
m
0
s+
m
0.0017212 0.0017212
0.05 C
0.05 C
20 min
0
0.0017212 m 0.0017212 m
= 20s+1 10 min
0
0.05 C
0.05 C
10s+1
0.034424 m
0.034424 m
=
10
0.2
20s+1 /min
0.5 C
10s+1 /min
Dimensional System
1.4
1.2
Tank height (m)
1
0.8
0.4
10
20
30
40
50
Time (min)
60
70
80
90
100
5
strongest
weakest
10
15
20
14.4
strongest
weakest
0.6
0.2
Temperature ( C)
G(s) =
1 1
20 min
strongest
weakest
1.5
0.5
Temperature
m
1
= 0.0017212
A
u1
u2
(Th To ) +
(Tc To )
u1 Ah
Ah
ss
C
C
Th To
= 50.03 3 = 0.05
Ah ss
m
u1
u2
(Th To ) +
(Tc To )
u2 Ah
Ah
ss
C
C
Tc To
= 50.03 3 = 0.05
Ah ss
m
10
20
30
40
50
Time (min)
60
70
80
90
100
a. For the scaled system, gure 14-4 shows the simFigure 14-5: Plot for 14.4b
ulation results using the normalized inputs from
the V matrix in the SVD analysis. As expected,
the direction of the outputs coincides with the direction indicated in the U matrix; for this scaled 14.5
system it is obvious that the strongest direction
changes the tank level more than the weakest This problem consist only of simulations; the code
and block diagram for simulink are provided in examdirection changes the temperature.
ple 14.1 continued, under section 14.8. Figure 14-6
b. For the dimensional system, gure 14-5 shows shows step changes on both outputs, using 1 = 2 =
the simulation results, using the same inputs as 0.333 and 1 = 2 = 0.1.
14-3
1.2
1
0.8
0.8
0.8
0.8
0.6
0.6
0.6
0.6
y2
y1
1.2
y2
1.2
0.4
0.4
0.4
0.4
0.2
0.2
0.2
0.2
0.2
1
2
t
0.2
1
2
t
0.2
1
0
0
2
t
0.2
1
10
10
10
10
1
2
t
10
1
2
t
10
1
14.6
1
2
1 (s + 1)(s + 2)
1
1 s+1
(s+1)(s+2)
=
(s+3)(1 s+1)
3(s+1)(s+2)
(s+3)(1 s+1)
2
t
2
t
2
t
10
1
h1s = 12.2630 cm
h2s = 12.7832 cm
h3s = 1.6356 cm
h4s = 1.4090 cm
y1 = 6.132 V
y2 = 6.392 V
Q(s) = G1 (s)
u2
10
u1
u1
u2
y1
1.2
1
(2 s+1)2
2(s+1)(s+2)
(s+3)(2 s+1)2
(s3)(s+1)(s+2)
(s+3)(2 s+1)2
Figure 14-7 shows step changes on both outputs, using 1 = 2 = 0.333 and 1 = 2 = 0.1.
14.7
h1s = 12.4419 cm
h2s = 13.1668 cm
h3s = 4.7303 cm
h4s = 4.9863 cm
y1 = 6.221 V
y2 = 6.583 V
a1 2gh1 + a3 2gh3 + 1 k1 v1 = 0
a3 2gh3 + (1 2 ) k2 v2 = 0
reason for this is that the values in the text come
x = Ax + Bu
y = Cx
1 G
p (s) = G
G
p+ p =
1.5(76.92s+1)
(63s+1)(76.92s+1)
2.5(76.92s+1)
(56s+1)(91s+1)(76.92s+1)
where
1
T1
0
0
T12
A=
0
0
0
0
1 k 1
B=
A1
0
0
(11 )k1
A4
C=
0
A3
A1 T3
0
T13
0
0
0
T14
2 k 2
A2
(12 )k2
A3
0 0
0 0
1 F (s)
Q(s) = G
p
q
q
= 11 12
q21 q22
0
where
q12
q21
G(s) =
q22
For this operating point, and assuming that the input voltages also range from 010 volts, we have the
following limits (in deviation form)
where
c1 =
T1 k1
,
A1
c2 =
q11 =
T1 s+1
(11 )c2
(T4 s+1)(T2 s+1)
s+1
1
F (s) =
1
0
2 s+1
A4
A2 T4
2.5(76.92s+1)
(39s+1)(63s+1)(76.92s+1)
1.5(76.92s+1)
(91s+1)(76.92s+1)
T2 k2
A2
14.8
6.3 y1 3.7 V
6.5 y2 3.5 V
3.15 u1 6.85 V
3.15 uu 6.85 V
1.5
y2
y1
0.5
1
0.5
1.5
500
1000
0.5
1500
500
1000
1500
2.5
0.5
1
u2
u1
1.5
1.5
1
2
0.5
2.5
500
1000
1500
g12 (s)
g11 (s)
g21 (s)
d21 (s) =
g22 (s)
d12 (s) =
500
1000
1500
0.5
1.5
1
y2
y1
0
0.5
0.5
1.5
0.5
500
1000
1500
500
1000
1500
2.5
u2
u1
1.5
2
1
3
0.5
0
500
1000
1500
500
1000
1500
14.10
For the mixing tank example, we have
0.03442
20s+1
0.5
10s+1
G(s) =
0.03442
20s+1
0.5
10s+1
pi
where Gci = kci IiIis+1
s with kci = kpi i and Ii = pi ,
with i = 1, 2 corresponding to the diagonal elements
of the decoupled system matrix and the controller
matrix.
We then have
0
14.5264 20s+1
s
1
Gc (s) =
0
10s+1
2 s
Thus Gc1 (s) will act based on the error from the tank
height (output y1 ), and Gc2 will do so for the outow
temperature (output y2 ); but both will change the
physical hot and cold stream ows. For tuning these
controllers, there is obviously a tradeo between the
eect of each on the physical manipulated variables
and the aggressiveness of the control action to regulate each output variable. For the control strategy
implemented above, we can use the initial value theorem to look at the initial control action, and use it as
a guide to tune the controllers as well. In other cases
doing this analysis analytically might not be feasible,
and thus one would rely on simulation studies.
For the physical manipulated variables (Up (s)), we
get the following expression, where E(s) is the error vector between the desired setpoints and outputs,
Uc (s) is the controller output vector (the synthetic
inputs), and Y (s) the output vector. We then have
1
D(s) =
d21 (s)
d12 (s)
1
125
2
2 = 5.99 min
25 = 4.15 +
then
1
1
Up (s) =
14.11
This problem is similar to the whiskey blending example 13.1. A massbalance of the system gives us
the following equations
F o = Fc + F h
15Fc + 50Fh
To =
Fc + Fh
substituting our transfer functions for the process and From here, we can obtain the steadystate gain at
the controllers with 1 and 2 left as tuning param- the specied operating point. Use K to denote the
steadystate gain matrix, when we have
eters, and again after a lot of algebra, we have
290.52876
10
Fo
U1
1
2
=
=1
k
11
up (0) = 290.52876
Fc ss
102 U2
1
290.52876
10
Fo
U
+
U
1
2
=1
k12 =
1
2
= 290.52876
Fh ss
U1 102 U2
1
To
k21 =
= 44.4336
where U1 and U2 are the setpoint changes for the
Fc ss
corresponding outputs.
To
From this result, we can see that a positive setpoint
k22 =
= 64.9414
F
h ss
change in both outputs will result in a high control
action on u1 , so we can use this to select lower bounds For the hot and cold water ows, assume the ranges
for 1 and 2 . Assume a possible change of one fourth given in the problem statement, so
of the range for each variable, so we have U1 = 0.43 m
and U2 = 12.5 C. We then have
0 Fc 0.25 /s
0 Fh 0.19 /s
124.927 125
u1 (0) =
+
1
2
and for the outputs we have
If both contribute equally, then we need both to be
0 Fo 0.44 /s
at least 10 min, for which case we are at the limit for
15 To 50 C
the change in owrate for u1 .
From the nature of the problem we might put a
higher premium on controlling temperature, in which Using half of the range for scaling, we have that
1
case we could tune Gc2 more tightly and relax Gc1 .
1
1
0
K = 0.22
0
36.9970
14-8
45
40
temperature, C
35
30
25
20
15
10
0.05
0.1
0.15
0.2
0.25
flow, l/s
0.3
0.35
0.4
0.45