Multivariable Control
Multivariable Control
Multivariable Control
And Solutions To Interaction
Note: The source of the technical material in this volume is the Professional
Engineering Development Program (PEDP) of Engineering Services.
Warning: The material contained in this document was developed for Saudi
Aramco and is intended for the exclusive use of Saudi Aramco’s
employees. Any material contained in this document which is not
already in the public domain may not be copied, reproduced, sold, given,
or disclosed to third parties, or otherwise used in whole, or in part,
without the written permission of the Vice President, Engineering
Services, Saudi Aramco.
CONTENT PAGE
m PROCESS C
MANIPULATED VARIABLE CONTROLLED VARIABLE
Single input single output process - Entire effect of the change in the manipulated variable is
sensed by the controlled variable.
In some applications however it is necessary to control more than one variable. This is
especially true in processes where the products are refined. In these processes, in addition to
the production or flow rate, we need to control various aspects of the purity of one or more
products. This type of process requires multiple inputs to, and therefore multiple outputs
from, the process.
MANIPULATED CONTROLLED
VARIABLES VARIABLES
m1 C1
m2 C2
mj Cj
mn Cn
PROCESS
Multivariable process
A change of a manipulated variable can affect several controller variables through interactive
paths.
If there are interactions between the various inputs and outputs in a multivariable process, the
possibility exists that a given input change may affect all the outputs in varying amounts.
Consider a 2 x 2 multivariable process (two inputs, two outputs) and compare it to a single
input single output loop.
A block diagram of the single loop made up of the two elements, the process and the
controller, is shown below:
r m1
CTRL k11 g11 C1
1
T
m1
C2
T
m2
PROCESS
In this process there is interaction between the two loops. Each manipulated variable affects
or interacts with both controlled variables. A representation of this process is shown in block
diagram below:
C1 LOOP 1
CTRL m1 +
r1 k11 g 11 • C1
1
+
k21 g 21
k12 g 12
+
m2 +
r2 CTRL g 22
2
k22 • C2
C2 LOOP 2
PC FC
P h
PT PdT
PIN POUT
m1 m2
This particular application involves the simultaneous control of pressure and flow in a single-
pipe line. There are two manipulated variables and two controlled variables on the pipeline
forming a 2 by 2 system. The interaction problem results from the fact that both valves affect
both the flow and the pressure to some degree. The first consideration in dealing with this
problem is to decide which valve should be assigned to control a particular variable. The
second consideration is whether a control system can be designed to cancel the interaction
that may exist between the loops.
Are there other alternatives if the interaction between the control loops cannot be minimized
or eliminated through proper loop assignment or process design? If severe interaction
persists, will it be necessary to apply a decoupling scheme?
A decoupling scheme as we will see later on, attempts to eliminate the interaction and
produce single loop control. This is accomplished through the introduction of a mathematical
expression in the control scheme that cancels out the interaction and allows each loop to
operate as an independent single loop.
r=F FC AC r=X
m1
FT AT
PRODUCT
F, X
m2
r r
FC PC
FT PT
r
r
LC
PC
LT
PT
PC AC
COOLANT
FLOW
REFLUX
FLOW LC
FEED
LC AC
BOTTOMS FLOW
²m ²C
INPUT OUTPUT
m C
∆C C
K = =
∆m m
Steady State Open Loop Gain for Multiple Loops
²m 1 = 0 m1 C1
²m 2 = 0 m2 C2
²m j mj Ci ²c i
²m n = 0 mn Cn
∆ ∂C i
K ij = C i =
∆m j
∆ mk = 0 ∂mj m
K≠j
In the multivariable process each open-loop gain is evaluated with all the other loops open
(their manipulated variables held constant).
We can see from the above relationship that there are several open loop gains for
multivariable processes. The steady state open loop gain is for a particular operating point or
load. If the loop is linear the gain value is constant. If the loop is not linear the gain varies
with the operating point.
Closed Loop Gain
m1 C1 ²c 1 = 0
m2 C2 ²c 2 = 0
²m j
mj Ci ²c i
mn Cn ²c n= 0
∆C i ∂C
Closed Loop Gain = = ∂ mi
∆m j ∆C k = 0 j C
K≠i
The closed loop gain above is also known as:
• The open loop gain with all other controlled variables held constant.
Relative Gain
Relative gain was introduced in 1966 by E. H. Bristol in a paper titled "On a New Measure of
Interaction for Multivariable Process Control." It is a measure of interaction. Relative gain is
defined as the ratio of the open loop gain and the closed loop gain, lij. It is one of the most
widely used techniques to analyze interaction problems.
∆Ci
∆mj ∆mk = 0 ∂Ci
K ≠ j ∂mj m
= =
∆Ci ∂Ci
∆m j ∆Ck = 0 ∂mj C
K ≠ i
Relative gain is a measure of steady state interaction. To determine the relative gain we need
to find both the open loop and the closed loop gain as shown by the equation. Since a
multivariable process may consist of several manipulated variables and their corresponding
controlled variables, it may be necessary to find several relative gain numbers in order to
make appropriate assignments.
There are two concerns regarding the use of relative gain analysis.
1. The relative gains as defined relate only to the steady state gains. The dynamics of the
loops work to minimize the interaction problem. This is especially true when the gains
are of different magnitude per each interacting path. Examples of dynamic interaction
effects will be discussed later in this module.
2. The analysis assumes linear equations. Any nonlinearities in the loop are sources of
error and may affect loop stability. The effects of the nonlinearities can be minimized
to some degree if the loop operating point is fixed. Also if the the same nonlinearity
appears in the numerator and the denominator their effect may cancel out.
To help with the analysis it is useful to arrange the relative-gain terms in a matrix type array
known as the relative-gain array, or RGA.
m1 m2 - - - mj --- mn ∑
C λ11 λ12
1
--- λ 1j --- λ 1 n 1.0
C 2 λ 21 λ22 --- λ 2j --- λ 2n 1.0
= - - - - - - − − - -
C i λ i1 λ i2 --- λ ij --- λ in 1.0
C n λ n1 λ n2 --- λ nj --- λ nm 1.0
Properties of RGA
The rows and columns of an RGA must sum up to unity.
Σ rows = 1.0
Σ columns = 1.0
If all of the influences for a given change of a manipulated variable are summed the total
influence on the controlled variable can not exceed 100% (unity.)
The benefit of this property is a reduction of the number of terms that have to be calculated
per given array: in a 2 x 2 system only one relative gain value must be found. In a 3 x 3
system, four relative gain terms are sufficient to produce the entire array. We calculate the
number of relative gain terms required in an array from the relationship (N-1)2 where N is the
size of the array.
To illustrate this rule let us look at the following 2 x 2 array:
m1 m2
C1 11 12
C2 21
22
Since the relative gains of the rows and columns must add up to one, calculation of one
relative gain is sufficient to determine the entire RGA.
m1 m2
C1 11 (1− 11)
C2 (1− 11) 11
The ranges and spans of the variables are not a factor in the analysis. The RGA is
independent of scaling and is a dimensionless number since the numerator and the
denominator have the same units.
• Matrix method
The following application examples demonstrate the various methods:
Process Test Method
The process test method can be applied to an existing process in a plant in the following
manner.
Examine the following 2 x 2 process in a particular plant. Our objective is to find out how the
two manipulated variables affect the two controlled variables.
C1
m1
T
+
k11 •
+
k21
C2
m2 k12
+ T
+
k22 •
The two inputs to this process are m1 and m2 and the two outputs are C1 and C2. We do not
require closed-loop control to perform the test. Manipulate the valves and see how the
measurements react in order to determine the RGA:
m1 m2
C1 11 12
C2 21
22
RGA:
We can write the relative gain terms for this 2 x 2 system as follows:
∆C1 ∆C2
∆m1 m2 = k ∆m1 m2 = k
11 = 21 =
∆C1 ∆C2
∆m1 C2 = k ∆m1 C1 = k
∆C1 ∆C2
∆m2 m1 = k ∆m2 m1 = k
12 = 22 =
∆C1 ∆C2
∆m2 C2 = k ∆m2 C1 = k
The determination of one of these l's is sufficient for the determination of the entire RGA
since the array for a 2 x 2 system may be written as follows:
m1 m2
C1 λ11 (1-λ11 )
C 2 (1-λ11 ) λ11
∆C
Open Loop Gain = ∆ m1
1
m2 = Constant
Note: A change in m1 because of interaction causes a change in C2. If the
change in m1 did not affect C2, there is no interaction between the loops:
11 = 1 and 22 = 1 and the loops are isolated from each other.
2. Change m2 to bring C2 back to its initial value prior to the change in m1.
This allows you to calculate the closed loop gain, or the denominator.
∆C
Closed Loop Gain = ∆ m1
1
C 2 = Constant
λ11 will be the ratio of these two gains and a measure of the interaction.
2. Change m2 to bring C2 back to where it was prior to test Step 1 (C2 = Constant).
²m 1 ²m 1
m1
²c 1 ²c 1
C1
C2
m2
A 2 x 2 process is not only the most common interaction problem, it is also comparatively the
simplest to solve, unless the relative gain is in the 0.5 region where decoupling is required.
The complexity of the plant test increases in higher order systems. Consider a test conducted
in a 3 x 3 system. We require (N-1)2 or 4λ's in this case and a lot of time and effort is
required to analyze the process.
r=F r=X
FC CC
m1
X
FT CT
m2 PRODUCT
Y F, X
F λ11 λ12
X λ21 λ22
Where:
λ11 = λFm1 , i.e Control of flow, F, using m1 as the manipulated variable
λ12 = λFm2 , i.e Control of flow, F, using m2 as the manipulated variable
λ21 = λXm1 , i.e Control of composition, x, using m1 as the manipulated variable
λ22 = λXm2 , i.e Control of composition, x, using m2 as the manipulated variable
Since this RGA is 2 x 2 we need to find only one relative gain number to determine the entire
array.
As defined:
Open Loop Gain (∂F / ∂m1)m2 = Constant (∂F / ∂m1)m2
= λFm1 =
Closed Loop Gain (∂F / ∂m1)x = Constant = (∂F / ∂m1)x
The open loop gain of λ can be found by differentiating the overall mass balance equation.
F = m1 + m2
ŽF
=1
Žm1 m2 = Constant
The results show that if we change m1, while m2 is constant, the flow, F, changes the same
amount as the change in m1.
The closed loop gain of λ can be found by differentiating the component mass balance
equation.
m1
x=
m1 + m2
(m1 + m2)x = m1
m1
m1 + m2 =
x
or
m1
F=
x
ŽF
= 1
Žm1 x = Constant x
The results show that if we change m1, keeping the composition, x, constant, the flow will
1
change by a factor of .
x
Solving for the relative gain λ11:
_F/_m1) m2 = Constant
λ11 = λFm1 = (
( _F/_m1) x = Constant
1
l11 = =x
1/x
F x 1-x
X 1-x x
The entire array is easily established by calculating one of the λ's, (λ11 in this case.) The
model could have been solved by calculating any of the other l's in the array.
( _F/_m2) m1 = K
i.e.: λ12 = λFm2 =
( _F/_m2) x = K
_x/_m1) m2 = K
λ21 = λxm1 = (
( _x/_m1) F = K
_x/_m2) m1 = K
λ22 = λxm2 = (
( _x/_m2) F = K
Now that we have determined the RGA, what do we do with the information? The numbers
in the array will help us connect the loops in order to minimize interaction.
Connectivity Rule. When pairing variables first consider positive λ's as close to 1 as possible.
To apply the connectivity rule let us look at the following three RGA's for the blending
example.
Case 1 - Suppose the value of λ11 = 0.7:
m1 m2
F 0.7 0.3
=
X 0.3 0.7
This means the flow, F, should be controlled with m1 and the composition, x, should be
controlled by m2.
m1 FC CC
X
r
FT CT
m2
Y F, X
F 0.2 0.8
=
X 0.8 0.2
Selecting relative gains as close to 1 as possible in this case the flow, F, is controlled with m2
and the composition x is controlled with m1.
m1 CC FC
X
r
CT FT
Y F, X
m2
F 0.5 0.5
=
X 0.5 0.5
In this case either pairing is equally poor as either m1 or m2 has the same effect on F or X.
Case 3 produced the maximum interaction according to relative gain analysis.
Solutions to severe interaction problems such as seen in Case 3 are available and will be
discussed later. Solutions involve:
It is possible to evaluate the relative gain from a set of open-loop gains with all the loops
open. Consider the block diagram for the following 2 x 2 process:
CTR C1
m1 T
+
k11 • C1
k21 +
k12 +
+
k22 • C2
CTR C2
If we ignore the dynamic gains, the process equations can be written as follows:
C1 = K11 m1 + K12 m2
C2 = K21 m1 + K22 m2
As defined already:
ŽC1
Open Loop Gain Žm1 m2 = K
λ11 = =
Closed Loop Gain
ŽC1
Žm1 C2 = K
So the steady state open loop gain or the numerator of λ11 is:
ŽC1
= K11
Žm1 m2
The closed loop gain or the denominator of λ11 can be found as follows:
C2 = K21 m1 + K22 m2
C2 - K21 m1
m2 =
K22
Substituting the m2 relationship we get:
C2 - K21 m1
C1 = K11 m1 + K12
K22
We can now find the closed loop gain as follows:
ŽC1
Žm1 C2
- K21 _m1 K22
∂C1 = K11 ∂m1 + K12
2
K22
K21 _m1
∂C1 = ∂m1 K11 - K12
K22
or
1
l11 =
K21 K12
1-
K11 K22
The equation shows that the relative gain can be calculated, strictly from the open loop gain
K11, K12, K21 and K22.
This equation also allows a prediction of the range of l11 based on the signs of the open loop
gains. If the K terms have an odd number of positive signs, then l must fall between 0 and 1.
λ11 < 0
or
λ11 > 1
[C]
Also: [m] = = [K-1][C]
[K]
= [K][K-1 ]T = [K][H]
X =
Note: For a 2 x 2 system the matrix approach does not provide a big benefit since we
already have an expression of l from the open loop gains.
3 x 3 systems
Beyond 2 x 2 systems the relative gain analysis becomes more complicated. The matrix
approach has distinct advantages and can be used for 3 x 3 systems, and beyond, more
effectively.
To evaluate a 3 x 3 system by the matrix approach we need to get the open loop gains by
testing the process.
A summary of the procedure is given below. (Work Aid # 1, Procedure for Relative Gain
Analysis - Matrix Method has more detailed procedure information.)
Summary of 3 x 3 matrix method:
1. Arrange the terms of the open loop gain in matrix form as follows:
4. Determine the relative gains l's by multiplying each element in the matrix by its
corresponding (K-1)T term.
• Understand the role that dynamic gains can play in interacting control loops and use
this knowledge to design processes less prone to interaction.
• Tuning can be used to minimize interaction. Much like the process, the controller has
built-in dynamic and steady state gain adjustments (PID). These can be used in some
cases to minimize the problem.
Loop Assignments
Assign the control loops according to the connectivity rule: Pair loops so that lij is positive
and as close to one as possible.
The following table is designed to show the various possible values (and their significance)
for a particular relative gain.
SIGNIFICANCE OF THE RELATIVE GAIN NUMBER, l
1. λ = 1. Open loop gain = Closed loop gain. Either no interaction with other loops, or
else interactive effects cancel out. This is a good number to have. Loops with this
connection should have no problem.
2. λ = 0. This happens when the open loop gain = 0. Control of this loop depends on
other loops. This loop cannot be controlled if all other loops are open. (It may be
controlled due to dynamic coupling, if other loops are closed.) Avoid making this
connection.
3. 0 < λ < 1. There is interaction with other loops. Interaction extends period and raises
gain. Severity depends on actual gain of λij, the worst case being 0.5. At around 0.5,
decoupling is recommended unless the dynamics of the two loops minimize the
problem.
4. λ > 1. Open loop gain > closed loop gain. When other loops are closed, they partially
offset control action of this loop.
5. λ < 0. Open loop gain is opposite in sign to closed loop gain. If mj is used to control
Ci, controller action would have to be reversed when other loops are placed in auto.
6. λ >> 1. Closed loop gain approaching 0. Loops are completely dependent. This loop
cannot be controlled if other loops are on control.
1
λ11 =
K21 K12
1-
K11 K22
We see that λ11 falls between 0 and 1 when the K terms have an odd number of positive
signs.
If on the other hand the K terms have an even number of positive signs λ falls outside the 0 to
1 range.
PC FC
P h
PT FT
PIN POUT
m1 m2
LOOP 1
+ -
m1 p +
r=P • k11 = + •
+
Ι / D CONTROLLER
(-) k21 = +
k12 = -
+
+ m2 h
r=h • k22 = + •
- +
Ι / D CONTROLLER LOOP 2
(-)
All three loops, the two individual and one interacting loop, have an odd number of reverse
acting (-) elements and thus satisfy the requirement for negative feedback. The amount of
interaction will depend on the magnitude of the relative gains.
1
λ11 =
K12 K21
1-
K11 K22
1
=
(-)(+)
1-
(+)(+)
λ11 must be between 0 and 1.
Example of Process with λ Outside the 0 to 1 Range
The process in this example consists of parallel streams from a single source.
FT
m1
F1
FT
m2
F2
F2 = -K21 m1 + K22 m2
-
m1 F1 +
r = F1 • k11 + •
+ +
Ι / D CONTROLLER
(-) k21 -
Ι / D CONTROLLER k12 -
(-)
+ F2 +
r = F2 • k22 + •
m 2 +
-
C2
Individually each loop forms a negative feedback loop (odd number of positive elements.)
The third feedback loop in the interacting path, however, forms a positive feedback loop due
to an even number of positive signs.
1 1
λ11 = = >1
K12 K21 (-)(-)
1- 1-
K11 K22 (+)(+)
This implies that in a 2 x 2 process λ12 will be a negative number to complement for
λ11 being > 1.
Where the two interacting loops are identical λ11 will usually fall in a range of 1 to 2.
1 < λ11 < 2
To summarize all the λ possibilities we can state:
1. If all the steady state gains have an odd number of positive signs as in the example for
simultaneous control of pressure and flow, λ will fall between 0 and 1:
0<λ<1
2. If all the steady state gains have an even number of positive signs λ will be either
greater than 1 or a negative number as seen in the parallel stream from a single source
example:
λ>1
or
λ<0
Dynamic Considerations in Interacting Loops
The relative gain analysis that we have applied so far is strictly from the steady state point of
view. The assumption was made that all the dynamic gains had equal magnitudes and
effectively canceled each other. It is unlikely that in a given 2 x 2 system, all four dynamic
gain vectors, g11, g12, g22, g21 will have the same values and therefore no interaction factor.
The dynamic gains have to be considered for interaction possibilities. The interaction
concerns are further complicated beyond the 2 x 2 systems, making loop assignments more
difficult.
The dynamic gain of a process as you recall from PCI 102.3 depends on the process
characteristics of dead time and capacity. The dead time ideally has a fixed gain value of one
while the gain of the capacity element varies with to/2pt. The dynamic gain of a controller as
discussed in PCI 102.4 is primarily a function of the integral and derivative gain adjustments.
The effect of dynamic gains on interaction was illustrated in the Blending System Example.
r= F FC AC r= X
m1
FT AT
PRODUCT
F, X
m2
Tuning
Tuning adjustments affect the speed of response of a loop. It is possible to make the loops
less interactive by tuning each loop to a different criterion. The objective here is to minimize
an existing interaction problem as much as possible with dynamic tuning adjustments. This
approach, although commonly practiced, is rarely an ideal solution and is effective only in
limited cases. Generally, dynamic tuning adjustments are effective in those cases where the
interaction was not very serious to start with. I. e., interaction between two loops of different
dynamic gains and speeds of response. The approach taken to make the loops less interactive,
is to exaggerate the existing difference in loop responses, by detuning the slower loop. This is
done by decreasing the dynamic gain of the slower loop, through its integral and derivative
adjustments. The advantage of this approach is the relative ease with which it provides a
quick solution to an existing interaction problem by making it less severe. One disadvantage
is that it is successful in only those cases where the interaction was relatively mild to start
with. A second disadvantage is that the detuning of the slower loop is a compromise and may
not always be acceptable, since it decreases its performance. If the loops have similar
dynamic gains and the relative gains show severe interaction possibility, detuning one of the
loops would not, in most cases, break the interaction. If the loops are extremely different
dynamically to start with, it may not be necessary to detune the slower loop since most likely
the dynamics do not allow interaction between these loops. Generally it is not necessary to
decouple a fast loop from a slow loop. Even when the steady state gain analysis shows strong
interaction possibility because of dynamic differences
(g12 ≠ g21) a fast loop will not upset a slow loop.
Designing the Process to Minimize Interaction
In some cases it is possible to design the process in such a way that the dynamic gains of the
loops' interacting paths are significantly different. In these cases the interaction potential as
calculated through the relative gain analysis (steady state gains) may be canceled
dynamically.
Since the dynamic gain of the process is a function of to/2pt, the process can be designed so
that one of the loops has a relatively large capacity compared to the other. Process design,
with the correct dynamic difference potentially eliminates the interaction problem.
Look at the Blending System Example. We see how the process can be redesigned and
dynamics can reduce the interaction problem. An analysis of this process shows a significant
difference between the two dynamic gains g12 and g21 effectively breaking the interaction
problem at any relative gain value.
FC r
FT
CC r
CT
The dynamic response of the two loops now are significantly different. The large capacity of
the composition loop makes the composition loop much slower than the small capacity, fast-
flow loop. Even if the relative gain numbers are unfavorable (≈ 0.5) the dynamic gains
eliminate the interaction since slow loops can not upset fast loops.
Definition of Decoupling
We have seen that it is possible to minimize interaction through relative gain analysis and
proper connection of the manipulated variable to the controlled variable by application of the
connectivity rule for minimum interaction. We also have seen that in some cases the dynamic
gain of the controller can be adjusted by detuning the slower loop and dynamically breaking,
or minimizing, the interaction. A third alternative used process dynamics to design the
process so that the dynamic gain of the interactive paths canceled the steady state interaction.
What happens when the steady state interactions are large and the dynamic gains of the
interactive paths can not be used to break the interaction? When both loops approximate the
same dynamic and steady state gains the resulting interaction can be very severe and in some
cases drive the loop to instability. In these situations it is necessary to apply decoupling.
Decoupler A decoupler is a device (calculation) that is added to the control scheme to
eliminate the interaction between the manipulated and controlled variables in a multivariable
process. In effect a perfect decoupler produces single-loop control.
Decoupling Examples
r= F FC AC r= X
m1
FT AT
PRODUCT
F, X
m2
F l12 m2
m1 = -
l11 l11
λ12 m2 λ m λ m
If we add to the above expression, we get m1 = F _ 12 2 + 12 2 .
λ11 λ11 λ11 λ11
and
x λ m
m2 = - 21 1
λ22 λ 22
To eliminate interaction we would like to have the entire effect of changing m2 on x so that:
x = m2 l22
or
x
m2 =
λ22
λ21 m1 λ m λ m
If we add to the above expression, we get m2 = x _ 21 1 + 21 1 .
λ22 λ22 λ22 λ22
Adding the decoupler to the control scheme eliminates the interaction between the loops.
–
m'1 m1
r FC • λ 11 • F
+ + +
– +
λ 12 λ 21
λ 11
λ 21
λ 22 λ 12
– +
+ m2' m2
r CC • λ 22 • X
+ +
–
F = λ11 m'1
x = m'1 λ22
As we can see the decouplers effectively produce another variable which is free of interaction.
There are various problems in applying a full decoupler as shown in the example. The
problems in applying decouplers can be summarized as follows:
• The decoupling network loses its effectiveness if process conditions change.
• The decoupler gain should have adaptive capabilities if the process is time-variant.
The risks involved in full decoupling are considerable. An inaccurate decoupler can degrade
control and cause potential instability. Decoupler errors can increase as process conditions
change and create serious control problems.
Avoid full decoupling systems except as a last choice.
Partial Decoupling
Interaction can be minimized or eliminated by a partial decoupling technique. Effectively,
only one of the interactive paths is eliminated in this approach. The question to be addressed
in implementing a partial decoupler is to choose which path to decouple in a 2 x 2 system.
The decision depends on factors such as:
• Speed of loops. Since slow loops can not upset fast loops decouple the effects of the
fast loop from the slow loop.
• For loops with similar response speed decouple the more important loop.
Example of Partial Decoupling - Blending System
–
•
m2
+ m1 + m2
m1
FC AC
m1
FT AT
F F, X
m2
Partial decoupling is used much more frequently than full decoupling in order to minimize
interaction problems.
The advantages can be summarized as follows:
• Ease of implementation.
Introduction To DMC
Definition Of DMC
The letters D-M-C stand for Dynamic Matrix Control. Dynamic Matrix Control is a modern
control technology that is used to solve the larger multivariable control problems that we
encounter in refineries, gas plants, and other hydrocarbon processing plants. DMC control
technology is composed of the following component parts:
- A De-coupling Controller
Each of these component parts will be discussed in more detail in later sections of this
module.
Historical Perspective
Multivariable control is a problem that has been looking for a good solution for many years.
Interactions between major control variables and their corresponding manipulated variables
have been studied and modeled. Solutions to the multivariable control problem have been
approached in piecemeal fashion. The appropriate hardware (computer and instrument
systems) to deal with these complex control problems effectively has only become widely
available to control engineers in the last ten to fifteen years. Prior to the advent of flexible,
powerful computer and instrument systems, the approach to designing control systems for
multivariable processes was as follows:
• Try to tune the interacting loops so that the interactions are less of a problem.
Typically, tune one loop tightly and the other(s) loosely. This approach often results
in poor control on one or more of the interacting loops. This technique is applicable
only to very small multivariable problems.
• Design and install de-couplers to minimize the effect of interactions on the controlled
variables. This approach also is practically feasible only for very small multivariable
control problems.
Neither of these approaches deals effectively with the many process constraints that occur in
most multivariable processes, nor do they help push the process to its constraints, nor do they
help determine the optimum operating conditions for the equipment being controlled. Also,
many of today's multivariable control problems have so many variables that neither of the two
above approaches is practical in the field.
Today, these approximate solutions to the multivariable control problem can be improved
upon significantly by utilizing DMC technology where warranted. Technical publications
describing DMC began appearing in the control literature in the early 1970's. Today, these
techniques have been applied widely to solve some of the petroleum industry's toughest
multivariable control problems.
Why Is DMC An Attractive Alternative?
Most of the DMC control packages available commercially have the following general
characteristics and features, which tend to provide the user with a control system that is
significantly superior to the classical approaches to multivariable control:
• They all address the large multivariable control problems found in industry.
• They encourage thorough plant tests and therefore a good dynamic model results.
DMC is offered by a number of control software vendors. The license costs are similar, and
are normally available for a single application, for a complete site, or for all facilities owned
by a company. This section will identify a few of the DMC software packages available on
the market today.
DMCC Version
The version of DMC technology to be described in this module is the version sold
commercially by Dynamic Matrix Control Company (DMCC). This DMC version is among
the oldest and most thoroughly proven implementations available today. It was developed by
the inventor of DMC, Dr. Charles Cutler of Houston, Texas. It has been applied many
hundreds of times, and today is virtually free of bugs. It has been applied successfully to the
full spectrum of multivariable control problems, from the very small 2x2 multivariable control
problems, to the very large problems having 20 or more manipulated variables and 40 or more
control variables. DMCC's version of DMC can be run on most of the upper-level processors
that can be attached to modern Distributed Control Systems (DCS's), such as the DEC VAX
or Hewlett Packard (HP) computers. DMC has also been implemented on Honeywell PMX
control computers. One of the strong points of DMCC's version of DMC is the model
identification utility software known as Dynamic Matrix Identification (DMI). The DMI
software is considered by many advanced control practitioners to be the best multivariable
model identification tool on the market today.
Honeywell Version
This version of DMC, called Horizon Multivariable Predictive Controller (HMPC) is of
particular interest to users of Honeywell TDC-3000 since it was designed to run on
Application Modules (AM's) that are directly connected to the Local Control Network (LCN)
of Honeywell's DCS. This arrangement makes it unnecessary to purchase, install and
maintain a higher level processor (such as the DEC VAX) in order to perform multivariable
control. Also, the AM can easily be made fully redundant, so that reliability can be increased
through the avenue of redundant hardware. HMPC is based upon mathematics that are
similar to that in DMCC's version, but implementation details differ.
IDCOM Version
Another version of DMC, called IDCOM by its developers, has achieved some degree of
success in the marketplace, and is offered by several control software vendors. This version
of DMC utilizes a slightly different approach to the mathematics of plant representation and
control. For reasons not to be discussed here, it has not developed the following that DMCC's
commercial product has developed, and therefore will not be described in detail.
Other Versions Of DMC
There are many other versions of DMC available commercially. The mathematics of DMC
are so simple that many people have developed their own versions. This is an exercise often
attempted by graduate students as part of their thesis work in multivariable control. These
little known versions should be avoided until they command a significant share of the market,
because the process of bringing a new control software to maturity will take several years.
Only proven, mature control software should be used for on line control purposes.
DMC Theory
RESPONSE VARIABLE
X
∆y ∆y
θ τ
ΚSS = ∆ y/∆X
∆X INPUT, FORCING, OR
∆X
INDEPENDENT VARIABLE
0 TIME
WHERE:
θ = DEAD TIME
τ = TIME CONSTANT
ΚSS = STEADY STATE GAIN
The response curve shows no reaction until the dead time has been exceeded, and then the
response approaches its steady state value in an exponential manner as shown in Figure 1,
above. This response curve is a model of a first order process with dead time. The process
can be described by three model parameters; dead time, time constant, and steady state gain.
From these three model parameters, the value of the response of the process can be calculated
at any time in the future if the step change in input is known. Also, from a knowledge of this
three parameter model, a good single input, single output (SISO) PID control system can be
designed.
Another important term will be defined using Figure 1. This term is the Time To Steady State
(TTSS). The TTSS is defined to be the time required for the process to settle out completely
after a step change to its input. TTSS can be estimated for first order processes using the
following equation:
TTSS = θ + (3 * τ )
where: = process dead time
= process time constant
Now consider the following response curve in Figure 2 below:
12
10
Y, MOLE PERCENT
8
RESPONSE TO UNIT
STEP CHANGE
6
4
RESPONSE TO STEP
CHANGE OF 0.5
2
0
0 1 2 3 4 5
TIME, MINUTES
This response curve also is the result of a step change in the input to the process. This
response curve is not continuous, but rather is described by a series of five points. The
numerical values of these points is shown below:
Time Delta Mole Percent
1 1.5
2 5.0
3 8.3
4 9.5
5 10.0
Future values of the process output can be calculated from the above numbers, as will be
demonstrated momentarily. Therefore, this series of numbers can be viewed as a five-
parameter model. The extension to ten, fifteen, thirty, or even 100 parameters (or points) can
be visualized. The obvious advantage of such numerical models is that there is no restriction
on the shape of the response curve. It could be a well-behaved first order response like those
shown in Figures 1 and 2 above, or the response could be of a more complex shape, as shown
in Figure 3:
+3
+2
+1
ΚSS
0
–1
–2
–3
TIME,
Figure 3 shows a shape that is encountered often on complex processes, especially when
feedback control loops are included inside the process model. The response curve in Figure 3
was taken from a distillation process. It represents the response of reflux flow to a step
increase in overhead pressure, where the top tray temperature was on control by manipulation
of the reflux flow. Figure 3 is a 20-parameter model.
Step Changes To The Discrete Model
In this section, refer to Figure 2, and to the five-parameter model that was derived from
Figure 2. Consider the response that would result if a step change (Dx) of magnitude +1.0
were applied to the five-parameter process model:
Dy1 = 1.5 * 1.0 = 1.5
Dy2 = 5.0 * 1.0 = 5.0
Dy3 = 8.3 * 1.0 = 8.3
Dy4 = 9.5 * 1.0 = 9.5
Dy5 = 10.0 * 1.0 = 10.0
See the top curve of Figure 2 for this response curve. If the step change were of magnitude
+0.5, the response would be as follows:
Dy1 = 1.5 * 0.5 = 0.75
Dy2 = 5.0 * 0.5 = 2.50
Dy3 = 8.3 * 0.5 = 4.15
Dy4 = 9.5 * 0.5 = 4.75
Dy5 = 10.0 * 0.5 = 5.00
This response curve is shown in the bottom curve of Figure 2. This response is algebraically
one half of the top response curve in that figure. This result demonstrates the linearity of this
modeling technique. In general, the response equations can be written as follows for an "n"
parameter numerical model, where the disturbance step is given by Dx at time equals zero:
Dy1 = a1 * Dx
Dy2 = a2 * Dx
Dy3 = a3 * Dx
Dy4 = a4 * Dx
Dy5 = a5 * Dx
Dyn = an * Dx
To further demonstrate the forward calculation capabilities afforded by this kind of numerical
model, consider the case in which two step changes are applied to the above model; the first
of size Dx = +1.0 at time equals zero, and the second of size Dx = -0.5 at time equals 1
interval.
At time interval 0 Dy1 = 1.5 * 1.0 = 1.50
At time interval 1 Dy2 = 5.0 * 1.0 + 1.5 * -0.5 = 4.25
At time interval 2 Dy3 = 8.3 * 1.0 + 5.0 * -0.5 = 5.80
At time interval 3 Dy4 = 9.5 * 1.0 + 8.3 * -0.5 = 5.35
At time interval 4 Dy5 = 10.0 * 1.0 + 9.5 * -0.5 = 5.25
At time interval 5 Dy6 = 10.0 * 1.0 + 10.0 * -0.5 = 5.00
At time interval 6 Dy7 = 10.0 * 1.0 + 10.0 * -0.5 = 5.00
Dx = +1.0 at time = 0.0 Dx = -0.5 at time = 1.0
This combined response, which demonstrates the additive nature of multiple changes in the
input Dx, can be shown graphically in the Figure 4 below. Notice that the steady state value
of the combined response is 5.0.
10
8 RESPONSE TO STEP
CHANGE OF
6 +1.0 AT TIME = 0
4
COMBINED RESPONSE
2
(SUM OF THE OTHER TWO CURVES)
0
-2
-4
-6 RESPONSE TO STEP
CHANGE OF - 0.5 AT TIME = 1
-8
-10
0 1 2 3 4 5 6
TIME, MINUTES
∆ y1 a1 0 0 ----- 0 ∆ X1
∆ y2 a2 a1 0 ----- 0 ∆ X2
∆ y3 a3 a2 a1 ----- 0 ∆ X3
l l l l ----- 0 ∆ X4
l l l l ----- 0 l
l an a n-1 a n-2 ----- a1 l
l = an an a n-1 ----- a2 * l
l an a n-1 an ----- a3 l
l l l l ----- l l
l l l l ----- l l
l an l l ----- l l
l an an l ----- l l
∆ ym an an an ----- an ∆ Xn
PREDICTED
RESPONSE
SETPOINT
DESIRED RESPONSE
FROM CONTROLLER
If we deal only with perturbation variables and let the set point be zero, the above equation
can be written in vector-matrix notation as follows:
e = A Dx
Keep in mind that the matrix A represents a set of step responses, as was shown in Figure 5
above. Now the task becomes one of simply solving for the Dx vector, which is the sequence
of future control moves of variable x that will produce the totally compensating response
shown in Figure 6 above. The solution is as follows:
ATe = ATA Dx
(ATA)-1 AT e = (ATA)-1(ATA) Dx
(ATA)-1 AT e = Dx
The right hand side vector, Dx, is the vector, or set, of best controller moves for n control
intervals into the future. The matrix A is the dynamic matrix for the process, which we
already know. Also, keep in mind that this solution is for the one independent variable case;
extensions to many independent variables is beyond the scope of this training module.
How The DMC Controller Algorithm/Optimizer Functions
The DMCC's DMC is normally implemented on an upper level processor, such as a DEC
VAX. The DMC program is a FORTRAN source program that is custom-configured by the
user as he chooses options during the controller implementation phase of installation. When
all configuration choices have been made (such as defining tag names, etc.), the FORTRAN
program is fully defined and its working version is generated by the utility. The user actually
does not have to understand or write any FORTRAN code. This FORTRAN program is then
compiled and begins executing on command from the user. In simple terms, the actual
operation of the controller algorithm with its accompanying optimizing LP can be described
as follows:
• Read all current PV's and validate them versus user-set validation limits and system
good/bad PV indicators. User-set validation limits are set through the DCS tags, and
are changeable by the user or by DCS programs.
• Set all y0 equal to y measured. This is the model-correcting feed back step, that
corrects future predictions to compensate for any error in the individual response
curves.
• Execute the LP to calculate the optimum set points which are sent to the DMC
controller module..
• Calculate control outputs. All control calculations are done by the FORTRAN
program. No FORTRAN code, equations or algorithms need be written by the user.
All necessary code is delivered with the DMC license.
• Calculate manipulated variable trajectories for user plots of future predicted moves.
This allows the operator to see where the DMC controller is planning to move his
manipulated variables during the next the time to steady state (TTSS) window, such as
30 minutes, one hour, two hours, etc.
• Calculate control variable trajectories for user plots of future process responses. This
allows the operator to see where the DMC controller is predicting that the PV's of the
control problem, the "controlled variables" will go during the next time to steady state
window. This display usually gives the operator confidence that the controller "knows
what it is doing". See Figure 7 below for an example of this prediction into the future.
410
390
380
FINAL GOAL
370 388°F
360
350
-2 -1 0 1 2
PAST HISTORY, HOURS CURRENT TIME FUTURE TIME, HOURS
• Update all controller performance indicators for user monitoring. These values are
stored into the DCS and allow the user to determine, for example, which manipulated
and controlled variables are at constraints.
• Apply only the first control move (x1) to the manipulated variables. This store of set
points to the manipulated tags can be either automatic (usually the case), or it can be
forced to go through user-written validation logic prior to storing the set points. Only
the first control move is actually implemented. The remaining moves are tested during
the controller calculations to ensure that constraints are not violated.
• Wait until next control interval. The FORTRAN controller program then goes into a
"hibernate" mode on the VAX (or similar state on other computing platforms) until
time to run again. Normally controllers will run every one to five minutes.
These steps will be discussed in detail in the next paragraphs in this section.
• Anyone who is concerned with scheduling, plant throughput, etc., such as OSPAS.
This introductory meeting will last about a day. During this time, a brief introduction to DMC
is presented. Areas of potential benefit to Saudi Aramco are discussed, and possible impacts
on the operation of the plant are outlined. The total duration of the plant test is predicted by
the control engineer. Once these items are discussed and agreed to by all present, a detailed
discussion of the operation of the plant begins. All normal operating modes, special kinds of
operations, and especially constraints on the operations are discussed in great detail. All
variables that could possibly impact control or operation of the plant should be included in the
plant test. Any special instrumentation problems are noted and discussed, and any special
laboratory work is identified at this time. Normally, the operations department will assign an
experienced process operator or supervisor to be a permanent part of the testing and
implementation team for the duration of the entire DMC implementation effort, which could
last from two to eight weeks, depending upon the size and complexity of the plant and the
planned controller. This person will be operations' "owner" and champion of the new DMC
application. His power of persuasion and his close ties with his fellow workers at the console
will greatly facilitate "selling" this application to operations.
The Pre-Test
The plant test is normally conducted in two parts; a preliminary plant test, and the full plant
test. The full plant test will be discussed later. The preliminary plant test will last for two to
four days. The purpose of the preliminary plant test is to identify any excessively noisy
signals and filter them properly, to identify any tuning problems on control loops at the
regulatory level, and to identify any problems with valves and/or transmitters that should be
repaired prior to conducting the full plant test. Depending upon the scope of tuning and/or
valve and transmitter repairs, it may be necessary to bring the team back together to plan
solutions to these problems as a group. Typically, numerous problems are identified and must
be repaired. A week or more may be required to bring tuning and other factors up to an
acceptable level of performance. Another benefit of the preliminary plant test is that the
proposed move size for the manipulated variables can be tested to make sure that they are
large enough to generate significant (above the noise level) responses in the dependent
variables.
The pre-test gives an excellent opportunity to ensure that the data collector software is
working flawlessly. Test it by collecting data for several hours and then dump the data to
diskettes to check for correctness, etc. Collect data at least once per minute, snapshot data
only; no averages. Collect data every 15 seconds if possible. Actual data collection
frequency required depends on the process and its dynamics. Be prepared to collect data for
up to a week at a time without interruption. Often, 10,000 to 20,000 individual data values
for each tag may be used in model identification. The data collector may be a separate DCS
function from the historical data collection facility. Unless you know beyond a shadow of a
doubt that the historical data are snapshots and not averages, and you prove to yourself that
you can access and dump the data to a floppy disk at any time, do not rely on the historical
data collector.
Collect data on every tag that could in any way affect the process. Be sure to include ambient
temperature, cooling tower water temperature, fuel gas quality, steam pressure and
temperature, and the positions of all valves on the process. Collect data on the set points
(SP's) of the manipulated variable tags.
The full plant test is conducted on a 24 hours per day basis, and may last for several days, and
perhaps as much as two weeks. Coverage of the full plant test on a around the clock basis by
technical personnel should be arranged during the planning phase of the test. The actual
duration of the full plant test depends upon two factors; the time to steady state (TTSS), and
the number of independent variables (manipulated plus feed forward variables) involved. The
guidelines for good results generally require that each manipulated and feed forward variable
be moved about 20 times during the test. The moves should be large enough to cause
responses in the dependent variables to be at least five times the normal noise level. Moves of
various time duration are desirable, for example, some moves at a duration of one half TTSS,
some moves at a duration equal to the TTSS, and some moves of twice the TTSS in duration.
Normal practice is to make a move on only one manipulated variable at a time. A move
consists of, for example, a step in the upward direction, then after the proper time has passed,
a move in the downward direction of the same magnitude is made. Then the next variable is
moved. The sequence of variables to be moved should be somewhat random in order.
Variables may have to be moved in a single step (or a series of small steps) in a single
direction to keep the process under control. The movement rules are somewhat flexible, but
the user should not stray too far afield here, in order to guarantee a good model. The
minimum length of the entire test therefore can be estimated from the following equation:
Test period = 20 * TTSS * (Number of Manipulated Variables)
Any delays caused by equipment or other problems will add to the minimum time for the test.
During the plant test, it is a very good idea to begin running the DMI software on all data that
has been accumulated up to that time in the test. The purpose of this is to allow the test team
to revise its estimate of TTSS if necessary, to enhance the latter phases of the test period, and
to allow visual inspection to help determine when enough data have been collected for a good
model. Also, important interactions that are expected to make themselves known are
checked. If any are missing in the response curves, the affected variables can be re-tested to
insure that the appropriate interactions are clearly defined in the model. And finally, if the
size of the moves is insufficient to generate significant responses in the dependent variables,
this will become evident at this time, and the move size can be increased as necessary.
3. Process must have interactions between the major control and/or constraint variables
Examples
P T
100 105 L
102
T
101 CW
L
100
REFLUX DRUM
P
101 F
102 F A
101 101
T F T
100 100 102
C 3 PRODUCT
P T
102 103
F
103
L
101
STEAM
F A
104 102
C 4 PRODUCT
This distillation column separates a binary mixture of propane and butane. The operating
objectives of this column are as follows:
• Produce both butane and propane products on specification if possible. If one
specification must be sacrificed to meet throughput demands, sacrifice the propane
spec.
6. Bottoms product rate must not exceed X B/D due to down stream limitation
A classical control system to achieve the above objectives would be very tedious to design,
install, and maintain. However, a DMC controller can be designed rather easily to accomplish
this control task. The controller matrix to accomplish this task could look something like this:
T101
Engineering Encyclopedia
F103
P100
T100
T105
HIGH
LOW
Multivariable Control and Solutions to Interaction
Instrumentation
71
FIGURE 9. DYNAMIC FOR BINARY DISTILLATION PROCESS
Engineering Encyclopedia Instrumentation
Multivariable Control and Solutions to Interaction
P T
100 105 L
102
T
101 CW
L
100
REFLUX DRUM
P
101 F
102 F A
101 101
T F T
100 100 102
OVERHEAD
PRODUCT
T F A
P 106 105 103
104
SIDESTREAM PRODUCT
P C
102 xxx
T
103
F
103
L
101
STEAM
F A
104 102
BOTTOMS
PRODUCT
5. Very Important! Do not allow trays below side stream draw tray to run dry
• Overhead can exceed specification, but not violate specification, same with bottoms
product.
• Side stream quality must be between 1.5 and 3.5 mole percent in quality. Anywhere in
that range is OK, outside that range is a violation.
• Minimize energy.
A control matrix for this distillation column might look something like this:
T101
F103
Engineering Encyclopedia
F105
P100
T100
T105
HIGH
Multivariable Control and Solutions to Interaction
LOW
Instrumentation
74
FIGURE 11. DYNAMIC NATURE FOR A THREE PRODUCT DISTILLATION PROCESS
Engineering Encyclopedia Instrumentation
Multivariable Control and Solutions to Interaction
2. Repeat step #1 this time changing m2 Å 10% and record the following:
3. Calculate the steady state gains k11, k12, K21 and K22 as follows:
∆c1 ∆c 2
K11 = K22 =
∆m1 ∆m2
∆c 2 ∆c1
K21 = K12 =
∆m1 ∆m2
1
λ11 =
K12 K 21
1-
K11 K22
D = K11K22K33+K13K21K32+K12K23K31-K13K23K31-K12K21K33 -
K11K23K32
3. Determine the inverse of the gain matrix H = K-1 and arrange it in the following
matrix:
4. Calculate four of the H values of the inverse matrix according the following equations.
Since the sum of the rows and columns has to equal one, we need only four relative
gain values to complete a 3 x 3 relative gain array.
K22K33 - K 23K32
H11 =
D
K11K 33 - K13K 31
H22 =
D
K11K22 - K12K 21
H33 =
D
K13K 32 - K12K33
H12 =
D
λ11 = K11H11
λ22 = K22H22
λ33 = K33H33
λ21 = K21H12
6. Complete the RGA using the sums of rows and sum of the columns equal to one rule.
• λ = 0. This loop can not be controlled when other loop(s) are in manual. Open loop
gain = 0. Control of this loop depends on other loops being in automatic. Avoid
making this connection.
• λ = 0.5. Severe interaction unless the dynamic differences between the two loops
minimize the problem. Requires some form of decoupling. Avoid making this
connection.
• λ >> 1. Closed loop gain approaches 0. Loops are completely dependent. Avoid
making this connection.
• λ < 0. Open loop gain opposite in sign to closed loop gain. This loop is only
conditionally stable due to possible positive feedback problems.* It produces poor
dynamic response. This connection should not be made.
* Positive feedback occurs in the third loop (in the interactive path) of a 2 x 2 system. The
positive feedback loop, assuming it has a large enough gain can dominate the two negative
feedback loops driving them to instability. Conditional stability can be achieved if the action
of one of the controllers is reversed.
GLOSSARY
binary distillation A distillation process that separates only two components.
process
blending The mixing of ingredients so that they are indistinguishable from
each other in a mixture.
bottoms The higher boiling product streams usually taken from the
bottom of a distillation column.
closed loop A control loop where there is feedback type corrective action,
usually to bring measurement to the set point. Controller is in
automatic mode.
composition A product of mixing or combining various elements or
ingredients.
condenser The heat exchanger, located at the top of the column, that
condenses overhead vapors.
conditional stability The property of a controlled process by which it can function in
either a stable or unstable mode, depending on the conditions
imposed.
controlled variable A process variable which is to be controlled at some desired
value by means of manipulating another variable.
DCS Acronym for Distributed Control System. Distributed Control
Systems involve a supervisory (master) process computer
located in a centralized control room. This supervisory
computer communicates with several subordinate (slave) small
process computers located in various parts of the plant that are
assigned to control a few loops (typically 10 to 30.)
decoupling The technique of reducing process interaction through
coordination of control loops.
distillation A unit operation used to separate a mixture into its individual
components through vaporization of the substance and
subsequent condensation of the vapors.
DMC Acronym for Dynamic Matrix Control. A linear multivariable
system using an internal-model control algorithm, based on the
results of tests conducted on the process under closed-loop
control.
full decoupling The imposition of a computing network which will cancel the
interaction naturally occurring in the process and allow each
loop to operate as an independent single loop.
interaction A phenomenon, characteristic of a multivariable process in
which the effect of a manipulative variable change in one control
loop not only affects its own controlled variable, but also the
controlled variable in another loop.
manipulated variable A quantity or condition which is varied so as to change the value
of the controlled variable.
matrix In mathematics, an n dimensional rectangular array of quantities.