Professional Documents
Culture Documents
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
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),
*
R2,
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
observations:
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).
"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
1223
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
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. 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.
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.
1226
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.
1227
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)
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
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.
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
(1#u
G *
A
u
G
"arg+!F(iu),"!p#arctan[ u].
G
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
Fig. 14. Simulated ideal stiction behaviour. Top: Measured loop output, bottom: control signal.
Fig. 15. Ideal input u(t) (right) and output y(t) (left) signal in the
presence of stiction.
(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)
sin[k(t#q)]sin[l(t#*
)] dt.
\2
(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)
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)
if k"2, 4, 6, 2.
References
c"
I
4m
(!1)I> if k"1, 3, 5, 2,
kp
0
(11)
if k"2, 4, 6, 2.
(12)
(13)