0 Up votes0 Down votes

0 views242 pagesIndustrial Control Systems course

Dec 27, 2017

© © All Rights Reserved

PDF, TXT or read online from Scribd

Industrial Control Systems course

© All Rights Reserved

0 views

Industrial Control Systems course

© All Rights Reserved

- Steve Jobs
- Wheel of Time
- NIV, Holy Bible, eBook
- NIV, Holy Bible, eBook, Red Letter Edition
- Cryptonomicon
- The Woman Who Smashed Codes: A True Story of Love, Spies, and the Unlikely Heroine who Outwitted America's Enemies
- Contagious: Why Things Catch On
- Crossing the Chasm: Marketing and Selling Technology Project
- Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are
- Zero to One: Notes on Start-ups, or How to Build the Future
- Console Wars: Sega, Nintendo, and the Battle that Defined a Generation
- Dust: Scarpetta (Book 21)
- Hit Refresh: The Quest to Rediscover Microsoft's Soul and Imagine a Better Future for Everyone
- The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
- Crushing It!: How Great Entrepreneurs Build Their Business and Influence—and How You Can, Too
- Make Time: How to Focus on What Matters Every Day
- Algorithms to Live By: The Computer Science of Human Decisions
- Wild Cards

You are on page 1of 242

Behzad Samadi

Department of Electrical Engineering

Amirkabir University of Technology

Winter 2009

Tehran, Iran

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:

umax if e > 0

u=

umin if e < 0

On-Off Control

One of the simplest control laws:

umax if e > 0

u=

umin if e < 0

Disadvantage: persistent oscillation of the process variable

1

P= e −2s , umax = 2, umin = 0

10s + 1

On-Off Control

One of the simplest control laws:

umax if e > 0

u=

umin if e < 0

Disadvantage: persistent oscillation of the process variable

1

P= e −2s , umax = 2, umin = 0

10s + 1

On-Off Control

One of the simplest control laws:

umax if e > 0

u=

umin if e < 0

Disadvantage: persistent oscillation of the process variable

1

P= e −2s , umax = 2, umin = 0

10s + 1

On-Off Control

b) Modified with a dead zone

c) Modified with hysteresys

[Visioli, 2006]

PID Control

1 Proportional action

2 Integral action

3 Derivative action

[Visioli, 2006]

Proportional Action

[Visioli, 2006]

Proportional Action

Kp : proportional gain

[Visioli, 2006]

Proportional Action

Kp : proportional gain

Controller transfer function:

C (s) = Kp

[Visioli, 2006]

Proportional Action

Kp : proportional gain

Controller transfer function:

C (s) = Kp

[Visioli, 2006]

Proportional Action

Kp : proportional gain

Controller transfer function:

C (s) = Kp

Disadvantage: steady state error

[Visioli, 2006]

Proportional Action

dynamics, in case a constant load disturbance occurs.

[Visioli, 2006]

Proportional Action

dynamics, in case a constant load disturbance occurs.

Adding a bias (or reset) term:

u(t) = Kp e + ub

steady state error is zero.

[Visioli, 2006]

Proportional Action

100%

PB =

Kp

Integral Action

Z t

u(t) = Ki e(τ )dτ,

0

[Visioli, 2006]

Integral Action

Z t

u(t) = Ki e(τ )dτ,

0

Ki : integral gain

[Visioli, 2006]

Integral Action

Z t

u(t) = Ki e(τ )dτ,

0

Ki : integral gain

Controller transfer function:

Ki

C (s) =

s

[Visioli, 2006]

Integral Action

Z t

u(t) = Ki e(τ )dτ,

0

Ki : integral gain

Controller transfer function:

Ki

C (s) =

s

Advantage: zero steady state error

[Visioli, 2006]

Integral Action

Z t

u(t) = Ki e(τ )dτ,

0

Ki : integral gain

Controller transfer function:

Ki

C (s) =

s

Advantage: zero steady state error

Disadvantage: integrator windup in the presence of saturation

[Visioli, 2006]

PI Controller

Transfer function:

1

C (s) = Kp (1 + )

Ti s

[Visioli, 2006]

PI Controller

Transfer function:

1

C (s) = Kp (1 + )

Ti s

[Visioli, 2006]

PI Controller

Transfer function:

1

C (s) = Kp (1 + )

Ti s

The integral action is also called automatic reset.

[Visioli, 2006]

Derivative Action

de(t)

u(t) = Kd ,

dt

[Visioli, 2006]

Derivative Action

de(t)

u(t) = Kd ,

dt

Kd : derivative gain

[Visioli, 2006]

Derivative Action

de(t)

u(t) = Kd ,

dt

Kd : derivative gain

Controller transfer function:

C (s) = Kd s

[Visioli, 2006]

Derivative Action

de(t)

u(t) = Kd ,

dt

Kd : derivative gain

Controller transfer function:

C (s) = Kd s

[Visioli, 2006]

Derivative Action

de(t)

u(t) = Kd ,

dt

Kd : derivative gain

Controller transfer function:

C (s) = Kd s

Disadvantage: Sensitive to the measurement noise in the manipulated

variable

[Visioli, 2006]

Derivative Action

[Visioli, 2006]

Derivative Action

Taylor series expansion of the control error at time Td ahead:

de(t)

e(t + Td ) ≈ e(t) + Td

dt

[Visioli, 2006]

Derivative Action

Taylor series expansion of the control error at time Td ahead:

de(t)

e(t + Td ) ≈ e(t) + Td

dt

A control law proportional to e(t + Td )

de(t)

u(t) = Kp e(t) + Td

dt

[Visioli, 2006]

Derivative Action

Taylor series expansion of the control error at time Td ahead:

de(t)

e(t + Td ) ≈ e(t) + Td

dt

A control law proportional to e(t + Td )

de(t)

u(t) = Kp e(t) + Td

dt

pre-act.

[Visioli, 2006]

PID Controller

Transfer function:

1

C (s) = Kp 1 + + Td s

Ti s

Time windows:

Proportional action responds to current error.

Integrator action responds to accumulated past error.

Derivative action anticipated future error.

Peter Woolf umich.edu

PID Controller

Transfer function:

Ki

C (s) = Kp + + Kd s

s

Frequency band:

Proportional action: all-band

Integrator action: low pass

Derivative action: high pass

[Li et al., 2006]

PID Controller

Transfer function:

Ki

C (s) = Kp + + Kd s

s

PID Controller

Implementation methods:

Pneumatic

Hydraulic

Electronic

Digital

PID Controller

Ideal or noninteracting form:

1

Ci (s) = Kp 1 + + Td s

Ti s

PID Controller

Ideal or noninteracting form:

1

Ci (s) = Kp 1 + + Td s

Ti s

0 1 0

Cs (s) = Kp 1 + 0 (1 + Td s)

Ti s

PID Controller

Ideal or noninteracting form:

1

Ci (s) = Kp 1 + + Td s

Ti s

0 1 0

Cs (s) = Kp 1 + 0 (1 + Td s)

Ti s

Parallel form:

Ki

Ci (s) = Kp + + Kd s

s

PID Controller

PID Controller

Series to ideal form conversion:

0 0

0 Ti + Td

Kp =Kp 0

Ti

0

Ti =Ti + Td 0

0 0

Ti Td

Td = 0 0

Ti + Td

PID Controller

Ideal to series form conversion: Only if Ti ≥ 4Td

s !

0 Kp Td

Kp = 1+ 1−4

2 Ti

s !

0 Ti Td

Ti = 1+ 1−4

2 Ti

s !

0 Ti Td

Td = 1− 1−4

2 Ti

[Visioli, 2006]

PID Controller

1

Cs (s) = Kp (1 + )(α + Td s)

αTi s

Ideal to alternative series form conversion: Only if Ti ≥ 4Td

q

1 ± 1 − 4 TTdi

α= >0

2

[Li et al., 2006]

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]

Problems with the Derivative Action

Noise:

n(t) = A sin(ωt)

[Visioli, 2006]

Problems with the Derivative Action

Noise:

n(t) = A sin(ωt)

Derivative action:

u(t) = Aω cos(ωt)

[Visioli, 2006]

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.

[Visioli, 2006]

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 of

the actuator.

[Visioli, 2006]

Modified Derivative Action

Modified ideal form:

!

1 Td s

Ci1a (s) = Kp 1+ + Td

Ti s N s +1

[Visioli,Samadi

Behzad 2006] (Amirkabir University) Industrial Control 24 / 95

Modified Derivative Action

Modified ideal form:

!

1 Td s

Ci1a (s) = Kp 1+ + Td

Ti s N s +1

Gerry and Shinskey, 2005:

1 Td s

Ci1b (s) = Kp 1 + +

2

Ti s

Td Td

1+ N s + 0.5 N s

[Visioli,Samadi

Behzad 2006] (Amirkabir University) Industrial Control 24 / 95

Modified Derivative Action

Modified ideal form:

!

1 Td s

Ci1a (s) = Kp 1+ + Td

Ti s N s +1

Gerry and Shinskey, 2005:

1 Td s

Ci1b (s) = Kp 1 + +

2

Ti s

Td Td

1+ N s + 0.5 N s

0

0 1 T

d0 s + 1

Cs (s) = Kp 1 + 0

Ti s Td

s +1 N

[Visioli,Samadi

Behzad 2006] (Amirkabir University) Industrial Control 24 / 95

Modified Derivative Action

Modified ideal form:

!

1 Td s

Ci1a (s) = Kp 1+ + Td

Ti s N s +1

Gerry and Shinskey, 2005:

1 Td s

Ci1b (s) = Kp 1 + +

2

Ti s

Td Td

1+ N s + 0.5 N s

0

0 1 T

d0 s + 1

Cs (s) = Kp 1 + 0

Ti s Td

s +1 N

N generally assumes a value between 1 and 33, although in the

majority of the practical cases its setting falls between 8 and 16 (Ang

et al., 2005).

[Visioli,Samadi

Behzad 2006] (Amirkabir University) Industrial Control 24 / 95

Modified Derivative Action

Alternative modified ideal form:

1 1

Ci2a (s) = Kp 1 + + Td s

Ti s Tf s + 1

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 25 / 95

Modified Derivative Action

Alternative modified ideal form:

1 1

Ci2a (s) = Kp 1 + + Td s

Ti s Tf s + 1

Åström and Hägglund, 2004:

1 1

Ci2b (s) = Kp 1 + + Td s

Ti s (Tf s + 1)2

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 25 / 95

Modified Derivative Action

Alternative modified ideal form:

1 1

Ci2a (s) = Kp 1 + + Td s

Ti s Tf s + 1

Åström and Hägglund, 2004:

1 1

Ci2b (s) = Kp 1 + + Td s

Ti s (Tf s + 1)2

Derivative kick: A spike in the control signal due to an abrupt

(stepwise) change of the set-point signal.

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 25 / 95

Modified Derivative Action

Alternative modified ideal form:

1 1

Ci2a (s) = Kp 1 + + Td s

Ti s Tf s + 1

Åström and Hägglund, 2004:

1 1

Ci2b (s) = Kp 1 + + Td s

Ti s (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 only

to the process variable:

dy (t)

u(t) = −Kd

dt

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 25 / 95

Derivative Action

80% of the employed PID controllers have the derivative part

switched-off (Ang et al., 2005).

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 26 / 95

Derivative Action

80% of the employed PID controllers have the derivative part

switched-off (Ang et al., 2005).

Derivative action is the most difficult to tune, why?

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 26 / 95

Derivative Action

80% of the employed PID controllers have the derivative part

switched-off (Ang et al., 2005).

Derivative action is the most difficult to tune, why?

Consider a first-order-plus-dead-time (FOPDT) plant:

K

P(s) = e −Ls

Ts + 1

and a PD controller:

C (s) = Kp (1 + Td s)

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 26 / 95

Derivative Action

80% of the employed PID controllers have the derivative part

switched-off (Ang et al., 2005).

Derivative action is the most difficult to tune, why?

Consider a first-order-plus-dead-time (FOPDT) plant:

K

P(s) = e −Ls

Ts + 1

and a PD controller:

C (s) = Kp (1 + Td s)

Open loop frequency response:

s

1 + Td2 ω 2

|C (jω)P(jω)| = KKp

1 + T 2ω2

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 26 / 95

Derivative Action

Open loop frequency response:

s

1 + Td2 ω 2

Td

KKp ≥ KKp min 1,

1 + T 2ω2 T

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 27 / 95

Derivative Action

Open loop frequency response:

s

1 + Td2 ω 2

Td

KKp ≥ KKp min 1,

1 + T 2ω2 T

Td ≥ T ⇒ min 1, TTd = 1

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 27 / 95

Derivative Action

Open loop frequency response:

s

1 + Td2 ω 2

Td

KKp ≥ KKp min 1,

1 + T 2ω2 T

Td ≥ T ⇒ min 1, TTd = 1

If Td ≥ T and KKp > 1, then

|C (jω)P(jω)| ≥ 1

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 27 / 95

Derivative Action

Open loop frequency response:

s

1 + Td2 ω 2

Td

KKp ≥ KKp min 1,

1 + T 2ω2 T

Td ≥ T ⇒ min 1, TTd = 1

If Td ≥ T and KKp > 1, then

|C (jω)P(jω)| ≥ 1

Td ≤ T ⇒ min 1, TTd = Td

T

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 27 / 95

Derivative Action

Open loop frequency response:

s

1 + Td2 ω 2

Td

KKp ≥ KKp min 1,

1 + T 2ω2 T

Td ≥ T ⇒ min 1, TTd = 1

If Td ≥ T and KKp > 1, then

|C (jω)P(jω)| ≥ 1

Td ≤ T ⇒ min 1, TTd = Td

T

|C (jω)P(jω)| ≥ 1

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 27 / 95

Frequency Response

Burns, 2001

Derivative Action

2 −0.2s

P(s) = e

s +1

controlled by a PID controller in series form with Kp = 1 and Ti = 1.

Derivative Action

2 −0.2s

P(s) = e

s +1

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.

Derivative Action

2 −0.2s

P(s) = e

s +1

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.

Derivative Action

2 −0.2s

P(s) = e

s +1

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!

Derivative Action

2 −0.2s

P(s) = e

s +1

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!

Derivative Action

2 −0.2s

P(s) = e

s +1

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]

Integral Windup

Integral Windup

Solid:

process output,

Dashed:

process input,

Dotted:

integral term

[Visioli, 2006]

Conditional Integration

[Visioli, 2006]

Conditional Integration

The integration is stopped when the error is greater than a predefined

threshold, namely, when the process variable value is far from the

setpoint value.

[Visioli, 2006]

Conditional Integration

The integration is stopped when the error is greater than a predefined

threshold, namely, when the process variable value is far from the

setpoint value.

The integration is stopped when the control variable saturates, i.e.,

0

when u 6= u.

[Visioli, 2006]

Conditional Integration

The integration is stopped when the error is greater than a predefined

threshold, namely, when the process variable value is far from the

setpoint value.

The integration is stopped when the control variable saturates, i.e.,

0

when u 6= u.

The integration is stopped when the control variable saturates and

the control error and the control variable have the same sign (i.e.,

when ue > 0).

[Visioli, 2006]

Anti-windup for Automatic Reset Configuration

Automatic reset:

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 32 / 95

Anti-windup for Automatic Reset Configuration

Automatic reset:

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 32 / 95

Anti-windup for Automatic Reset Configuration

Automatic reset:

[Visioli, 2006]

Behzad Samadi (Amirkabir University) Industrial Control 32 / 95

Back-calculation

Integrator input:

Kp 1 0

ei = e + (u − u)

Ti Tt

Back-calculation

Integrator input:

Kp 1 0

e + (u − u)

ei =

Ti Tt

Tuning rule for Tt (Åström and Hägglund 1995):

p

Tt = Td Ti

Back-calculation

Integrator input:

Kp 1 0

e + (u − u)

ei =

Ti Tt

Tuning rule for Tt (Åström and Hägglund 1995):

p

Tt = Td Ti

Back-calculation

Integrator input:

Kp 1 0

e + (u − u)

ei =

Ti Tt

Tuning rule for Tt (Åström and Hägglund 1995):

p

Tt = Td Ti

Not useful for a PI controller

[Visioli,Samadi

Behzad 2006] (Amirkabir University) Industrial Control 33 / 95

Back-calculation

Integrator input:

Kp 1 0

ei = e + (u − u)

Ti Tt

[Visioli, 2006]

Back-calculation

Integrator input:

Kp 1 0

ei = e + (u − u)

Ti Tt

Bohn and Atherton, 1995 suggest Tt = Ti .

[Visioli, 2006]

Back-calculation

Integrator input:

Kp 1 0

ei = e + (u − u)

Ti Tt

Bohn and Atherton, 1995 suggest Tt = Ti .

Conditioning technique (Hanus et al., 1987;Walgama et al., 1991):

0

This is a tracking rule (u tracks u ). In this framework:

Tt = Kp

[Visioli, 2006]

PID with Tracking Input

[Astrom and Hagglund, 1995]

Behzad Samadi (Amirkabir University) Industrial Control 35 / 95

Bumpless Transfer

[Visioli, 2006]

Bumpless Transfer

Bumpless Transfer

[Astrom and Hagglund, 1995]

Bumpless Transfer

Manual Control Module:

Bumpless Transfer

PID Controller Design

of the PID type.

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

Pulp and paper industry over 2000 loops:

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

Pulp and paper industry over 2000 loops:

Only 20% of loops worked well (i.e. less variability in the automatic

mode over the manual mode).

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

Pulp and paper industry over 2000 loops:

Only 20% of loops worked well (i.e. less variability in the automatic

mode over the manual mode).

30% gave poor performance due to poor controller tuning.

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

Pulp and paper industry over 2000 loops:

Only 20% of loops worked well (i.e. less variability in the automatic

mode over the manual mode).

30% gave poor performance due to poor controller tuning.

30% gave poor performance due to control valve problems (e.g. control

valve stick-slip, dead band, backlash).

[Yu, 2007]

PID Controller Design

of the PID type.

Most loops are actually under PI control (as a result of the large

number of flow loops).

Pulp and paper industry over 2000 loops:

Only 20% of loops worked well (i.e. less variability in the automatic

mode over the manual mode).

30% gave poor performance due to poor controller tuning.

30% gave poor performance due to control valve problems (e.g. control

valve stick-slip, dead band, backlash).

20% gave poor performance due to process and/or control system

design problems.

[Yu, 2007]

PID Controller Design

Process industries:

[Yu, 2007]

PID Controller Design

Process industries:

30% of loops operated on manual mode.

[Yu, 2007]

PID Controller Design

Process industries:

30% of loops operated on manual mode.

20% of controllers used factory tuning.

[Yu, 2007]

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.

[Yu, 2007]

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:

[Yu, 2007]

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 diagnostic

valve package).

[Yu, 2007]

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 diagnostic

valve package).

Most poor tuning was due to control valve problems.

[Yu, 2007]

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 diagnostic

valve package).

Most poor tuning was due to control valve problems.

Refining, chemicals, and pulp and paper industries over 26,000 controllers:

[Yu, 2007]

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 diagnostic

valve 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.

[Yu, 2007]

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 diagnostic

valve 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 indicates

unacceptably sluggish or oscillatory responses.

[Yu, 2007]

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 diagnostic

valve 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 indicates

unacceptably sluggish or oscillatory responses.

36% of controllers were on open- loop, which implies that the controllers

were either in manual or virtually saturated.

[Yu, 2007]

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 diagnostic

valve 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 indicates

unacceptably sluggish or oscillatory responses.

36% of controllers were on open- loop, which implies that the controllers

were either in manual or virtually saturated.

PID algorithms are used in vast majority of applications (97%). For the rare

cases of complex dynamics or significant dead time, other algorithms are

used.

[Yu, 2007]

PID Controller Design

Ziegler-Nichols closed-loop tuning method

Ziegler-Nichols open-loop tuning method

ASME, 64, pp. 759-768, 1942

[Woolf, 2007]

PID Controller Design

Ziegler-Nichols closed-loop tuning method:

1 Remove integral and derivative action.

PID Controller Design

Ziegler-Nichols closed-loop tuning method:

1 Remove integral and derivative action.

the oscillations have constant amplitude.

PID Controller Design

Ziegler-Nichols closed-loop tuning method:

1 Remove integral and derivative action.

the oscillations have constant amplitude.

3 Record the gain value (K ) and period of oscillation (P ).

u u

PID Controller Design

Ziegler-Nichols closed-loop tuning method:

1 Remove integral and derivative action.

the oscillations have constant amplitude.

3 Record the gain value (K ) and period of oscillation (P ).

u u

PID Controller Design

Ziegler-Nichols closed-loop tuning method:

1 Remove integral and derivative action.

the oscillations have constant amplitude.

3 Record the gain value (K ) and period of oscillation (P ).

u u

[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

1

C (s) = Kp (1 + + Td s)

Ti s

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]

PID Controller Design

Advantages:

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

Includes dynamics of whole process, which gives a more accurate

picture of how the system is behaving

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

Includes dynamics of whole process, which gives a more accurate

picture of how the system is behaving

Disadvantages:

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

Includes dynamics of whole process, which gives a more accurate

picture of how the system is behaving

Disadvantages:

Experiment can be time consuming

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

Includes dynamics of whole process, which gives a more accurate

picture of how the system is behaving

Disadvantages:

Experiment can be time consuming

Can venture into unstable regions while testing the P controller, which

could cause the system to become out of control

[Woolf, 2007]

PID Controller Design

Advantages:

Easy experiment; only need to change the P controller

Includes dynamics of whole process, which gives a more accurate

picture of how the system is behaving

Disadvantages:

Experiment can be time consuming

Can venture into unstable regions while testing the P controller, which

could cause the system to become out of control

It does not hold for I , D and PD controllers.

[Woolf, 2007]

PID Controller Design

Process Reaction Curve:

L: the time taken from the moment the disturbance was introduced

to the first sign of change in the output signal

∆Cp : the change in output signal in response to the initial step

disturbance

T : the time taken for this change to occur

[Woolf, 2007]

Behzad Samadi (Amirkabir University) Industrial Control 47 / 95

PID Controller Design

∆Cp

N= T : reaction rate

[Woolf, 2007]

PID Controller Design

1

C (s) = Kp (1 + + Td s)

Ti s

Kp Ti Td

P Controller K - -

PI Controller 0.9K L/0.3 -

PID Controller 1.2K 2L 0.5L

P

K=

NL

[Woolf, 2007]

PID Controller Design

Advantages:

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

Of these two techniques, the Process Reaction Method is the easiest

and least disruptive to implement

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

Of these two techniques, the Process Reaction Method is the easiest

and least disruptive to implement

Disadvantages:

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

Of these two techniques, the Process Reaction Method is the easiest

and least disruptive to implement

Disadvantages:

It depends upon purely proportional measurement to estimate I and D

controllers.

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

Of these two techniques, the Process Reaction Method is the easiest

and least disruptive to implement

Disadvantages:

It depends upon purely proportional measurement to estimate I and D

controllers.

Approximations for the Kc , Ti , and Td values might not be entirely

accurate for different systems.

[Woolf, 2007]

PID Controller Design

Advantages:

Quick and easier to use than other methods

It is a robust and popular method

Of these two techniques, the Process Reaction Method is the easiest

and least disruptive to implement

Disadvantages:

It depends upon purely proportional measurement to estimate I and D

controllers.

Approximations for the Kc , Ti , and Td values might not be entirely

accurate for different systems.

It does not hold for I , D and PD controllers.

[Woolf, 2007]

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

PID Controller Design

Ke −Ds

G (s) =

τs + 1

[Yu, 2007]

PID Controller Design

Ziegler-Nichols closed-loop tuning methods:

Ke −td s

G (s) =

τs + 1

td

Quarter decay ration for 0 < τ < 1 [O’Dwyer, 2002]

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 53 / 95

PID Controller Design

Maximum error: max e(t)

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

R∞

Integrated Squared Error: ISE = 0 e 2 (t)dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

R∞

Integrated Squared Error: ISE = 0 e 2 (t)dt

R∞

Integrated Time Absolute Error: ITAE = 0 t|e(t)|dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

R∞

Integrated Squared Error: ISE = 0 e 2 (t)dt

R∞

Integrated Time Absolute Error: ITAE = 0 t|e(t)|dt

R∞

Integrated Time Error: ITE = 0 te(t)dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

R∞

Integrated Squared Error: ISE = 0 e 2 (t)dt

R∞

Integrated Time Absolute Error: ITAE = 0 t|e(t)|dt

R∞

Integrated Time Error: ITE = 0 te(t)dt

R∞

Integrated Time Squared Error: ITSE = 0 te 2 (t)dt

PID Controller Design

Maximum error: max e(t)

R∞

Integrated Absolute Error: IAE = 0 |e(t)|dt

R∞

Integrated Error for non-oscillatory processes: IE = 0 e(t)dt

R∞

Integrated Squared Error: ISE = 0 e 2 (t)dt

R∞

Integrated Time Absolute Error: ITAE = 0 t|e(t)|dt

R∞

Integrated Time Error: ITE = 0 te(t)dt

R∞

Integrated Time Squared Error: ITSE = 0 te 2 (t)dt

R∞

Integrated Squared Time Error: ISTE = 0 t 2 e 2 (t)dt

[Astrom and Hagglund, 1995]

PID Controller Design

ITAE optimization:

Ke −td s

G (s) =

τs + 1

[Chau, 2002]

PID Controller Design

Ciancone and Marlin Tuning:

Ke −td s

G (s) =

τs + 1

td

Fractional dead time: Tf = td +τ

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:

µCM

Kp = , Ti = τCM (td + τ )

K

Minimizing IAE or ISE [Chau, 2002]

PID Controller Design

Ciancone and Marlin PI Tuning:

[Chau, 2002]

PID Controller Design

Ciancone and Marlin PID Tuning:

[Chau, 2002]

PID Controller Design

Direct Synthesis:

We have:

C Gc Gp

=

R 1 + Gc Gp

Therefore:

1 C /R

Gc =

Gp 1 − C /R

[Chau, 2002]

PID Controller Design

Direct Synthesis:

C 1 1 1

= ⇒ Gc =

R τc s + 1 Gp τc s

PID Controller Design

Direct Synthesis:

C 1 1 1

= ⇒ Gc =

R τc s + 1 Gp τc s

Example:

Kp τp 1

Gp = ⇒ Gc = 1+

τp s + 1 Kp τc τp s

[Chau, 2002]

PID Controller Design

Direct Synthesis:

For delayed systems:

e −θs e −θs

C 1

= ⇒ Gc =

R τc s + 1 Gp (τc s + 1) − e −θs

PID Controller Design

Direct Synthesis:

For delayed systems:

e −θs e −θs

C 1

= ⇒ Gc =

R τc s + 1 Gp (τc s + 1) − e −θs

e −θs

1

Gc ≈

Gp (τc + θ)s

PID Controller Design

Direct Synthesis:

For delayed systems:

e −θs e −θs

C 1

= ⇒ Gc =

R τc s + 1 Gp (τc s + 1) − e −θs

e −θs

1

Gc ≈

Gp (τc + θ)s

PID Controller Design

Direct Synthesis:

For delayed systems:

e −θs e −θs

C 1

= ⇒ Gc =

R τc s + 1 Gp (τc s + 1) − e −θs

e −θs

1

Gc ≈

Gp (τc + θ)s

Example:

Kp e −td s

τp 1

Gp = ⇒ Gc = 1+

τp s + 1 Kp (τc + θ) τp s

for θ = td

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 61 / 95

PID Controller Design

Direct Synthesis:

Second order underdamped desired response:

C 1 1 1

= 2 2 ⇒ Gc =

R τ s + 2ζτ s + 1 Gp τ 2 s 2 + 2ζτ s

PID Controller Design

Direct Synthesis:

Second order underdamped desired response:

C 1 1 1

= 2 2 ⇒ Gc =

R τ s + 2ζτ s + 1 Gp τ 2 s 2 + 2ζτ s

PID Controller Design

Direct Synthesis:

Second order underdamped desired response:

C 1 1 1

= 2 2 ⇒ Gc =

R τ s + 2ζτ s + 1 Gp τ 2 s 2 + 2ζτ s

Example:

Kp (τ1 s + 1)(τ2 s + 1)

Gp = ⇒ Gc =

(τ1 s + 1)(τ2 s + 1) Kp τ s(τ s + 2ζ)

PID Controller Design

Direct Synthesis:

Second order underdamped desired response:

C 1 1 1

= 2 2 ⇒ Gc =

R τ s + 2ζτ s + 1 Gp τ 2 s 2 + 2ζτ s

Example:

Kp (τ1 s + 1)(τ2 s + 1)

Gp = ⇒ Gc =

(τ1 s + 1)(τ2 s + 1) Kp τ s(τ s + 2ζ)

τ1 1

Gc = 1+

4Kp ζ 2 τ2 τ1 s

[Chau, 2002]

PID Controller Design

Internal Model Control: Assume that we have an approximate model G̃p of

the process Gp

Open loop:

Gc = G̃p−1

PID Controller Design

Internal Model Control: Assume that we have an approximate model G̃p of

the process Gp

Open loop:

Gc = G̃p−1

Closed loop:

PID Controller Design

Internal Model Control:

P = Gc? (R − C + C̃ )

= Gc? (R − C + G̃p P)

PID Controller Design

Internal Model Control:

P = Gc? (R − C + C̃ )

= Gc? (R − C + G̃p P)

Therefore:

Gc?

P= (R−C )

1 − Gc? G̃p

PID Controller Design

Internal Model Control:

P = Gc (R − C )

P = Gc? (R − C + C̃ ) Therefore:

= Gc? (R − C + G̃p P) Gc?

Gc = 1−Gc? G̃p

Therefore:

Gc?

P= (R−C )

1 − Gc? G̃p

[Chau, Samadi

Behzad 2002] (Amirkabir University) Industrial Control 64 / 95

PID Controller Design

Internal Model Control:

Closed loop transfer function:

" # " #

(1 − Gc? G̃p )GL Gp Gc?

C= L+ R

1 + Gc? (Gp − G̃p ) 1 + Gc? (Gp − G̃p )

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 65 / 95

PID Controller Design

Internal Model Control:

Closed loop transfer function:

" # " #

(1 − Gc? G̃p )GL Gp Gc?

C= L+ R

1 + Gc? (Gp − G̃p ) 1 + Gc? (Gp − G̃p )

G̃p = G̃p+ G̃p−

G̃p+ contains all positive zeros if any.

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 65 / 95

PID Controller Design

Internal Model Control:

Closed loop transfer function:

" # " #

(1 − Gc? G̃p )GL Gp Gc?

C= L+ R

1 + Gc? (Gp − G̃p ) 1 + Gc? (Gp − G̃p )

G̃p = G̃p+ G̃p−

G̃p+ contains all positive zeros if any.

The design is based on G̃p− only:

r

? 1 1

Gc =

G̃p− τc s + 1

r = 1, 2

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 65 / 95

PID Controller Design

Nd (s)

e −td s ≈ Dd (s)

http://mathworld.wolfram.com/PadeApproximant.html

PID Controller Design

Nd (s)

e −td s ≈ Dd (s)

Gd1/0 (s) = 1 − td s

http://mathworld.wolfram.com/PadeApproximant.html

PID Controller Design

Nd (s)

e −td s ≈ Dd (s)

Gd1/0 (s) = 1 − td s

1

Gd0/1 (s) = 1+td s

http://mathworld.wolfram.com/PadeApproximant.html

PID Controller Design

Nd (s)

e −td s ≈ Dd (s)

Gd1/0 (s) = 1 − td s

1

Gd0/1 (s) = 1+td s

td

− s+1

Gd1/1 (s) = td

2

2

s+1

http://mathworld.wolfram.com/PadeApproximant.html

PID Controller Design

Nd (s)

e −td s ≈ Dd (s)

Gd1/0 (s) = 1 − td s

1

Gd0/1 (s) = 1+td s

td

− s+1

Gd1/1 (s) = td

2

2

s+1

td2 2 td

s −2 s+1

Gd2/2 (s) = 12

t2

d s 2 + td s+1

12 2

http://mathworld.wolfram.com/PadeApproximant.html

PID Controller Design

Kp e −td s

Example: G̃p = τp s+1

Kp t

d

G̃p ≈ td − s +1

(τp s + 1)( 2 s + 1) 2

PID Controller Design

Kp e −td s

Example: G̃p = τp s+1

Kp t

d

G̃p ≈ td − s +1

(τp s + 1)( 2 s + 1) 2

Kp

G̃p− =

(τp s + 1)( t2d s + 1)

td

G̃p+ = − s +1

2

[Chau, 2002]

PID Controller Design

Example:

Gc? = G̃p− =

τc s + 1 Kp τc s + 1

Gc? 1

Gc = = Kp (1 + + Td s)

1 − Gc? G̃p Ti s

PID Controller Design

Example:

Gc? = G̃p− =

τc s + 1 Kp τc s + 1

Gc? 1

Gc = = Kp (1 + + Td s)

1 − Gc? G̃p Ti s

where: p τ

1 2 td + 1 td τp

Kc = τc ; Ti = τp + ; Td = τp

Kp 2 td + 1 2 2 td + 1

[Chau, 2002]

PID Controller Design

[Chau, 2002]

Behzad Samadi (Amirkabir University) Industrial Control 69 / 95

PID Controller Design

S. Skogestad, “Probably the best simple PID tuning rules in the

world” Presented at AIChE Annual meeting, Reno, NV, USA, 04-09

Nov. 2001, Paper no. 276h

[Skogestad, 2001]

PID Controller Design

e −θs

g (s) = k

(τ1 s + 1)(τ2 s + 1)

[Skogestad, 2001]

PID Controller Design

y 1

= e −θt

ys desired τc s + 1

PID Controller Design

y 1

= e −θt

ys desired τc s + 1

(τ1 s + 1)(τ2 s + 1) 1

c(s) =

k (τc + θ)s

PID Controller Design

y 1

= e −θt

ys desired τc s + 1

(τ1 s + 1)(τ2 s + 1) 1

c(s) =

k (τc + θ)s

1

c(s) = Kc (1 + )(τD s + 1)

τI s

PID Controller Design

y 1

= e −θt

ys desired τc s + 1

(τ1 s + 1)(τ2 s + 1) 1

c(s) =

k (τc + θ)s

1

c(s) = Kc (1 + )(τD s + 1)

τI s

Tuning Rule

1 τ1

Kc = , τI = τ1 . τD = τ2

k τc + θ

[Skogestad, 2001]

PID Controller Design

Skogestad Internal Model Control (SIMC):

Tuning Rule

1 τ1

Kc = , τI = τ1 , τD = τ2

k τc + θ

[Skogestad, 2001]

Behzad Samadi (Amirkabir University) Industrial Control 73 / 95

PID Controller Design

Skogestad Internal Model Control (SIMC):

Tuning Rule

1 τ1

Kc = , τI = τ1 , τD = τ2

k τc + θ

For processes with large τ1 , this choice results in a long settling time

for disturbance response.

[Skogestad, 2001]

Behzad Samadi (Amirkabir University) Industrial Control 73 / 95

PID Controller Design

Skogestad Internal Model Control (SIMC):

Tuning Rule

1 τ1

Kc = , τI = τ1 , τD = τ2

k τc + θ

For processes with large τ1 , this choice results in a long settling time

for disturbance response.

−θs

Consider: g (s) = k τe1 s+1 ≈ τk1 s for large τ1 . With a PI controller

c(s) = Kc (1 + τ1I s ), the poles of the closed loop system can be

obtained from the following equation:

τI 2

0 s + τI s + 1 = 0

k Kc

0 k

with k = τ1

[Skogestad, 2001]

Behzad Samadi (Amirkabir University) Industrial Control 73 / 95

PID Controller Design

Comparing to s 2 + 2ζω0 s + ω 2 :

s

k 0 Kc 1p 0

ω0 = , ζ= k Kc τI

τI 2

[Skogestad, 2001]

PID Controller Design

Comparing to s 2 + 2ζω0 s + ω 2 :

s

k 0 Kc 1p 0

ω0 = , ζ= k Kc τI

τI 2

[Skogestad, 2001]

PID Controller Design

Comparing to s 2 + 2ζω0 s + ω 2 :

s

k 0 Kc 1p 0

ω0 = , ζ= k Kc τI

τI 2

4

τI ≥ 0

k Kc

[Skogestad, 2001]

PID Controller Design

Disturbance rejection: Assuming input disturbance (gd (s) = g (s))

|g (jω)|

|y (jω)| = d ≤ ymax

|1 + g (jω)c(jω)|

[Skogestad, 2001]

PID Controller Design

Disturbance rejection: Assuming input disturbance (gd (s) = g (s))

|g (jω)|

|y (jω)| = d ≤ ymax

|1 + g (jω)c(jω)|

d

|c(jω)| >

ymax

[Skogestad, 2001]

PID Controller Design

Disturbance rejection: Assuming input disturbance (gd (s) = g (s))

|g (jω)|

|y (jω)| = d ≤ ymax

|1 + g (jω)c(jω)|

d

|c(jω)| >

ymax

[Skogestad, 2001]

PID Controller Design

Disturbance rejection: Assuming input disturbance (gd (s) = g (s))

|g (jω)|

|y (jω)| = d ≤ ymax

|1 + g (jω)c(jω)|

d

|c(jω)| >

ymax

d

Kc ≥

ymax

[Skogestad, 2001]

PID Controller Design

Skogestad Internal Model Control (SIMC):

Skogestad Internal Model Control (SIMC)

1 τ1 1 1

Kc = = 0

k τc + θ k τc + θ

4

τI = min{τ1 , 0 } = min{τ1 , 4(τc + θ)}

k Kc

τD = τ2

τc = θ

Tuning for slow response with acceptable disturbance rejection

d

Kc ≥

ymax

[Skogestad, 2001]

Behzad Samadi (Amirkabir University) Industrial Control 76 / 95

PID Controller Design

Rules of thumb:

[McMillan, 2001]

Digital Control

Ts : sampling time

Behzad Samadi (Amirkabir University) Industrial Control 78 / 95

Digital Control

Ts : sampling time

Analog to Digital (A-D) conversion:

y (tk ) = y (kTs )

Behzad Samadi (Amirkabir University) Industrial Control 78 / 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

Behzad Samadi (Amirkabir University) Industrial Control 78 / 95

Digital Control

Difference equation:

Digital Control

Difference equation:

Discrete time:

x[k + 1] = ax[k] + bu[k]

Digital Control

Difference equation:

Discrete time:

x[k + 1] = ax[k] + bu[k]

Z -transform:

X (z) b

zX (z) = aX (z) + bU(z) ⇒ =

U(z) z −a

Digital Control

Approximating Continuous-Time Controllers:

Euler’s method (forward difference):

z −1

z = e Ts s ≈ 1 + Ts s ⇒ s ≈

Ts

x(t + Ts ) − x(t)

ẋ(t) ≈

Ts

Behzad Samadi (Amirkabir University) Industrial Control 80 / 95

Digital Control

Approximating Continuous-Time Controllers:

Euler’s method (forward difference):

z −1

z = e Ts s ≈ 1 + Ts s ⇒ s ≈

Ts

x(t + Ts ) − x(t)

ẋ(t) ≈

Ts

Backward difference:

1 1 − z −1

z = e Ts s ≈ ⇒s≈

1 − Ts s Ts

x(t) − x(t − Ts )

ẋ(t) ≈

Ts

Behzad Samadi (Amirkabir University) Industrial Control 80 / 95

Digital Control

Tustin’s approximation:

1 + sTs /2 2 z −1

z = e Ts s ≈ ⇒s≈

1 − sTs /2 Ts z + 1

[Astrom and Wittenmark, 1996]

Digital Control

[Astrom and Wittenmark, 1996]

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Forward

Stable system in s domain −−−−−−→ Stable or unstable system in z

Difference

domain

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Forward

Stable system in s domain −−−−−−→ Stable or unstable system in z

Difference

domain

Backward

Re(s) < 0 −−−−−−→ (Re(z) − 12 )2 + Im(z)2 < 1

4

Difference

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Forward

Stable system in s domain −−−−−−→ Stable or unstable system in z

Difference

domain

Backward

Re(s) < 0 −−−−−−→ (Re(z) − 12 )2 + Im(z)2 < 1

4

Difference

Backward

Stable or unstable system in s domain −−−−−−→ Stable system in z

Difference

domain

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Forward

Stable system in s domain −−−−−−→ Stable or unstable system in z

Difference

domain

Backward

Re(s) < 0 −−−−−−→ (Re(z) − 12 )2 + Im(z)2 < 1

4

Difference

Backward

Stable or unstable system in s domain −−−−−−→ Stable system in z

Difference

domain

Tustin

Re(s) < 0 −−−−−−−−→ |z| < 1

Approximation

Digital Control

Forward

Re(s) < 0 −−−−−−→ Re(z) < 1

Difference

Forward

Stable system in s domain −−−−−−→ Stable or unstable system in z

Difference

domain

Backward

Re(s) < 0 −−−−−−→ (Re(z) − 12 )2 + Im(z)2 < 1

4

Difference

Backward

Stable or unstable system in s domain −−−−−−→ Stable system in z

Difference

domain

Tustin

Re(s) < 0 −−−−−−−−→ |z| < 1

Approximation

Tustin

Stable system in s domain −−−−−−−−→ Stable system in z domain

Approximation

[Astrom and Wittenmark, 1996]

Digital Control

Digital PID:

Proportional: P(t) = Kp e(t)

P[k] = Kp e[k]

Digital Control

Digital PID:

Proportional: P(t) = Kp e(t)

P[k] = Kp e[k]

Kp Rt

Integral: I (t) = Ti 0 e(τ )dτ

KTs

I [k + 1] = I [k] + e[k]

Ti

Digital Control

Digital PID:

Proportional: P(t) = Kp e(t)

P[k] = Kp e[k]

Kp Rt

Integral: I (t) = Ti 0 e(τ )dτ

KTs

I [k + 1] = I [k] + e[k]

Ti

Derivative: Td dD

N dt + D = −Kp Td dy

dt

Td Kp Td N

D[k] = D[k − 1] − (y [k] − y [k − 1])

Td + NTs Td + NTs

Digital Control

Type of variable Sampling time (sec)

Flow 1-3

Level 5-10

Pressure 1-5

Temperature 10-20

Digital Control

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

≈ 0.1 to 0.3

Ti

Digital Control

Rule of thumb for PID controllers:

NTs

≈ 0.2 to 0.6

Td

Digital Control

Inverse Response: When the initial response of a dynamic system is in a

direction opposite to the final outcome, it is called an inverse response.

[Skogestad, 2001]

Digital Control

Inverse Response: When the initial response of a dynamic system is in a

direction opposite to the final outcome, it is called an inverse response.

Obtaining the effective delay (Half rule):

+ half of the largest neglected time constant

+ all smaller higher order time constants

[Skogestad, 2001]

Digital Control

Inverse Response: When the initial response of a dynamic system is in a

direction opposite to the final outcome, it is called an inverse response.

Obtaining the effective delay (Half rule):

+ half of the largest neglected time constant

+ all smaller higher order time constants

Time constant:

1

τ = the largest time constant + the second largest time constant

2

τ1 = the largest time constant,

τ2 = the second largest time constant + 12 the third largest time constant

[Skogestad, 2001]

Digital Control

Q

j (−Tj0 s + 1) −td s

G (s) = Q e

j (τi0 s + 1)

e −θs

Ĝ1 (s) =

τs + 1

X τ20 X Ts

θ =td + Tj0 + + τi0 +

2 2

j j≥3

τ20

τ =τ10 +

2

[Skogestad, 2001]

Digital Control

e −θs

Ĝ2 (s) =

(τ1 s + 1)(τ2 s + 1)

X τ30 X Ts

θ =td + Tj0 + + τi0 +

2 2

j j≥4

τ1 =τ10

τ30

τ2 =τ20 +

2

[Skogestad, 2001]

Digital Control

1

U(s) = Kp (1 + τi s )(1 + τd s)E (s)

Digital Control

1

U(s) = Kp (1 + τi s )(1 + τd s)E (s)

1

U(s) = Kp (1 + τi s )(E (s) + τd sE (s))

Digital Control

1

U(s) = Kp (1 + τi s )(1 + τd s)E (s)

1

U(s) = Kp (1 + τi s )(E (s) + τd sE (s))

1

U(s) = Kp (1 + τi s )(E (s) − τd sY (s))

Digital Control

1

U(s) = Kp (1 + τi s )(1 + τd s)E (s)

1

U(s) = Kp (1 + τi s )(E (s) + τd sE (s))

1

U(s) = Kp (1 + τi s )(E (s) − τd sY (s))

1

U(s) = Kp (1 + τi s )(R(s) − (1 + τd s)Y (s))

Digital Control

1

U(s) = Kp (1 + τi s )(1 + τd s)E (s)

1

U(s) = Kp (1 + τi s )(E (s) + τd sE (s))

1

U(s) = Kp (1 + τi s )(E (s) − τd sY (s))

1

U(s) = Kp (1 + τi s )(R(s) − (1 + τd s)Y (s))

1

U(s) = Kp (1 + τi s )Ed (s)

Digital Control

Digital Control

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);

}

Digital Control

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;

}

Digital Control

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;

}

}

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 in

Chemical 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.

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 Text

Book.

Yu, C.-C. (2007).

Behzad Samadi (Amirkabir University) Industrial Control 95 / 95

Autotuning of PID Controllers: A Relay Feedback Approach.

Springer.

- 85989_F0Uploaded byM Syafiq Samad
- 10 IJAEST Vol No.4 Issue No.1 Stability Enhancement of DC Motor Using IMC Tuned PID Controller 092 096Uploaded byiserp
- ABB Controller IM_C501_10.Manual (SLPC) . PDFUploaded bysimanson
- Basico_PIDMotor.pdfUploaded byOscar Vazquez Espinosa
- Tuning Pid ControllerUploaded bygan_rao
- CMCA 2015Uploaded byCS & IT
- 29824Uploaded byAnonymous
- IARJSET 29Uploaded byshubham kumar
- ARC_introUploaded byWill Black
- PIDUploaded bymwbmughal
- Tuning of PID Matlab.pdfUploaded byKrešimir Džoić
- automoatizacion IEEE.docxUploaded byHector Jhair Lesmes Correal
- 215461 Syl Lab Us 2557Uploaded byNumkang Kang
- IRJET-V2I8242Uploaded byRachel
- Air-craft- Landing Gear Simulation and ControlUploaded byBerkanErol
- Basic Coontrol Theory (2)Uploaded byGeorge J Alukkal
- Gantry Crane DesignUploaded byManish Kumar Gupta
- Process Instrumentation and Control LabUploaded byPiru Piwu
- Design and Simulation of PID Controller Using FPGAUploaded byIJSTE
- Direct digital controllerUploaded byRushikesh Uttamrao patil
- btm5en_9hefzgb_64724Uploaded bychaimae nahrou
- o.dyer PIDUploaded byHema
- CTM_ PID TutorialUploaded byStanley Cesar
- Control Tutorials for MATLAB and Simulink - Introduction_ PID Controller DesignUploaded bySengottu Velusamy
- ICCC 2016 Final Manuscript AK EP TN After ReviewUploaded byWalter Díaz Arias
- --1406958316-11. Electrical - Ijeeer - Modeling of Brushless Dc Drive Using Genetic Algorithm Based Tuning of Pid Controller. - s. Dinesh Kumar - BoopathiUploaded byeeemictech
- Lecture 11Uploaded byChandreyee Mukherjee
- d351132x012Uploaded bylouiswang1964
- Presentasi IESSUploaded bySusanto Sudiro
- Full Paper No 10 M 2Uploaded byAnonymous 8qUHG4Sl

- Linear Control Systems CourseUploaded byBehzad Samadi
- Nonlinear Model Predictive Control for Autonomous Race CarsUploaded byBehzad Samadi
- Aerospace Workshop American Control Conference 2012Uploaded byBehzad Samadi
- Real-time estimation of vehicle state and tire-road friction forcesUploaded byBehzad Samadi
- Matlab TutorialUploaded byBehzad Samadi
- The Tragedy of 1953Uploaded byBehzad Samadi
- Convex Optimization and ApplicationsUploaded byBehzad Samadi
- Model Based Code Generation for Nonlinear Model Predictive ControlUploaded byBehzad Samadi
- Lead Lag Controller DesignUploaded byBehzad Samadi
- Industrial Control Systems - 05 AutomotiveUploaded byBehzad Samadi
- plc-130701140253-phpapp01Uploaded byluispereira89
- 10SSUploaded byRaju Sk
- Industrial Control Systems - 03 PneumaticsUploaded byBehzad Samadi
- Industrial Control Systems - 08 Chemical SystemsUploaded byBehzad Samadi
- Industrial Control Systems - 07 Thermal SystemsUploaded byBehzad Samadi
- Industrial Control Systems - 06 Liquid LevelUploaded byBehzad Samadi
- Industrial Control Systems - 01 IntroductionUploaded byBehzad Samadi
- 02modeling-130701130803-phpapp01Uploaded byluispereira89
- Industrial Control Systems - 04 HydraulicsUploaded byBehzad Samadi

- LIC QBUploaded bysujaganesan2009
- 2.2 & 2.3 Ch 7 Creating Value Targeting & Positioning.docxUploaded byNgơTiênSinh
- Powder MetallurgyUploaded bykhare_girish
- Wizard PRO v1 5 Manual En HeadlampUploaded byinbox_folder4489
- researchcardsUploaded byapi-359914980
- Rm new vishal.docxUploaded byjay
- indrumarUploaded bydandanache
- Basic Electricity ConceptsUploaded byVenkatesh Venkat
- Employee to Vendor Conversion in SAPUploaded byparthasc
- Financial Econometrics Questions and SolutionsUploaded byfindingfelicity
- Spectrum Physics - August 2016Uploaded byPhan Hồ Nghĩa
- Semiconductor Devices SyllabusUploaded byjawaidalig
- Hazop StudyUploaded byOmesh K Sharma
- Ellingham Diagram Ppt (1)Uploaded byNamuduri Anuraag
- 21CRT_servicemanualUploaded byLefter Tiron
- Approaches to Happiness 3Uploaded bygod_26
- Millimeter Wave WirelessUploaded bySatadal Gupta
- Assignment No -2 TE Div - BUploaded bySubhash Khetre
- Manual Simul8Uploaded byleomuri
- Psil Company ProfileUploaded byparesh
- 160493026-Stair-PressUploaded byMusab Abd Elwahab
- Effective Communication SkillsUploaded byHira Ahmed Khan
- lesson plan - colorsUploaded byapi-380946388
- GE KV2C FORMSUploaded bybong destura
- ar_10_11Uploaded bySwaroop Kumar
- Iipm ProspectusUploaded byPRIYASEHWAG
- What is a Faulty LogicUploaded byChelsea Livioko
- Chapter 4 Equilibrium of Rigid BodiesUploaded byhram_phd
- Brochure QBd1200Uploaded byFriday Veronica Florencia
- Ship Air Conditioning SystemUploaded byMEET PATEL

## Much more than documents.

Discover everything Scribd has to offer, including books and audiobooks from major publishers.

Cancel anytime.