Upload
behzad-sam
View
1.014
Download
10
Embed Size (px)
DESCRIPTION
Citation preview
Industrial Control
Behzad Samadi
Department of Electrical EngineeringAmirkabir University of Technology
Winter 2010Tehran, Iran
Behzad Samadi (Amirkabir University) Industrial Control 1 / 95
Feedback Control Loop
r : reference signal
y : process (controlled) variable
u: manipulated (control) variable
e: control error
d : load disturbance signal
n: measurement noise signal
F : feedforward filter
C : controller
P: plant
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 2 / 95
On-Off Control
One of the simplest control laws:
u =
{umax if e > 0umin if e < 0
Disadvantage: persistent oscillation of the process variable
P =1
10s + 1e−2s , umax = 2, umin = 0
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 3 / 95
On-Off Control
One of the simplest control laws:
u =
{umax if e > 0umin if e < 0
Disadvantage: persistent oscillation of the process variable
P =1
10s + 1e−2s , umax = 2, umin = 0
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 3 / 95
On-Off Control
One of the simplest control laws:
u =
{umax if e > 0umin if e < 0
Disadvantage: persistent oscillation of the process variable
P =1
10s + 1e−2s , umax = 2, umin = 0
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 3 / 95
On-Off Control
One of the simplest control laws:
u =
{umax if e > 0umin if e < 0
Disadvantage: persistent oscillation of the process variable
P =1
10s + 1e−2s , umax = 2, umin = 0
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 3 / 95
On-Off Control
a) Ideal on-off controller
b) Modified with a dead zone
c) Modified with hysteresys
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 4 / 95
PID Control
1 Proportional action
2 Integral action
3 Derivative action
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 5 / 95
Proportional Action
Proportional control action:
u(t) = Kpe(t) = Kp(r(t)− y(t)),
Kp: proportional gain
Controller transfer function:
C (s) = Kp
Advantage: small control signal for a small error signal
Disadvantage: steady state error
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 6 / 95
Proportional Action
Proportional control action:
u(t) = Kpe(t) = Kp(r(t)− y(t)),
Kp: proportional gain
Controller transfer function:
C (s) = Kp
Advantage: small control signal for a small error signal
Disadvantage: steady state error
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 6 / 95
Proportional Action
Proportional control action:
u(t) = Kpe(t) = Kp(r(t)− y(t)),
Kp: proportional gain
Controller transfer function:
C (s) = Kp
Advantage: small control signal for a small error signal
Disadvantage: steady state error
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 6 / 95
Proportional Action
Proportional control action:
u(t) = Kpe(t) = Kp(r(t)− y(t)),
Kp: proportional gain
Controller transfer function:
C (s) = Kp
Advantage: small control signal for a small error signal
Disadvantage: steady state error
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 6 / 95
Proportional Action
Proportional control action:
u(t) = Kpe(t) = Kp(r(t)− y(t)),
Kp: proportional gain
Controller transfer function:
C (s) = Kp
Advantage: small control signal for a small error signal
Disadvantage: steady state error
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 6 / 95
Proportional Action
Steady state error occurs even if the process presents an integratingdynamics, in case a constant load disturbance occurs.
Adding a bias (or reset) term:
u(t) = Kpe + ub
The value of ub can be fixed or can be adjusted manually until thesteady state error is zero.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 7 / 95
Proportional Action
Steady state error occurs even if the process presents an integratingdynamics, in case a constant load disturbance occurs.
Adding a bias (or reset) term:
u(t) = Kpe + ub
The value of ub can be fixed or can be adjusted manually until thesteady state error is zero.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 7 / 95
Proportional Action
Proportional Band (PB):
PB =100%
Kp
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 8 / 95
Integral Action
Integral control action:
u(t) = Ki
∫ t
0e(�)d�,
Ki : integral gain
Controller transfer function:
C (s) =Ki
s
Advantage: zero steady state error
Disadvantage: integrator windup in the presence of saturation
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 9 / 95
Integral Action
Integral control action:
u(t) = Ki
∫ t
0e(�)d�,
Ki : integral gain
Controller transfer function:
C (s) =Ki
s
Advantage: zero steady state error
Disadvantage: integrator windup in the presence of saturation
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 9 / 95
Integral Action
Integral control action:
u(t) = Ki
∫ t
0e(�)d�,
Ki : integral gain
Controller transfer function:
C (s) =Ki
s
Advantage: zero steady state error
Disadvantage: integrator windup in the presence of saturation
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 9 / 95
Integral Action
Integral control action:
u(t) = Ki
∫ t
0e(�)d�,
Ki : integral gain
Controller transfer function:
C (s) =Ki
s
Advantage: zero steady state error
Disadvantage: integrator windup in the presence of saturation
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 9 / 95
Integral Action
Integral control action:
u(t) = Ki
∫ t
0e(�)d�,
Ki : integral gain
Controller transfer function:
C (s) =Ki
s
Advantage: zero steady state error
Disadvantage: integrator windup in the presence of saturation
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 9 / 95
PI Controller
Proportional Integrator Controller:
Transfer function:
C (s) = Kp(1 +1
Ti s)
Integral action is able to set automatically the value of ub.
The integral action is also called automatic reset.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 10 / 95
PI Controller
Proportional Integrator Controller:
Transfer function:
C (s) = Kp(1 +1
Ti s)
Integral action is able to set automatically the value of ub.
The integral action is also called automatic reset.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 10 / 95
PI Controller
Proportional Integrator Controller:
Transfer function:
C (s) = Kp(1 +1
Ti s)
Integral action is able to set automatically the value of ub.
The integral action is also called automatic reset.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 10 / 95
Derivative Action
Derivative control action:
u(t) = Kdde(t)
dt,
Kd : derivative gain
Controller transfer function:
C (s) = Kds
Advantage: Derivative action is an instance of predictive control.
Disadvantage: Sensitive to the measurement noise in the manipulatedvariable
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 11 / 95
Derivative Action
Derivative control action:
u(t) = Kdde(t)
dt,
Kd : derivative gain
Controller transfer function:
C (s) = Kds
Advantage: Derivative action is an instance of predictive control.
Disadvantage: Sensitive to the measurement noise in the manipulatedvariable
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 11 / 95
Derivative Action
Derivative control action:
u(t) = Kdde(t)
dt,
Kd : derivative gain
Controller transfer function:
C (s) = Kds
Advantage: Derivative action is an instance of predictive control.
Disadvantage: Sensitive to the measurement noise in the manipulatedvariable
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 11 / 95
Derivative Action
Derivative control action:
u(t) = Kdde(t)
dt,
Kd : derivative gain
Controller transfer function:
C (s) = Kds
Advantage: Derivative action is an instance of predictive control.
Disadvantage: Sensitive to the measurement noise in the manipulatedvariable
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 11 / 95
Derivative Action
Derivative control action:
u(t) = Kdde(t)
dt,
Kd : derivative gain
Controller transfer function:
C (s) = Kds
Advantage: Derivative action is an instance of predictive control.
Disadvantage: Sensitive to the measurement noise in the manipulatedvariable
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 11 / 95
Derivative Action
Derivative action is an instance of predictive control.
Taylor series expansion of the control error at time Td ahead:
e(t + Td ) ≈ e(t) + Tdde(t)
dt
A control law proportional to e(t + Td )
u(t) = Kp
(e(t) + Td
de(t)
dt
)Derivative action is also called anticipatory control, or rate action, orpre-act.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 12 / 95
Derivative Action
Derivative action is an instance of predictive control.
Taylor series expansion of the control error at time Td ahead:
e(t + Td ) ≈ e(t) + Tdde(t)
dt
A control law proportional to e(t + Td )
u(t) = Kp
(e(t) + Td
de(t)
dt
)Derivative action is also called anticipatory control, or rate action, orpre-act.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 12 / 95
Derivative Action
Derivative action is an instance of predictive control.
Taylor series expansion of the control error at time Td ahead:
e(t + Td ) ≈ e(t) + Tdde(t)
dt
A control law proportional to e(t + Td )
u(t) = Kp
(e(t) + Td
de(t)
dt
)
Derivative action is also called anticipatory control, or rate action, orpre-act.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 12 / 95
Derivative Action
Derivative action is an instance of predictive control.
Taylor series expansion of the control error at time Td ahead:
e(t + Td ) ≈ e(t) + Tdde(t)
dt
A control law proportional to e(t + Td )
u(t) = Kp
(e(t) + Td
de(t)
dt
)Derivative action is also called anticipatory control, or rate action, orpre-act.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 12 / 95
PID Controller
Transfer function:
C (s) = Kp
(1 +
1
Ti s+ Tds
)Time windows:
Proportional action responds to current error.Integrator action responds to accumulated past error.Derivative action anticipated future error.
Peter Woolf umich.edu
Behzad Samadi (Amirkabir University) Industrial Control 13 / 95
PID Controller
Transfer function:
C (s) = Kp +Ki
s+ Kds
Frequency band:
Proportional action: all-bandIntegrator action: low passDerivative action: high pass
[Li et al., 2006]
Behzad Samadi (Amirkabir University) Industrial Control 14 / 95
PID Controller
Transfer function:
C (s) = Kp +Ki
s+ Kds
[Li et al., 2006]
Behzad Samadi (Amirkabir University) Industrial Control 15 / 95
PID Controller
Implementation methods:
PneumaticHydraulicElectronicDigital
Behzad Samadi (Amirkabir University) Industrial Control 16 / 95
PID Controller
Structures of PID controllers:
Ideal or noninteracting form:
Ci (s) = Kp
(1 +
1
Ti s+ Tds
)
Series or interacting from:
Cs(s) = K′p
(1 +
1
T′i s
)(1 + T
′ds)
Parallel form:
Ci (s) = Kp +Ki
s+ Kds
[Visioli, 2006] and [Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 17 / 95
PID Controller
Structures of PID controllers:
Ideal or noninteracting form:
Ci (s) = Kp
(1 +
1
Ti s+ Tds
)Series or interacting from:
Cs(s) = K′p
(1 +
1
T′i s
)(1 + T
′ds)
Parallel form:
Ci (s) = Kp +Ki
s+ Kds
[Visioli, 2006] and [Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 17 / 95
PID Controller
Structures of PID controllers:
Ideal or noninteracting form:
Ci (s) = Kp
(1 +
1
Ti s+ Tds
)Series or interacting from:
Cs(s) = K′p
(1 +
1
T′i s
)(1 + T
′ds)
Parallel form:
Ci (s) = Kp +Ki
s+ Kds
[Visioli, 2006] and [Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 17 / 95
PID Controller
Structures of PID controllers:
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 18 / 95
PID Controller
Structures of PID controllers:
Series to ideal form conversion:
Kp =K′p
T′i + T
′d
T′i
Ti =T′i + Td
′
Td =T′i T′d
T′i + T
′d
Behzad Samadi (Amirkabir University) Industrial Control 19 / 95
PID Controller
Structures of PID controllers:
Ideal to series form conversion: Only if Ti ≥ 4Td
K′p =
Kp
2
(1 +
√1− 4
Td
Ti
)
T′i =
Ti
2
(1 +
√1− 4
Td
Ti
)
T′d =
Ti
2
(1−
√1− 4
Td
Ti
)[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 20 / 95
PID Controller
Alternative series form:
Cs(s) = Kp(1 +1
�Ti s)(� + Tds)
Ideal to alternative series form conversion: Only if Ti ≥ 4Td
� =1±
√1− 4 Td
Ti
2> 0
[Li et al., 2006]
Behzad Samadi (Amirkabir University) Industrial Control 21 / 95
PID Controller
A PID controller has two zeros and one pole at the origin.
Ti > 4Td : two real zeros
Ti = 4Td : two coincident zeros
Ti < 4Td : two complex conjugate zeros
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 22 / 95
Problems with the Derivative Action
Noise:n(t) = A sin(!t)
Derivative action:u(t) = A! cos(!t)
u(t) is large for high frequencies.
In practice, a (very) noisy control signal might lead to a damage ofthe actuator.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 23 / 95
Problems with the Derivative Action
Noise:n(t) = A sin(!t)
Derivative action:u(t) = A! cos(!t)
u(t) is large for high frequencies.
In practice, a (very) noisy control signal might lead to a damage ofthe actuator.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 23 / 95
Problems with the Derivative Action
Noise:n(t) = A sin(!t)
Derivative action:u(t) = A! cos(!t)
u(t) is large for high frequencies.
In practice, a (very) noisy control signal might lead to a damage ofthe actuator.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 23 / 95
Problems with the Derivative Action
Noise:n(t) = A sin(!t)
Derivative action:u(t) = A! cos(!t)
u(t) is large for high frequencies.
In practice, a (very) noisy control signal might lead to a damage ofthe actuator.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 23 / 95
Modified Derivative Action
Modified ideal form:
Ci1a(s) = Kp
(1 +
1
Ti s+
TdsTdN s + 1
)
Gerry and Shinskey, 2005:
Ci1b(s) = Kp
⎛⎜⎝1 +1
Ti s+
Tds
1 + TdN s + 0.5
(TdN s)2
⎞⎟⎠Modified series form:
Cs(s) = K′p
(1 +
1
T′i s
)⎛⎝T′ds + 1
T′d
N s + 1
⎞⎠N generally assumes a value between 1 and 33, although in themajority of the practical cases its setting falls between 8 and 16 (Anget al., 2005).
[Visioli, 2006]Behzad Samadi (Amirkabir University) Industrial Control 24 / 95
Modified Derivative Action
Modified ideal form:
Ci1a(s) = Kp
(1 +
1
Ti s+
TdsTdN s + 1
)Gerry and Shinskey, 2005:
Ci1b(s) = Kp
⎛⎜⎝1 +1
Ti s+
Tds
1 + TdN s + 0.5
(TdN s)2
⎞⎟⎠
Modified series form:
Cs(s) = K′p
(1 +
1
T′i s
)⎛⎝T′ds + 1
T′d
N s + 1
⎞⎠N generally assumes a value between 1 and 33, although in themajority of the practical cases its setting falls between 8 and 16 (Anget al., 2005).
[Visioli, 2006]Behzad Samadi (Amirkabir University) Industrial Control 24 / 95
Modified Derivative Action
Modified ideal form:
Ci1a(s) = Kp
(1 +
1
Ti s+
TdsTdN s + 1
)Gerry and Shinskey, 2005:
Ci1b(s) = Kp
⎛⎜⎝1 +1
Ti s+
Tds
1 + TdN s + 0.5
(TdN s)2
⎞⎟⎠Modified series form:
Cs(s) = K′p
(1 +
1
T′i s
)⎛⎝T′ds + 1
T′d
N s + 1
⎞⎠
N generally assumes a value between 1 and 33, although in themajority of the practical cases its setting falls between 8 and 16 (Anget al., 2005).
[Visioli, 2006]Behzad Samadi (Amirkabir University) Industrial Control 24 / 95
Modified Derivative Action
Modified ideal form:
Ci1a(s) = Kp
(1 +
1
Ti s+
TdsTdN s + 1
)Gerry and Shinskey, 2005:
Ci1b(s) = Kp
⎛⎜⎝1 +1
Ti s+
Tds
1 + TdN s + 0.5
(TdN s)2
⎞⎟⎠Modified series form:
Cs(s) = K′p
(1 +
1
T′i s
)⎛⎝T′ds + 1
T′d
N s + 1
⎞⎠N generally assumes a value between 1 and 33, although in themajority of the practical cases its setting falls between 8 and 16 (Anget al., 2005).
[Visioli, 2006]Behzad Samadi (Amirkabir University) Industrial Control 24 / 95
Modified Derivative Action
Alternative modified ideal form:
Ci2a(s) = Kp
(1 +
1
Ti s+ Tds
)1
Tf s + 1
Astrom and Hagglund, 2004:
Ci2b(s) = Kp
(1 +
1
Ti s+ Tds
)1
(Tf s + 1)2
Derivative kick: A spike in the control signal due to an abrupt(stepwise) change of the set-point signal.
If the set-point is constant, the derivative action can be applied onlyto the process variable:
u(t) = −Kddy(t)
dt
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 25 / 95
Modified Derivative Action
Alternative modified ideal form:
Ci2a(s) = Kp
(1 +
1
Ti s+ Tds
)1
Tf s + 1
Astrom and Hagglund, 2004:
Ci2b(s) = Kp
(1 +
1
Ti s+ Tds
)1
(Tf s + 1)2
Derivative kick: A spike in the control signal due to an abrupt(stepwise) change of the set-point signal.
If the set-point is constant, the derivative action can be applied onlyto the process variable:
u(t) = −Kddy(t)
dt
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 25 / 95
Modified Derivative Action
Alternative modified ideal form:
Ci2a(s) = Kp
(1 +
1
Ti s+ Tds
)1
Tf s + 1
Astrom and Hagglund, 2004:
Ci2b(s) = Kp
(1 +
1
Ti s+ Tds
)1
(Tf s + 1)2
Derivative kick: A spike in the control signal due to an abrupt(stepwise) change of the set-point signal.
If the set-point is constant, the derivative action can be applied onlyto the process variable:
u(t) = −Kddy(t)
dt
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 25 / 95
Modified Derivative Action
Alternative modified ideal form:
Ci2a(s) = Kp
(1 +
1
Ti s+ Tds
)1
Tf s + 1
Astrom and Hagglund, 2004:
Ci2b(s) = Kp
(1 +
1
Ti s+ Tds
)1
(Tf s + 1)2
Derivative kick: A spike in the control signal due to an abrupt(stepwise) change of the set-point signal.
If the set-point is constant, the derivative action can be applied onlyto the process variable:
u(t) = −Kddy(t)
dt
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 25 / 95
Derivative Action
80% of the employed PID controllers have the derivative partswitched-off (Ang et al., 2005).
Derivative action is the most difficult to tune, why?
Consider a first-order-plus-dead-time (FOPDT) plant:
P(s) =K
Ts + 1e−Ls
and a PD controller:
C (s) = Kp(1 + Tds)
Open loop frequency response:
∣C (j!)P(j!)∣ = KKp
√1 + T 2
d!2
1 + T 2!2
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 26 / 95
Derivative Action
80% of the employed PID controllers have the derivative partswitched-off (Ang et al., 2005).
Derivative action is the most difficult to tune, why?
Consider a first-order-plus-dead-time (FOPDT) plant:
P(s) =K
Ts + 1e−Ls
and a PD controller:
C (s) = Kp(1 + Tds)
Open loop frequency response:
∣C (j!)P(j!)∣ = KKp
√1 + T 2
d!2
1 + T 2!2
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 26 / 95
Derivative Action
80% of the employed PID controllers have the derivative partswitched-off (Ang et al., 2005).
Derivative action is the most difficult to tune, why?
Consider a first-order-plus-dead-time (FOPDT) plant:
P(s) =K
Ts + 1e−Ls
and a PD controller:
C (s) = Kp(1 + Tds)
Open loop frequency response:
∣C (j!)P(j!)∣ = KKp
√1 + T 2
d!2
1 + T 2!2
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 26 / 95
Derivative Action
80% of the employed PID controllers have the derivative partswitched-off (Ang et al., 2005).
Derivative action is the most difficult to tune, why?
Consider a first-order-plus-dead-time (FOPDT) plant:
P(s) =K
Ts + 1e−Ls
and a PD controller:
C (s) = Kp(1 + Tds)
Open loop frequency response:
∣C (j!)P(j!)∣ = KKp
√1 + T 2
d!2
1 + T 2!2
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 26 / 95
Derivative Action
Open loop frequency response:
KKp
√1 + T 2
d!2
1 + T 2!2≥ KKp min
(1,
Td
T
)
Td ≥ T ⇒ min(
1, TdT
)= 1
If Td ≥ T and KKp > 1, then
∣C (j!)P(j!)∣ ≥ 1
Td ≤ T ⇒ min(
1, TdT
)= Td
T
If Td ≤ T and KKpTdT > 1, then
∣C (j!)P(j!)∣ ≥ 1
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 27 / 95
Derivative Action
Open loop frequency response:
KKp
√1 + T 2
d!2
1 + T 2!2≥ KKp min
(1,
Td
T
)Td ≥ T ⇒ min
(1, Td
T
)= 1
If Td ≥ T and KKp > 1, then
∣C (j!)P(j!)∣ ≥ 1
Td ≤ T ⇒ min(
1, TdT
)= Td
T
If Td ≤ T and KKpTdT > 1, then
∣C (j!)P(j!)∣ ≥ 1
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 27 / 95
Derivative Action
Open loop frequency response:
KKp
√1 + T 2
d!2
1 + T 2!2≥ KKp min
(1,
Td
T
)Td ≥ T ⇒ min
(1, Td
T
)= 1
If Td ≥ T and KKp > 1, then
∣C (j!)P(j!)∣ ≥ 1
Td ≤ T ⇒ min(
1, TdT
)= Td
T
If Td ≤ T and KKpTdT > 1, then
∣C (j!)P(j!)∣ ≥ 1
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 27 / 95
Derivative Action
Open loop frequency response:
KKp
√1 + T 2
d!2
1 + T 2!2≥ KKp min
(1,
Td
T
)Td ≥ T ⇒ min
(1, Td
T
)= 1
If Td ≥ T and KKp > 1, then
∣C (j!)P(j!)∣ ≥ 1
Td ≤ T ⇒ min(
1, TdT
)= Td
T
If Td ≤ T and KKpTdT > 1, then
∣C (j!)P(j!)∣ ≥ 1
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 27 / 95
Derivative Action
Open loop frequency response:
KKp
√1 + T 2
d!2
1 + T 2!2≥ KKp min
(1,
Td
T
)Td ≥ T ⇒ min
(1, Td
T
)= 1
If Td ≥ T and KKp > 1, then
∣C (j!)P(j!)∣ ≥ 1
Td ≤ T ⇒ min(
1, TdT
)= Td
T
If Td ≤ T and KKpTdT > 1, then
∣C (j!)P(j!)∣ ≥ 1
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 27 / 95
Frequency Response
The magnitude of the open-looptransfer function is not less than0 dB. As a consequence, sincethe phase decreases when thefrequency increases because ofthe time delay, the closed-loopsystem will be unstable.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 28 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Derivative Action
Consider the following process:
P(s) =2
s + 1e−0.2s
controlled by a PID controller in series form with Kp = 1 and Ti = 1.
If Td = 0.01, GM=12.3dB, PM=68.2 deg.
If Td = 0.05, GM=13.2dB, PM=72.7 deg.
If Td = 0.5, the system stability is lost!
In summary:
Sensitive to noise
Hard to tune (4 parameters)
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 29 / 95
Integral Windup
Solid:process output,Dashed:process input,Dotted:integral term
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 30 / 95
Integral Windup
Solid:process output,Dashed:process input,Dotted:integral term
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 30 / 95
Conditional Integration
The integral term is limited to a predefined value.
The integration is stopped when the error is greater than a predefinedthreshold, namely, when the process variable value is far from thesetpoint value.
The integration is stopped when the control variable saturates, i.e.,when u
′ ∕= u.
The integration is stopped when the control variable saturates andthe control error and the control variable have the same sign (i.e.,when ue > 0).
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 31 / 95
Conditional Integration
The integral term is limited to a predefined value.
The integration is stopped when the error is greater than a predefinedthreshold, namely, when the process variable value is far from thesetpoint value.
The integration is stopped when the control variable saturates, i.e.,when u
′ ∕= u.
The integration is stopped when the control variable saturates andthe control error and the control variable have the same sign (i.e.,when ue > 0).
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 31 / 95
Conditional Integration
The integral term is limited to a predefined value.
The integration is stopped when the error is greater than a predefinedthreshold, namely, when the process variable value is far from thesetpoint value.
The integration is stopped when the control variable saturates, i.e.,when u
′ ∕= u.
The integration is stopped when the control variable saturates andthe control error and the control variable have the same sign (i.e.,when ue > 0).
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 31 / 95
Conditional Integration
The integral term is limited to a predefined value.
The integration is stopped when the error is greater than a predefinedthreshold, namely, when the process variable value is far from thesetpoint value.
The integration is stopped when the control variable saturates, i.e.,when u
′ ∕= u.
The integration is stopped when the control variable saturates andthe control error and the control variable have the same sign (i.e.,when ue > 0).
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 31 / 95
Anti-windup for Automatic Reset Configuration
Automatic reset:
Limiting the controller output:
Limiting the integrator output:
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 32 / 95
Anti-windup for Automatic Reset Configuration
Automatic reset:
Limiting the controller output:
Limiting the integrator output:
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 32 / 95
Anti-windup for Automatic Reset Configuration
Automatic reset:
Limiting the controller output:
Limiting the integrator output:
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 32 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Tuning rule for Tt (Astrom and Hagglund 1995):
Tt =√
TdTi
Not useful for a PI controller
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 33 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Tuning rule for Tt (Astrom and Hagglund 1995):
Tt =√TdTi
Not useful for a PI controller
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 33 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Tuning rule for Tt (Astrom and Hagglund 1995):
Tt =√TdTi
Not useful for a PI controller
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 33 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Tuning rule for Tt (Astrom and Hagglund 1995):
Tt =√TdTi
Not useful for a PI controller
[Visioli, 2006]Behzad Samadi (Amirkabir University) Industrial Control 33 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Bohn and Atherton, 1995 suggest Tt = Ti .
Conditioning technique (Hanus et al., 1987;Walgama et al., 1991):This is a tracking rule (u tracks u
′). In this framework:
Tt = Kp
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 34 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Bohn and Atherton, 1995 suggest Tt = Ti .
Conditioning technique (Hanus et al., 1987;Walgama et al., 1991):This is a tracking rule (u tracks u
′). In this framework:
Tt = Kp
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 34 / 95
Back-calculation
Integrator input:
ei =Kp
Tie +
1
Tt(u′ − u)
Bohn and Atherton, 1995 suggest Tt = Ti .
Conditioning technique (Hanus et al., 1987;Walgama et al., 1991):This is a tracking rule (u tracks u
′). In this framework:
Tt = Kp
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 34 / 95
PID with Tracking Input
SP: Setpoint, MV: Manipulated Variable, TR: Tracking Input[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 35 / 95
Bumpless Transfer
Bumpless Transfer between Manual (M) and Automatic (A)
A is to track M in this case.
[Visioli, 2006]
Behzad Samadi (Amirkabir University) Industrial Control 36 / 95
Bumpless Transfer
Bumpless Transfer between Manual (M) and Automatic (A)
Incremental manual input
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 37 / 95
Bumpless Transfer
Bumpless Transfer between Manual (M) and Automatic (A)
Incremental manual input
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 37 / 95
Bumpless Transfer
Manual Control Module:
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 38 / 95
Bumpless Transfer
PID with Manual Switch:
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 39 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).
30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.
30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).
20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
In process industries, more than 97% of the regulatory controllers areof the PID type.
Most loops are actually under PI control (as a result of the largenumber of flow loops).
Pulp and paper industry over 2000 loops:
Only 20% of loops worked well (i.e. less variability in the automaticmode over the manual mode).30% gave poor performance due to poor controller tuning.30% gave poor performance due to control valve problems (e.g. controlvalve stick-slip, dead band, backlash).20% gave poor performance due to process and/or control systemdesign problems.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 40 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.
20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.
30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).
Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.
32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.
36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.
PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Process industries:
30% of loops operated on manual mode.20% of controllers used factory tuning.30% gave poor performance due to sensor and control valve problems.
Chemical process industry:
Half of the control valves needed to be fixed (results of the Fisher diagnosticvalve package).Most poor tuning was due to control valve problems.
Refining, chemicals, and pulp and paper industries over 26,000 controllers:
Only 32% of loops were classified as excellent or acceptable.32% of controllers were classified as fair or poor, which indicatesunacceptably sluggish or oscillatory responses.36% of controllers were on open- loop, which implies that the controllerswere either in manual or virtually saturated.PID algorithms are used in vast majority of applications (97%). For the rarecases of complex dynamics or significant dead time, other algorithms areused.
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 41 / 95
PID Controller Design
Ziegler-Nichols PID Tuning Method:
Ziegler-Nichols closed-loop tuning method
Ziegler-Nichols open-loop tuning method
Ziegler, Nichols, “Optimum settings for automatic controllers”, Trans.ASME, 64, pp. 759-768, 1942[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 42 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:1 Remove integral and derivative action.
2 Create a small disturbance in the loop by changing the set point.Adjust the proportional, increasing and/or decreasing, the gain untilthe oscillations have constant amplitude.
3 Record the gain value (Ku) and period of oscillation (Pu).
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 43 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:1 Remove integral and derivative action.2 Create a small disturbance in the loop by changing the set point.
Adjust the proportional, increasing and/or decreasing, the gain untilthe oscillations have constant amplitude.
3 Record the gain value (Ku) and period of oscillation (Pu).
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 43 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:1 Remove integral and derivative action.2 Create a small disturbance in the loop by changing the set point.
Adjust the proportional, increasing and/or decreasing, the gain untilthe oscillations have constant amplitude.
3 Record the gain value (Ku) and period of oscillation (Pu).
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 43 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:1 Remove integral and derivative action.2 Create a small disturbance in the loop by changing the set point.
Adjust the proportional, increasing and/or decreasing, the gain untilthe oscillations have constant amplitude.
3 Record the gain value (Ku) and period of oscillation (Pu).
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 43 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:1 Remove integral and derivative action.2 Create a small disturbance in the loop by changing the set point.
Adjust the proportional, increasing and/or decreasing, the gain untilthe oscillations have constant amplitude.
3 Record the gain value (Ku) and period of oscillation (Pu).
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 43 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
[Love, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 44 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method (ultimate cycle method):
C (s) = Kp(1 +1
Ti s+ Tds)
Kp Ti Td
P Controller Ku/2 - -
PI Controller Ku/2.2 Pu/1.2 -
PID Controller Ku/1.7 Pu/2 Pu/8
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 45 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controller
Includes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consuming
Can venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of control
It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning method:
Advantages:
Easy experiment; only need to change the P controllerIncludes dynamics of whole process, which gives a more accuratepicture of how the system is behaving
Disadvantages:
Experiment can be time consumingCan venture into unstable regions while testing the P controller, whichcould cause the system to become out of controlIt does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 46 / 95
PID Controller Design
Process Reaction Curve:
P: the size of the step disturbance in the setpoint
L: the time taken from the moment the disturbance was introducedto the first sign of change in the output signal
ΔCp: the change in output signal in response to the initial stepdisturbance
T : the time taken for this change to occur
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 47 / 95
PID Controller Design
Process Reaction Curve:
N =ΔCp
T : reaction rate
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 48 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method (process reaction method):
C (s) = Kp(1 +1
Ti s+ Tds)
Kp Ti Td
P Controller K - -
PI Controller 0.9K L/0.3 -
PID Controller 1.2K 2L 0.5L
K =P
NL[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 49 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methods
It is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular method
Of these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.
Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.
It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Ziegler-Nichols open-loop tuning method:
Advantages:
Quick and easier to use than other methodsIt is a robust and popular methodOf these two techniques, the Process Reaction Method is the easiestand least disruptive to implement
Disadvantages:
It depends upon purely proportional measurement to estimate I and Dcontrollers.Approximations for the Kc , Ti , and Td values might not be entirelyaccurate for different systems.It does not hold for I , D and PD controllers.
[Woolf, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 50 / 95
PID Controller Design
Summary:
Ziegler-Nichols closed-loop tuning method: Gain margin of 2
Ziegler-Nichols open-loop tuning method: Decay ratio of 0.25
Behzad Samadi (Amirkabir University) Industrial Control 51 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning methods:
G (s) =Ke−Ds
�s + 1
[Yu, 2007]
Behzad Samadi (Amirkabir University) Industrial Control 52 / 95
PID Controller Design
Ziegler-Nichols closed-loop tuning methods:
G (s) =Ke−td s
�s + 1
Quarter decay ration for 0 < td� < 1 [O’Dwyer, 2002]
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 53 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dt
Integrated Error for non-oscillatory processes: IE =∫∞
0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dt
Integrated Time Error: ITE =∫∞
0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
Quantities to characterize the error:
Maximum error: max e(t)
Integrated Absolute Error: IAE =∫∞
0 ∣e(t)∣dtIntegrated Error for non-oscillatory processes: IE =
∫∞0 e(t)dt
Integrated Squared Error: ISE =∫∞
0 e2(t)dt
Integrated Time Absolute Error: ITAE =∫∞
0 t∣e(t)∣dtIntegrated Time Error: ITE =
∫∞0 te(t)dt
Integrated Time Squared Error: ITSE =∫∞
0 te2(t)dt
Integrated Squared Time Error: ISTE =∫∞
0 t2e2(t)dt
[Astrom and Hagglund, 1995]
Behzad Samadi (Amirkabir University) Industrial Control 54 / 95
PID Controller Design
ITAE optimization:
G (s) =Ke−td s
�s + 1
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 55 / 95
PID Controller Design
Ciancone and Marlin Tuning:
G (s) =Ke−td s
�s + 1
Fractional dead time: Tf = tdtd +�
Using Tf , compute �CM and �CM :
Tf 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
�CM 1.1 1.1 1.8 1.1 1.0 0.8 0.59 0.42 0.32
�CM 0.23 0.23 0.23 0.72 0.72 0.70 0.67 0.60 0.53
Compute the controller gains:
Kp =�CM
K, Ti = �CM(td + �)
Minimizing IAE or ISE [Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 56 / 95
PID Controller Design
Ciancone and Marlin PI Tuning:
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 57 / 95
PID Controller Design
Ciancone and Marlin PID Tuning:
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 58 / 95
PID Controller Design
Direct Synthesis:
We have:C
R=
GcGp
1 + GcGp
Therefore:
Gc =1
Gp
C/R
1− C/R
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 59 / 95
PID Controller Design
Direct Synthesis:
C
R=
1
�cs + 1⇒ Gc =
1
Gp
(1
�cs
)
Example:
Gp =Kp
�ps + 1⇒ Gc =
�p
Kp�c
(1 +
1
�ps
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 60 / 95
PID Controller Design
Direct Synthesis:
C
R=
1
�cs + 1⇒ Gc =
1
Gp
(1
�cs
)Example:
Gp =Kp
�ps + 1⇒ Gc =
�p
Kp�c
(1 +
1
�ps
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 60 / 95
PID Controller Design
Direct Synthesis:
For delayed systems:
C
R=
e−�s
�cs + 1⇒ Gc =
1
Gp
(e−�s
(�cs + 1)− e−�s
)
Considering e−�s ≈ 1− �s:
Gc ≈1
Gp
(e−�s
(�c + �)s
)
Example:
Gp =Kpe
−td s
�ps + 1⇒ Gc =
�p
Kp(�c + �)
(1 +
1
�ps
)for � = td
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 61 / 95
PID Controller Design
Direct Synthesis:
For delayed systems:
C
R=
e−�s
�cs + 1⇒ Gc =
1
Gp
(e−�s
(�cs + 1)− e−�s
)Considering e−�s ≈ 1− �s:
Gc ≈1
Gp
(e−�s
(�c + �)s
)
Example:
Gp =Kpe
−td s
�ps + 1⇒ Gc =
�p
Kp(�c + �)
(1 +
1
�ps
)for � = td
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 61 / 95
PID Controller Design
Direct Synthesis:
For delayed systems:
C
R=
e−�s
�cs + 1⇒ Gc =
1
Gp
(e−�s
(�cs + 1)− e−�s
)Considering e−�s ≈ 1− �s:
Gc ≈1
Gp
(e−�s
(�c + �)s
)
Example:
Gp =Kpe
−td s
�ps + 1⇒ Gc =
�p
Kp(�c + �)
(1 +
1
�ps
)for � = td
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 61 / 95
PID Controller Design
Direct Synthesis:
For delayed systems:
C
R=
e−�s
�cs + 1⇒ Gc =
1
Gp
(e−�s
(�cs + 1)− e−�s
)Considering e−�s ≈ 1− �s:
Gc ≈1
Gp
(e−�s
(�c + �)s
)
Example:
Gp =Kpe
−td s
�ps + 1⇒ Gc =
�p
Kp(�c + �)
(1 +
1
�ps
)for � = td
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 61 / 95
PID Controller Design
Direct Synthesis:
Second order underdamped desired response:
C
R=
1
�2s2 + 2��s + 1⇒ Gc =
1
Gp
(1
�2s2 + 2��s
)
Example:
Gp =Kp
(�1s + 1)(�2s + 1)⇒ Gc =
(�1s + 1)(�2s + 1)
Kp�s(�s + 2�)
Assuming �2 > �1 and � = 2��2
Gc =�1
4Kp�2�2
(1 +
1
�1s
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 62 / 95
PID Controller Design
Direct Synthesis:
Second order underdamped desired response:
C
R=
1
�2s2 + 2��s + 1⇒ Gc =
1
Gp
(1
�2s2 + 2��s
)
Example:
Gp =Kp
(�1s + 1)(�2s + 1)⇒ Gc =
(�1s + 1)(�2s + 1)
Kp�s(�s + 2�)
Assuming �2 > �1 and � = 2��2
Gc =�1
4Kp�2�2
(1 +
1
�1s
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 62 / 95
PID Controller Design
Direct Synthesis:
Second order underdamped desired response:
C
R=
1
�2s2 + 2��s + 1⇒ Gc =
1
Gp
(1
�2s2 + 2��s
)
Example:
Gp =Kp
(�1s + 1)(�2s + 1)⇒ Gc =
(�1s + 1)(�2s + 1)
Kp�s(�s + 2�)
Assuming �2 > �1 and � = 2��2
Gc =�1
4Kp�2�2
(1 +
1
�1s
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 62 / 95
PID Controller Design
Direct Synthesis:
Second order underdamped desired response:
C
R=
1
�2s2 + 2��s + 1⇒ Gc =
1
Gp
(1
�2s2 + 2��s
)
Example:
Gp =Kp
(�1s + 1)(�2s + 1)⇒ Gc =
(�1s + 1)(�2s + 1)
Kp�s(�s + 2�)
Assuming �2 > �1 and � = 2��2
Gc =�1
4Kp�2�2
(1 +
1
�1s
)[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 62 / 95
PID Controller Design
Internal Model Control: Assume that we have an approximate model Gp ofthe process Gp
Open loop:
Gc = G−1p
Closed loop:
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 63 / 95
PID Controller Design
Internal Model Control: Assume that we have an approximate model Gp ofthe process Gp
Open loop:
Gc = G−1p
Closed loop:
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 63 / 95
PID Controller Design
Internal Model Control:
P = G ★c (R − C + C )
= G ★c (R − C + GpP)
Therefore:
P =G ★
c
1− G ★c Gp
(R−C )
P = Gc (R − C )
Therefore:
Gc = G★c1−G★c Gp
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 64 / 95
PID Controller Design
Internal Model Control:
P = G ★c (R − C + C )
= G ★c (R − C + GpP)
Therefore:
P =G ★
c
1− G ★c Gp
(R−C )
P = Gc (R − C )
Therefore:
Gc = G★c1−G★c Gp
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 64 / 95
PID Controller Design
Internal Model Control:
P = G ★c (R − C + C )
= G ★c (R − C + GpP)
Therefore:
P =G ★
c
1− G ★c Gp
(R−C )
P = Gc (R − C )
Therefore:
Gc = G★c1−G★c Gp
[Chau, 2002]Behzad Samadi (Amirkabir University) Industrial Control 64 / 95
PID Controller Design
Internal Model Control:
Closed loop transfer function:
C =
[(1− G ★
c Gp)GL
1 + G ★c (Gp − Gp)
]L +
[GpG
★c
1 + G ★c (Gp − Gp)
]R
How to choose G ★c :
Gp = Gp+Gp−
Gp+ contains all positive zeros if any.
The design is based on Gp− only:
G ★c =
1
Gp−
[1
�cs + 1
]r
r = 1, 2
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 65 / 95
PID Controller Design
Internal Model Control:
Closed loop transfer function:
C =
[(1− G ★
c Gp)GL
1 + G ★c (Gp − Gp)
]L +
[GpG
★c
1 + G ★c (Gp − Gp)
]R
How to choose G ★c :
Gp = Gp+Gp−
Gp+ contains all positive zeros if any.
The design is based on Gp− only:
G ★c =
1
Gp−
[1
�cs + 1
]r
r = 1, 2
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 65 / 95
PID Controller Design
Internal Model Control:
Closed loop transfer function:
C =
[(1− G ★
c Gp)GL
1 + G ★c (Gp − Gp)
]L +
[GpG
★c
1 + G ★c (Gp − Gp)
]R
How to choose G ★c :
Gp = Gp+Gp−
Gp+ contains all positive zeros if any.
The design is based on Gp− only:
G ★c =
1
Gp−
[1
�cs + 1
]r
r = 1, 2
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 65 / 95
PID Controller Design
Pade Approximation of Delays:
e−td s ≈ Nd (s)Dd (s)
Gd1/0(s) = 1− tds
Gd0/1(s) = 11+td s
Gd1/1(s) =− td
2s+1
td2
s+1
Gd2/2(s) =t2d
12s2− td
2s+1
t2d
12s2+
td2
s+1
http://mathworld.wolfram.com/PadeApproximant.html
Behzad Samadi (Amirkabir University) Industrial Control 66 / 95
PID Controller Design
Pade Approximation of Delays:
e−td s ≈ Nd (s)Dd (s)
Gd1/0(s) = 1− tds
Gd0/1(s) = 11+td s
Gd1/1(s) =− td
2s+1
td2
s+1
Gd2/2(s) =t2d
12s2− td
2s+1
t2d
12s2+
td2
s+1
http://mathworld.wolfram.com/PadeApproximant.html
Behzad Samadi (Amirkabir University) Industrial Control 66 / 95
PID Controller Design
Pade Approximation of Delays:
e−td s ≈ Nd (s)Dd (s)
Gd1/0(s) = 1− tds
Gd0/1(s) = 11+td s
Gd1/1(s) =− td
2s+1
td2
s+1
Gd2/2(s) =t2d
12s2− td
2s+1
t2d
12s2+
td2
s+1
http://mathworld.wolfram.com/PadeApproximant.html
Behzad Samadi (Amirkabir University) Industrial Control 66 / 95
PID Controller Design
Pade Approximation of Delays:
e−td s ≈ Nd (s)Dd (s)
Gd1/0(s) = 1− tds
Gd0/1(s) = 11+td s
Gd1/1(s) =− td
2s+1
td2
s+1
Gd2/2(s) =t2d
12s2− td
2s+1
t2d
12s2+
td2
s+1
http://mathworld.wolfram.com/PadeApproximant.html
Behzad Samadi (Amirkabir University) Industrial Control 66 / 95
PID Controller Design
Pade Approximation of Delays:
e−td s ≈ Nd (s)Dd (s)
Gd1/0(s) = 1− tds
Gd0/1(s) = 11+td s
Gd1/1(s) =− td
2s+1
td2
s+1
Gd2/2(s) =t2d
12s2− td
2s+1
t2d
12s2+
td2
s+1
http://mathworld.wolfram.com/PadeApproximant.html
Behzad Samadi (Amirkabir University) Industrial Control 66 / 95
PID Controller Design
Internal Model Control:
Example: Gp =Kpe−td s
�ps+1
Gp ≈Kp
(�ps + 1)( td2 s + 1)
(− td
2s + 1
)
Gp− =Kp
(�ps + 1)( td2 s + 1)
Gp+ = − td
2s + 1
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 67 / 95
PID Controller Design
Internal Model Control:
Example: Gp =Kpe−td s
�ps+1
Gp ≈Kp
(�ps + 1)( td2 s + 1)
(− td
2s + 1
)
Gp− =Kp
(�ps + 1)( td2 s + 1)
Gp+ = − td
2s + 1
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 67 / 95
PID Controller Design
Internal Model Control:
Example:
G ★c = G−1
p−1
�cs + 1=
(�ps + 1)( td2 s + 1)
Kp
1
�cs + 1
Gc =G ★
c
1− G ★c Gp
= Kp(1 +1
Ti s+ Tds)
where:
Kc =1
Kp
2�p
td+ 1
2 �ctd
+ 1; Ti = �p +
td
2; Td =
�p
2�p
td+ 1
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 68 / 95
PID Controller Design
Internal Model Control:
Example:
G ★c = G−1
p−1
�cs + 1=
(�ps + 1)( td2 s + 1)
Kp
1
�cs + 1
Gc =G ★
c
1− G ★c Gp
= Kp(1 +1
Ti s+ Tds)
where:
Kc =1
Kp
2�p
td+ 1
2 �ctd
+ 1; Ti = �p +
td
2; Td =
�p
2�p
td+ 1
[Chau, 2002]
Behzad Samadi (Amirkabir University) Industrial Control 68 / 95
PID Controller Design
[Chau, 2002]Behzad Samadi (Amirkabir University) Industrial Control 69 / 95
PID Controller Design
Skogestad PID Tuning Method:
S. Skogestad, “Probably the best simple PID tuning rules in theworld” Presented at AIChE Annual meeting, Reno, NV, USA, 04-09Nov. 2001, Paper no. 276h
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 70 / 95
PID Controller Design
Skogestad PID Tuning Method:
g(s) = ke−�s
(�1s + 1)(�2s + 1)
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 71 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):(y
ys
)desired
=1
�cs + 1e−�t
c(s) =(�1s + 1)(�2s + 1)
k
1
(�c + �)s
c(s) = Kc(1 +1
�I s)(�Ds + 1)
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1. �D = �2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 72 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):(y
ys
)desired
=1
�cs + 1e−�t
c(s) =(�1s + 1)(�2s + 1)
k
1
(�c + �)s
c(s) = Kc(1 +1
�I s)(�Ds + 1)
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1. �D = �2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 72 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):(y
ys
)desired
=1
�cs + 1e−�t
c(s) =(�1s + 1)(�2s + 1)
k
1
(�c + �)s
c(s) = Kc(1 +1
�I s)(�Ds + 1)
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1. �D = �2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 72 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):(y
ys
)desired
=1
�cs + 1e−�t
c(s) =(�1s + 1)(�2s + 1)
k
1
(�c + �)s
c(s) = Kc(1 +1
�I s)(�Ds + 1)
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1. �D = �2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 72 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1, �D = �2
Effective cancellation of the first order dynamics by �I = �1
For processes with large �1, this choice results in a long settling timefor disturbance response.
Consider: g(s) = k e−�s
�1s+1 ≈k�1s for large �1. With a PI controller
c(s) = Kc(1 + 1�I s ), the poles of the closed loop system can be
obtained from the following equation:
�I
k ′Kcs2 + �I s + 1 = 0
with k′
= k�1
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 73 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1, �D = �2
Effective cancellation of the first order dynamics by �I = �1
For processes with large �1, this choice results in a long settling timefor disturbance response.
Consider: g(s) = k e−�s
�1s+1 ≈k�1s for large �1. With a PI controller
c(s) = Kc(1 + 1�I s ), the poles of the closed loop system can be
obtained from the following equation:
�I
k ′Kcs2 + �I s + 1 = 0
with k′
= k�1
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 73 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Tuning Rule
Kc =1
k
�1
�c + �, �I = �1, �D = �2
Effective cancellation of the first order dynamics by �I = �1
For processes with large �1, this choice results in a long settling timefor disturbance response.
Consider: g(s) = k e−�s
�1s+1 ≈k�1s for large �1. With a PI controller
c(s) = Kc(1 + 1�I s ), the poles of the closed loop system can be
obtained from the following equation:
�I
k ′Kcs2 + �I s + 1 = 0
with k′
= k�1
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 73 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Comparing to s2 + 2�!0s + !2:
!0 =
√k ′Kc
�I, � =
1
2
√k ′Kc�I
To avoid slow oscillations, consider: � ≥ 1
�I ≥4
k ′Kc
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 74 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Comparing to s2 + 2�!0s + !2:
!0 =
√k ′Kc
�I, � =
1
2
√k ′Kc�I
To avoid slow oscillations, consider: � ≥ 1
�I ≥4
k ′Kc
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 74 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Comparing to s2 + 2�!0s + !2:
!0 =
√k ′Kc
�I, � =
1
2
√k ′Kc�I
To avoid slow oscillations, consider: � ≥ 1
�I ≥4
k ′Kc
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 74 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Disturbance rejection: Assuming input disturbance (gd (s) = g(s))
∣y(j!)∣ =∣g(j!)∣
∣1 + g(j!)c(j!)∣d ≤ ymax
Assuming ∣gc ∣ >> 1 at low frequencies:
∣c(j!)∣ > d
ymax
For P, PI and PID: c(j!) ≥ Kc
Kc ≥d
ymax
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 75 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Disturbance rejection: Assuming input disturbance (gd (s) = g(s))
∣y(j!)∣ =∣g(j!)∣
∣1 + g(j!)c(j!)∣d ≤ ymax
Assuming ∣gc ∣ >> 1 at low frequencies:
∣c(j!)∣ > d
ymax
For P, PI and PID: c(j!) ≥ Kc
Kc ≥d
ymax
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 75 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Disturbance rejection: Assuming input disturbance (gd (s) = g(s))
∣y(j!)∣ =∣g(j!)∣
∣1 + g(j!)c(j!)∣d ≤ ymax
Assuming ∣gc ∣ >> 1 at low frequencies:
∣c(j!)∣ > d
ymax
For P, PI and PID: c(j!) ≥ Kc
Kc ≥d
ymax
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 75 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Disturbance rejection: Assuming input disturbance (gd (s) = g(s))
∣y(j!)∣ =∣g(j!)∣
∣1 + g(j!)c(j!)∣d ≤ ymax
Assuming ∣gc ∣ >> 1 at low frequencies:
∣c(j!)∣ > d
ymax
For P, PI and PID: c(j!) ≥ Kc
Kc ≥d
ymax
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 75 / 95
PID Controller Design
Skogestad Internal Model Control (SIMC):
Skogestad Internal Model Control (SIMC)
Kc =1
k
�1
�c + �=
1
k ′1
�c + �
�I = min{�1,4
k ′Kc} = min{�1, 4(�c + �)}
�D = �2
Tuning for fast response with good robustness
�c = �
Tuning for slow response with acceptable disturbance rejection
Kc ≥d
ymax
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 76 / 95
PID Controller Design
Rules of thumb:
[McMillan, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 77 / 95
Digital Control
Ts : sampling time
Analog to Digital (A-D) conversion:
y(tk) = y(kTs)
Digital to Analog (D-A) conversion:
u(t) = u(tk) for kTs ≤ t < (k + 1)Ts
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 78 / 95
Digital Control
Ts : sampling timeAnalog to Digital (A-D) conversion:
y(tk ) = y(kTs)
Digital to Analog (D-A) conversion:
u(t) = u(tk) for kTs ≤ t < (k + 1)Ts
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 78 / 95
Digital Control
Ts : sampling timeAnalog to Digital (A-D) conversion:
y(tk ) = y(kTs)
Digital to Analog (D-A) conversion:
u(t) = u(tk ) for kTs ≤ t < (k + 1)Ts
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 78 / 95
Digital Control
Difference equation:
x((k + 1)Ts) = ax(kTs) + bu(kTs)
Discrete time:x [k + 1] = ax [k] + bu[k]
Z -transform:
zX (z) = aX (z) + bU(z)⇒ X (z)
U(z)=
b
z − a
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 79 / 95
Digital Control
Difference equation:
x((k + 1)Ts) = ax(kTs) + bu(kTs)
Discrete time:x [k + 1] = ax [k] + bu[k]
Z -transform:
zX (z) = aX (z) + bU(z)⇒ X (z)
U(z)=
b
z − a
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 79 / 95
Digital Control
Difference equation:
x((k + 1)Ts) = ax(kTs) + bu(kTs)
Discrete time:x [k + 1] = ax [k] + bu[k]
Z -transform:
zX (z) = aX (z) + bU(z)⇒ X (z)
U(z)=
b
z − a
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 79 / 95
Digital Control
Approximating Continuous-Time Controllers:
Euler’s method (forward difference):
z = eTs s ≈ 1 + Tss ⇒ s ≈ z − 1
Ts
x(t) ≈ x(t + Ts)− x(t)
Ts
Backward difference:
z = eTs s ≈ 1
1− Tss⇒ s ≈ 1− z−1
Ts
x(t) ≈ x(t)− x(t − Ts)
Ts
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 80 / 95
Digital Control
Approximating Continuous-Time Controllers:
Euler’s method (forward difference):
z = eTs s ≈ 1 + Tss ⇒ s ≈ z − 1
Ts
x(t) ≈ x(t + Ts)− x(t)
Ts
Backward difference:
z = eTs s ≈ 1
1− Tss⇒ s ≈ 1− z−1
Ts
x(t) ≈ x(t)− x(t − Ts)
Ts
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 80 / 95
Digital Control
Approximating Continuous-Time Controllers:
Tustin’s approximation:
z = eTs s ≈ 1 + sTs/2
1− sTs/2⇒ s ≈ 2
Ts
z − 1
z + 1
It is also called trapezoidal method or bilinear transformation.
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 81 / 95
Digital Control
Approximating Continuous-Time Controllers:
Stability: Images of the left side of the s-plane[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 82 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Approximating Continuous-Time Controllers:
Re(s) < 0Forward−−−−−−→
DifferenceRe(z) < 1
Stable system in s domainForward−−−−−−→
DifferenceStable or unstable system in z
domain
Re(s) < 0Backward−−−−−−→Difference
(Re(z)− 12 )2 + Im(z)2 < 1
4
Stable or unstable system in s domainBackward−−−−−−→Difference
Stable system in z
domain
Re(s) < 0Tustin−−−−−−−−→
Approximation∣z ∣ < 1
Stable system in s domainTustin−−−−−−−−→
ApproximationStable system in z domain
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 83 / 95
Digital Control
Digital PID:
Proportional: P(t) = Kpe(t)
P[k] = Kpe[k]
Integral: I (t) =Kp
Ti
∫ t0 e(�)d�
I [k + 1] = I [k] +KTs
Tie[k]
Derivative: TdN
dDdt + D = −KpTd
dydt
D[k] =Td
Td + NTsD[k − 1]− KpTdN
Td + NTs(y [k]− y [k − 1])
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 84 / 95
Digital Control
Digital PID:
Proportional: P(t) = Kpe(t)
P[k] = Kpe[k]
Integral: I (t) =Kp
Ti
∫ t0 e(�)d�
I [k + 1] = I [k] +KTs
Tie[k]
Derivative: TdN
dDdt + D = −KpTd
dydt
D[k] =Td
Td + NTsD[k − 1]− KpTdN
Td + NTs(y [k]− y [k − 1])
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 84 / 95
Digital Control
Digital PID:
Proportional: P(t) = Kpe(t)
P[k] = Kpe[k]
Integral: I (t) =Kp
Ti
∫ t0 e(�)d�
I [k + 1] = I [k] +KTs
Tie[k]
Derivative: TdN
dDdt + D = −KpTd
dydt
D[k] =Td
Td + NTsD[k − 1]− KpTdN
Td + NTs(y [k]− y [k − 1])
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 84 / 95
Digital Control
Typical sampling time:
Type of variable Sampling time (sec)
Flow 1-3
Level 5-10
Pressure 1-5
Temperature 10-20
Rule of thumb for PI controllers:
Ts
Ti≈ 0.1 to 0.3
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 85 / 95
Digital Control
Typical sampling time:
Type of variable Sampling time (sec)
Flow 1-3
Level 5-10
Pressure 1-5
Temperature 10-20
Rule of thumb for PI controllers:
Ts
Ti≈ 0.1 to 0.3
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 85 / 95
Digital Control
Typical sampling time:
Rule of thumb for PID controllers:
NTs
Td≈ 0.2 to 0.6
[Astrom and Wittenmark, 1996]
Behzad Samadi (Amirkabir University) Industrial Control 86 / 95
Digital Control
Inverse Response: When the initial response of a dynamic system is in adirection opposite to the final outcome, it is called an inverse response.
Obtaining the effective delay (Half rule):
Effective delay =True delay + inverse response time constant(s)
+ half of the largest neglected time constant
+ all smaller higher order time constants
Time constant:
� = the largest time constant +1
2the second largest time constant{
�1 = the largest time constant,�2 = the second largest time constant + 1
2 the third largest time constant
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 87 / 95
Digital Control
Inverse Response: When the initial response of a dynamic system is in adirection opposite to the final outcome, it is called an inverse response.Obtaining the effective delay (Half rule):
Effective delay =True delay + inverse response time constant(s)
+ half of the largest neglected time constant
+ all smaller higher order time constants
Time constant:
� = the largest time constant +1
2the second largest time constant{
�1 = the largest time constant,�2 = the second largest time constant + 1
2 the third largest time constant
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 87 / 95
Digital Control
Inverse Response: When the initial response of a dynamic system is in adirection opposite to the final outcome, it is called an inverse response.Obtaining the effective delay (Half rule):
Effective delay =True delay + inverse response time constant(s)
+ half of the largest neglected time constant
+ all smaller higher order time constants
Time constant:
� = the largest time constant +1
2the second largest time constant{
�1 = the largest time constant,�2 = the second largest time constant + 1
2 the third largest time constant
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 87 / 95
Digital Control
Plant transfer function:
G (s) =
∏j (−Tj0s + 1)∏
j (�i0s + 1)e−td s
First order approximation:
G1(s) =e−�s
�s + 1
� =td +∑
j
Tj0 +�20
2+∑j≥3
�i0 +Ts
2
� =�10 +�20
2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 88 / 95
Digital Control
Second order approximation:
G2(s) =e−�s
(�1s + 1)(�2s + 1)
� =td +∑
j
Tj0 +�30
2+∑j≥4
�i0 +Ts
2
�1 =�10
�2 =�20 +�30
2
[Skogestad, 2001]
Behzad Samadi (Amirkabir University) Industrial Control 89 / 95
Digital Control
Series form of the PID controller:
U(s) = Kp(1 + 1�i s
)(1 + �ds)E (s)
U(s) = Kp(1 + 1�i s
)(E (s) + �dsE (s))
U(s) = Kp(1 + 1�i s
)(E (s)− �dsY (s))
U(s) = Kp(1 + 1�i s
)(R(s)− (1 + �ds)Y (s))
U(s) = Kp(1 + 1�i s
)Ed (s)
Behzad Samadi (Amirkabir University) Industrial Control 90 / 95
Digital Control
Series form of the PID controller:
U(s) = Kp(1 + 1�i s
)(1 + �ds)E (s)
U(s) = Kp(1 + 1�i s
)(E (s) + �dsE (s))
U(s) = Kp(1 + 1�i s
)(E (s)− �dsY (s))
U(s) = Kp(1 + 1�i s
)(R(s)− (1 + �ds)Y (s))
U(s) = Kp(1 + 1�i s
)Ed (s)
Behzad Samadi (Amirkabir University) Industrial Control 90 / 95
Digital Control
Series form of the PID controller:
U(s) = Kp(1 + 1�i s
)(1 + �ds)E (s)
U(s) = Kp(1 + 1�i s
)(E (s) + �dsE (s))
U(s) = Kp(1 + 1�i s
)(E (s)− �dsY (s))
U(s) = Kp(1 + 1�i s
)(R(s)− (1 + �ds)Y (s))
U(s) = Kp(1 + 1�i s
)Ed (s)
Behzad Samadi (Amirkabir University) Industrial Control 90 / 95
Digital Control
Series form of the PID controller:
U(s) = Kp(1 + 1�i s
)(1 + �ds)E (s)
U(s) = Kp(1 + 1�i s
)(E (s) + �dsE (s))
U(s) = Kp(1 + 1�i s
)(E (s)− �dsY (s))
U(s) = Kp(1 + 1�i s
)(R(s)− (1 + �ds)Y (s))
U(s) = Kp(1 + 1�i s
)Ed (s)
Behzad Samadi (Amirkabir University) Industrial Control 90 / 95
Digital Control
Series form of the PID controller:
U(s) = Kp(1 + 1�i s
)(1 + �ds)E (s)
U(s) = Kp(1 + 1�i s
)(E (s) + �dsE (s))
U(s) = Kp(1 + 1�i s
)(E (s)− �dsY (s))
U(s) = Kp(1 + 1�i s
)(R(s)− (1 + �ds)Y (s))
U(s) = Kp(1 + 1�i s
)Ed (s)
Behzad Samadi (Amirkabir University) Industrial Control 90 / 95
Digital Control
Series form of the PID controller:
Behzad Samadi (Amirkabir University) Industrial Control 91 / 95
Digital Control
Antiwindup digital PID:
public class SimplePID {
private double u,e,v,y;
private double K,Ti,Td,Beta,Tr,N,h;
private double ad,bd;
private double D,I,yOld;
public SimplePID(double nK, double nTi, double NTd,
double nBeta, double nTr, double nN, double nh) {
updateParameters(nK,nTi,nTd,nBeta,nTr,nN,nh);
}
ARTIST Graduate Course on Embedded Control Systems
Behzad Samadi (Amirkabir University) Industrial Control 92 / 95
Digital Control
Antiwindup digital PID:
public void updateParameters(double nK, double nTi,
double NTd, double nBeta, double nTr, double nN,
double nh) {
K = nK; Ti = nTi; Td = nTd; Beta = nBeta;
Tr = nTr
N = nN;
h = nh;
ad = Td / (Td + N*h);
bd = K*ad*N;
}
ARTIST Graduate Course on Embedded Control Systems
Behzad Samadi (Amirkabir University) Industrial Control 93 / 95
Digital Control
Antiwindup digital PID:
public double calculateOutput(double yref, double newY) {
y = newY;
e = yref - y;
D = ad*D - bd*(y - yOld);
v = K*(Beta*yref - y) + I + D;
return v;
}
public void updateState(double u) {
I = I + (K*h/Ti)*e + (h/Tr)*(u - v);
yOld = y;
}
}
ARTIST Graduate Course on Embedded Control Systems
Behzad Samadi (Amirkabir University) Industrial Control 94 / 95
Digital Control
Antiwindup digital PID:
public class Regul extends Thread {
private SimplePID pid;
public Regul() { pid = new SimplePID(1,10,0,1,10,5,0.1); }
public void run() {
// Other stuff
while (true) {
y = getY();
yref = getYref():
u = pid.calculateOutput(yref,y);
u = limit(u);
setU(u);
pid.updateState(u);
// Timing Code
}}}
ARTIST Graduate Course on Embedded Control Systems
Behzad Samadi (Amirkabir University) Industrial Control 95 / 95
Astrom, K. J. and Hagglund, T. (1995).PID Controllers: Theory, Design, and Tuning.Instrument Society of America.
Astrom, K. J. and Wittenmark, B. (1996).Computer-Controlled Systems: Theory and Design.Prentice Hall, 3 edition.
Chau, P. C. (2002).Process Control: A First Course with MATLAB (Cambridge Series inChemical Engineering).Cambridge University Press, 1 edition.
Li, Y., Ang, K. H., and Chong, G. C. Y. (2006).Pid control system analysis and design.IEEE Control Syst. Mag., 26(1):32–41.
Love, J. (2007).Process Automation Handbook: A Guide to Theory and Practice.Springer, 1 edition.
Behzad Samadi (Amirkabir University) Industrial Control 95 / 95
McMillan, G. K. (2001).Good Tuning: A Pocket Guide.The Instrumentation, Systems, and Automation Society (ISA).
O’Dwyer (2002).Handbook of PI & Pid Controller Tuning Rules.World Scientific Publishing.
Skogestad, S. (2001).Probably the best simple pid tuning rules in the world.In AIChE Annual meeting, Reno, NV, USA.
Visioli, A. (2006).Practical PID Control (Advances in Industrial Control).Springer, 1 edition.
Woolf, P., editor (2007).The Michigan Chemical Process Dynamics and Controls Open TextBook.
Yu, C.-C. (2007).
Behzad Samadi (Amirkabir University) Industrial Control 95 / 95
Autotuning of PID Controllers: A Relay Feedback Approach.Springer.
Behzad Samadi (Amirkabir University) Industrial Control 95 / 95