Error-squared control is a way of making a controller lazy near setpoint and urgent far from it. Instead of a fixed gain, its effective gain rises with the size of the error, so tiny deviations barely move the output while big excursions get a hard, decisive response. The most famous home for this trick is surge-tank level, where the whole point of the tank is to absorb swings, so you want the loop to leave small level changes alone and only react when the tank is genuinely filling or emptying. This page defines error-squared and nonlinear-gain control, explains where it helps, and shows how it relates to and complements gap control.
Error-Squared Control in one line: Error-squared control is a nonlinear control technique in which the controller's effective gain increases with the magnitude of the error, most commonly by multiplying the gain by the absolute value of the error. Small errors produce little response and large errors produce a strong one. It is widely used on surge-tank level loops, where gentle correction near setpoint lets the tank buffer flow while aggressive action prevents overflow or run-dry.
In an ordinary proportional-integral controller, gain is a constant: double the error and you double the response, in a straight line. Error-squared control breaks that linearity on purpose. The effective gain is scaled by a factor that grows with error magnitude - in the pure form, by the absolute value of the error itself, so the response varies with error squared, which is where the name comes from. A common practical variant blends a base linear gain with an error-dependent term, giving a soft response for small errors and a steep one for large errors without ever letting the gain fall all the way to zero.
The behavior this produces is exactly what some processes want. Near setpoint, where the error is small, the multiplied gain is small, so the controller barely twitches the output in response to minor wiggles and measurement noise. As the error opens up, the gain climbs, and the controller leans on the output harder and harder, catching a real excursion decisively before it becomes a problem. One loop thus behaves gently and firmly at the same time, depending on how far off it is.
The trade-off is that a nonlinear loop is harder to reason about and tune than a linear one, because its dynamics change with operating point. A tuning that feels right for large upsets may leave the loop feeling dead near setpoint, and vice versa. For that reason error-squared control is applied selectively, on loops where the nonlinear behavior is genuinely desirable rather than as a default.
Surge and buffer tanks exist to absorb variation - a slug from an upstream well, a hiccup in an incoming flow - so the downstream process sees a smooth, steady feed. If you put a tightly tuned linear level controller on such a tank, you defeat its purpose: the controller fights every small level change, translating incoming swings straight into swings on the outlet flow, which is precisely what the tank was supposed to prevent. What you actually want is a loop that lets the level roam within a comfortable band and only intervenes when the tank approaches truly high or truly low.
Error-squared control delivers that profile neatly. With low gain near the midpoint, the level is free to rise and fall across the working range while the outlet flow stays smooth, doing the buffering the tank was built for. As the level heads toward the top or bottom of the tank, the growing error drives the effective gain up and the controller acts firmly to arrest the excursion, protecting against overflow or against pulling the tank down and losing suction or letting gas break through. The result is smooth outlet flow in normal operation and a hard backstop at the extremes.
This is sometimes described as averaging level control, because the loop is trying to hold an average level over time rather than pin the level to a value. Error-squared gain is one of the standard ways to get that averaging behavior, and it is favored precisely because it does so continuously, without any discontinuity as the level moves.
Error-squared control is a close cousin of gap control, and the two are often mentioned together. Gap control uses a deadband: inside the gap around setpoint the controller does nothing at all, and outside it the controller acts with normal gain, giving a hard on/off boundary. Error-squared control chases the same goal - quiet near setpoint, active far from it - but does it with a smoothly rising gain instead of a discrete gap. The two even combine, as gap-plus-gain schemes that hold a true deadband near setpoint and then ramp gain up outside it, taking the best of both.
Which one fits depends on the process. A pure gap can leave a persistent offset because the controller genuinely ignores small errors, which is fine for a surge tank but wrong for a loop that must eventually settle on target. Error-squared, because its gain is only reduced rather than zeroed near setpoint, keeps nudging toward setpoint and can eliminate offset when integral action is present, while still being forgiving of small deviations. Choosing between them, or blending them, is a judgment about whether a small standing error is acceptable.
On remote sites, these nonlinear level loops are common on separators, surge drums, and knockout vessels, and their whole value is that they behave differently near the limits than in the middle. That makes them slightly deceptive on a trend: a level wandering across a wide band with a nearly flat outlet flow is the loop working exactly as intended, not a loop failing to control. A cloud SCADA platform such as Merobix, which historizes the level, the outlet flow, and the controller output together, lets an engineer confirm that the nonlinear behavior is genuine - gentle in the band, decisive at the extremes - rather than misreading a healthy averaging loop as a sloppy one and retuning away the very behavior that protects the tank.
On buffer and surge tanks, small level movements are exactly what the tank is meant to absorb, so reacting to them just passes upstream swings straight to the downstream flow. Ignoring small errors keeps the outlet flow smooth and lets the tank do its buffering job. Error-squared control reduces gain near setpoint to achieve this, while still reacting hard when the level approaches a real limit.
Both keep the controller quiet near setpoint and active far from it, but gap control uses a hard deadband where the controller does nothing, then normal gain outside it, whereas error-squared control uses a gain that rises smoothly with error magnitude. Gap control can leave a standing offset inside the band; error-squared keeps gently correcting. The two are often combined in gap-plus-gain schemes.
Yes, because the loop's effective gain changes with operating point, so it is harder to reason about and tune than a linear loop. A setting that behaves well for large upsets may feel sluggish near setpoint, and pushing the nonlinearity too far can make behavior at the extremes hard to predict. It should be applied only where the nonlinear response is genuinely wanted, such as averaging level control.
Merobix reads your field devices into a cloud SCADA - the real thing behind these terms, live in days from any browser.