## Institutionen för systemteknik

### Department of Electrical Engineering

**Examensarbete**

**Simulation Comparison of Auto-Tuning Methods**

**for PID Control**

Examensarbete utfört i Reglerteknik vid Tekniska högskolan i Linköping

av
**Markus Olsson**
LiTH-ISY-EX--08/4095--SE

Linköping 2008

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

**Simulation Comparison of Auto-Tuning Methods**

**for PID Control**

### Examensarbete utfört i Reglerteknik

### vid Tekniska högskolan i Linköping

### av

**Markus Olsson**LiTH-ISY-EX--08/4095--SE

Handledare: **Rikard Falkeborn**

isy, Linköpings universitet

**Per Erik Modén**

ABB Corporate Research

Examinator: **Alf Isaksson**

isy, Linköpings universitet

**Avdelning, Institution**

Division, Department

Division of Automatic Control Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

**Datum**
Date
2008-02-25
**Språk**
Language
Svenska/Swedish
Engelska/English
**Rapporttyp**
Report category
Licentiatavhandling
Examensarbete
C-uppsats
D-uppsats
Övrig rapport

**URL för elektronisk version**

http://www.control.isy.liu.se
http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-11106
**ISBN**
—
**ISRN**
LiTH-ISY-EX--08/4095--SE

**Serietitel och serienummer**

Title of series, numbering

**ISSN**

—

**Titel**

Title

Jämförelse av olika automatiska trimningsmetoder för PID-regulatorer Simulation Comparison of Auto-Tuning Methods for PID Control

**Författare**

Author

Markus Olsson

**Sammanfattning**

Abstract

Auto-tuning has become an important function in distributed control systems (DCS) and is especially appreciated in large industries that can have hundreds of controllers. In the DCS 800xA manufactured by ABB, there is an auto-tuning method implemented based on a relay experiment to determine the ultimate gain and the ultimate period, with which the PID parameters are obtained using the modified Ziegler-Nichols tuning rules. The tuning procedure can then proceed with a step identification experiment to get additional parameters for kappa-tau tuning. In the previous DCS, called Advant, there was another auto-tuning ap-proach implemented. This method was based on dominant pole design, which included an identification of the process. The purpose of this thesis is to compare these auto-tuning methods, to investigate if the dominant pole placement method should be migrated to the 800xA system.

**Nyckelord**

**Abstract**

Auto-tuning has become an important function in distributed control systems (DCS) and is especially appreciated in large industries that can have hundreds of controllers. In the DCS 800xA manufactured by ABB, there is an auto-tuning method implemented based on a relay experiment to determine the ultimate gain and the ultimate period, with which the PID parameters are obtained using the modified Ziegler-Nichols tuning rules. The tuning procedure can then proceed with a step identification experiment to get additional parameters for kappa-tau tuning. In the previous DCS, called Advant, there was another auto-tuning ap-proach implemented. This method was based on dominant pole design, which included an identification of the process. The purpose of this thesis is to compare these auto-tuning methods, to investigate if the dominant pole placement method should be migrated to the 800xA system.

**Sammanfattning**

Automatisk trimning har blivit en viktig funktion i distribuerade styrsystem (DCS) och är speciellt av intresse för stora industrier som kan ha flera hundra regulatorer. Den automatiska trimningen som idag är implementerad i ABB:s DCS 800xA är baserad på ett reläexperiment för att bestämma den kritiska förstärkningen och den kritiska periodtiden. Modifierade Ziegler-Nichols trimningsregler används sedan för att bestämma PID-parametrarna. Vidare kan trimningen fortsätta med ett stegsvars-experiment för att erhålla ytterliggare parametrar och trimma med kappa-tau metoden. Den automatiska trimningsmetoden som var implementerad i tidigare DCS, Advant, var baserad på dominant polplacering med identifiering av processen. Syftet med detta examensarbete är att jämföra dessa automatiska trimningsmetoder för att undersöka om den tidigare trimningsmetoden baserad på dominant polplacering ska implementeras i 800xA systemet.

**Acknowledgments**

First of all I would like to thank my supervisor Per Erik Modén at ABB Corporate Research who has guided me through my work. I acknowledge my supervisor at Linköpings University, Rikard Falkeborn, at the division of Automatic Control for his comments and ideas for improvements concerning this report.

I would also express my gratitude to my examiner Alf Isaksson who gave me the opportunity to do this thesis and for his comments and ideas for improving this report.

Further I would like to thank the master thesis students at ABB for a great time together, with fun coffee breaks, lunches and the unforgettable trip to Finland. I also would like to thank my family for always supporting and believing in me during my years of studies and I especially thank my mother for her inspirational words during the tough times.

Last but not least I acknowledge my friends and fellow students making the years as student at Linköpings University the best time ever. Finally I would like to thank my good friend and forever-lab-partner Anders for all the fun and crazy time together.

*Markus Olsson*

Linköping, February, 2008

**Contents**

**1** **Introduction** **1**

1.1 Background . . . 1

1.2 Distributed Control System . . . 2

1.3 Thesis Outline . . . 2
**2** **Process Models** **5**
2.1 Step Response . . . 5
2.1.1 Two-Parameter Model . . . 5
2.1.2 Three-Parameter Model . . . 6
2.1.3 Area Method . . . 7
2.2 Frequency Response . . . 8

2.2.1 Ziegler-Nichols Frequency Response Method . . . 9

2.2.2 Relay Feedback . . . 10

2.3 Parameter Estimation . . . 10

**3** **Introduction to the PID Controller** **13**
3.1 PID Controller . . . 13

3.2 Modifications . . . 15

3.2.1 Modifications of the Derivative Part . . . 15

3.2.2 Setpoint Weighting . . . 15

3.3 Discrete Time PID Controller . . . 17

**4** **Automatic Tuning of PID Controllers** **19**
4.1 Specifications . . . 19

4.2 Ziegler-Nichols Tuning Methods . . . 21

4.2.1 Ziegler-Nichols Step Response Method . . . 21

4.2.2 Ziegler-Nichols Frequency Method . . . 21

4.2.3 Modified Ziegler-Nichols Method . . . 22

4.3 Relay Auto-Tuning . . . 24

4.4 The Kappa-Tau Method . . . 26

4.5 Kappa-Tau Auto-Tuning . . . 27

4.6 Dominant Pole Design . . . 29

4.7 Auto-Tuning using Dominant Pole Design . . . 30 ix

**x** **Contents**

**5** **Simulation Comparison** **35**

5.1 The Test Batch . . . 36

5.2 Simulation in Matlab . . . 37

5.3 Conclusions . . . 38

5.4 Recommendation . . . 41

**Bibliography** **43**
**A Results from the Comparison Simulations** **45**
A.1 Comparison Between Dominant Pole Design and Relay Tuning . . 45

A.1.1 *Process P*1 . . . 45

A.1.2 *Process P*2 . . . 49

A.1.3 *Process P*3 . . . 52

A.1.4 *Process P*4 . . . 55

A.1.5 *Process P*5 . . . 58

A.2 Comparison Between Dominant Pole Design and Kappa-Tau . . . 61

A.2.1 *Process P*1 . . . 61
A.2.2 *Process P*2 . . . 65
A.2.3 *Process P*3 . . . 68
A.2.4 *Process P*4 . . . 71
A.2.5 *Process P*5 . . . 74
**B** **77**
B.1 Derivative Filtering . . . 77

**Chapter 1**

**Introduction**

**1.1**

**Background**

The PID controller remains the work horse of industrial control systems. In a pro-cess industry there may be hundreds if not thousands of PID controllers. Hence it is important to have methods for fast tuning. Therefore most modern control system have some method for auto-tuning built in. Today there is one approach included for auto-tuning of PID controllers in ABB’s distributed control system (DCS) 800xA. This approach is based on relay auto-tuning. By temporarily re-placing the current controller with a relay, a self-oscillation is induced. Analyzing the amplitude of this oscillation the critical gain and period can be computed, with which the PID parameters can be obtain using the (modified) Ziegler-Nichols rules [2]. The operator can then decide whether to continue the auto-tuning pro-cedure with a step identification experiment to design a PID controller with the kappa-tau method [2].

In the previous generation of ABB’s DCS, called Advant, there was an imple-mentation of another auto-tuning approach built on an identification experiment to obtain a transfer function followed by dominant pole placement PID tuning algorithm.

The main purpose of this thesis is to compare the auto-tuning approaches de-scribed above, to investigate if the dominant pole placement tuning method gives better performance and should then be migrated to the 800xA system.

**2** **Introduction**

**1.2**

**Distributed Control System**

In manufacturing systems or process industries a distributed control system usually refers to a system that connects sub-systems controlled by one or more controllers. With the controllers distributed throughout the system, the monitoring of the entire system can be made from a central location, by connection all the controllers to a network. This makes it possible to monitor very complex systems by few operators. Figure 1.1 shows a chart of a distributed control system, where the bottom level shows the sub-systems that are controlled by the controllers one level up. The controllers are connected to a network and can be configured from the engineering workplace. The whole system is monitored from the workplaces on the top level.

**Figure 1.1. Overview chart of a distributed control system.**

**1.3**

**Thesis Outline**

**Chapter 2: The chapter describes simple process models and how they can be**
obtained by performing some experiment.

**Chapter 3: Gives an introduction to the basic PID controller and some **
modi-fications to obtain better performance. Also the discrete PID controller is
described.

**Chapter 4: Describes the modified Ziegler-Nichols tuning method, the kappa-tau**
method and the dominant pole design method and how these are used for
auto-tuning.

**Chapter 5: This chapter describes how the simulation comparisons were **
per-formed and the conclusions.

**1.3 Thesis Outline** **3**

**Appendix A: Contains all the plots obtained from the simulations.** Nyquist
diagrams of the loop transfer function and the plots of closed loop simulations
with a set-point step and a load disturbance step.

**Appendix B: Describes the filtering in the derivative part used in the AC800M**
controller and how the discrete filter pole is given. A more detailed
descrip-tion is given of the average residence time determinadescrip-tion, used for further
calculation of the process time constant and time delay.

**Chapter 2**

**Process Models**

There are several ways to determine the parameters of a PID controller. One approach is to manually adjust the parameters until desired behavior is obtained, but this approach has its disadvantages. The process can become unstable if tuned without caution and good knowledge about the system. It can also be very time consuming if there are many controllers to be tuned. Another approach is to make a mathematical model of the process based on some experiment. The controller parameters can then be determined by applying some control design method on the process model. This chapter will give an introduction to some basic process models and how they can be determined.

**2.1**

**Step Response**

A very common procedure used in process control is to change the manipulated variable from steady state to a new constant value very rapidly. From the process output the dynamics of the system can be determined and further on a process model can be adjusted to the data. Depending on the model structure and the number of parameters the model can be made more or less accurate.

**2.1.1**

**Two-Parameter Model**

This process model corresponds to an integrator with dead time and is also the basis for the Ziegler-Nichols tuning rules.

*G(s) =* *b*
*se*

*−sL* _{(2.1)}

Using an integrating process model with infinite static gain, the interesting
*infor-mation is in the slope of the step response and is captured by the parameter b.*
*Parameter L is representing the dead time. A graphical illustration of how the*
parameters can be determined from a step response is shown in Figure 2.1, where

*b = a/L [2, 4].*

**6** **Process Models**
0 1 2 3 4 5 6 7 8 9
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
1.2
L T
a
0.63Kp
Kp

**Figure 2.1. Determination of model parameters from a step response.**

**2.1.2**

**Three-Parameter Model**

A better approximation can be given by increasing the number of parameters and
a common model for PID controller tuning is the three-parameter model, also
*called a First-Order system with Time Delay (FOTD). This type of process model*
captures the most typical characteristics from a step response. Assume

*G(s) =* *Kp*

*1 + sTe*

*−sL* _{(2.2)}

*where Kp* *is the static gain, L the dead time and T the time constant, also called*

lag. Figure 2.1 shows a graphical illustration of how the three parameters can be determined from a step response [2, 4].

An approximative measure of how difficult the process is to control is the
*nor-malized dead time τ which is defined by*

*τ =* *L*

*T + L* (2.3)

*For small τ the process is easy to control, since the process is lag-dominated. For τ*
close to 1 the process is said to be delay-dominated and can be difficult to control
[2].

**2.1 Step Response** **7**

**2.1.3**

**Area Method**

The method of using a step response to determine the model parameters is not
suitable if the measured process signal is corrupted by measurement noise, which
can affect the calculation of reliable parameters. A method that is less sensitive
to measurement noise is the area method [4], where the idea is to determine the
*areas A*1 *and A*2 shown in Figure 2.2. If a process is approximated by a FOTD

model the areas can be calculated as

*A*2=
*∞*
Z
0
*(Kp− y(t))dt = KpL +*
*∞*
Z
*L*
*Kpe−(t−L)/Tdt = Kp(L + T )*
*A*1=
*L+T*
Z
0
*y(t)dt =*
*L+T*
Z
*L*
*Kp(1 − e−(t−L)/T)dt = KpT e−1*

*where y(t) is the process step response [4]. The parameters are then given by*

*L + T =* *A*2
*Kp*

*T =* *A*1
*Kp*

*e* (2.4)

*A drawback with the area method is that the area A*1 cannot be computed

*un-til area A*2 is determined. A method to determine the average residence time is

described in Appendix B. 0 2 4 6 8 10 12 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 A2 A1 L + T

**8** **Process Models**

**2.2**

**Frequency Response**

Maybe a less intuitive way to get information about the process is to look at the
process response to sinusoidal input signals. For a linear time-invariant and stable
system the output will also be sinusoidal with the same frequency, but with a
*differ-ent amplitude and phase. For a process G(iω) and input signal u(t) = u*0*sin(ω*0*t)*

the output from the system can be described as

*y(t) = |G(iω*0*)| u*0*sin(ω*0*t + arg G(iω*0)) (2.5)

*where |G(iω*0*)| is the process gain and arg G(iω*0) the process phase. A process

*model can now be estimated for the frequency ω*0.

*H(iω*0*) = |G(iω*0*)|ei arg G(iω*0)

By varying the frequency of the input signal a more complete model can be
esti-mated and be graphicaly viewed in a Nyquist or Bode diagram. With this approach
other insights will be given about the process, for example stability margins.
*Fig-ure 2.3 shows a Nyquist diagram where a(ω) = |G(iω)| is the amplitude function*
*and φ(ω) = arg G(iω) the phase function.*

−0.5 0 0.5 1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 1 Ku −1 G(iω) Re Im φ(ω) a(ω)

**2.2 Frequency Response** **9**

**Figure 2.4. Block diagram of a feedback system.**

**2.2.1**

**Ziegler-Nichols Frequency Response Method**

By bringing the system to self-oscillation with a proportional controller, a process
model can be estimated at the ultimate point. To maintain the oscillation in a
system the Nyquist curve has to intersects the negative real axis at the stability
boundary, which is found where the loop transfer function intersect the point
*(−1, j0) [3]. This can be shown by assuming that the feedback system in Figure*
*2.4 is injected with the signal uA(t) = sin(ω*0*t) at point A [3]. The output at point*

B is then

*uB(t) = − |F (iω*0*)G(iω*0*)| sin(ω*0*t + arg F (iω*0*) + arg G(iω*0))

*To maintain the oscillation the signals uA(t) and uB(t) have to be identical, which*

they are if

*F (iω*0*)G(iω*0*) = −1 ⇒ arg F (iω*0*) + arg G(iω*0*) = π*

*Let now F (iω*0*) be a proportional controller, with gain Ku*, as described above.

*KuG(iωu) = −1*

*arg G(iωu) = π*

*Kuis called the ultimate gain and ωu= 2π/Tu*the ultimate frequncy obtained from

the process output. This gives a model of the process that is valid for frequencies
*near the ultimate frequency ωu*.

*G(iωu) = −*

1

*Ku*

(2.6)

*A similar parameter as τ but for the frequency domain is κ, which is defined as*
the gain ratio.

*κ =*
*G(iωu*)
*G(0)*
(2.7)

*Also the κ value can be used as an indication of how difficult the process is to*
*control, in the same way as τ .*

**10** **Process Models**

**2.2.2**

**Relay Feedback**

In the Ziegler-Nichols frequency response method the gain in a proportional
con-troller is increased until the stability limit is reached. This is an approach that
does not lend itself very well for an automatic procedure. Furthermore one has
no control over the amplitude of the resulting oscillation. Instead a relay can be
used to determine the ultimate point. The relay gives a square wave input signal
to the process which will start to oscillate with opposite phase, meaning that the
frequency of the oscillation is the ultimate frequency [2]. The relay in a feedback
*system can be described by a gain N (a), which depends on the amplitude a of*
*the input signal. If the relay output amplitude is d, a Fourier series expansion of*
*the relay output gives a first harmonic with amplitude 4d/π [1, 5]. The describing*
*function N (a) for a relay is then given by*

*N (a) =* *4d*

*πa* (2.8)

A process model at the ultimate point can now be estimated by

*G(iωu) = −*

1

*N (a)* *= −*
*πa*

*4d*
which gives an approximation of the the ultimate gain

*Ku*=

*4d*

*πa* (2.9)

**2.3**

**Parameter Estimation**

A model can also be computed by fitting parameters to observed input and out-put data. The parameters can either be fitted to a given model that has been parametrized or to a more general model when it is not possible to describe the system based on physical principles [6, 2]. The input and output data with the parameters can for example, be described by

*y(kT ) + a*1*y(kT − T ) + a*2*y(kT − 2T ) + ... + anay(kT − naT )* (2.10)

*= b*1*u(kT − T ) + b*2*u(kT − 2T ) + ... + bnbu(kT − nbT )*

*where y is sampled output data and u sampled input data. a*1*...anaand b*1*...bnb*are

the parameters that have to be determined. The parameters can be estimated off-line, fitting the parameters using e.g. least squars approximation to a data batch of input and output signals. In some auto-tuning experiment a process model has to be estimated on-line and the parameters are then adjusted as new data is obtained in each sampling, using recursive computations [7] .

*With the shift operator q−1* defined by

**2.3 Parameter Estimation** **11**

(2.10) can be written more compactly as

*A(q−1)y(kT ) = B(q−1)u(kT )* (2.12)
where

*A(q−1) = 1 + a*1*q−1+ ... + anaq*

*−na*

*B(q−1) = b*1*q−1+ ... + bnbq*

*−nb*

Using a discrete time model like (2.12) is very convenient, because the calculations are typically made by a computer with data periodically sampled.

**Chapter 3**

**Introduction to the PID**

**Controller**

The PID controller is the most common controller in the industry today. About 95 percent of the controllers used for process control is of the PID type and it is often an important part of distributed systems for process control [3]. The reason is probably that it is easy to understand and implement digitally and it can be used in many different control applications.

**3.1**

**PID Controller**

The ideal PID algorithm is described as

*u(t) = K*
*e(t) +*
1
*Ti*
*t*
Z
0
*e(τ )dτ + Td*
*d*
*dte(t)*
(3.1)

*where e(t) = r(t) − y(t) is the control error [2]. An alternative representation of*
the PID algorithm in (3.1) is by the transfer function [2].

*U (s) = K*
1 + 1
*sTi*
*+ sTd*
*E(s)* (3.2)
*• Proportional action*
*P (t) = K(r(t) − y(t))* (3.3)
*where K is the proportional controller gain. For a given control error e(t) a*
high proportional gain gives a large and quick change in the control output
response, but if the gain is too high the system can become unstable. Too low
proportional gain and the controller can become to slow when responding
to disturbances. Using only a proportional controller has the disadvantage
that the steady state error may not be completely eliminated [2], shown in
Figure 3.1.

**14** **Introduction to the PID Controller**

K = 1 K = 2

K = 10

**Figure 3.1. Step responses using proportional controller for different values of K.**

*• Integral action*
*I(t) =K*
*Ti*
*t*
Z
0
*(r(τ ) − y(τ ))dτ* (3.4)

*Ti* is the integral time and by adding an integral term to the proportional

controller the process output deviation from the setpoint (steady state error) will be eliminated. Low integral action removes the steady state error slowly, but too much integral action will make the step response oscillatory [2], shown in Figure 3.2. Many of the controllers in the industry today are of PI type and in many cases it can be sufficient [3].

Ti= 3

Ti= 10

Ti= 0.9

**3.2 Modifications** **15**

*• Derivative action*

*D(t) = KTd*

*d*

*dt(r(t) − y(t))* (3.5)
*Td*is the derivative time and by introducing derivative action in a controller,

the controller will be more predictive and this will improve the closed-loop stability. Figure 3.3 shows how the derivative part stabilizes the step re-sponse compared to the step rere-sponses in Figure 3.2, but too high gain can lead to oscillatory and sometime give unexpected behavior [2].

Td= 0.2

Td= 1

Td= 0.5

* Figure 3.3. Step responses using PID controller for different values of Td*.

**3.2**

**Modifications**

The algorithm given in (3.1) is not used very often in practical applications. A PID controller with better performance is obtained by modifying the ideal PID algorithm in (3.1) by introducing setpoint weights and a filtered derivative part [2].

**3.2.1**

**Modifications of the Derivative Part**

*If the measurement signal y(t) is corrupted with high frequency measurement noise*
there will be difficulties with the derivative action, causing high gain [3]. To avoid
this a low-pass filter can be introduced in the derivative part

*U (s) = K*
1 + 1
*sTi*
+ *sTd*
*1 + sTf*
*E(s)* (3.6)

*where Tf* is the filter time constant.

**3.2.2**

**Setpoint Weighting**

By introducing setpoint weights the setpoint signal and the process value can be treated separately, giving the controller a two-degree-of-freedom structure [3],

**16** **Introduction to the PID Controller**

shown in Figure 3.5 by a block diagram.

*u(t) = K*
*βr(t) − y(t) +*
1
*Ti*
*t*
Z
0
*(r(τ ) − y(τ ))dτ + Td*
*d(γr(t) − y(t))*
*dt*
(3.7)

*Usually γ = 0 to avoid large disturbances from discontinuous changes in the *
*set-point and β between 0 and 1, depending on how much effect a change in the*
setpoint should be given [2].

β = 0 β = 0.5

β = 1

**Figure 3.4. Step responses for different values of β.**

*The modifications γ = 0 and a filtered derivative part gives the following PID*
algorithm
*U (s) = K*
*βR(s) − Y (s) +* 1
*sTi*
*(R(s) − Y (s)) −* *sTd*
*1 + sTf*
*Y (s)*
*= K*
*β +* 1
*sTi*
| {z }
*Fr*
*R(s) − K*
1 + 1
*sTi*
+ *sTd*
*1 + sTf*
| {z }
*Fy*
*Y (s)* (3.8)
Fr Σ Process
−Fy
r u y

**3.3 Discrete Time PID Controller** **17**

**3.3**

**Discrete Time PID Controller**

To be able to implement the PID controller digitally the algorithm has to be
dis-cretized. There are several possible approximation methods, but it is often done
by replacing the derivative with a difference. The difference can be taken between
the present sample and one sample ahead, this is called forward difference. If the
difference instead is taken between the present and the previous sample it is called
backward difference. There are other approximations like the Tustin’s
transforma-tion, which give a better stability and agreement with the time continuous transfer
functions [2].
Backward approximation
*d*
*dty(t) ≈*
*y(k) − y(k − Ts*)
*Ts*
Forward approximation
*d*
*dty(t) ≈*
*y(k + Ts) − y(k)*
*Ts*
Tustin’s approximation
1
2
* d*
*dty(t) +*
*d*
*dty(t − Ts*)
*≈y(k) − y(k − Ts*)
*Ts*

*Introducing the derivative operator p defined by*

*p ≡* *d*

*dt* (3.9)

the different approximations of the derivative operator can be written as [4]
Backward approximation: *p =* *1 − q*
*−1*
*Ts*
Forward approximation: *p =* *q − 1*
*Ts*
Tustin’s approximation: *p =* 2
*Ts*
*1 − q−1*
*1 + q−1*

Using the backward approximation of the derivative operator, the time discrete version of the PID control algorithm (3.6) becomes

*u(k) = K*
1 +*Ts*
*Ti*
*(1 − q−1*) + *Td(1 − q*
*−1*_{)}
*Ts+ (1 − q−1)Tf*
*e(k)*

and it can be rewritten as

*u(k) = K*
1 +*Ts*
*Ti*
*(1 − q−1*) +*Td*
*Ts*
*1 − α*
*1 − αq−1(1 − q*
*−1*_{)}_{e(k)}*where α =* *Tf*
*Tf+Ts*.

**Chapter 4**

**Automatic Tuning of PID**

**Controllers**

As mentioned in the previous chapter the PID controllers are common in the process industry and a large industry can have hundreds of these controllers. These have to be tuned individually to give good controller performance. Unfortunately many controllers are tuned badly or not tuned at all [8]. A PID controller can be tuned manually, and by an experienced engineer the controller can be tuned to provide very good performance. However, this approach is very time consuming and the knowledge about the process is bound to the engineers [8]. These are some of the reasons why the automatic tuning techniques have been given more and more attention. There exist several methods to design a PID controller and some of them are described in this chapter and how they are applied in automatic tuning. First there will be a short introduction to describe the performance of a controller.

**4.1**

**Specifications**

There are different ways to express the performance of a controller. Specifications on the setpoint response are often common and expressed in the time domain. Some typical specifications [2] are shown in Figure 4.1(a) and described below.

*• Rise time tr*

The time it takes for a step response to change from 10 percent to 90 percent of its steady state value.

*• Overshoot o*

The ratio between the maximum process value minus the steady state value and the steady state value.

*• Settling time ts*

*The time it takes for the step response to settle within p% of its steady state*
value

**20** **Automatic Tuning of PID Controllers**

Specifications can also be given of the frequency response and typical specifications
*related to the loop transfer function Gl(iω) = Fy(iω)G(iω) [2] are shown in Figure*

4.1(b).

*• Gain margin Am*

Is defined as the inverse of the process gain at the phase cross-over frequency,
*1/|G(iωπ)|. It is a sensitivity measure of how much the gain can increase*

*before it reaches the stability limit. Notice that ωπ= ωu* *and Am= Ku*.

*• Phase margin φm*

*Is defined by φm= π + arg G(iωg*) and is a measure of how much the phase

can be decreased before it reaches 180*◦. The frequency ωg* is where the loop

*transfer function |Gl(iω)| = 1.*

*• Maximum sensitivity Ms*

The maximum sensitivity is defined by

*Ms*= max
*0≤ω<∞*
1
*1 + Gl(iω)*

*The sensitivity Ms* guarantees that the distance from the critical point

*(−1, j0) to the Nyquist curve is always greater than 1/Ms*.

(a) Specifications on setpoint change following, with definitions on

**4.2 Ziegler-Nichols Tuning Methods** **21**
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
1
Ms
1
Am
φm

*(b) Nyquist curve with definitions on sensitivity Ms*, amplitude

*mar-gin Amand the phase margin φm*.

**Figure 4.1. Specifications on setpoint change following and frequency response.**

**4.2**

**Ziegler-Nichols Tuning Methods**

**4.2.1**

**Ziegler-Nichols Step Response Method**

This design method is based on a step response to determine the two parameters

*a and L described in Section 2.1. The PID controller parameters are then given*

*directly as a function of a and L [2] and are shown in Table 4.1.*
Controller K *Ti* *Td*

P *1/aL*

PI *0.9/aL* *3L*
PID *1.2/aL* *2L* *L/2*

**Table 4.1. PID design based on the Ziegler-Nichols step response method.**

**4.2.2**

**Ziegler-Nichols Frequency Method**

The design method is based on the knowledge of the intersection point between
the Nyquist curve of the process and the negative real axis, known as the ultimate
point. This point can be determined by using a proportional controller or a relay
feedback discussed in Section 2.2. The PID parameters are then given directly as
*a function of Kuand Tu* [2] and are given by Table 4.2.

**22** **Automatic Tuning of PID Controllers**

**4.2.3**

**Modified Ziegler-Nichols Method**

The Ziegler-Nichols tuning rules are simple and intuitive and can be applied to a wide range of processes with little effort. The tuning rules were developed to give good load disturbance rejection, but this also gives a closed-loop system that is poorly damped and has a poor stability margins. The Ziegler-Nichols frequency response method can be interpreted as a method where the identified point of the Nyquist curve is moved to a new position. With a PI or PID controller a given point on the Nyquist curve can be moved to an arbitrary position in the complex plane [2]. With this knowledge the identified point can be moved to give desired amplitude margin and phase. To describe the method, assume a PID controller

−0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
φa φb
−_{N(a)}1
Im
Re
A
B

**Figure 4.2. Nyquist curve of the process and the identified point A.**

*F (iω*0*) and a process G(iω*0)

*F (iω*0*) = K*
1 + 1
*iω*0
*+ iω*0*Td*
*= K*
*1 + i*
*ω*0*Td−*
1
*ω*0*Ti*
*= rcei(π+φc*)
*G(iω*0*) = raei(π+φa*)
Controller *K* *Ti* *Td*
P *0.5Ku*
PI *0.4Ku* *0.8Tu*
PID *0.6Ku* *0.5Tu* *0.125Tu*

**4.2 Ziegler-Nichols Tuning Methods** **23**

To move the identified point A to a specified position B, shown in Figure 4.2, with a PID controller is described by

*rcei(π+φc*)*raei(π+φa*)*= rbei(π+φb*)

*where rbei(π+φb*)*describes the specified position B.*

*K*
s
1 +
*ω*0*Td−*
1
*ω*0*Ti*
2
= *rb*
*ra*
(4.1)
*ω*0*Td−*
1
*ω*0*Ti*
*= tan (φb− φa*) (4.2)

*Using (4.1) and (4.2) K can be determined*

*K*p1 + tan2_{(φ}*b− φa*) =
*rb*
*ra*
*⇒ K =* *rb*
*ra*
*cos(φb− φa*)

*To be able to solve Tiand Td*uniquely, an additional condition has to be introduced

*Td= δTi* (4.3)

saying that the ratio of the integral time and the derivative time is constant [2].
*Using (4.2) and (4.3) Ti* *and Td* can be calculated

*Ti*=
1
*2ω*0*δ*
*tan(φb− φa*) +
q
*4δ + tan*2*(φb− φa*)
(4.4)
*Td*=
1
*2ω*0
*tan(φb− φa*) +
q
*4δ + tan*2*(φb− φa*)

*With a relay experiment, to determine Ku* *and Tu*, together with the modified

Ziegler-Nichols method the design rules are then given by

*K =* *rb*
*racos(φb− φa*)
*Ti*= _{4πδ}Tu*tan(φb− φa*) +
p
*4δ + tan*2_{(φ}*b− φa*)
*Td= δTi*

**24** **Automatic Tuning of PID Controllers**

**Example 4.1: Determine suitable point using a Zieger-Nichols experiment**
If a Ziegler-Nichols frequency method is used to determine a point we have

*ra* *= 1/Ku, φa= 0, δ = 0.25 the PID control parameters are given by*

*K = Kurbcos(φb*)
*Ti*=
*Tu*
*π*
*tan(φb*) +
q
1 + tan2*(φb*)
*Td*=
*Tu*
*4π*
*tan(φb*) +
q
1 + tan2*(φb*)

*If we want to specify a new position with a distance rb= 0.5 to the origin and a*

*phase of −135◦* the PID parameters are given by

*K = 0.35Ku*

*Ti= 0.76Tu*

*Td= 0.19Tu*

**4.3**

**Relay Auto-Tuning**

In [10] a relay auto-tuning procedure is given and will be described in this section.
A relay experiment is a common way to determine the ultimate gain and ultimate
period and is described in Section 2.2. It is easily automated by replacing the
controller with a relay during the tuning procedure, shown in Figure 4.3. The
relay experiment identifies the point with a phase lag of 180*◦*and with the ultimate
*period Tu* *and ultimate gain Ku* a design of a PID controller can be made. To

avoid random relay switching on noisy signals the relay has hysteresis and from
describing function analysis the limit cycle can be predicted to a point where the
*Nyquist curve intersects −1/N (a), which is the negative inverse of the describing*
function for a relay with hysteresis:

*−* 1
*N (a)* *= −*
*π*
*4d*
p
*a*2* _{+ ε}*2

_{− i}πε*4d*

*where d is the relay amplitude, a the amplitude of the limit cycle and ε is the relay*
hysteresis. This also implies

*|G(iωu)| =*
1
*Ku*
= *πa*
*4d* and *φa* = arcsin
*ε*
*a*

*The describing function −1/N (a) can be described as a straight line parallel to*
the negative real axis in the complex plane, shown in Figure 4.2. The relay
auto-tuning described in [10] is choosing the hysteresis depending on the noise level and

**4.3 Relay Auto-Tuning** **25**

**Figure 4.3. A relay replaces the controller during the auto-tuning procedure.**

is constant during the relay experiment, but the relay amplitude is adjusted to
give desired amplitude of the oscillation. The desired amplitude is set to twice the
*hysteresis and gives a nominal angle φanom*= 30

*◦*_{. To determine the PID }

parame-ters the modified Ziegler-Nichols method described in Section 4.2 is used to move
the identified point to a point with a specified length and phase. In this case the
*length is set to 0.5 and the phase to −135◦*. The ratio between the derivative time
*and integral time is chosen to 0.16. The following design rules are then given by*

*K = Kuφa0.5 cos(45*
*◦ _{− 30}◦_{) = 0.48K}*

*uφa*

*Ti*=

*Tuφa*

*4 · 0.16π*tan(45

*◦− 30◦*) + q

*4 · 0.16 + tan*2(45

*◦*

_{− 30}◦_{)}

*= 0.55Tuφa*

*Td= 0.16Ti= 0.088Tuφa*

*The identified point is not the real ultimate point, but a point at angle φa*, indicated

*with Kuφaand Tuφa*. A relay with hysteresis identifies a point at a lower frequency

**26** **Automatic Tuning of PID Controllers**

**4.4**

**The Kappa-Tau Method**

The kappa-tau method is a PID design method developed by Åström and
Häg-glund and is described in [2]. The idea is to characterize the process by three
parameters as done in (2.2). For a frequency domain design it requires the same
*parameters as the Ziegler-Nichols frequency method and an additional variable κ*
defined in (2.7). A time domain design requires a step response and the
*normal-ized dead time τ defined in (2.3). The method is developed based on dominant*
pole design with criterion on the rejection of load disturbance and constraints on
*the maximum sensitivity Ms*. The relations between the normalized controller

parameters and the normalized process parameters are calculated and plotted for
a batch of different processes. In Figure 4.4 the normalized controller parameters
*are plotted as function of κ.*

0 0.2 0.4 0.6 0.8 1 10−2 10−1 100 K/K u vs. κ 0 0.2 0.4 0.6 0.8 1 10−0.9 10−0.7 10−0.5 10−0.3 T i/Tu vs. κ 0 0.2 0.4 0.6 0.8 1 10−2 10−1 100 T d/Tu vs. κ 0 0.2 0.4 0.6 0.8 1 100 β vs. κ

**4.5 Kappa-Tau Auto-Tuning** **27**

The functions computed by curve fitting are for the frequency domain expressed
as
*K*
*Ku*
*= fK(κ)*
*T i*
*Tu*
*= fTi(κ)*
*T d*
*Tu*
*= fTd(κ)* *β = fβ(κ)*

*where the function fK,Ti,Td,β(κ) is described by*

*f (κ) = a*0*ea*1*κ+a*2*κ*

2

*The parameters a*0*, a*1*, a*2 for the different functions are given in Table 4.3 [2].

*Ms= 1.4*
*a*0 *a*1 *a*2
*fK(κ)* *0.33* *−0.31* -1.0
*fTi(κ)* 0.76 -1.6 -0.36
*fTd(κ)* 0.17 -0.46 -2.1
*fβ(κ)* 0.58 -1.3 3.5

**Table 4.3. Parameters of the function f (κ) for M**s= 1.4.

In the time domain the functions are expressed in the same way, but for other normalized controller parameters

*aK = fK(τ )*
*Ti*
*L* *= fTi(τ )*
*Ti*
*T* *= fTi(τ )*
*Td*
*L* *= fTd(τ )*
*Td*
*T* *= fTd(τ )* *β = fβ(τ )*

*where the function fK,Ti,Td,β* is described by

*f (τ ) = b*0*eb*1*τ +b*2*τ*

2

*Notice that Ti* *and Tdcan be normalized both with the dead time L and the time*

*constant T .*

**4.5**

**Kappa-Tau Auto-Tuning**

The automatic tuning procedure with kappa-tau design described in [10] starts
*with a relay auto-tuning experiment to determine the process parameters Ku*and

*period Tu. To be able to calculate the κ-value an experiment with a setpoint step*

**28** **Automatic Tuning of PID Controllers**

*signal are integrated, A*2*, A*3*, to calculate the average residence time Tar= L + T .*

*See Appendix for a more detailed description for calculation of Tar*.

*Tar*=

*A*2*uf− A*3*yf*

*yfuf*

When the steady state is reached the final value of the process output and the control signal are noted for calculation of the static gain. Last an open loop step is introduced by setting the control signal back to the initial value it had before the setpoint step and during the open loop step the process output is integrated,

*A*1*, until the average residence time Tar*. With (2.4) normalized with the size of

the open loop step, the time constant and the dead time are calculated as

*T =* *eA*1
*yf*

*L = Tar− T*

The static gain is simply given by

*Kp*=

*yf*

*uf*

With the additional parameter kappa and the process parameters known, the
controller parameters can be calculated as described in section 4.4. The estimates
*of L and T are used to calculated the normalized dead time τ , and if the process*
*is delay dominated, large value of τ , a PPI (Predictive PI) controller is suggested*
[10].
**Open loop**
**Closed loop**
A1
A3
uf
Ta r
ts
y(t)
u(t)
yf
A2

**4.6 Dominant Pole Design** **29**

**4.6**

**Dominant Pole Design**

The dominant pole design is an approximation of the pole placement method where all the closed-loop poles are assigned, which will lead to very complex controllers for high order process models. By using a few dominant poles instead, a sim-ple controller can be designed for comsim-plex processes. The dominant pole design method is based on the assumption that the transfer function of the process is known and that the non-specified poles are much faster (or placed close to zeros). This gives good approximation of the shape and speed of the settling transients [9]. In the complex plane the dominant poles are the ones lying closest to the imaginary axis shown in Figure 4.6.

dominant poles faster poles

lines for constant relative damping

ω

**Figure 4.6. Poles and zeros from a closed loop configuration [9].**

*Let H(s) be the desired closed loop transfer function*

*H(s) =* *ω*
2
0
*s*2* _{+ 2ζω}*
0

*s + ω*20 (4.5)

*H(s) has two complex poles at*
*p1,2= ω*0
*−ζ*0*± i*
q
*1 − ζ*2
0

*= ω*0*ei(π±γ)= ω*0*(− cos(γ) ± i sin(γ))*

*for 0 < ζ < 1 and γ = arccos(ζ*0)

It is now possible to place these two poles with a PI controller and by extending the desired closed loop transfer function with a third pole a PID controller can be used. This makes the dominant pole design method very suitable for tuning PI/PID controllers. The assigned poles will be dominating if the frequency is cho-sen sufficiently small [2].

**30** **Automatic Tuning of PID Controllers**

The procedure of how to calculate the parameters of a PI controller using dominant pole design is shown below and described in [2]. The PI controller is parametrized as

*F (s) = K(1 +* 1
*sTi*

*) = k +ki*

*s* (4.6)

and the desired closed loop transfer function specified as in (4.5).

*Let the process be described by the transfer function G(s) then the closed loop is*
given by

*Gcl(s) =*

*F (s)G(s)*

*1 + F (s)G(s)* (4.7)

*The characteristic equation of closed loop Gcl(s) shall satisfy the characteristic*

*equation of the desired closed loop H(s) and with the poles p*1*, p*2, which are the

roots to characteristic equation, gives that
*1 + F (p*1*)G(p*1) = 1 +
*k +* *ki*
*ω*0*ei(π−γ)*
*a(ω*0*)eiΦ(ω*0)= 0

*With G(p*1*) = G(ω*0*ei(π−γ)) = a(ω*0*)eiΦ(ω*0) as described in Section 2.2 the

con-troller parameters can be calculated as

*k = −sin(Φ(ω*0*) + γ)*
*a(ω*0*) sin(γ)*

*ki* *= −*

*sin(Φ(ω*0))

*a(ω*0*) sin(γ)*

In the design procedure above, the relative damping and the natural frequency
are the design parameters. Figure 4.7 and 4.8 shows how different values of the
*relative damping ζ and natural frequency affect the closed loop step response. By*
changing the natural frequency the step response can be made faster or slower,
but the step response characteristic is maintained. With the relative damping as
design parameter the characteristic of the step response can be changed, and be
made well damped with no overshoot or less damped with overshoot. This makes
the relative damping very suitable as a design parameter.

**4.7**

**Auto-Tuning using Dominant Pole Design**

The auto-tuning procedure described in this section was implemented in ABB’s previous distributed control system called Advant. The procedure includes auto-matic identification of the process, which is used to determine the PID parameters with dominant pole placement. The auto-tuning procedure can be divided into four phases [9].

**• Phase 1 ”Listen Phase”**

During this phase the output is kept constant and values that are needed for the rest of the tuning process are determined, based on the measured data, like mean value and process variations.

**4.7 Auto-Tuning using Dominant Pole Design** **31**
..
.
.
.
.
0.5
1.4
0.3
0.7
1.0 !

**Figure 4.7. Closed loop step responses for different relative damping ζ and constant ω.**

. . . . . 0.5 0.7 1.4 1.0 2.0 "

**Figure 4.8. Closed loop step responses for different natural frequency ω and constant ζ.**

**• Phase 2 ”Relay Phase”**

During phase 2, a relay feedback with hysteresis is used. The hysteresis depends on the variations determined in phase 1. The oscillations obtained from the process output gives information about time scale and data for the process identification. In the end of phase 2 a preliminary tuned controller has been determined.

**• Phase 3 ”Excitation”**

Only a preliminary process model is identified in the relay phase, which only provides excitation at the most important frequency. In the excitation phase the controller is fine tuned using PRBS (Pseudo Random Binary Sequence) added to the setpoint. When the parameters have converged the next and last phase of the auto-tuning procedure starts.

**• Phase 4 ”Verification”**

The verification phase is to verify whether the controller gives the specified
*response, stated by the relative damping factor ζ.*

The design calculations to determine the dominant poles and the controller pa-rameters in discrete time are described below and in [9].

**32** **Automatic Tuning of PID Controllers**
*r, y*
*u*
Listen
Relay Phase
Phase
Start of
Autotuning
time
g
**Figure 4.9. The listen and the relay phase.**

*r, y*

*u*

Excitation Phase Verification Phase Autotuning

Done

time Relay

Phase

**Figure 4.10. The excitation and the verification phase.**

*Let P be a polynomial describing the specified poles and a factor in the closed*
loop characteristic.
*P (q−1*) =
*np*
Y
*i=1*
*(1 − epiTs _{q}−1*

_{)}

_{(4.8)}

*where pi* is a specified pole in continuous time. To be able to use dominant pole

design a process model must be determined. Assume that the following process model is estimated

*A(q−1)y(k) = B(q−1)u(k)*

*A(q−1) = 1 + a*1*q−1+ ... + anaq*
*na*

*B(q−1) = b*1*q−1+ ... + bnbq*
*nb*

and the discrete time PID controller is described by

*u(k) = K*
*βr(k) − y(k) +* *Ts*
*Ti(1 − q−1*)
*(r(k) − y(k)) −Td*
*Ts*
*(1 − q−1)y(k)*

**4.7 Auto-Tuning using Dominant Pole Design** **33**

*The PID controller can be formulated as polynomials R, S and T*

*R(q−1)u(k) = T (q−1)r(k) − S(q−1)y(k)*
*R(q−1) = 1 − q−1*
*S(q−1) = s*0*+ s*1*q−1+ s*2*q−1*
*= K*
1 + *Ts*
*Ti*
+*Td*
*Ts*
*− K*
1 + 2*Td*
*Ts*
*q−1+ KTd*
*Ts*
*q−2*
*T (q−1) = t*0*+ t*1*q−1= K*
*β +Ts*
*Ti*
*− Kβq−1*

The closed loop transfer function can now be written as

*H(q−1*) = *B(q*

*−1 _{)T (q}−1*

_{)}

*A(q−1 _{)R(q}−1_{) + B(q}−1_{)S(q}−1*

_{)}

*Introducing the polynomial X(q−1*) for the non-specified poles, the characteristic
equation is written as

*A(q−1)R(q−1) + B(q−1)S(q−1) = P (q−1)X(q−1*)

*where S and X are unknown polynomials to be solved for. The polynomial S*
*defines the controller parameters and the roots of X are the closed loop poles that*
are insignificant compared with the specified poles. Interpreted in continuous time
these poles are to the left of the imaginary axis with a certain factor Ψ larger than

*ζω, which is the corresponding distance for the specified poles. In discrete time*

*the dominance test is to investigate whether the polynomial X has any roots inside*
*a circle with radius ρ = e−ΨζωTs*_{. The quickest dominant design for the specified}

*relative damping is chosen by iterating over the natural frequency ω, increasing it*
when the test is fulfilled and decreasing when it is not.[9]

**Chapter 5**

**Simulation Comparison**

The main purpose of this thesis is to compare ABB’s different auto-tuning meth-ods. In the previous generation of ABB’s distributed control system (DCS) called Advant there was an implementation of an auto-tuning method using dominant pole design (DPD) to compute the PID parameters. In the new generation DCS called 800xA there is another auto-tuning approach included, that is built on a relay experiment and applies the modified Ziegler-Nichols rules to obtain the PID parameters. After a completed relay auto-tuning procedure it is also possible to continue with a step identification experiment to get the additional parameters for a kappa-tau design.

Unfortunately the auto-tuning methods were not simulated in the same program environment. The complete DPD method was simulated in Matlab, but the relay method and kappa-tau method are simulated in Soft Controller of 800xA and configured in Control Builder (CB), which is ABB’s software tool for pro-gramming control systems. The auto-tuning methods were simulated on different process models that are encountered in process control, shown in Section 5.1. The process models were written and discretized in Matlab and transfered to struc-tured text format used by Control Builder. The PID parameters obtained from the simulations in Soft Controller were noted and used for simulation comparisons in Matlab. An overview description is shown in Figure 5.1.

**36** **Simulation Comparison**

**Figure 5.1. The Relay auto-tuning method and kappa-tau auto-tuning method **
simu-lated in Soft Controller. The DPD method is simusimu-lated in Matlab.

**5.1**

**The Test Batch**

The test batch below is a selection from the test batch used by Åström and
Häg-glund [3]. It includes delay-dominated, lag-dominated, and integrating processes.
Totally 25 processes.
*P1(s)* = *e*
*−s*
*1 + sT*
*T* = *0.3, 0.5, 1, 2, 4, 6, 10, 20*
*P2(s)* = 1
*(s + 1)n*
*n* = *3, 4, 6, 8*
*P3(s)* = *e*
*−sL*
*s(1 + sT )*
*T* = *0.01, 0.5, 0.7, 1.0* *T + L = 1*
*P4(s)* = *1 − αs*
*(s + 1)*3
*α* = *0.1, 0.2, 0.5, 0.8, 1.1*
*P5(s)* = 1
*(s + 1)((sT )*2_{+ 1.4sT + 1)}*T* = *0.7, 0.8, 0.9, 1.0*

**5.2 Simulation in Matlab** **37**

**5.2**

**Simulation in Matlab**

To evaluate and simulate the controllers obtained from the different auto-tuning methods the following discrete PID algorithm in (5.1) is used

*u(k) = K**βr(k) − y(k) +Ts*
*Ti*
*e(k)*
*1−q−1* *−*
*Td*
*Ts*
*(1−α)*
*(1−αq−1*_{)}*(y(k) − y(k − 1)*
(5.1)

*where e(k) = r(k)−y(k). The discrete filter pole α is computed differently *
depend-ing on the controller. For the controller usdepend-ing dominant pole design the discrete
filter pole is given by

*α =*
*2Tf−Ts*
*2Tf+Ts* *if Tf* *≥ 0.5Ts*
0 *if Tf* *< 0.5Ts*
*Tf* =
*Td*
10

For the controller using relay or kappa-tau tuning the discrete filter pole is given
by
*α =*
*Tf−Ts*
*Tf* *if Tf* *≥ Ts*
0 *if Tf* *< Ts*
*Tf* =
*Td*
8

When comparing the methods they are tuned to the same maximum sensitivity defined by

*Ms= max |S(iω)| = max*

1
*1 + Fy(iω)G(iω)*

*where G(iω) is the process and Fy(iω) the feedback controller. This was done*

by adjusting the damping factor and the frequency for the DPD method and the
*speed (slow, normal or fast) for the relay and kappa-tau method. The closed loop*
systems are simulated with a load disturbance step added to the control signal
and a set-point step. The responses are plotted and the integrated square error is
calculated as a measure of how much the system diverges from the ideal during a
load disturbance or a set-point change. The integrated square error is defined by

*ISE =*

*∞*

Z

0

**38** **Simulation Comparison**

**5.3**

**Conclusions**

To be able to give a more fair comparison between the auto-tuning methods, they
*are tuned to the same maximum sensitivity, Ms*. The relay auto-tuning method

automatically sets the set-point weight to zero and the kappa-tau sets the weight to zero for a fast PID controller. This gives the dominant pole design an advantage when comparing the step responses. This will be taken into consideration and will not be given as much importance as the rejection of load disturbances. Nyquist diagrams of the loop transfer function and plots of the closed loop simulations with a set-point and a load disturbance step are found in Appendix A.

After comparing the simulations between the DPD method and the relay method the conclusion is that the DPD gives a faster load disturbance rejection for almost all processes in the test batch, except for first order lag-dominated processes where the two methods give almost identical rejection, shown in Figure 5.2(a). Also for integrating processes both methods give similar load disturbance rejection. For many processes the relay method tends to give too much phase lead as the Nyquist curve ”bends” over the imaginary axis at low frequencies, due to low integral ac-tion. This results in a slow rejection of load disturbances.

The difference between the kappa-tau method and the DPD is not that big. The DPD tuning gives much better performance for integrating processes, where the kappa-tau tuning gives less gain and integral action. In general the kappa-tau method gives very good load disturbance rejection and in several cases even bet-ter than the DPD method. However, for first order lag-dominated processes the kappa-tau method gives a very slow load disturbance rejection as shown in Figure 5.3(a). Figure 5.4 shows plots of the normalized controller parameters vs. kappa as described in [10, 2]. For a decreasing kappa-value the proportional gain and the integral action decreases and the derivative gain increases which explains why the kappa-method gives the slower load disturbance rejection for lag-dominated processes. The kappa-function proposed by Åström and Hägglund in [2] is plotted as a reference.

Simulating the auto-tuning methods with measurement noise the relay auto-tuning method gives a more conservative controller. The step identification experiment is based on integrals and is then less sensitive to noisy signals and before the step identification experiment starts the process signal has to be in steady state and not deviate too much, which guarantees a more reliable calculation of the parameters. The DPD method is not sensitive to high disturbance levels, as long as there is enough signal-to-noise ratio to identify a model [9].

**5.3 Conclusions** **39**
**0** **20** **40** **60** **80** **100** **120**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**

*(a) Lag-dominated process, P (s) = e−s/(1 + 20s).*

**0** **20** **40** **60** **80** **100** **120**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**Process: exp(−s)/(1+sT) T = 0.3**
*(b) Delay-dominated process, P (s) = e−s/(1 + 0.3s).*

**Figure 5.2. Comparison between the DPD tuning method and the relay **
auto-tuning method. Solid line (—) DPD and dashed line (- - -) Relay.

**0** **50** **100** **150**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**

*(a) Lag-dominated process, P (s) = e−s/(1 + 20s)*

**0** **10** **20** **30** **40** **50** **60**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
*(b) Delay-dominated process, P (s) = e−s/(1 + 0.3s)*

**Figure 5.3. Comparison between the DPD auto-tuning method and the kappa-tau**
auto-tuning method. Solid line (—) DPD and dashed line (- - -) kappa-tau.

**40** **Simulation Comparison**
0 0.2 0.4 0.6 0.8 1
10−2
10−1
100
K/K_{u} vs. κ
0 0.2 0.4 0.6 0.8 1
10−0.8
10−0.6
10−0.4
10−0.2
100
T_{i}/T_{u} vs. κ
0 0.2 0.4 0.6 0.8 1
100
101 β vs. κ

(a) Normalized controller parameters vs. kappa for PI controller.

0 0.2 0.4 0.6 0.8 1
10−2
10−1
100
K/K_{u} vs. κ
0 0.2 0.4 0.6 0.8 1
10−0.9
10−0.7
10−0.5
10−0.3
10−0.1
T_{i}/T_{u} vs. κ
0 0.2 0.4 0.6 0.8 1
10−2
10−1
100
T_{d}/T_{u} vs. κ
0 0.2 0.4 0.6 0.8 1
100
101 β vs. κ

(b) Normalized controller parameters vs. kappa for PID controller.

**Figure 5.4.** Dashed line (- - -) modified Z-N(Thesis [10]), solid line (—)

kappa-function (Thesis [10]) and dotted line (....) kappa-kappa-function (Åström and Hägglund [2])
*for Ms= 1.4*

**5.4 Recommendation** **41**

**5.4**

**Recommendation**

If the comparison only was between the relay auto-tuning and dominant pole de-sign, the recommendation would have been that ABB should consider migrating the DPD method to 800xA. But after the relay auto-tuning it is possible to con-tinue the tuning procedure with a step identification and kappa-tau design. When it comes to the kappa-tau method the simulations show that the method gives good performance for many processes, but as mentioned in the conclusion the method has problem with lag-dominated and integrating processes, where actu-ally the relay method gives better performance. If the user choose to continue the relay tuning with a step identification he or she probably expect that it would give better performance than just performing a relay auto tuning, but that does not have to be the case if the process is lag-dominated or integrating. To prevent this the user should be informed in some way or implement the DPD method if this is considered to be of essential importance.

Apart from the controller performance there is another aspect, the decision of the response characteristic. Today the user can choose a controller that is slow, normal or fast. Fast gives a controller with more overshoot, but it is difficult to decide how much. It can also be the opposite if the process is integrating, where a slow controller gives a very oscillative response. The dominant pole placement has different damping levels, extra damped, damped, fast or extra fast. With these levels I have found it easier to decide the response shape in advance. It must also be mentioned that I have only used the DPD method in Matlab and can not comment the commercial product.

**Bibliography**

[1] K. J. Åström and T. Hägglund. Automatic tuning of simple PID regulators with specifications on phase and amplitude margins. Automatica 20 (5), 645-651,1984.

*[2] K. J. Åström and T. Hägglund. PID Controllers: Theory, Design and Tuning.*
Instrument Society of America, Research Triangle Park, NC, 2 edition, 1995.
ISBN 1-55617-516-7.

*[3] K. J. Åström and T. Hägglund. Advanced PID Control. ISA - *
Instrumenta-tion, Systems and Automation Society, Research Triangle Park, NC, 1 ediInstrumenta-tion,
2006. ISBN 1-55617-942-1.

[4] T. Glad, S. Gunnarsson, L. Ljung, T. McKelvy, A. Stenman, and J. Löfberg.

*Digital Styrning Kurskompendium. Linus och Linnea AB, 2003. (In Swedish).*

*[5] T. Glad and L. Ljung. Reglerteori. Flervariabla och olinjära metoder. *
Stu-dentlitteratur, Lund, 2 edition, 2003. ISBN 91-44-03003-7. (In Swedish).
*[6] T. Glad and L. Ljung. Modellbygge och Simulering. Studentlitteratur, Lund,*

2 edition, 2004. ISBN 91-44-02443-6. (In Swedish).

*[7] F. Gustafsson, L. Ljung, and M. Millnert. Signalbehandling. *
Studentlitter-atur, Lund, 2 edition, 2001. ISBN 91-44-01709-X. (In Swedish).

[8] C.C. Hang, K. J. Åström, and Q.G. Wang. Relay feedback auto-tuning of process controllers - a tutorial review. Journal of Process Control 12, pp. 143-162, 2002.

[9] P. E. Modén. Advanced PID autotuning, easy to use. European Control Conference ECC 95, Rome, Italy, 1995.

[10] A. Norberg. Kappa-tuning improved relay auto-tuning for PID controllers. Master Thesis, Department of Automatic Control, Lund Institute of Technol-ogy, June 1999.

**Appendix A**

**Results from the**

**Comparison Simulations**

The results from the comparison simulations are given in different plots and
ta-bles. In the time domain there are plots showing how the controller rejects a load
disturbance and follows a set-point change. For the frequency domain the loop
*transfer function is plotted with the unit circle and the circle with center in −1*
which radius is the inverse of the maximum sensitivity. The tables contain the
PID parameters, ISE for the load disturbances and set-point changes. Also the
*maximum sensitivity, Ms, sampling period, Ts, damping level ζ and frequency, ω,*

are given in the tables.

**A.1**

**Comparison Between Dominant Pole Design**

**and Relay Tuning**

**A.1.1**

**Process P**

1
**Process P**

*The process P*1 is defined as

*P*1*(s)* =

*e−s*

*1 + sT*

*T* = *0.3, 0.5, 1, 2, 4, 6, 10, 20*

The load disturbance steps in Figure A.1 and the ISE measures given in Table A.1
*show that for a process with time constant T ≤ 1 the DPD method results in a*
faster load disturbance rejections. When the process becomes more lag-dominated
the load disturbance rejection is almost identical. The Nyquist plots in Figure A.2
*show that for delay-dominated processes, L ≥ T , the Nyquist curve "bends" over*
the imaginary axis, due to low integral action and causing the slow rejection of a
load disturbance.

**46** **Results from the Comparison Simulations**

T Method K *Ti* *Td* *β* *Tf* *ζ* *ω* *Ts*(s) *Ms* ISE dist. ISE setpoint

0.3 Relay 0.43 3.34 0 0 0 slow - 0.25 1.62 0.82 5.80 DPD 0.05 0.12 0 4.55 0 0.70 0.90 0.25 1.58 0.53 1.62 0.5 Relay 0.45 3.34 0 0 0 slow - 0.25 1.52 0.77 5.69 DPD 0.04 0.10 0 6.87 0 0.70 0.70 0.25 1.52 0.57 1.81 1 Relay 0.52 4.3 0 0 0 slow - 0.25 1.39 0.78 6.73 DPD 0.13 0.45 0 2.37 0 0.70 0.45 0.25 1.40 0.57 2.10 2 Relay 1.07 3.5 0 0 0 normal - 0.25 1.62 0.27 3.92 DPD 0.72 1.52 0 0.57 0 0.70 0.55 0.25 1.59 0.26 2.15 4 Relay 1.77 3.82 0 0 0 normal - 0.25 1.62 0.14 3.76 DPD 1.45 2.53 0 0.45 0 0.70 0.42 0.25 1.61 0.14 2.38 6 Relay 2.27 4.46 0 0 0 normal - 0.25 1.53 0.10 4.16 DPD 1.88 3.26 0 0.41 0 0.70 0.36 0.25 1.50 0.11 2.73 10 Relay 2.88 5.73 0 0 0 normal - 0.25 1.39 0.08 5.16 DPD 1.95 3.62 0 0.42 0 0.70 0.31 0.25 1.39 0.11 3.60 20 Relay 3.94 8.28 0 0 0 normal - 0.25 1.26 0.06 7.19 DPD 4.51 6.86 0 0.16 0 1.00 0.31 0.25 1.32 0.04 5.05

**Table A.1. Parameters of PID/PI controller and the ISE for load disturbance and**
setpoint change.
**0** **20** **40** **60** **80** **100** **120**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**Process: exp(−s)/(1+sT) T = 0.3**
*(a) T = 0.3*
**0** **20** **40** **60** **80** **100** **120**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**Process: exp(−s)/(1+sT) T = 0.5**
*(b) T = 0.5*
**0** **20** **40** **60** **80** **100** **120** **140**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
*(c) T = 1*
**0** **10** **20** **30** **40** **50** **60** **70** **80** **90**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
*(d) T = 2*

**A.1 Comparison Between Dominant Pole Design and Relay Tuning 47**
**0** **10** **20** **30** **40** **50** **60** **70** **80** **90**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**2.5**
*(e) T = 4*
**0** **10** **20** **30** **40** **50** **60** **70** **80** **90**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**2.5**
*(f) T = 6*
**0** **10** **20** **30** **40** **50** **60** **70** **80** **90**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**2.5**
**3**
*(g) T = 10*
**0** **10** **20** **30** **40** **50** **60** **70** **80** **90**
**−0.5**
**0**
**0.5**
**1**
**1.5**
**2**
**2.5**
**3**
*(h) T = 20*

**Figure A.1. Load disturbance step and a setpoint step. Relay auto-tuning method**
dashed line (- - -), DPD method solid line (—).

**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(a) T = 0.3*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(b) T = 0.5*

**48** **Results from the Comparison Simulations**
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(c) T = 1*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(d) T = 2*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(e) T = 4*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(f) T = 6*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(g) T = 10*
**−1.5** **−1** **−0.5** **0** **0.5** **1**
**−1**
**−0.8**
**−0.6**
**−0.4**
**−0.2**
**0**
**0.2**
**0.4**
**0.6**
**0.8**
**1**
*(h) T = 20*

**Figure A.2. Nyquist diagrams of the loop transfer function. Relay auto-tuning method**
dashed line (- - -), DPD method solid line (—).