Oscillation Detection
Oscillation Detection
Abstract
This paper treats implementation of on-line procedures for automatic performance monitoring. Two on-line detection procedures,
one that detects oscillations in control loops and one that detects sluggish control loops, are first summarized. The implementation
aspects of these procedures are then discussed and experiences of their use in various industrial products are demonstrated.
r 2005 Elsevier Ltd. All rights reserved.
0967-0661/$ - see front matter r 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.conengprac.2004.12.006
ARTICLE IN PRESS
1384 T. Hägglund / Control Engineering Practice 13 (2005) 1383–1390
They have not got the time to optimize the control. Process output y and set point ysp
Many controllers are tuned once they are installed, and
then never again. To retain stability when operating
conditions change in non-linear plants, the controllers
are tuned for the ‘‘worst case’’. A better solution would,
of course, be to use gain scheduling and perhaps
adaptation. When a controller is retuned, it is mostly
because the process conditions cause oscillatory control.
In other words, when the controllers are retuned, they
are detuned. When the process conditions change to
sluggish control, the controller is normally not retuned
again. Sluggish control loops can be detected by the
method presented in Hägglund (1999).
This paper will first briefly review the two monitoring
procedures for detecting oscillating loops and sluggish
loops, respectively. These procedures can be implemen-
ted in several ways, on line or off line, in the controller Time
or DCS system that performs the control or in an
Fig. 1. Process output y and set point ysp (constant) during a period of
external computer. The main goal of this paper is to good control followed by a load disturbance.
explore these implementation aspects, and present the
requirements that are discovered through the experience long period without zero crossings occurs. This means
of their use in industrial control systems. that the IAE becomes large. When the IAE exceeds a
certain limit, IAElim ; it is therefore likely that a load
disturbance has occurred.
2. Monitoring tools The underlying idea of the oscillation-detection
procedure is to conclude that an oscillation is present
This section gives a summary of the two performance if the rate of load-disturbance detections becomes high.
monitoring tools. The behaviour of the control performance is monitored
over a supervision time T sup : If the number of detected
2.1. Oscillation detection load disturbances exceeds a certain limit, nlim ; during
this time, it can be concluded that an oscillation is
There are several reasons for oscillations in control present.
loops. They may be caused by excessively high controller The oscillation detection procedure has three para-
gains or oscillating load disturbances, but the most meters that must be set: IAElim ; T sup ; and nlim : In
common reason for oscillations is friction in the valve. A Hägglund (1995), the value of nlim is set to nlim ¼ 10: The
procedure for detecting oscillations in control loops was supervision time should be proportional to the time
presented in Hägglund (1995). constant of the loop. In Hägglund (1995) it is suggested
The principle behind the detection procedure is to to set T sup ¼ 5nlim T u ; where T u is the ultimate period
study the magnitude of the integrated absolute error obtained from a relay auto-tuning experiment, see
(IAE) between successive zero crossings of the control Åström and Hägglund (1995). If such an experiment is
error, i.e., not performed, it is suggested that T u be replaced with
Z ti
the integral time T i : Finally, the parameter IAElim is set
IAE ¼ jeðtÞj dt, (1) to IAElim ¼ 2a=ou ; where a as the lower limit of the
ti1
acceptable oscillation amplitude at the ultimate fre-
where eðtÞ ¼ ysp ðtÞ yðtÞ and ti1 and ti are two quency ou : A suggested value of a is 1% of the signal
consecutive instances of zero crossings. range. Again, if ou is not available, it is replaced by
It is assumed that the controller has integral action, so oi ¼ 2p=T i :
that the average control error is zero. If no integral For on-line applications, it is more convenient to
action is present, the average value of the measurement perform the calculations recursively. Such a procedure is
signal can be obtained using a low-pass filter. summarized in the following program:
During periods of good control, the magnitude of the
control error is small, and the times between the zero INITIALIZATION
crossings are relatively short. See Fig. 1: This means that a ¼ 1 ½%
during good control, the IAE values calculated accord- n_lim = 1;
ing to Eq. (1) become small. When a load disturbance if ultimate_frequency is available then
occurs, the magnitude of eðtÞ increases, and a relatively begin
ARTICLE IN PRESS
T. Hägglund / Control Engineering Practice 13 (2005) 1383–1390 1385
0
LOAD DETECTION 0 10 20 30 40 50
if sign(e) = sign(e_old) then
begin Fig. 2. Good and bad control of load disturbances.
iae = iae + abs(e) * h;
load = ;; Both responses have an initial phase where the two
end else signals go in opposite directions, i.e., DuDyo0; where
begin Du and Dy are the increments of the two signals. What
if iae 4iae_lim then load = 1 characterizes the sluggish response is, that after this
else load = ;; initial phase there is a very long time period where the
iae = abs(e) * h; correlation between the two signal increments is
end; positive. This observation forms the base for the Idle
index, see Hägglund (1999), which expresses the relation
between the times of positive and negative correlation
OSCILLATION DETECTION between the signal increments.
x = gamma * x + load; From now on, it is assumed that the sign of the static
if x 4n_lim then process gain is known, and for simplicity that it is
begin positive. Further, it is assumed that the control loop is
oscillation = true; subjected to load disturbances only. If there are setpoint
x = ;; changes present, these responses should be excluded
end; from the analysis.
The factor g determines the time horizon in the filter. Its To form the Idle index, the time periods when the
relation to the supervision time is correlations between the signal increments are positive
and negative, respectively, are calculated first. The
h following quantities are updated every sampling instant:
g¼1 , (2)
T sup (
tpos þ h if DuDy40;
where h is the sampling interval. tpos ¼
tpos if DuDyp0;
If the signal range of the process output is known, and (
if the time constant of the loop is possible to estimate, at tneg þ h if DuDyo0;
tneg ¼
least as T i ; then it is possible to run the oscillation tneg if DuDyX0;
detection procedure automatically without any further
process information. This property is of vital impor- where h is the sampling period. The idle index I i is then
tance in process control applications. A modified defined as
version of the method was suggested in Thornhill and
tpos tneg
Hägglund (1997), where no knowledge of the signal Ii ¼ . (3)
ranges was required. tpos þ tneg
Note that I i is bounded to the interval ½1; 1: A positive
value of I i close to 1 means that the control is sluggish.
2.2. The Idle index The Idle index for the sluggish response in Fig. 2 is
I i ¼ 0:82: A negative value of I i close to 1 may be
Many control loops are conservatively tuned, result- obtained in a well-tuned control loop. The Idle index for
ing in sluggish control. Fig. 2 shows two responses to the good response in Fig. 2 is I i ¼ 0:63: However,
load disturbances in the form of step changes at the negative Idle indices close to 1 are also obtained in
process input. One response is good, with a quick oscillatory control loops. Therefore, it is desirable to
recovery without any overshoot. The second response, combine the Idle index calculation with an oscillation
however, is very sluggish. detection procedure in order to detect these systems. Idle
ARTICLE IN PRESS
1386 T. Hägglund / Control Engineering Practice 13 (2005) 1383–1390
indices close to zero indicate that the controller tuning is perform the monitoring. In this section, this knowledge
reasonably good. is therefore considered first, and the possible implemen-
The conclusions are drawn under the assumption that tations are then discussed. The implementation issues
the load disturbances are step changes or at least abrupt are also treated in Dumont, Kammer, Allison, Ettaleb,
changes. This is a reasonable assumption in many and Roche (2002).
situations, since load changes are often caused by
sudden changes in production. However, if the load 3.1. Knowledge required
disturbances are varying slowly, the Idle index may
become positive and close to one even in situations when 3.1.1. Signals
the control is not sluggish. To avoid this, it might be Most performance monitoring tools require that the
advantageous to calculate the Idle index only during measurement signal is available, and several tools also
periods when there are abrupt load changes. This can be require that the setpoint and the control signal are
accomplished using load detection procedures, see provided.
Hägglund and Åström (2000). The oscillation detection procedure uses knowledge
A recursive version of the Idle index calculation is about the measurement signal only, whereas the Idle
given by the following procedure, which is updated index tool also requires that the control signal and the
every sampling instant: setpoint are available. The setpoint is needed to exclude
periods when the excitation is caused by setpoint
if DuDy40 then s ¼ 1
changes.
else if DuDyo0 then s ¼ 1 It is important that the representations of the signals
(4)
else s ¼ 0; are appropriate. The signals that enter the control block
if sa0 then I i ¼ gI i þ ð1 gÞs: in the DCS system are normally not the same as the
signals that are available on the AD/DA converters.
The factor g is defined in Eq. (2), where the supervision There might be filters and other functions inside the
time is T sup ¼ tpos þ tneg : DCS system that alters the signals between the AD/DA
The procedure is sensitive to noise, since increments converters and the control block. It is also important
of the signals are studied. It is therefore important to that the signals are sampled with a sampling period that
filter the signals. To do this, it is necessary to have some is short enough. Ideally, the sampling rate should be as
information about the process dynamics to find a high as the sampling rate of the control block in the
suitable filter time-constant. DCS system.
It is also desirable to avoid calculations near steady-
state, when the signal-to-noise ratio is small. A natural 3.1.2. Parameters
way to ensure this is to perform the calculations only There are several parameters that are useful in the
when monitoring tools. For example, the integral time is often
jej4e0 , (5) the only parameter available that describes the time
constant of the loop. Such a time is needed to determine
where e is the control error, and e0 is a threshold based the supervision time both in the oscillation detection
on a noise-level estimate or fixed to a few percent of the procedure and in the Idle index calculation. It is also
signal range. needed to determine suitable time constants in filters.
The supervision time T sup ¼ tpos þ tneg used in Eq. (3) This is of particular importance in the Idle index
or the corresponding factor g used in the recursive calculations.
calculations, Eq. (4), must be determined. As for the The signal ranges are also useful parameters. For
oscillation detection procedure, it is reasonable to example, the signal range of the measurement signal is
determine it as a factor times T u if this time is available, needed to determine the amplitude a leading to IAElim in
otherwise as a factor times T i : If at least one of these the oscillation detection procedure. It is also useful for
times are available, and if the signal ranges of u and y determination of the threshold e0 in the Idle index
are known, it is possible to make the Idle index calculation, see Eq. (5). The signal ranges are also used
calculation automatic without any further process to determine when signals become saturated.
information.
3.1.3. Operating conditions
It is important that the monitoring is performed only
3. Implemented where? during normal operating conditions. Data obtained
during manual control, during periods when the
The on-line performance monitoring tools may be controller is running in tracking mode, or during periods
implemented in various ways. The suitability of these when the signals are saturated should, e.g., be excluded.
implementations depends on the knowledge required to Therefore, it is important that the controller mode of
ARTICLE IN PRESS
T. Hägglund / Control Engineering Practice 13 (2005) 1383–1390 1387
operation is provided in the performance monitoring the experience obtained from this implementation is still
tools. limited.
In Paulonis and Cox (2003), a performance monitor-
ing system at Eastman Chemical Company is presented,
3.2. Implementation possibilities
where both the oscillation detection procedure and the
Idle index procedure are implemented. In this system
Since there is so much knowledge required to
over 14,000 loops in 40 plants at nine sites worldwide are
implement even such simple performance monitoring
supervised. The user interface is web based.
tools as those two described in this paper, these tools
The detection procedures have also been implemented
cannot be implemented in systems that only have access
in various DCS systems, e.g., from Hartman and Braun,
to signals. They must be implemented either in the DCS
Siemens, and Honeywell, especially in the Pulp and
system that performs the control, or in an external
Paper industry. These systems are more or less suitable
system that has access to the information needed
for this kind of implementation. Some have free-
through, e.g., an OPC server.
programmable blocks, but in most of the applications
An ideal implementation platform would be the DCS
the programming has been performed using the stan-
system. These systems are, however, limited in several
dard blocks already available.
aspects. First of all, the computation time left for
One example of such an implementation is made in
monitoring functions is often small because of all time-
the paper mill AssiDomän Frövi in Frövi, Sweden, see
critical control functions that run on the system.
Ericsson, Hägglund, and Rudfjäll (2002). The oscillation
Another limitation is the programming environment.
detection procedure is implemented in a High-Perfor-
Implementation of monitoring functions in the DCS
mance Process Manager (HPM) in the Honeywell
system is normally restricted to a rather primitive block-
TDC3000 system. The detection procedure is currently
programming language.
running on-line and supervises over 91% of the control
A more convenient solution is to implement the
loops, which corresponds to about 1200 loops, 24 hours
monitoring functions in a separate computer system that
a day in the carton board mill.
is connected to the DCS systems through OPC servers.
Since so many loops are supervised, all detections
This requires that the DCS systems have this facility,
must be handled and presented in a suitable way. Each
and that they are able to deliver the data at a rate that is
loop is characterized by its ‘‘oscillation index’’, which is
high enough. Since a typical process plant often has
an index that is increased every time an oscillation is
several DCS systems, another advantage with this
detected. The code presented in Section 2 is comple-
strategy is that it provides a possibility to handle and
mented with the following calculations:
present information from all loops in the plant in a
unified framework. Furthermore, the programming OSCILLATION INDEX CALCULATION
environment is often more convenient in these external if oscillation = true then
systems than in the DCS systems. begin
oscindex = oscindex + Ti/6;;
end;
4. Implementations
The reason why the oscillation index is increased
The oscillation detection procedure was first imple- by the integral time (in minutes) is that it makes it
mented in the single-station controllers ECA400 and possible to compare oscillation indices of different
ECA600 from ABB. The method is fully automatic in loops with different time constants. A rapidly osc-
the sense that all parameters are fixed to the values illating loop has a short integral time and a high
suggested in Section 2. When an oscillation is detected, frequency of oscillation detections, whereas a slow loop
the front starts to flash and continues to flash until the has a long integral time and a low rate of oscillation
alarm is acknowledged. The detection procedure also detections.
has an additional function. If the ECA600 controller is The oscillation index is reset to zero when the
running in adaptive mode, the adaptation is switched off controller is tuned or when a maintenance is performed.
as soon as an oscillation is detected. This is to avoid In this way, it is easy to get a quick historical overview
detuning the controller in case of stick-slip motion of the different loops by inspecting the history of their
caused by friction in the valve. An application of the use oscillation index.
of the monitoring procedure in the ECA600 controller is The most oscillatory loops are presented on a
described in Section 5. ‘‘top-ten list’’ in the mill-wide information system
Both the oscillation detection procedure and the Idle for proper action by the instrument department.
index calculation are implemented in the ABB In- Two examples from the implementation are given in
dustrialIT system, but this system is recently released and Section 5.
ARTICLE IN PRESS
1388 T. Hägglund / Control Engineering Practice 13 (2005) 1383–1390
7
6.5
systems through OPC servers.
6
Some examples of successful applications of perfor-
5.5 mance monitoring tools have also been given in the
0 100 200 300 400 500 600 700 800 paper. The use of this technique is increasing rapidly,
and several papers have verified that this is a good way
Fig. 5. Stick-slip motion in a differential pressure loop. The upper
diagram shows the measurement signal (y) and the lower diagram to increase productivity and reduce down time in
shows the control signal (u). process control plants.
Stanfelj, N., Marlin, T., & MacGregor, J. (1993). Monitoring and Thornhill, N. F., Oettinger, M., & Fedenczuk, P. (1999). Refinery-wide
diagnosing process control performance: The single-loop case. control loop performance assessment. Journal of Process Control,
Industrial and Engineering Chemistry Research, 32, 301–314. 9, 109–124.
Thornhill, N. F., & Hägglund, T. (1997). Detection and diagnosis of Tyler, M. L., & Morari, M. (1996). Performance monitoring of
oscillation in control loops. Control Engineering Practice, 5, control systems using likelihood methods. Automatica, 32,
1343–1354. 1145–1162.