Anda di halaman 1dari 126

Table of Contents

Solutions for Chapters 1-14


Solutions for Module 5.4 and Module 5.5
Solution for Module 16, Discrete PI Example

Chapter 1 Solutions

Braking Force
Gear Selection

1.1

Input Variables Disturbances:

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:

ii. Two sample favorite activities:


Jogging
(a) Objectives:
Jog intensely (heart rate at 180bpm)
for 30 min.
Smooth changes in jogging intensity
and speed.
(b) Input Variables:
Jogging Rate Manipulated input
Shocking surprises (dogs, cars, etc.)
Disturbance
(c) Output Variables:
Blood Oxygen level unmeasured
Heart beat measured
Breathing rate unmeasured

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

(b) Input Variables Manipulated:


Body Position
Steering

(b) Input Variables:


1-1

Manipulated: Added heat to system


Disturbance: Upstream flow rate and
conditions

Soft: Max or minimum temperature for


comfort
(e) Operating conditions: Continuous heating
adjustment, continuous temperature reading.

(c) Output Variables Measured: Tank fluid


temperature, Outflow
(d) Constraints:

(f) Safety, Environmental, Economic considerations: Safety: heater may be an electrical or burning hazard Economics: Heating
costs Environmental: Energy consumption.

Hard: Max inflow and outflow as per


pipe size and valve limitations
Soft: Fluid temperature for operating
objective

(g) Control System: Feedback; temperature is


monitored, heating rate is adjusted after
the fact.

(e) Operating conditions: Continuous fluid


flow adjustment, continuous heating adjustment
vii. Air traffic control
(f) Safety, Environmental, Economic considerPlease see either jogging, cycling, stirred tank
ations: Safety: Tank overflow, failure could
heater, or household thermostat for a represencause injury Economics: Heating costs, spill
tative answer.
costs, process quality costs Environmental:
Energy consumption, contamination due to
1.2
spills of hot water
(g) Control System: Feedback: Temperature is a. Fluidized Catalytic Cracking Unit
monitored, heating rate is adjusted Feedi. Summary of paper:
forward: Upstream flow velocity is used to
predict future tank state and input is adA fluidized catalytic cracking unit (FCCU) is
justed accordingly.
one of the typical and complex processes in
petroleum refining. Its principal components are
iv. Beer fermentation
a reactor and a generator. The reactor executes
Please see either jogging, cycling, stirred tank
catalytic cracking to produce lighter petro-oil
heater, or household thermostat for a represenproducts. The regenerator recharges the catatative answer.
lyst and feeds it back to the reactor. In this
paper, the authors test their control schemes on
v. An activated sludge process
a FCCU model. The model is a nonlinear multiPlease see either jogging, cycling, stirred tank
input/multi-output (MIMO) which couples time
heater, or household thermostat for a represenvarying and stochastic processes. Considerable
tative answer.
computation is needed to use model predicvi. A household thermostat
tive process control algorithms (MPC). Standard PID control gives inferior performance. A
(a) Objectives:
simplified MPC algorithm is able to reduce the
Maintain comfortable temperature
number of parameters and computational load
while still performing better than a PID control
Minimize energy consumption
method.
(b) Input Variables:
Manipulated: Temperature setting
Disturbance: Outside temperature, energy transmission between house and
environment
(c) Output Variables:
Measured: Thermostat reading
Unmeasured: Comfort level
(d) Constraints:

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.

Hard: Max heating or cooling duty of d. Continuous Drug Infusion


system
Please see FCCU for a representative answer.
1-2

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.

j. Paper Machine Headbox


Please see FCCU for a representative answer.

b.
The measured output is the process fluid outlet temperature.

k. Batch Chemical Reactor


Please see FCCU for a representative answer.

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

to another unit. If the process fluid is not at the


desired setpoint temperature, the performance of the
unit (reactor, etc) may not be as good as desired, and
therefore not as profitable.

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

Figure 1-1: Control block diagram of process furnace

Simplifying

dV
= 10 sin(0.1t)
dt
Rearranging the equation

follows:
Tsp : Temperature setpoint

dV = 10 sin(0.1t)dt

pv : Valve top pressure

Taking the integral of both sides


Z
Z
dV = 10 sin(0.1t)dt

Fg : Fuel gas flowrate


Fp : Process fluid flowrate
Tp : Process fluid inlet temperature

Using basic calculus to solve

T: Temperature of process fluid outlet


V V0 =

Tm : Measured temperature

10
cos(0.1t)|tt=0
0.1

We know the initial tank volume is 500 liters

1.6

V 500 = 100 cos(0.1t) 100 cos(0)

The problem statement tells us that the gasoline is


worth $500,000 a day. A 2% increase in value is:

V (t) = 600 100 cos(0.1t)

$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

Therefore, we know it will take 200 days to pay off


the investment.

1.7
2yrs 4.4 million $/yr 0.2% = $176, 000

V 500 = 100 cos(0.1t) + 100


The equation above tells us how the volume of the
tank will vary with time. This can also be seen visually in Figure 2 below.

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

Liquid volume as a function of time

700

V(t)

650

600

Figure 1-4: control block diagram of closed-loop insulin infusion


550

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

Figure 1-2: Liquid volume as a function of time


meal. Feedback action occurs when a diabetic administers more or less insulin based on a blood glucose
measurement. It is important not to administer too
much insulin, because this could lead to too low of a
blood glucose level, resulting in hypoglycemia.

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

Figure 1-5: Control block diagram of drug delivery

Chapter 2 Solutions

Euler integration vs. ode45


40.8

2.1

40.7

40.6

Outlet Temperature C

The modeling equation is

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

Figure 2-2: Plot for 2.2

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.

the inlet and outlet ow rates are the same. Thus


Fi
(Ti T ) + Q = 0
V
100
(20 40) + Q = 0
500
Q = 4 C/min

Steadystate inputoutput curve


30

b. For this part we need to integrate

25

Ps

0.4

20

100
dT
=
(22 T ) + 4
dt
500

15

from an initial state of T = 40 C. The Euler


formula is
xk+1 = xk + txk

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

Figure 2-1: Plot for 2.1

x0 = 40
x1

2.2

x2

The model equations are

x3

dV
= Fi F
dt
dT
Fi
= (Ti T ) + Q
dt
V

x4

a. At steadystate, the volume will not change, as


2-1


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


Figure 2-2 shows the curve of the solution found


using matlabs ode45, with the circles marking
the points of the Euler solution.

2.3

solving at steadystate, we get

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

Thus our model equations are


dVl
= Ff F
dt
P
RT
dP
=
(Ff F ) +
(qi q)
dt
V Vl
V Vl

2.4

dn
dt

Solving at steadystate, we get


 

kV
kV
+
2
CAis
Fs
Fs
CP 2s =

2
kV
Fs + 1
Again, we need to meet production levels, so

kV

kV
Fs
kV
Fs

Fs CP 2s S = 100x106 lb/yr

+ 2 CAis
S = 100x106 lb/yr
2
+1

Solving for the owrate, we get Fs = 6.5799ft3 /min.


Thus we have a savings of 16.98% using the two reactors in series over a single one.

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.

Since we have a larger volume than the example, we


have to calculate the ow rate for a single reactor as
2.6
well. Our volume is V = 106.9444ft3 . The equations
for the rst tank are
dCA1
F
= (CAi CA1 ) kCA1
dt
V
dCP 1
F
= CP 1 + kCA1
dt
V

d(V Ca )
= Fin CAin kV CA
dt
dV
= Fin
dt
2-2

We need equations whose states are V and CA , then


d(V Ca )
dt
d(V )
dCa
+ CA
V
dt
dt
dCa
V
dt
dCa
V
dt
dCa
dt

= Fin CAin kV CA
= Fin CAin kV CA
= CA

d(V )
+ Fin CAin kV CA
dt

= CA Fin + Fin CAin kV CA


=

Fin
(CAin CA ) kCA
V

and using the state and input variables as dened, we have






F
f1 

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

our two equations are


dV
= Fin
dt
Fin
dCa
=
(CAin CA ) kCA
dt
V

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

b. At steadystate we can solve the following equations


Fs
2
(Cwis Cw1s ) kCw1s
=0
V1
Fs
2
(Cw1s Cw2s ) kCw2s
=0
V2

b21

ss

Rearranging the rst equation, we have the


quadratic
2
+
kCw1s

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

the positive root gives us


Cw1s = 0.33333 mol/liter
Rearranging the second equation, we have the
quadratic
2
+
kCw2s





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

the positive root gives us


Cw2s = 0.0900521 mol/liter

d. Evaluating these coecients at our steadystate,


we have


1.25 hr1
0
A=
0.05 hr1 0.320156 hr1


2
0.0016667 mol/l
0.25 hr1
B=
2
0.000121641 mol/l
0
e. Since y = x, it is

1
C=
0

c. To linearize, we have the functions


F
dCw1
2
=
(Cwi Cw1 ) kCw1
dt
V1
F
dCw2
2
=
f2 =
(Cw1 Cw2 ) kCw2
dt
V2

f1 =

straightforward to show that





0
0 0
D
=
1
0 0

f. Using matlab, the eigenvalues are 0.320156


and 1.25.
2-3

analytically, we have

det

then
U A = 183.9 Btu/( Fmin)

det (I A) = 0

0
=0
+ 0.320156

+ 1.25
0.05

Fjs = 1.5 ft3 /min

( + 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

c. heater.m le should be like the example in the


book (p. 73)

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

b. Applying the equations for the elements of the


linearization matrices
 


0.4 0.3
a11 a12
=
a21 a22
1.2 1.8


0 7.5 0.1 0
B=
20
0
0 0.6


1 0
C=
0 1


0 0 0 0
D=
0 0 0 0

0.094

0.092
nonlinear
linear
0.09

10
time (hrs)

12

14

16

18

Figure 2-3: Plot for 2.7g


h. If the order of the reaction vessels is reversed,
the steadystate equations we have to solve are
Fs
2
(Cwis Cw1s ) kCw1s
=0
V2
Fs
2
(Cw1s Cw2s ) kCw2s
=0
V1

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

solving then we get Cw1s = 16 mol/l and Cw2s =


0.10301 mol/l. Thus, the extraction requirements are no longer met.

2.8
a. Solve the following two simultaneous equations
using the parameters and steadystate values
provided:

U Asmall

Alarge
= U Alarge
Asmall

Modeling the vessel as a cylinder, the volume is


V = 2 D3 , and the area is A = 2.25D2 . We can
then calculate the area of the small vessel as a
function of its volume, for which we get

Asmall = 2.25

20

 23

Similarly, we have the area of the larger vessel in


terms of its volume

2
2V 3
Alarge = 2.25

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

nonlinear vs. linear, small step, V=10 ft3

125.06

Tjs = 178.86 F

125.04

Fjs = 35.478 ft3 /min

temp F

125.08

125.02
nonlinear
linear
125

10

15
time (min)

20

25

10

15
time (min)

20

25

We can already see that the steadystate jacket


temperature has gone up, so we want to know
how large we can make the vessel before the
jacket temperature approaches the inlet jacket
temperature. We can solve the following equation, using FVs = 0.1 min1 , as we want to maintain the residence time. We also use the expression in terms of the volume that we found in
part f

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

nonlinear vs. linear, large step, V=10 ft3


127.5

temp F

127
126.5

then V = 270 ft3 .

126
125.5
125

nonlinear
linear
0

10

15
time (min)

20

25

h. Applying the equations for the elements of the


linearization matrices using the steady state for
the larger vessel, we have


0.2392 0.1392
A=
0.5570 1.9761

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

The eigenvalues for the system with the large


vessel are at 1 = 0.1957 and 2 = 2.0197.
While for the system with the smaller vessel,
they are 1 = 0.1780 and 2 = 2.0220. They
are very close to each other, thus the speed of
the response will be similar for both vessels.

And the ratio of the areas is


Alarge
=
Asmall

0.75
0

1
C=
0

0 0
D=
0 0

0
B=
0.8456

 23

Applying this, we nd that


U Alarge = 853.588 Btu/( Fmin)
g. Solve the following two simultaneous equations
using the value of U A calculated for the large
vessel
Fs
UA
(Tis Ts ) +
(Tj s Ts ) = 0
V
V cp
UA
Fjs (Tjins Tjs )
(Tj s Ts ) = 0
j cpj

i. Figure 2-5 shows the response to a step of


0.1 ft3 /min. Comparing this to gure 4(a), we
can see that both linear model responses are
practically the same as the nonlinear model response. The change in temperatures is also minor, as the change in jacket ow rate is small
(0.2% of the steady state value in both cases).
j. Figure 2-6 shows the response to a step of 10% of
the steady state jacket ow rate. Comparing this
to gure 4(b), we can see that both linear model

2-5

nonlinear vs. linear, small step, V=100 ft3


125.035
125.03
temp F

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

Figure 2-5: Plot for 2.8i


responses are close to the nonlinear model response, but there is an oset in the steady state.
The change in temperatures is also more marked,
and larger in the case of the smaller reactor, as
would be expected due to the smaller volume.
nonlinear vs. linear, large step, V=100 ft3

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

Figure 2-6: Plot for 2.8j

2-6

Chapter 4 Solutions

Which simplies down to:

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:

Plugging that into the t1 equation:


dy
kp u

=
exp(
)
dt
p
p

Which simplies down to a maximum slope of:

t1 =

p
+ t 2 p
3

Solving for p yields:

dy
kp u
=
dt
p

p =

3
(t2 t1 )
2

4.3

4.2

The rst technique to estimate the parameters in a


The output response y(t) for a rst order plus dead
rst order plus dead time (FOPDT) model is the
time (FOPDT) model to a step change is:
63.2% method. Find the gain using the formula:
t
y
)}
y(t) = kp u{1 exp(
kp =
p
u
Recognizing that y = kp u gives:
y(t) = y{1 exp(
Substituting t1 =

p
3

t
)}
p

+ into the output equation:

y(t) = y{1 exp(

p
3

+
)}
p

Cancelling out terms gives:

kp =

C
68 50 C
=6
28 25 psig
psig

The time delay can be eye balled by looking at


when the output begins to change signicantly, and
when the input change was applied. For this process:
= 5 min 1 min = 4 min
The time constant is estimated using the 63.2%
method. First, calculate what 63.2% of the output
change is:

1
y(t) = y{1 exp( )}
3

0.632y = 0.632(68 50) = 11.376 C


4-1

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) =

0.283y = (0.283)(18) = 5.094

6e4s
10s + 1

Looking at the response, the respective times to reach


those output values are t63.2 = 15 and t28.3 = 8.
The second technique to estimate the parameters in The time constant can then be calculated using the
a rst order plus dead time (FOPDT) model is the formula:
Maximum Slope method. Find the gain using the
p = 1.5(t63.2 t28.3 )
formula:
p = 1.5(15 8) = 10.5 min
y
kp =
u
The FOPDT can then be expressed as:

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

= 5 min 1 min = 4 min

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.

The time delay is estimated by looking at when the


58 50
C
slope =
= 0.8
output begins to change signicantly, and subtracting
15 5
min
the time when the input change was made. For this
The time constant can now be calculated using:
process:
= 3 min 1 min = 2 min
y
p =
To get the gain, we need to nd both the slope of
slope
the output and the change in input. Looking at the
6 C
gure, we see that:
p =
C = 7.5 min
0.8 min
u = 9.5 10.0 lps = 0.5 lps
The FOPDT can then be expressed as:
m
0.3 1 m
= 0.1
slope =
4s
10

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

a. The continuous transfer function model can be


found using the following analytical solution for
G(s):
G(s) = C(sI A)1 B
by going step by step
3.6237
0.8333

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

Next, create a continuous time transfer function


with the MATLAB command:
>> sstf=tf(css)
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:

>> 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

b. We desire to cast this continuous time model as


a discrete time model with a sample time of 0.25.
We rst dene the following quantities in Matlab:
>>
>>
>>
>>

>> 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

Start out by creating a continuous time state


space model in Matlab with the following command:

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

G(s) can now be found


through the equation

 
s 0
sI A =

0 s

s + 3.6237
=
0.8333

0.02

A=[-3.6237 0;0.8333 -2.9588];


B=[5.5051;-1.2660];
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) =

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

Z[y(k) 1.425y(k 1) + 0.4966y(k 2)]


Given 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:

= Z[0.1194u(k 1) + 0.09456u(k 2)]


Which results in
y(z) 1.425z 1 y(z) + 0.4966z 2 y(z)

g(z) =

= 0.1194z 1 u(z) + 0.09456z 2 u(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:

(1 1.425z 1 + 0.4966z 2 )y(z)

= (T )1 T Y

= (0.1194z 1 + 0.09456z 2 )u(z)

Dividing through to get y(z) on one side of the equation


Where is the vector of parameters we wish to estimate, and and Y are as follows:
0.1194z 1 + 0.09456z 2
y(z) =
u(z)
1 1.425z 1 + 0.4966z 2

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) =

The original data and a step response to the discrete


model g(z) are plotted together in Figure 42 below.
The discrete model that we estimated matches the
Step Response
1.4

1.2

0.8

0.6

0.4

0.2

1.4138
.6065

=
.1044
.0883

10

12

14

16

18

20

Time (sec)

Figure 4-2: Comparison of estimated discrete model


with original data
original data quite well. The last step is compare the
step responses of the discrete and continuous models.
The step responses are shown in Figure 4 3 below.

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) =

Solving for yields:

.00001733s + .25
s2 + .5s + .25

Amplitude

Using the given data, and Y are:

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

We can solve for the parameters using the equation:


= (T )1 T Y

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)

Figure 4-3: Comparison of discrete and continuous


step responses

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

Solving for yields:

1.0169
.2541

=
.0817
.1916

Which means that a1 = 1.0169, a2 = .2541, b1 =


.0817, and b2 = .1916, and the discrete model looks
like:
.0817z + .1916
g(z) = 2
z 1.01692z + .2541

T

The discrete model from Example 4.4 was:


Using the given data, and Y are:
g(z) =

.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)

The eigenvalues are the solution of the equation:

This gives the transfer function:

det(I A) = 0

G(s) =

Setting up and solving this equation gives:



 

0
.1
0
(I A) =

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 =

Figure 4-4: Comparison of discrete step responses

1
det(sI A)

.004
+ .14s + .004

b. We desire to cast this continuous time model as


a discrete time model with a sample time of 3.0.
We rst dene the following quantities in Matlab:

det(I A) = ( + .1)( + .04) (.04)(0) = 0


( + .1)( + .04) = 0
The solution to this equation is 1 = 0.1 and
2 = 0.4.
Note: Those students familiar with linear
algebra should be able to recognize that since
the A matrix is lower triangular, the eigenvalues
are simply the values on the main diagonal. The
rigorous derivation proves this to be true.

>>
>>
>>
>>

A=[-0.1 0;.04 -.04];


B=[0.1;0];
C=[0 1];
D=[0];

Start out by creating a continuous time state


space model in Matlab with the following command:
>> css=ss(A,B,C,D)
Next, create a continuous time transfer function
with the MATLAB command:

To solve for the transfer function, use the formula:


G(s) = C(sI A)1 B

>> sstf=tf(css)

G(s) can now be found by going step by step


through the equation

 

s 0
0.1
0
(sI A) =

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:

The discrete time state space model is:




0.7408
0
=
0.0974 0.8869

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

Dead band in this example is a measure of how


large a temperature change must occur before the
heater setting is changed. There is a natural trade
off between tighter temperature control and periodic
heater switching. With a small dead band, there will
be small fluctuations in temperature, but more frequent switching of the heater setting. As the dead
band is increased, the fluctuations in temperature become larger, but the heater setting is switched less
often. This is the trade-off. The sketches of heater
and temperature profiles should look like the three
figures below, for dead bands of 0.5, 1.0, and 2.0.

0.6
0.4
0.2
0

Figure 5-3: Temperature and heater profile with dead


band of 2.0

temperature

0.4
0.2

5.2

0
0.2

i. We want the relationship between L(s) and r(s)


to ym (s). From the block diagram, we have

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

ym (s) = gm (s)gp (s)u(s)

20

again, from the diagram


Figure 5-1: Temperature and heater profile with dead
band of 0.5

u(s) = L(s) + gv (s)gc (s)e(s)


so

ym (s) = gm (s)gp (s)L(s)


+ gm (s)gp (s)gv (s)gc (s)e(s)

temperature

0.5
0

and

0.5

e(s) = r(s) ym (s)

1
0

10
time

12

14

16

18

20

then
1

ym (s) = gm (s)gp (s)L(s)

heater

0.8
0.6

+ gm (s)gp (s)gv (s)gc (s) [r(s) ym (s)]

0.4

[1 + gm (s)gp (s)gv (s)gc (s)] ym (s)


= gm (s)gp (s)gv (s)gc (s)r(s) + gm (s)gp (s)L(s)

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

gm (s)gp (s)gv (s)gc (s)


r(s)
1 + gm (s)gp (s)gv (s)gc (s)
gm (s)gp (s)
+
L(s)
1 + gm (s)gp (s)gv (s)gc (s)

ii. We need the equation relating L(s) and r(s) to


u(s). From the block diagram we have

gL (s) + gf (s)gp (s)


L(s)
1 + gp (s)gc (s)gm (s)

The stability of the closed-loop system can be checked


by finding the roots of the closed-loop characteristic equation (CLCE). Here, the CLCE is 1 +
gp (s)gc (s)gm (s). This can be done numerically or
by the Routh stability criterion. The system is stable if all the roots are negative. The stability of this
system will NOT be any different than that of a standard feedback system. The reason is that that CLCE
is the same for both, 1 + gp (s)gc (s)gm (s).

u(s) = L(s) + gv (s)gc (s)e(s)


and
e(s) = r(s) ym (s)
then
u(s) = L(s) + gv (s)gc (s) [r(s) ym (s)]
again, from the diagram

5.4

ym (s) = gm (s)gp (s)u(s)

First, we need to find a closed-loop relationship for


the inner feedback loop. That is, we are looking
for a transfer function relating r2 (s) and y2 (s).

so

u(s) = L(s) + gv (s)gc (s) [r(s) gm (s)gp (s)u(s)]


[1 + gv (s)gc (s)gm (s)gp (s)] u(s) = L(s) + gv (s)gc (s)r(s)
gv (s)gc (s)
u(s) =
r(s)
1 + gv (s)gc (s)gm (s)gp (s)
1
+
L(s)
1 + gv (s)gc (s)gm (s)gp (s)

y2 (s) = u2 (s)gp2 (s)


y2 (s) = e2 (s)gc2 (s)gp2 (s)
y2 (s) = (r2 (s) ym2 (s))gc2 (s)gp2 (s)
y2 (s) = (r2 (s) gm2 (s)y2 (s))gc2 (s)gp2 (s)

5.3

y2 (s) = r2 (s)gc2 (s)gp2 (s) y2 (s)gm2 (s)gc2 (s)gp2 (s)

To derive the closed-loop transfer function, start with


y(s) and work your way back to L(s).

y2 (s) + y2 (s)gm2 (s)gc2 (s)gp2 (s) = gc2 (s)gp2 (s)r2 (s)


y2 (s)[1 + gm2 (s)gc2 (s)gp2 (s)] = gc2 (s)gp2 (s)r2 (s)

y(s) = z(s) + x(s)

y2 (s) =

y(s) = gL (s)L(s) + gp (s)u(s)


y(s) = gL (s)L(s) + gp (s)(v(s) + w(s))
y(s) = gL (s)L(s) + gp (s)(gc (s)e(s) + gf (s)L(s))
y(s) = gL (s)L(s) + gp (s)gf (s)L(s) + gp (s)gc (s)e(s)

gc2 (s)gp2 (s)


r2 (s)
1 + gm2 (s)gc2 (s)gp2 (s)
y2 (s) = gcf (s)r2 (s)

Where gcf (s) is the transfer function we just derived.


We can now derive the closed-loop transfer function
between r1 (s) and y1 (s) using the transfer function
gcf (s) to represent the inner feedback loop.

y(s) = gL (s)L(s) + gp (s)gf (s)L(s)

y1 (s) = gp1 (s)y2 (s)

+gp (s)gc (s)(r(s) ym (s))


y(s) = gL (s)L(s) + gp (s)gf (s)L(s)

y1 (s) = gp1 (s)gcf (s)r2 (s)

+gp (s)gc (s)r(s) gp (s)gc (s)ym (s)

y1 (s) = gp1 (s)gcf (s)gc1 (s)e1 (s)


y1 (s) = gp1 (s)gcf (s)gc1 (s)(r1 (s) ym1 (s))

y(s) = gL (s)L(s) + gp (s)gf (s)L(s) + gp (s)gc (s)r(s)

y1 (s) = gp1 (s)gcf (s)gc1 (s)(r1 (s) gm1 (s)y1 (s))

gp (s)gc (s)gm (s)y(s)

y1 (s) = gp1 (s)gcf (s)gc1 (s)r1 (s)

y(s) + gp (s)gc (s)gm (s)y(s)

gp1 (s)gcf (s)gc1 (s)gm1 (s)y1 (s)

= (gL (s) + gp (s)gf (s))L(s) + gp (s)gc (s)r(s)

y1 (s) + gp1 (s)gcf (s)gc1 (s)gm1 (s)y1 (s)

y(s)[1 + gp (s)gc (s)gm (s)]

= gp1 (s)gcf (s)gc1 (s)r1 (s)

= (gL (s) + gp (s)gf (s))L(s) + gp (s)gc (s)r(s)

y1 (s)[1 + gp1 (s)gcf (s)gc1 (s)gm1 (s)]

gp (s)gc (s)
r(s)
y(s) =
1 + gp (s)gc (s)gm (s)

= gp1 (s)gcf (s)gc1 (s)r1 (s)


5-2

y1 (s) =

gp1 (s)gcf (s)gc1 (s)


r1 (s)
1 + gp1 (s)gcf (s)gc1 (s)gm1 (s)

Gv (s) is the transfer function representing valve


dynamics.

Where
gcf (s) =

y1 (s) =

Gm (s) is the transfer function representing measurement dynamics.

gc2 (s)gp2 (s)


1 + gm2 (s)gc2 (s)gp2 (s)

GL (s) is the disturbance transfer function.

gp1 (s)gc1 (s)gc2 (s)gp2 (s)


1+gm2 (s)gc2 (s)gp2 (s)
r (s)
g (s)gc1 (s)gc2 (s)gp2 (s) 1
+ p1
1+gm2 (s)gc2 (s)gp2 (s)

Gp (s) is the transfer function representing the


heat exchanger.

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)

We know the valve is fail open, so

x(s) is the output of the heat exchanger.


v(s) is the output of the controller to the valve.

kp =

=
+

u(s) is the output of the valve to the heat exchanger.

Therefore, the process gain is negative.

z(s) is the disturbance input to the heat exchanger.

5.6

L(s) is the load disturbance term.

We wish to control an open-loop unstable process


with the form:

y(s) is the actual heat exchanger output, when


disturbances are included.
ym (s) is the measurement of heat exchanger output.

gp (s) =

kp
u s + 1

With a PI controller with the form:


gc (s) = kc

Gc (s) is the controller for the heat exchanger.


5-3

I s + 1
I s

5.7

Start by forming the closed loop transfer function:


gCL (s) =

We want to solve for the offset when using Ponly


control for the plant given by

gp (s)gc (s)
1 + gp (s)gc (s)

For this system,

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)

since it is proportional control, then


gc (s) = Kc

Simplifying

and the closedloop transfer function is

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:

By definition, the offset is the error at steadystate,


so we can use the final value theorem; we are considering a step input of magnitude R.

CLCE = I u s2 + I s + kp kc I s + kp kc
CLCE = I u s2 + (I + kp kc I )s + kp kc

of f set = lim e(t)

Multiplying by -1

= lim se(s)

CLCE = I u s2 (I + kp kc I )s kp kc

s0

= lim s (r(s) y(s))


s0
In order for the system to be stable, all the coefficients
= lim sr(s) (1 gcl (s))
of the CLCE must be the same sign. Because the
s0

CLCE is quadratic, having all coefficients be the same


Kc
sign is both a necessary and sufficient condition. For
= lim R 1 2
s0
2s + s + Kc
higher order CLCEs, the Routh stability criterion
=
0
must be used. By definition, we know that I and u
are positive. To determine the parameter range for
stability, look at the coefficients of each power of s. As expected, there is no offset, as it is an integrating
system.
Start with s2 .
I u > 0
This is always valid because both I and u are positive by definition. Look at s1 .

5.8

The process is given by

I kp kc I > 0

gp (s) =

1 kp kc > 0
kp kc > 1

2(3s + 1)
(5s + 1)

since it is proportional control, then

kp kc < 1

gc (s) = Kc

kp kc > 0

We then need the characteristic equation to have negative roots

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

stability is for the coefficients of the polynomial to be


positive, thus
1 + 2Kc > 0
1
Kc >
2

5 6Kc > 0
5
Kc <
6

stability, look at the coefficients of each power of s.


Start with s2 .
4>0
This is clearly always valid. Look at s1 .
2 6kc > 0

since we need Kc to have the same sign as the process


gain, we have the range
0 < Kc <

6kc > 2
kc < 1/3

5
6

Look at s0 .
3kc > 0

5.9

kc < 0

We wish to control an open-loop unstable process


with the form:

There are two restrictions on the parameters, kc < 0


and kc < 1/3. The latter is the more stringent, so
3
the system is stable as long as the following inequality
gp (s) =
2s + 1
is satisfied:
kc < 1/3
With a PI controller having an integral time constant
of 2:
I s + 1
gc (s) = kc
5.10
I s
Please note that there are two different gp1 (s) trans2s + 1
gc (s) = kc
fer functions, depending on the edition of the textbook
2s
you are using. Solutions are provided for both verStart by forming the closed loop transfer function:
sions of gp1 (s), so check to be sure you are grading
the correct version.
gp (s)gc (s)
gCL (s) =
Earlier versions of the textbook use the following
1 + gp (s)gc (s)
for gp1 (s):
For this system,
1
gp1 (s) =
(s + 1)(s 1)
3kc 2s+1
gCL (s) =

2s+1 2s
3kc 2s+1
2s+1 2s

1+

Simplifying
gCL (s) =

3kc (2s + 1)
(2s + 1)(2s) + 3kc (2s + 1)

We wish to stabilize the process with a P-only controller:


gc (s) = kc
Start by forming the closed loop transfer function:
gCL (s) =

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) =

CLCE = 4s2 (2 + 6kc )s 3kc

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

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
This is clearly always satisfied. Look at s1 .

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
This is clearly always satisfied. Look at s1 .
1 > 0
This inequality will never be satisfied. Look at s0 .
kc 2 > 0

0>0

kc > 2

This inequality will never be satisfied. Look at s0 .


kc 1 > 0
kc > 1
For this process, one of the coefficients of the CLCE
will always be zero, regardless of the kc value. When
kc > 1, the system will be marginally stable because
of the coefficient at zero, and not asymptotically stable as when all coefficients are the same sign.
Later versions of the textbook use the following for
gp1 (s):
1
gp1 (s) =
(s + 1)(s 2)

For this process, one of the coefficients of the CLCE


will always be negative, meaning that the process
CANNOT be stabilized, regardless of the value of
kc that is used. This means that gp1 (s) cannot be
stabilized using a P-only controller.
The second process is:
gp2 (s) =

We wish to stabilize the process with a P-only controller:


gc (s) = kc
Start by forming the closed loop transfer function:

We wish to stabilize the process with a P-only controller:


gc (s) = kc

gCL (s) =

gp (s)gc (s)
1 + gp (s)gc (s)

gCL (s) =

For this system,


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)

For this system,

Start by forming the closed loop transfer function:


gCL (s) =

1
(s + 1)(s 0.1)

kc
s2 s 2 + k c

s2

CLCE = s2 + 0.9s 0.1 + kc

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
CLCE = s2 s 2 + kc
higher order CLCEs, the Routh stability criterion
In order for the system to be stable, all the coefficients must be used. To determine the parameter range for
of the CLCE must be the same sign. Because the stability, look at the coefficients of each power of s.
CLCE is quadratic, having all coefficients be the same Start with s2 .
sign is both a necessary and sufficient condition. For
1>0
The denominator is the closed-loop characteristic
equation (CLCE).

5-6

This is clearly always satisfied. Look at s1 .

This is clearly always satisfied. Look at s1 .


1>0

0.9 > 0

This will also always be satisfied. Look at s0 .

This is clearly always satisfied. Look at s0 .


kc 0.1 > 0

kc 2 > 0

kc > 0.1

kc > 2

We can use the Routh stability criterion to conclude


In order for the second process to be stable, kc > 0.1
that this process can be stabilized by any P-only conmust be satisfied. If the inequality is not satisfied, all
troller that has kc > 2.
coefficients of the CLCE will not have the same sign
as required.
Part (b)
NOTE: There is a typo in the problem statement for
part (b) in some editions of the textbook. The correct
5.11
value of kc should be kc = 4. Please be aware of this
Part (a)
when grading the problem
We wish to control an open-loop unstable process
with the form:
Using part (a), we can verify that kc = 4 does indeed
gp (s) =

satisfy kc > 2. We can now turn our attention to the


measurement lag. When a first order measurement
lag is cascaded with the process, we have the new
transfer function:

1
(s + 2)(s 1)

with a P-only controller of the form:


gc (s) = kc

gp (s) =

Start by forming the closed loop transfer function:


gCL (s) =

By multiplying through to simplify, we can express


the transfer function as:

gp (s)gc (s)
1 + gp (s)gc (s)

gp (s) =

For this system,


gCL (s) =

gCL (s) =

s2

1
m s3 + (m + 1)s2 + (1 2m )s 2

We wish to analyze the closed-loop stability, so


we need to form the closed-loop transfer function,
gCL (s).
gp (s)gc (s)
gCL (s) =
1 + gp (s)gc (s)

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

We will use the given P-only controller of gc (s) =


kc = 4.

kc
+ s 2 + kc

The denominator is the closed-loop characteristic


equation (CLCE).
2

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

The closed-loop characteristic equation (CLCE) is


the denominator of the transfer function, or
CLCE = m s3 + (m + 1)s2 + (1 2m )s + 2
Because the CLCE is a third order equation, having
all of the coefficients be the same sign will only satisfy
the necessary condition. For the sufficient condition,
we will need to use the Routh Array. Lets start by
checking the sign of the coefficients for the necessary
condition. Start with s3 .

5-7

m > 0

This is always satisfied, as m is a time constant, and


must be positive by definition. Look at s2 next.

Use the quadratic equation to solve for the values of


m that define the boundary of when the inequality
is satisfied.
m + 1 > 0
p
3 + / 9 (4)(2)(1)
m =
Because m is positive by definition, this will always
2(2)
be satisfied as well. Look at s1 .

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

The process we wish to stabilize is:

Substituting values yields:


row
1
m
2
2m + 1
3
b1
4
2

With a PI controller of the following form:


2 + m
2

gc (s) = kc

b1 =

gCL (s) =

gp (s)gc (s)
1 + gp (s)gc (s)

For this system,

a2 a1 a3 a0
>0
a2

(m + 1)(1 2m ) 2m
>0
b1 =
m + 1
Simplifying,

I s + 1
I s

Start by forming the closed loop transfer function:

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

Because the time constant is positive, we know the


denominator will always be positive as well. There- The Closed Loop Characteristic Equation (CLCE) is:
fore, all we need to show is the values of m that make
CLCE = I s3 I s2 2I s + kc I s + kc
the numerator positive.
CLCE = I s3 I s2 + (kc I 2I )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

plugging in the parameter values. Forming the closed


loop transfer function:
gCL (s) =

gp (s)gc (s)
1 + gp (s)gc (s)

For this system,


gCL (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,

The process is given by


gp (s) =

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)

The CLCE is:

since it is proportional control, then

CLCE = ( 2 s2 + 2 s + 1)(I s) + kp kc (I s + 1)

gc (s) = Kc

Multiplying through,

We then need the characteristic equation to have negative roots

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

Plugging in the parameter values of kp = 1, = 2,


= 0.7, kc = 5 and I = 0.2 results in the CLCE of:

1 + Kc

CLCE = 0.4s3 + 0.56s2 + 1.2s + 5

20s + (12 12.5Kc )s + 1 + 2.5Kc = 0


without solving for s, we know that for this closed
loop system the necessary and sufficient condition for
stability is for the coefficients of the polynomial to be
positive, thus
12 12.5Kc > 0
Kc < 0.96

1 + 2.5Kc > 0
Kc > 0.4

since we need Kc to have the same sign as the process


gain, we have the range

The Routh stability criterion could be used to check


the stability of this third order equation, but since all
coefficients have numerical values, the analytical solution can just as easily be used. The roots command
in Matlab is recommended for this purpose, although
a number of such numerical routines exist. The roots
of this CLCE are s1 = 2.3656, s2 = 0.4828+2.2475i,
and s3 = 0.48282.2475i. Because the real portion of
the complex conjugate roots are positive, the process
is NOT closed-loop stable.

5.15

0 < Kc < 0.96

Part (a)

5.14

The process and instrumentation diagram for the


isothermal CSTR is given in the figure below. Where
Fs is the inlet flow, V is the reactor volume, CM is
a concentration measurement device, CC is the concentration controller, and Csp is the concentration
set-point.

The process we wish to control is:


gp (s) =

2 s2

kc
+ 2 s + 1

With a PI controller of the form:


gc (s) = kc

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

The poles are the roots of the denominator. Using


the Matlab roots command, we find that p1 = 4.541
and p2 = 5.737.
Looking at the gains for both cases, we can see
that they are consistent with the steady-state input/output curve. The gain is positive on the lefthand side of the peak (Case 1), and the gain is negative on the right-hand side of the peak (Case 2).
Part (c)
We will start by investigating the stability of Case 1:
Figure 5-5: Process and instrumentation diagram of
isothermal CSTR

gp (s) =

With a P-only controller of the following form:


gc (s) = kc

Rearranging this into a more usable form:


gp =

1.1170s + 3.1472
0.1858s2 + .8627s + 1

Start by forming the closed loop transfer function:

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

CLCE = s2 + (4.6429 1.1170)s + 3.1472kc + 5.3821

Rearranging into a more useable form:


0.0429s 0.1208
gp =
0.0384s2 + 0.3945s + 1
0.3549s + 1
0.0384s2 + 0.3945s + 1
From this arrangement, we can easily see that the
process gain is kc = 0.1208. The zeros are the roots
of the numerator.
z1 = .3549s + 1 = 0

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)

For this system,

z1 = 0.3549s + 1 = 0

gp =

1.1170s + 3.1472
s2 + 4.6429s + 5.3821

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
This is clearly always satisfied. Look at s1 .

z1 = 1/0.3549 = 2.8176

4.6429 1.1170kc > 0

z1 = 2.8176

1.1170kc > 4.6429


5-10

This is clearly always satisfied. Look at s1 .

kc < 4.1566
Look at s0

10.2778 1.1170kc > 0

5.3821 + 3.1472kc > 0


3.1472kc > 5.3821

1.1170kc > 10.2778

kc > 1.71

kc < 9.20125

Looking at the signs of the CLCE coefficients has


given us two criteria that kc must satisfy. They provide us with both an upper bound and a lower bound
that kc must meet in order for a P-only controller to
stabilize the process. This can be summarized by the
following relation:

26.0508 3.1472kc > 0


3.1472kc > 26.0508
kc < 8.277453
Looking at the signs of the CLCE coefficients has
given us two upper bounds that kc must satisfy. We
only need to worry about the most stringent of the
two, which is the smaller of the two values. Hence,

1.71 < kc < 4.1566


Continuing on with the stability of Case 2:
gp (s) =

Look at kc

1.1170s 3.1472
s2 + 10.2778s + 26.0518

kc < 8.277453

With a P-only controller of the following form:

5.16

gc (s) = kc

A stable first order process can be represented by

Start by forming the closed loop transfer function:


gCL (s) =

gp (s) =

gp (s)gc (s)
1 + gp (s)gc (s)

where p > 0. We wish to use a PI controller, which


has the form,

For this system,


gCL (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

Start by forming the closed loop transfer function:

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)

For this stable first order system,

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

CLCE = s2 +10.2778s+26.05081.1170kc s3.1472kc Simplifying,


CLCE = s2 +(10.27781.1170)s+26.05083.1472kc

gCL (s) =

kc kp (I s + 1)
(p s + 1)(I s) + kp kc (I s + 1)

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 For stability, we need to look at the closed-loop charsign is both a necessary and sufficient condition. For acteristic equation (CLCE)
higher order CLCEs, the Routh stability criterion
CLCE = (p s + 1)(I s) + kp kc (I s + 1)
must be used. To determine the parameter range for
stability, look at the coefficients of each power of s.
CLCE = p I s2 + I s + kp kc I s + kp kc
Start with s2 .
CLCE = p I s2 + (I + kp kc I )s + kp kc
1>0
5-11

In order for there to be an oscillatory response, there


must be a pair of complex-conjugate roots. You can
only get complex-conjugate roots if the b2 4ac term
in the quadratic equation is negative, resulting in a
complex number.
2

must be used. To determine the parameter range for


stability, look at the coefficients of each power of s.
Start with s2 .
6>0
This is clearly always satisfied. Look at s1 .

b 4ac = (I + kp kc I ) 4p I kp kc < 0

5>0

(I + kp kc I ) < 4p I kp kc
I2

This is also always satisfied. Look at s0 .

+ 2kp kc I2 + kp2 kc2 I2 < 4p I kp kc

1 + kc > 0

I + 2kp kc I + kp2 kc2 I < 4p kp kc


I (1 + 2kp kc + kp2 kc2 ) < 4p kp kc

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

The second process is given by:

The above inequality is the oscillatory condition we


were asked to prove.

gp2 (s) =

s + 1
(2s + 1)(3s + 1)

We will use a P-only controller of the form:

5.17

gc (s) = kc

The first process is given by:


gp1 (s) =

1
(2s + 1)(3s + 1)

Start by forming the closed loop transfer function:


gCL (s) =

We will use a P-only controller of the form:


gc (s) = kc

gp2 (s)gc (s)


1 + gp2 (s)gc (s)

For this process,

Start by forming the closed loop transfer function:


gCL (s) =

gp1 (s)gc (s)


1 + gp1 (s)gc (s)

kc (s+1)
(2s+1)(3s+1)
kc (s+1)
+ (2s+1)(3s+1)

Simplifying,

For this process,


gCL (s) =

gCL (s) =

kc
(2s+1)(3s+1)
kc
+ (2s+1)(3s+1)

gCL (s) =

kc (s + 1)
(2s + 1)(3s + 1) + kc (s + 1)

The closed-loop characteristic equation (CLCE) is:

Simplifying,

CLCE = (2s + 1)(3s + 1) + kc (s + 1)

kc
gCL (s) =
(2s + 1)(3s + 1) + kc

CLCE = 6s2 + 5s + 1 kc s + kc

The closed-loop characteristic equation (CLCE) is:

CLCE = 6s2 + (5 kc )s + 1 + kc

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
2
CLCE = 6s + 5s + 1 + kc
sign is both a necessary and sufficient condition. For
In order for the system to be stable, all the coefficients higher order CLCEs, the Routh stability criterion
of the CLCE must be the same sign. Because the must be used. To determine the parameter range for
CLCE is quadratic, having all coefficients be the same stability, look at the coefficients of each power of s.
sign is both a necessary and sufficient condition. For Start with s2 .
higher order CLCEs, the Routh stability criterion
6>0
CLCE = (2s + 1)(3s + 1) + kc

5-12

This is clearly always satisfied. Look at s1 .

Look at s

Because I > 0, this is always satisfied. Look at s2 .

5 kc > 0

2 I > 0

kc < 5
1 + kc > 0

We will need and to be the same sign for this to


be satisfied, which will also make the process open
loop stable. Look at s1 .

kc > 1

kp kc > 0

For the second process, we will be able to stabilize it


with P-only control provided that 1 < kc < 5. Note This means that kc and kp must be the same sign.
0
that for the second process, which has numerator dy- Look at s .
namics, there is an upper bound on the allowable
kp kc I + I > 0
values of kc .
kp kc > 1

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) =

Sufficient: Look at the first row of the Routh Table.


We need all terms in the first row to be positive.
Because the CLCE is third order, we are concerned
with an , an1 and b1 . Start with an .
an = 2 I > 0
This is the same as the s3 condition, so it will be
satisfied. Look at an1 .

gp (s)gc (s)
1 + gp (s)gc (s)

an1 = 2 2 I > 0

For this stable first order system,


gCL (s) =

This is less strictive than the s1 condition, so it will


be satisfied.

This is the same as the s2 condition, so it will be


satisfied. Look at b1 .

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

The closed-loop characteristic equation (CLCE) is:


2I kp kc + 2I > kp kc

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 +

The CLCE is third order, so for closed-loop stability,


we need to satisfy both the necessary and sufficient
conditions. Note that by definition, I > 0.
Necessary: The coefficients of the CLCE must all be
the same sign. Start with s3 .
2 I > 0

I (1 +

2I
>
kp kc

>
kp kc
2

1
)>
kp kc
2

In addition to the above inequality, the process will


be closed-loop stable with PI control if kc and kp have
the same sign, and and have the same sign.

5-13

5.19

3 will impose additional constraints. Solving this for


the marginal stability condition, we get

Our plant is given by


gp (s) =

2
2m
+ (4 kc ) m + 2 = 0

1
(s + 1)(s + 1)

And we have a measurement lag, so our measured


output is related to our actual output as

and solving for m , we have

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

It is easy to verify this, just by evaluating the row 3


element with a value of for a small value of > 0.
Plugging in the value for kc = 19, we have that the
closedloop system will be stable if 0 m < 0.13579
or m > 7.36421.

e(s) = r(s) ym (s)


ym (s) = r(s) gm (s)y(s)
and the closedloop transfer function is
gc (s)gp (s)
1 + gc (s)gp (s)gm (s)
kc (m s + 1)
=
(s + 1)2 (m s + 1) + kc

gCL (s) =

5.20
The plant transfer function is known to be

The offset is then

gp (s) =

of f set = lim se(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

= lim (1 gCL (s))


s0

= 1 lim

s0

kc (m s + 1)
(s + 1)2 (m s + 1) + kc

1
1 + kc

of f set = lim (1 gCL (s))


= 1 lim

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

constructing Rouths array, we have

(2m +1)(2+m )m (1+kc )


(2m +1)

i. Using the final value theorem on the error signal,


we have
s0

(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) =

and we want the offset to be at most 0.05; thus we


need the controller gain to be at least kc = 19.
Since the measurement lag introduces additional
dynamics, we need to test for stability, which will
depend not only on kc , but on m as well. Out characteristic equation is

row
1
2
3
4

k( s + 1)
(2s + 1) (s + 1)

=1

2 + m
1 + kc
0

we know kc and the value of the offset, so we can


solve for k = 1.5.

1 + kc

Since by definition m > 0, and we know kc 19


to keep the offset below the desired value, only row
5-14

ii. The characteristic equation of the system is


2s2 + (3 kkc )s + 1 + kc k = 0

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

since the coefficient in row 3 is divided by , we cannot


make it zero, but it suffices to make > 0 small.
In this case the sign of the first entry in row 3 is
negative, so even with a zero in row 2, we have two
5-15

sign changes, meaning that we have two roots that are


in the RHP. Such a system will be fully unstable, and
will not present the sustained oscillations observed.
The only option left is u = 5 minutes, and we can
verify this in the same way. The reconstructed array
is
row
1
10 10/3
2
8
8/3
3

0
4
8/3

gI (s) is the transfer function representing a current to pressure conversion.


gv (s) is the transfer function representing valve
dynamics.
ghx (s) is the transfer function representing the
heat exchanger.
gm (s) is the transfer function representing measurement dynamics.

gp (s) is the transfer function representing the reactor, or plant.


again, we need to replace the zero in the third row
with in order to calculate the rest of the array.
Part (b)
But now, making = 0 we can see there are no sign
To find the transfer function between concentration
changes, therefore we can deduct that there are two
setpoint r(s) and measured output y(s), start with
complexconjugate poles on the imaginary axis which
the measured output.
account for the sustained oscillations.
y(s) = gp (s)u(s)
Thus, the parameters of the plant model we were
looking for are kp = 2 C/lpm and u = 5 minutes.
y(s) = gp (s)ghx (s)f (s)
y(s) = gp (s)ghx (s)gv (s)pv (s)

5.22

y(s) = gp (s)ghx (s)gv (s)gI (s)i(s)

Part (a)
The control block diagram for the heat exchanger is
given in the figure below. The blocks and signals on

y(s) = gp (s)ghx (s)gv (s)gI (s)gc (s)e(s)


y(s) = gp (s)ghx (s)gv (s)gI (s)gc (s)(r(s) ym (s))
y(s) = gp (s)ghx (s)gv (s)gI (s)gc (s)(r(s) gm (s)y(s))
y(s) = gp (s)ghx (s)gv (s)gI (s)gc (s)r(s)
gp (s)ghx (s)gv (s)gI (s)gc (s)gm (s)y(s)
y(s) + gp (s)ghx (s)gv (s)gI (s)gc (s)gm (s)y(s)

Figure 5-6: Control block diagram of adiabatic reactor process

= gp (s)ghx (s)gv (s)gI (s)gc (s)r(s)


y(s)[1 + gp (s)ghx (s)gv (s)gI (s)gc (s)gm (s)]
= gp (s)ghx (s)gv (s)gI (s)gc (s)r(s)

the control block diagram mean the following:


r(s) is the setpoint to the controller.

y(s) =

gp (s)ghx (s)gv (s)gI (s)gc (s)


r(s)
1 + gp (s)ghx (s)gv (s)gI (s)gc (s)gm (s)

e(s) is the error between the measured output


and setpoint.

5.23

i(s) is the controller output, a current signal.

The control law is

pv (s) is the input to the control valve, a pneumatic pressure.


f (s) is the valve output to heat exchanger, a
flowrate.

u(s) = gc1 (s)e(s) gc2 y(s)


we want the closedloop transfer function relating
r(s) to y(s). From the block diagram, we note that
y(s) = gp (s)u(s)
e(s) = r(s) y(s)

u(s) is the input to the reactor, a temperature


then,

y(s) is the output of the reactor, the plant.


ym (s) is the measured value of actual plant output.
gc (s) is the transfer function representing the
controller.

5-16

y(s) = gp (s) [gc1 (s) {r(s) y(s)} gc2 (s)y(s)]


[1 + gp (s) {gc1 (s) + gc2 (s)}] y(s) = gp (s)gc1 (s)r(s)
y(s) =

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)

assuming a step change in the load, l(s) = l


s , we
are interested in the offset when the setpoint is zero,
so we are interested in the steadystate value of y(t),
then
Kd

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

and we can use the final value theorem to find the


offset
Kd I s(p s + 1)l
lim sy(s) = lim
s0
s0 (d s + 1) [I p s2 + I (1 + Kc Kp )s + Kc Kp ]
=0
There is no offset, as expected when using a PI controller.
In order to find the conditions on the controller
parameters to guarantee stability, we need the roots
of the characteristic polynomial to be negative.
1 + gc (s)gp (s) = 0

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

without solving for s, we know that for this closed


loop system the necessary and sufficient condition for
stability is for the coefficients of the polynomial to be
positive, thus
(1 + Kc Kp )
>0
p

Kc Kp
>0
I p

if p > 0, and with I > 0 by definition, we have that


Kc Kp > 0. if p < 0, then Kc Kp < 1; in both cases
for any I > 0.
5-17

Chapter 6 Solutions

Putting in our known transfer functions, and using a


P-only controller gc (s) = kc results in.

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) =

With the given transfer functions for the process,


1
measurement and valve, the process was modelled
in Simulink. The Simulink block diagram is shown The closed-loop characteristic equation (CLCE) is
in Figure 6.1 below. To find the values of kcu and the denominator
CLCE = 1 +

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

Pu , a P-only controller was designed for use with the


Simulink model of Figure 6.1. With gc (s) = kc , the
process was simulated with varying values of kc to
determine when the closed-loop response became a
continuous oscillation. This occurs at kc = 0.4644,
which results in the response shown in Figure 6.2 below. The value of kcu becomes 0.4462, and we can

CLCE = .015s4 + .32116s3 + 2.207324s2


+(5.0994 + 89.5kc )s + (1.4216 + 5.633kc )
Choose a value for kc that is greater than kcu , say
kc = 0.5. The CLCE now becomes,
CLCE = .015s4 +.32116s3 +2.207324s2 +49.8494s+4.2381

2.5

The roots of the CLCE can be found using your


favorite numerical solution technique. The roots
command in Matlab is one suggested method. Using the trusty old TI-85, the roots were found to be
p1 = 21.6694, p2 = 0.085, p3 = 0.172 + 12.36j,
p4 = 0.17212.36j. There are now two postive roots,
showing that the system does indeed go unstable with
kc > kcu .

pressure (psig)

2
1.5
1
0.5
0
0.5
1

0.5

1.5
time

2.5

valve position (%)

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

kc = 0.5kcu = (0.5)(.4644) = 0.2322

Figure 6-2: System under continuous oscillation with


kc = 0.4462

For PI control,
kc = 0.45kcu = (0.45)(.4644) = 0.20898

now read Pu from Figure 6.2 as the time between


peaks. By inspection, Pu = 0.55
Part (a)
To show what happens at kc values greater than kcu ,
we first need the closed-loop characteristic equation,
gCL (s).
gCL (s) =

gp (s)gv (s)gm (s)


1 + gp (s)gv (s)gm (s)

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

For the Cohen-Coon method,

pressure (psig)

2
setpoint
Ponly
PI

1.5

kc =

0.5

5
time

The Tyreus-Luyben parameters are the same as


Ziegler-Nichols closed-loop for P-only control. The
process was then controlled for a unit setpoint change
using each of the control strategies. The result is Figure 6.5. For P-only control, it appears that ZieglerNichols closed-loop gives better control. Also note
the offset, as expected for a P-only controller.

10

0.2

valve position (%)

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

Figure 6-3: Comparison of P and PI control

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

Figure 6-5: P-only control

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

kc = 0.45kcu = (0.45)(3.85) = 1.7325

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)

I = 3.3 = (3.3)(5) = 16.5


Part (a)
With kcu and Pu we can calculate P-only tuning parameters for a number of different methods. For the
Ziegler-Nichols closed-loop method,

For Tyreus-Luyben,
kc =

I = 2.2Pu = (2.2)(17.25) = 37.95

kc = 0.5kcu = (0.5)(3.85) = 1.925


For the Ziegler-Nichols open-loop method,
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

The process was then controlled for a unit setpoint


4
(4)(5)
D =
=
= 5/3
change using each of the control strategies. The re2
11 + p
11 + (2)(5)
10
sult is Figure 6.6. For PI control, it appears that
The process was then controlled for a unit setpoint
Ziegler-Nichols gives better control.
change using each of the control strategies. The result is Figure 6.7. For PID control, it appears that
1.5
Ziegler-Nichols gives better control.
y

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

Figure 6-6: PI control

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

I = 2.2Pu = (2.2)(17.25) = 37.95


D =

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

Figure 6-7: PID control


Looking at the results for the various tuning strategies for P-only, PI and PID control, several things
become clear. There is a noticeable spike in the manipulated input for PID control due to derivative
kick. This is why the derivative of the output is
often used instead. For this process, it seems that
Ziegler-Nichols gives the best results for all control
types.

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

The process we are considering is,

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

Figure 6-8: Continuous oscillation with kc = 4.1567

1
y

0.5

I =

Pu
1.4
7
=
=
1.2
1.2
6

0.5
1

For PID control,


kc = 0.6kcu = (0.6)(4.1567) = 2.49402

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

Figure 6-10: Continuous oscillation with kc = 4.1567


now calculate the Ziegler-Nichols closed- loop tuning
parameters. For Ideal PID, the manipulated input is
determined by the equation,

0.5

u(s) = kc (1 +

0.5

5
time

where the PID parameters are given by the ZieglerNichols closed-loop method,

10

kc = 0.6kcu = (.6)(4.1567) = 2.49402

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

Figure 6-9: Comparison of P, PI and PID control


Note that with P-only control, there is offset in the
output, as we would expect to see. There is also a
noticeable derivative kick in the manipulated input
for PID control.

u(s) = kc (

I s + 1 D s + 1
)(
)e(s)
I s
D s + 1

where the parameters are,

6-4

kc = 2.49402

I = 0.73125

where yF is a first order filter of the form,

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

substituting yF into u(t) results in,


Z t
1
d
u(t) = kc [e(t) +
e()d D ( y(t))]
I 0
dt
which is the differential modeling equation for this
PID controller.

where the parameters are the same as for the Real


PID given above.
Now that we have all the necessary PID tuning parameters, we can see how the controllers respond to
a unit setpoint change. The responses are shown in
Figure 6.11 below. Note that the Ideal PID controller

To get the algebraic modeling equation, we first need


to take LaPlace transforms of the individual terms in
the differential modeling equation.
[u(t)] = u(s)
[e(t)] = e(s)
Z t
1
1
[
e()d] =
e(s)
I 0
I s

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

Putting this in a more familiar form,


0

5
time

10

u(s) = kc (

Figure 6-11: Comparison of PID strategies


exhibits the derivative kick that we are now accustomed to seeing. The Real PID controller doesnt
have the derivative kick, but it does have more oscillatory behavior than either of the other two controllers. The output derivative controller has a near
identical output response to the Ideal PID, but without the excessive derivative kick.

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

Thus the algebraic modeling equation above is of the


form of equation [5.17] in the text.

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

Figure 6-13: Comparison of PI control

Figure 6-12: Continuous oscillation with kc = 3.85


1.5

I = 2.2Pu = (2.2)(17.25) = 37.95

1
y

The PID parameters for Tyreus-Luyben are,


kc =

50

0.5

kcu
3.85
=
= 1.75
2.2
2.2

50

100

150
time

200

250

300

I = 2.2Pu = (2.2)(17.25) = 37.95


4

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

Figure 6-14: Comparison of PID control


that Tyreus-Luyben should be recommended for implementation on the real plant. The Cohen- Coon
performance is much more oscillatory, which is not
good for a real process. The Tyreus-Luyben tuning also has a much lower maximum manipulated input. Finally, Cohen-Coon is significantly less robust
to plant parameter uncertainty, which is always an
issue in a real process setting.

p 4

10 4
5
[ +
]=
[ +
] = 35/12
kp 3 4p
5 3 (4)(10)
[32 +

= 315/38

The PID parameters for Cohen-Coon are,


kc =

= 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.

and we desire a feedback controller that gives us a


first order response of the form,

Looking at both PI and PID performance, it is clear


6-6

gCL (s) =

1
s + 1

Using the direct synthesis method, we can calculate


our feedback control with the formula,
gc (s) =

This is of the form of a P-only controller with a first


order lag filter, typically shown in the form,

gCL (s)
gp (s)[1 gCL (s)]

gc (s) = kc [

Plugging in the transfer functions,


gc (s) =

1
s+1 ]

1
]
F s + 1

This is exactly what we have in our process, where


the parameters are,

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

Our plant transfer function is

1
kp

This is just a P-only controller with kc =

gp (s) =

s2

15
+ 4.9s + 0.9

and the desired closedloop dynamics are

1
kp

gCL (s) =

6.9

with = 5 minutes.
We know the closedloop transfer function is

We have an integrating process of the form,


gp (s) =

kp
s

gCL (s) =

and we desire a feedback controller that gives us a


second order response of the form,

s2 + 4.9s + 0.9
75s
which clearly has the same form as a standard PID
controller
gc (s) =

gP ID (s) = kc

Plugging in the transfer functions,


gc (s) =

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

we can put the desired controller in the same form,


and we get
gc (s) =

gc (s) =

gCL (s)
gp (s) (1 gCL (s))

plugging in gp (s) and gCL (s), we get that

Using the direct synthesis method, we can calculate


our feedback control with the formula,
gCL (s)
gp (s)[1 gCL (s)]

gc (s)gp (s)
1 + gc (s)gp (s)

and we can solve for


gc (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

thus our PID tuning parameters are:

+ 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

We have a second order system with numerator dynamics,


kp (n s + 1)
gp (s) = 2 2
s + 2 s + 1
and we desire a feedback controller that gives us a
first order response of the form,

Our plant transfer function is

gCL (s) =

gp (s) =

and the desired closedloop dynamics are


gCL (s) =

1
s + 1

gCL (s) =

gc (s) =

Plugging in the transfer functions,


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)

we can immediately identify


I = 3 +

1 2 s2 + 2 s + 1
kp n s2 + s

and we can solve for D , as D I = 3, then

2 2

gc (s) =

3s2 + (3 + )s + 1
2s (2 s + 4 2)

which clearly has the same form as a PID controller


with a lag

1
kp (n s+1)
2 s2 +2 s+1 (s

gCL (s)
gp (s) (1 gCL (s))

plugging in gp (s) and gCL (s), we get that

Simplifying,
gc (s) =

gc (s)gp (s)
1 + gc (s)gp (s)

and we can solve for

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

We know the closedloop transfer function is

Using the direct synthesis method, we can calculate


our feedback control with the formula,
gc (s) =

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

We know the denominator has to be I s(f s + 1), so


we can equate

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

We can now see that gc (s) is in the form of a PID +


first-order lag described by,
gc (s) = kc (

D I s2 + I s + 1
1
)[
]
I s
F s + 1

then it is straightforward that the factor left must be


1/kc , so we have the tuning parameters

where the parameters are given by,

(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

This controller is a PI controller with a first order


lag, with the form,
gc (s) = kc (

4 2
s=
2

I s + 1
1
)[
]
s
F s + 1

where the parameters are,

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

and we desire a feedback controller that gives us a


second order response of the form,

1.2
1

1
(s + 1)2

0.8
0.6

y (%)

gCL (s) =

Using the direct synthesis method, we can calculate


our feedback control with the formula,

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 (%)

Plugging in the transfer functions,


1
(s+1)2
kp
p s+1 (1

1
0.5
0

1
(s+1)2 )

Simplifying,

10

15

20

25
time (min)

30

35

40

45

50

Figure 6-15: Comparison of tuning parameters


gc (s) =

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

In comparing our results to those of Figure 6.5 in the


text, we can note a couple important things. First,
the output y(t) does not reach the setpoint as quickly
for our controller. The trade off is that the maximum
manipulated input u(t) required is significantly lower.

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) =

For a rst order system with an input of u(t) =


A sin t, the output in the laplace domain is given
by
A
kp
2
Y (s) =
p s + 1 s + 2
by partial fraction expansion we have
Y (s) =

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 =

multiplying by (s + j) and setting s = j, we have


c2 =

We know that for a rst order system, the phase is


given by = tan1 (p ). From the problem description, we know = 1 day1 , and that there is a
lag of 30 days. Then,

kp A(p j)
2(p2 2 + 1)

7.3

and similarly, multiplying by (s j) and setting


s = j, we have
c3 =

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) =

a. Figure 7-1 shows the Bode plot, with the gain


and phase margins indicated. The gain margin is GM = 3.1047, the phase margin is
m = 100.3882 degrees, and the crossover frequency is co = 0.2422 rad/min. From this, we
=
can calculate the ultimate period Pu = 2
co
25.9454 min.

10

10

10

taking the inverse laplace transform, we get


kp Ap tp
e
p2 2 + 1


p j jt p + j jt
kp A
e
e
2 2
+
p + 1
2
2

Phase (deg)

y(t) =

90

180

270

360

450
3

10

recalling the identities

10

10

10

Frequency (rad/min)

ej + ej
2
ej ej
sin =
2j

Figure 7-1: Plot for 7.3a

cos =

b. Using a Ponly with ZieglerNichols tuning,


Kc = 0.5Ku = 1.5523. Since this is half the ultimate gain (which is the gain margin), it follows
7-1

that the gain margin will be GM = 2. Writing


the uncertainty on the process gain as kp (1 + ),
we have that  = 1, or in other words, the process
gain can increase by as much as 100%. With this
gain, the phase margin is now m = 59.4823 degrees, at a frequency of pm = 0.1286 rad/min.
The amount by which the time delay can increase
is then given by

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

Step Responses for Problem 73f


2

c. The ZN tuning parameters for a PI controller


are: Kc = 1.3971 and I = 21.6212 min. Using this controller gives a gain margin of GM =
1.8915, and a phase margin of m = 42.3108 degrees at pm = 0.1231 rad/min. Thus, the process gain can increase by up to 89.15% and the
deadtime by up to = 5.9988 min.

4
2
0
2

10

20

30

40

50
Time (min)

60

70

80

90

100

Figure 7-2: Plot for 7.3f

d. The ZN tuning parameters for a PID controller


are: Kc = 1.8628 and I = 12.9727 min and
D = 3.2432 min. Using this controller gives
a gain margin of GM = 1.9870, and a phase
margin of m = 44.2056 degrees at pm =
0.1552 rad/min. Thus, the process gain can increase by up to 98.7% and the deadtime by up
to = 4.9722 min.
e. No. It is clear from the above that none of the
controllers using ZieglerNichols tuning can give
such large margins.
f. Figure 7-2 shows the step responses using the
three dierent controllers. Note that the ideal
PID obtained in 7.3d is not realizable. The plot
shows a realPID implementation as described
in equation 5.14a in the textbook (see page 172);
the lter time constant uses = 0.1. The inital
value for the PID controller is actually 18.63,
Figure 7-3: Plot for 7.4
but the plot is truncated to show more detail
in the rest of the gure. From these three, it is
obvious that the Ponly controller has an oset
that is undesirable. Between PI and PID the
decision would rest on the requirements. If a 7.5
faster response regardless of the larger overshoot
is desired, then the PID is the choice to go with;
otherwise the PI would give a smaller overshoot. From the Bode diagram, at the frequency where the
phase angle crosses 180 the amplitude ratio is 2.
The gain margin is then the inverse of this, gm = 0.5.

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

two, we then have.

a. The sketch of the nyquist plot is shown in gure 7-4.

1
= 2kcd
2
1
kcd = kc
4
kcd = 1.0875

kc

b. Looking at the crossover frequency, we see that


the amplitude ratio is roughly 0.35. This gives
us a gain margin of 2.85. This means that we
can increase the gain by roughly 1.4 times to get
a gain margin of 2.

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.

c. The amplitude ratio is unity at about 0.09


rad/min; at this point the phase angle is about
-110 degrees. This gives us a gain margin of 70
degrees. This means that the dead time can increase by about 13.6 minutes to get the system
to marginal stability.

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

Figure 7-4: Plot for 7.9a

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

Using an all-pass factorization, we have that


(3s + 1)(5s + 1)e1.25s
(3s + 1)(5s + 1)
1.75(3s + 1)(5s + 1)
gp (s) =
(10s + 1)(4s + 1)2

8.1

gp+ (s) =

Missing
8.2
From the block diagram

thus, our strictly proper controller is

y(s) = gp (s)u(s) + gd (s)l(s)

(10s + 1)(4s + 1)2


1.75(3s + 1)(5s + 1)(s + 1)2

q(s) =

u(s) = q(s) r(s) d(s)

and

b. If the model is perfect, then the transfer function


is

but
= y(s) y(s)
d(s)
y(s) = gp (s)u(s)

y(s) = q(s)gp (s)r(s)

then

= y(s) gp (s)u(s)
d(s)
and

(3s + 1)(5s + 1)e1.25s


r(s)
(3s + 1)(5s + 1)(s + 1)2

The sketch of y(t) should look like gure 8-1.


u(s) = q(s) [r(s) y(s) + gp (s)u(s)]
[1 q(s)
gp (s)] u(s) = q(s)r(s) q(s)y(s)
u(s) =

Exercise 83
1.2

q(s)
q(s)
r(s)
y(s)
1 q(s)
gp (s)
1 q(s)
gp (s)

0.8

then, plugging this into our original expression for


y(s), we have

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

and we can rearrange this into

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

Figure 8-1: Plot for 8.3

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

Then our controller is


q(s) =

Missing

(5s + 1)
2(s + 1)

8.8

The closedloop relationship is


y(s) =

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

we can nd the oset using the nal value theorem


(assuming a unit step)
oset = lim s (r(s) y(s))
s0

= 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

Since the operating point is openloop unstable,


we also need

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

b. The closedloop transfer function is simply the


filter function, so

9.9

Missing

s + 1
(s + 1)2
12.5s + 1
=
(5s + 1)2

gcl (s) =

9.10

Missing

The response to a step setpoint change should


look like figure 9-1.

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

Since we want to put it into the form of a standard


PI controller
I s + 1
gP I = kc
I s

ClosedLoop Step Response


1.4

1.2

we know that

Output C

2 + = 0

0.8

= 2 +

0.6

We can readily identify I = = 2 + . We can now


factor out the remaining terms, giving us

0.4

0.2

kc =
0

10

15

20
Time (min)

25

30

35

40

Figure 9-1: Plot for 9.15b

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)

then, we can find the equivalent controller


q(s)
1 gp (s)q(s)
s + 1
1
=
k ( + )s + 2 +

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

PFC Valve Position


Flow measurement

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)

Chapter 10, problem 9, SIMULINK solutions


First of all, I generated the following SIMULINK diagram relating the inputs (inputs 1 & 2 are
the inlet temperature and fuel gas header pressure disturbances, respectively, and input 3 is
manipulated pressure to the control valve) to the outputs (output 1 is the process fluid outlet
temperature and output 2 is the fuel gas flowrate)

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

The standard feedback control diagram is then

t
Clock

time

Tinlet

Tdist

Tprocess

Process Temp

Pheader
Fuelflow

Pvalve

Pdist

Furnace

Tsp

PID
y

Ideal analog PID

Tsp
Temperature setpoint

vP
valve-top pressure

Fg
Fuel gas flow

and the cascade control diagram is

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

Fuel Gas Flow PID


(secondary or "inner
loop" controller)

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

The response to the fuel gas header pressure disturbance is

fuel gas header pressure disturbance

T, deg F

410

feedback
cascade

405
400
395
-1

10

fuel flow, scfm

700
feedback
cascade

650
600

valve pressure, psig

550
-1

10

feedback
cascade

10
9
8
-1

4
5
time, minutes

and the response to an inlet temperature disturbance is

10

inlet temperature disturbance

408

feedback
cascade

T, deg F

406
404
402
400
-2

10

fuel flow, scfm

600

560
540
520
-2

valve pressure, psig

feedback
cascade

580

10

9
feedback
cascade
8.5

8
-2

4
time, minutes

10

10.17 Feedforward based on feed composition measurement

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

0.6 1.2 0.8


= 0.4 1.2 0.6
0 1.4 2.4

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.2406 0.1028 0.8607


0.0061 1.0940 0.1001

=
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

By denition, the relative gain 12 is the ration of


the openloop gain to the closedloop gain between
u2 and y1 . Thus,

For the given gain matrix, we obtain the RGA as




51 50
=
50 51

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)

assuming perfect control for y2 , we have

13.5

y2 = k21 u1 + k22 u2 = 0

Yes, 3 SISO loops can be used.


solving for u1 we have
Output 2 has the most restrictions, as we dont
want a zero or negative relative gain, which leaves u3
k22 u2
u1 =
with y2 .
k21
13-1

thus, for the other loop, we have

Thus, the pairing indicated by the RGA is: u1 with


y1 and u2 with y2 .

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

from where we can set


k12,e = k12

k11 k22
k21

Thus input 1 is the one that is best to keep constant,


as for both outputs it has small relative gains.

13.8

No, it cant be done as y1 and y2 can only be paired


with u2 , otherwise the corresponding relative gain is 13.13
negative.
Assuming all outputs to be equally important, we
can choose u2 be paired with y2 , as it is closest to 1
of the two. This leaves u1 with y3 , with y1 left with 13.14
no control.

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

Based on this, the pairing should be u2 with y1 and


u1 with y2 .
Renumbering the outputs so the outputinput
pairings are on the diagonal, we have
  1



0
y1 (s)
u1 (s)
= 10s+1
0.5
25
y2 (s)
u2 (s)
5s+1
5s+1

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

Coupled Quad Tank Responses tight tuning


1.4
1.2

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

For operating point 2 we have



1.5
63s+1
2.5
(56s+1)(91s+1)

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

Figure 14-2: Plot for 14.1b, tight tuning


Coupled Quad Tank Responses detuned
1.4

Thus, for the rst operating point with the


minimumphase transmission zero, we want to
pair u1 with y1 and u2 with y2 . For the second
operating point, with the nonminimumphase
transmission zero, we want to reverse the pairing, to have u2 with y1 and u1 with y2 .
b. As suggested in the problem, and using the pairing suggested by 2 , we have the following transfer function matrix using a rst order approximation for each second order transfer function (just
adding the two time constants).

2.5 
0
102s+1
G(s) =
2.5
0
147s+1

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

Figure 14-3: Plot for 14.1b, detuned controller

Using direct synthesis for the PI controllers


(note that other methods are possible), we have

Decoupled Quad Tank Responses no interaction


1.4
1.2
Outputs (V)

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

We simply select 13 of the time constant for


(again, other possibilities exist), so 12 = 34 and
21 = 49. The response of the two separate SISO
loops (with no interaction) is shown in gure 141 note that they are only plotted together for
convenience. Obviously this tuning gives tight
dynamics, as desired.

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

Figure 14-1: Plot for 14.1b, independent loops

When applying these SISO controllers to the


14-1

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)

Our equations are then (with the change of notation


for the inlet ows)
1

h + (u1 + u2 )
h =
A
A
u1
u2

(Th To ) +
(Tc To )
To =
Ah
Ah
y1 = h

and example 14.1 already has the determinant calculated


s 3
det [G(s)] =
(s + 1)2 (s + 2)2
y2 = To
the inverse is then


(s + 1)(s + 2)
1
2
G1 (s) =
3 s3
(s + 3)
linearizing, we have

14.3





For the material balance we have


h + (u1 + u2 ) 
A11 =

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

equal and constant,


since the residence time is 10 min, and F = h, we
1 1
dV
have that A11 = 20
min
= Fh + F c F o
dt


since V = Ah and A is constant, we have


 =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

For the B matrix






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

in part a, but scaled accordingly. It is now not


obvious which results in the larger change, although the directionality is the same. You have
to look at the corresponding ranges; the change
in the tank height will overow the tank, whereas
the change in the temperature is still well within
the allowable range.

ss

=
B22 =
=


0.0017212 m

B=
0.05 C

thus

0.0017212 m

0.05 C

it is straightforward to see that





1 0
0
C=
D=
0 1
0

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

Figure 14-4: Plot for 14.4a

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

We know that the transfer function matrix is given


by G(s) = C(sI A)1 B, then

s+

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

Comparison of = = 0.3 (open diamonds) and = = 0.1 (dots)


1

Comparison of 1 = 2 = 0.3 (open diamonds) and 1 = 2 = 0.1 (dots) system B

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

Since there is no need to factor anything out, we can


calculate the controller directly


For the rst operating point, we have 1 = 0.7,


2 = 0.6, v1s = 3.00 V, v2s = 3.00 V, k1 =
3.33 cm3 /(Vs) and k2 = 3.35 cm3 /(Vs). Substituting
these with the other parameters, we nd

and in exercise 14.2 we found its inverse to be




(s + 1)(s + 2)
1
2
G1 (s) =
3 s3
(s + 3)

Q(s) = G1 (s)

Figure 14-7: Plot for 14.6

Figure 14-6: Plot for 14.5

For system B we have



s + 3
G(s) =
3

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

For the second operating point, we have 1 = 0.43,


2 = 0.34, v1s = 3.15 V, v2s = 3.15 V, k1 =
3.14 cm3 /(Vs) and k2 = 3.29 cm3 /(Vs). Substituting
these with the other parameters, we nd

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

At steady state, we have the following set of equations

a1 2gh1 + a3 2gh3 + 1 k1 v1 = 0

Note that in both cases the is a slight dierence


a2 2gh2 + a4 2gh4 + 2 k2 v2 = 0
with
the steady state values given in the text. The

a3 2gh3 + (1 2 ) k2 v2 = 0
reason for this is that the values in the text come

from actual experimental data as given in the paper


a4 2gh4 + (1 1 ) k1 v1 = 0
by Johansson (see rst reference for chapter 14, p.
note that in the last equation the correct term is k1 v1 , 448).
not k2 v2 as in the textbook appendix. See the errata
To linearize the system equations, introduce the
for all the corrections to appendix 14.1.
deviation variables xi = hi his and ui = vi vis .
14-4

The linearized statespace equation is then given by

and we can solve for

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

we can then nd our controller

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

The corresponding transfer function matrix is




(1 )c
c
1 1

G(s) =

q22

(T3 s+1)(T1 s+1)


2 c2
T2 s+1

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 =

1.6 (63s + 1) (56s + 1) (39s + 1) (76.92s + 1)


(76.92s + 1) (5241.6s2 + 228s 4.1) (1 s + 1)
2.5 (91s + 1) (56s + 1) (76.92s + 1)
=
(76.92s + 1) (5241.6s2 + 228s 4.1) (2 s + 1)
2.5 (63s + 1) (39s + 1) (76.92s + 1)
=
(76.92s + 1) (5241.6s2 + 228s 4.1) (1 s + 1)
1.5 (91s + 1) (56s + 1) (39s + 1) (76.92s + 1)
=
(76.92s + 1) (5241.6s2 + 228s 4.1) (2 s + 1)

q11 =

where the time constants are



Ai 2his
Ti =
,
i = 1, . . . , 4
ai
g

T1 s+1
(11 )c2
(T4 s+1)(T2 s+1)

set the lter transfer function matrix as


 1

0

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

substituting the parameters and steadystate values


given in the text will result in the corresponding
transfer functions matrices as presented.

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

As with exercise 14.5, the RHP transmission zero


Example 4.2 continued provides the solution see limits performance; lowering the tuning parameters
textbook section 14.8, pp. 444446.
below 77 min does not signicantly improve the response, but does increase the manipulated input action; it also increases the magnitude of the inverse
14.9
response.
The process transfer function matrix is
Setting 1 = 2 = 76.2 min, gives us reasonable performance, without exceeding the limits for


2.5
1.5
either the input or output variables. Figure 14-8
63s+1
(39s+1)(63s+1)
G(s) =
2.5
1.5
shows two setpoint changes; y1 is lowered by 2 volts
(56s+1)(91s+1)
91s+1
at t = 100 min, and y2 is increased by 2 volts at
from exercise 14.8 we know that we have one RHP t = 750 min. These changes correspond to 20% of
the range; as seen in the plot, the manipulated intransmission zero at z = 0.013; we then have
puts remain well within the allowed limits.
 76.92s+1

0
For comparison, gure 14-9 shows the same re p+ (s) = 76.92s+1
G
76.92s+1
sponse
(dotted), together with the response using
0
76.92s+1
14-5

1 = 2 = 50 min. The response barely improves, where


but in this case u2 goes outside the range, to a value
of -3.57 volts at t = 750 min. Thus if saturation limits are imposed in the simulation, the response would
be degraded from what is shown.
0.5

1.5

for our case, it is straightforward to see that




1 1
D(s) =
1 1

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

Figure 14-8: Plot for 14.9

which is the same as the static decoupler in this case,


as g11 has the same dynamics as g12 and the same
goes for g21 and g22 .
The decoupled system for which we need to design
our controller is then
 0.06884

0
G(s)D(s) = 20s+1
1
0
10s+1
We can now design the independent controllers.
There are dierent options, but we will go with a
PI using direct synthesis for tuning. Our controller
is then


Gc1
0
Gc (s) =
0
Gc2

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

Figure 14-9: Plot for 14.9, tuning comparison

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

For simplied decoupling, we have




1
D(s) =
d21 (s)

d12 (s)
1

Up (s) = D(s)Gc (s)E(s)




E(s) = U (s) Y (s)


Y (s) = Gp (s)Up (s)
14-6

we can then write

setting 1 = 14 min, and for the maximum change in


ow rate, we have

E(s) = U (s) Gp (s)Up (s)

125
2
2 = 5.99 min

Up (s) = D(s)Gc (s) [U (s) Gp (s)Up (s)]

25 = 4.15 +

then
1

So we could set 1 = 10 min and 2 = 6 min. Again,


we have a tradeo, so nal choices depend on what
After a lot of algebra, and using the fact that g11 = is considered more important and what the actual
g12 and g21 = g22 (where gij is the ijth element of process requirements are.
the Gp (s) transfer function matrix, we get
up (s) = [I + D(s)Gc (s)Gp (s)]

D(s)Gc (s)U (s)

1
Up (s) =

1 + 2Gc1 g11 + 2Gc2 g22 + 2Gc1 Gc2 g11 g22




Gc1 (1 + 2Gc2 g22 ) Gc2 (1 + 2Gc1 g11 )
U (s)
Gc1 (1 + 2Gc2 g22 ) Gc2 (1 + 2Gc1 g11 )

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

From the initial value theorem, we know that


up (0) = lim sUp (s)
s

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

Also, changes in tank level are less likely to be


1
44.4336 64.9414
0
17.5
needed, so we could also assume a smaller change
 1

0
as reasonable. Take U1 = 0.2 m instead, and again
0.125
1
0
U2 = 12.5 C, so we have
0.095


36.3636 47.8469
58.1058 125
=
20.3125 39.0625
u1 (0) =
+
1
2
14-7

singular value decomposition (SVD) gives


K = U V T


0.8930 0.4501
64.6633
=
0.4501 0.8930
0

T
0.3608 0.9326
0.9326 0.3608


0

36.9970

the condition number is 1.7478. The most sensitive


direction corresponds to




0.8930
0.3608
y=
u=
0.4501
0.9326
which corresponds to increasing the ow with a slight
increase in temperature, by increasing the hot stream
ow more than the cold stream ow. The weakest
direction is




0.4501
0.9326
y=
u=
0.8930
0.3608

Output Operating Window


55
achievable
desired
50

14-8

45

40

temperature, C

which corresponds to a slight increase in ow with


a larger decrease in temperature, by increasing the
cold stream ow and decreasing the hot stream ow
slightly. These make sense from a physical viewpoint,
since the steadystate operating point has a larger
cold stream ow rate than does the hot stream, thus
even a larger increase in the hot stream ow rate is
against a starting point of a higher proportion of cold
water in the mixed stream. Thus it is also harder to
increase the ow rate while decreasing the temperature.
For the limits given for the cold and hot streams,
gure 14-10 shows the output operating window. The
solid line shows the boundary for the achievable output space, while the dashed line shows the boundary
for the ow rate between 0.19 and 0.44 /s and the
temperature between 23 and 34 C. It is clear from
this that at the higher ow rate it is not possible to
achieve the full range of temperatures, with actually
a single temperature achievable to the peak ow rate.

35

30

25

20

15

10

0.05

0.1

0.15

0.2

0.25
flow, l/s

0.3

0.35

Figure 14-10: Plot for 14.11

0.4

0.45

Anda mungkin juga menyukai