Download as pdf or txt
Download as pdf or txt
You are on page 1of 75

CONTROL DE PROCESOS

PRÁCTICO Y AVANZADO

ARTURO ROJAS MORENO, Ph.D.

F Modelado de Procesos
F El Sistema de Medición
F Elementos Finales de Control
F Control PID SISO
F Estrategias de Control PID
F Sı́ntesis de Controladores SISO y MIMO
F Control Predictivo y Control Fuzzy
F Programas fuente en MATLAB
ii

CONTROL DE PROCESOS PRÁCTICO Y AVANZADO

Copyright
c 2012 Arturo Rojas-Moreno. Todos los derechos reservados.

ISBN

Queda rigurosamente prohibida la reproducción total o parcial de esta obra por cualquier
medio o procedimiento, sin la autorización escrita del propietario del “Copyright”.
Índice general

1. ON–OFF AND PID CONTROL 1


1.1. The SISO Control System . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Transiente Response of Processes . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. Step Response: Tangent Method . . . . . . . . . . . . . . . . . 3
1.2.2. Method of 28.3 % and 63.2 % . . . . . . . . . . . . . . . . . . . 5
1.3. On–Off Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. PID Control Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1. Proportional Control u(t) = Kc e(t) = P100B e(t) . . . . . . . . . . 9
1.4.2. Proportional Integral Control . . . . . . . . . . . . . . . . . . . 10
1.4.3. Proportional Derivative Control . . . . . . . . . . . . . . . . . . 11
1.4.4. PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.5. The Proportional Band PB % . . . . . . . . . . . . . . . . . . . 13
1.5. PID Controller Structures . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6. Tuning Methods of PID Controllers . . . . . . . . . . . . . . . . . . . . 18
1.6.1. Methods Based on the Reaction Curve . . . . . . . . . . . . . . 19
1.6.2. Closed-Loop Methods . . . . . . . . . . . . . . . . . . . . . . . 30
1.6.3. Métodos Basados en la Minimización de un Índice . . . . . . . 42
1.6.4. Método de Dahlin . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.7. El Efecto Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.8. Discrete-Time PID Algorithms . . . . . . . . . . . . . . . . . . . . . . 59
1.8.1. The Modified PID Algorithm . . . . . . . . . . . . . . . . . . . 59
1.8.2. The Velocity PID Algorithm . . . . . . . . . . . . . . . . . . . 63
1.9. Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Bibliografı́a 69
Capı́tulo 1

ON–OFF AND PID CONTROL

This Chapter deals with the on–off (two positions) control and PID (Proportional
Integral and Derivative) controllers. The on–off controller is one of the oldest used in the
industry due to its implementation simplicity and acceptable operation. It can be used
to control SISO (Single Input Single Output) processes. On the other hand, the PID
controller is the one with the highest industrial application (approximately 90 %). It can
be employed to control SISO and multiloop processes.

1.1. The SISO Control System


A feedback or closed–loop SISO control system, without the presence of disturban-
ces, such as the one shown in Fig. 1.1(a), comprises the process with TF (Transfer
Function) Gp (s) whose output y (the PV or Process Variable) is to be controlled,
a controller Gc (s) which generates the control signal u (the MV or Manipulated
Variable), and the measurement system Gm (s) that is concerned with sensing and
transmitting the PV y. The comparator that generates the error signal e = r − y,
where r is the desired signal or SP (Set Point), is part of the controller.
The controller Gc (s) of Fig. 1.1(a) has been divided into two parts as shown in
1.1(b): Gc1(s) and Gc2(s). For some configurations Gc1(s) and Gc2(s) may be of
type PI and D respectively. Note that the process to be controlled Gp (s) shown in
Figs. 1.1(a), (b) and (c) is of type SISO because it has a single input u and a single
output y. The controllers shown in Figs. 1.1(a) and (b) are part of a feedback control
system. In Fig.1.1(c), controllers Ga (s) and Gc( s) are of the feedforward and feedback
types, respectively.
The control objective is to design a control signal u, generated by the control
algorithm, with the capability of stabilizing the output y of the process with respect
to a reference signal r. In other words, the control signal u should be capable of
minimizing the error signal e = r − y, satisfying certain specifications either in the
time–domain or in the frequency–domain.
The SISO feedback control system shown in Fig. 1.2 also considers the action of
the disturbances dy , du and dm acting on the output of the process, at the output
of the controller, and at the output of the transmitter, respectively. The control
objective of the system in this case is multiple: design a control signal u that is able
to stabilize the output y with respect to the reference signal r, fulfilling the required
2 ON–OFF AND PID CONTROL

r e u y
Gc (s) G p(s)

G m (s)

(a)

r e u y
G c1 (s) G p(s)

G c2 (s)

G m (s)

(b)

G a (s)

r u y
e
G c (s) G p(s)

G m (s)

(c)

Fig. 1.1: (a) and (b): Feedback control systems. (c): Feedback–feedforward control
system.

design specifications while rejecting the action of the disturbances.


The input filter in Fig. 1.2 attenuates high frequency noise whose presence may
be harmful during the operation of the feedback control system. To avoid possible
damage to the the final control element, a limiter, such as that shown in Fig. 1.2,
must be included. The presence of a limiter could cause the effect called windup.

du dy
Limitador
r Filtro de e u u u Proceso más y
Controlador elemento
entrada u final de control

Sensor más
transmisor

dm

Fig. 1.2: SISO control system with input filter, saturator, and subject to effect of the
disturbances.
1.2 Transiente Response of Processes 3

1.2. Transiente Response of Processes


1.2.1. Step Response: Tangent Method
Let us assume that the response y of a process to a step– input u has the self–
regulating form shown in 1.3, which is the case of many industrial processes. Observe
in Fig. 1.3 that the response y0 in time t1 is due to the input u0 . When u signal
changes from u0 to u1 , then, from t1 , the time–response changes from y0 to y1 . This
type of response can be approximated by a first order TF cascaded with a TF of the
dead time
y(s) Kp y1 − y0
Gp (s) = = e−τ s Kp = (1.1)
u(s) (T s + 1) u1 − u0
where Kp is the proportional gain, T is the first order delay or time constant and τ
is the dead time or transport delay. Parameters T and τ can be graphically obtained
by plotting a tangent that touches the point of tangency (P.T.) on the curve. The

u y
Proceso
u1 autoregulado y
1
u y
e τs
KP P.T.
Ts + 1 y0
u0
τ
t t1 t t t1 T t
0 0

Fig. 1.3: Reaction Curve of a Process.

curve shown in Fig. 1.3 can also be approximated by a TF of order n of the form

y(s) Kp y1 − y0
G(s) = = Kp = (1.2)
u(s) (Tn s + 1)n u1 − u0

The parameters n and Tn of (1.2) are determined using Table 1.1.

Ejemplo 1.1

Determine two dynamic models describing the behavior braking speed of a DC motor
from its reaction curve, similar to that shown in Fig. 1.3. This curve was obtained by
manipulating the input u of the process, which is a DC voltage generator . The data
read were: U0 = 10 V, u1 = 20 V, y0 = 400 rpm, y1 = 600 rpm , dead time τ = 2 s,
and first order delay T = 9.2 s. Determine the normalized process gain knowing that
the maximum input voltage is 40 V and the rpm range of the measuring instrument
at the output is 0 to 1000 rpm.
4 ON–OFF AND PID CONTROL

Solution: The first dynamic model is equation (1.1), where τ = 2 s and T = 9.2 s.
y(s) Kp y1 − y0 600 − 400 rpm
G(s) = = e−τ s Kp = = = 20
u(s) (T s + 1) u1 − u0 20 − 10 V
The second dynamic model refers to equation (1.2). With the data provided in the
example we obtain: τ /T = 0.217. Using Table 1.1 we can be determine : n = 3, and
Tn /T = 0.270 , which means: Tn = 2,484 s . The TF takes the form
y(s) Kp 20
G(s) = = =
u(s) (Tn s + 1)n (2.484s + 1)3
The normalized gain Kpn is obtained from:
600−400
1000−0 0.2
Kpn = 20−10 = = 0.4
40−0
0.5

Tabla 1.1: Determination of parameters n and Tn from (1.2).

n 2 3 4 5 6 7 8 9 10
τ /T 0.104 0.218 0.320 0.410 0.493 0.591 0.641 0.709 0.775
Tn /T 0.368 0.270 0.224 0.195 0.175 0.151 0.148 0.140 0.132

Special Case
For the special case
0 < τ /T < 0.104
The dynamics of the self-regulated process can be approximated by the following TF
of second order
Y (s) KP y1 − y0
G(s) = = KP = (1.3)
U (s) (T1 s + 1)(T2 s + 1) u1 − u0
where T1 and T2 are two related time constants by the equation
T1 = kT2 k>1
The k constant is determined using Table 1.2.
Ejemplo 1.2
Find the model that describes the dynamic speed of a mechatronic system from
its reaction curve, similar to that shown in Fig. 1.3. The data read were: u0 = 5 V,
u1 = 15 V, y0 = 200 rpm, y1 = 300 rpm, τ = 2 s, T = 22 s.

Solution: The dynamic model is equation (1.3). Since τ /T = 0.09, using Table 1.3,
we can find: k = 2 y T1 /T = 0.175, which implies that T1 = 3.85 s and T2 = kT1 =
7.7 s. Given that KP = (300–200)/(15–5) = 10 rpm/V, the required TF is
Y (s) KP 10
G(s) = = =
U (s) (T1 s + 1)(T2 s + 1) (3.85s + 1)(7.7s + 1)
1.3 On–Off Control 5

Tabla 1.2: Determination of parameters T1 and T2 from (1.3).

k 1 2 3 4 5 6 7 8 9
τ /T 0.094 0.090 0.085 0.080 0.075 0.069 0.064 0.058 0.053
T1 /T 0.238 0.175 0.140 0.120 0.107 0.097 0.088 0.081 0.074

1.2.2. Method of 28.3 % and 63.2 %


Fig. 1.4 shows the reaction curve for the 28.3 % y 63.2 % method. For such a
method, we need to find times t28.3 % and t63.2 % corresponding to magnitudes 0.283∆y
and 0.632∆y, respectively. Based on those values, the parameters of the TF given by
(1.1) can be determined from

T = 1.5(t63.2 % − t28.3 % ) τ = t63.2 % − T (1.4)

u t 63.2%
y
t 28.3
u1 Proceso y
autoregulado 1
∆u
u y 0.632 ∆y ∆y
e τs
KP
u0
Ts + 1 y0
0.283 ∆ y
t t1 t
0 t t1 t
0

Fig. 1.4: Reaction curve for the method of 28.3 % and 63.2 %.

1.3. On–Off Control


Fig. 1.5 illustrates de level control in a tank using an on–off controller. The on–
off valve in the inflow line to the system is an electrically operated solenoid valve.
Assume that under initial conditions with a demand on the system, the level will
start to fall and V1 will have to be opened to provide an inflow. This can easily be
achieved by mounting a differential pressure switch P1 at the bottom of the tank to
operate when the level falls to L1. When the level is at L1, the liquid will be hight h1
above switch. Fig. 1.6 shows a temperature control system using a real controller.
The ON–OFF or two positions control is implemented with a device that has two
operating conditions: Fully ON (examples: valve 100 % open, relay activated) and
completely OFF (examples: valve fully closed, relay off). Fig. 1.7(a) shows a control
system with a two positions controller and an ON–OFF valve (opening and closing
valve) as a FCE (Final Control Element).
6 ON–OFF AND PID CONTROL

Fig. 1.5: On–off control of the level in a tank.

Fig. 1.6: Using an on–off controller to control the temperature inside the tank.

In Fig. 1.7(b), the controller is the nonlinear device called an ideal relay. Let’s
suppose we want to maintain the temperature y(t) of a product near the set point,
controlling the steam through an ON–OFF valve. Clearly, when y(t) exceeds the set
point, the controller generates a signal Umin for the valve to close. However, if y(t)
is below the set point, the controller generates a signal Umax for the valve to open.
The final effect is that the controlled output y(t) fluctuates around the set point.
In Fig. 1.7(c),the controller is a relay with dead zone of magnitude h1 − h2 around
the set point. Note that if the controlled variable y(t) is within the dead zone, no
control action occurs. Therefore, the dead zone minimizes wear and damage of the
FCE, avoiding the valve to operate continuously in such a zone. The valve in operation
can be seen in Fig. 1.7(b).
1.3 On–Off Control 7

u(t)
Set Point e(t) Control de dos 1
0
posiciones 0
1
Válvula
Proceso y(t)

ON−OFF
Sistema de
Instrumentación
u(t) (a) u(t)
Umax Umax
e(t) e(t)
0 h1 h2
Umin Umin
y(t) y(t)
Ymax Ymax

Set Point t Zona t


Muerta

Ymin Ymin

Válvula Válvula
Abierta Abierta
(Umax) (Umax)

t t
Válvula Válvula
Cerrada Cerrada
(Umin) (b) (Umin) (c)

Fig. 1.7: (a): Sistema de control de dos posiciones. (b): Controlador ON–OFF sin
zona muerta, y (c): con zona muerta.

Ejemplo 1.3

Design a two-position controller without dead zone to control the following process:

Kp
Gp (s) = e−τ s
Ts + 1

Solution: Fig. 1.8 shows the Simulink diagram of the control system (file onoff1.mdl),
while Fig. 1.9 depicts the controlled output y(t) and the control signal u(t). Such a
plot was obtained running the file onoff1data.m. The listing of this program is shown
below. The employed relay has the parameters Umin = 0.8, Umax = 1.2, Switch On
Point = 0 and Switch Off Point = 0. The TF of the valve is assumed to be a constant
included in Kp .

% onoff1data.m
clear all; close all; clc;
R=1; Kp=1; T=10; tau=2; Umin=0.8; Umax=1.2; swonpoint=0; swoffpoint=0;
load th; load yh; load uh; load rh;
plot(th,rh,’k’,th,yh,’k’,th,uh,’k’), xlabel(’TIME [s]’), grid
ylabel(’y(t) y u(t)’), title(’ON-OFF CONTROL OF THE PROCESS’)
print -f -deps onoff1r, print -s -deps onoff1
8 ON–OFF AND PID CONTROL

e(t) u(t) Kp y(t)

T.s+1
Step Relay Transfer Fcn Transport Scope
Delay
rh
R
Save in format
th uh yh
array
Clock t t u y

Fig. 1.8: Simulink diagram for example 1.3.

CONTROL ON−OFF DEL PROCESO


1.4

1.2

u(t)
1

set point
0.8
y(t) y u(t)

y(t)
0.6

0.4

0.2

0
0 10 20 30 40 50
TIEMPO [s]

Fig. 1.9: Controlled output y(t) and ON–OFF control signal u(t) for example 1.6.

Fig. 1.10 depicts an on–off controller with deadband and another with hysteresis.
Deadband reduces wear on the final control element, e.g., valves.

1.4. PID Control Modes


The PID SISO controller processes the error signal e(t), which is the difference
between the desired signal r(t) and the controlled signal y(t) (the process output),
employing a control algorithm widely known in the industrial world, whose most
known form is
Z
Kc de(t)
u(t) = Kc e(t) + e(t)dt + Kc Td
Ti dt
Z
de(t)
u(t) = Kc e(t) + Ki e(t)dt + Kd = P (t) + I(t) + D(t)
dt
1
u(s) = Kc e(s) + Ki e(s) + Kd s e(s)
s Z
de(t)
P (t) = Kc e(t); I(t) = Ki e(t)dt; D(t) = Kd
dt
1.4 PID Control Modes 9

Fig. 1.10: (a) On–off controller with deadband. (b) On–off Controller with hysteresis.

Kc
Ki = ; Kd = Kc Td ; (1.5)
Ti

In (1.5), Kc , Ki , and Kd are the proportional, integral, and derivative gains, Ti


and Td are the integral and derivative times, while P (t), I(t), and D(t) are the
proportional, integral and derivative parts of the PID algorithm. This algorithm has
many variations, some of which we will explore in this chapter. Depending on the
application, the controller in question can work as P, PI, PD or PID.
As seen in (1.5), the PID control algorithm is the sum of the P, I, and D modes.
Let us consider a feedback control system where the process possesses the following
TF
y(s) s + Tz
Gp (s) = (1.6)
u(s) (s + T1 )(s + T2 )(s + T3 )(s + T4 )(s + T5 )
Gp (s) will be subjected to the action of the control modes P, PI and PD, respectively,
in order to analyze the corresponding time responses.

100
1.4.1. Proportional Control u(t) = Kc e(t) = PB
e(t)
The amount of proportional action used in a process depends on the characteristics
and variables of such a process. Therefore, each process will require a certain PB %,
within the control system will perform well. BP % is the Proportional Band, defined
as 100 times the inverse of the proportional gain Kc .
In general we can say that if the PB is narrow (Kc is large enough), then a small
change in the error e(t) can cause that the signal u(t) make the output y(t) oscillate,
becoming the feedback control system unstable, as seen in Fig. 1.11 when the PB %
is 48.8 ( Kc = 2.05). By contrast, a very wide BP (Kc being very small), generates a
full range change of e(t), which in turn causes u(t) make the output y(t) to vary, as
is the case when BP % = 2000 ( Kc = 0.05) (see Fig. 1.11. In conclusion, a very wide
PB provides little proportional control action, whereas when the PB is very narrow,
the control action is very large.
10 ON–OFF AND PID CONTROL

In many cases, the proportional control action is the cause of the phenomenon
offset or ess (steady stste error), which results in a permanent deviation between
signals SP (Set Point) and PV (Process Variable). In Fig. 1.11, double-pointed arrows
indicate the magnitude of offset for each curve. Note that the SP is of value one. To
obtain the above results, run the program mcp.m listed below .

ACCIÓN PROPORCIONAL

1.4

1.2
SP
1
Kc=2.05; BP%=48.8
AMPLITUD

0.8

0.6

Kc=1.05; BP%=95.24
0.4

Kc=0.05; BP%=2000
0.2

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 1.11: Proportional control mode.

% mcp.m Proportional control mode


clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); % PROCESS
for Kc=0.05:1:2.05; P=feedback(Kc*Gp,1); step(P,’k’,Tf); % CONTROL P
hold on; end; hold off; grid; title(’PROPORCIONAL ACTION’);
xlabel(’TIME’); ylabel(’AMPLITUDE’); print -deps -f mcp

1.4.2. Proportional Integral Control


The integral control action, or Control reset, is required when the amount of offset
in a process subject to proportional control is unacceptable. This control action often
is added to the proportional control to minimize the offset ess . So, this control mode
takes the name of PI (Proportional plus Integral).
Fig. 1.12, made with the mcpi.m program shown below, depicts three response
curves of the feedback control system employing a PI controller of the form:
Z
Kc
u(t) = Kc e(t) + Ki e(t)dt Ki =
Ti

where Ki is the integral gain and Ti is the time reset or integral time. Note that
in all cases the offset disappears, and, as Ki increasing (Ti decreases), the settling
time, indicated by horizontal arrows with two points, decreases, but the overshoot
increases. The latter is most notorious for the case Ki = 0.2.
1.4 PID Control Modes 11

ACCIÓN PROPORCIONAL MÁS INTEGRAL

1.4

1.2

Ti = 3; KI=0.2
1

Ti=9; KI=0.066
AMPLITUD

0.8

Ti=15; KI=0.04
0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 1.12: Proportional integral control.

% mcpi.m Proportional integral control mode


clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESS
for Ti=3:6:15; KI=Kc/Ti; Gc=Kc+KI/s; PI=feedback(Gc*Gp,1); % CONTROL PI
step(PI,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’);
ylabel(’AMPLITUD’); title(’Proportional plus integral action’);
print -deps -f mcpi

1.4.3. Proportional Derivative Control


The derivative control action, or control rate , uses the rate of change of the
controlled signal y(t) of a process to adjust the output u(t) of the controller. The
magnitude of the adjustment is fixed based on the speed of deviation of the error.
This control action often is added to the proportional control. That is the reason why
this control mode is called PD (PD (Proportional plus Derivative).
Fig. 1.13, obtained with the programa mcpd.m shown below, illustrates three
response curves of the feedback control system employing a PD controller of the form
de(t)
u(t) = Kc e(t) + KD KD = Kc Td
dt
where KD is the derivative gain and Td is the derivative o rate time. Observe that for
all cases, the offset is the same (and very large), while the settling time (horizontal
arrows with two points) is the same. Note that when KD (or Td ) increases, the
overshoot also increases.
% mcpd.m Proporcional plus derivative mode
clear all; close all; clc;
Kp=2; T1=0.5; T2=1; T3=1.5; T4=2; T5=2.5; Tz=3.5; Tf=100; s=tf(’s’);
Gp=Kp*(s+Tz)/(s+T1)/(s+T2)/(s+T3)/(s+T4)/(s+T5); Kc=0.6; % PROCESS
for Td=0.1:0.5:1.1; KD=Kc*Td; Gc=Kc+KD*s; PD=feedback(Gc*Gp,1); % PD CON
12 ON–OFF AND PID CONTROL

ACCIÓN PROPORCIONAL MÁS DERIVATIVA

0.7

KD=0.06; Td=0.1
0.6
KD=0.3; Td=0.6

0.5

KD=0.66; Td=1.1
AMPPLITUD

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (sec)

Fig. 1.13: Proporcional plus derivative mode.

step(PD,’k’,Tf); hold on; end; hold off; grid; xlabel(’TIEMPO’);


ylabel(’AMPLITUDE’); title(’Proporcional plus derivative mode’);
print -deps -f mcpd

1.4.4. PID Control


We have seen that only the PI control is able to stabilize the output of the test
system in their SP. This means that modes P and PD control are not suitable for
controlling such a test process given by (1.6). Using a PID controller, the ability to
control most industrial processes increases, since this controller can be used with all
possible combinations as P , I, PI , PD and PID.
Table 1.3 shoes the trend of the design specifications when gains cuando Kc , Ki o
Kd are incremented. On the other hand, Tabla 1.4 tell us about the speed of response
and of the system stability when parameters Kc , Ti o Td are increased. Such tables
should be applied carefully, because in a PID control system, a change in a design
parameter may affect the behavior of others.

Tabla 1.3: Variation of the design parameters for increments of Kc , Ki or Kd

Parameter Rise Overshoot Ts : Settling ess : Steady


time Tr (PO %) time state error
Kc Decreases Increases Small change Decreases
Ki Decreases Increases Increases Eliminates
Kd Small change Decreases Decreases Small change
1.4 PID Control Modes 13

Tabla 1.4: Speed of response and the stability due to Kc , Ti o Td

Parameter Speed Stability


Kc Increases Increases Decreases
Ti Increases Decreases Increases
Td Increases Increases Increases

1.4.5. The Proportional Band PB %


In many cases in industry, we use the so-called Proportional Band in percenta-
ge, instead of the proportional gain. The P action of the controller is expressed as:
u(t) = Kc e(t), where u(t) (or MV: Manipulated Variable) is the output signal of
the controller, Kc is the proportional controller gain, and e(t) is the deviation error
between the desired signal r(t) (or SP: Set Point) and the controlled variable y(t) (or
PV: Process Vriable). In many practical cases, the inverse of Kc in percentage is used
as a P action. That is, BP % = 100/Kc , where BP % is known as the proportional
band. BP can be defined as the necessary amount of percentage change in the con-
troller input to cause a complete change of range (100 %) at its output, due to the P
action.
You can adjust the amount of proportional action provided by the controller. This
adjustment refers to change the width of the PB %, as illustrated in Fig 1.14, where
the P action is represented by the lever and the adjustment of the width of the PB %
is done by moving the pivot point of the lever.
In Fig 1.14(a), the pivot point is located in the center of the lever. Note that it is
necessary that the error signal, the input, make a complete tour (from its minimum
value to its maximum) to move the EFC (the automatic control valve) from its fully
open position to fully closed. In this case, the PB % is 100 % (full range) because a
change of 100 % is required in the input to cause a change of 100 % in the output
(full range).
En la Fig. 1.14(a) el punto pivote está ubicado en el centro de la palanca. Observar
que es necesario que la señal de error, la entrada, haga un recorrido completo (desde
su valor mı́nimo hasta su valor máximo) para mover el EFC (la válvula automática de
control) desde su posición completamente abierta a completamente cerrada. En este
caso, la PB % es 100 % (rango completo) porque se requiere un cambio de 100 % en
la entrada para provocar un cambio de 100 % en la salida (salida de rango completo).
Note in Fig. 1.14(b) that a change of 100 % at the input causes a change of 50 % at
the output. Accordingly, to cause a full–range output at the output, it is theoretically
required a change of 200 % at the input, that is, a PB % of 200 %. In a real case, it
is not possible to change the input to 200 % because 100 % is the maximum that can
be modified. Therefore, if the EFC is a valve, this will never be neither completely
open or fully closed.
To obtain a PB % to 50 %, the pivot point must move to the left of the middle
point of the lever (Fig. ??(c)), wherein a change of 50 % in the input is sufficient to
cause a change of 100 % at the output.
14 ON–OFF AND PID CONTROL

Error Abertura de válvula


1111
0000
Máx. 111100%
000
000
111 11
00
11
00 000
111
111
000
111
000 00
11
111
000 00
11 11
0050%
11
00 111
000
111
000
11
00 Pivote
111
000
1111
0000 111 0%
000
Mín. 111
000
(a) PB% = 100%

Error Abertura de válvula


Máx. 000
1111111111
1111100%
0000
0000000
111 1111111
000 0000000 11
00
000
111 11 1111111
00 0000000
0000000
1111111 11
00
111
000
00 00
11
11 1111111
0000000
00
11 111
000
0000000
1111111 50%
111 1111111
000 0000000
0000000
1111111 111
000
11
00
111 1111111
000 Pivote
11110000000
111
000
0000 0000000
1111111 111 0%
000
Mín. 111
000
(b) PB% = 200%

Error Abertura de válvula


0000000
1111111
0000000000
1111111
1111
0000
0001111111
111
Máx.
0000000111100%
11
00
0000000000
1111111
11
00
00000000
11111111
0000000
1111111
0
1 111
111
000
00000000
11111111
11
000000000
1111111
0
1
00000000
11111111
111
00011
000000000
1111111
0
1
00000000
11111111 11
0050%
0000000
1111111
00000000
11111111
0000000
1111111 111
000
111
000
11
00
00000000
11111111
Pivote
111
000
1111
0000 00000000
11111111 111 0%
000
Mín. 111
000
(c) PB% = 50%

Fig. 1.14: Change in the PB % to modify the proportional action of the controller.

Fig. 1.15 shows the block diagram of a P controller characterized by its gain Kc ,
which is defined as the ratio of change between input and output
∆u
U
Kc = ∆e
(1.7)
E

where ∆e is the change in the error signal, ∆u s change in the control signal, U
is the maximum measurable range (or span) of the controller output, and E is the
measuring range (or span) of the controlled signal The BP % is defined as the inverse
of the gain controller Kc as follows

100
PB % = (1.8)
Kc

∆e Controlador ∆u
E Proporcional U

Fig. 1.15: Controlador tipo P (proporcional).


1.5 PID Controller Structures 15

Ejemplo 1.4

Determinar la banda proporcional de un controlador PID operando en un sistema


de control de temperatura, sabiendo que un cambio de ∆e = 15o C en la entrada del
controlador produjo un desplazamiento de ∆u = 3 mm en el vástago de la válvula
de control. Se sabe además que el desplazamiento máximo del vástago es de U = 40
mm y que el rango de medición de la variable del proceso controlado es de 100o C a
500o C, lo cual significa que E = 500o C - 100o C = 400o C.
Solution.- The gain Kc of the controller for the operation point under study is
calculated from (1.7)

∆u/U 3 mm/40 mm
Kc = = =2
∆e/E 15o C/400o C

The PB % is obtained from (1.8)

100 100
PB % = = = 50 %
Kc 2

1.5. PID Controller Structures


The PID control algorithm is the most widely used today by industry. It is esti-
mated that such an algorithm is applied in more than 90 % of applications. However,
there is no an industry standard algorithm. In fact, there are several structures of
the PID algorithm [11], some of them are described below.

The Ideal PID Controller

The ideal PID controller, also known as non interactive controller, as ISA (Ins-
trument Society of America) algorithm, or as parallel noninteractive algorithm, can
be formulated as follows
Z t
de
u = Kc e + Ki e dt + Kd
0 dt
e = r−y (1.9)

where u is the signal or control force, y is the controlled process output (permanently
subject to measurement), e is the error signal, r is the desired reference signal or set
point, Kc , Ki , and Kd are the proportional integral and derivative gains.
It should be noted that the form of the used error signal: e = r − y corresponds
to a reverse control action. For a direct control action, the error is expressed as:
e = y − r. We will continue using the first form. On the other hand, the integral time
or reset time Ti is often expressed as an integral reset rate Tr = 1/Ti .
In the Laplace domain, (1.9) is expressed as
 
u(s) 1 Kc
Gc (s) = = Kc 1 + + Td s = Kc + + Kc Td s (1.10)
e(s) Ti s Ti s
16 ON–OFF AND PID CONTROL

The PID Parallel Controller

The PID parallel controller, also called parallel ideal, non-interactive , indepen-
dent or independent from the gain, is a variation of the ideal controller given by
(1.10) and is formulated in the Laplace domain as

u(s) 1
Gc (s) = = Kc + + Td s (1.11)
e(s) Ti s

Note that PID parallel controller parameters Kc , 1/Ti and Td given by (1.11) corres-
pond to parameters Kc , Kc /Ti y Kc Td of the ideal PID controller given by (1.10).
Therefore, (1.11) can be always replaced by (1.10).

The Filtered Ideal PID Controller

Many times it is necessary to introduce a filter to smooth noisy signals before


application of the algorithm. For these cases, the following first-order filter is recom-
mended formulated both in the time and the Laplace domains, respectively

def (t) 1
T = e(t) − ef (t) ef (s) = e(s) (1.12)
dt 1 + Ts

where T is the time constant of the filter. Since the system noise is amplified mainly
by the derivative action, then T can be formulated proportional to time derivative
as follows:
1
T = α Td → ef (s) = e(s) (1.13)
1 + α Td s
Introducing the filter given by (1.13) in (1.10), we can obtain the following filtered
ideal PID controller
  
u(s) 1 1
Gc (s) = = Kc 1+ + Td s (1.14)
e(s) 1 + αTd s Ti s

The PID Controller with Filtered Derivative

The PID controller with filtered derivative, known also as non-interactive, is for-
mulated as
!
u(s) 1 Td s
Gc (s) = = Kc 1 + + 3 ≤ N ≤ 10 (1.15)
e(s) Ti s 1 + TNd s

The Classical PID Controller

The Classical PID Controller shown below is also known as cascade, interactive,
serie, analog, or commercial controller. It follows its description
  !
u(s) 1 1 + Td s
Gc (s) = = Kc 1 + Td
3 ≤ N ≤ 10 (1.16)
e(s) Ti s 1+ N s
1.5 PID Controller Structures 17

The Generalized Classical PID Controller


The generalized classical PID controller shown below with 3 ≤ N ≤ 10 is expres-
sed as
!
bf 0 + bf 1 s + bf 2 s2

u(s) 1 Td s
Gc (s) = = Kc 1 + + (1.17)
e(s) Ti s 1 + TNd s 1 + af 1 s + af 2 s2

The Dependent PID Controller


The Dependent PID Controller is also known as a serie controller, or a controller
with analog algorithm. This controller is formulated as
 
u(s) 0 1 0

Gc (s) = = Kc 1 + 0 1 + Td s (1.18)
e(s) Ti s

The expression given by (1.18) can be rearranged as


0 0
" 0 0
#  
0Ti + Td 1 Ti Td s 1
Gc (s) = Kc 0 1+ 0 0 + 0 0 = Kc 1 + + Td s (1.19)
Ti Ti + Td s Ti + Td Ti s

The structure in (1.19) is similar to the structure given by (1.9) with


0 0 0 0
0 Ti + Td 0 0 Ti Td
Kc = Kc 0 Ti = Ti + Td Td = 0 0 (1.20)
Ti Ti + Td

Solving the system of equations given in (1.20), we obtain


0
 p 
Kc = 0.5Kc 1 + 1 − 4Td /Ti
0
 p 
Ti = 0.5Ti 1 + 1 − 4Td /Ti
0
 p 
Td = 0.5Td 1 + 1 − 4Td /Ti (1.21)

If Td = Ti /4 in (1.21), tuning parameters become


0 0 0
Kc = 0.5Kc Ti = 0.5Ti Td = 0.5Td

For Td > TI /4, the dependent PID controller is not similar to the ideal controller,
since for this condition parameters in (1.21) become imaginary.

The Interactive PID Controller


The interactive PID controller has the following structure (compare it with the
structure of the classical controller)
  !
u(s) 1 Td s
Gc (s) = = Kc 1 + Td
(1.22)
e(s) Ti s 1+ N s
18 ON–OFF AND PID CONTROL

The Improved PID Controller


The improved PID controller has the following structure (compare it with the
structure of the interactive controller)
  !
1 Td s
u(s) = Kc 1 + e(s) − Kc y(s) (1.23)
Ti s 1 + TNd s

The PID Controller with 2DOF


The PID controller with 2DOF (2 Degrees of Freedom), known also as m–PID or
ISA–PID controller, is expressed as
" # " #
1 (1 − β)Td s 1 Td s
u(s) = Kc (1 − α) + + e(s)−Kc 1 + + y(s) (1.24)
Ti s 1 + TNd s Ti s 1 + TNd s

Set Point Weighting

Z t  
dr dy
u = Kc (br − y) + Ki e dt + Kd c − (1.25)
0 dt dt

Position and Velocity PID Algorithms

Z t
de
u = Kc e + Ki e dt + Kd ; P osition P ID
0 dt
du de d2 e
= Kc + Ki e + Kd 2 ; V elocity P ID
dt dt dt
du u(k) − u(k − 1) de e(k) − e(k − 1)
= ; = ;
dt Ts dt Ts
d2 e 1
= (e(k) − 2e(k − 1) + e(k − 2))
dt2 Ts2
u(k) = u(k − 1) + Kc (e(k) − e(k − 1) +
Kd
Ts Ki e(k) + (e(k) − 2e(k − 1) + e(k − 2)) (1.26)
Ts

1.6. Tuning Methods of PID Controllers


In a feedback control system, the PID controller must generate the control signal
acting on the process, forcing the output of such a process to follow a reference signal,
meeting certain design specifications previously established. This objective is achie-
ved by determining proper values of controller parameters Kc , Ti and TD . In other
words, tuning the controller parameters. There are several methods of tuning, some
of which will be explored and illustrated with applications. Reference [11] contains
an exhaustive list of tuning rules for various structures of PI and PID controllers
applied to various types of plants.
1.6 Tuning Methods of PID Controllers 19

For comparison purposes, some Examples employ the ideal controller given in
(1.27), the noninteractive controller shown in (1.28), as well as the improved controller
from (1.29).
 
u(s) 1 Kc
P ID1(s) = = Kc 1 + + Td s = Kc + + Kc Td s (1.27)
e(s) Ti s Ti s
!
u(s) 1 Td s
P ID2(s) = = Kc 1 + + 3 ≤ N ≤ 100 (1.28)
e(s) Ti s 1 + TNd s
  !
1 Td s
P ID3(s) = Kc 1 + e(s) − Kc y(s) (1.29)
Ti s 1 + TNd s

1.6.1. Methods Based on the Reaction Curve


The response of a process to a step input is called the reaction curve. In a self-
regulating process, its reaction curve tends to a steady state, which can also be the
zero state. Examples of such processes are
Kp Kp
Gp (s) = ; Gp (s) =
Ts + 1 (T1 s + 1)(T2 s + 1)

In contrast, non self-regulated processes have a non-stationary reaction curve, because


they grow continuously over time. Examples of such processes are:
Kp Kp
Gp (s) = ; Gp (s) =
s(T s + 1) s(T1 s + 1)(T2 s + 1)

Method of the Time Constant


The method of the time constant of the control loop is used for first-order proces-
ses given by (1.31). The parameters of the PID controller are tuned with the following
formulas
1 1
Kc = ; Ti = T ; Td = Ti (1.30)
Kp 4

Ejemplo 1.5

Control the following process employing the method of the time constant.
Kp
Gp (s) = (1.31)
Ts + 1
where Kp = 2 y T = 5. Use the Fig. 1.1(a) for the control task with Gm (s) = 1.
Solution: See file ct1.m. The controlled output is shown in Fig. 1.16.
% ct1.m CONTROL OF A FIRST-ORDER PROCESS
clear all; close all; clc; Kp=2; T=5; s=tf(’s’); Gp=Kp/(T*s+1); % PROCESO
Kc=1/Kp; Ti=T; Td=T/4; Gc=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gc*Gp,1);
step(PID,’r’,50); grid; xlabel(’TIME’); ylabel(’OUTPUT’);
title(’CONTROL PID OF A FIRST--ORDER PROCESS’);print -deps -f ct1
20 ON–OFF AND PID CONTROL

CONTROL PID USANDO EL MÉTODO DE LA CONSTANTE DE TIEMPO

1.2

1.1

0.9

0.8
SALIDA

0.7

0.6

0.5

0.4

0.3

0.2
0 5 10 15 20 25 30 35 40 45 50
TIEMPO (seconds)

Fig. 1.16: Controlled output of example 1.5.

Hartree Method
Table 1.5 from Hartree et al. (see [11]) is applied to control processes having a
TF of the form Gp (s) = Kp e−τ s . The control is performed using the control system
of Fig. 1.1(a).

Tabla 1.5: Tuning rules to control processes of the form Gp (s) = Kp e−τ s .

Method Controller Gc (s) Kc Ti Td


  
1 1+Td s 0.7
Reaction curve Kc 1 + Ti s Td Kp τ 2.66τ τ
1+ N s

Ejemplo 1.6

Control the following process using the Table 1.5:

Gp (s) = Kp e−τ s

where Kp = 2 y τ = 2. Use the control system of the Fig. 1.1(a).


Solución: We use Table 1.5 to calculate parameters of the PID controller with N
= 3. Fig. 1.17 shows the Simulink diagram of the control system (file hartree1.mdl),
while Fig. 1.18 depicts the controlled output y(t) and the control signal u(t). This
graph was obtained by running the file hartree1graf.m whose listing is shown below.
Note in the Simulink diagram that blocks Kc and Gc1 (s) form a PI controller.
Observe also that blocks rh, yh, uh, and th are of the type To Workspace, which are
used to store data and structures. Since we are interested in creating data vectors to
plot them, double-click on each block of the Simulink diagram. In each case a window
will appear, where we will select Array in Save Format.
% hartree1graf.m
clear all; close all; clc;
1.6 Tuning Methods of PID Controllers 21

hartree 1.mdl

Ti .s+1 Td .s+1
Kc Kp
Ti .s Td /N.s+1 Scope
r Kc Gc1(s) Gc2(s) Kp tau

rh1 th1 uh1 yh1


rh1 Clock th1 uh1 yh1

Fig. 1.17: Simulink diagram for example 1.6.

CONTROL DEL PROCESO G(s)=Kp*exp(−tau*s)


1

0.8
SALIDA y(t)

0.6

0.4

0.2

0
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

0.8
CONTROL u(t)

0.6

0.4

0.2

0
0 20 40 60 80 100 120 140 160 180 200
TIEMPO [s]

Fig. 1.18: Controlled output and control signal for example 1.6.

r=1; N=3; Kp=2; tau=2; Kc=0.7/(Kp*tau); Ti=2.66*tau; Td=tau;


load th1; load yh1; load uh1; load rh1;
subplot(211), plot(th1,rh1,th1,yh1), xlabel(’TIME [s]’),
ylabel(’SALIDA y(t)’), title(’CONTROL OF PROCESS G(s)=Kp*exp(-tau*s)’)
subplot(212), plot(th1,uh1), xlabel(’TIME [s]’), ylabel(’CONTROL u(t)’)
print -f -deps hartree1graf, print -s -deps hartree1
The program hartree1a.m solves example 1.6 in the s–domain as shown in Fig.
1.19. Note that N is selected to be 1.
% hartree1a.m
clear all; close all; clc; s=tf(’s’);
Kp=2; tau=2; N=1;
s=tf(’s’); Gp=Kp*exp(-tau*s); Kc=0.7/Kp/tau; Ti=2.66*tau; Td=tau;
22 ON–OFF AND PID CONTROL

Gc=Kc*(1+1/Ti/s)*((1+Td*s)/(1+Td*s/N));
PID=feedback(Gp*Gc,1); % CONTROL PID
step(PID,’r’); grid;
title(’CONTROLLED OUTPUT USING THE METHOD OF HARTREE’);
xlabel(’TIME (S)’); ylabel(’OUTPUT’);
print -deps -f hartree1a

CONTROLLED OUTPUT USING THE METHOD OF HARTREE


1

0.9

0.8

0.7

0.6
OUTPUT

0.5

0.4

0.3

0.2

0.1

0
0 50 100 150
TIME (S) (seconds)

Fig. 1.19: Controlled output for example 1.6 using the program hartree1a.m.

Ziegler and Nichols Reaction Curve Method


The Ziegler and Nichols reaction curve method uses the reaction curve of Fig. 1.3
to control self-regulated processes that can be modelled as a first-order process with
gain Kp and time constant T , cascaded with a transport delay τ , as follows
y(s) Kp
Gp (s) = = e−τ s (1.32)
u(s) Ts + 1
The reaction curve is used to obtain the parameters Kp , τ and T , which then will
be used to calculate the parameters Kc , Ti and TD of thr ideal PID controller using
Table 1.6. The formulas in such a Table were the product of intensive experimental
work conducted by researchers Ziegler and Nichols in 1942 [12].
In some processes, the dead time τ is quite small, so their quantification is difficult.
For those cases, we can use a calculation method consisting in locate in the reaction
curve times t1 = τ + T /3 and t2 = τ + T . These times correspond to 28.3 % and
63.2 % of the maximum value of the reaction curve, as shown in Fig 1.20. Knowing
t1 and t2 , parameters T and τ are determined from
3
T = (t2 − t1 ) τ = t2 − T (1.33)
2
1.6 Tuning Methods of PID Controllers 23

Tabla 1.6: Method of the reaction curve from Ziegler and Nichols to determine para-
meters Kc , Ti y Td .

100 Kp τ
Type Controller Gc (s) Kc = BP ; a= T Ti Td
P Kc 1/a ∞ 0
 
PI Kc 1 + T1i s 0.9/a 10τ /3 0
 
PID Kc 1 + T1i s + Td s 1.2/a 2τ 0.5τ

PD Kc (1 + Td s) 1.2/a ∞ 0.42τ

y
100%

63.2%

28.3%
t
t t2
1

Fig. 1.20: Times t1 and t2 corresponding to 28.3 % and 63.2 % of the maximum value
of the reaction curve.

Ejemplo 1.7

Control the following fifth-order process using the Ziegler and Nichols reaction curve
method
Kp
Gp (s) =
(s + Ta )(s + Tb )(s + Tc )(s + Td )(s + Te )
where: [Ta , Tb , Tc , Td , Te ] = [0.5, 1, 1.5, 2, 2.5] y Kp = 20.
Solution: The proportional gain Kpp of the process Gp (s) is obtained in the steady
state, that is, when s = 0, resulting
Kp
Kpp = = 5.33
Ta Tb Tc Td Te
This result can be seen in the first graph of Fig. 1.21, which shows the step response
(the reaction curve) of the process with a steady state gain of about 5.5. From this
curve we can obtain the parameters τ = 1.7 s and T = 6.7 – τ = 5 s of the process
model
Kpp −sτ
Gp (s) = e
Ts + 1
With those values, parameters of controllers P, PI, PID and PD are calculated using
Table 1.6. The second graph in Fig 1.21 illustrates the comparison between the con-
trolled outputs. Note that only PI and PID controllers are able to control the process
24 ON–OFF AND PID CONTROL

without post–tuning. Such results are obtained by running the program zn1.m listed
below.
% zn1.m CONTROL P, PI, PID Y PD OF A PROCESS USING THE REACTION CURVE
clear all; close all; clc;
Kp=20; Ta=0.5; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’);
Gp=Kp/(s+Ta)/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); % PROCESO
subplot(211); step(Gp,’r’); grid;
title(’STEP RESPONSE’); xlabel(’TIEMPO’); ylabel(’OUTPUT’);
tau=1.7; T=6.7-tau; Kpp=5.5; a=Kpp*tau/T; % FROM THE REACTION CURVE
Kc=1/a; Gc1=Kc; P=feedback(Gp*Gc1,1); % CONTROL P
Kc=0.9/a; Ti=10*tau/3; Gc2=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc2,1); % PI
Kc=1.2/a; Ti=2*tau; Td=0.5*tau;
Gc3=Kc*(1+1/Ti/s+Td*s); PID=feedback(Gp*Gc3,1); % CONTROL PID
Kc=1.2/a; Td=0.42*tau; Gc4=Kc*(1+Td*s); PD=feedback(Gp*Gc4,1); % PD
subplot(212); step(P,’r’,PI,’b’,PID,’c’,PD,’y’); grid; xlabel(’TIME’);
legend(’P’,’PI’,’PID’,’PD’),
title(’CONTROLLED OUTPUTS’); ylabel(’OUTPUT’); print -deps -f zn1

STEP RESPONSE
6
AMPLITUDE

0
0 2 4 6 8 10 12 14 16 18
TIEMPO (seconds)

CONTROLLED OUTPUTS
2
P
1.5 PI
OUTPUT

PID
PD
1

0.5

0
0 20 40 60 80 100 120
TIME (seconds)

Fig. 1.21: Step response and controlled responses corresponding to the example 1.7.

Ejemplo 1.8

Control the level in a storage tank using the Ziegler and Nichols reaction curve
method. The block diagram of the process level, extracted from [13], is shown in Fig.
1.22(a), where the transfer functions of the hydraulic actuator, the tank, and float
are formulated as
10 3.15 1
GH (s) = ; GT (s) = ; GF (s) = 1 τh = 1
s+1 30s + 1 9 s2 + 13 s + 1
1.6 Tuning Methods of PID Controllers 25

Controlador Referencia
Actuador (set point)
v
d

Flotador

r e u y
GC (s) G H(s) e −sτ h GT (s)
Controlador Actuador Tiempo muerto Tanque

ym GF (s)

(a)
Flotador

r e u y
GC (s) G H(s) e −sτ h GT (s)
Controlador Actuador Tanque

ym GF (s)
(b) Flotador

Fig. 1.22: Block diagram of the control level process; (a) Process. (b) Structure for
PI control.

In the process in question, the dead time τ is calculated as the ratio τ = d/v, where
v is the flow rate entering the tank and d is the length of pipe between the control
valve and the flow measurement point.

Solution: The first graph of Fig. 1.23 shows the step response (the reaction curve)
of the process. From Fig. 1.23, we obtain τ = 1 and T = 30 − τ . With those values,
PID controller parameters are calculated using the Table 1.6. The second graph of
the Fig. 1.23 illustrates the controlled output. Such results are obtained running the
program zn1a.m listed below. Note that parameters Kc and Ti required post-tuning.

% zn1a.m PI CONTROL EMPLOYING THE REACTION CURVE


clear all; close all; clc; s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1);
GF=1/(s^2/9+s/3+1); tau=1; Gtau=exp(-tau*s);
% [num,den]=pade(tau,3); num=-s^3+12*s^2-60*s+120; den=s^3+12*s^2+60*s+120;
% Gtau=num/den;
% Gtau=exp(-tau*s);
Gpo=GH*Gtau*GT*GF; % Gpo: OPEN-LOOP PROCESS INCLUDING GF (FLOAT)
subplot(211); step(Gpo,’r’); grid % PRODUCES THE REACTION CURVE
title(’STEP RESPONSE’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
tau=1; T=30-tau; % TAKEN FROM THE REACTION CURVE
Gp=GH*Gtau*GT; Kp=31.5; % Kp IS THE RESULT OF 10*31.5
a=Kp*tau/T; Kc=0.3*0.9/a; Ti=5*10*tau/3; % PI PARAMETERS
Gc=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc,GF); % PI CONTROL
subplot(212); step(PI,’r’); grid;
26 ON–OFF AND PID CONTROL

STEP RESPONSE
40

30

OUTPUT
20

10

0
0 20 40 60 80 100 120 140 160 180
TIME (s) (seconds)
CONTROLLED OUTPUT
1.5
PI
OUTPUT

0.5

0
0 10 20 30 40 50 60
TIME (s) (seconds)

Fig. 1.23: Reaction curve of the process level (upper graph) and controlled response
of example 1.8 (bottom graph).

ylabel(’OUTPUT’); legend(’PI’),
title(’CONTROLLED OUTPUT’); xlabel(’TIME (s)’); print -depsc -f zn1a

Chien–Hrones–Reswick Method
The Chien–Hrones–Reswick (CHR) method [14] illustrated in Fig. 1.24(a), can
be applied to processes with a dynamic model given by (1.32). This method proposes
a set of tuning rules for the following cases (see Tabla 1.7):

1. Aperiodic response without overshoot in the output signal y controlled by step


type changes of the reference input r, without the presence of the disturbance
d, and for a dumping rate ζ > 0.8, as shown in Fig. 1.24(b).

2. Aperiodic response without overshoot in the output signal yd controlled by step


type changes of the disturbance input d, without the presence of the reference
input r, and for a dumping rate ζ > 0.8, as shown in Fig. 1.24(b). Note that
for this situation the disturbance is rejected since yd goes to zero.

3. Periodic response with 20 % overshoot in the output y controlled by step type


changes of the reference input r, without the presence of the disturbance d, and
for a dumping rate of 0.4 < ζ < 0.8, as shown in Fig. 1.24(d).

4. Aperiodic response with 20 % overshoot since yd controlled by step type changes


of the disturbance input d, without the presence of the reference input r, and
for a dumping rate of 0.4 < ζ < 0.8, as shown in Fig. 1.24(e). Note that for
this situation, the disturbance is rejected since yd goes to zero.

Ejemplo 1.9
1.6 Tuning Methods of PID Controllers 27

d
D
r d
t
R r
PID Proceso
e u y
t

(a) y
y
R R
d=0 d=0
t t
(b) (d)
y y
d d
r=0 r=0
D
D
t t

(c) (e)

Fig. 1.24: Chien–Hrones–Reswick Method.

Tabla 1.7: Chien–Hrones–Reswick to find KC , TI y TD .

Type Controlller GC (s) Case (b): Case (c): Case (d): Case (e):
ζ > 0.8 ζ > 0.8 0.4< ζ < 0.8 0.4< ζ < 0.8
d=0 r=0 d=0 r=0

Kc = 0.3/a Kc = 0.3/a Kc = 0.7/a Kc = 0.7/a


P Kc Ti = ∞ Ti = ∞ Ti = ∞ Ti = ∞
Td = 0 Td = 0 Td = 0 Td = 0

  Kc = 0.35/a Kc = 0.6/a Kc = 0.6/a Kc = 0.7/a


1
PI Kc 1 + Ti s Ti = 1.2T Ti = 4τ Ti = T Ti = 2.3τ
Td = 0 Td = 0 Td = 0 Td = 0

  Kc = 0.6/a Kc = 0.95/a Kc = 0.95/a Kc = 1.2/a


1
PID Kc 1 + Ti s + Td s Ti = T Ti = 2.4τ Ti = 1.4T Ti = 2τ
Td = 0.5τ Td = 0.42τ Td = 0.47τ Td = 0.42τ

Control the level process of example 1.8 using the Chien–Hrones–Reswick method for
the disturbance rejection case (r=0 and d 6= 0) without the presence of oscillations
in the output response of the process (Fig. 1.24(c)).
Solution: Parameters τ = 1 and T = 30 − τ were obtained from the first graph of
28 ON–OFF AND PID CONTROL

Actuador Controlador Disturbio d


v
d

(a)
Flotador

d y
G H(s) e −sτ h GT (s)
Actuador Tiempo muerto Tanque
u GF (s)
GC (s)
(b)
Controlador Flotador
r=0

Fig. 1.25: The process level control (Fig. (a)) and the structure for disturbance re-
jection employing a PI controller (Fig. (b)).

Fig. 1.23. With those values, The PI controller parameters were calculated employing
Table 1.7, caso (c)). Fig. 1.25 illustrates the controlled output, which can be obtained
running the program chrd.m listed below.
SALIDA CONTROLADA
3.5

2.5

2
SALIDA

1.5

0.5

-0.5
0 5 10 15 20 25 30 35 40
TIEMPO (s) (seconds)

Fig. 1.26: Disturbance rejection employing a PI controller.

% chrd.m CONTROL PI POR EL MÉTODO CHR PARA RECHAZO AL DISTURBIO


clear all; close all; clc;
s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
tau=1; Gtau=exp(-tau*s);
Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*3.15
tau=1; T=30-tau; % TOMADOS DE LA CURVA DE REACCIÓN
1.6 Tuning Methods of PID Controllers 29

a=Kp*tau/T; Kc=0.5*0.6/a; Ti=2*4*tau; % PARÁMETROS PI


Gc=Kc*(1+1/Ti/s); PI=feedback(Gp,Gc*GF); % CONTROL PI
step(PI,’r’); grid;
title(’SALIDA CONTROLADA’); xlabel(’TIEMPO (s)’); ylabel(’SALIDA’);
print -deps -f chrd

Cohen–Coon Method
The tuning method developed by researchers G. H. Cohen and G. A. Coon [15]
can be applied to processes that accept a dynamic model given by equation (1.32).
Tuning formulas are shown in Table 1.8, where
Kp τ τ
a= L= (1.34)
T τ +T
Note that the formulas in Table 1.8 resemble those in Table 1.6 when L being small
enough .

Tabla 1.8: Cohen and Coon method for finding parameters KC , TI y TD .

100
TYPE Controller GC (s) Kc = BP Ti Td
 
1 0.35L
P Kc a 1 + 1−L ∞ 0
   
1 0.9 0.92L 3.3−3L
PI Kc 1 + Ti s a 1 + 1−L 1+1.2L τ 0
 
1.24 0.13L 0.27−0.36L
PD Kc (1 + Td s) a 1 + 1−L ∞ 1−0.87L τ
   
1.35 0.18L 2.5−2L 0.37−0.37L
PID Kc 1 + T1i s + Td s a 1 + 1−L 1−0.39L τ 1−0.8L τ

Ejemplo 1.10
It is requested to control the level process described in example 1.8 using the method
of Cohen–Coon. The block diagram of the level system is shown in Fig. 1.22(a). For
PI control employ the block diagram of Fig. 1.22(b).
Solution: Parameters τ = 1 y T = 30 − τ were found using the plot of Fig. 1.23.
With these values, the controller parameters are calculated using Table 1.8. Fig. 1.27
shows the controlled outputs.
% cohen.m CONTROL PID, PI-D Y PI-Dy EMPLEANDO EL MÉTODO DE COHEN-COON
clear all; close all; clc;
s=tf(’s’); GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1);
tau=1; Gtau=exp(-tau*s);
Gp=GH*Gtau*GT; Kp=31.5; % Kp ES EL PRODUCTO DE 10*31.5
tau=2; T=32-tau; % TOMADOS DE LA CURVA DE REACCIÓN
a=Kp*tau/T; L=tau/(tau+T); Kc=0.5*(0.9/a)*(1+0.92*L/(1-L));
Ti=4*(3.3-3*L)*tau/(1+1.2*L);
Gc=Kc*(1+1/Ti/s); PI=feedback(Gp*Gc,GF); % CONTROL PI
step(PI,’r’); grid;
title(’SALIDA CONTROLADA’); xlabel(’TIEMPO’); ylabel(’SALIDA’);
print -deps -f cohen
30 ON–OFF AND PID CONTROL

SALIDA CONTROLADA
1.2

0.8
SALIDA

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70
TIEMPO (seconds)

Fig. 1.27: Controlled output employing a PI controller, which was tuned using the
Cohen-Coon method.

1.6.2. Closed-Loop Methods


Tuning methods employing the process reaction curve are designed in open–loop
configuration. However, other tuning methods employ certain features that are only
present when the process is operating in closed–loop configuration. Some of these
methods are described below.

Samal Method
The Samal method [16] to tune parameters is designed to reject disturbances
acting mainly on the control signal, as shown in Fig. 1.28(a), where disturbance
rejection happens because the controlled output signal y tends to zero with a settling
time Ts and an overshoot of magnitude M . The process to be controlled has a TF of
the form
y(s) Kp
Gp (s) = = (1.35)
u(s) (1 + Tn s)n
where parameters n y Tn are found from Tabla 1.1 (see example 1.2). In Fig. 1.28(b),
Vo = Kp Kc is the open–loop gain of the feedback system, where Kc is the controller
gain. In Fig. 1.28(b), values of Vo for I and PI controllers can be read from the Vo
left axis, while values of Vo for P and PID controllers can be extracted from the Vo
right axis.
In Fig. 1.28(c), Ti is the integral time. The Ti /T axis located to the left of such
a Fig. permits to read Ti for I, PI and PID controllers, while the derivative time
Td of the controller can be found employing the PID curve indicated as Td /T . Fig.
1.28(d) permits to determine the magnitude M knowing the magnitude of the step
type disturbance D, while Fig. 1.28(e) is employed to calculate Ts .

Ejemplo 1.11
1.6 Tuning Methods of PID Controllers 31

d (a)
D
d y
0 t M
r=0 e Kp y D
P, I, PI, PID t
u (1+Ts) n 0 Ts

(b) (c)
5 20 5 5

4 16 I 4 4
P D
PI
3 12 3 3
Vo Ti I
Vo
2 8 T 2 2 Td
PID PI
PID T
1 4 1 1
I PID
0 0 0
1 2 3 4 n 1 2 3 4 n

(d) (e)
1 Ts 20
M
Kp D T
0.8 I 16
I
0.6 PI 12
P
PI
0.4 8
PID
PID
0.2 4
P
0 0
1 2 3 4 n 1 2 3 4 n

Fig. 1.28: Samal method to find parameters of a PID controller.

Control the following process employing the Samal method


Kp
Gp(s) =
(s + T1 )(s + T2 )(s + T3 )(s + T4 )
where: [T1 , T2 , T3 , T4 ] = [1, 1.5, 2, 2.5]. For comparison purposes employ the ideal
PID controller (equation (1.27)), the non–interactive controller (equation (1.28)) and
the improved controller (equation (1.23)). For PID1 and PID2 control use the block
diagram of Fig. 1.1(b), while for PID3 control use the block diagram of Fig. 1.1(c).
Solution: The top graph in Fig. 1.29 shows the process step response (the reaction
32 ON–OFF AND PID CONTROL

curve). From this curve we obtain parameters τ = 0.8 s and T = 3.9 – τ = 3.1 s. We get
values n = 3 y Tn = 0.270 from Tabla 1.1. From Fig. 1.28(b) we determine Vo = 2 and
Kc = V o/Kp , while from Fig. 1.28(c) we can calculate Ti = 1.8Tn and Td = 0.7Tn .
The graph below in Fig. 1.29 illustrates the comparison between controlled outputs.
Such results are obtained by running the program samal1.m listed below.

STEP RESPONSE
1.5
OUTPUT

0.5

0
0 1 2 3 4 5 6 7 8 9 10
TIME (s) (seconds)

CONTROLLED OUTPUTS
1.5
PID1
PID2
OUTPUTS

1 PID3

0.5

0
0 5 10 15 20 25 30 35 40 45 50
TIME (s) (seconds)

Fig. 1.29: Step response (graph below) and controlled responses (top graph) emplo-
ying controllers type PID1, PID2 and PID3 and the Samal method.

% samal1.m PID1, PID2 AND PID3 USING THE SAMAL METHOD


clear all; close all; clc;
Kp=10; Tb=1; Tc=1.5; Td=2; Te=2.5; s=tf(’s’);
Gp=Kp/(s+Tb)/(s+Tc)/(s+Td)/(s+Te); % PROCESO
subplot(211); step(Gp,’r’); grid,
title(’STEP RESPONSE’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
% tau=0.8; T=3.9-tau=3.1; % tau/T=0.258 => n=3 => Tn/tau=0.270 => Tn
% Gm(s)=Kp/(Tn*s+1)^n % MODELO DEL PROCESO SEGÚN SAMAL
Tn=0.216; Vo=2; Kc=Vo/Kp; Ti=1.8*Tn; Td=0.7*Tn; N=10;% PID PARAMETERS
Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,1); % PID1 CONTROL
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PID2=feedback(Gp*Gc2,1); % PID2
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PID3=feedback(Gci*Gcd,1); subplot(212), % PID3 CONTROL
step(PID1,’r’,PID2,’b’,PID3,’g’), grid,
legend(’PID1’,’PID2’,’PID3’), title(’CONTROLLED OUTPUTS’);
xlabel(’TIME (s)’); ylabel(’OUTPUTS’); print -deps -f samal1
1.6 Tuning Methods of PID Controllers 33

Ziegler–Nichols Critical Oscillation Method


The Ziegler–Nichols critical oscillation method [12] employs the configuration of
a closed-loop control system and can be applied to systems that are modelled with
the equation (1.32), as well as to non self-regulated processes that permit sustained
oscillations in the response, as shown in Fig. 1.30.
PID controller parameters Kc , Ti y Td can be obtained from the oscillatory res-
ponse using the following procedure
Set parameters Ti y Td to ∞ and 0, respectively. Gradually increases Kc para-
meter to get a response in the form of a sustained oscillations (see Fig. 1.30).

In that response, measure the period of critical oscillation Tcrit as well as the
critical gain Kcrit (or limit gain) for which this period was obtained.
Parameters Kc , Ti y Td are then calculated using Tabla 1.9.
Note that the magnitude of the sustained oscillation, which is equivalent to say the
variation magnitude of the output variable must be kept as small as possible to avoid
problems in the controlled variable.

K crit
r u y y
r e
PID Proceso
R R
T crit

t t

Fig. 1.30: The Ziegler–Nichols critical oscillation method.

Tabla 1.9: The Ziegler–Nichols critical oscillation method to find parameters Kc , Ti


y Td .

100
Type Controller Gc (s) Kc = BP Ti Td
P Kc 0.5Kcrit ∞ 0
 
PI Kc 1 + T1i s 0.45 Kcrit 0.85 Tcrit 0
 
PID Kc 1 + T1i s + Td s 0.6 Kcrit 0.5 Tcrit 0.125 Tcrit

Ejemplo 1.12

Control the process level of problema 1.8 using the Ziegler–Nichols critical oscilla-
tion method. For comparison purposes employ the ideal PID1 controller (equation
(1.27)), the non–interactive controller (equation (1.28)) and the improved controller
(equation (1.23)). For PID1 and PID2 control use the block diagram of Fig. 1.1(b),
34 ON–OFF AND PID CONTROL

while for PID3 control use the block diagram of Fig. 1.1(c).

Solution: The first graph of Fig. 1.31 shows the step response, a sustained oscilla-
tion, obtained with a P controller in Fig. 1.22(b) of gain GC (s) = Kcrit = 0.85. Note
that the oscillation has a period equal to Tcrit = 8 s. With these values, PID con-
troller parameters are calculated using the Table 1.9. The second graph of Fig. 1.31
illustrates the comparison between the controlled outputs. Such results are obtained
running the program zn2.m listed below.
SUSTAINED OSCILLATION
3

2
OUTPUT

-1
0 5 10 15 20 25 30 35 40
TIME (s) (seconds)

CONTROLLED OUTPUTS
2
PID1
1.5 PID2
OUTPUTS

PID3

0.5

0
0 5 10 15 20 25 30 35 40
TIME (s) (seconds)

Fig. 1.31: Sustained oscillations (top graph) for Kp = Kcrit and controlled responses
(graph below) for example 1.12.

% zn2.m PID1, PID2 AND PID3 USING THE SUSTAINED OSCILLATION


clear all; close all; clc; s=tf(’s’);
GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); Gtau=exp(-s);
% [num,den]=pade(1,3); Gtau=tf(num,den);
Gp=GH*Gtau*GT; Kcrit=0.85;
G_c0=feedback(Kcrit*Gp,GF); subplot(211); step(G_c0,40); grid,
grid; title(’SUSTAINED OSCILLATION’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
Tcrit=8; % FROM THE SUSTAINED OSCILLATION
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PID PARAMETERS
Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,GF); % PID1 CONTROL
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PID2=feedback(Gp*Gc2,GF); % PID2
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PID3=feedback(Gci*Gcd,GF); subplot(212), % PID3 CONTROL
step(PID1,’r’,PID2,’b’,PID3,’g’); grid; legend(’PID1’,’PID2’,’PID3’),
title(’CONTROLLED OUTPUTS’); xlabel(’TIME (s)’); ylabel(’OUTPUTS’);
print -deps -f zn2

Ejemplo 1.13
1.6 Tuning Methods of PID Controllers 35

Control a non self–regulated process having the following TF employing the Ziegler–
Nichols critical oscillation method.
1
Gp (s) =
s(s + 1)4

For comparison purposes use the ideal PID, non–interactive PI D, and the improved
PI Dy.

Solution: The first graph of Fig. 1.32 shows the step response, a sustained oscilla-
tion, obtained with a P controller in Fig. 1.22(b) of gain GC (s) = Kcrit = 0.569. Note
that the oscillation has a period equal to Tcrit = 15 s. With these values, PID con-
troller parameters are calculated using the Table 1.9. The second graph of Fig. 1.32
illustrates the comparison between the controlled outputs. Such results are obtained
running the program zn2a.m listed below.

SUSTAINED OSCILLATION
2

1.5
OUTPUT

0.5

0
0 5 10 15 20 25 30 35 40 45 50
TIME (s) (seconds)

CONTROLLED OUTPUTS
2
PID1
1.5 PID2
OUTPUTS

PID3

0.5

0
0 10 20 30 40 50 60
TIME (s) (seconds)

Fig. 1.32: Oscilaciones sostenidas (primer gráfico) para Kp = Kcrit y respuestas


controladas (gráfico inferior) para el ejemplo 1.13.

% zn2a.m CONTROL PID, PI-D Y PI-Dy MEDIANTE LA OSCILACIÓN SOSTENIDA


clear all; close all; clc;
s=tf(’s’); Gp=1/(s*(s+1)^4);
Kcrit=0.569; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,50);
grid; title(’SUSTAINED OSCILLATION’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
Tcrit=15; % FROM THE SUSTAINED OSCILLATION
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10;
36 ON–OFF AND PID CONTROL

Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,1); % PID1 CONTROL


Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PID2=feedback(Gp*Gc2,1); % PID2
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PID3=feedback(Gci*Gcd,1); subplot(212), % PID3 CONTROL
step(PID1,’r’,PID2,’b’,PID3,’g’); grid; legend(’PID1’,’PID2’,’PID3’),
title(’CONTROLLED OUTPUTS’); xlabel(’TIME (s)’); ylabel(’OUTPUTS’);
print -deps -f zn2a

The Yu’s Critical Oscillation Method


The following rules of tuning attributed to Yu [11]), is applied to control pro-
cesses having a FT of the form Gp (s) = Kp e−τ s . The control is performed using the
configuration of Fig. ??(a). The employed controller is called the classical generalized
controller with FT is
!
bf 0 + bf 1 s + bf 2 s2

u(s) 1 Td s
Gc (s) = = Kc 1 + +
e(s) Ti s 1 + TNd s 1 + af 1 s + af 2 s2

The tuning rules are

Kc = 0.3Kcrit Ti = 2.3τcrit Td = 0

Ejemplo 1.14

Control the process Gp (s) = 2e−2s employing the Yu’s critical oscillation method.
Solution: The first plot of Fig. 1.33 show the step response of the system using the
P controller GC (s) = Kcrit = 0.45 and the configuration of the 1.30. Note that the
sustained oscillation has a period of τcrit = 4 s. The PID parameters are found using

Kc = 0.3Kcrit Ti = 2.3τcrit Td = 0

The second plot of Fig. 1.33 illustrates the controlled outputs, Run the m–file yu1.m
listed below to obtain such results.

% yu1.m PI CONTROL USING THE SUSTAINED OSCILLATION


clear all; close all; clc;
s=tf(’s’); Kp=2; af1=1; af2=1; bf0=1; bf1=1; bf2=1;
[num,den]=pade(2,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp=Kp*Gtau; % Gp: SISTEMA
Kcrit=0.45; G_c0=feedback(Kcrit*Gp,1); subplot(211); step(G_c0,’b’);
grid; title(’SUSTAINED OSCILLATION’); xlabel(’TME (s)’);ylabel(’OUTPUT’);
Tcrit=4; % FROM THE SUSTAINED OSCILLATION
Kc=0.3*Kcrit; Ti=2.3*Tcrit; Td=0; N=3;
Gc1=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N));
Gc2=(bf0+bf1*s+bf2*s^2)/(1+af1*s+af2*s^2); Gc=series(Gc1,Gc2);
PID=feedback(Gp*Gc,1); % PID CONTROL
subplot(212); step(PID,’r’), grid,
title(’CONTROLLED OUTPUT’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
print -deps -f yu1
1.6 Tuning Methods of PID Controllers 37

SUSTAINED OSCILLATION
5
OUTPUT

-5

-10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
TME (s) (seconds)

CONTROLLED OUTPUT
1
OUTPUT

0.5

-0.5
0 50 100 150 200 250 300
TIME (s) (seconds)

Fig. 1.33: Sustained oscillation (top graph) for Kp = Kcrit and controlled output
(graph below) for example 1.14.

Relay Method
A closed loop critical oscillation method can be risky, because in real cases such
a method force the plant to operate near near instability. In practice, it also very
difficult to maintain constant the magnitud of the oscillation. A variant of this method
is shown in Fig. 1.34 [17], where a relay is used to get a sustained oscillation period
Tcrit of small amplitude a, for a gain Kcrit = 4L/(π a), where L is the gain of the
relay. Knowing Tcrit and Kcrit , we can use now Table 1.9.

y a
u
e +L u y t
r
Gp(s)
e
−L
Proceso Tcrit
Relé

Fig. 1.34: Block diagram of the feedback process for using the relay method.
38 ON–OFF AND PID CONTROL

Ejemplo 1.15

Control the following self–regulating process using the relay method


1
Gp (s) =
s(s + 1)4

For comparison purposes use PID1, PID2 and PID3 controllers. Also, determine the
state equations of the system.

Solution: The solution uses the block diagram of Fig. 1.34. The first part of the
program relay.m listed below allows to obtain the first and second graph of the Fig.
1.36 for a relay magnitude of L = 0.1. The block diagram of Fig. 1.35 is employed to
find the five state equations of the process

ẋ1 = −x1 + x2 ẋ2 = −x2 + x3

ẋ3 = −x3 + x4 ẋ4 = −x4 + x5 ẋ5 = u


From the sustained oscillation shown in the first graph of Fig. 1.36 we can obtain
parameters a = 0.25 y Tcrit = 15, while the second plot illustrates the control law
u = ±L. Knowing parameters a, Tcrit and L, now we can calculate gain Kcrit and PID
parameters employing Tabla 1.9. The third graph of Fig. 1.36 shows the comparison
between the controlled outputs. Such results are obtained running the second part of
the program relay.m listed below.

u x5 1 x4 x3 x2 x1 = y
1 1 1 1
s s+1 s+1 s+1 s+1

Fig. 1.35: Block diagram of the process showing its state variables.

% relay.m RESPUESTA A LAZO CERRADO CON UN RELÉ COMO CONTROLADOR


clear all; close all; clc;
% PROGRAM TO PRODUCE THE SUSTAINED OSCILLATION
x1=0; x2=0; x3=0; x4=0; x5=0; % CONDICIONES INICIALES
T = 0.01; M = 8000; L=0.1;
for k = 1:M
r=1; R(k) = r; e=r-x1; % REFERENCIA ESCALÓN r Y ERROR e
if(e>=0), u=L; else u=-L; end % FUNCIÓN RELÉ
U(k)=u; % LEY DE CONTROL u
x1=x1+T*(-x1+x2); x2=x2+T*(-x2+x3); x3=x3+T*(-x3+x4); x4=x4+T*(-x4+x5);
x5=x5+T*u; X1(k)=x1; % SALIDA DEL PROCESO
end
ejet = linspace(0,M*T,M); subplot(311); plot(ejet,R,’b’,ejet,X1,’r’);
grid, ylabel(’SALIDA y(t)’); xlabel(’TIME (s)’); legend(’r(t)’,’x_1(t)’);
subplot(312); plot(ejet,U,’r’); ylabel(’CONTROL u(t)’); xlabel(’TIME (s)’)
% PROGRAMA PARA CONTROLAR EL PROCESO Gp(S)
s=tf(’s’); Gp=1/(s*(s+1)^4); % FT DEL PROCESO
a=0.25; Tcrit=15; Kcrit=4*L/(pi*a); % TOMADO DE LA OSCILACIÓN SOSTENIDA
Kc=0.6*Kcrit; Ti=0.5*Tcrit; Td=0.125*Tcrit; N=10; % PARÁMETROS PID
1.6 Tuning Methods of PID Controllers 39

1.5

SALIDA y(t)
r(t)
1 x1 (t)

0.5

0
0 10 20 30 40 50 60 70 80
TIME (s)
0.1
CONTROL u(t)

-0.1
0 10 20 30 40 50 60 70 80
TIME (s)

SALIDAS CONTROLADAS
2
SALIDA y

PID1
PID2
1
PID3

0
0 10 20 30 40 50 60
TIme (S) (seconds)

1
Fig. 1.36: Step response of Gp (s) = s(s+1)4 employing a relay (top graph), control

law u (medium graph) and stabilized responses (graph below).

Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,1); % CONTROL PID1


Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PID2=feedback(Gp*Gc2,1); % PID2
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PID3=feedback(Gci*Gcd,1); % CONTROL PID3
subplot(313); step(PID1,’r’,PID2,’b’,PID3,’g’);
title(’SALIDAS CONTROLADAS’); xlabel(’TIme (S)’); ylabel(’SALIDA y’);
legend(’PID1’,’PID2’,’PID3’), print -deps -f relay

Tuning for Quarter Decay Response


The tuning for quarter decay response method, known also as the damped oscilla-
tion response method was proposed in [18]. This method can be applied to processes
that can be modelled in the form given in equation (1.32) as well as for non self–
regulated processes. In both cases, the closed–loop step response of the process must
be such that its second maximum is a quarter of the first one, as seen in Fig. 1.37,
where Ko is the controller gain to obtain the decayed oscillation with To being its
corresponding period. The controller tuning parameters are obtained from Table 1.10.

Ejemplo 1.16

Control the process level of problem 1.8 using the quarter decay response method.
For comparison purposes employ the ideal PID controller (equation (1.27)), the non–
interactive controller (equation (1.28)) and the improved controller (equation (1.23))
using the structures (a) and (b) of Fig. 1.1.
40 ON–OFF AND PID CONTROL

Ko y To
r r e u y
PID Proceso A
R R

A/4
t t

Fig. 1.37: The tuning for quarter decay response method from Harriot.

Tabla 1.10: Tuning parameters for quarter decay response method from Harriot Kc ,
Ti y Td .

100
Type Controller Gc (s) Kc = BP Ti Td
P Kc Ko ∞ 0
 
PI Kc 1 + T1i s Ko To /1.5 0
 
PID Kc 1 + T1i s + Td s Ko To /1.5 To /6

Solution: The first graph in Fig. 1.38 shows the step response wherein the second
maximum of the oscillation is a quarter of the first maximum, which is obtained
using a proportional controller with GC (s) = Ko = 0.55 in the structure of Fig.
1.1(a). Observe that the oscillation has a period equal to To = 10 s. With these
values, we can calculate the PID controller parameters using Table 1.10. The second
graph of Fig 1.38 illustrates the comparison between the controlled outputs. Such
results were obtained running the program harriot.m listed below.
% harriot.m PID1, PID2 AND PID3 USING THE HARRIOT METHOD
clear all; close all; clc; s=tf(’s’);
GH=10/(s+1); GT=3.15/(30*s+1); GF=1/(s^2/9+s/3+1); Gtau=exp(-s);
% [num,den]=pade(1,3); Gtau=tf(num,den); % TIEMPO MUERTO exp(-tau*s)
Gp=GH*Gtau*GT; % Gp: PROCESO, GH: FLOTADOR
Ko=0.55; G_c0=feedback(Ko*Gp,GF); subplot(211); step(G_c0,20); grid
title(’OSCILACIÓN AMORTIGUADA’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
To=10; Kc = Ko; Ti=To/1.5; Td=To/6; N=10; % PARÁMETROS PID
Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,GF); % PID1 CONTROL
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N)); PID2=feedback(Gp*Gc2,GF); % PID2
Gci=Kc*(1+1/Ti/s); Gcd=Kc*Td*s/(1+Td*s/N); Gcd=feedback(Gp,Gcd);
PID3=feedback(Gci*Gcd,GF); subplot(212), % PID3 CONTROL
step(PID1,’r’,PID2,’b’,PID3,’g’); grid; legend(’PID1’,’PID2’,’PID3’),
title(’CONTROLLED OUTPUTS’); xlabel(’TIME (s)’); ylabel(’OUTPUTS’);
print -deps -f harriot

Ejemplo 1.17

Control a non self–regulated process having the following TF, employing the tuning
for quarter decay response
1
Gp (s) =
s(s + 1)4
1.6 Tuning Methods of PID Controllers 41

OSCILACIÓN AMORTIGUADA
1.5

AMPLITUD 1

0.5

0
0 2 4 6 8 10 12 14 16 18 20
TIEMPO (seconds)

CONTROLLED OUTPUTS
2
PID1
1.5 PID2
OUTPUTS

PID3

0.5

0
0 5 10 15 20 25 30 35
TIME (s) (seconds)

Fig. 1.38: The quarter decay response (top graph) for Kc = Ko and controlled res-
ponses (graph below) for example 1.16.

For comparison purposes employ the ideal PID controller (equation (1.27)), the non–
interactive controller (equation (1.28)) and the improved controller (equation (1.23))
using the structures (a) and (b) of Fig. 1.1.

Solution: The first graph in Fig. 1.39 shows the step response wherein the second
maximum of the oscillation is a quarter of the first maximum, which is obtained using
a proportional controller with GC (s) = Ko = 0.569 in the structure of Fig. 1.1(a).
Observe that the oscillation has a period equal to To = 15 s. With these values, we
can calculate the PID controller parameters using Table 1.9. The second graph of
Fig 1.39 illustrates the comparison between the controlled outputs. Such results are
obtained running the program harriot.m listed below.

clear all; close all; clc;


s=tf(’s’); Gp=1/(s*(s+1)^4);
Ko=0.3; G_c0=feedback(Ko*Gp,1); subplot(211); step(G_c0,’r’,50); grid;
title(’DECAYED OSCILLATION’); xlabel(’TIME (s)’); ylabel(’OUTPUT’);
To=20; % FROM THE DECAYED OSCILLATION
Kc=Ko; Ti=To/1.5; Td=To/6; N=10; % PID PARAMETERS
Gc1=Kc*(1+1/Ti/s+Td*s); PID1=feedback(Gp*Gc1,1); % PID1 CONTROL
Gc2=Kc*(1+1/Ti/s+Td*s/(1+Td*s/N));
PID2=feedback(Gp*Gc2,1); % PID2 CONTROL
subplot(212); step(PID1,’r’,PID2,’b’); grid;
legend(’Control using PID1’,’Control using PID2’),
title(’CONTROLLED OUTPUTS’); xlabel(’TIME’); ylabel(’OUTPUTS’);
print -deps -f harriota
42 ON–OFF AND PID CONTROL

DECAYED OSCILLATION
1.5
OUTPUT

0.5

0
0 5 10 15 20 25 30 35 40 45 50
TIME (s) (seconds)

CONTROLLED OUTPUTS
1.5
Control using PID1
Control using PID2
OUTPUTS

0.5

0
0 5 10 15 20 25 30 35 40 45 50
TIME (seconds)

Fig. 1.39: The quarter decay response (top graph) for Kc = Ko and controlled res-
ponses (graph below) for example 1.17.

1.6.3. Métodos Basados en la Minimización de un Índice


En el sistema realimentado de la Fig. 1.40, e(s) = r(s) − y(s) es el error del
sistema, r(s) o SP es la señal deseada, e y(s) o PV es la salida controlada. Notar que
G(s) es una FT que incluye el controlador, el EFC y el proceso, mientras que H(s)
comprende el sensor y el transmisor. De la Fig. 1.40 se deduce:

1
e(s) = r(s)−y(s) = r(s)−H(s)G(s)e(s); e(s) = r(s); e(t) = L−1 [e(s)]
1 + GH(s)
(1.36)
La idea principal en los métodos de sintonización basados en criterios óptimos, consis-
te en minimizar un determinado ı́ndice de rendimiento, en el cual estén involucrados
tanto el tiempo continuo t como el error e(t). Los ı́ndices de rendimiento más usados
son: ISE (Integral Squared Error), IAE (Integral Absolute Error), IT AE (Integral
Time Absolute Error), IST E (Integral Square Time weighted Error) e IST 2 E (In-
1.6 Tuning Methods of PID Controllers 43

r(s) e(s) y(s)


G(s)

H(s)

Fig. 1.40: Sistema de control SISO realimentado.

tegral Square Time–Square weighted Error). Las fórmulas de dichos ı́ndices son:
Z ∞ Z ∞ Z ∞
2
ISE = e (t)dt IAE = |e(t)|dt IT AE = t|e(t)|dt
0 0 0

Z ∞ Z ∞
IST E = t2 e(t)dt IST 2 E = t2 e2 (t)dt (1.37)
0 0

donde el error e(t) puede ser de la forma dada en (1.36). Una vez formulado el ı́ndice
de rendimiento, por ejemplo ISE, el siguiente paso consiste en minimizar dicho ı́ndice:

∂ISE
=0
∂z
donde z puede ser una determinada variable o parámetro del cual se desea deter-
minar su valor extremo; por ejemplo, el parámetro Ti de un controlador PID. A
continuación se presentan algunas reglas de sintonización basados en diversos ı́ndices
de rendimiento.

Método de Shinskey
Las reglas de sintonización de la Tabla 1.11, atribuidas Shinskey (control I y PI)
y Nomura et al. (control PID), se aplican a procesos que poseen una FT de la forma:
Gp (s) = Kp e−τ s . El control se realiza empleando la configuración de la Fig. 1.1(a).
Los trabajos de Shinskey Nomura et al. se encuentran en las referencias de [11].

Tabla 1.11: Reglas de sintonı́a para controlar procesos tipo Gp (s) = Kp e−τ s .

Método Controlador Gc (s) Kc Ti Td


1
Mı́nimo ITAE Ti s Indefinido 1.6Kp τ 0
 
0.4
Mı́nimo ITAE Kc 1 + T1i s Kp 0.5τ 0
 
0.2635
Mı́nimo ITAE Kc 1 + T1i s + Td s Kp 0.361τ 0.1911τ

Ejemplo 1.18
44 ON–OFF AND PID CONTROL

Controlar el proceso con FT Gp (s) = Kp e−τ s , con Kp = 2 y τ = 2 usando el criterio


ITAE y un controlador PI.

Solución: La Fig. 1.41 muestra la respuesta controlada, resultado que se obtienen


ejecutando el programa shinskey.m listado abajo.

CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE


1.2

0.8
CONTROL PI WITH PURE DEAD TIME
0.6 CONTROL PI WITH APPROX. DEAD TIME

0.4
OUTPUT

0.2

-0.2

-0.4

-0.6

-0.8
0 2 4 6 8 10 12 14
TIME (s) (seconds)

Fig. 1.41: Control PI del proceso Gp (s) = Kp e−τ s usando ITAE (ejemplo 1.18).

% shinskey.m CONTROL PI USANDO ITAE


clear all; close all; clc;
s=tf(’s’); Kp=2; tau=2;
[num,den]=pade(tau,3); Gtau1=exp(-tau*s);
Gtau2=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp1=Kp*Gtau1; Gp2=Kp*Gtau2; % Gp: PROCESS
Kc=0.4/Kp; Ti=0.5*tau; % PARÁMETROS PI
Gc=Kc*(1+1/(Ti*s)); PIA=feedback(Gc*Gp1,1); % CONTROL PIA
PIB=feedback(Gc*Gp2,1); % CONTROL PIB
step(PIA,’r’,PIB,’b’); grid,
legend(’CONTROL PI WITH PURE DEAD TIME’, ...
’CONTROL PI WITH APPROX. DEAD TIME’),
title(’CONTROL DE G(s)=Kp*exp(-tau*s) USANDO ITAE’);
xlabel(’TIME (s)’); ylabel(’OUTPUT’); print -deps -f shinskey

Método de Wang–Juang–Chan
Las fórmulas de sintonización de Wang–Juang–Chan (citadas en [19]) se basan en
el criterio de optimización de IT AE y se pueden aplicar a procesos que aceptan un
modelo dinámico como el de la ecuación (1.32). Estas fórmulas son:
(0.7303 + 0.5307T /τ )(T + 0.5τ ) 0.5τ T
Kc = ; Ti = T + 0.5τ ; Td = (1.38)
Kp (T + τ ) T + 0.5τ

Metodo de Zhuang y Atherton


El método de Zhuang y Atherton [20] minimiza los criterios ISE, IST E e IST 2 E
empleando controladores PI y PID ideales. La Tabla 1.12 muestra las fórmulas de
1.6 Tuning Methods of PID Controllers 45

sintonización que se pueden aplicar a procesos que aceptan un modelo dinámico como
el de la ecuación (1.32). El diseño del sistema de control emplea la configuración de
la Fig. 1.1(a).

Tabla 1.12: Método de Zhuang y Atherton para determinar Kc , Ti y Td en un con-


trolador ideal.
Rango de τ /T 0.1< τ /T <1 1.1< τ /T <2

Tipo Parámetro ISE ISTE IST2 E ISE ISTE IST2 E

a1 τ b1

PI Kc = Kp T a1 0.980 0.712 0.569 1.072 0.786 0.628
b1 –0.892 –0.921 –0.951 –0.560 –0.559 –0.583
T
PI Ti = a2 +b2 (τ /T ) a2 0.690 0.968 1.023 0.648 0.883 1.007
b2 –0.155 –0.247 –0.179 –0.114 –0.158 –0.167

a1 τ b1

PID Kc = Kp T a1 1.048 1.042 0.968 1.154 1.142 1.061
b1 –0.897 –0.897 –0.904 –0.567 –0.579 –0.583
T
PID Ti = a2 +b2 (τ /T ) a2 1.195 0.987 0.977 1.047 0.919 0.892
b2 –0.386 –0.238 –0.253 –0.220 –0.172 –0.165
τ b3

PID Td = a3 T T a3 0.489 0.385 0.316 0.490 0.384 0.315
b3 0.888 0.906 0.892 0.708 0.839 0.832

Por otro lado, prescindiendo de la ganancia Kc de la parte derivativa del contro-


lador PID mejorado dado en (1.29), el algoritmo de control toma la forma:

Kc Td s
u(s) = Kc e(s) + e(s) − y(s) = P (s) + I(s) + D(s) (1.39)
Ti s 1 + Td s/N

La Tabla 1.13 muestra las reglas de sintonización para el controlador descrito en


(1.39). Tales reglas se pueden aplicar a procesos que aceptan un modelo dinámico
como el de la ecuación (1.32). El diseño del sistema de control emplea la configuración
de la Fig. 1.1(a).

Ejemplo 1.19
K
p
Controlar el proceso con FT: Gp (s) = T s+1 e−τ s , donde Kp = 2, τ = 2 y T = 20.
Emplear el criterio ISE, un controlador PID y las reglas de la Tabla 1.12.
Solución: La Fig. 1.42 muestra la respuesta controlada, resultado que se obtiene
ejecutando el programa zh1.m listado abajo.
% zh1.m CONTROL PID USANDO ISE
clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=20; % tau/T=0.1
a1=1.048; b1=-0.897; a2=1.195; b2=-0.386; a3=0.489; b3=0.888; N=3;
% [num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gtau=exp(-tau*s); Gp=Kp/(T*s+1)*Gtau; % SISTEMA A CONTROLAR
Kc=(a1/Kp)*(tau/T)^b1; Ti=T/(a2+b2*(tau/T)); Td=(a3*T)*(tau/T)^b3;
46 ON–OFF AND PID CONTROL

Tabla 1.13: Método de Zhuang y Atherton para determinar Kc , Ti y Td en un con-


trolador cuya acción derivativa se encuentra en la realimentación.

Rango de τ /T 0.1< τ /T <1 1.1< τ /T <2

Tipo Parámetro ISE ISTE IST2 E ISE ISTE IST2 E

a1 τ b1

PID Kc = Kp T a1 1.260 1.053 0.942 1.295 1.120 1.001
b1 –0.887 –0.930 –0.933 –0.619 –0.625 –0.624
T
PID Ti = a2 +b2 (τ /T ) a2 0.701 0.736 0.770 0.661 0.720 0.754
b2 –0.147 –0.126 –0.130 –0.110 –0.114 –0.116
τ b3

PID Td = a3 T T a3 0.375 0.349 0.308 0.378 0.350 0.308
b3 0.886 0.907 0.897 0.756 0.811 0.813

CONTROL PID USANDO ISE


1.4

1.2

0.8
SALIDA

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100
TIEMPO (seconds)

Kp
Fig. 1.42: Control PID del proceso Gp (s) = T s+1 e−τ s usando ISE (ejemplo 1.19).

Gci=Kc*(1+1/(Ti*s));
Gcd=Td*s/(1+Td*s/N);
G=feedback(Gp,Gcd); PID=feedback(Gci*G,1); % CONTROL PID
step(PID,’r’); grid, title(’CONTROL PID USANDO ISE’);
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh1

Método de Kessler
La Tabla 1.14 muestra las fórmulas propuestas por C. Kessler [21] para determinar
los parámetros de un controlador PID basado en criterios óptimos de diseño.
Ejemplo 1.20
Empleando el método de Kessler controlar un avión–helicóptero cuya dinámica sim-
plificada se puede representar como:
1
Gp(s) =
(1 + 20s)(1 + 10s)(1 + 0.5s)
1.6 Tuning Methods of PID Controllers 47

Tabla 1.14: Método de Kessler para hallar los parámetros Kc , Ti y Td .

Proceso Gp (s) Tipo Controlador Gc (s) Kc Ti Td


 
K T1
(1+T1 s)
Qp PI Kc 1 + T1I s 2Kp Tσ 4Tσ
µ (1+tµ s)
Tσ = Σµ tµ ; T1 > 4Tσ
 
Kp Q 1 T1
(1+T1 s)(1+T2 s) µ (1+tµ s) PID Kc 1 + Ti s (1 + Td s) 2Kp Tσ 4Tσ T2
Tσ = Σµ tµ ; T1 > 4Tσ
T1 > T2 > Tσ
 
Q Kp PI Kc 1 + 1 1
4Tσ
s µ (1+tµ s) Ti s 2Kp Tσ
Tσ = Σµ tµ
 
K
Qp 1 1
s(1+T2 s) µ (1+tµ s) PID Kc 1 + Ti s (1 + Td s) 2Kp Tσ 4Tσ T2
Tσ = Σµ tµ ; T2 > Tσ

Solución: La FT del proceso, que es de tercer orden, se puede formular como:


Kp
Gp(s) = Q
(1 + T1 s)(1 + T2 s) µ (1 + tµ s)

donde: Kp = 1, T1 = 20, T2 = 10, µ = 1, tµ = t1 = Tσ = 0.25, y, T1 > 4Tσ ,


T1 > T2 > Tσ . Este proceso se puede estabilizar con un controlador PID, tal como se
observa en la Fig. 1.43, resultado que se obtiene ejecutando el programa kessler2.m.

% kessler2.m CONTROL PID EMPLEANDO EL MÉTODO DE KESSLER


clear all; close all; clc;
Kp=1; T1=20; T2=10; mu=1; tmu=0.5; Tsigma=tmu; s=tf(’s’);
Gp=Kp/(1+T1*s)/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp,’r’); grid;
title(’RESPUESTA AL ESCALÓN’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
Kc=T1/(2*Kp*Tsigma); Ti=4*Tsigma; Td=T2;
Gc=Kc*(1+1/Ti/s)*(1+Td*s); PID=feedback(Gp*Gc,1); % CONTROL PID
subplot(212); step(PID,’r’); grid;
title(’SALIDA CONTROLADA’); xlabel(’TIEMPO’); ylabel(’SALIDA’);
print -deps -f kessler2

Ejemplo 1.21

Controlar un sistema posicionador empleando el método de Kessler, sabiendo que su


FT es:
1
Gp(s) =
s(1 + s)(5 + s)

Solución: La FT del sistema se puede reformular como:


0,2 Kp
Gp(s) = = Q
s(1 + s)(1 + 0,2s) s(1 + T2 s) µ (1 + tµ s)
48 ON–OFF AND PID CONTROL

RESPUESTA AL ESCALÓN

0.8

AMPLITUD
0.6

0.4

0.2

0
0 20 40 60 80 100 120 140 160 180
TIEMPO (sec)

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

0
0 2 4 6 8 10 12
TIEMPO (sec)

Fig. 1.43: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.

Los parámetros de este sistema son: Kp = 0.2, T2 = 1, µ = 1, tµ = t1 = Tσ = 0.2.


También se cumple que T2 > Tσ . De acuerdo a Kessler, el sistema se puede estabi-
lizar con un controlador PID, tal como se verifica en la Fig. 1.44 (gráfico inferior),
resultado que se obtiene ejecutando el programa kessler1.m listado abajo. Notar que
este sistema es no autoregulado, tal como se observa en gráfico superior de la Fig.
1.44.
% kessler1.m CONTROL PID EMPLEANDO EL MÉTODO DE KESSLER
clear all; close all; clc;
Kp=0.2; T2=1; mu=1; tmu=0.2; Tsigma=tmu; s=tf(’s’);
Gp=Kp/s/(1+T2*s)/(1+tmu*s); % PROCESO
subplot(211); step(Gp); grid;
title(’RESPUESTA AL ESCALÓN’); xlabel(’TIEMPO’); ylabel(’AMPLITUD’);
Kc=1/(2*Kp*Tsigma); Ti=4*Tsigma; Td=T2;
Gc=Kc*(1+1/Ti/s)*(1+Td*s); PID=feedback(Gp*Gc,1); % CONTROL PID
subplot(212); step(PID,’r’); grid;
title(’SALIDA CONTROLADA’); xlabel(’TIEMPO’); ylabel(’SALIDA’);
print -deps -f kessler1

Kp
Método de Xue para Procesos con FT: s
e−τ s
El método de Xue se aplica a procesos que poseen una FT con parte proporcional,
parte integral y tiempo muerto de la forma:
Y (s) Kp −τ s
G(s) = = e (1.40)
U (s) s
Debido a la presencia del integrador, los controladores PD y PID resultan ser los
adecuados para controlar tales procesos. La Tabla 1.15 muestra los valores de los
1.6 Tuning Methods of PID Controllers 49

RESPUESTA AL ESCALÓN

300

250
AMPLITUD

200

150

100

50

0
0 500 1000 1500
TIEMPO (sec)

SALIDA CONTROLADA

1.5

1
SALIDA

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
TIEMPO (sec)

Fig. 1.44: Respuesta al escalón (gráfico superior) y respuesta controlada (gráfico in-
ferior) empleando un controlador PID de acuerdo al método de Kessler.

coeficientes empleados por los parámetros de los controladores PD y PID [22]:


a1
ControladorP D : Kc = Td = a2 τ
Kp τ
a3
ControladorP ID : Kc = Ti = a4 τ Td = a5 τ (1.41)
Kp τ

Tabla 1.15: Parámetros ai para calcular Kc , Ti y Td para el control de procesos tipo


IPτ (ecuación (1.41)).

Criterio a1 a2 a3 a4 a5
ISE 1.03 0.49 1.37 1.496 0.59
ITSE 0.96 0.45 1.36 1.66 0.53
ISTSE 0.9 0.45 1.34 1.83 0.49

Ejemplo 1.22
Kp
Controlar el proceso con FT Gp (s) = s e−τ s , con Kp = 2, T = 20 y τ = 2 usando
el criterio ISE y un controlador PID.
50 ON–OFF AND PID CONTROL

Solución: La Fig. 1.45 muestra la respuesta controlada, resultado que se obtiene


ejecutando el programa zh2.m listado abajo.
CONTROL PID USANDO ISE
3

Control PID using e -τ s


=[num,den]=pade(tau,3)
Control PID using e -τ
s
2

0
SALIDA

-1

-2

-3

-4

-5
0 10 20 30 40 50 60
TIEMPO (seconds)

Kp
Fig. 1.45: Control PID del proceso Gp (s) = s e−τ s (ejemplo 1.22).

% zh2.m CONTROL PID USANDO ISE


clear all; close all; clc; s=tf(’s’); Kp=2; tau=2;
a1=1.03; a2=0.49; a3=1.37; a4=1.496; a5=0.59; N=10;
[num,den]=pade(tau,3); Gtau1=tf(num,den); Gp1=Kp*Gtau1/s;
Gtau2=exp(-tau*s); Gp2=Kp*Gtau2/s; % SISTEMA A CONTROLAR
Kc=a3/(Kp*tau); Ti=a4*tau; Td=a5*tau; Gc=Kc*(1+1/(Ti*s)+Td*s);
PID1=feedback(Gc*Gp1,1); PID2=feedback(Gc*Gp2,1);
step(PID1,’r’,PID2,’b’); grid, title(’CONTROL PID USANDO ISE’);
legend(’Control PID using e^{-\tau s}=[num,den]=pade(tau,3)’, ...
’Control PID using e^{-\tau s}’)
xlabel(’TIEMPO’); ylabel(’SALIDA’); print -deps -f zh2

Kp
Método de Xue para Procesos con FT: s(T s+1)
e−τ s
La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo
de primer orden y tiempo muerto:
y(s) Kp
G(s) = = e−τ s (1.42)
u(s) s(T s + 1)
Debido a la presencia del integrador, los controladores PD y PID resultan los ade-
cuados para controlar tales procesos. Las fórmulas para determinar los parámetros
del controlador PD son [22]:
2
Kc = Td = T τ (1.43)
3Kp τ
mientras que para el controlador PID, se tiene:
"  0.65 #
1.111T 1 T Ti
Kc = i2 Ti = 2τ 1 + Td = (1.44)
Kp τ 2 . τ 4
h
0 65
1 + Tτ

1.6 Tuning Methods of PID Controllers 51

Ejemplo 1.23
Kp
Controlar el proceso con FT Gp (s) = s(T s+1) e−τ s , con Kp = 2, T = 2 y τ = 2.
Solución: La Fig. 1.46 muestra la respuesta controlada, resultado que se obtienen
ejecutando el programa zh3.m listado abajo.
CONTROL PID USANDO ISE
1.6

PID control using e -τ s


=[num,den]=pade(tau,3)
PID control using e -τ
s
1.4

1.2

1
Amplitude

0.8

0.6

0.4

0.2

-0.2
0 20 40 60 80 100 120 140 160
Time (seconds)

Kp
Fig. 1.46: Control PID del proceso Gp (s) = s(T s+1) e−τ s usando ISE (ejemplo 1.23).

% zh3.m CONTROL PID


clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=2;
[num,den]=pade(tau,3); Gtau1=tf(num,den);
Gp1=Kp*Gtau1/(s*(T*s+1)); Gp2=Kp*exp(-tau*s)/(s*(T*s+1)); % PROCESO
Kc=1.111*T/(Kp*tau^2)/(1+(T/tau)^(0.65))^2;
Ti=2*tau*(1+(T/tau)^(0.65)); Td=Ti/4; Gc=Kc*(1+1/(Ti*s)+Td*s);
PID1=feedback(Gc*Gp1,1); % CONTROL PID
PID2=feedback(Gc*Gp2,1);
step(PID1,’b’,PID2,’r’); grid, title(’CONTROL PID USANDO ISE’);
legend(’PID control using e^{-\tau s}=[num,den]=pade(tau,3)’, ...
’PID control using e^{-\tau s}’), print -deps -f zh3

Kp
Método de Xue para Procesos con FT: T s−1
e−τ s
La FT del siguiente proceso posee parte proporcional, parte integral, parte retardo
de primer orden inestable y tiempo muerto:
y(s) Kp
G(s) = = e−τ s (1.45)
u(s) Ts − 1
Debido a la presencia del integrador y a la raı́z inestable s = 1/T , el controlador
PID parece ser el más adecuado para controlar tales procesos. Las fórmulas para
determinar los parámetros del controlador PID son [22]:
a 1  τ b 1  τ b 2   τ −0.02   τ γ
Kc = Ti = a2 T Td = a3 T 1 − b3
Kp T T T T
(1.46)
Los parámetros ai , bi y γ se obtienen de la Tabla 1.16 para diferentes criterios.
52 ON–OFF AND PID CONTROL

Tabla 1.16: Parámetros ai para calcular Kc , Ti y Td para el control de procesos tipo


IPT1 τ inestables (ecuación (1.45)).

Criterio a1 b1 a2 b2 a3 b3 γ
ISE 1.32 0.92 4.00 0.47 3.78 0.84 0.95
ITSE 1.38 0.90 4.12 0.90 3.62 0.85 0.93
ISTSE 1.35 0.95 4.52 1.13 3.70 0.86 0.97

Ejemplo 1.24

Kp
Controlar el proceso con FT Gp (s) = T s−1 e−τ s , con Kp = 2, T = 2 y τ = 2.

Solución: La Fig. 1.46 muestra la respuesta controlada, resultado que se obtienen


ejecutando el programa zh3.m listado abajo.
CONTROL PI−D USANDO ISTSE

3
SALIDA

−1

−2

−3
0 10 20 30 40 50 60 70
TIEMPO (sec)

Kp
Fig. 1.47: Control PID2 del proceso Gp (s) = s−1 e−τ s usando ISTSE (ejemplo 1.24).

% zh4.m CONTROL PI-D USANDO ISTSE


clear all; close all; clc; s=tf(’s’); Kp=2; tau=2; T=2; N=10;
a1=1.35; b1=0.95; a2=4.52; b2=1.13; a3=3.7; b3=0.86; gamma=0.97;
[num,den]=pade(tau,3); Gtau=tf(num,den); % TIEMPO MUERTO: exp(-tau*s)
Gp1=Kp*Gtau/(T*s-1); Gp2=Kp*exp(-tau*s)/(T*s-1);% SISTEMA A CONTROLAR
Kc=(a1/Kp)*(tau/T)^b1; Ti=a2*T*(tau/T)^b2;
Td=a3*T*(1-b3*(tau/T)^(-0.02))*(tau/T)^gamma;
Gc=Kc*(1+1/(Ti*s)+Td*s/(1+Td*s/N));
PID1=feedback(Gc*Gp1,1); % CONTROL PID
PID2=feedback(Gc*Gp2,1);
step(PID1,’b’,PID2,’r’); grid, title(’CONTROL PID USANDO ISE’);
legend(’PID control using e^{-\tau s}=[num,den]=pade(tau,3)’, ...
’PID control using e^{-\tau s}’), print -deps -f zh4
1.6 Tuning Methods of PID Controllers 53

1.6.4. Método de Dahlin


El siguiente procedimiento de sı́ntesis es atribuido a Dahlin [27]. La Fig. 1.48
muestra un sistema SISO realimentado, donde Gc (s), Gp (s) y H(s) representan las
FTs del controlador, el proceso y el sistema de medición, respectivamente, y, r(s),
e(s), y(s) y u(s) constituyen las señales de referencia (SP), error del sistema, salida
controlada (PV) y ley de control, respectivamente. Para el caso H(s) = 1, de la Fig.
1.48 se deduce:

y(s) = Gp (s)u(s) = Gp (s)Gc (s)e(s) = Gp (s)Gc (s)(r(s) − y(s))

Por consiguiente:
1 y(s)/r(s)
Gc (s) = (1.47)
Gp (s) 1 − y(s)/r(s)
Se puede forzar que la señal controlada y(t) sea la curva de reacción de un proceso
de primer orden de ganancia unitaria y constante de tiempo Tc :
y(s) 1
= (1.48)
r(s) Tc s + 1

Sabemos que la constante de tiempo Tc corresponde al al 63.2 % de la magnitud de la


ganancia unitaria El 100 % de esta ganancia unitaria se alcanza en aproximadamente
cuatro veces Tc . Reemplazando (1.48) en (1.47) se obtiene una fórmula para sintetizar
(diseñar) el controlador:
1 1
Gc (s) = (1.49)
Gp (s) Tc s
En lo que sigue, la fórmula de sı́ntesis dada en (1.49) será determinada para el control
de diferentes procesos.

r(s) e(s) u(s) y(s)


Gc (s) Gp(s)

H(s)

Fig. 1.48: Sistema SISO realimentado.

Proceso Proporcional
Cuando Gp (s) = Kp (proceso proporcional), la ecuación (1.49) toma la forma:
Kc 1
Gc (s) = Kc = (1.50)
s Kp Tc

Proceso de Primer Orden


Sea el proceso de primer orden:
Kp
Gp (s) = (1.51)
Ts + 1
54 ON–OFF AND PID CONTROL

donde T es la constante de tiempo del proceso y Kp su ganancia. Con Gp (s) dado


por la ecuación (1.51), (1.49) toma la forma:
 
1 T
Gc (s) = Kc 1 + Kc = Ti = T (1.52)
Ti s Kp Tc

Proceso de Segundo Orden


Sea el proceso de segundo orden:
Kp
Gp (s) = (1.53)
(T1 s + 1)(T2 s + 1)
donde T1 y T2 son las dos constantes de tiempo del proceso. Con Gp (s) dado por la
ecuación (1.53), (1.49) toma la forma:
 
1 T1
Gc (s) = Kc 1 + (Td s + 1) Kc = Ti = T1 Td = T2
Ti s Kp Tc
(1.54)

Proceso Integral
Cuando:
Kp
Gp (s) =
s(T s + a)
el cual corresponde a un proceso integral, la ley de control (1.49) toma la forma:
1
Gc (s) = Kc (Td s + 1) Kc = Td = T (1.55)
Kp Tc

Proceso Doblemente Integral


Si Gp (s) = Kp /s2 (proceso doblemente integral), como es el caso de un satélite
en órbita, la ecuación (1.49) toma la forma:
1
Gc (s) = Kc s Kc = (1.56)
Kp Tc

Procesos con Respuesta Inversa o con Sobrenivel


Sea el proceso con un cero positivo ubicado en 1/T3 y dos polos negativos ubicados
en −1/T1 y −1/T2 :
Kp (1 − T3 s)
Gp (s) = (1.57)
(T1 s + 1)(T2 s + 1)

el cual, dependiendo de sus parámetros, corresponde a un proceso que posee una


respuesta al escalón inversa (parte de su respuesta al inicio es negativa) o con sobre-
nivel. Para esta situación conviene forzar que la señal controlada y(t) sea la curva de
reacción de un proceso de adelanto–atraso de ganancia unitaria y de la forma:
y(s) 1 − T3 s
= (1.58)
r(s) Tc s + 1
1.6 Tuning Methods of PID Controllers 55

Sustituyendo (1.57) y (1.58) en (1.47), la ley de control toma la forma:


 
1 T1
Gc (s) = Kc 1 + (Td s+1) Kc = Ti = T1 Td = T2
Ti s Kp (Tc + T3 )
(1.59)

Procesos con Tiempo Muerto


Sea el proceso de primer orden con tiempo muerto de la forma:

Kp e−τ s
Gp (s) = (1.60)
(T s + 1)

En este caso conviene forzar que la señal controlada y(t) sea la curva de reacción de
un proceso de primer orden con tiempo muerto y ganancia unitaria, de la forma:

y(s) e−τ s
= (1.61)
r(s) Tc s + 1

Reemplazando (1.60) y (1.61) en (1.47), la ley de control toma la forma:


 
1 Td s + 1
Gc (s) = Kc 1 + (1.62)
Ti s αTd s + 1
donde:
T τ Tc
Kc = Ti = T Td = α=
Kp (Tc + τ ) 2 Tc + τ

Ejemplo 1.25

Verificar los controladores sintetizados empleando el método de Dahlin.


Solución: La Fig. 1.49 muestra las respuestas controladas, resultadoS que se obtienen
ejecutando el programa dahlin1.m listado abajo. No se ha considerado el caso Gp (s) =
Kp /s2 por simple comodidad.
% dahlin1.m CONTROL DE PROCESOS: MÉTODO DE DAHLIN
clear all; close all; clc; s=tf(’s’);
Kp=2; T=5; T1=4; T2=6; T3=3; Tc=2; Tt=2;
Gp1=Kp; Gp2=Kp/(T*s+1); Gp3=Kp/((T1*s+1)*(T2*s+1)); Gp4=Kp/(s*(T*s+1));
Gp5=Kp*(1-T3*s)/((T1*s+1)*(T2*s+1)); [num,den]=pade(Tt,3);
Gtau=tf(num,den); Gp6=Kp*Gtau/(T*s+1);
Kc1=1/(Kp*Tc); Gc1=Kc1/s; DH1=feedback(Gc1*Gp1,1); subplot(321);
step(DH1,’k’); grid; xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO PROPORCIONAL’);
Kc2=T/(Kp*Tc); Ti=T; Gc2=Kc2*(1+1/(Ti*s)); DH2=feedback(Gc2*Gp2,1);
subplot(322); step(DH2,’k’); grid; xlabel(’TIEMPO [s]’);
ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO DE 1er ORDEN’);
Kc3=T1/(Kp*Tc); Ti=T1; Td=T2; Gc3=Kc3*(1+1/(Ti*s))*(Td*s+1);
DH3=feedback(Gc3*Gp3,1); subplot(323); step(DH3,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO DE 2do ORDEN’);
Kc4=1/(Kp*Tc); Td=T; Gc4=Kc4*(Td*s+1); DH4=feedback(Gc4*Gp4,1);
56 ON–OFF AND PID CONTROL

CONTROL DE UN PROCESO PROPORCIONAL CONTROL DE UN PROCESO DE 1er ORDEN

1 1
SALIDA

SALIDA
0.5 0.5

0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
CONTROL DE UN PROCESO DE 2do ORDEN CONTROL DE UN PROCESO INTEGRATIVO

1 1
SALIDA

SALIDA
0.5 0.5

0 0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
TIEMPO [s] (sec) TIEMPO [s] (sec)
PROCESO CON RPTA INVERSA O SOBRENIVEL CONTROL DE UN PROCESO CON TIEMPO MUERTO

2 1
SALIDA

SALIDA

1 0.5

0 0

−1 −0.5

−2 −1
0 2 4 6 8 10 12 0 5 10 15
TIEMPO [s] (sec) TIEMPO [s] (sec)

Fig. 1.49: Control de procesos empleando controladores sintetizados por el método


de Dahlin.

subplot(324); step(DH4,’k’); grid; xlabel(’TIEMPO [s]’);


ylabel(’SALIDA’); title(’CONTROL DE UN PROCESO INTEGRATIVO’);
Kc5=T1/(Kp*(Tc+T3)); Ti=T1; Td=T2; Gc5=Kc5*(1+1/(Ti*s))*(Td*s+1);
DH5=feedback(Gc5*Gp5,1); subplot(325); step(DH5,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’PROCESO CON RPTA INVERSA O SOBRENIVEL’);
Kc6=T/(Kp*(Tc+Tt)); Ti=T; Td=Tt/2; alfa=Tc/(Tc+Tt);
% Gc6=Kc6*(1+1/(Ti*s))*((Td*s+1)/(alfa*Td*s+1));
Gc6=(T*s+1)/(Kp*(Tc*s+1-Gtau));
DH6=feedback(Gc6*Gp6,1); subplot(326); step(DH6,’k’); grid;
xlabel(’TIEMPO [s]’); ylabel(’SALIDA’);
title(’CONTROL DE UN PROCESO CON TIEMPO MUERTO’);
print -deps -f dahlin1

1.7. El Efecto Windup


En toda implementación práctica, la señal de salida del controlador debe de estar
limitada por dos razones. La primera es que su magnitud no debe de exceder el rango
permitido por el sistema de adquisición de datos, y la segunda es que su valor no debe
1.7 El Efecto Windup 57

de exceder el rango permitido por el actuador. Por estas razones es que introducimos
un limitador a la salida del controlador. Lamentablemente este limitador, el cual es
un elemento no lineal, es el causante del efecto denominado en windup (saturación)
que se explica a continuación.
La Fig. 1.50 muestra el diagrama en Simulink empleado para explicar el efecto
windup. Ejecutar el programa windup.mdl y luego el programa windupgraf.m para
obtener la Fig. 1.51, en donde se observa que cuando ocurre un cambio tipo escalón
en la señal de referencia r(t) = 1 (primer gráfico), la señal de error positiva inicial
(r(t) − y(t)) se hace bastante grande a partir del tiempo t1 , provocando que la señal
de control u(t) (segundo gráfico) alcance rápidamente el valor lı́mite de saturación. A
pesar de que la señal de salida y(t) en el tiempo t1 iguala al valor de referencia r(t),
debido al efecto windup, la salida yi (t) del integrador sigue creciendo (tercer gráfico),
lo cual genera una señal de error (r(t) − y(t)) grande negativa, mientras que la señal
de control u(t) permanece en el valor de saturación máximo. Notar en el tercer gráfico
que la salida del integrador yi (t) es grande hasta que se alcance el tiempo t2 , y luego
comienza a disminuı́r conforme disminuye el error negativo, debido a que la acción
de control está teniendo efecto.
Observar en el primer gráfico de la Fig. 1.51 que el efecto windup provoca un
aumento del sobreimpulso y del tiempo de estabilización en la señal controlada y(t). Si
el algoritmo PID empleado es del tipo discreto, el fenómeno windup no es tan notorio,
aún cuando la señal de control esté limitada, debido a que el algoritmo discreto no
emplea la suma de los errores para generar el término integral del controlador. Lo
que se emplea es un cálculo recursivo como veremos más adelante.

windup .mdl ILUSTRA EL EFECTO WINDUP

yi
u y Scope
Step =1 yi
u
1 10
5
1.12s yi u s4 +10s3 +35s2 +50s+24
Kc=5 Ti =1.12 um =3.5
Transfer Fcn
t y

Clock t y

Fig. 1.50: Diagrama Simulink para explicar el efecto windup.


% windupgraf.m
clear all; close all; clc; load yi; load y; load u; load t;
subplot(311), plot(t,y,’k’), xlabel(’TIME [s]’), Ylabel(’OUTPUT y’),
title(’WINDUP EFFECT’)
subplot(312), plot(t,u,’k’), xlabel(’TIME [s]’),Ylabel(’CONTROL u’)
subplot(313), plot(t,yi,’k’),xlabel(’TIME [s]’),Ylabel(’INTEGRATOR yi’)
print -f -deps windupfig, print -s -deps windupsim

Existen diversos métodos para eliminar en gran medida el efecto windup en sis-
temas de control que emplean controladores PID continuos [24], [24]. Uno de estos
58 ON–OFF AND PID CONTROL

EFECTO WINDUP
2

SALIDA y(t)
t1
1

0
0 2 4 6 8 10
TIEMPO [s]
CONTROL u(t)

4
t2
2

0
0 2 4 6 8 10
TIEMPO [s]
INTEGRADOR yi(t)

10

0
0 2 4 6 8 10
TIEMPO [s]

Fig. 1.51: Gráficos para explicar el efecto windup.

métodos se muestra en el diagrama Simulink de la Fig. 1.52, el cual muestra un


controlador PID con mecanismo anti windup. Los parámetros del controlador son los
usuales: tiempo integral Ti , tiempo derivativo Td y ganancia proporcional Kc . La sali-
da y(t) del proceso controlado y la correspondiente fuerza de control u(t) se muestran
en la Fig. 1.53, las cuales se obtienen ejecutando primero el programa antiwindup.mdl
y luego el programa antiwindupgraf.m.

1/1.2 tt
rr
REF. Clock tt
rr GANANCIA 1/Ti
1
1/1.2 uu Scope
s

1/Ti INTEGRADOR uu

10
1.3
s4 +10s3 +35s2 +50s+24
Kc SATURACIÓN
SISTEMA A CONTROLAR

1 yy
0.1 du/dt
0.5s+1 yy
FILTRO Td DERIVADOR antiwindup .m CONTROLADOR PID CON MECANISMO
ANTI WINDUP. EL FILTRO SE PUEDE SELECCIONAR
A VOLUNTAD.

Fig. 1.52: Simulink diagram showing a PID controller with anti windup mechanism.

% antiwindupgraf.m
1.8 Discrete-Time PID Algorithms 59

CONTROLADOR PID CON MECAISMO ANTI WINDUP


1.4

1.2

SALIDA y(t) 0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]

2.5
CONTROL u(t)

1.5

1
0 1 2 3 4 5 6 7 8 9 10
TIEMPO [s]

Fig. 1.53: Controlled output and control signal in Fig. 1.52.

clear all; close all; clc; load yy; load rr; load uu; load tt;
subplot(211), plot(tt,rr,’k’,tt,yy,’k’), xlabel(’TIEMPO [s]’),
Ylabel(’SALIDA y’), title(’CONTROLADOR PID CON MECANISMO ANTI WINDUP’)
subplot(212), plot(tt,uu,’k’), xlabel(’TIEMPO [s]’), Ylabel(’CONTROL u’)
print -f -deps antiwindupfig, print -s -deps antiwindupsim
Por otra parte, cuando el controlador conmuta de manual a automático, el valor
de la señal de control u(t) puede cambiar de un valor a otro, no importando que la
señal de error e sea cero. Este salto debe de evitarse y en este caso se dice que la
conmutación de manual a automático debe de ser bumpless (sin saltos). Para lograr
conmutación sin saltos, el algoritmo de control debe de ejecutarse siempre, aún en el
caso en que la operación del sistema de control se encuentre en modo manual. Esta
corrección se puede realizar en el correspondiente programa en tiempo real.

1.8. Discrete-Time PID Algorithms


1.8.1. The Modified PID Algorithm
The standard form of the PID algorithm shown in (1.9) can be modified intro-
ducing certain characteristics in order to improve its performance. For example, we
can not avoid the random occurrence of abrupt changes of the e error, which could
increase the derivative term:
de(t) d
= (r(t) − y(t))
dt dt
This phenomenon is known in English as derivative kick and its effect can be
diminish if we use as input signal just the feedback signal y instead of e. In this way,
60 ON–OFF AND PID CONTROL

de(t)
(1.9) with dt = − dy(t)
dt becomes
 Z 
1 dy
u = Kc e+ edt − Td
Ti dt
Another important modification is to filter the derivative action of the original PID
controller using a first (or second) order filter to decrease the derivative noise. This
feature limits the amplification of high–frequency measurement noise at the output
of the controller. The control signal will thus be less noisy and the high frequency
gain will remain within appropriate levels. A practical derivative term, since a pu-
re derivative is not realizable, can be approximated by a first-order term having a
time constant Tf , which is often normalized with respect to the derivative time Td .
Therefore, the pure derivative term of the PID algorithm is modified as follows
Td s Td
Td s  Tf =
1 + Tf s N
where N is a constant ranging from 3 to 100 and is known as the derivative gain
quota. Then the PID algorithm takes on the form
Kc Kc Td s
u(s) = Kc e(s) + e(s) − y(s) = P (s) + I(s) + D(s) (1.63)
Ti s 1 + Tf s
Kc Kc Td s Td
P (s) = Kc e(s) I(s) = e(s) D(s) = − y(s) Tf =
Ti s 1 + Tf s N
The terms P , I and D represent the proportional, integral and derivative parts of
the modified PID controller, respectively.
Let k be the discrete time, which is related to the continuous time t by the
equation t = T k, where T is the sampling time. The proportional part P = Kc e(s)
of (1.63) is directly discretized, obtaining

P = Kc e(k) (1.64)
Rt
For the integral part I(s) = TKics e(s), or what is the same I(t) = Kc
Ti 0 e(t)dt we use
the trapezoidal approximation
k k−1
Kc X [e(i) + e(i − 1)] Kc X [e(i) + e(i − 1)] Kc T [e(k) + e(k − 1)]
I(k) = T = T +
Ti 2 Ti 2 Ti 2
i=1 i=1
Kc T
I(k) = I(k − 1) + [e(k) + e(k − 1)] (1.65)
2Ti
Kc Td s
The derivative part D(s) = − 1+T f s
y(s) can be written as

(1 + Tf s)D(s) = −Kc Td s y(s)

D(t) + Tf Ḋ(t) = −Kc Td ẏ(t)


The forward approach of the derivative terms Ḋ(t) e ẏ(t) takes on the form
   
D(k) − D(k − 1) y(k) − y(k − 1)
D(k) + Tf = −Kc Td
T T
1.8 Discrete-Time PID Algorithms 61

From the above equation, D(k) is obtained as


Td Td
D(k) = {D(k − 1) − Kc N [y(k) − y(k − 1)]} Tf = (1.66)
N T + Td N
The discrete PID algorithm used in real-time implementations results in

u(k) = P (k) + I(k) + D(k) (1.67)

In 1.67, P (k), I(k) D(k) are given by (1.64), (1.65) and (1.66), respectively.
Also, it is necessary to include a saturator with maximum and minimum limits
to protect the final control elements from damages that is
v = P + I + D;
if(v < ulow), u = ulow; elseif(v > umax), u = umax; else u = v;

If the sampling time Ts is sufficiently small, then the tuning rules for continuous–
time systems discussed above, can also be used for discrete–time systems. However,
there are tuning rules for the discrete–time case, such as those shown in the Tables
K
1.17 and 1.18. These tables employ the TF Gp (s) = 1+Tp s e−τ s of the process and are
not valid if τ /Ts ≈ 0 nor are they due apply if τ /Ts < 1/4, where Ts is the sampling
time.

Tabla 1.17: Reaction curve method to compute Kc , Ki y Kd .

100
Type Controller Gc (s) Kc = BP Ki = Kc /Ti Kd = Kc Td
1 T
P Kc Kp τ +Ts 0 0
Ki 0.9 T 0.27 Ts T
PI Kc + s Kp τ +0.5Ts − 0.5Ki Kp (τ +0.5Ts )2 0
Ki 1.2 T 0.6 Ts T 0.5 T
PID Kc + s + Kd s Kp τ +Ts − 0.5Ki Kp (τ +0.5Ts )2 Kp Ts

Tabla 1.18: Sustained oscillation method to compute Kc , Ti y Td .

100
Tipo Controlador Gc (s) Kc = BP Ki = Kc /Ti Kd = Kc Td
P KC 0.5Kcrit ∞ 0
Ki
PI Kc + s 0.45 Kcrit − 0.5Ki 0,54 K crit
Tcrit 0
Ki
PID Kc + s + Kd s 0.6 Kcrit − 0,5Ki 1.2 K crit
Tcrit 0.075Kcrit Tcrit
Ts

Ejemplo 1.26

Control the angular position x1 of a robot arm of 1DOF employing the discrete–time
PID algorithm. Such a robot arm is described by

ẋ1 = x2 ẋ2 = −a1 senx1 − a2 x2 + bu


62 ON–OFF AND PID CONTROL

Solution: In the program list pidposfijo.m all parameters are described and eva-
luated. Running this program, we get the requested response shown in Fig. 1.54.

1.5

Posición angular (rad)


1

0.5

-0.5
0 10 20 30 40 50 60 70 80 90 100

1
Señal de control u (V)

0.5

-0.5
0 10 20 30 40 50 60 70 80 90 100
TIME [s]

Fig. 1.54: Controlled angular position corresponding to the example 1.26.

% pidposfijo.m PID POSITION CONTROL OF THE ROBOT ARM OF 1DOF


clear all; close all; clc;
% MECHANICAL SUBSYSTEM
L = 0.25; rh = 0.02; g = 9.81; n = 18.5; Jm = 0.00059; Bm = 0.00014;
mb = 0.4; mh = 0.1; Jg = 0.066; Bg = 0.0124; BL = 0.0023;
Jho = 2*mh*rh^2/5; Jh = Jho + mh*(L+rh)^2; Jbo = mb*L^2/12;
Jb = Jbo + mb*(L/2)^2; JL = Jh + Jb; Jeq = n^2*Jm + Jg + JL;
Beq = n^2*Bm + Bg + BL; Q= mb*g*L/2 + mh*g*(L + rh);
% ELECTRICAL SUBSYSTEM
Km = 0.0436; Kb=0.0565; La = 0.004; Ra = 3.5; KA = 8.5;
% STATE-SPACE EQUATION
a1 = Q/Jeq; a2=(Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b=n*Km*KA/(Jeq*Ra);
% dx1/dt = x2; dx2/dt = -a1*sin(x1) - a2*x2 +b*u
% TUNING
Gp=b/(s^2+a2*s+a1); pidtune(Gp,’PID’)
% SAMPLING TIME AND PID PARAMETERS
Kp = 0.752; Ki = 0.609; Kd = 0.232; Ti=Kp/Ki; Td=Kd/Kp;
% INITIAL CONDITIONS
ep = 0; x1 = 0; x1p=0; x2 = 0; Ip = 0; Dp=0;
% ******** CONTROL LOOP *********
Mm = 10000; T = 0.01; ulow = -5; uhigh = 5; A=1; Nn = 100;
for k = 1:Mm
if(k >= 0 && k <= Mm/4), r = A;
elseif(k >= Mm/4 && k <= Mm/2), r = 0.5*A;
elseif(k >= Mm/2 && k <= 3*Mm/4), r = 1*A;
elseif(k >= 3*Mm/4 && k <= Mm), r = 0.1*A;
end
R(k) = r; e = r - x1;
P = Kp*e; I = Ip + T*Kp*(e+ep)/(2*Ti);
D = (Td/(Nn*T + Td))*Dp - Kp*Td*Nn*(x1 - x1p)/(Nn*T + Td);
v = P + I + D;
1.8 Discrete-Time PID Algorithms 63

if(v < ulow), u = ulow; elseif( v > uhigh), u = uhigh; else u = v;


end
U(k) = u;
% MODELO DE SEGUNDO ORDEN DEL PROCESO (DISCRETIZACIÓN DIRECTA)
x1 = x1 + T*x2; Y(k) = x1;
x2 = x2 + T*(-a1*(sin(x1))-a2*x2+b*u);
ep = e; x1p=x1; Ip=I;
end
% PLOTS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1)
plot(ejex,R,ejex,Y); grid; ylabel(’Posición angular (rad)’)
subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~nal de control u (V)’)
xlabel(’TIME [s]’); print -f -deps pidposfijo

1.8.2. The Velocity PID Algorithm

Z t
de
u = Kc e + Ki e dt + Kd ; P osition P ID
0 dt
du de d2 e
= Kc + Ki e + Kd 2 ; V elocity P ID
dt dt dt
du u(k) − u(k − 1) de e(k) − e(k − 1)
= ; = ;
dt Ts dt Ts
d2 e 1
= (e(k) − 2e(k − 1) + e(k − 2))
dt2 Ts2
u(k) = u(k − 1) + Kc (e(k) − e(k − 1) +
Kd
Ts Ki e(k) + (e(k) − 2e(k − 1) + e(k − 2))
Ts
u = u + Kc ∗ (e − e−1 ) +
Kd
Ts ∗ Ki e + (e − 2e−1 + e−2 ); (1.68)
Ts

% pidvelocity.m PID POSITION CONTROL OF THE ROBOT ARM OF 1DOF


clear all; close all; clc; s=tf(’s’);
% MECHANICAL SUBSYSTEM
L = 0.25; rh = 0.02; g = 9.81; n = 18.5; Jm = 0.00059; Bm = 0.00014;
mb = 0.4; mh = 0.1; Jg = 0.066; Bg = 0.0124; BL = 0.0023;
Jho = 2*mh*rh^2/5; Jh = Jho + mh*(L+rh)^2; Jbo = mb*L^2/12;
Jb = Jbo + mb*(L/2)^2; JL = Jh + Jb; Jeq = n^2*Jm + Jg + JL;
Beq = n^2*Bm + Bg + BL; Q= mb*g*L/2 + mh*g*(L + rh);
% ELECTRICAL SUBSYSTEM
Km = 0.0436; Kb=0.0565; La = 0.004; Ra = 3.5; KA = 8.5;
% STATE-SPACE EQUATION
a1 = Q/Jeq; a2=(Beq*Ra+n^2*Km*Kb)/(Jeq*Ra); b=n*Km*KA/(Jeq*Ra);
% dx1/dt = x2; dx2/dt = -a1*sin(x1) - a2*x2 +b*u
% TUNING
Gp=b/(s^2+a2*s+a1); pidtune(Gp,’PID’)
% SAMPLING TIME AND PID PARAMETERS
T = 0.01; Kp = 0.752; Ki = 0.609; Kd = 0.232;
64 ON–OFF AND PID CONTROL

1.5

Posición angular (rad)


1

0.5

-0.5
0 10 20 30 40 50 60 70 80 90 100

1
Señal de control u (V)

0.5

-0.5

-1
0 10 20 30 40 50 60 70 80 90 100
TIME [s]

Fig. 1.55: Controlled angular position corresponding to the example 1.26 using a
velocity PID algorithm.

% INITIAL CONDITIONS
e_1 = 0; e_2=0; x1 = 0; x1p=0; x2 = 0; v=0;
% ******** CONTROL LOOP *********
Mm = 10000; T = 0.01; Nn = 10; ulow = -5; uhigh = 5; A=1;
for k = 1:Mm
if(k >= 0 && k <= Mm/4), r = A;
elseif(k >= Mm/4 && k <= Mm/2), r = 0.5*A;
elseif(k >= Mm/2 && k <= 3*Mm/4), r = 1*A;
elseif(k >= 3*Mm/4 && k <= Mm), r = 0.1*A;
end
R(k) = r; e = r - x1;
v = v + Kp*(e-e_1)+T*Ki*e+Kd*(e-2*e_1+e_2);
if(v < ulow), u = ulow; elseif( v > uhigh), u = uhigh; else u = v;
end
U(k) = u;
% MODELO DE SEGUNDO ORDEN DEL PROCESO (DISCRETIZACIÓN DIRECTA)
x1 = x1 + T*x2; Y(k) = x1;
x2 = x2 + T*(-a1*sin(x1)-a2*x2+b*u);
e_2=e_1; e_1 = e;
end
% PLOTS
ejex = linspace(0,Mm*T,Mm); subplot(2,1,1)
plot(ejex,R,ejex,Y); grid; ylabel(’Posición angular (rad)’)
subplot(2,1,2); plot(ejex,U); grid; ylabel(’Se~nal de control u (V)’)
xlabel(’TIME [s]’); print -f -deps pidvelocity
1.9 Problems 65

1.9. Problems
Problema 1.1

Las FTs Ga (s) hasta Gj (s) corresponden a procesos a ser controlados. Determinar
para cada una de ellos los siguientes modelos dinámicos aproximados:

Kp −τ s
GA (s) = e
Ts + 1
Kp τ
GB (s) = ; ≥ 0.104
(Tn s + 1)n T
Kp τ
GC (s) = ; < 0.104
(T1 s + 1)(T2 s + 1) T

2 4
Ga (s) = Gb (s) =
(s + 1)3 (s + 1)5
−3s + 2 s2 − 3s + 6
Gc (s) = Gd (s) =
(s + 1)3 (s + 1)(s2 + 3s + 6)(s2 + s + 2)
−10s + 4 6
Ge (s) = e−s/2 Gf (s) =
(s + 1)2 (s + 3)3 (s + 1)6
3 3
Gg (s) = e−s Gh (s) = e−2s
(s + 1)(2s + 1) (s + 1)4
7 3s + 6
Gi (s) = e−30s Gj (s) = e−s/10
(17s + 1)(6s + 1)3 (s + 1)(4s + 1)

Problema 1.2

Realizar los controles PID1, PID2 y PID3 de los procesos Ga (s) al Gj (s) en el dominio
de s empleando MATLAB. Usar al menos tres distintas reglas de sintonización para
cada proceso. El objetivo de control es que la señal controlada siga a una referencia
constante.

Problema 1.3

Realizar los controles PID1, PID2 y PID3 de los procesos Ga (s) al Gj (s) empleando
SIMULINK. Usar al menos una regla de sintonización, en lo posible distinta de las
otras, para cada proceso. El objetivo de control es que la señal controlada siga a una
referencia constante.

Problema 1.4

Realizar los controles PID1, PID2 y PID3 de los procesos Ga (s) al Gj (s) en el dominio
del tiempo discreto k=t/T (T es el tiempo de muestreo) empleando MATLAB. Usar al
menos tres distintas reglas de sintonización para cada proceso. El objetivo de control
es que la señal controlada (la salida) tienda a cero en presencia de un disturbio tipo
escalón a la entrada del proceso. En esta situación, denominada rechazo al disturbio,
la señal de referencia es nula.
66 ON–OFF AND PID CONTROL

Problema 1.5

Realizar los controles PID1, PID2 y PID3 de los procesos Ga (s) al Gj (s) Ga (s)
al Gj (s) empleando SIMULINK. Usar al menos una regla de sintonización, en lo
posible distinta de las otras, para cada proceso. El objetivo de control es que la señal
controlada (la salida) tienda a cero en presencia de un disturbio tipo escalón a la
entrada del proceso. En esta situación, denominada rechazo al disturbio, la señal de
referencia es nula.

Problema 1.6

Realizar los controles PI o PID según corresponda, de los procesos Gk (s) al Gt (s)
empleando el método de Kessler.
2
Gk (s) =
(1 + 20s)(1 + 0.1s)3 (1 + 0.3s)3
9
Gl (s) =
(1 + 20s)(1 + 30s)(1 + 0.2s)4 (1 + 0.5s)2
2
Gm (s) =
s(1 + s) (1 + 2s)2
3

8
Gn (s) =
s(1 + 20s)(1 + 0.1s)3 (1 + 0.3s)3
5
Go (s) =
(1 + 0.1s)(1 + 0.2s)(1 + 30s)(1 + 0.3s)2 (1 + 0.5s)2
3
Gp (s) =
s(1 + s)(1 + 2s)(1 + 40s)(1 + 0.2s)4 (1 + 0.5s)3
6
Gq (s) =
(1 + s)(1 + 2s)(1 + 40s)(1 + 50s)(1 + 0.2s)4 (1 + 0.5s)3
8
Gr (s) =
(s + 10)(s + 9)(s + 2)
4
Gs (s) = 2
s(s + 3) (s + 5)(s + 6)
4
Gt (s) = 2
s(1 + s) (1 + 2s)(1 + 0.9s)
Problema 1.7

Para el proceso del problema ??, diseñar un sistema de control PID para controlar la
velocidad de la turbina actuando sobre una válvula de control instalada en la tuberı́a
de entrada de agua. Asumir que la FT de transferencia de la válvula es una constante
Kv = 1.4. Se sabe que Kp = 3.6 y T = 6.8 s.

Problema 1.8

Para el proceso del problema ??, diseñar un sistema de control PID para controlar la
presión Po en el interior del tanque actuando sobre una válvula de control instalada
en la tuberı́a de entrada de gas. Asumir que T = 3.4 s y que la FT de transferencia
de la válvula es:
2
0.8s + 1
1.9 Problems 67

Problema 1.9

Para el proceso del problema ??, diseñar un sistema de control PID para controlar
la posición x de la masa M actuando sobre un pistón de control conectado a la masa
M . Asumir que M = 120 kg, K = 2 N/m, B = N/m/s y que la FT de transferencia
del pistón es 4.5.

Problema 1.10

Para el proceso del problema ??, diseñar un sistema de control PID para controlar
la temperatura TF actuando sobre una válvula de control instalada en la tuberı́a de
vapor. Asumir que la FT de transferencia de la válvula es una constante Kv = 0.6.
Asumir valores apropiados de los otros parámetros.

Problema 1.11

Para el proceso del problema ??, diseñar un sistema de control PID para controlar
el desplazamiento de la masa M2 actuando sobre pistón neumático conectado a esta
masa. La FT de transferencia del pistón neumático es una constante de valor 2.3.
Asumir valores apropiados de los otros parámetros.

Problema 1.12

Empleando Simulink, diseñar un sistema de control PID para controlar la posición


del proceso descrito en el ejemplo 1.26.

Problema 1.13

Empleando Simulink, diseñar un sistema de control PID para controlar la salida del
proceso descrito en el ejemplo 1.4.

Problema 1.14

Empleando Simulink, diseñar un sistema de control PID para controlar la salida del
proceso:
s+2
Gp (s) =
(s + 1)(s + 3)(s + 4)(s + 5)(s + 6)
Problema 1.15

Para el proceso del ejemplo ??, diseñar un sistema de control PID para controlar el
flujo actuando sobre una válvula de control instalada en la tuberı́a. Asumir que la
FT de transferencia de la válvula es:
2
0.3s + 1
Problema 1.16

Para el proceso mostrado en la Fig. ??, diseñar un sistema de control PID para
controlar el nivel actuando sobre la válvula de control, cuya FT se asume constante
y de valor unitario.
68 ON–OFF AND PID CONTROL

Problema 1.17

Para el proceso mostrado en la Fig. ??, diseñar un sistema de control PID para
controlar el flujo de salida actuando sobre la válvula de entrada de FT constante y
de valor dos. Asumir valores adecuados de los parámetros.

Problema 1.18

Para el proceso mostrado en la Fig. ?? , diseñar un sistema de control PID para


controlar el desplazamiento y mediante una corriente de control u. Los valores de los
parámetros son: Km = 1.1 N/A, M = 1.3 kg, K = 1 N/m, B = 1.5 N/m/s.
Bibliografı́a

[1] The MathWorks, Inc., MATLABr 7 Getting Started Guide, 1984–2010.

[2] The MathWorks, Inc., Simulink 7 Getting Started Guide, 1990–2010.

[3] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall,
2009.

[4] C.A. Smith y A.B. Corripio, Control Automático de Procesos, Editorial Limusa,
2007.

[5] TecQuipment Ltd, TE37 Control and Instrumentation Study Station, User Gui-
de, 2009.

[6] Gregory K. McMillan and Douglas M. Considine, Process/Industrial Instruments


and Controls Handbook (Fifth Edition), McGraw-Hill, 1999.

[7] Alan S. Morris and Reza Langaris, Measurement and Instrumentation: Theory
and Application, Elsevier Inc., 2012.

[8] R. H. Bishop, The mechatronics handbook, ISA–The Instrumentation, Systems,


and Automation Society, CRC Press, 2002.

[9] R. H. Bishop, Mechatronic Systems, Sensors, and Actuators: Fundamentals and


Modeling, CRC Press, 2007.

[10] W. Bolton, Mechatronics: Electronic Control Systems in Mechanical and Elec-


trical Engineering, Pearson/Prentice Hall, 2003.

[11] A. O’Dwyer, Handbook of PI and PID Controller Tuning Rules, 3rd edition,
Imperial College Press, 2009.

[12] J.G. Ziegler y N.B. Nichols, “Optimum Setting for Automatic Controllers”,
Transactions of the American Society Mechanical Engineering, Vol 64, pp. 759-
768, 1942.

[13] Richard C. Dorf y Robert H. Bishop, Sistemas de Control Moderno (10ma Edi-
ción), Pearson Prentice Hall, 2005.

[14] K.L. Chien, J. A. Hrones, and J. B. Reswick, “On the automatic control of
generalized passive systems”, Trans. ASME, vol. 74, pp. 175-185, 1952.
70 BIBLIOGRAFÍA

[15] G. H. Cohen and G. A. Coon, “Theoretical consideration of retarded control,”


Trans. ASME, vol. 75, pp. 827-834, 1953.

[16] Erwin Samal, Grundriss der Praktischen Regelungstechnik (11. durchsehene Au-
flage, R. Oldenbourg Verlag Muenchen Wien 1980.

[17] K.J. Åström y T. Hägglund, PID Controllers: Theory, Design, and Tuning, Ins-
trument Society of America, 1995.

[18] P. Harriot, Process Control, McGrawHill Book Co., 1964.

[19] F.S. Wang, W.S. Juang y C.T. Chan,“Optimal tuning of PID controllers for
single and cascade control loops”. Chemical Engineering Communications, Vol.
132, pp 15–34, 1995.

[20] M. Zhuang y D. P. Atherton, “Automatic tuning of optimum PID controllers”,


IEE Proceedings–Part D: Control Theory and Applications, Vol. 140, No. 3, pp.
216–224, 1993.

[21] C. Kessler, C., “Das symmetrische Optimum”, part 1, rt, No.11, pp. 395-400 and
part 2, rt, No.12, pp. 432-436, (1958)

[22] D. Xue, Y. Q. Chen y D. P. Atherton, Linear Feedback Control: Analysis and


Design with Matlab, SIAM, 2007.

[23] Instrumentation Symbols and Identification, ANSI/ ISA–S5.1–2009, American


National Standard, ISBN: 978–1–936007–29–5.

[24] C. Smith, Practical Process Control: Tuning and Troubleshooting, Wiley, 2009.

[25] C. Smith, Advanced Process Control: Beyond Single Loop Control, Wiley–
AICHE, 2010.

[26] W. Altmann, Practical process control for engineers and technicians, Elsevier,
2005.

[27] E. B. Dahlin, “Designing and Tuning Digital Controllers,” Instruments and Con-
trol Systems, V. 41 (June 1968), p. 77.

[28] A. Barrientos, L. F. Peñin, C. Balaguer, and R. Aracil, Fundamentos de Robótica,


2nd Edition, McGraw-Hill/Interamericana de España, S. A., Madrid, Buenos
aires, Caracas, and others, 2007.

[29] T. Edgar, D. Mellichamp, Process Dynamics and Control D. Seborg, John Wiley
& sons Inc., 3rd Edition, 2010.

[30] Eduardo F. Camacho y Carlos Bordons, Model Predictive Control, Springer-


Verlag London Limited, 2004.

[31] R. De Keyser, “A Gentle Introduction to Model Based Predictive Control”. In


PADI2 International Conference on Control Engineering and Signal Processing,
Piura, Perú, 1998.
BIBLIOGRAFÍA 71

[32] H. Zhang, D. Liu Fuzzy Modeling And Fuzzy Control, Birkhäuser, Boston, Basel
Berlin, 2006

[33] J. Jantzen, Foundations of Fuzzy Control, Wiley, 2007.

[34] Murray R. Spiegel, Mathematical handbook, Shaum’s Outline Series, McGraw-


Hill,Inc., 3ed Edition, New York et. al. 2008.

[35] A. Rojas-Moreno, Design of Self-tuning Controllers for Processes Having Multi-


ple Unknown Time-varying Delays, Ph.D. Thesis, Utah State University, Logan,
UT, 1995.

[36] L. Sánchez, M. Legua, Ecuaciones Diferenciales Y Transformadas de Laplace


Con Aplicaciones, Editorial Universidad Politecnica de Valencia, 2006.

[37] B. Kolman, D. Hill, Algebra Lineal, Pearson Educación, México 2006.

[38] A. Fernández, Control de los Sistemas Continuos, Ediciones de la Universidad


de Oviedo, 2007.

You might also like