Due to wear, environment, age, misapplication, or manufacturing flaws, control valves used in the process industries can perform improperly or fail. When they perform improperly, the result is often lower yield of the process. If they fail it will often shut the process down. In a large refinery or chemical plant or power plant either of these outcomes can be very expensive. Plant operators have been interested in finding ways to detect problems in valve operation before the problem manifests itself in ways that hinder plant production.
Some common problems that occur in valves are: seat wear or damage, stem damage, stem corrosion, stem wear, packing wear, linkage problems/failures, actuator spring problems/failures, and actuator diaphragm failures. Many of these problems cannot be definitively identified except by disassembling the valve and examining the parts. This is a common practice in valve diagnostics, but is an expensive solution.
In recent years, operators have begun to infer many of the common problems from tests that they can make with the valve fully assembled and still in the process line (although when the process is not running such as during a plant shutdown). Valve “testers” have been built which attach sensors to the valves and make measurements. The most common measurements include positioning error, accuracy, response time, overshoot, spring range, and friction. To perform these tests, sensors must be attached to the valve and the valve must be stoked through much of its range. This prevents these tests from being performed during plant operation.
The use of data acquisition systems to gather valve operation data has been available for some time but has not been widely used for specific valve diagnostic applications. More often data acquisition system data has been used to evaluate overall process operation and in process tuning. Valve setpoint and valve position have been available using SCADA systems or the control system for some time.
More recently, some of the data acquisition has been moved to the valve itself in the form of smart positioners. Instead of the valve setpoint and position being measured from analog signals sent back to the control room, these measurements are made at the valve and sent back to the control room in digital form using one of several standard communications protocols. Some of the vendors of the smart positioners have included diagnostic applications in the firmware of the positioners allowing the positioner to control the valve to perform some diagnostic tests. These tests include response time tests, step response tests, actuator signatures, and friction analysis. With a few exceptions, however, these tests must still be performed when the process is not running.
There has been considerable interest in tests that can be performed when the process is still running. At least one vendor has built some tests in the firmware of their positioner to gather diagnostic information. This vendor requires the use of a special version of the positioner to work with software in the control room to perform these tests and can provide information about valves during the normal operation or during operation where the valve is artificially moved but only a small amount which would be tolerated by the running operation.
Thus, there is a need in the art for a method and system for performing valve diagnostics during normal valve operation.
Embodiments of the invention include methods and systems for performing online valve diagnostics. Valve characteristics such as step response, friction and spring range are determined while the valve is operating in a process. Valve information is obtained while the valve operates in response to a control signal controlling a process while the valve operates through a series of gradual movements. Valve characteristics are then determined from the valve information.
Positioner 12 provides valve information to controller 16. The valve information includes the measured setpoint, measured valve position and actuator pressure. Valve position indicates the actual position of the stem where 0% means fully closed and 100% means full open. Actuator pressure indicates the air pressure in the actuator that is needed to position the valve. The air pressure is opposed by the springs inside the actuator and by any force of the process fluid flow and by friction.
The controller 16 executes a routine for performing valve diagnostics. The controller 16 may be a microprocessor-based controller and the routine may be embodied in a computer program executed by the controller. The controller 16 may be implemented using a variety of technologies such as an application specific integrated circuit (ASIC), field programmable logic array (FPGA). Although, controller 16 is shown separate from valve 14, it is understood that controller 16 may be embedded within valve 14 as an integrated controller.
In operation, controller 16 monitors the valve information from valve 14 and performs valve diagnostics. During normal process operation, small changes in valve position occur due to changes in the setpoint sent to valve 14. The setpoint is the value of the signal converted to percent where 0% means closed and 100% means open. The valve 14 responds to the setpoint changes, moving the valve stem more open or closed. The controller 16 uses this data to compute characteristics such as error, offset, step response (including lag, response time (T86) and overshoot), oscillation, friction and spring range. As shown in
With respect to lag, the controller estimates the overall lag between the setpoint changes and the position response to the changes. The lag is determined by computing the error between the setpoint and the lagged position. The computed lag is the lag that yields the least square error. The lag is used in computing the error and offset.
Error and offset are common measurements made in existing valve diagnostic systems. A straightforward computation of error as the difference between the setpoint and position, however, has the undesirable property of being significantly affected by the response time. In embodiments of the invention, controller 16 defines error as the difference between the setpoint and the lagged position, and this undesirable property is minimized. Controller 16 computes offset as the average of the error. Without the use of the lagged position, offset would have the same undesirable property.
Controller 16 also uses valve position spectral frequency to identify oscillation and limit cycling. As described in further detail herein, controller 16 uses standard Fourier techniques to obtain the spectrum.
A common diagnostic test is to change the setpoint abruptly and to see how the valve responds. Typically, the valve will not instantly follow the setpoint change but will take some time. The time it takes the valve to move 86% of the way from the starting point to the new setpoint it identified as T86 and is a common measurement. Once the valve reaches the new setpoint it may continue to move past the setpoint before returning to the correct position. This is called overshoot and is another common measurement.
During normal valve operation, the setpoint typically does not make any abrupt movements. Controller 16 may use two techniques to infer a step response from the gradual movements that occur during normal, in-process operation of valve 14. The first technique builds a model of valve response to setpoint changes. Using this model, controller 16 adjusts the model parameters until the prediction made by the model given the actual setpoint yields the minimum error between the prediction and the actual position. The model with these parameters can then be applied to a “step” in setpoint to create a graph of the step response in a form that those of ordinary skill in the art are familiar with. In one embodiment, the model used has two parameters, one that primarily affects the response time and one that primarily affects overshoot. The algorithm is described in further detail herein. From the result of this model, controller 16 predicts T86 and overshoot.
A second step response method involves the assumption that each small movement of the setpoint causes a series of responses (over time) from the valve 14. The valve position over time will be the sum of the responses from all of the individual changes in the setpoint. The time series response to each setpoint change is known as a wavelet. The wavelet that fits the data with least square error can be determined by solution of a series of linear equations. Applying the wavelet to a setpoint step will yield an estimate of the step response from which T86 and overshoot can be estimated. A detail derivation of the wavelet model is provided herein.
Friction is the force required to start the valve stem moving. For valves it is often measured in terms of the actuator pressure needed or as a percent of the actuator pressure needed. Friction is typically measured during an actuator signature by measuring the position hysteresis from increasing the actuator pressure and then decreasing the actuator pressure. The difference between the two resulting curves is proportional to the friction (stem friction plus actuator friction plus any deadband or other friction in the system).
When the valve in operation makes normal, small movements these movements move about small hysteresis loops. If the spring range of the valve is known, each of the samples of position versus pressure can be projected to the pressure axis using the slope of the spring range line. The spring range corresponds to the actuator pressures that cause the valve to be at the closed position and at the open position. These pressures are known as spring range because they are largely determined by the springs inside of the actuator.
This results in a “stretched normal” distribution which would be flat over a zone that represents the friction and tails off like a normal distribution outside of the flat area. The technique used in controller 16 projects the data to the pressure axis using the spring range slope and then finds the 90 percentile and 10 percentile values. The difference between these two values (of pressure) are an estimate of friction. This technique does not require any tracking of individual hysteresis loops and does not require any fitting of lines to the data and is thus very robust.
When the change in position throughout the sampled data is small, then errors in the assumed spring range will have almost no effect on the computed friction. When the position range is wider, it is possible to calculate the actual spring range to use.
Two additional methods of computing friction may be implemented. These methods do not require a pressure measurement and so can be used more broadly. The control system 10 typically makes very small corrections to the position. When these corrections are smaller than the friction (in percent of spring range) the valve will not actually respond to the changes. The control system 10 will then continue to change the setpoint until the valve finally responds. The change required in the setpoint until the valve finally moves is the friction percent. A first method uses the same modeling technique described above with respect to the step response. The model has a parameter that is the friction and the model computes no change in position until the integral of the changes to the setpoint in any direction exceeds the friction parameter, at which time the normal proportional-integral (PI) model is applied.
A second method computes the distribution of changes in the position versus the distribution of the changes in the setpoint. When a large peak exists in the position distribution that is at a higher position than the peaks in the setpoint, it represents a limit because of friction. Subtracting the setpoint change distribution from the position change distribution and finding the peak determines the friction.
Because of the hysteresis and because of inconsistencies in position versus pressure that occur during setpoint changes, fitting the position versus pressure data with a line to estimate spring range can be difficult. Embodiments of the invention implemented by controller 16 assume various spring ranges and project all of the sampled data to the pressure axis. The computed spring range is the spring range that minimizes the variance of the projected data. When the valve movement is more than 5% this method usually provides a good estimate of spring range.
Additional detail concerning the processing performed by controller 16 will now be described. Embodiments of the invention employ processing analogous to wavelet processing used in seismic exploration. Let s=s0, s1, s2, s3, . . . be the input (setpoint) signal expressed in position percent units and p=p0, p1, p2, p3, . . . be the valve position.
Integrating both sides we get
Let i=i1, i2, i3, . . . be the time derivative of the (input) signal and o=o1, o2, o3, . . . be the time derivative of the (output) position.
ok=(ik*ω0)+(ik-1*ω1)+(ik-2*ωs)+ . . . (ik-n*ωn)
This has the form of a linear equation with independent variables ik, ik-1, . . . , dependent variable ok, and coefficients ω0, ω1, . . . ωn. Since we have many samples to work with, we can find a least squares estimate of the coefficients—i.e. the set of coefficients that gives the least error of estimating ok from the ik using the formula.
The least square formulas can be formed by multiplying the equation by each independent variable and summing to form a set of n+1 linear equations:
Σ(ok·ik)=ω0Σ(ik·ik)+ω1Σ(ik·ik-1)+ . . . ωnΣ(ik·ik-n)
Σ(ok·ik-1)=ω0Σ(ik-1·ik)+ω1Σ(ik-1·ik-1)+ . . . ωnΣ(ik-1·ik-n)
Σ(ok·ik-2)=ω0Σ(ik-2·ik)+ω1Σ(ik-2·ik-1)+ . . . ωnΣ(k-2·ik-n)
Σ(ok·ik-n)=ω0Σ(ik-n·ik)+ω1Σ(ik-n·ik-1)+ . . . ωnΣ(ik-n·ik-n)
If we use the symbols Cxy(n) to be the cross product Σxk·yk-n and Ax(n) is the cross product (autocorrelation) Σxk·xk-n. These are the cross correlation and the autocorrelation functions. We can then write the equations as:
Coi(0)=ω0Ai(0)+ω1Ai(1)+ω2Ai(2)+ . . . ωnAi(n)
Coi(1)=ω0Ai(1)+ω1Ai(0)+ω2Ai(1)+ . . . ωnAi(n-1)
Coi(2)=ω0Ai(2)+ω1Ai(1)+ω2Ai(0)+ . . . ωnAi(n-2)
Coi(3)=ω0Ai(3)+ω1Ai(2)+ω2Ai(1)+ . . . ωnAi(n-3)
Coi(n)=ω0Ai(n)+ω1Ai(n-1)++ω2Ai(n-2) . . . ωnAi(0)
Written in matrix form:
This can be solved by common matrix methods and results in a wavelet such as that shown in
The derivative of a step input is an impulse. To calculate a step response model from the wavelet, the wavelet is convolved with a single impulse, which corresponds to the wavelet multiplied by a constant. This convolution is shown in
Another embodiment of the invention uses a proportional-integral (PI) model, although embodiments of the invention are not limited to this type of model. The model parameters are defined as follows.
Errori=(Setpointi-1−Estimatei-1)
Estimatei=Estimatei-1+Errori*P+SumError*I+Offset
SumError=SumError+Errori
The value of offset is computed as described above (the average of the error) and variable SumError is initialized to 0. Controller 16 determines P and I so that the square of the error between variables Estimate and Position is minimized. Two techniques may be used to determine P and I in order to minimize the square of the error. The first technique works recursively by for each parameter, finds a local minimum of the error by adjusting the parameters that follow it. This technique is depicted in
A second technique works by creating a grid of N sections over the space of allowed values of each of the parameters. The error is calculated at each of the grid points. The grid section that contains the minimum error is selected and that grid is divided into N sections and the process is repeated until the lower limit of change is reached.
During normal operation of the valve, the setpoint will be changed slightly by the controller 10 to make fine adjustments. This will result in the positioner 12 making small adjustments in actuator pressure. But because of friction, the actuator pressure will increase or decrease some amount before the valve 14 actually moves. If pressure versus position is plotted, instead of following a line (representing the spring range), the points will follow a band around the spring range line, the width of the band representing the friction.
If the axis of the graph (pressure on the x axis, position on the y axis) is rotated so that the spring range line is vertical as shown in
Controller 16 also determines the spring range for valve 14. As described above, to perform the friction calculation, the axis of the pressure versus position graph is rotated so that the spring range line is vertical. This provides an approximate spring range that is used for friction calculation. It is possible, however, to calculate the spring range by rotating the axis if enough data is present.
The lag calculation is determined by finding the lag that results in the minimum summed square error from the setpoint. The values
Errori=(Setpointi−Positioni+lag)2
SummedSquareError=ΣError
are computed by controller 16 for each lag within the accepted range. The lag for which SummedSquareError is minimum is the computed lag.
With respect to offset and error, controller 16 computes error after the lag has been determined as follows.
Error=((Σ((Setpointi−Positioni+lag)2))/NumberOfPoints)1/2
The offset is computed as the average of the raw error as follows.
Offset=(Σ(Setpointi−Positioni+lag))/NumberOfPoints
Embodiments of the invention provide for taking data with the process running, but not intervening at all by changing what the process controller does. In other words, controller 16 acts as a passive listener. If the plant engineer intervenes and causes small changes in the process, controller 16 produces better information, however, it is not required that the engineer make any changes. In fact, tests performed by controller 16 are made automatically on a scheduled basis without the engineer even being aware that the tests are being made.
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out the invention, but that the invention will include all embodiments falling within the scope of the appended claims.
This application claims the benefit of U.S. provisional patent application Ser. No. 60/447,598, filed Feb. 14, 2003, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4029122 | Jaegtnes | Jun 1977 | A |
4263997 | Poore | Apr 1981 | A |
4274438 | La Coste | Jun 1981 | A |
4481451 | Kautz et al. | Nov 1984 | A |
4509403 | Gassman et al. | Apr 1985 | A |
4523286 | Koga et al. | Jun 1985 | A |
4542649 | Charbonneau et al. | Sep 1985 | A |
4556956 | Dickenson et al. | Dec 1985 | A |
4690003 | McNennamy et al. | Sep 1987 | A |
4693113 | McNennamy et al. | Sep 1987 | A |
4712173 | Fujiwara et al. | Dec 1987 | A |
4831873 | Charbonneau et al. | May 1989 | A |
4856327 | Branam et al. | Aug 1989 | A |
4860596 | Charbonneau et al. | Aug 1989 | A |
4896101 | Cobb | Jan 1990 | A |
4976144 | Fitzgerald | Dec 1990 | A |
5049764 | Meyer | Sep 1991 | A |
5070846 | Dudek et al. | Dec 1991 | A |
5109692 | Fitzgerald | May 1992 | A |
5197328 | Fitzgerald | Mar 1993 | A |
5249954 | Allen et al. | Oct 1993 | A |
5251148 | Haines et al. | Oct 1993 | A |
5272647 | Hayes | Dec 1993 | A |
5329465 | Arcella et al. | Jul 1994 | A |
5425270 | McDonald et al. | Jun 1995 | A |
5431182 | Brown | Jul 1995 | A |
5469737 | Smith et al. | Nov 1995 | A |
5524484 | Sullivan | Jun 1996 | A |
5526690 | Louie et al. | Jun 1996 | A |
5533544 | Good et al. | Jul 1996 | A |
5543696 | Huggett et al. | Aug 1996 | A |
5549137 | Lenz et al. | Aug 1996 | A |
5573032 | Lenz et al. | Nov 1996 | A |
5594175 | Lyon et al. | Jan 1997 | A |
5616824 | Abdel-Malek et al. | Apr 1997 | A |
5654885 | Mayhew et al. | Aug 1997 | A |
5684451 | Seberger et al. | Nov 1997 | A |
5687098 | Grumstrup et al. | Nov 1997 | A |
5715178 | Scarola et al. | Feb 1998 | A |
5847952 | Samad | Dec 1998 | A |
5878765 | Lange | Mar 1999 | A |
5884894 | Smith | Mar 1999 | A |
5892690 | Boatman et al. | Apr 1999 | A |
5966679 | Snowbarger et al. | Oct 1999 | A |
5970430 | Burns et al. | Oct 1999 | A |
5992229 | Pyotsia et al. | Nov 1999 | A |
6016875 | Orbach et al. | Jan 2000 | A |
6035878 | Adams et al. | Mar 2000 | A |
6102321 | Clary | Aug 2000 | A |
6155283 | Hansen et al. | Dec 2000 | A |
6192321 | Grumstrup et al. | Feb 2001 | B1 |
6272401 | Boger et al. | Aug 2001 | B1 |
6453261 | Boger et al. | Sep 2002 | B1 |
6466893 | Latwesen et al. | Oct 2002 | B1 |
6505145 | Bjornson | Jan 2003 | B1 |
6678584 | Junk et al. | Jan 2004 | B1 |
6745084 | Boger et al. | Jun 2004 | B1 |
20010032518 | Boger et al. | Oct 2001 | A1 |
20010037159 | Boger et al. | Nov 2001 | A1 |
20010037670 | Boger et al. | Nov 2001 | A1 |
20020052712 | Voser et al. | May 2002 | A1 |
20030144747 | Shakespeare | Jul 2003 | A1 |
Number | Date | Country |
---|---|---|
39 11 259 | Oct 1990 | DE |
095 40 441 | Apr 1997 | DE |
0 571 080 | Nov 1993 | EP |
0 660 017 | Jun 1995 | EP |
08018329 | Jan 1996 | JP |
09189370 | Jul 1997 | JP |
10-336238 | Dec 1998 | JP |
WO 0111436 | Feb 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040228173 A1 | Nov 2004 | US |
Number | Date | Country | |
---|---|---|---|
60447598 | Feb 2003 | US |