Level Control Loops
Level loops are very common in industry. In fact, around 20% of control loops in the process industry (refining, petrochemical, power, paper & pulp, steel, etc.) are level loops, second in number only to flow loops. Consequently, I have optimized a large number of level control loops over the last two decades. Although the processes are different and have their own specific problems, a large percentage of the level loops I looked at had one or both of two very common problems: the controller had too much integral action, or the controller gain was too low.
Two Integrators
A level-controlled process is also called an integrating process. This means that if there is an imbalance between what goes in and what comes out, the level will continue to rise or fall. PID controllers also have an integral term, and this is useful for getting a process all the way to its set point, something that proportional control alone cannot do.
However, the combination of the two integrators (level and controller’s integral term) in a level control loop often causes problems. Problems range from overshooting the set point, to oscillations, to downright instability. And the integral action of the controller is to blame. (I suppose we could blame the process, but that problem is more difficult to solve than tuning.)
Careful with that Integral!
In addition to having one extra integrator in the loop, level control loops are normally quite slow to respond. And a slow-responding process requires a long integral time (or low integral gain, depending on your controller’s integral unit.) If you have a long slow oscillation in a level control loop, compare the integral time to the period of the oscillation. If integral time is shorter than the period of the oscillation, that may be your problem.
Too Little Controller Gain
Many level-type processes have a very slow rate of response after a change in controller output. You might change the output by 10% and then you have to wait 15 minutes to see the level move by a few percent. To compensate for this slow rate of response, a high controller gain should be used.
Sometimes, a seemingly ridiculous controller gain, like 25 or more, is just what the level loop needs (but do read on about loop response objectives below). Most people would consider that controller gain to be just too high, and will dial down the gain to a more reasonable value of 3 or maybe 5. Doing this vastly changes the ratio between proportional and integral in the level control loop, making it less stable. If you lower the controller gain in a level loop, you must at the same time lengthen the integral time proportionally to maintain the ratio between integral and proportional, and hence maintain loop stability. This is not necessary on self-regulating loops like flow and temperature, but it is required on level control loops.
Control Objectives
Some people apply the Ziegler-Nichols tuning rules to level control loops. This gives the loop a very fast response, meaning a quick recovery after any deviation in the level. This may be the desirable response, but the control objective may very likely be different.
Slow Response / Surge Tanks
In many cases a slow response is needed in a level control loop, like for level control in a surge tank. For these applications you can apply level-averaging control or calculate the appropriate controller gain by simply using the desired high and low level limits in the tank. For example if the level should always remain between 20% and 80%, a Proportional Band (PB) of 60% (i.e. 80% – 20%) is needed. So set your controller gain to 100/PB (= 1.67 in this case) and turn off the integral action. Then, with the controller in manual, bring the level and the setpoint to 50%, momentarily change the controller output to 50%, put the controller in auto, and voila – you have a tuned and stable surge tank level loop. The operators should be trained that the level will not always be at setpoint, but it will always remain between the high and low limits.
Fast Response
A fast response may be needed, for example when controlling the level in a high-pressure gas separator on an oil platform. Using the Ziegler-Nichols tuning rules will give a very fast response, but will result in a loop with very little tolerance for changes in process characteristics, and a low tolerance for any measurement errors you might have made. In short – the Ziegler-Nichols tuning rules set a loop up with insufficient robustness.
To improve the robustness on a level loop tuned with the Ziegler-Nichols tuning rules, you can use 0.5 of the calculated controller gain, and 2 times the calculated integral time (or 0.5 of the integral gain – depending on which integral unit the controller uses). Follow this link for more detail on tuning level loops for a fast response.
Stay tuned!
Jacques Smuts – Author of the book Process Control for Practitioners