Practical Control: Windup, Feedforward and Cascade

Saturation and anti-windup, feedforward, cascade, filtering, deadband and nonlinear actuators.

The real world is not linear

The textbook loop of the earlier pages is linear, noise-free and has an actuator that can do anything. A real loop has an actuator with limits (a heater cannot be below 0 percent or above 100), a sensor with noise and lag, a valve with friction and a nonlinear characteristic, and disturbances that can be measured. This page covers the practical additions to a PID loop that make it behave in the plant: anti-windup, feedforward, cascade, filtering and the handling of nonlinearities.

Saturation and integral windup

When the controller output reaches a limit, the loop is effectively open: the actuator cannot respond to the error, but the integral term keeps adding up the error and the internal value grows far beyond what the actuator can do. When the process finally reaches the setpoint the stored integral keeps the output saturated until the error has been of the opposite sign for as long as it was of the first, so the output overshoots and takes a long time to settle. This is integral windup.

Integral windup and anti-windup0200400600800100001020304050time (s)oven temperature rise (°C), setpoint 40 °Cno anti-windup: overshoot 24 %, settles in 855 swith anti-windup: overshoot 1 %, settles in 200 sHeater limited to +25 % (the oven can reach 50 °C). PI settings Kp = 4, Ti = 30 s. The integral state runs farahead of the actuator when it is saturated.
A large step against the heater limit, with and without anti-windup.

Worked example: the oven with the heater limited to 25 percent

  • The oven can reach at most 50 °C; the target is 40 °C and the PI (Kp = 4, Ti = 30 s) saturates the heater for most of the rise.
  • Without anti-windup the integrator winds up and the response overshoots by 24 percent (to 50 °C) and takes 855 s to settle.
  • With anti-windup (conditional integration: the integral is frozen while the output is saturated and the error would drive it further) the overshoot is 1 percent and the response settles in 200 s.
  • Other methods: back-calculation (feed the difference between the saturated and the unsaturated output back into the integrator through a gain), external reset (feed the actual actuator position back) and clamping the integral state. Always check that your PLC or drive PID block has one, and that it is enabled.

Feedforward

Feedback acts only after an error has appeared. If a disturbance can be measured (a cold load entering the oven, a change in the supply temperature, the demand of a machine), feedforward acts at once: it adds a correction to the controller output computed from a model of the disturbance’s effect, so the error never appears. In the oven a 5 percent heater-equivalent cold disturbance is canceled by adding the same amount of heater power. Feedforward handles the known and fast disturbances; feedback cleans up what the model missed.

Worked example: a 5 percent cold disturbance with the lambda PI

Feedforward accuracyPeak deviationIAE (°C·s)
0 %2.06 °C291
80 %0.41 °C58
100 %0.00 °C0

With no feedforward the temperature dips 2.1 °C before the integral recovers. A feedforward that is only 80 percent accurate (the disturbance gain is known to 20 percent) cuts the dip by 80 percent, and a perfect one removes it. In practice 70 to 90 percent accuracy is achievable. A lead-lag element in the feedforward path matches the dynamics of the disturbance and the control paths, and ratio control (keeping the fuel in proportion to the air flow: for natural gas 1 kg fuel to 17.2 kg air at the stoichiometric ratio, see Combustion and Boiler Efficiency) is a simple, ubiquitous feedforward.

Cascade control

In a cascade an outer loop sets the setpoint of a faster inner loop. The classic case is a heater element that is much faster than the oven air: the outer loop (oven temperature) commands the element temperature, and the inner loop (element temperature with a time constant of about 10 s) corrects supply-voltage and element disturbances before they reach the oven. In a servo, the position loop commands a velocity loop, which commands a current loop. Rules: the inner loop must be at least 3 to 5 times faster than the outer one, tuned first (with the outer in manual), and its measurement must be affected by the disturbances you want to cancel.

A disturbance in the heater power seen by the inner loop is reduced to 1 ÷ (1 + Kp,i) = 1 ÷ 6 = 17 percent of its open-loop size even with proportional action only (5 here, with the integral it vanishes), before the outer loop has even noticed it: the outer loop only has to deal with the oven itself.

Filtering the measurement

A first-order filter on the measurement removes noise, at the price of phase lag that behaves like extra delay. It is a trade-off: use the smallest time constant that quiets the output.

Worked example: a filter on the oven measurement (lambda PI)

Filter time constantOvershootSettling timePhase lag at the crossover (0.033 rad/s)
none5 %92 s0.0°
2 s8 %98 s3.8°
5 s16 %144 s9.5°
10 s29 %177 s18.4°

A 2 s filter is nearly invisible, but a 10 s filter turns a 5 percent overshoot into about 30 percent, because the loop now has the dynamics of a slower sensor (a thermocouple in a thick well does exactly this). Keep the filter well below the dead time; where noise is the problem choose a faster sensor, shorter cables or a higher sample rate with digital averaging.

Valves, deadband and nonlinear actuators

Control valves and many actuators are nonlinear:

  • Valve characteristic: an equal-percentage valve (rangeability 50) passes 4.4 percent of full flow at 20 percent travel, 14.1 percent at 50 percent and 45.7 percent at 80 percent, so the process gain (flow per percent of travel) changes by a factor of 3.2 between the low and high ends. A PID tuned at one operating point is then too aggressive at the other. Cures: choose the valve characteristic so the installed gain is nearly constant, gain-schedule the controller, or linearize the output with a characterizer.
  • Deadband and backlash: an actuator that does not move until the command changes by more than a band (stiction, gear backlash, a loose linkage) makes the integral hunt. With a deadband of 1 percent and a proportional gain of 2, the error has to build to 0.5 units before the valve moves, and the loop goes into a slow limit cycle around the setpoint. Fix the actuator (a positioner, a better valve, remove the backlash) rather than detuning the loop.
  • Rate limits and slew: an actuator that cannot move fast enough effectively adds phase lag when the loop demands it; limit the controller’s rate and anti-windup for the rate limit as well.
  • On-off actuators (a relay, a solid-state relay): use time-proportioning (PWM) with a cycle time well below the process time constant (a few seconds for an oven) and a minimum on-time.

Other structures

StructureUse
Setpoint ramp / weightingavoid big sudden moves; reduce overshoot without losing disturbance rejection
Gain schedulingchange the tuning with the operating point, such as a valve position or a load
Smith predictor / dead-time compensatorprocesses with a dead time longer than the lag; needs a good model
Override and selector controlswitch to a limiting loop when a constraint is near (high temperature override on a heater)
Split-range controlone controller drives two actuators in sequence (a heating valve then a cooling valve)
Ratio and blending controlkeep two flows in proportion (fuel and air, additive and product)
Model predictive controlmultivariable, constrained processes

Related

FAQ

Do I always need anti-windup?

Whenever the output can saturate, which is almost always. Check that it is switched on; the default in some function blocks is off.

Is feedforward worth the trouble?

Where a significant disturbance can be measured and the process is slow, yes: it can cut the error by 70 to 90 percent for the cost of a sensor and a gain.

Why does my loop oscillate only at low flow?

The valve gain is highest at low flow with an equal-percentage valve, so a loop tuned at high flow is too aggressive: gain-schedule or retune at the worst case.

What is bumpless transfer?

Switching from manual to automatic (or between controllers) without a jump in the output, by initializing the integrator so that the output starts at its current value.

References

  • Åström, K. J., Hägglund, T., Advanced PID Control, ISA (anti-windup, feedforward, cascade); Shinskey, F. G., Process Control Systems, McGraw-Hill.
  • Seborg, D. E., et al., Process Dynamics and Control, Wiley; Smith, C. A., Corripio, A. B., Principles and Practice of Automatic Process Control.
  • Lipták, B. G., Instrument Engineers’ Handbook: Process Control and Optimization, CRC Press.

Last reviewed: October 2026. Valve data and actuator limits are typical; the results are simulated on the oven model.