Control Valve Linearization
A control valve’s flow characteristic is an X-Y curve that maps the percentage of flow you’ll get for any given valve opening (Figure 1). The design characteristic (also called inherent flow characteristic) of a valve assumes a constant pressure differential across the valve. More relevant to us is the installed characteristic, which is the way the valve operates in the real process. The installed characteristic of a valve can be determined by plotting the measured flow rate at different valve openings. You can do tests on the live process to get this data, or you can get it from the process historian (make sure you use steady-state data).
The installed flow characteristic of a control valve directly affects the process gain. It is essential that the installed characteristic is linear (the above plot is a straight line) so that the process gain is constant, regardless of the controller output. If the gradient of the curve varies by more than a factor of two, control loop performance will be noticeably affected. If nothing is done to linearize the valve the controller will have to be detuned to accommodate the maximum process gain. This leads to sluggish control loop response over much of the valve’s operating range.
A nonlinear flow characteristic should be linearized to obtain good control performance throughout the valve’s operating range. This is done with a linearizer (also called a characterizer). The linearizer is a control block, function generator, f(x) curve, or a lookup table, placed between the controller and the valve (Figure 2). Although the linearization can be done in a digital positioner, the DCS/PLC is the best location for it. This allows replacement of the positioner without having to reprogram the linearization curve in the new positioner.
Linearization is done with an X-Y curve or function generator that is configured to represent the reciprocal (inverse) of the control element’s flow curve (Figure 3).
To design the linearizer, you have to first determine the flow characteristic curve of the valve operating in the actual process. For this you should take readings of the flow or process variable (PV) and controller output (CO) under steady-state conditions at various controller output levels. You need a minimum of three (PV, CO) data pairs for this, but four or five would be better for characterizing a nonlinear relationship.
Make sure you span the entire operating range of the controller output, and try to obtain readings spaced equally across the controller output span. You can do process tests to obtain these values, or examine data from your process historian. Then convert the process variable data from engineering units to a percentage of full scale of the measurement.
Sort the data pairs in ascending order, and enter them into a function generator. The PV readings in percent become the X values (input side) and the CO readings become the Y values (output side). Include a (0, 0) point if you don’t already have one in your dataset and be sure to estimate a (100, Y) point also if you don’t have one. Also, if your valve opens as the CO decreases, your Y column will obviously have to reflect this.
For example, you get the following (PV, CO) pairs form historical data: (120, 22); (280, 39); (530, 63). The PV is ranged 0 to 1000 kg/hr. You plot the data and estimate that 1000 kg/hr will occur at about 85%. The characterizer will look like this:
Flow measurement in percent of full scale | Controller output readings (in %) |
These values go on the input-side of the linearizer | These values go on the output-side of the linearizer |
0 (you must have a zero point) | 0 |
12 | 22 |
28 | 39 |
53 | 63 |
100 (you must have a full-scale point) | 85 (this can be an estimation) |
After implementing a linearizer in the DCS or PLC, you can test its accuracy by checking whether the controller output and flow measurement are roughly at the same percentage of full scale. For example: 20% and 50% controller output should result in roughly 20% and 50% flow rate. You should retune the controller after implementing the linearizer because it likely had changed the process gain.
Although this discussion mentioned only control valves, the same applies to other final control elements, like vanes, dampers, feeders, etc.
Stay tuned!
Jacques Smuts
Author of the book Process Control for Practitioners
We currently have a non-linear characterization on one of our boiler air dampers. I didn’t quite understand the purpose of the characterization until I read this article. It was a good thing I did too, because I almost removed the characterization. Thanks.
I have read about some situations where the control valves are deliberately chosen to have non-linear behavior like an equi-percentage characteristic because the process it is controlling is also non-linear. Will introducing a linearizer then adversely affect the loop performance?
Siby, if the nonlinear flow characteristic of the control valve cancels out the nonlinear characteristic of the process, the combination of the two should be linear and no characterization is required. For example, the steam flow control valve to a heat exchanger is likely better being equal percentage than linear.
Hi. Could you please comment on how to address uncertainties in the valve characterization? If the actual valve characteristic is different from what was implemented in the characterization in the controller, effective gains are introduced. These effective gains can be large, especially if the characterizations are not smooth as you’ve shown above. I’d be interested in hearing your thoughts on handling such uncertainties.
Matt – I think that one has to get the valve characterization very wrong before the loop is worse off with linearization than without. For normal uncertainties on flow curves, the end result may not be entirely linear, but it should be more linear than the valve without any linearization. The biggest error in flow rate should occur when the gradient of the actual valve curve is the steepest, but this should be canceled out by the linearization curve being quite flat in that range. So the error should not “catch the controller by surprise” – it will gradually develop and the controller should compensate accordingly. If you have an example that supports/explains your concern, please let me know.
Hi Jacques,
First of all thanks for sharing your knowledge via this blog.
Could you explain what are possible ways to linearise a temperature ( I guess you can say a flow of energy) instead of a real flow? More specifically, how would you characterise the output of a temperature controller connected to the valve on the by-pass line around the heat-exchanger used for the boil-up of a distillation tower?
Juan,
Characterization of flow control valves is straight forward because of the direct relationship between valve position and flow. With temperature, many other factors may come into play.
First, I suggest you make sure that the nonlinearity problem is beyond what PID can deal with. Is the controller tuned using step tests and proven tuning rules with a stability margin of 2.5 or more. Ideally your PID controller could handle the nonlinearity.
Second, make sure that it is the control valve (and only the control valve) that creates the nonlinearity. I assume you have no steam flow rate indication (this is typical). If so, you could use the valve’s design Cv curve to calculate a characterizer. This linearization is possible only if most of the pressure drop is across the control valve (which normally is the case for steam-driven heat exchangers such as reboilers).
Third, if the nonlinearity is not directly caused by the control valve, characterization is not the solution. Determine where it comes from, e.g. it could be distillation column throughput. Then you can do step tests at various throughputs (or wherever the nonlinearity comes from) and implement gain scheduling in the temperature controller based on this variable.
Thanks for explaining it in simple and efficient way. currently we are using a valve to control the flow rate of water to a heat exchanger , The valve is linear about 10% to 90% opening, but there is a hystersis band. Is it possible to some how account this ? I’m also currently preparing a simulink model to simulate my process.
Thank you.
Vinayak, I’m not sure what you mean by “accounting” for deadband, but I will try to answer your question.
1) If you are doing step tests for linearization or tuning, ensure that your controller output is always moving in the same direction and never use the first step after a direction change. Otherwise, account for the deadband by adding its size to the size of the actual output change.
2) If you are trying to account for the deadband in your control algorithm, you could potentially account for the deadband by biasing the controller output by the size of the deadband when the controller output is increasing, and removing the bias (set it to zero) when the output decreases. Be very careful not to bias the output more than the deadband because this will result in a continuous cycle.
The ultimate solution is to fix or replace the control valve, or add a positioner to the valve if it does not have one.
Hi Jacques:
I really love your articles and your book is the classic in practical process control.
I’m little confused on the concept of characterizer when I look at Figure 3. First of all, what is controller output in this Figure? Is it 0-100% command to the valve opening? Let’s say our goal is to control the flow rate through the valve. The flow controller FC takes in the flow rate setpoint, the flow transmitter FT reads the actual flow in the process. Then, the job of FC is to generate the valve command based on the error between SP and PV. If the controller output is valve opening then which % valve opening are we referring to in the right hand plot. Shouldn’t they be linear with a slope of 1?
Hi Sushil,
Thanks for your kind words.
The controller output in Fig. 3 is the same one as in Fig. 2, it’s the output of the PID controller going into the linearization function (characterizer). The valve position then changes nonlinearly in relation the controller output, but the flow rate through the valve will change close to linearly relative to controller output.