You are on page 1of 11

Control Engineering Practice 7 (1999) 1221}1231

A simple method for detection of stiction in control valves


Alexander Horch*
Department of Signals, Sensors and Systems, Royal Institute of Technology, S-100 44 Stockholm, Sweden
Received 8 February 1999; accepted 28 May 1999

Abstract
A simple method diagnosing oscillations in process control loops is presented. The new method is based on the cross-correlation
between control input and process output and it is shown to correctly distinguish between two important reasons for oscillations in
control loops in the process industry, namely external oscillating disturbances and static friction (stiction) in control valves.  1999
Elsevier Science td. All rights reserved.
Keywords: Oscillation detection; Diagnosis; Stiction; Cross-correlation

1. Introduction
In the last decade, there has been increasing research
activity in the area of control performance monitoring,
Harris, Seppala and Desborough (1999). Also, the process industry has shown an interest in automatic performance assessment tools. Severe deterioration of
performance in process control loops is indicated by
oscillations. Simple and e$cient methods have been proposed for the automatic detection of oscillating control
loops (HaK gglund, 1995; Forsman & Stattin, 1999). When
an oscillation is detected, one would like the monitoring
system to indicate the possible cause of the problem in
order to enable the operators to alleviate the problem.
Only few methods to solve this task have been proposed,
see e.g. Taha, Dumont and Davies (1996), Deibert
(1994), Horch and Isaksson (1998), HaK gglund (1995)
or WalleH n (1997). Unfortunately, all the approaches
mentioned require either detailed process knowledge or
user interaction. Since neither is desirable for an automatic monitoring system, this contribution will suggest
an alternative method for oscillation detection. It does
not require prior knowledge about the process or any
user interaction.
The basic idea is to make use of the correlation information between controller output u(t) and process

* Corresponding author. Tel.: #46-8-7907240; fax: #46-8-7907329.


E-mail address: alexander.horch@s3.kth.se (A. Horch)

output y(t). This information is always available in a distributed control system (DCS) and does not require any
process knowledge at all. Correlation information was
also used in HaK gglund (1997) in order to detect sluggishly
tuned controllers.
The remainder of this paper is organised as follows:
First, the main results obtained from observations
are presented. Then, an algorithm for the oscillation
diagnosis procedure is described. The method has
been extensively tested on industrial data. Examples
where the cause of the oscillation was known are presented. A theoretical explanation is "nally developed in
Section 5.

2. Some observations
Some empirical results are presented here, which will
be explained in Section 5. In this paper the following
assumptions are needed:
E The process does not have an integral action.
E The process is controlled by a PI-controller.
E The oscillating loop has been detected as being oscillating with a signi"cantly large amplitude.
Furthermore, it will be assumed that the oscillation
period is 2p. This is easy to achieve by time scaling and
does not change the correlation information. By visual
inspection of oscillating data sets +u(t), y(t),
*
R 2 ,
where u(t) and y(t) are the control signal and the measured output, respectively * one can make the following

0967-0661/99/$ - see front matter  1999 Elsevier Science Ltd. All rights reserved.
PII: S 0 9 6 7 - 0 6 6 1 ( 9 9 ) 0 0 1 0 0 - 8

1222

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

observations:

3. The cross-correlation function

(1) In the case of static friction (stiction) in a control


valve, the signals are shifted (by approximately p/2) so
that the cross-correlation is an odd function.
(2) Oscillating external disturbances result in a phase
shift of approximately p. Then the cross-correlation is
an even function.
(3) An unstable loop which oscillates with constant amplitude (due to input saturation) also results in an
even cross-correlation function.

In this section, a simple algorithm is described that


allows the two most important possible causes for a detected oscillation to be distinguished. As mentioned, this
will be done by calculating the cross-correlation function
for the loop output y(t) and the control signal u(t). The
cross-correlation function for the stationary (ergodic)
signals u(t) and y(t) is de"ned as

A case that is not mentioned here is that of an oscillating setpoint which is rather special. It implies that
some outer loop in a cascade structure must be oscillating. Since the oscillation will be detected in that
outer loop, there is no need to consider oscillating
setpoints. Interestingly, in the case of an oscillating setpoint, the phase-shift between u(t) and y(t) only depends
on the process dynamics G(s) and is independent of the
actual controller. This can easily be proven by calculating the transfer functions from setpoint to >(s) and to
;(s) and considering the ratio >(s)/;(s)"G(s). Hence
there are only two di!erent cases to be considered. The
cross-correlation functions for these cases are shown in
Fig. 1.

r (q)"E+u(t#q)y(t),
SW
2
" lim
u(t#q)y(t) dt.
(1)
2
\2
2
Assume that the data is pre-treated so that it is stationary
and of zero mean.
Since the available data sets are of a "nite length N, the
correlation functions cannot be calculated exactly. The
computation has to be done from "nite data and one can
choose several possible normalisations. The estimate of
r (q) can be obtained by
SW
,\O\
r (q)" u(k)y(k#q),
(2)
SW
I
where no normalisation is used at all. See Bendat and
Piersol (1971) for more details. For all results shown in

Fig. 1. The cross-correlation function between input u(t) and output y(t) (bottom) and typical data sets (top). Left: stiction case (odd function); right:
oscillating external disturbance or unstable loop with saturation (even function).

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

Section 4 a normalisation was used that ensured that the


autocorrelation at lag zero was always unity. However,
normalisation is not necessary for the results in this
paper. In order to distinguish between odd and even
correlation functions, it is su$cient to consider the
cross-correlation at lag zero. However, for a practically
working algorithm it is better to make use of the crosscorrelation function up to the "rst zero-crossing in each
direction.
3.1. Implementation
The calculation of the cross-correlation function can
be done easily using (2). The more di$cult part is to
automatically distinguish if the function is odd or even.
Clearly, there are many ways to achieve this. In order to
"nd a simple algorithm, de"ne
r (q)" cross corr. function,
SW
q " zero crossing for pos. lags,
P
!q " zero crossing for neg. lags,
J
r " cross corr. at lag 0,

r " sign(r ) ) max "r (q)",


SW
OZ \OJ OP

"q !q "
P,
*q" J
q #q
J
P
"r !r "
 ,
*. " 
"r #r "


(see Fig. 2). Theoretically, it would be su$cient to consider either *q or *. . However, the use of both variables
will result in a more reliable detection procedure. To
distinguish between the two mentioned oscillation cases,
one has to set up limits for *q and *. . Let *
denote
the phase shift between the signals u(t) and y(t). Since the

Fig. 2. De"nition of key variables for the correlation function.

1223

aim is to distinguish phase shifts *


by p/2 and p,
respectively, one can formulate the following rules:
(1) interpret *
"p/2$p/6 as *
"p/2,
(2) interpret *
"p$p/6 as *
"p.
The case of a phase shift *
3[p/2#p/6, p!p/6] is
not covered in the above rules. In this case, no diagnosis
will be given in order to avoid wrong indications. Note
also that the case *
"!p is contained in this set-up
since a shift by p cannot be distinguished from a shift by
!p. Then, in terms of *q and *. the above rules
translate to
2!(3
0.0(*. 4
2#(3
0.0(*q4

2!(3
(*. 4

2#(3
(*q4



N*
"n,

Nno decision,

(*. (1.0

N*
"p .
(3)

(*q(1.0

These results are derived assuming a pure sinusoidal
correlation function. Since this is usually not the case in
practice a dead-zone [ p,  p] is introduced where no
 
diagnosis is made at all. This may for instance happen
when the cross-correlation function is asymmetrical. It
may be an indication of a more unusual problem, e.g. like
sensor faults.

4. Industrial examples
In this section, the new method will be evaluated on
real-world data sets, collected from di!erent pulp and
paper mills. For each data set, the input}output data is
plotted together with its cross-correlation function estimate. The numerical results for all examples are presented in Table 1.
For all the data sets considered in this section it is
assumed that an oscillation detection mechanism has
successfully detected an oscillation, see Section 1. Furthermore, all loops are controlled by a PI-controller.
Tight control [PreHeat]: Consider "rst the case of
a controller tuned too tightly in connection with input
saturation. The data and the cross-correlation function
are shown in Fig. 3. The numerical values can be found in
Table 1. It can be seen that there is an almost perfect
phase-shift of p between the input and output (*. "0).
Loop interaction I [Flow039, Conc039]: The next example
consists of two coupled oscillating loops from a paper mill.

1224

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

Fig. 4 shows a process schematic. Pulp is diluted with


water in order to obtain a desired concentration. The
water #ow is controlled by one control valve and the
pulp #ow by another. The water valve is known to have
static friction that is too high, whereas the pulp valve
performs satisfactorily. The measured data and the
cross-correlation function for the concentration control
loop are shown in Fig. 5. The cross-correlation function
here is odd and the correlation at lag zero is approximately zero. Note that the data does not have the ideal
stiction behaviour with rectangular and triangular signals as shown in Fig. 1. In this case, methods using these
characteristic patterns would fail in diagnosing the correct cause of the problem.

Now, consider the #ow control loop in Fig. 4. Since the


concentration loop oscillates, the #ow control loop oscillates too. Thus there is a situation of an oscillating load
disturbance. Data and cross-correlation patterns are
shown in Fig. 6. As can be seen, the cross-correlation
function is approximately even and the result is in agreement with the knowledge about the loop.
Loop interaction II [FC105, QC193]: Consider a twoby-two system similar to the one in Fig. 4. It is known
from experiments that both loops oscillate because the
PI-controller in the concentration loop was too tightly
tuned. The oscillation has been eliminated by re-tuning
the controller. The oscillation in the #ow control loop
was also stopped by this. Hence, the correlation functions

Table 1
Numerical results from the detection algorithm
Data set

q
P

PreHeat
Conc039
Flow039
FC525,I
FC525,II
FC105
QC193
FC505

10
70
46
20
21
10
9
42

8
9
26
2
2
7
8
2

r


r


*.

*q

0.93
0.34
0.77
0.15
0.14
0.95
0.99
0.10

0.93
0.86
0.85
0.85
0.84
0.94
0.99
0.55

0.00
0.43
0.04
0.69
0.71
0.00
0.00
0.70

0.11
0.78
0.28
0.82
0.83
0.18
0.06
0.91

Fig. 4. Two coupled loops from a concentration control loop.

Fig. 3. Data from a preheater tank level control in a pulp mill. Top: loop output (solid) and control signal (dash-dotted), bottom: cross-correlation
function.

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

1225

Fig. 5. Input}output data for concentration control loop [Conc039] in a paper mill. Top: loop output (solid) and control signal (dash-dotted), bottom:
cross-correlation function.

Fig. 6. Input}output data for #ow control loop [Flow039] in a paper mill. Top: loop output (solid) and control signal (dash-dotted), bottom:
cross-correlation function.

for both loops are expected to be even functions. Figs. 7


and 8 show that this is actually the case. Note that the
cross-correlations at lag zero are positive and negative,

respectively. This is because the concentration loop has


a negative gain. It can be clearly seen that both correlation functions are even, which indicates that the

1226

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

Fig. 7. Input}output data for concentration control loop [FC105]. Top: loop output (solid) and control signal (dash-dotted), bottom: crosscorrelation function.

Fig. 8. Input}output data for #ow control loop [QC193]. Top: loop output (solid) and control signal (dash-dotted), bottom: cross-correlation
function.

oscillation is due to interaction or to a parameter that is


too tightly tuned. In fact the multivariable nature of this
loop was not taken into account when tuning the decentralised PI-controllers.

This is obviously a situation where the cause of the


problem cannot be diagnosed using the cross-correlation
function. Further research has to be done in order to
correctly diagnose this case.

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

A yow control loop I [FC525]: Another example for an


oscillating #ow control loop is considered here. From
experiments it is known that interaction with other control loops is not very likely. Also the controller re-tuning
did not remove the oscillation. One likely explanation
is a sticking control valve. There are data sets available
for this loop that were collected daily over a period
of several months. The oscillation is always present
but it changes shape dramatically at di!erent points
in time. The correlation result for a case that is not
easily diagnosed by visual inspection is shown in Fig. 9.
This can be compared with another data set from the
same control loop. The results are shown in Fig. 10. It
can be seen that the cross-correlation functions look
similar to those in Fig. 1 in both cases. Even though the
signal shapes are di!erent, there is almost no di!erence in
the cross-correlation pattern. Hence, one may conclude
that the loop exhibits stiction. Note again that the correlation function is inverted, because the process gain is
negative.
A yow control loop II [FC505]: For this example it is
known that the loop in question has problems with valve
stiction. Apart from that, the #ow measurement is
very noisy. If one assumes that the oscillation has been
detected, the cross-correlation method will easily diagnose stiction. The results from correlation analysis are
shown in Fig. 11. Note that the measured output does
not have a pronounced rectangular shape as shown in the

1227

upper left part of Fig. 1. However, it does have if one


"lters the data, but this is not necessary when using the
cross-correlation. It will yield the same results in either
case.

5. Theoretical explanation
The aim of this section is to explain the algorithm
presented in Section 3. Given the assumptions made in
the introduction, two things have to be shown: Firstly,
why the cross-correlation function for u(t) and y(t) is
typically an even function when external oscillating disturbances enter the loop has to be explained. Secondly, it
has to be shown that typical stiction behaviour results in
an odd cross-correlation function.
Consider a control loop which oscillates with constant
amplitude and frequency, i.e. all transients have vanished.
Assume that the reference value is constant (see Fig. 12).
Then, the relationship between controller output u(t)
and process output y(t) is completely described by the
controller,
u(t)"!F(s)y(t),

(4)

where F(s) is the controller transfer function. One is


interested in determining whether the cross-correlation
function of two signals is odd or even. This is equivalent
to investigating whether the phase shift between the

Fig. 9. Input}output data for #ow control loop [FC525,I] in a paper mill. Top: loop output (solid) and control signal (dash-dotted), bottom:
cross-correlation function.

1228

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

Fig. 10. Input}output data for #ow control loop [FC525,II] in a paper mill. Top: loop output (solid) and control signal (dash-dotted), bottom:
cross-correlation function.

Fig. 11. Results for a #ow loop with stiction [FC505]. Top: loop output (solid) and control signal (dash-dotted), bottom: cross-correlation function.

signals is a half or a whole period. Note that it does not


matter for these purposes if the phase shift is described as
positive or negative. Changing the sign will result in an

inverted correlation function. A negative static process


gain has the same e!ect. However, for distinguishing odd
and even correlation functions this does not matter.

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

5.1. Correlation for oscillating external disturbances


It was assumed that the process in question is controlled by a PI-controller, i.e.

1
F(s)"K 1#
.
A
s
G
Since one is interested in the phase shift between u(t) and
y(t), consider the Bode plot of !F(s). The negative
controller transfer function is
!F(s)"!K
A

s#1
G
.
s
G

The magnitude and phase of !F(s) are obtained as


"!F(iu)""K

(1#u
G *

A
u
G

"arg+!F(iu),"!p#arctan[ u].

G

Fig. 12. A general control loop.

1229

The Bode plot for !F(iu) is shown in Fig. 13. The phase
shift *
depends on the break frequency u "1/ and
A
G
will always satisfy !p)*
)!p.

Assume that some oscillating disturbance enters the
control loop somewhere in the process. In general lowfrequency disturbances will be eliminated e$ciently by
the PI-controller since a controller with integral action
causes a high loop gain at low frequencies. Since only
oscillations which can be detected by one of the methods
referred to in the introduction are considered, a phase
shift of !p is unlikely to occur in the case of an

oscillating external disturbance.
On the other hand, if a medium- or high-frequency
oscillating disturbance enters the loop, it may not be
attenuated su$ciently so that an oscillation will be detected. However, in that case the phase-shift will typically be
near !p and thus be classi"ed correctly by the algorithm described in Section 3.1. It is therefore important
that a detection algorithm can suppress an alarm if the
oscillation amplitude is too small to be signi"cant.
5.2. Correlation in the presence of stiction
Before calculating the cross-correlation function for
typical signals generated by stiction, the use of these
typical signals has to be explained. Stiction implies that
the valve piston periodically pops from one position to
another. This, together with the assumption of a PIcontroller results in the typical stiction pattern shown in

Fig. 13. Bode diagram for !F(iu). Exact (solid) and asymptotic (dash-dotted).

1230

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

Fig. 14. Simulated ideal stiction behaviour. Top: Measured loop output, bottom: control signal.

Let the signals be described as

Fig. 15. Ideal input u(t) (right) and output y(t) (left) signal in the
presence of stiction.

Fig. 14. This behaviour can be simulated using a simple


friction model (Olsson, 1996; Horch & Isaksson, 1998).
Expressions for the cross-correlation function in the
case when the phase shift between u(t) and y(t) is p/2 will
now be derived. Assume without loss of generality, that
both signals u(t) and y(t) are periodic with period 2p.
Then, each of them can be expanded in a Fourier series
a

f (t)" # (a cos[kt]#b sin[kt]).
I
I
2
I

(5)

Assume that the signals considered here are odd, i.e. they
are asymmetric with respect to the origin, see Fig. 15.
This can be done without loss of generality, since it does
not matter where a periodic function starts. Using that,
a "0, i in (5). The key point of the new method is to
G
look at the phase shift between the control signal and the
output signal. Therefore, the expression for the crosscorrelation has to be dependent on the phase shift *
.


u(t#q)" b sin[k(t#q)],
I
I

(6)


y(t#*
)" c sin[l(t#*
)],
I
J

(7)

where q is the lag of the cross-correlation. Inserting these


in (1) gives
1  
bc
r (q, *
)" lim
I J
SW
2
2
I J

sin[k(t#q)]sin[l(t#*
)] dt.

\2

After some tedious but straightforward calculations this


is calculated to be
1 
r (q, *
)" b c cos[k(q!*
)],
SW
I I
2
I

(8)

where




1 p
b"
u(t) sin[kt] dt,
I p
\p
1 p
c"
y(t) sin[kt] dt.
I p
\p

(9)

A. Horch / Control Engineering Practice 7 (1999) 1221}1231

1231

6. Conclusions
A simple method for diagnosing the likely cause of
a detected oscillation in a control loop is presented. Only
normal operating data that is usually available in the
control system is needed. The oscillation has to be detected "rst, otherwise wrong indications may be given. This
method, which is based on cross-correlation is easy to
implement and does not require any process knowledge.
It is possible to distinguish between the two most important reasons for oscillations in control loops, namely
static friction in the actuator and loop interaction.
Even though the method was evaluated and explained
assuming a PI-controller, it is also likely to give reasonable results even for similar control structures, i.e. full
PID-controllers or lead-lag compensators.
The method has been successfully evaluated on industrial
data sets where the actual oscillation cause was known.
Fig. 16. Approximation of r (q, !p/2). Truncation after "rst term
SW
(dashed) and after 50 terms (solid).

Acknowledgements

There u(t) and y(t) are as shown in Fig. 15. For the case of
a rectangular signal y(t),

b"
I

4C
if k"1, 3, 5, 2,
kp
0

(10)

The author would like to thank the Swedish National


Board for Industrial and Technical Development
(NUTEK) for supporting this work. Furthermore,
fruitful discussions with Prof. Alf Isaksson, Dr. Krister
Forsman and Dr. Stefan RoK nnbaK ck are gratefully
acknowledged.

if k"2, 4, 6, 2.
References

A triangular signal u(t) results in

c"
I

4m
(!1)I> if k"1, 3, 5, 2,
kp
0

(11)

if k"2, 4, 6, 2.

Now, the cross-correlation function for the stiction case


will be calculated. Inserting (10) and (11) in (18) yields
8  cos[(2i!1)(q!*
)]
r (q, *
)"
(!1)G>.
SW
p
(2i!1)
G

(12)

Fig. 16 shows r (q,!p/2) in (12) using only the "rst


SW
element and after having calculated the "rst 50 elements.
It can be seen that it is su$cient to truncate the in"nite
sum after the "rst element. Truncating this series after the
"rst element and with *
"p/2 gives
8
r (q, !p/2)+ sin(q).
SW
p

(13)

Now it can easily be seen that the cross-correlation


function for u(t) and y(t) for the case of stiction is in good
agreement with the empirical results described above.

Bendat, J. S., & Piersol, A. G. (1971). Random data: Analysis and


measurement procedures. New York: Wiley.
Deibert, R. (1994). Model based fault detection of valves in #ow control
loops. IFAC symposium on fault detection, supervision and safety for
technical processes * SAFEPROCESS '94, vol. 2, (pp. 445}450).
Espoo, Finland.
Forsman, K., & Stattin, A. (1999). A new criterion for detecting oscillations in control loops. European control conference. Karlsruhe, Germany, CP8-3.
HaK gglund, T. (1995). A control-loop performance monitor. Control
Engineering Practice, 3(11), 1543}1551.
HaK gglund, T. (1997). The idle index. Technical Report ISRN
LUTFD2/TFRT}7568}SE. Department of Automatic Control.
Lund Institute of Technology, Lund, Sweden.
Harris, T. J., Seppala, C. T., & Desborough, L. D. (1999). A review of
performance monitoring and assessment techniques for univariate
and multivariate control systems. Journal of Process Control, 9(1),
1}17.
Horch A., Isaksson, A.J. (1998). A method for detection of stiction in
control valves. IFAC Workshop on on-line-fault detection and supervision in the chemical process industry. Lyon, France, Session 4B.
Olsson, H. (1996). Control systems with friction. Ph.D. thesis. Department of Automatic Control, Lund Institute of Technology.
Taha, O., Dumont, G.A., Davies, M.S. (1996). Detection and Diagnosis
of oscillations in control loops. 35th IEEE conference on decision and
control (pp. 2432}2437). Kobe, Japan.
WalleH n, A. (1997). Valve diagnostics and automatic tuning. Proceedings
of the American control conference (pp. 2930}2934). Albuquerque,
New Mexico.

You might also like