Optimal auto-tuner for use in a process control network

A device and method that automatically tune a valve controller coupled to a process control loop generate a plurality of sets of tuning parameters for use by the controller, deliver a test signal, such as a blocked sinusoidal signal, to the controller to force the process control loop through a test cycle while each of the plurality of sets of tuning parameters are being used by the controller and measure a response of the process control loop during each of the test cycles. The device and method then calculate a performance index for each of the plurality of sets of tuning parameters based on the measured responses and select one of the sets of tuning parameters based on the calculated performance indices. The selected set of tuning parameters is then loaded into the controller for use during normal operation of the process control loop.

TECHNICAL FIELD 
The present invention relates generally to auto-tuners for use in process 
control networks and, more particularly, to process control auto-tuners 
that determine an optimal set of tuning parameters for use in controlling 
a process or for use in controlling a valve positioner and a valve device 
in a process environment. 
DESCRIPTION OF RELATED ART 
Beginning in the middle of the 1950's, auto-tuning or self-tuning process 
controllers have been used in certain industries, such as the aerospace 
and process control industries, to automatically determine a set of tuning 
parameters, such as a set of gains, for use in controlling a process or a 
process control device such as a valve. Generally speaking, these 
self-tuning or adaptive controllers implement a system identification 
procedure that determines one or more characteristics of a process or a 
device and a control design procedure that determines an appropriate set 
of tuning parameters based on the determined process or device 
characteristics. 
System identification procedures typically induce controlled oscillation 
within a process or a device, measure the values of one or more process 
variables during the controlled oscillation and then determine certain 
process or device characteristics, such as the ultimate gain, the ultimate 
period and the time delay of the process or the device based on the 
measured variables. These system identification procedures then use the 
process or the device characteristics to identify the type of process or 
device being controlled based on standard mathematical procedures. 
Alternatively, some system identification procedures perform model 
matching or signature analysis techniques to determine which of a set of 
stored mathematical models (or process signatures) most closely matches or 
fits the data associated with the measured process variables. 
After the characteristics of a process or a device are derived, or a model 
for the process or device is determined, the process or device is 
identified as being one of a number of different types of, for example, 
linear processes so that a set of defining equations may be generated 
therefor. The control design procedure then calculates or otherwise 
determines an appropriate set of tuning parameters (such as gains) based 
on the results of the system identification procedure and loads these 
tuning parameters into a process controller or a device controller for use 
in controlling the process or the device. 
Because auto-tuning or adaptive controllers have been known for a 
significant amount of time, many system identification strategies, such as 
recursive least squares approaches, Poisson moment functional approaches 
and describing function approaches, have been developed to characterize a 
process or a device. Likewise, many control design strategies, such as 
pole-placement methods, Zeigler-Nichols methods, and modified 
Zeigler-Nichols methods, have been developed to determine a set of tuning 
parameters for use in controlling a process or a device after such process 
or device has been characterized. One of the most versatile control design 
techniques uses the linear quadratic Gaussian (LQG) approach to select a 
set of tuning parameters for a controller. However, most of these known 
methods, including the LQG approach, are only optimal when used with 
linear processes or devices or when used in processes or devices for which 
a set of linear equations can be identified. Consequently, most of these 
approaches, including the LQG approach, are sub-optimal when used to 
determine a set of tuning parameters for controlling processes or process 
control devices, such as control valves, that are non-linear in nature or 
that include peculiar and hard-to-quantify non-linear regions. 
SUMMARY OF THE INVENTION 
The auto-tuner of the present invention uses a systematic experimental 
approach to determine a set of tuning parameters, such as a set of gains, 
for use in controlling a process or a process control device and, as a 
result, does not need to explicitly characterize a process or a device 
which, in turn, enables the auto-tuner of the present invention to develop 
an optimal set of tuning parameters for both linear and non-linear 
processes and process control devices. 
In general, the auto-tuner of the present invention forces a process or a 
process control device through a test cycle using each of a plurality of 
different sets of tuning parameters, measures the response of the process 
or the process control device during each of the test cycles and 
determines which of the sets of tuning parameters minimizes a predefined 
performance index. The auto-tuner of the present invention then loads the 
determined set of tuning parameters in a controller which controls the 
process or the process control device during normal operation. 
According to one aspect of the present invention, an auto-tuner develops a 
set of operational tuning parameters, such as a set of gains, for use by a 
process or a device controller that is connected within a process to 
receive a reference signal. The auto-tuner includes a tuning parameter 
generator that generates a plurality of sets of tuning parameters for use 
by the controller during a tuning procedure, a test signal generator that 
delivers a test signal to the controller as the reference signal during 
the tuning procedure and a data collector adapted to receive measurements 
of an input variable and an output variable associated with the process 
during the tuning procedure. A performance index generator determines a 
performance index associated with each of the plurality of sets of tuning 
parameters from the measurements of the input variable and the output 
variable and, thereafter, a tuning parameter selection unit selects one of 
the plurality of sets of tuning parameters as the set of operational 
tuning parameters based on the performance indices. 
Preferably, the controller is coupled within a process control system to 
drive a valve positioner that is connected to a valve actuator/valve 
device via a fluid pressure line. In such a configuration, the data 
collector may be coupled to the valve positioner and to the valve to 
collect data pertaining to, for example, the valve position, the drive 
signal delivered to or developed by the valve positioner and one or more 
intermediate state variables such as the actuator pressure within the 
valve actuator. 
Also, preferably, the test signal generator develops a blocked sinusoidal 
signal or some other test signal that includes a multiplicity of discrete 
changes therein and the data collector collects a series of measurements 
for the input variable and for the output variable after each of the 
discrete changes in the test signal for each of the plurality of sets of 
tuning parameters. Moreover, the performance index generator may calculate 
the performance index associated with each of the plurality of sets of 
tuning parameters as an expected value of performance indices associated 
with each of the discrete changes in the test signal or as a combination 
of a norm of a difference between the reference signal and the output 
variable and a norm of the input variable. 
According to another aspect of the present invention, an auto-tuner that 
develops a set of operational tuning parameters for a valve positioner 
includes a data collector coupled to a valve to collect data pertaining to 
an input variable and to an output variable and includes a signal 
generator that delivers a predetermined test reference signal to the valve 
positioner during a tuning procedure. The auto-tuner also includes a 
computer program embodied on a computer readable medium that performs the 
steps of generating a plurality of sets of tuning parameters for use by 
the valve positioner during the tuning procedure, calculating a 
performance index associated with each of the plurality of sets of tuning 
parameters from the collected data pertaining to the input variable and 
the output variable and selecting one of the plurality of sets of tuning 
parameters as the set of operational tuning parameters based on the 
performance indices. 
According to a still further aspect of the present invention, a method of 
automatically tuning a controller coupled to a process control loop 
includes the steps of generating a plurality of sets of tuning parameters 
for the controller, forcing the process control loop through a test cycle 
while the controller uses each of the plurality of sets of tuning 
parameters, measuring a response of the process control loop during the 
test cycle associated with each of the plurality of sets of tuning 
parameters and calculating a performance index for each of the plurality 
of sets of tuning parameters based on the measured responses. Thereafter, 
the method selects one of the set of tuning parameters as a set of 
operational tuning parameters for the controller based on the calculated 
performance indices and loads these operational tuning parameters into a 
controller.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
Referring now to FIG. 1, a standard process control system or loop 10 
includes a controller 12 that produces a control or drive signal (u) which 
controls the operation of a process or a plant 14. A process variable (y) 
developed by the plant 14 is fed back to a summer 16, where it is 
subtracted from a reference signal or set point (r) to produce an error 
signal (e) which, in turn, is provided to the controller 12. The 
controller 12 implements a standard control algorithm that changes the 
drive signal u so as to force the process variable y to match the set 
point r whenever the error signal e is non-zero. 
The process control system 10 also includes an auto-tuner 17 having a 
system identification block 18 and a control design block 20. The 
auto-tuner 17 implements a tuning procedure to develop a set of tuning 
parameters, such as a set of gains, for use by the controller 12. During 
such a tuning procedure, the system identification block 18 provides a 
forcing function (such as a square wave signal) to the summer 16 as the 
reference signal r which, in turn, causes the plant 14 to go into a state 
of controlled induced oscillation. At this time, the system identification 
block 18 measures the control or drive signal u and the process variable y 
and uses these measured signals to characterize the plant 14 or to 
characterize a performance index associated with the plant 14 according to 
any standard process identification or modeling technique. While the 
auto-tuner 17 is illustrated in FIG. 1 as implementing system 
identification in a closed-loop manner, the auto-tuner 17 may implement 
system identification in an open-loop manner as well. 
After the system identification block 18 has characterized the plant 14, 
the defining characteristics are provided to the control design block 20 
which develops a set of tuning parameters for use in the controller 12 
based on the identified characteristics of the plant 14. In some prior art 
systems, the control design block 20 uses a linear quadratic Gaussian 
(LQG) approach to select an appropriate set of gain values. 
The LQG approach can be generally implemented by solving for equation (1) 
below which is constrained by equations (2), (3) and (4). The coefficients 
in equations (2) and (3) may be estimated by, for example, the system 
identification block 18. Equation (4) describes the feedback structure and 
does not have to be estimated. 
______________________________________ 
##STR1## (1) 
x[i + 1] = Ax[i] + Bu[i] + w.sub.1 [i] 
(2) 
y[i] = Cx[i] + Du[i] + w.sub.2 [i] 
(3) 
u[i] = k[i]x[i] (4) 
wherein: 
k[i] = a gain vector at the ith time 
period; 
J = a performance index; 
N = the number of measured samples 
used to determine the 
performance index; 
x[i] = the plant state vector at the ith 
time period; 
u[i] = the drive signal vector at the ith 
time period; 
y[i] = the output variable vector at the 
ith time period; 
w.sub.1 [i] = 
a Gaussian random plant 
disturbance vector at the ith 
time period; 
w.sub.2 [i] = 
a Gaussian random measurement 
disturbance vector at the ith 
time period; 
A, B, C, D = matrixes that describe the 
dynamics of the plant 14; and 
S, R, Q = weighting coefficient matrixes 
that identify a preferred optimal 
operation of the plant 14. 
______________________________________ 
For the purpose of clarity, all vector variables are indicated herein by 
bold, lower-case letters, all matrixes are indicated by bold, upper-case 
letters and all scalars are indicated by standard font. The expression 
E{f(x)} identifies the expected value of the function f(x) while the 
expression min.sub.k J minimizes the scalar J with respect to the vector 
k. 
As will be understood from the above equations, when using the LQG 
approach, the control design block 20 solves equation (1) to identify the 
gain vector k associated with the minimum performance index J for an 
identified set of plant dynamics (defined by the matrixes A, B, C and D) 
and for a given optimal performance index (defined by the weighting 
coefficient matrixes S, R and Q). 
The right side of equation (1) can generally be thought of as the expected 
value of the sum of three penalizing components. The first penalizing 
component 
EQU x.sup.T [N]Sx[N] 
places a penalty on the final value of the state vector x. Thus, when the 
final components of the state vector x are non-zero, the performance index 
J is increased by an amount proportional to sum of the squares of those 
components multiplied by the weighting coefficient matrix S. The second 
penalizing component 
##EQU1## 
places a penalty on movement (for example, slow or oscillatory movement) 
of the state vector x in response to a change in the control or drive 
vector u. Movement of the state vector x in a manner that causes 
non-zero-valued components of the state vector x increases the performance 
index J as a function of the summation of the squared error of the state 
vector x multiplied by the weighting matrix R. The third component 
##EQU2## 
places a penalty on large values of the input or drive vector u. Large 
values of the drive vector u cause the performance index J to increase by 
a function of the summation of the squared value of the drive vector u 
multiplied by the weighting matrix Q. 
If the plant 14 is linear and its parameters are well known or can be 
identified, a closed-form solution for the gain vector k can be found 
which leads to optimal control of the plant 14. For most known self-tuning 
or adaptive controllers using the LQG approach, the matrices A, B, C and D 
are estimated on-line and equation (1) is solved to identify the gain 
vector k associated with optimal performance of the controller 12. 
However, as indicated above, self-tuning algorithms, such as those that use 
the LQG approach, are sub-optimal when used in situations in which the 
process or device dynamics are highly non-linear or when they have strong 
stochastic components because, under these conditions, is it difficult or 
nearly impossible to identify a set of equations that accurately defines 
the operation of the process or the device. Furthermore, many self-tuning 
algorithms are sensitive to noise, such as process noise or measurement 
noise, and are incapable of operating optimally when a high level of noise 
is present within the signal being used to characterize the plant. In many 
cases, known self-tuning algorithms operate satisfactorily only when the 
noise within the signal being measured is less than about one percent of 
that signal. 
Referring now to FIG. 2, a process control loop 30 having an auto-tuner 32 
that overcomes these problems is illustrated in detail. As will be 
evident, the process control loop 30 includes a positioner 34 having a 
current-to-pressure (I/P) transducer 36 coupled to a pressure relay 38. 
The pressure relay 38 may be modeled by a first non-linear gain function 
that uses the output of the I/P transducer 36 to produce a relay travel 
(v) and by a second non-linear gain function that uses the relay travel v 
to produce a controlled amount of air flow (w) in a fluid line 39 
connected to the output of the relay 38. An actuator 40 is connected 
through the fluid line 39 to the relay 38 and uses the air flow in the 
line 39 to produce pressure (p) over an actuating area to thereby produce 
a force (f) which causes movement of a valve element within a valve 42. 
A controller 44 (which may be part of the valve positioner 34) is connected 
within the process control loop 30 to receive a set point or reference 
signal r and one or more process or device parameters which may be, for 
example, the valve position z, the pressure p within the actuator 40, the 
air flow w within the fluid line 39 and the relay travel v in the relay 
38. Of course, these signals may be measured by any suitable measuring 
device and other signals, such as other device or process parameters, 
including process variables, may be used by the controller 44 if so 
desired. 
As illustrated in FIG. 2, the controller 44 includes a summer 46 that 
subtracts signals developed by five feedback paths from the reference 
signal r to develop an error signal on a forward path. The forward path 
includes an amplifier 48 that multiples the error signal by a gain K.sub.1 
and delivers the output of the amplifier 48 to the I/P transducer 36 as 
the control or drive signal u. The first feedback path of the controller 
44 includes a transfer function block 50 sensitive to the relay travel v 
and an amplifier 51 that multiplies the output of the block 50 by a gain 
K.sub.2. The second feedback path includes a transfer function block 52 
sensitive to the air flow w and an amplifier 53 that multiplies the output 
of the block 52 by a gain K.sub.4. Likewise, the third feedback path 
includes a transfer function block 54 sensitive to the actuator pressure p 
and an amplifier 55 that multiplies the output of the block 54 by a gain 
K.sub.4 while the fourth feedback path includes a transfer function block 
56 sensitive to the valve position z and an amplifier 57 that multiplies 
the output of the block 56 by a gain K.sub.5. The fifth feedback path 
simply provides the valve position z to the summer 46. As will be 
understood, the transfer function blocks 50, 52, 54 and 56 may be, for 
example, filters, and may implement any desired type(s) of transfer 
functions. Of course, the specifics of the controller 44 of FIG. 2 are 
merely exemplary, it being understood that other feedback and forward 
paths could be alternatively or additionally used and that the controller 
44 could implement any other type of control scheme including, for 
example, a proportional-integral (PI) control scheme, a 
proportional-integral-derivative (PID) control scheme, an internal model 
control (IMC) scheme, etc. 
The auto-tuner 32 includes a system quantification unit 60 and a gain 
selection unit 62 that operate to implement a tuning procedure which 
selects or determines an optimal set of tuning parameters, such as a set 
of gains K.sub.1, K.sub.2, . . . , K.sub.5, for use by the controller 44. 
Generally speaking, during the tuning procedure, the gain selection unit 
62 sends a plurality of different sets of gain values to the controller 44 
and the system quantification unit 60 sends a test reference signal or a 
forcing function to the reference signal input of the controller 44 for 
each of the sets of gain values. During this time, the system 
quantification unit 62 measures data indicative of the operation of the 
loop 30 and determines, from the measured data, a performance index J 
associated with the control of the positioner 34 and/or the valve 42 for 
each of the sets of gain values. The gain selection unit 62 then selects 
the set of gains associated with the minimum performance index J and 
stores these gains in the controller 44 for use in controlling the 
positioner 34 and the valve 42 during normal operation of the process 
control loop 30. 
As illustrated in FIG. 2, the system quantification unit 60 includes a data 
collection unit 63 that collects and stores measurements of one or more 
variables which may be, for example, an input variable such as the drive 
signal u, one or more intermediate state variables such as the relay 
travel v, the air flow w, the actuator pressure p, etc., and one or more 
output variables such as the valve position z or any suitable process 
variable. Of course, if desired, the data collection unit 63 may be 
responsive to other desired input variables, intermediate variables and/or 
output variables including, for example, the output of the summer 46, the 
output of the I/P transducer 36, an indication of movement of the actuator 
40, or any other signal indicative of the control or operation of the 
positioner 34 or the valve 42. Likewise, the data collection unit 63 may 
collect other signals besides the drive signal u as the input variable 
including, for example, the relay travel v or one of the other 
intermediate variables. Also, the data collection unit 63 may collect 
other signals as the output variable including, for example, the force 
developed by the actuator 40. 
During a tuning procedure, a gain generator 64 within the gain selection 
unit 62 provides a first set of gain values (e.g., K.sub.1, K.sub.2, . . . 
, K.sub.5) making up a gain vector k to the controller 44. A test signal 
generator 66 within the system quantification unit 60 then provides a 
forcing function or test signal to the set point or reference input of the 
controller 44. If desired, the forcing function may be similar to that 
illustrated in FIG. 3 which includes an initialization phase (which causes 
the valve 42 to move through a dead band to a particular location) 
followed by a test phase having a repeating or periodic blocked sinusoidal 
waveform associated therewith. After each change in the forcing function 
during each period of the test phase, e.g., beginning at each of the times 
T.sub.1, T.sub.2, T.sub.3 and T.sub.4 in period 1 of FIG. 3, the data 
collection unit 63 measures and records N values or time samples of one or 
more input variables, for example, the drive signal u, zero or more 
intermediate state variables, such as the air flow w or the actuator 
pressure signal p, and one or more output variables, such as the valve 
position z. Using this recorded data, a performance index calculator 68 
calculates or determines a performance index J according to, for example, 
the following equation (which assumes that the drive signal u is the only 
measured input variables and the that valve position z is the only 
measured output variable): 
______________________________________ 
##STR2## (5) 
wherein: 
k = the gain vector comprising, for 
example, the gains K.sub.1, K.sub.2, . . . , K.sub.5 ; 
N = the number of time samples for which 
data is collected for the input variable u 
and the output variable z after each 
change in the forcing function r; 
r[i] = the value of the reference signal or 
forcing function at the ith time sample; 
z[i] = the value of the valve position (or other 
output variable) at the ith time sample; 
u[i] = the value of the drive signal (or other 
input variable) at the ith time sample; 
and 
.eta. = a scalar weighting coefficient 
(experimentally chosen to be 
approximately 0.3). 
______________________________________ 
As will be understood, the function within the brackets { } of equation (5) 
is calculated for N points or time samples after each change in the 
reference signal r resulting in four different calculations of the 
performance index J for each period of the blocked sinusoidal waveform of 
FIG. 3. These different calculations of the performance index J are 
desirable to fully quantify the controlled operation of the valve 42 
during each different type of movement thereof. The graph of FIG. 4 
illustrates the values of the performance index J defined by the function 
within the brackets { } of equation (5) for five different sets of gain 
values (i.e., for five different gain vectors k). At each set of gain 
values, four separate J points are illustrated and a different one of 
these four J values is associated with a different one of the changes in 
the forcing function of FIG. 3. For example, at the first set of gain 
values of FIG. 4, a first J value 71 is associated with the change in the 
forcing function r at the time T.sub.1, a second J value 72 is associated 
with the change in the forcing function r at the time T.sub.2, a third J 
value 73 is associated with the change in the forcing function r at the 
time T.sub.3 and a fourth J value 74 is associated with the change in the 
forcing function r at the time T.sub.4. According to equation (5), the 
expected value (e.g., the average) of the J values associated with each of 
the changes in the forcing function r of FIG. 3 for a particular set of 
gains is determined by the performance index calculator 68. 
After the performance index J is calculated for a first gain vector k (or 
the data necessary for that calculation is collected), a new set of gain 
values (K.sub.1, K.sub.2, . . . , K.sub.5) or gain vector k is chosen by 
the gain generator 64 and is sent to the controller 44 by the gain 
selection unit 62. At this time, the second period of the blocked 
sinusoidal forcing function of FIG. 3 is delivered to the reference signal 
input of the controller 44 and the response of the process control loop 
30, the positioner 34 and/or the valve 42 is measured by the data 
collection unit 63. If desired, the second period of the blocked 
sinusoidal signal may include the initialization phase to assure that the 
valve 42 is in the same position as it was in when tested with the first 
set of gains. Thereafter, the performance index calculator 68 determines 
the performance index J associated with each of the movements of the 
forcing function r for this second set of gain values using equation (5) 
above. This procedure is repeated for any number of sets of gain values or 
gain vectors k. Five sets of four J values for five different sets of gain 
vectors k are illustrated in the graph of FIG. 4, wherein the third set of 
gain values is associated with the minimum expected value of the 
performance index J over the four changes in each period of the blocked 
sinusoidal waveform of FIG. 3. 
Of course, the gain generator 64 may choose or develop the different sets 
of gain values k in any desired manner. For example, one of the gains, 
such as K.sub.1 may be varied and the other gains K.sub.2, K.sub.3, 
K.sub.4 and K.sub.5 may be calculated as a function of K.sub.1. 
Alternatively, other minimization routines may be employed including, for 
example, a Nelder-Mead downhill simplex method, a simulated annealing 
method or a multi-dimensional conjugate gradient method, to name but a 
few. Still further, predetermined sets of gains may be stored in a memory 
and retrieved by the gain generator 64. Preferably, however, the different 
gain vectors k are chosen to cover the stable operating range of the 
process control loop 30 or the positioner 34 and valve 42 combination so 
that a local or global optimal set of gains may be determined at the end 
of the tuning procedure. 
After all of the different sets of gain values or gain vectors k are stored 
in the controller 44 and are used during a test cycle to operate the 
process control loop 30, a gain selection unit 70 determines which set of 
gains (i.e., which gain vector k) produced the minimum expected value of 
the performance index J and then directs the gain generator 64 to load 
those gain values in the controller 44. Thereafter, the process control 
loop 30 operates using the chosen set of gains until another tuning 
procedure is implemented. Of course, the tuning procedure described herein 
may be repeated at any time, including when the process loop or 
positioner/valve combination is either on-line or off-line. 
It is important to note that equation (5) does not specify or require a 
plant model or a set of equations defining any operation of a process 
control loop or a process control device. As a result, this equation may 
be used to determine an optimal set of gains (or other tuning parameters) 
for use in controlling any type of system or device, including any system 
or device that has non-linear characteristics and any system or device 
that uses non-Gaussian random processes, such as the processes associated 
with control valves and control valve positioners. 
Furthermore, the auto-tuner and tuning procedure described herein may use 
other performance index calculations that compute a norm in a vector 
space. These other performance index calculations may be generally 
expressed by the following equation: 
##EQU3## 
.parallel.*.parallel. denotes a norm, which may be, for example, a 
summation of an absolute value, a summation of a squared value, a 
supremum, a power signal (such as an RMS signal), or any other vector 
space norm. Choosing the absolute value norm, as in equation (5), tends to 
sharpen the minimum. Furthermore, more or less input variables and 
intermediate variables could be used in equation (6) while the differences 
between a reference signal and other output variables could also be added 
to equation (6), as desired. 
Still further, any other forcing function, including a forcing function 
with only a single change, two changes, etc. may be used to test each of 
the different sets of gain values according to the present invention. 
However, it is preferable to use a forcing function that causes movement 
of a valve (or that operates any other device or loop under test) in each 
of the operating regions of that the device or loop. 
Of course, the components of the system quantification unit 60 and gain 
selection unit 62 may be implemented in software in any appropriately 
programmed processor, such as a microprocessor, or, alternatively, may be 
implemented in hardware, firmware or any combination of software and 
hardware. Thus, for example, the data collection unit 63 may be any analog 
or digital storage unit coupled to a measurement device that measures the 
appropriate signals. Likewise, the test signal generator 66 may store one 
or more test signals in memory and send an analog or digital signal to the 
reference signal input of the controller 44 using any standard or known 
method. Alternatively, the test signal generator 66 may be any known 
analog signal generator. Likewise, the gain generator 64 may generate 
gains in any suitable manner and, if desired, may generate gains in 
different manners selectable by a user. Preferably, the gain generator 64, 
the gain selector 70, and the performance index calculator 68 are 
implemented in software on a microprocessor but may, instead, be 
implemented in hardware or firmware. 
The self-tuner 32 may be located in the controller 44, in a stand-alone 
unit, in the positioner 34, in the valve 42 or in any other device capable 
of accepting inputs from the process control loop 30 and of calculating 
gains and minimum values according to, for example, equation (5) or 
equation (6). Likewise, the tuning procedure of the present invention may 
determine any other desired tuning parameters besides gains including, for 
example, time constants of filters, etc. While the tuning procedure of the 
present invention is very useful in controlling valves and valve 
positioners (which are highly non-linear), the tuning procedure of the 
present invention may be used to develop tuning parameters for any process 
control loop or system including process control systems that include 
devices other than control valves and control valve positioners. However, 
for purposes of this invention, a valve positioner and valve device 
combination is considered to be a process control loop while a valve 
positioner is considered to be a device controller as well as a process 
controller. When the auto-tuner described herein is used to tune an entire 
process control loop or system, the reference signal will typically be an 
operator input (instead of an output of a process controller), the input 
variable may be an output of the process controller and the output 
variable may be a process variable. 
It will be understood that the auto-tuning technique described herein is 
non-parametric and, as a result, does not require a parametric 
identification algorithm that identifies a process or a device. To the 
contrary, this technique can be applied to any algorithm or any process 
control system including linear and non-linear components. In particular, 
this technique can be applied to highly non-linear and highly variable 
systems such as control valves and does not require the usual assumptions 
of Gaussian random process disturbances. Furthermore, this technique does 
not require variations of the performance index J to be stationary with 
respect to changes in gain. Moreover, by incorporating measures of the 
drive signal u or, alternatively, intermediate signals such as the relay 
travel v or the actuator pressure p in the performance index J, the 
technique of the present invention enables one to "see inside" the 
positioner 34 and the actuator 40 to detect marginally stable behavior 
before it becomes a problem in valve travel. Still further, instead of 
tuning a positioner for stability, the auto-tuner of the present invention 
tunes optimally, which minimizes the dead time and the response time of a 
control valve while maintaining a reasonably stable drive signal. Also, 
unlike many describing function auto-tuners, the auto-tuner of the present 
invention does not require controller feedback gains to be located in a 
forward control path but, instead, allows gains to be applied in any 
desired manner, including in reverse control paths. 
While the present invention has been described with reference to specific 
examples which are intended to be illustrative only and not to be limiting 
of the invention, it will be apparent to those of ordinary skill in the 
art that changes, additions or deletions may be made to the disclosed 
embodiments without departing from the spirit and scope of the invention.