You are on page 1of 13

6th course – Biochemical process design and control

We will see the following: the problem of controlling systems which have several inputs or outputs.
Indeed, up to now, we have only seen a single input-output case, except for the exothermic batch
reactor where we had two inputs and one output (that was solved quite easily…yeah right).

Now, we are in a much more general case with multiple inputs and outputs (also called MIMO
systems). We will address three problems.

The first one is to observe that (we will do it through two case studies) there is something special to
the case “several inputs-outputs system”, in other words, there are problems when treating a MIMO
system. Why? Because there are interactions between multiple loops.

Secondly, we will try to provide a tool which is called RGA (Relative Gain Array) and is used to
determine the best input-output pairing. Indeed, there are several interactions between closed loops
when we have several inputs-outputs so the choice of pairings that we make (y1-u1 & y2-u2 OR y1-u2
& y2-u1) will have an effect over these interactions. We will then provide a tool in order to help
choosing the best input-output pairing in order to have the least interactions between closed loops.

Thirdly, we will solve the problem more drastically. Yes, we observe that there are interactions and so,
problems (in the first case-study). Afterwards, we choose the best input-output pairing in order to have
the lowest interactions possible between closed loops (RGA case study) and finally, we will solve the
problem drastically by decoupling the multiple loops.

Let’s begin with the first case-study:

We have some fluid coming into the tank: flow Fi at temperature Ti. The fluid is heated thanks to a
heat transfer system (a steam passes through the internal coil).

1
We are interested in controlling two variables: first, the level of the fluid inside the tank and the
temperature inside the tank. If we want to control these variables first we need two sensors (we are
planning to use closed loops): the measurement of the liquid’s level (level controller) and also a
temperature-controller. Then, we need two actuators: one input that acts on the level of the liquid
inside the tank (a control valve that is used to modulate the low rate coming out of the tank). The
second actuator would have an impact on the temperature (also a control valve allowing us to modify a
certain flow rate of steam passing through the internal coil in order to have the wanted temperature
inside the tank).

So, we have two control loops (closed loops): the first one is the control-loop that maintains the level
inside the tank by action of the incoming flow rate (control valve). The second one controls the
temperature and acts on the second control valve as well.

Are there any interactions between these two closed loops? In the first case-study, we will consider
two scenarios: in the first one we will suppose that we have some variations in the inlet flow rate Fi,
that can be seen as a disturbance. This disturbance has an effect on the process obviously (it will have
an impact on the liquid’s level inside the tank…duh). Or, same scenario 1 but with another
consequence: we decide to change the set point of the liquid’s level controller.

In both cases, there will be a reaction of closed loop 1 (which tries to maintain a certain level) whether
we changed the set point or there is a disturbance on the system (there will be some drifts in the
measurement of the level). So, in both cases, control-loop 1 will react and thus, act on the purge flow
rate.

If there is, suddenly, a difference on the output regarding the flow rate then we change (necessarily)
the residence time inside the tank heater. If this residence time changes, it will have an impact on the
temperature (disturbance on the temperature then). If there is a disturbance on the temperature, then,
closed loop 2 (which tries to maintain the temperature inside the tank), will respond/react by acting on
the steam flow rate. We observe that if CL1 reacts, whatever the scenario, it will provoke the reaction
of CL2. So there is an interaction between those two loops.

Now let’s consider the opposite: consider that, now, is CL2 that has to react. Does it have any
consequence on CL1? (scenario 2)

2
First, what kind of disturbance would have an impact on CL2 for this one to react? It would have to be
a modification of the tank’s temperature. So, let’s say that there is a disturbance on the temperature or
we decide to change the set point, then, does CL1 reacts? //. We have an impact on the steam flow rate
of course, but this one will not have any impact on the liquid’s level of the tank and so, CL1 does not
react.

We can conclude that CL1 acts on CL2 and not the inverse! So there is an interaction, but a “one-
way” interaction.

There are some cases where the interaction is a “two-way” interaction. We enter another case-study:

sss

We have two classical closed-loops for a CSTR. The first control loop tries to maintain the
concentration of reactant A in the liquid phase. There are measurements of reactant A’s concentration
at the output that it’s compared to a specific set point. A concentration-controller acts (if needed) on
the feed flow rate (by pouring reactant A within the flow rate, for example).

The second control loop acts on the temperature. It tries to maintain a certain temperature within the
tank by acting on a temperature-controller which therefore acts on the system in order to follow the
wanted set point (it modifies the flow rate of a coolant flow inside the jacket, for example). There is an
exothermic reaction inside the tank so we need a coolant (cold water).

What should be the scenario for that CL1 changes something? A disturbance on the concentration loop
(some changes in the input concentration of reactant A, by using the concentration-controller) or we
change the set point of our concentration-controller. In both cases, it will change the feed flow rate. If
it changes something on the feed flow rate then, necessarily, it changes the residence time of my
CSTR. That change of the residence time changes something regarding the concentration (so the
kinetics of the reactions within the tank) and it will have an impact on the temperature. Then, CL2 has
to react (by pouring a coolant flow rate inside the reactor).

3
Now, if we modify the coolant flow rate, we modify the temperature. This leads to the reaction of
CL2. This has an impact on the kinetics and then, we will have a disturbance on the output
concentration of reactant A, CL1 reacts.

CL1 acts on CL2 AND CL2 acts on CL1! Both loops are interacting, in both senses.

SUMMARY:

So, clearly, there are interactions between loops. We may not consider things as if they were occurring
separately. Could we observe this in a more quantitative way?

Yes! Let’s do it in a linear framework and with the simplest MIMO: two input-output system

We separate the action of each input on each output. So, there are the usual direct actions from one
input to the corresponding output (F11 and F22). But there are also cross-interactions between the
inputs and outputs and so we have interaction of, for example, U2 over Y1 (thus, having a transfer
function F12) and also U1 over Y2 (F21). We can superpose these signals because we are in a linear
framework (superposition principle is respected). We can see direct effects and crossed effects.

4
Let’s suppose that there is only one control loop. Our objective would only be controlling Y1 and we
decide to do it through the action of U1 (we could also decide to do it through U2 because it also has an
effect over Y1). There is no control loop for the second output.

è One control loop means that there can only be one change regarding the set point, and has to
be the change in y1*. Any variation of our set point will lead to a variation of our control
output (deltaY1). We hope that the transfer function of that closed loop do his job in order that:

è But, now, we know that there is also an effect of U1on Y2 through that crossed effect F21. And
so, if we compute the transfer function between the variation of Y2 when a variation of y1* is
made, we have something like this:

What we can observe is that, due to that cross effect (U1-Y2), any change regarding the set point y1*
will not only impact the first output (which is the principal aim of the set point-change) but also the
second output (Y2)!

If I consider two control loops: it’s a little more complicated: (enjoy yourselves)

We can compute all the closed loops and observe that, any change on the set point y1* will have an
impact on both signals (y1 and y2) and any change on y2* will also have an impact on both output
signals y1 and y2. The transfer functions are a little bit more complicated: direct effects are P11 and P22
and the crossed effects are P12 and P21.

5
Let’s check if this generalized version is correct:

Let’s suppose that there are no more connections through the loops (we erase the crossed transfer
functions from u1-y2 and u2-y1). Then, F12 and F21 are equal to zero. What happens with the equations
above?

P11 = and P22 = R2 F22 / (1+ R2F22)

So the simple cases (when no crossed effect exists are recovered) à generalized model is ok!

When we have crossed interactions among closed loops, it changes the behavior of the system. What
happens if I have one crossed effect (either F12 or F21): if I have only F12 then P21=0, but the other
transfer functions exist (yes, P12 exists). So there would be some interaction between the loops, a one-
way interaction.

Moving on, when we force some variation on the set point y1* that will have an impact on y1 due to
direct effect (P11). But, also on y2 (due to P21). Moreover, if there is an impact on y2, then there will be
some changes on u2 and thus, consequently (due to P12), on y1. This means that, due to those two
control loops that are interacting in a two-way situation, when we ask for a variation on one of the set
points (here, y1*) it will also modify the “other” output (here y2) and consequently, because of the
indirect effects existing between loops (here, from u2 to y1), to the “first” output itself (y1).

Summary:

How many possibilities do I have when I have to choose the pairing? //. For a 2 input-output system is
2! (Factorial of 2; 2 possible pairings). Did you get it? So, if I have a 4 input-output system it would
be…come on, you can do it…4! (= 4*3*2*1) of course.

So, there can be strong interactions between control loops, we also observe that we have (for n input-
output systems) n! pairing-possibilities. What would be the best choice among all these pairings in
order to have the least interactions between the loops?

//. RGA will be a real helper when it comes to solve this problem.

We will build what we call a Relative Gain Array or an “array of relative gains” (no kidding!).

6
But I’m sure you’re wondering, what is an RGA? (for a 2 input-output system)

The ratio of 2 static gains:

The ratio of the numerator considers the following: any variation of input u1 and its corresponding
asymptotic variation of the considered output y1, but in a particular context: we consider that all the
other inputs (in this case, u2) are maintained constant.

So, I apply a step on u1 of amplitude delta-u1 , I then measure the asymptotic variation of y1 (delta-y1)
and then I make the ratio of both values = this gives me the static gain in open loop of the
numerator (where u2 is constant).

Now, I will define another static gain which is almost the same, except that I’ll not consider a static
gain from u1 to y1 when u2 is maintained constant but the same when the output y2 is maintained
constant.

I still maintain u1, u2 and y1 as a local loop and I’m interested with what happens asymptotically
when I put here a step change for u1. In the first case, I maintained u2 as a constant. But now, it’s
different, u2 may vary and y2 must be kept constant and to do that, I’ve put some closed loop here.
Everything is the same. As above, I put a step for u1 of amplitude Δu1, I measure asymptotically the
change on y1 (Δy1), I compute the ratio of both (Δy1/Δu1) but there’s a closed loop to maintain y2
constant. And then I will define the relative gain from input u1 to output y2 as the ratio of those two
static gains.

7
So it’s the steady state effect, the amplification of u1 on y1. But it’s a comparison of what happens
when u2 is maintained constant to the scenario when y2 is maintained constant. What are the
possibilities? Suppose that that value (λ11) is equal to zero. The information coming from that is
simply your numerator, so what happens from u1 to y1 when you don’t touch the other input, is equal
to 0, and so nothing happens. So clearly, that particular input has no effect on that particular output. In
terms of pairing for having some controlled action, forget about that pairing. Don’t try to control y1 by
action on u1 because as you can see, there’s no action.

Now suppose that ratio is equal to 1. That could mean two things (and you don’t know which one is
it). Best case scenario, there is absolutely no interactions between the two loops. Because it means that
when you observe the amplification from u1 to y1 maintaining u2 constant and the one maintain y2
constant, well there’s no difference. It’s the same static gain for the two cases. The other case is a one-
way interaction and the other one nonexistent. But not the double interaction, that’s impossible.

Any cases different from 0 and 1 mean that there’s some action from u1 to y1 so it could be
considered, but there’s a difference to maintain the other input constant (u2) or the other output
constant (y2). That means that there are interactions. For any positive values inferior to 1, there are
interactions between closed loops when you try to pair u1 with y1 and u2 with y2. You can also have
cases where the relative gain is negative. That’s a problem. It means that actually, there’re interactions
but the effect of u2 on y1 which allows having a difference between the two different constants
scenarios, doesn’t have the same sign as the effect of u1 on y1. Due to the interactions, you have
something which goes in the opposite sense of the interaction of u1 on y1. Due to that opposition, it
may not be an ideal pairing. You will try to look for the pairing with the relative gain closest as
possible to 1.

We define a relative gain from u1 to y1, we could define from u1 to y2 or u2 to y2. The principle is
always the same; you consider a given input and a given output. And you’re interested with the
amplification of the considered output when you apply a considered input, a step, and you compute the
ratio of what happens when you do that maintaining all the others inputs constant and in the
denominator, maintaining all the other outputs constant. And you can compute that with any pairing.
So you can then write all the possibilities that are called the relative gain array to the system. It can be
easily proven that there are some very interesting properties for any RGA given any inputs/outputs.

8
The sum of all elements on any rows and the sum of all elements on any column is always equal to 1.
That means for a system with two inputs and two outputs, you just have to compute one RGA and the
other ones are immediately deduce from that. Here are some examples and interpretations.

Suppose that you have a RGA from u1 to y1 = 1, so necessarily, you have the first matrix. That means
that you have an ideal situation in pairing u1 to y1 and u2 to y2, with no interaction or only one-way
interaction. If λ11 = 0, then you have the second matrix, transpose of the first case, with the conclusion
that you have to pair u1 with y2 and u2 with y1. Now consider the third case, λ11 = 0,5. You have all
the RGA with the same values, so that means that there are interactions and all the pairings are
equivalent so you can choose what you want. But be sure that there are interactions because the RGA
is different from 1.

9
If λ11 = 0,25, you should choose the pairing u1 y2 and u2 y1 because those ones have the positive
values closest to one (0,75) so the closest to the case of no interaction or one-way interaction. And
finally, the last case λ11 = 1,5, that means that the best choice is to play with that 1,5 but please
observe that the ratio between what happens when I don’t use the other closed loops and what happens
with the other closed loops is a ratio greater than 1. So when I close the other loops, it leads to an
effect that’s smaller than the direct action I could have from u1 to y1 when I close the other loop, I
obtain some amplification that’s less than what happens when u2 was constant because the relative
gain is greater than 1. That means that the direct effect of u1 on y1 is hampered by the indirect effect.
There’s still an effect, interactions, but the direction is not positive in the sense that is hampers the
direct effect but it’s still the best choice because the other one (the pairing of u1,y2 and u2,y1) and in
that case, you’ll have negative gains meaning the indirect effect goes in the opposite sense of the direct
effect so not a good idea in pairings.

That was for 2 inputs and two outputs, now you have N inputs and N outputs.

10
You may define a relative gain for any inputs ui and any outputs yj. By computing the ratio of the
static gains, you have at the numerator all the other inputs kept constant and at the denominator all the
other outputs maintained constant. So it’s an immediate generalization of what we saw. The thing
about the columns and rows equal 1 is still true so you only have to compute a small number of
relative gains. And you still choose the pairings i and j with the relative gains positive and closest to 1
as possible. This approach is a simple static approach. I’m only playing with static gains so the
amplifications obtained in the steady-state regime are reached; I have no concern with the transients.
We could even generalize that more saying that I have different numbers of inputs and outputs, then I
consider that I have less outputs than inputs (otherwise, that means you don’t have enough degree of
freedom to control all the outputs you would like to control). What should be the pairings? Well
actually, you have to compute a RGA with a subset of any inputs within your M and you have to
consider all the possible subsets given by the expression in the slide1.

Now we have a tool for helping us in isolating the best pairings leading to the lowest interactions, in
the best case no the interaction or one-way interaction. But it’s better to be able to fully decouple the
loops.

Now that we know that interactions can exist between closed loops, now that we know how to
approximately choose the best pairings through RGA, let’s try to solve the problem purely by trying to
decouple the closed loops from one another. Consider the case of two loops:

We try to control y1 by acting on u1 and controlling y2 by acting on u2 because the relative gains
corresponding to that pairing are the closest to 1 (but they’re different from 1). Suppose you’re asking
for a change in set point for y2*. R2 will detect that you’re asking for another set point so it will
change the action u2 such that y2 tends to y2*. But as soon these crossings exist, when changing u2
for y2 to tend to y2*, there will be a changing on y1 as well, at least transiently. Because if that closed
loop is doing its job properly, if y1 suddenly changes due to the change of u2 in the cross effect, then

1
Pas très bien compris les 2 phrases suivantes, mais en gros, suivez l’équation en gardant en tête de
prendre des accouplements supérieurs à 0 le plus proche possible de 1.

11
because we did not ask for any change on the upper part on the figure, R1 will react on u1 such a way
so that y1 goes back to y1*. But if the controlled loops have been built properly, in steady state
regime, there shouldn’t be any difference, otherwise there is a problem. But in the regime, you were
asking for a change regarding a set point for y2* so for a change regarding the value of y2, and
consequently due to the crossing, y1 will suffer from transient change, and it’s absolutely not required.
For example, if you’re talking about concentrations, you would like for those to remain constant even
if you are asking for a change in some variable in your process.

The decoupling method is simple. I don’t like y1 to be disturbed, and it’s disturbed because of that
crossing from u2, and u2 will change because I’ve asked for a change on y2*. My only action for
having a change on y1 is to play with the common input that I’ve paired with it: u1. What’s my action
on u1 in order to compensate for the change on y1, and to keep it constant so Δy1 =0? Any change on
y1 is due to two things. The direct effect of y1, the transfer function F11 and that’s my problem here,
my indirect effect coming from u2 through that crossing which is given by the transfer function F12.
And I want Δy1 =0 and I want to compute Δu1 as a function of Δu2. So I solve the simple equation
with respect of Δu1 as written in the slide and that’s the function I’ve been looking for. H1 is the
compensator with a transmittance equal to –F12/F11. If the input of the compensator is Δu2, and if I
superpose that variation Δu1, that will force Δu1 to stay at 0.

We already have that at hand because we’ve already seen it before; it’s simply a feedforward control, a
predictive compensation of disturbances. The idea was that when I have a disturbance on my process,
and I’m able to measure that disturbance and that I have a model of the impact of that disturbance on
the output of my process. Having that information (the measurements of the disturbance, and the
model of the impact on the output), what should I do on the input of my process to compensate for the
effect of that disturbance? That’s what I did here.

But I consider here actually another control input, the closed loop 1 and the disturbance is the common
input of closed loop 2 because that’s not what I use for controlling y1. For me, the common input is
u1. But u2 has an impact on the output I’m playing with. So for me, controller R1, u2 can be seen as a
disturbance. So with this, we know that there is a disturbance, we have a measure of it (computed by
R2), and we know the effect of that disturbance on the process, so we know what should be done on
the input to compensate its effect, knowing its process (F12). And that’s feedforward control.

We can generalize that with the two loops in saying that I will also expect that there is absolutely no
change on closed loop 2 when I asked for a change in closed loop 1 and for this, I place a second
compensator whose job is to keep Δy2 = 0.

“And the job is done”

12
It can be proven that when you place those compensators, assuming that the models are perfect, the
first scheme above is equivalent to the one below, where there are no more links between the loops.
This cannot be done physically because you have a process with the interval links but faced with the
compensators that you have placed, the global dynamics act as if it was purely separated loops.
Remember, it’s just an equivalent scheme, not a feasible one.

Finally, decoupling the loops is just a particular case of feedforward control so it suffers from the same
limitations, and one of those is that the perfect compensation only exists if there was a perfect model
so the decoupling will only rise if you have a perfect model. And as we have seen, you can use static
compensators, aka not using the dynamic transfer functions but only the correspondent static gains. So
in that case, you use exactly the same expressions but you replace p by 0 and you have simple gains
for the static compensations. THE END.

13

You might also like