Industrial Control Systems - PID Controllers

  • View
    1.014

  • Download
    10

  • Category

    Business

Preview:

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

Recommended