Valve Diagnostics on a Level Loop
Determining the condition of the control valve on a level loop can be challenging, but it is an important aspect of successful tuning. Control loop performance can be greatly affected by control valve dead band, stiction, and nonlinear flow curve, and this is no different on a level control loop. If the level controller directly drives the control valve, both dead band and stiction will cause a level control loop to oscillate continuously.
Doing valve diagnostic tests is easy on a self-regulating loop, but not so on an integrating loop, like liquid level. On a level loop the process variable itself does not in any way reflect the actual control valve position (or the flow into/out of the vessel for that matter). So how then does one determine the condition of a control valve in a level loop?
The answer is to analyze the rate of change of the level at different control valve positions. For example, if you want to check for control valve dead band, you would put the controller in manual, make two controller output steps (typically 5% in size) in one direction, and make another step in the opposite direction – just like on a flow control loop, for example. However, instead of using the level measurement directly, you would analyze the rate of change of the measurement.
This takes some planning because the level always needs to be kept within a safe operating range and you need to allow enough time between controller output steps to obtain steady ramps in level that are long enough that you can take measurements from them. I often have to adapt my test plan to keep the process safe but still obtain the data I need for analysis. Don’t worry if your steps are not all the same size, the calculation below will compensate for this.
Once you have collected your test data, return command of the controller back to the operator to be placed in auto and/or monitored. Import the controller output (CO) and process variable (PV) data into Microsoft Excel or your spreadsheet of choice.
Add a new column of calculations that take the difference (dPV) between two successive PV samples, e.g.: C2 = B3 – B2, assuming your PV data is in Column B and the dPV calculations are in Column C.
You will likely find that the new dPV data is very noisy. In that case you should include an averaging filter in your calculation like this:
Once you’re done you can plot the data and take measurements from the plot or the data. Use the average of the dPV values as shown below.
You can then calculate the dead band in the valve, as a percentage of its full travel (0 – 100% open):
% Valve Dead Band = (CO3 – CO2) – (dPV3 – dPV2) / (dPV2 – dPV1) x (CO2 – CO1)
A stiction analysis can be done in the same way, but you will make 5 to 10 small changes in controller output (typically 0.5% in size). Remember to leave enough time between successive steps to obtain a steady gradient. Make sure that you take up any dead band first by preceding the small steps with one large dead-band-eliminating step in the same direction as you are planning for the small stiction steps.
Since a level loops will oscillate if its output drives a valve having dead band or stiction, you want these to be as low as possible. Installing a flow controller as an inner loop to the level controller in a cascade control arrangement will go a long way to reduce the effects of valve issues on a level control loop.
Stay Tuned!
Jacques Smuts, author of the book Process Control for Practitioners
Dear Jacques,
First of all, let me thank you for such a great blog, great content! I just found it recently, but have been reading it thoroughly with huge benefit for my knowledge about Process control.
Regarding this post, allow me to add that there is an assumption that you left implicit only, but should be highlighted in my opinion: the “uncontrolled” end of the vessel shall have, during the step tests and data gathering, a constant flow rate. Otherwise, you won’t probably get ramps at all, with high noise masking a “ramp” tendency, or even get second order curves during that period.