Lesson 9 — Cascade Loops

INST 2755 · PID Section Rebuild (draft, not yet packaged as SCORM)
Live Demo

Lesson 9 · Objective

The Problem With One Loop

By the end of this lesson you should be able to explain what a cascade is, why one helps, and which loop gets tuned first. Start with the problem it solves.

Below is a tank whose level is held by a single level controller. The level controller moves the inlet valve directly. Now the supply pressure upsets: same valve opening, more flow goes through it.

Click Start, let the level settle at 50, then click Hit supply pressure and watch the level trend. Open this simulator in its own tab (opens in a new tab)

What You Should See

The level controller knows nothing is wrong until the tank level actually moves. Extra flow has to pile up in the tank first. The level drifts roughly 5% away from setpoint before the controller has pulled it back (an approximate typical value — yours will differ a little because the flow signal is noisy).

The cause is slow feedback. The upset hit the flow immediately, but the only measurement this loop watches is the level, which reacts slowly. Could something watch the flow as well?

Concept

The Idea: A Fast Loop Inside a Slow Loop

Add a second controller that does nothing but hold the inlet flow where it is told. Now the level controller no longer moves the valve. Its output is instead the setpoint of the flow controller: "give me this much flow."

When supply pressure jumps, the flow rises, and the flow controller sees it in seconds and corrects the valve. The level barely notices. The level controller only has to worry about the slow things: level setpoint changes and changes in demand.

Cascade block diagram: level controller feeds flow controller The level setpoint goes into the level PID controller, the master. Its output is the setpoint of the flow PID controller, the slave. The flow controller drives the valve, which sets the flow into the tank. A flow measurement feeds back to the flow controller in the fast inner loop. The tank level measurement feeds back to the level controller in the slow outer loop. Supply pressure upsets act on the valve and are seen first by the flow measurement. Level PIDmaster Flow PIDslave Valve Tankflow in, level out Level SP Level output = flow SP Supply pressure upset Flow measurement: fast inner loop Level measurement: slow outer loop

Text version of the diagram: Level setpoint → Level PID (master) → its output is the Flow PID's setpoint → Flow PID (slave) → valve → flow into the tank → tank level. The flow measurement feeds back to the Flow PID (fast inner loop). The level measurement feeds back to the Level PID (slow outer loop). Supply-pressure upsets hit the valve and show up in the flow measurement first.

Level output is not a valve position. In a cascade it is a flow setpoint, so it is in flow units, not "% open."

Vocabulary

The Words You Will Hear

Cascade comes with its own vocabulary. Vendors mix these words freely, so learn both names for each idea.

Cascade terms
TermWhat it means
Master / primary The outer, slow controller. It watches the thing you really care about (level) and its output becomes the other controller's setpoint.
Slave / secondary The inner, fast controller (flow). It just tries to hold whatever setpoint the master hands it.
Local setpoint A setpoint a person types in at the controller's own faceplate.
Remote setpoint A setpoint that comes from somewhere else, here from the master's output. On the faceplate it is shown but you cannot type in it.
Auto mode The slave uses its local setpoint, which you type. Cascade is off. The master is only tracking.
Cascade mode The slave uses its remote setpoint, from the master. Cascade is on.
Bumpless switching. In this simulator, switching between Auto and Cascade does not bump the process: the idle controller follows the live value so the hand-over is smooth. Most real controllers do the same.
Live Demo

Compare

Same Upset, Two Arrangements

This is the same supply-pressure hit from page 1, now with a mode switch. Hit it in Cascade, note the peak level deviation, then switch to Level only and hit it again. The metrics box reports the peak level deviation for the 60 seconds after each hit.

Cascade
≈ 0.18%
peak level deviation
Level only
≈ 5.0%
peak level deviation

Those are approximate typical values. The flow signal is noisy, so your numbers will land close to these but not exactly on them.

Click Start first. Open this simulator in its own tab (opens in a new tab)

Look at the flow, not just the level. The flow spikes about the same in both modes, because the upset is real either way. What differs is how quickly something corrects it, and that decides how much water ends up in the tank.
Live Demo

Procedure

Tuning Order: Inner Loop First

  1. Put the flow controller in Auto and tune it alone. Step its setpoint and get a fast, quiet response. The level controller is just tracking.
  2. Leave the flow tuning alone, switch to Cascade, and tune the level controller. Now the level loop's "process" includes a well-behaved flow loop.

Why this order? The level controller's output goes through the flow loop. If the flow loop is still sloppy, the level controller is tuning against a moving target and every change you make there means something different a minute later.

The inner loop must be much faster than the outer. If the two loops respond at similar speeds, they interact and hunt against each other. A flow loop that settles in seconds under a level loop that takes minutes is what makes a cascade work.

Try Each Step

Click Start in whichever step you open. Open this step in its own tab (opens in a new tab)

On a Real Plant

The same order applies on a live unit: secondary loop first, with the master in manual or tracking. Follow your site's procedures for taking a loop out of cascade.

Hands-On

Tune It Yourself

Your Turn

Everything is unlocked. Work through it in the order you just learned:

  1. Start in Auto. Step the flow setpoint and set the flow loop's Kp and Ti for a fast, quiet response.
  2. Switch to Cascade. Step the level setpoint (say 50 → 60) and tune the level Kp and Ti so it reaches the new level without a big overshoot.
  3. Hit the supply pressure and read the peak level deviation in the metrics box. Adjust and hit it again. Can you beat your last number?
  4. Finish by hitting it in Level only mode for comparison.

Click Start first. Open this simulator in its own tab (opens in a new tab)

Sanity check when you finish: the flow loop should still respond much faster than the level loop. If your level loop got as quick as the flow loop, back its gain off.

Review

Cascade in Summary

A cascade is two controllers in series: the slow one sets the fast one's setpoint. It earns its keep when a disturbance shows up in a fast, measurable variable (here, flow) well before it reaches the variable you care about (level).

Answer each question in your head, then reveal to check.

That completes the PID series. Lessons 1 through 9 took you from on/off control to tuning a cascade. Coming up next: a short quiz on cascade loops. ← Back to Lesson 8 — Auto-Tuning