process control – fx · process control – fx computer control industrial control systems...

35
Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET Reading: Systems Engineering and Process Control: X.1–X.8 1 / 35

Upload: buidat

Post on 09-Sep-2018

249 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Process control – FX

◮ Computer control◮ Industrial control systems◮ Sampled systems◮ Controller discretization

◮ Logic and sequence control◮ Boolean algebra◮ GRAFCET

Reading: Systems Engineering and Process Control: X.1–X.8

1 / 35

Page 2: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Industrial control systems

I/O I/O I/O I/O I/O I/O

PROCESS

Process Bus Process Bus

Local operatorstation

ProcessProcessComputerComputer

MIS

LAN

PC

Main Control Room

Laboratory

Process Engineer’s

Workstation

Process Control

OS OS

2 / 35

Page 3: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Control in several levels

Low level:

◮ Logic

◮ Simple control loops, often PI(D)

Mid level:

◮ Sequence control

◮ Coordination using different control structures

◮ Advanced MIMO control, e.g., Model Predictive Control

High level:

◮ Production planning

◮ Process optimization

3 / 35

Page 4: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Sampled control systems

uk

uk

ky

ky

Communication network

Computer

Process

andD−A

Hold

Sampler

A−Dand

. . . . . .

. . . . . . . .. . . .

u(t)

u(t)

t

tt

t

y(t)

y(t)

4 / 35

Page 5: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Sampled control systems

◮ Mix of continuous and discrete time – hard to analyze◮ Simplification: Only look at sampling time points

◮ Potential problems◮ Lost information through sampling◮ Quantization effects in D-A och A-D converters◮ Effects on communication delays

5 / 35

Page 6: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Lost information through sampling

0 5 10

−1

0

1

Time

◮ Sampling: Discrete points with given time interval sampling

interval, h are measured.

Sampling frequency: ω s = 2π /h

◮ Aliasing: Higher frequencies are seen as lower frequencies

◮ The sampling theorem: At least two samples per period

needed to avoid aliasing

6 / 35

Page 7: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Aliasing example 1

Rotating disc:

Sampling interval

Sampled sequence:

7 / 35

Page 8: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Aliasing example 1

Rotating disc Sampled disc

8 / 35

Page 9: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Aliasing example 2

Steam

Pressure

PumpFeedwater

Condensedwater

Temperature

Valve

To boiler

2 min

38 min

Tem

pera

ture

2.11 min

Time

Pre

ssu

re

9 / 35

Page 10: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Avoiding aliasing

All signal components above the Nyquist frequency

ω N = ω s/2 = π /h should be filtered away before sampling

0 10 20 30

−1

0

1a)

0 10 20 30

−1

0

1b)

0 10 20 30

−1

0

1

Time

c)

0 10 20 30

−1

0

1

Time

d)

a) not filtered signal, b) filtered signal, c) sampled not filtered signal,

d) sampled filtered signal

10 / 35

Page 11: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Mathematical system descriptions

◮ Continuous time systems:◮ Differential equations, e.g.,: T dy

dt+ y= Ku

◮ Laplace transform, e.g.,: Y(s) = K1+TsU (s) = G(s)U (s)

◮ Sampled (discrete time) systems:◮ Difference equations

y(kh+ h) + ay(kh) = bu(kh)

◮ Shift operator: qy(kh) = y(kh+ h)

y(kh) =b

q+ au(kh) = H(q)u(kh)

11 / 35

Page 12: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Process description sampling

◮ Linear continuous time process on state-space form:

x(t) = Ax(t) + Bu(t)

y(t) = Cx(t) + Du(t)

◮ How does x change between sample points t and t+ h?

(supposing input u is constant):

x(t+ h) = eAhx(t) +

∫ t+h

t

eA(t−τ )Bu(τ ) dτ

= eAhx(t) +

∫ h

0

eAτ B dτ u(t)

= Φx(t) + Γu(t)

◮ Linear difference equation

12 / 35

Page 13: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Discrete approximation of continuous controller

e(t) u(t)e(kh) u(kh)

Hc(q) ( Gc(s)

Algorithm

Clock

A-D D-A

◮ Shorter sampling interval h enables for better approximation

◮ How to translate Gc(s) → Hc(q)?

13 / 35

Page 14: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Discretization methods

Approximate derivatives with differences:

◮ Forward difference

dy(t)

dt(y(t+ h) − y(t)

h

◮ Backward difference

dy(t)

dt(y(t) − y(t− h)

h

Note! Many other (better) discretization methods exist

14 / 35

Page 15: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Example

Discretize the continuous systemdy(t)

dt= −3y(t) + 2u(t)

◮ Forward difference:

dy(t)

dt(y(kh+ h) − y(kh)

h= −3y(kh) + 2u(kh)

y(kh+ h) = (1− 3h)y(kh) + 2hu(kh)

◮ Backward difference:

dy(t)

dt(y(kh) − y(kh− h)

h= −3y(kh) + 2u(kh)

y(kh) =1

1+ 3hy(kh− h) +

2h

1+ 3hu(kh)

15 / 35

Page 16: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Stability analysis

Stability for a scalar difference equation:

y(kh+ h) = ay(kh) + bu(kh)

Suppose u(kh) = 0. y(kh) = aky(0)

◮ y(∞) = 0 if pap < 1

◮ py(∞)p = ∞ if pap > 1

○ (Generally: poles inside unit circle [ asymptotic stability)

Stability conditions for above example:

◮ Forward difference: p1− 3hp < 1 [ 0 < h < 2/3

◮ Backward difference: p 11+3h p < 1 [ h > 0

16 / 35

Page 17: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Simulation of example with G(s) = 2s+3

Exact solution (–) Forward difference (- -) Backward difference (-.)

0 1 2 30

1

Out

put h=0.05

0 1 2 30

1

Out

put h=0.2

0 1 2 30

1

Time

Out

put h=0.7

17 / 35

Page 18: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Discretization of PI controller

◮ PI controller with practical modifications (L9):

u(t) = K(

β r(t) − y(t))

︸ ︷︷ ︸

P(t)

+

∫ t

0

(K

Tie(τ ) +

1

Tt

(u(τ ) − v(τ )

))

︸ ︷︷ ︸

I(t)

◮ P part static, no approximation needed:

P(kh) = K (β r(kh) − y(kh))

18 / 35

Page 19: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Discretization of PI controller

◮ I part discretized with forward difference:

I(t) =

∫ t

0

(K

Tie(τ ) +

1

Tt

(u(τ ) − v(τ )

))

dI(t)

dt=K

Tie(t) +

1

Tt

(u(t) − v(t)

)

I(kh+ h) − I(kh)

h=K

Tie(t) +

1

Tt

(u(t) − v(t)

)

I(kh+ h) = I(kh) +Kh

Tie(kh) +

h

Tt

(u(kh) − v(kh)

)

19 / 35

Page 20: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Implementation of PI controller – pseudo code

LOOP

WaitForClockTick();

r = ADIn(1);

y = ADIn(2);

P = K*(beta*r-y);

v = P + I;

IF v < umin

u = umin;

ELSEIF v > umax

u = umax;

ELSE

u = v;

END

DAOut(1,u);

I = I + K*h/Ti*(r-y) + h/Tt*(u-v);

END

Program

Clock

20 / 35

Page 21: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Logic and discrete control

◮ Discrete signals◮ Measurements: true or false◮ Inputs: on or off

◮ Logical nets◮ Static nets◮ E.g.: Alarms

◮ Sequence nets◮ Dynamic nets◮ E.g.: Start-up, shutdown

batch process

21 / 35

Page 22: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Operations and symbols

Three operations:

and: a ⋅ b a and b a ∧ bor: a+ b a or b a ∨ b

not: a not a ¬a

Symbols for and and or:

22 / 35

Page 23: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Computing with logic

Boolean algebra:

◮ Ex: 1+ a = 1 och 0+ a = a

◮ Ex: 1 ⋅ a = a och 0 ⋅ a = 0

◮ Ex: a+ a = 1 och a ⋅ a = 0

Logic laws:

◮ Commutative

a ⋅ b = b ⋅ a, a+ b = b+ a

◮ Associativea ⋅ (b ⋅ c) = (a ⋅ b) ⋅ c, a+ (b+ c) = (a+ b) + c

◮ Distributivea ⋅ (b+ c) = a ⋅ b+ a ⋅ c

◮ de Morgan’s lawa+ b = a ⋅ b, a ⋅ b = a+ b

23 / 35

Page 24: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Example

Alarm for a batch reactor, sound alarm if:

◮ temperature T in tank too high and cooling valve Q off

◮ temperature T is high and inflow valves is open V1

Q

T

V 1

L 1

L 0

V 2

Truth table:

T Q V1 y =alarm

0 0 0 01 0 0 10 1 0 01 1 0 00 0 1 01 0 1 10 1 1 01 1 1 1

24 / 35

Page 25: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Sequence control

Tasks should be done in sequence. Example:

◮ Elevator

◮ Washing machine

◮ Cake baking

◮ Start-up and shutdown of reactor

Requires memory (state), order is important

Sequence net

◮ Finite state machine (automata theory)

◮ Petri net

◮ GRAFCET (a kind of Petri net)

25 / 35

Page 26: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Steps and transitions

Steps:

◮ Active and inactive

S1

S1.x = 1 when active

S1.T = number of time units since the step last became active

Initial step

Transitions:

fired when preceding step is active and transition condition satisfied

condition true and/or event occurred +previous step active

26 / 35

Page 27: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Control structures

◮ Alternative ways:1. Branches (mutually exclusive)

a a

mutually exclusive

2. Repetition

◮ Parallel ways with synchronized exit

(synchronization)

split

join

27 / 35

Page 28: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Fundamental symbols

GRAFCET symbols. (a) Step (inactive); (b) Step (active); (c) Initial step; (d) Step withaction; (e) Transition; (f) Branching with mutually exclusive alternatives; (g) Branching intoparallel paths; (h) Synchronization.

28 / 35

Page 29: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Some ExamplesLegal GrafcetIllegal Grafcet

29 / 35

Page 30: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Execution principles

Grafcet evolution rules:

◮ The initial step(s) is active when the function chart is initiated.

◮ A transition is firable if:

○ all steps preceding the the transition are active (enabled).○ the receptivity (transition condition and/or event) of the

transition is true

A firable transition must be fired.

◮ all the steps preceding the transition are deactivated and all

the steps following the transition are activated when a

transition is fired

◮ all firable transitions are fired simultaneously

◮ when a step must be both deactivated and activated it remains

activated without interrupt

30 / 35

Page 31: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

GRAFCET – Examples of firing

31 / 35

Page 32: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Example: Specifications

Q

T

V 1

L 1

L 0

V 2

Verbal description:

1. Start the sequence by pressing the button B. (not shown)

2. Fill water by opening the valve V1 until the upper level L1 is reached.

3. Heat the water until the temperature is greater than T . The heating

can start as soon as the water is above the level L0.

4. Empty the water by opening the valve V2 until the lower level L0 isreached.

5. Close the valves and go to Step 1 and wait for a new sequence to

start.

32 / 35

Page 33: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Example: Time functions

L0

L1

T

B

V1

V2

Q

Signal−time diagram

Level

Temp

L0

L1

T

Fill

Heat

Way − time diagram (väg−tid−diagram)

Empty

33 / 35

Page 34: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Example: Sequence net

Wait for start

Button pressed

L0 reached

Fill

Fill

L1 reached

Heat

T reached

Empty

L0 reached

1

34 / 35

Page 35: Process control – FX · Process control – FX Computer control Industrial control systems Sampled systems Controller discretization Logic and sequence control Boolean algebra GRAFCET

Project

◮ Create sequential control program for a CSTR-process in

JGrafchart (Java-based implementation of GRAFCET)

◮ Digital implementation of PI controller for water level and

temperature

35 / 35