How good is your level control?

Is it good enough?  Is it too good?  Do you even know?  Should you care?

Well yes, you probably should care.  Most level processes are non-self-regulating or integrating processes.  Everything you probably learned about tuning PID self-regulating loops like flow, pressure, and temperature does not work quite the same on integrating processes. So it is quite common for level loops to be tuned "by the seat of the pants" or trial and error.  Furthermore, most level loops are tuned to achieve good setpoint response and yet most level loops have one setpoint (typically 50% of the tank height) and rarely is the setpoint ever changed.  It is usually more important to consider the response to load disturbances.  Even if and sometimes especially when the level is tightly controlled, regardless of how it was tuned, it is likely that the underlying disturbance and resulting variability is amplified rather than attenuated.  That is never a good thing.

Control loops are intended to control processes with more gradual (low frequency) disturbances.  They are not the right tool for attenuating high frequency variability.  That is one reason we have surge tanks, which can attenuate high frequency variability in in flow or out flow.  Yet level controls on many surge tanks are tuned to prevent almost any deviation in level.  If the in flow is varying, then the out flow will vary the same.  This essentially is in conflict with the intended purpose of the surge tank.  And the truth is that all tanks are surge tanks.  Some may be undersized and others may be over-sized, but they are all essentially "wide spots" in the pipe.  To take advantage of the surge capacity, it is necessary to know the potential variability or worst case disturbance of the wild flow and the allowable limits on the level.  Then we can tune the level control to be able to respond th the worst case while keeping the level in bounds.

You need a tuning methodology.  The one Emerson's control performance consultants use is lambda tuning.  The premise is that for any linear process with a feedback control loop, the control loop can be tuned to provide a first order closed loop response using the right PID tuning constants.  The information required to tune the process is the process gain, the process dead-time, and the process time constants.  Lambda is the closed loop time constant and defines the speed of response of the loop under control.  Interacting self-regulating loops can be dynamically decoupled by making the lambda of one loop sufficiently larger than the other.  There is a minimum lambda that can be defined to avoid unstable or oscillatory response under closed loop control.  But in the context of level control, the selection of lambda defines the speed of response which is related to the arrest time and deviation for a disturbance.  Lambda tuning of integrating processes reduces the variability of the manipulated flow and takes maximum advantage of the surge capacity in the vessel without risking loss of containment.

I would like to offer some examples I have seen often enough to mention.  One is the base or bottom level control in a distillation process.  It is quite common to see the base level controller tuned for very tight, aggressive control.  The result is that the bottom flow can be quite variable and in the extreme can see the bottom flow oscillating between high flow and no flow as fast as the control valve can move.  This is obviously not good for the control valve, but it can  be detrimental to the process as well.  The bottom of the column is at a high temperature and often is is beneficial to recover some of the heat before that stream is sent to the next step in the process.  If the heat recovery is used to preheat the column feed, for example, you can see how that will introduce variability into the feed of the column and be disruptive.  I have found this to be quite common on fractionator columns in refinery crude units.  It would be much better to reduce and minimize the variability in bottom product flow, even if the level varies a bit in the base of the column.

Another distillation example is seen at the top of the column.  It isn't too common to control the level in the reflux accumulator by manipulating the reflux flow, but it is sometimes necessary to use that configuration.  Sometimes the distillate product flow, which is being used for composition control, will be feed forward into the reflux flow loop to improve level control in a way analogous to 3 element steam drum level control.  Regardless, a poorly tuned level control will create variability in the reflux flow which obviously has an immediate effect on composition and temperatures at the top of the column.  Lambda tuning with as large of a lambda value as can be tolerated, will minimize the variability created by variable reflux flow.  As long as the reflux accumulator level stays within limits, the rest of the control loops can be successful.

Another process which is usually characterized as integrating is pressure control of a gas where there is no phase change.  Like liquid volume is the integral of liquid flow, pressure is the integral of gas flow.  Sometimes the disturbances are greater and/or the vessel pressure limits are tighter, equivalent to an undersized surge tank, but the process is inherently integrating and analogous to liquid level control.  The same techniques and formulas apply.  In one example I saw a few years ago, a distillation tower was being fed directly from a reactor effluent.  The feed flow was cascaded to the reactor pressure control.  The pressure controller was tuned too aggressively and that resulted in a variable feed flow to the column.  This limited the ability of the column controls to achieve good composition control as the product quality variability had exactly the same frequency as the feed flow.  We could dampen the amplitude of the product quality, but could not eliminate the variability until we re-tuned the pressure controls using lambda tuning.

Sometimes even lambda tuning alone is not sufficient to achieve satisfactory control.  In this case, feed forward makes a lot of sense.  Steam drum level control is often implemented with 3-element control in which steam flow is essentially a feed forward signal to the boiler feed water flow and the level control trims the feed forward controls.  It is never a good thing to boil a steam drum dry or to get water into the steam header and that is why steam drum controls are often designed with 3 element drum level control.  The alternative would be to have a larger steam drum, but as a pressure vessel, the cost of increasing the size of the steam drum is much higher than implementing a straight-forward control strategy.  In another example where level was difficult to control, the problem was dead time.  Dead time in any loop is the hardest dynamic element to overcome.  In this case, a hopper was being fed by granular solids and there was a rotary drum used to provide mixing.  No matter how fast the different feeds were changed, they had to move through the rotary drum which was constant speed.  This provided a significant amount of dead time in the loop.  The contents of the hopper were fed at a controlled rate to the next process.  The level in the hopper had an important affect on the density and packing of the material on the hopper bottom conveyor which in turn affected the downstream process.  To make matters worse, if the level in the hopper is too high, material in the hopper can bridge  and there will suddenly be no feed on the hopper bottom conveyor.  We could have resolved this with feed forward control using PID to trim the level.  But in this case, we used Predict MPC control and configured the feed flow as a disturbance (feed forward) variable which had the same effect and worked quite well.

So to evaluate your level control, you should look at the level behavior, but you must also look at the behavior of the manipulated flow.  If you want to learn more about Lambda tuning and integrating processes, there is usually a workshop and/or short course discussing it at Emerson Exchange.  If you want help, please ask for the assistance of one of Emerson's Control Performance Consultants.  Also Emerson's Education Center offers courses in Modern Loop Tuning and Control Engineering that provide all the information you will need to tune up your level controllers to achieve "best" control performance.  And as always, your comments and feedback are appreciated.  I like to learn new things, too.

2 Replies

  • Lou,

    You make some great points about level control!  With #Lambda #Tuning for level control, you can calculate the required Lambda based on how much you will "allow" the level to deviate during a "maximum expected load disturbance".  Thus,  you can calculate tuning that maximizes the absorbance of varability of input disturbances by allowing the level to deviate or tuning that holds the level very close to setpoint.  In either case, Lambda tuning avoids oscillation and minimize "amplification" of variability.  If anyone has questions on Lambda Tuning, feel free to contact me.

  • In reply to James Beall:

    I wanted to chime in to pass along this Emerson Process Experts post James and I did a while back, Tuning Integrating Process Loops which describes this tuning process. The post also has a link to an AIChE presentation James gave on the subject.