Cascade Control
The primary disadvantage of conventional feedback control is that the corrective action for disturbances does not begin until after the controlled variable deviates from the setpoint. In other words, the disturbance must be “felt” by the process before the control system responds. Feedforward control offers large improvements over feedback control for processes that have large time constant and/or delay. However, feedforward control requires that the disturbances be measured explicitly and that a model be available to calculate the controller output. Cascade control is an alternative approach that can significantly improve the dynamic response to disturbances by employing a secondary measurement and a secondary feedback controller. The secondary measurement point is located so that it recognizes the upset condition sooner than the controlled variable, but the disturbance is not necessarily measured.
Let us consider the following block diagram of cascade control structure.The outer loop and its controller are called master loop and master controller whereas the inner loop and its controller are called slave loop and slave controller respectively.
V.20
Simplifying
V.21
similarly V.22
Again simplifying the above eqn:
Now see what happens if the secondary loop is absent. In that case: V.24
and
V.25
Simplifying V.26
Response time of a cascade Controller
First analyze the secondary loop:
In absence of the secondary loop and the slave controller
In presence of the secondary loop and the slave controller (say a pure gain controller)
V.27
Time constant
Clearly there is a decrease in time constant in presence of slave loop. This will guarantee that the time constant of the overall process decreases when a secondary loop is introduced to the system. Eventually that decreases the overall response time.
Stability of a Cascade Controller
The stability part can also be explained in general derivation, but it will become too cumbersome. So let us take a simple example.
Let us take Thus overall system is third order.
In absence of the secondary loop the characteristic equation of the overall process is:
V.28
In presence of the secondary loop the characteristic equation of the overall process is:
Now apply Routh-Hurwitz criteria to find the limits of both these cases:
First case ( In absence of secondary loop ) V.26
For a stable closed loop process, . Thus the upper limit of
is 8.
Second case: (In presence of secondary loop) V.30
For a stable closed loop process, . With further simplification, we get:
Thus the upper limit of increases by a positive quantity of
. In other words, the stability limits of the process increases by introducing a secondary loop.
One may put some reasonable values to the controller gain and simulate the system. However it will generate some offset for obvious reasons. To get an offset free control action, one needs to assign the master controller with a Gain-Reset setting.
Example of a relevant MATLAB code
Let us try to find out how y1 behaves if there is a step disturbance in d2. Let us take a pure-gain slave controller and PI master controller
. In absence of secondary loop, one has,
V.31
In presence of secondary loop, one has V.32
One can write the following simple program in MATLAB to find the result:
gp1=tf(1,[1 2 1]);
gp2=tf(1,[1 1]);
gc1=2*tf([3 1],[3 0]);
gc2=5;
cewsl=1+gc2*gp2+gc1*gc2*gp1*gp2;
cewos=1+gc1*gp1*gp2;
[y1,t1]=step(gp1/cewsl);
[y2,t2]=step(gp1/cewos);
plot(t1,y1,t2,y2)
xlabel('Time')
ylabel('Y1')
Fig V.9 : Comparison of performance of two control Structures viz. simple PI control and a cascade control structure
The Fig V.10 presents the process and Instrumentation diagram of a distillation column on which a Cascade controller structure has been employed. Only the bottom part of the column has been shown in the figure.
Fig V.10 : Partial P & ID of a distillation column with cascade structure of temperature a flow control
1. What is cascade control? | ![]() |
2. How does cascade control work? | ![]() |
3. What are the advantages of cascade control? | ![]() |
4. What are the challenges of implementing cascade control? | ![]() |
5. When is cascade control used? | ![]() |