Cascade Control System 1
Cascade Control System 1
Cascade Control System 1
Two popular control strategies for improved disturbance rejection performance are
cascade control and feed forward with feedback trim.
The cascade architecture offers alluring additional benefits such as the ability to
address multiple disturbances to our process and to improve set point response
performance.
In contrast, the feed forward with feedback trim architecture is designed to address a
single measured disturbance and does not impact set point response performance in
any fashion (explored in a future article).
So,
SP2 = inner secondary set point
CO2 = inner secondary controller output signal
PV2 = inner secondary measured process variable signal
And
D2 = inner disturbance variable (often not measured or available as a signal)
FCE = final control element such as a valve, variable speed pump or compressor, etc.
Note that outer primary PV1 is our process variable of interest in this implementation.
PV1 is the variable we would be measuring and controlling if we had chosen a
traditional single loop architecture instead of a cascade.
Because we are willing to invest the additional effort and expense to improve the
performance response of PV1, it is reasonable to assume that it is a variable important
to process safety and/or profitability. Otherwise, it does not make sense to add the
complexity of a cascade structure.
Naming Conventions
Like many things in the PID control world, vendor documentation is not consistent. The
most common naming conventions we see for cascade (also called nested) loops are:
two measured process variable sensors (an inner PV2 and outer PV1)
only one final control element (FCE) such as a valve, pump or compressor.
How can we have two controllers but only one FCE? Because as shown in the diagram
above, the controller output signal from the outer primary controller, CO1, becomes the
set point of the inner secondary controller, SP2.
The outer loop literally commands the inner loop by adjusting its set point. Functionally,
the controllers are wired such that SP2 = CO1 (thus, the master and slave terminology
referenced above).
This is actually good news from an implementation viewpoint. If we can install and
maintain an inner secondary sensor at reasonable cost, and if we are using
a PLC orDCS where adding a controller is largely a software selection, then the task of
constructing a cascade control structure may be reasonably straightforward.
the same FCE (e.g., valve) used to manipulate PV1 also manipulates PV2,
the same disturbances that are of concern for PV1 also disrupt PV2, and
Since PV2 sees the disruption first, it provides our “early warning” that a disturbance
has occurred and is heading toward PV1. The inner secondary controller can begin
corrective action immediately. And since PV2 responds first to final control element
(e.g., valve) manipulations, disturbance rejection can be well underway even before
primary variable PV1 has been substantially impacted by the disturbance.
With such a cascade architecture, the control of the outer primary process variable PV1
benefits from the corrective actions applied to the upstream early warning measurement
PV2.
On a positive note, a proper cascade can improve rejection performance for any of a
host of disturbances that directly impact PV2 before disrupting PV1.
An Illustrative Example
To illustrate the construction and value of a cascade architecture, consider the liquid
level control process shown below. This is a variation on our gravity drained tanks, so
hopefully, the behavior of the process below follows intuitively from our previous
investigations.
As shown above, the tank is essentially a barrel with a hole punched in the bottom.
Liquid enters through a feed valve at the top of the tank. The exit flow is liquid draining
freely by the force of gravity out through the hole in the tank bottom.
The control objective is to maintain liquid level at set point (SP) in spite of unmeasured
disturbances. Given this objective, our measured process variable (PV) is liquid level in
the tank. We measure level with a sensor and transmit the signal to a level controller
(the LC inside the circle in the diagram).
After comparing set point to measurement, the level controller (LC) computes and
transmits a controller output (CO) signal to the feed valve. As the feed valve opens and
closes, the liquid feed rate entering the top of the tank increases and decreases to raise
and lower the liquid level in the tank.
This “measure, compute and act” procedure repeats every loop sample time, T, as the
controller works to maintain tank level at set point.
The Disturbance
The disturbance of concern is the pressure in the main liquid header. As shown in the
diagram above, the header supplies the liquid that feeds our tank. It also supplies liquid
to several other lines flowing to different process units in the plant.
Whenever the flow rate of one of these other lines changes, the header pressure can be
impacted. If several line valves from the main header open at about the same time, for
example, the header pressure will drop until its own control system corrects the
imbalance. If one of the line valves shuts in an emergency action, the header pressure
will momentarily spike.
As the plant moves through the cycles and fluctuations of daily production, the header
pressure rises and falls in an unpredictable fashion. And every time the header pressure
changes, the feed rate to our tank is impacted.
the header pressure pushing the liquid through the valve (a disturbance).
Thought Experiment #1: Assume that the main header pressure is perfectly constant
over time. As the feed valve opens and closes, the feed flow rate and thus tank level
increases and decreases in a predictable fashion. In this case, a single loop structure
provides acceptable level control performance.
Thought Experiment #2: Assume that our feed valve is set in a fixed position and the
header pressure starts rising. Just like squeezing harder on a spray bottle, the valve
position can remain constant yet the rising pressure will cause the flow rate through the
fixed valve opening to increase.
Thought Experiment #3: Now assume that the header pressure starts to rise at the
same moment that the controller determines that the liquid level in our tank is too high.
The controller can be closing the feed valve, but because header pressure is rising, the
flow rate through the valve can actually be increasing.
With this cascade structure, if liquid level is too high, the primary level controller now
calls for a decreased liquid feed flow rate rather than simply a decrease in valve
opening. The flow controller then decides whether this means opening or closing the
valve and by how much.
Note in the diagram that, true to a cascade, the level controller output signal (CO1)
becomes the set point for the flow controller (SP2).
Header pressure disturbances are quickly detected and addressed by the secondary
flow controller. This minimizes any disruption caused by changing header pressure to
the benefit of our primary level control process.
The Level-to-Flow Cascade Block Diagram
As shown in the block diagram below , our level-to-flow cascade fits into our block
diagram structure. As required, there are:
Two controllers – the outer primary level controller (LC) and inner
secondary feed flow controller (FC)
Two measured process variable sensors – the outer primary liquid level
(PV1) and inner secondary feed flow rate (PV2)
One final control element (FCE) – the valve in the liquid feed stream
As required for a successful design, the inner secondary flow control loop is nested
inside the primary outer level control loop. That is:
The feed flow rate (PV2) responds before the tank level (PV1) when
the header pressure disturbs the process or when the feed valve
moves.
The output of the primary controller, CO1, is wired such that it becomes
the set point of the secondary controller, SP2.
Ultimately, level measurement, PV1, is our process variable of primary
concern. Protecting PV1 from header pressure disturbances is the goal
of the cascade.
There are a number of issues to consider when selecting and tuning the controllers for a
cascade. We explore next an implementation recipe for cascade control.
When improved disturbance rejection performance is our goal, one benefit of a cascade
control (nested loops) architecture over a feed forward strategy is that implementing
a cascade builds upon our existing skills.
The cascade block diagram is presented in the graphic below and discussed in detail in
this article. As shown, a cascade has two controllers. Implementation is a familiar task
because the procedure is essentially to employ our controller design and tuning
recipe twice in sequence.
Thus, with our process steady at (or as near as practical to) its design level of
operation (DLO), we generate dynamic CO2 to PV2 process response data with
either amanual mode (open loop) bump test or a more sophisticated SP driven
(closed loop)bump test.
Yet as shown in the block diagram above and detailed in this article, the output signal of
the outer primary controller becomes a continually updated set point for the inner
secondary controller (SP2 = CO1). Since we expect the inner secondary controller to
respond crisply to these rapidly changing set point commands, it must also be tuned to
provide good SP tracking performance.
In the perfect world, we would balance disturbance rejection and set point tracking
capability for the inner secondary controller. But we cannot shift our attention to the
outer primary controller until we have tested and approved the inner secondary
controller performance.
In production processes with streams comprised of gases, liquids, powders, slurries and
melts, disturbances are often unmeasured and beyond our ability to manipulate at will.
So while we desire to balance disturbance rejection and set point tracking performance
for the inner secondary controller, in practice, SP tracking tests tend to provide the most
direct route to validating inner secondary controller performance.
As a result, any alteration to the inner secondary controller (e.g., tuning parameter
adjustments, algorithm modifications, sample time changes) can change the process
gain, Kp, time constant, Tp, and/or dead time, Өp, of the outer loop CO1 to PV1
dynamic response behavior. This, in turn, impacts the design and tuning of the outer
primary controller.
Thus, we must design, tune, test, accept and then “lock down” the inner secondary
controller, leaving it in automatic mode with a fixed configuration. Only then, with our
process steady and at (or very near) its DLO, can we proceed with the second bump
test to complete the design and tuning of the outer primary controller.
Responding first to disturbances means that the inner secondary D2 to PV2 dead
time,Өp, must be smaller than the overall D2 to PV1 dead time, or:
Responding first to FCE manipulations means that the inner secondary CO2 to PV2
dead time must be smaller than the overall CO2 to PV1 dead time, or:
If these minimum criteria are met, then a cascade control architecture can
show benefit in improving disturbance rejection.
• Defining Performance
We focus all assessment of control performance on outer primary process
variable PV1. Performance is “improved” if the cascade structure can more
quickly and efficiently minimize the impact of disturbances D2 on PV1. Given
the nature of the cascade structure, it is assumed that D2 first disrupts PV2
as it travels to PV1.
Since PV2 was selected because of its value as an early warning variable,
our interest in PV2 control performance extends only to its ability to provide
protection to outer primary process variable PV1. We are otherwise
unconcerned if PV2 displays offset, shows a large response overshoot, or
any other performance characteristic that might be considered undesirable in a
traditional measured PV.
A PI controller on the inner loop may provide even better performance than
P-Only, but only if the dynamic character of the inner secondary loop is
“fast” relative to that of the overall process.
If the inner secondary loop dynamic character is not sufficiently fast, then a
PI controller on the inner loop, even if properly designed and tuned, will not
perform as well as P-Only. It is even possible that a PI controller could
degrade performance to an extent that the cascade architecture performs
worse than a traditional (non-cascade) single loop controller.
The cascade will fail if the inner loop cannot keep pace with the rapid-fire
stream of SP2 commands. If the inner secondary controller “falls behind” (or
more specifically, if the CO2 actions induce dynamics in the inner loop that
do not settle quickly relative to the dynamic behavior of the overall process),
the benefit of the early warning PV2 measurement is lost.
A P-Only controller can provide energetic control action when tracking set
points and rejecting disturbances. Its very simplicity can be a useful
attribute in a cascade implementation because a P-Only controller quickly
completes its response actions to any control error (E2 = SP2 – PV2). While
P-Only controllers display offsetwhen operation moves from the DLO, this is
not considered a performance problem for inner secondary PV2.
With two tuning parameters, a PI controller has a greater ability to track set
points and reject disturbances. However, this added sophistication yields a
controller with a greater tendency to “roll” or oscillate. And the ability to
eliminate offset, normally considered a positive attribute for PI controllers,
can require a longer series of control actions that extends how quickly a loop
settles.
Our control objective for the jacketed stirred reactor process is to minimize the impact
on reactor operation when the temperature of the liquid entering the cooling jacket
changes. We have previously explored the modes of operation and dynamic CO-to-PV
behavior of the reactor. We also have established the performance of a single loop PI
controller and a PID with CO Filter controller in this disturbance rejection application.
We measure exit stream temperature with a sensor and transmit the signal to a
temperature controller (the TC inside the circle in the diagram). After comparing SP to
PV, the temperature controller computes and transmits a CO signal to the cooling jacket
liquid flow valve.
As the valve opens and closes, the flow rate of liquid through the jacket increases and
decreases. Like holding a hot frying pan under a water faucet, higher flow rates of
cooling liquid remove more heat. Thus, a higher flow rate of cooling liquid through the
jacket cools the reactor vessel, lowering the reactor exit stream temperature.
If the measured temperature is higher than set point, the controller signals the valve to
increase cooling liquid flow by an appropriate percentage with the expectation that this
will decrease reactor exit stream temperature accordingly.
A concern discussed in detail in this article is that the temperature of the cooling liquid
entering the jacket (D) can change, sometimes rather quickly. This can disrupt reactor
operation as reflected in the measured reactor exit stream temperature PV.
the temperature of the cooling liquid entering the cooling jacket (D).
Thought Experiment #1: Assume that the temperature of the cooling liquid entering the
jacket (D) is constant over time. If the cooling liquid flow rate increases by a certain
amount, the reactor exit stream temperature will decrease in a predictable fashion
(and vice versa). Thus, a single loop structure should provide good temperature control
performance.
Thought Experiment #2: Assume that the temperature of cooling liquid entering the
jacket (D) starts rising over time. A warmer cooling liquid can carry away less heat from
the vessel. If the cooling liquid flow rate is constant through the jacket, the reactor will
experience less cooling and the exit stream temperature will increase.
Thought Experiment #3: Now assume that the temperature of cooling liquid entering the
jacket (D) starts to rise at the same moment that the reactor exit stream temperature
moves above set point. The controller will signal for a cooling liquid flow rate increase,
yet because the cooling liquid temperature is rising, the heat removed from the reactor
vessel can actually decrease. Until further corrective action is taken, the reactor exit
stream temperature can increase.
As presented in Thought Experiment #3, the changing temperature of cooling liquid entering the
jacket (a disturbance) can cause a contradictory outcome that can confound the controller and
degrade control performance.
Since disruptions impact PV2 first, it provides our “early warning” that a disturbance is heading
toward our outer primary process variable, PV1. The inner secondary controller can begin
corrective action immediately. And since PV2 responds first to valve manipulations, disturbance
rejection can begin before PV1 has been visibly impacted.
An approach with potential for “tighter” control is to adjust the temperature of the cooling
jacket itself. This provides a clear process relationship in that, if we seek a higher
reactor exit stream temperature, we know we want a higher cooling jacket temperature.
If we seek a lower reactor exit stream temperature, we want a lower cooling jacket
temperature.
Because the temperature of cooling liquid entering the jacket changes, increasing
cooling jacket temperature by a precise amount may mean decreasing the flow rate of
cooling liquid a lot, decreasing it a little, and perhaps even increasing the flow rate a bit.
A “cheap and easy” proxy for the cooling jacket temperature is the temperature of
cooling liquid exiting at the jacket outlet. Hence, we choose this as our inner secondary
process variable, PV2, as we work toward the construction of a nested cascade control
architecture.
Adding a temperature sensor that measures PV2 provides us the early warning that
changes in D, the temperature of cooling liquid entering the jacket, are about to impact
the reactor exit stream temperature, PV1.
Our outer loop maintains reactor exit stream temperature (our process variable of
primary interest and concern) as PV1. Note in the graphic above that the controller
output of our primary controller, CO1, becomes the set point of our inner secondary
controller, SP2.
If PV1 needs to rise, the primary controller signals a higher set point for the jacket
temperature (CO1 = SP2). The inner secondary controller then decides if this means
opening or closing the valve and by how much.
Thus, variations in the temperature of cooling liquid entering the jacket (D) are
addressed quickly and directly by the inner secondary loop to the benefit of PV1.
The cascade architecture variables are identified on the above graphic and listed below:
PV2 = cooling jacket outlet temperature is our “early warning” process variable (oC)
CO2 = controller output to valve that adjusts cooling jacket liquid flow rate (%)
SP2 = CO1 = desired cooling jacket outlet temperature (oC)
PV1 = reactor exit stream temperature (oC)
SP1 = desired reactor exit stream temperature (oC)
D = temperature of cooling liquid entering the jacket (oC)
The inner secondary PV2 (cooling jacket outlet temperature) is a proper early warning
process variable because:
The same disturbance that is of concern for PV1 also disrupts PV2.
two measured process variable sensors (an inner PV2 and outer PV1)