You are on page 1of 14

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

4th November, 1998


8th 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.

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.
A
B
Exothermic, first order

CAo, Fo, To

Constant Volume

TC

Tj
CC

Coolant
Effluent
F, CA, T

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
2

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 1st order plus
time-delay transfer functions.
1

Input-Output Multivariable System Models

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,

mv 1

G11(s)

cv 1
Loop 1

G21(s)
G12(s)
mv2

G22(s)

Loop 2
cv2

Fig 2 (2 x 2) Multivariable model structure

Here G11(s) is a symbol used to represent the forward path dynamics between mv1
and cv1, while G22(s) describes how cv2 responds after a change in mv2. The
interaction effects are modelled using transfer functions G21(s) and G12(s). G21(s)
describes how cv2 changes with respect to a change in mv1 while G12(s) describes
how cv1 changes with respect to a change in mv2.

For sake of simplicity during these, and subsequent discussions only (2 x 2) processes will be considered.

For the CSTR shown in figure (1) mv1 could be the coolant flowrate, while mv2 could
be the flowrate of the reactant. The output cv1 may be the reactor temperature while
the output cv2 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 p ( s) =

k p e s

ps + 1

(1)

where kp 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:
Loop 2:

cv1 = G11 mv1 + G12mv2


cv2 = G21 mv1 + G22mv2

(2)
(3)

Equations (2) and (3) may be expressed more compactly in matrix-vector notation
as:
cv = G mv
(4)
where cv = [cv1, cv2]T; mv = [mv1 mv2]T

and,

G11 G12
G=

G21 G22

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

be incorporated within the model. Incorporation of load disturbance terms in the


model representation leads to the following expression:
cv = Gmv + Gddv
G d 1

where G d =
0

0
and
G d 2

(5)

dv = dv1 ,dv 2

The block diagram representation of this system model is given by,

d1
u

Gd1(s)
G11(s)

y1
Loop 1

G21(s)
G12(s)
u2

+
+

G22(s)
d2

Loop 2
y2

Gd2(s)

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,

f2
f1
Control objective:

fo
c#
regulate fo and c# to desired levels
5

Manipulated variables:

f1 and f2

Assume that the system is a two component system. Let f1 be the flowrate (kg/hr) of
stream 1, f2 be the flowrate of stream 2 (kg/hr) while fo is the total flowrate. Also, if c1
and c2 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, fo = 100
kg/hr, c# = 60% with c1=80% and c2=20%.
3. If the dynamics of the mixed streams concentration and measurement sensors
and are characterised by the following expressions,

f om
Gm ( s) = 1 =
fo

m
e s2 c
= #
and Gm ( s) =
c
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,
fo = f1 + f2

(7)

The component balance is given by,


foc#=f1c1 + f2c2

(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 1c1 + f 2 c2
f1 + f 2

(9)

Equation (1) is linear however, equation (3) is not a linear function. To linearise the
relationship between c# and the manipulated variables, fo and f1 it is necessary to
use a 1st order Taylor series expansion of equation (9) around the steady-state
6

operating point (see the Appendix for an explanation about linearisation via the
Taylor series). The basic structure of the linear equation is:
dc #
dc #
'
f1 +
f 2'
c =
df 1 ss
df 2 ss
#'

The following partial differentials are required2


f 2 (c1 c2 )
dc #
dc # f 1 (c1 c2 )
=
and
=
df 1
df 2
( f1 + f 2 ) 2
( f1 + f 2 )2

(10)

This gives the linearised model,


'

c# = [

f 2 (c1 c2 )
f 1 (c1 c2 )
'
'
2 ] ss f 1 + [
2 ] ss f 2
( f1 + f 2 )
( f1 + f 2 )

(11)

where c# = c# - c#ss , f1 = f1 - f1ss and f2 = f2 - f2ss are deviation variables.


To calculate the steady-state conditions required by equation (12), solve the material
balance. We have two algebraic expressions,
100 = f1 + f2
0.6*100 = 0.8*f1 + 0.2*f2

(13)

Solving for f1 and f2 gives,


f1 = 662/3 kg/hr and f2 = 331/3 kg/hr
Therefore,
c# = 2x10-3f1 + (-4x10-3)f2

(14)

where c# = c# -0.6, f1 = f1 - 662/3 and f2 = f2 - 331/3

Using a block diagram to visualise this system model we have,

To do this differentiation I have used the quotient rule, i.e

d (u / v )
=
dx

du
dv
u
dx
dx
v2
7

f1

fo

fom

2 x 10-3
+

-4 x 10-3

f2

c#2

e s

cm

and this may be written as,


1
f om ( s)

=
3 s
cm ( s) 2 x10 e

1
3

4 x10 e

f 1 ( s)
f ( s)
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
mv1-cv1, mv2-cv2 (i.e. mv1 to control cv1 and mv2 to control cv2) 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.

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 interpret2.
Determining relative gains from process experiments
Consider the 2x2 system shown in Figure 2. Suppose mv2 remains constant, then a
step change in mv1 of magnitude mv1 will produce a change cv1 in output cv1.
Thus, the gain between mv1 and cv1 when mv2 is kept constant is given by:
g11|mv2 =

cv1
mv 2
mv1

(16)

If instead of keeping mv2 constant, cv2 is now kept constant by closing the loop
between cv2 and mv2. A step change in mv1 of magnitude mv1 will result in another
change in cv1. The gain in this case is denoted by:
g11|y2 =

cv1
cv 2
mv1

(17)

The gain relationships, equations (16) and (17) may have different values. If
interaction exists, then the change in cv1 due to a change in mv1 for the two cases
when mv2 and cv2 are kept constant, will be different.
The ratio: 11 =

g11 |mv2
g 11 |cv2

(18)

is a dimensionless value and it defines the relative gain between the output cv1 and
the input mv1.

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.

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,
11
3 =
21

12 11
1 11
=

22 1 11
11

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:
cv1 = g11mv1 + g12mv2
cv2 = g21mv1+ g22mv2

(19)

then g11|mv2 = (cv1/mv1)|mv2 = g11

(20)

Eliminating mv2 from the steady-state relationships, Eqs. (19) and (20), results in:
cv1 = g11mv1 + g12(cv2-g21 mv1)/g22

(21)

from which:
g11|cv2 = (cv1/mv1)|cv2 = g11-g12 g21/g22

A property of the RGA is that the rows and columns sum to 1.

10

The relative gain 11 is therefore given by: 11 =

11 =

Therefore:

g11 |u2
g11 | y2

g11
g g
g11 12 21
g 22

1
1 ( g12 g21 ) / ( g11 g22 )

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

(23)

where, G is the process gain matrix, '.* ' represents Schur (element by element)
T
matrix multiplication, [.]-1 denotes a matrix inverse and [.] is the transpose operator.
The mixing example revisited: calculation of the RGA
For the mixing process the following two control schemes are possible:

FC

FT

F1 , x1

Mixer

F,x

F2 , x2
CC
CC

CT
CT

F 1 , x1

Mixer

F,x

F 2 , x2
FC

FT

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.

11

Calculating the RGA in Matlab


To illustrate how the RGA is calculated in Matlab, consider the steady-state gain
matrix of the mixer,
1
G=
3
2 x10

3
4 x10

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 RGA4
>> 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 f1 should be used to control fo, while f2
should be used to control c#

Exercises
1. Simulate the following transfer function representation of a 2 x 2 process using
simulink

In Matlab, inv calculates the inverse of a matrix while calculates the transpose of the matrix

12

mv

1
10s + 1

cv1
+

1
20 s + 1
0.2
5s + 1
mv

0.8
10s + 1

+
cv2

a) discuss the dynamic response characteristics of cv1 and cv2 with respect to
changes in mv1 and mv2.
b) Tune two PI(D) controllers the first to control cv1 using mv1 and the second to
control cv2 using mv2. (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.

13

Appendix: Linearisation
Given a function,
dx
= f ( x)
dt
Expand f(x) using a Taylor series around xo,
f ( x) = f ( xo ) + (

df
) ( x xo )
dx xo

(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 steadystate value. If xss is the steady-state value of x, then,
dx ss
= f ( x ss ) = 0
dt
and so,
d ( x x ss )
df
= ( ) xss ( x x ss )
dt
dx
or, if the deviation variable is defined as x=x-xss,
d(x' )
df
= ( ) xss x '
dt
dx
This concept generalises if there is more than one variable. For instance if there are
two variables we have,
f ( x1 , x 2 ) = (

df
df
) x1, ss , x2 , ss x1' + (
) x1, ss , x2 , ss x 2'
dx1
dx 2

14

You might also like