Back to Basics: How gain scheduling works
Gain scheduling is a PID enhancement that facilitates the control of a process with gains and time constants that vary according to the current value of the process variable. [See subscriber comments and examples, added below on Feb. 16 and Feb. 5, 2011.] A gain scheduler runs in the controller’s microprocessor and monitors the process variable to determine when the process has entered a new operating range. It then updates the controller with a predetermined set of tuning parameters designed to optimize the closed-loop performance in that range.
Gain scheduling is particularly appropriate for processes that speed up or slow down as the process variable rises and falls. It also works if the process becomes more or less sensitive to the controller’s efforts as the process variable changes.
Consider, for example, a process consisting of the water in a spherical tank as shown in the figure. Because of the tank’s non-uniform cross section, a controller regulating the water level will find the process much more responsive to manipulations of the incoming flow rate when the tank is almost full compared to when the tank is only half full. The controller would therefore need to apply only a small control effort to overcome any deficiency in the water level while the process is operating in a high-level range. But if the process were operating in a mid-level range, the controller would need to apply a much larger control effort to compensate for the same deficiency.
A PID loop with fixed tuning parameters would be severely challenged by these conditions. If it had been tuned for optimal performance with the tank nearly full, it would be much too slow about correcting level deficiencies when the tank is only half full. Conversely, had it been tuned to be aggressive enough for a half-full tank, it would be much too aggressive for a tank that is almost full.
Gain scheduler advantages
A gain scheduler provides the best of both worlds. It allows the controller to be tuned for any number of operating ranges so that an optimal set of tuning parameters can be downloaded into the controller depending on the current value of the process variable.
Unfortunately, that’s a lot of work. The control engineer implementing the gain schedule must first determine how the full span of the process variable should be partitioned into distinct operating ranges that adequately represent all the possible variations in the process’s behavior. In the water tank example, “nearly empty,” “half full,” and “almost full” would be obvious choices, but there could also be several or several dozen ranges in between, depending on how severely the process’s behavior varies as the water level changes.
The implementer would then have to operate the process within each range and tune the controller for optimal closed-loop performance each time. She would then load the resulting sets of tuning parameters into the gain schedule to be retrieved by the controller whenever the process variable enters the operating range that corresponds to each set. In the tank example, that would require the implementer to fill the tank a little, tune the controller to maintain the level there, record the resulting tuning parameters in the gain schedule, fill the tank a little more, and repeat until the entire range of tank levels had been covered.
– Vance VanDoren, PhD, PE, is Control Engineering contributing content specialist, at firstname.lastname@example.org. www.controleng.com
Reader feedback follows on the article above, along with another link on gain scheduling from a Control Engineering blog posting.
Linearize the process feedback to units of volume
Concerning your article titled “How gain scheduling works” on page 56 of the January 2011 edition of Control Engineering, I have a suggestion.
Instead of implementing gains scheduling, why not linearize the process feedback to units of volume? If you use the water level to calculate the current volume of water in the tank, the need for gains scheduling goes away. While the gains of the PID are no longer scheduled, the effective gain of the system still changes – so the engineer would have to be careful to tune his PID so that it was still stable in the region where the ratio of tank level to volume was the highest (in this case, the mid-point of the tank). However I would argue that the overall system will be easier to tune, take less time to tune, and be simpler. Plus it allows you to determine the percentage of the tank’s capacity, which will likely be more useful to the operator or controls software than percent of non-linear level.
John Blystone, Instrumentation & Controls Department Supervisor
Louis Perry & Associates Inc.
My lawnmower gas tank is a good example
I just read the article "How Gain Scheduling Works " in the January 2011 Control Engineering magazine.
I thought I’d add this somewhat humorous observation: this article could be subtitled “Why Do I Always Spill Gas When I Fill the Tank on the Lawnmower?”
John Winders, PMP
Senior Electrical Engineer, Polytron
Polytron, based in Duluth, Georgia (north of Atlanta) helps customers engineer and operate with manufacturing excellence. www.polytron.com