You are on page 1of 14

1

Multivariable Control: An introduction


Dr M.J. Willis
Department of Chemical and Process Engineering
University of Newcastle upon Tyne
email: mark.willis@ncl.ac.uk
Written: 4
th
November, 1998
Modified: 8
th
November, 1999
Aims and Objectives
To introduce the basic concepts of multivariable control (a continuous stirred tank
reactor will be used as the motivating example). To highlight the phenomenon of
loop interactions. To learn how to model multivariable systems using input-output
descriptions. To introduce the relative gain array (RGA) - a tool for the selection of
input-output pairings.
At the end of this section of the course you should be able to select appropriate
manipulated variable - controlled variable pairings to minimise the effect of loop
interactions in multivariable systems. You should know how to formulate and
interpret the RGA.
Plan
Define the terms SISO and MIMO.
Introduce MIMO control and loop interaction using a CSTR as the motivating
example.
discuss systems modelling for MIMO systems (the transfer function approach).
clarify discussions using a worked example (modelling and control of a mixing
process).
introduce the RGA and discuss how it may be used to select input-output
pairings.
2
Introduction
Processes with only one output being controlled by a single manipulated variable are
classified as single-input single output (SISO) systems. It should be noted however,
that most unit operations in chemical engineering have more than one control loop.
In fact, each unit typically requires the control of at least two variables, e.g. product
rate and product quality. There are therefore usually at least two control loops.
Systems with more than one control loop are known as multi-input multi-output
(MIMO) or multivariable systems.
A Continuous Stirred Tank Reactor (CSTR)
A continuous stirred tank reactor (CSTR) is used to convert a reactant (A) to a
product (B). The reaction is liquid phase, first order and exothermic. Perfect mixing is
assumed. A cooling jacket surrounds the reactor to remove the heat of reaction.
Effluent
Coolant
C
Ao
, F
o
, T
o
F, C
A
, T
T
j
A B
Exothermic, first order
Constant Volume
TC
CC
Fig 1 A basic control scheme for a CSTR
In this system variables of interest (from a control engineers perspective) could be,
for example, product composition and temperature of the reacting mass. There will
therefore be a composition control loop as well as a temperature control loop. Feed
to the reactor is often used to manipulate product composition while temperature is
controlled by adding (removing) energy via heating (cooling) coils or jackets. This
basic control configuration is demonstrated in Fig (1). 'TC' represents a temperature
controller, the mv for this loop being coolant flowrate to the jacket. 'CC' represents
the composition controller, the mv being reactant feedrate.
Assuming that the control system has been configured in this manner, lets consider
a change in feed flowrate. Perhaps this is necessary to bring composition back to its
desired level. This manipulation of feedflow will also change the temperature of the
reaction mass. Heat removal or addition, on the other-hand, would influence the
rate of reaction and hence composition. This phenomenon, known as loop
interaction, occurs in many processes and must be considered when developing a
3
control strategy. If it is not, it may be difficult to run the unit under closed loop
control, creating many operational problems.
Thus, for two loops to work successfully together each loop must know what the
other is doing. Otherwise, in trying to achieve their respective objectives each loop
may act against the interests of the other.
Developing Process Models for Multivariable Systems Analysis
When designing a multivariable control strategy, the process must first be modelled.
This can be achieved either analytically using sets of differential equations to
describe a systems behaviour or empirically, using data obtained from an open loop
step test fitted to an assumed model structure. For the purposes of the control
system design we often use the latter, parameterising the model using 1
st
order plus
time-delay transfer functions.
Input-Output Multivariable System Models
1
For systems with more than one output, input-output models may assume a number
of structural forms. However, discussions will be restricted to the model structure
shown in the diagram below,
G
11
(s)
Loop 1
Loop 2
G
21
(s)
G
12
(s)
G
22
(s)
+
+
mv
1
mv
2
cv
1
cv
2
Fig 2 (2 x 2) Multivariable model structure
Here G
11
(s) is a symbol used to represent the forward path dynamics between mv
1
and cv
1
, while G
22
(s) describes how cv
2
responds after a change in mv
2
. The
interaction effects are modelled using transfer functions G
21
(s) and G
12
(s). G
21
(s)
describes how cv
2
changes with respect to a change in mv
1
while G
12
(s) describes
how cv
1
changes with respect to a change in mv
2
.

1
For sake of simplicity during these, and subsequent discussions only (2 x 2) processes will be considered.
4
For the CSTR shown in figure (1) mv
1
could be the coolant flowrate, while mv
2
could
be the flowrate of the reactant. The output cv
1
may be the reactor temperature while
the output cv
2
would be the effluent concentration.
The mathematical model written in matrix-vector notation
The elements within the blocks of Figure (2) are transfer functions, defining the
relationship between the respective input output pairs. As usual, the following
general transfer function description will be used,
G s
k e
s
p
p
s
p
( )
+

1
(1)
where k
p
is a process gain,
p
the process time constant and the process time
delay. Note that each of the 4 blocks in Figure (2) will have different parameters that
must be determined.
Referring to fig. 2., on a loop by loop basis, the outputs of the system model are
related to the inputs as follows,
Loop 1: cv
1
= G
11
mv
1
+ G
12
mv
2
(2)
Loop 2: cv
2
= G
21
mv
1
+ G
22
mv
2
(3)
Equations (2) and (3) may be expressed more compactly in matrix-vector notation
as:
cv = G mv (4)
where cv = [cv
1
, cv
2
]
T
; mv = [mv
1
mv
2
]
T
and, G
G G
G G

,
]
]
]
11 12
21 22
Note that this is a matrix of transfer function elements.
Incorporation of load disturbance terms into the systems model
Thus far, only the major part of the process has been considered. In many
situations, processes are influenced by external factors such as changes in ambient
conditions, changes in the quality of raw materials; changes in the operating
environment and so on. To cater for these effects, load disturbance terms may also
5
be incorporated within the model. Incorporation of load disturbance terms in the
model representation leads to the following expression:
cv = Gmv + G
d
dv (5)
where [ ] G
G
G
and dv ,dv
d
d
d

,
]
]
]

1
2
1 2
0
0
dv
The block diagram representation of this system model is given by,
G
11
(s)
Loop 1
Loop 2
G
21
(s)
G
12
(s)
G
22
(s)
+
+
u
1
u
2
y
1
y
2 +
G
d1
(s)
G
d2
(s)
d
1
d
2
Fig. 3. Incorporating load disturbances into the system model
In other words, disturbances are added to the process output in exactly the same
fashion as considered for single loop systems in process control 1.
Worked Example
Consider the following mixing process,
f
1
f
2
f
o
c
#
Control objective: regulate f
o
and c
#
to desired levels
6
Manipulated variables: f
1
and f
2
Assume that the system is a two component system. Let f
1
be the flowrate (kg/hr) of
stream 1, f
2
be the flowrate of stream 2 (kg/hr) while f
o
is the total flowrate. Also, if c
1
and c
2
are the mass fractions of component A in each stream and c
#
the mass
fraction of component A in the mixed stream:
1. What are the material balance equations for this system ?
2. Develop a linear (2 x 2) model representation by linearisation of the material
balance equations around the following steady-state operating point, f
o
= 100
kg/hr, c
#
= 60% with c
1
=80% and c
2
=20%.
3. If the dynamics of the mixed streams concentration and measurement sensors
and are characterised by the following expressions,
G s
f
f
m
o
m
o
( ) 1
and
G s
e
c
c
m
s
m
( )
#


2
1
(6)
i.e measurement of flow is assumed instantaneous, while the measurement of mass
fraction is assumed to be affected by an analyser delay (which is modelled as a pure
time delay process). Develop the overall linearised dynamic model of the system.
Draw the block diagram representation of the system.
Solution
1) The overall mass balance is given by,
f
o
= f
1
+ f
2
(7)
The component balance is given by,
f
o
c
#
=f
1
c
1
+ f
2
c
2
(8)
2) We require the mathematical relationship between the two outputs and the two
manipulated variables. Equation (7) provides one expression. Rewriting the material
balance equations (7) and (8) gives the other as,
c
f c f c
f f
#

+
+
1 1 2 2
1 2
(9)
Equation (1) is linear however, equation (3) is not a linear function. To linearise the
relationship between c
#
and the manipulated variables, f
o
and f
1
it is necessary to
use a 1
st
order Taylor series expansion of equation (9) around the steady-state
7
operating point (see the Appendix for an explanation about linearisation via the
Taylor series). The basic structure of the linear equation is:
c
dc
df
f
dc
df
f
ss ss
#
#
'
#
'
'

j
(
,
\
,
( +
j
(
,
\
,
(
1
1
2
2
The following partial differentials are required
2
dc
df
f c c
f f
#
( )
( )
1
2 1 2
1 2
2


+
and
dc
df
f c c
f f
#
( )
( )
2
1 1 2
1 2
2


+
(10)
This gives the linearised model,
c
f c c
f f
f
f c c
f f
f
ss ss
# ' '
'
[
( )
( )
] [
( )
( )
]

+
+

+
2 1 2
1 2
2 1
1 1 2
1 2
2 2
(11)
where c
#
= c
#
- c
#
ss
, f
1
= f
1
- f
1ss
and f
2
= f
2
- f
2ss
are deviation variables.
To calculate the steady-state conditions required by equation (12), solve the material
balance. We have two algebraic expressions,
100 = f
1
+ f
2
0.6*100 = 0.8*f
1
+ 0.2*f
2
(13)
Solving for f
1
and f
2
gives,
f
1
= 66
2
/
3
kg/hr and f
2
= 33
1
/
3
kg/hr
Therefore,
c# = 2x10
-3
f
1
+ (-4x10
-3
)f
2
(14)
where c
#
= c
#
-0.6, f
1
= f
1
- 66
2
/
3
and f
2
= f
2
- 33
1
/
3
Using a block diagram to visualise this system model we have,

2
To do this differentiation I have used the quotient rule, i.e
d u v
dx
v
du
dx
u
dv
dx
v
( / )

2
8
f
1
f
2
f
o
c
#
2
+
+
1
1
2 x 10
-3
-4 x 10
-3
1
c
m
f
o
m
e
s
and this may be written as,
f s
c s x e x e
f s
f s
o
m
m
s s
( )
( )
( )
( )
,

,
]
]
]

,
]
]
]
,

,
]
]
]
1 1
2 10 4 10
3 3
1
2

(15)
Summary
So far, these notes have introduced multivariable systems modelling by
consideration of a 2 x 2 (2 input - 2 output) representation. The block diagram
representation is used to clearly illustrate system dynamics and interactions. Once a
mathematical model of the system has been developed, and the presence of
process interactions identified, the next stage of the control design procedure is to
synthesise the control law.
With multivariable systems, where loop interactions exist, configuration of two single
loop PI(D) controllers could cause system instability, or at the very least result in
poor control performance. This can be overcome by,
choosing a manipulated variable - controlled variable pairing so that system
interactions are minimised. The basic question for a 2 x 2 system is do we want
mv
1
-cv
1
, mv
2
-cv
2
(i.e. mv
1
to control cv
1
and mv
2
to control cv
2
) or the other way
round ?
the design a multivariable controller that achieves non interacting control.
Design of multivariable controllers will be considered later in the course. The next
section of the notes concentrates on a systematic technique for choosing a
manipulated variable - controlled variable pairing so that system interactions are
minimised.
9
The Relative Gain Array (RGA)
One of the most important factors, common to all process control applications, is the
correct (best) pairing of the manipulated and controlled variables. A number of
quantitative techniques are available to assist in the selection process. One of the
earliest methods proposed was the Relative Gain Array (RGA), Bristol (1966). The
original technique is based upon the open loop steady state gains of the process
and is relatively simple to interpret
2
.
Determining relative gains from process experiments
Consider the 2x2 system shown in Figure 2. Suppose mv
2
remains constant, then a
step change in mv
1
of magnitude mv
1
will produce a change cv
1
in output cv
1
.
Thus, the gain between mv
1
and cv
1
when mv
2
is kept constant is given by:
g
11
|mv
2
=

cv
mv
mv
1
1
2
(16)
If instead of keeping mv
2
constant, cv
2
is now kept constant by closing the loop
between cv
2
and mv
2
. A step change in mv
1
of magnitude mv
1
will result in another
change in cv
1
. The gain in this case is denoted by:
g
11
|y
2
=

cv
mv
cv
1
1
2
(17)
The gain relationships, equations (16) and (17) may have different values. If
interaction exists, then the change in cv
1
due to a change in mv
1
for the two cases
when mv
2
and cv
2
are kept constant, will be different.
The ratio:
11
=
g
g
mv
cv
11
11
2
2
|
|
(18)
is a dimensionless value and it defines the relative gain between the output cv
1
and
the input mv
1
.
Interpretation of the relative gain
1.
ij
= 1. There is no interaction with other control loops.
2.
ij
= 0. Manipulated input, i, has no affect on output, j.

2
As no information about the process dynamics is used a "health-warning" should be attached to the results
although in practice the interpretation is normally valid.
10
3.
ij
= 0.5. There is a high degree of interaction. The other control loops have the
same effect on the output, j, as the manipulated input, i.
4. 0.5 <
ij
< 1. There is interaction between the control loops. However, this would
be the preferable pairing as it would minimise interactions.
5.
ij
> 1. The interaction reduces the effect gain of the control loop. Higher
controller gains are required.
6.
ij
> 10. The pairing of variables with large RGA elements is undesirable. It can
indicate a system sensitive to small variations in gain and possible problems
applying model based control techniques.
7.
ij
< 0. Care must be taken with negative RGA elements. Negative off-diagonal
elements indicate that closing the loop will change the sign of the effective gain.
More importantly, negative diagonal elements can indicate integral instability i.e.
the control loop is unstable for any feedback controller.
Elements of the RGA
For the 2 x 2 process, three other relative gain elements can be defined yielding the
matrix,

3
=




11 12
21 22
11 11
11 11
1
1
,

,
]
]
]

,
]
]
]
Determining relative gains from process models
A computational method is possible if a steady-state model of the system is
available. If this model is given by:
cv
1
= g
11
mv
1
+ g
12
mv
2
cv
2
= g
21
mv
1
+ g
22
mv
2
(19)
then g
11|mv2
= (cv
1
/mv
1
)|
mv2
= g
11
(20)
Eliminating mv
2
from the steady-state relationships, Eqs. (19) and (20), results in:
cv
1
= g
11
mv
1
+ g
12
(cv
2
-g
21
mv
1
)/g
22
(21)
from which:
g
11
|
cv2
= (cv
1
/mv
1
)|
cv2
= g
11
-g
12
g
21
/g
22

3
A property of the RGA is that the rows and columns sum to 1.
11
The relative gain
11
is therefore given by:
11
=
g
g
g
g
g g
g
u
y
11
11
11
11
12 21
22
2
2
|
|

Therefore:
11
=
1
1
12 21 11 22
( ) / ( ) g g g g
(22)
A general calculation procedure for the RGA
Skogestad (1987) demonstrated that the RGA calculation can be expressed in
matrix notation, facilitating computation for systems larger than 2x2.
( ) RGA G G
T


.*
1
(23)
where, G is the process gain matrix, '.* ' represents Schur (element by element)
matrix multiplication, [.]
-1
denotes a matrix inverse and [.]
T
is the transpose operator.
The mixing example revisited: calculation of the RGA
For the mixing process the following two control schemes are possible:
Mixer
FT
FC
CT
CC
F
1
, x
1
F
2
, x
2
F , x
Mixer
CT
CC
FT
FC
F
1
, x
1
F
2
, x
2
F , x
Now that the steady-state gain matrix has been calculated, it is possible to use the
RGA to determine the "best" manipulated variable control variable pairings.
12
Calculating the RGA in Matlab
To illustrate how the RGA is calculated in Matlab, consider the steady-state gain
matrix of the mixer,
G
x x

,
]
]
]
1 1
2 10 4 10
3 3
Enter the MATLAB environment and enter the commands preceeded by the
MATLAB prompt >>. The text after the % is intended to tell you what you are doing
(and should not be typed).
% enter the steady-state gain matrix
>>g = [1 1 ; 2e-3 -4e-3]
% calculate the RGA
4
>> rga = g.*inv(g)
This should give the result,
rga =
0.6667 0.3333
0.3333 0.6667
In other words, the RGA analysis suggests f
1
should be used to control f
o
, while f
2
should be used to control c
#
Exercises
1. Simulate the following transfer function representation of a 2 x 2 process using
simulink

4
In Matlab, inv calculates the inverse of a matrix while calculates the transpose of the matrix
13
mv
1
mv
2
cv
1
cv
2
+
+
1
10 1 s +
1
20 1 s +

+
0 2
5 1
.
s
08
10 1
.
s +
a) discuss the dynamic response characteristics of cv
1
and cv
2
with respect to
changes in mv
1
and mv
2
.
b) Tune two PI(D) controllers the first to control cv
1
using mv
1
and the second to
control cv
2
using mv
2
. (use the simulink simulation environment). Make critical
comments on the functionality of the system.
Summary
Using a simple process example these notes have:
introduced the concept of systems interaction.
demonstrated how multivariable systems can be represented (modelled).
introduced the relative gain array (RGA).
shown how the RGA may be used to select loop pairings.
If the RGA indicates little interaction within the system then it may be possible to use
single loop controllers. In some situations this may not be possible in which case it
will be necessary to develop a multivariable control law. The design of multivariable
controllers will be covered in detail in later lectures.
14
Appendix: Linearisation
Given a function,
dx
dt
f x ( )
Expand f(x) using a Taylor series around x
o
,
f x f x
df
dx
x x
o x o
o
( ) ( ) ( ) ( ) + (Ignoring higher order terms)
Control system models are always expressed in terms of deviation variables. That
deviation (or difference) being the difference between the actual value and a steady-
state value. If x
ss
is the steady-state value of x, then,
dx
dt
f x
ss
ss
( ) 0
and so,
d x x
dt
df
dx
x x
ss
x ss
ss
( )
( ) ( )


or, if the deviation variable is defined as x=x-x
ss,
d x
dt
df
dx
x
x
ss
( )
( )
'
'

This concept generalises if there is more than one variable. For instance if there are
two variables we have,
f x x
df
dx
x
df
dx
x
x x x x
ss ss ss ss
( , ) ( ) ( )
, , , ,
,
'
,
'
1 2
1
1
2
2
1 2 1 2
+

You might also like