33
The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” contr PROCESS setpoints setpoints

The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Embed Size (px)

Citation preview

Page 1: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

The control hierarchy based on “time scale separation”

MPC (slower advanced and multivariable control)

PID (fast “regulatory” control)

PROCESS

setpoints

setpoints

Page 2: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Cascade control: MV for one controller (master c1) is setpoint to another (slave c2).

Common special case of “series cascade control” where y1 = gp1 y2.

Figure 15.4

MV1=ys2 MV=u=P

Page 3: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Tuning of cascade control: Example

d1

d2

d2

g2(s) g1(s)

d1

Page 4: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Simulation cascade control

WITH CASCADE

WITHOUT CASCADE

Setpoint change for y1 at t=0Disturbance d2=0.1 (at input to g2, inside slave loop) at t=200Disturbance d1=0.1 (at input to g1, outside slave loop) at t=400

y1

0 100 200 300 400 500 6000

0.5

1

1.5

2

2.5

3

3.5

4

Page 5: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

PI-control: Without cascade• Integrating process with large effective delay -> control poor

Without cascade:y1 = gu where g = g1g2 = e¡ s

s(20s+1)

Half rule for integrating process (time constant ¿ ! 1 ): g¼ e¡ 11s

s

SIMC PI-tunings with ¿c = µ= 11 (Note: large e®ective delay!):K c = 1

k01

¿c +µ = 11

111+11 = 0:045

¿I = minf ¿;4(¿c + µ)g= minf1 ;4(11+ 11)g= 88

s=tf('s')g1 = 1/sg2 = exp(-s)/(20*s+1)u

y1y1s

Page 6: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

PI-control: With cascade

1. Fast inner loop (slave) with y2 = q (control of °ow between tanks):y2 = g2u where g2 = e¡ s

(20s+1)

SIMC PI-tunings. We ¿c = 2µ = 2 (which seems a bit conservative, but itactually gives a "speedup" of a factor 20/ 2=10 compared to the open-loop):K c2 = 1

k¿

¿c+µ = 11

202+11 = 6:7

¿I 2 = minf¿;4(¿c + µ)g= minf20;4(2+ 1)g= 12

y2s y2u y1y1s

d2 d1

Page 7: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

PI-control: With cascade

y2s y2u y1y1s

d2 d1

2. Slower outer loop (master) with y1 = level and MV = y2s = qs:y1 = g1y2s

Model g1(c2) can be found experimentally with inner loop closed.

Alternative: use model. For series cascade process:g1 = g1

c2g21+c2g2

where g1 = 1s

Approximation of inner loop (SIMC): c2g21+c2g2

¼ e¡ µ2s

¿c2s+1 = e¡ s

2s+1

Resultingmodel (for tuningof master loop) usinghalf rule: g1 = e¡ s

s(2s+1) ¼ e¡ 2s

s

SIMC PI-tunings. We are again bit conservativeand use ¿c = 1:5µ= 3:K c1 = 1

k01

¿c +µ = 11

13+2 = 0:2

¿I 1 = minf¿;4(¿c + µ)g= minf1 ;4(3+ 2)g= 20

Page 8: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

PI-control: With cascade

Slower outer loop with y1 = level and MV = y2s = qs:y1 = g1y2s

Model g1 can be found experimentally with inner loop closed.

Alternative: use model. For series cascade process:g1 = g1

c2g21+c2g2

where g1 = 1s

Approximation of inner loop (SIMC): c2g21+c2g2

¼ e¡ µs

¿c s+1 = e¡ s

2s+1

Resulting model using half rule: g1 = e¡ s

s(2s+1) ¼ e¡ 2s

s

SIMC PI-tunings. We are again bit conservativeand use ¿c = 1:5µ= 3:K c1 = 1

k01

¿c +µ = 11

13+2 = 0:2

¿I 1 = minf ¿;4(¿c + µ)g= minf1 ;4(3+ 2)g= 20

Fast inner loop with y2 = q (control of °ow between tanks):y2 = g2u where g2 = e¡ s

(20s+1)

SIMC PI-tunings. We are a bit conservative and use ¿c = 2µ= 2:K c2 = 1

k¿

¿c +µ = 11

202+11 = 6:7

¿I 2 = minf¿;4(¿c + µ)g= minf20;4(2+ 1)g= 12

y2s y2u y1y1s

Fast inner loop (slave loop): Takescare of disturbances inside slave loop (d2)

Also have benefit of faster outer loop (master loop):Get better rejection of disturbances outside slave loop (d1) + better setpoint response (y1s)

d2 d1

Page 9: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

s=tf('s')g1 = 1/sg2 = exp(-s)/(20*s+1)

Kc = 0.0455taui = 88taud = 0WITHOUT CASCADE

File: tunepid4_cascade0

d2 d1

y1s

Page 10: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

s=tf('s')g1 = 1/sg2 = exp(-s)/(20*s+1)

Kc1 = 0.2000taui1 = 20Kc2 = 6.7000taui2 = 12

WITH CASCADE

File: tunepid4_cascade

d2 d1

y1s

Page 11: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Simulation cascade control

WITH CASCADE

WITHOUT CASCADE

Setpoint change for y1 at t=0Disturbance d2=0.1 (at input to g2, inside slave loop) at t=200Disturbance d1=0.1 (at input to g1, outside slave loop) at t=400

y1

0 100 200 300 400 500 6000

0.5

1

1.5

2

2.5

3

3.5

4

Page 12: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

0 100 200 300 400 500 600-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Input usage (u)

u

WITHOUT CASCADE

WITH CASCADE

Page 13: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Feedforward control

• Model: y = g u + gd d

• Measured disturbance: dm = gdm d

• Controller: u = cFF dm

• Ideal feedforward– y = 0 ) u = - (gd / (gdm g) d

– Ideal controller: cFF = - gd / (gdm g)

– In practice: cFF(s) must be realizable– Order pole polynomial ¸ order zero polynomial– No prediction

• Common simplification: cFF = k (static gain)• General: cF F (s) = k (T1s+1)¢¢¢

(¿1s+1)¢¢¢e¡ µs

Page 14: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Exampley = gu + gd1d1 + gd2d2

Feedforward control: u = cF F dm

Ideal feedforward controller: cF F = ¡ gdgdm g

Example (assume perfect measurements, gdm = 1):g(s) = e¡ s

s(20s+1)

gd1(s) = 1s

gd2(s) = e¡ s

s(20s+1)

Disturbance1:Ideal: cF F 1 = ¡ (20s + 1)es (has prediction + has more zeros than poles)Actual: cF F 1 = ¡ 1¢20s+1

¿s+1 where ¿ is tuning parameter(smaller ¿ gives better control, but requires more input usage).C omment : I n the simulat ion we use ¿ = 2 which is quite aggressive; ¿ = 20 would give cF F 1 = ¡ 1.

Disturbance2:Ideal: cF F 2 = ¡ 1Actual: cF F 2 = ¡ 1Comment: In practice, one often sets the feedforward gain about 80% of the theoretical,

that is, cF F 2 = ¡ 0:8. T his is to avoid that the feedforward controller overreacts, which may

confuse the operators. It also makes the feedforward action more robust.

Page 15: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Feedforward control (measure d1 & d2)d1: cff = -(20*s+1)/(2*s+1)d2: cff2 = -1 (not shown) d1

d2

Page 16: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Simulation feedforward

0 100 200 300 400 500 6000

0.5

1

1.5

2

2.5

3

3.5

4

y1

FEEDBACK ONLY

FEEDFORWARD ADDED FOR d1 and d2

Page 17: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Multivariable control

1. Single-loop control (decentralized)2. Decoupling3. Model predictive control (MPC)

Page 18: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Single-loop control

• Independent design – Use when small interactions (RGA=I)

• Sequential design– Start with fast loop– NOTE: If close on negative RGA, system will go

unstable of fast (inner) loop saturates• + Generally better performance, but • - outer loop gets slow, and • - loops depend on each other

Page 19: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

One-way Decoupling (improved control of y1)

c2

g11 g12

g21 g22

y1

y2

r1-y1

r2-y2 u2

u1c1

DERIVATIONProcess: y1 = g11 u1 + g12 u2 (1)

y2 = g21 u1 + g22 u2 (2)

Consider u2 as disturbance for control of y1. Think «feedforward»: Adjust u1 to make y1=0. (1) gives u1 = - (g12/g11) u2

-g12/g11

one-way coupled process

D12

Page 20: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Two-way Decoupling: Standard implementation (Seborg)

c2

g11 g12

g21 g22

y1

y2

r1-y1

r2-y2

u2

u1c1

… but note that diagonal elements of decoupled process are different from G Problem for tuning!

Process: y1 = g11 u1 + g12 u2Decoupled process: y1 = (g11-g21*g12/g22) u1’ + 0*u2’Similar for y2.

-g12/g11

-g21/g22

decoupled process = ([G-1]diag)-1

u’1

u’2

Page 21: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Two-way Decoupling: «Inverted» implementation (Shinskey)

c2

g11 g12

g21 g22

y1

y2

r1-y1

r2-y2

u2

u1c1

-g12/g11

-g21/g22

decoupled process= Gdiag

u’1

Advantages: (1) Decoupled process has same diagonal elements as G. Easy tuning! (2) Handles input saturation! (if u1 and u2 are actual inputs)

Proof (2): y1 = g11 u1 + g12 u2, where u1 = u1’ – (g12/g11)u2.Gives : y1 = g11 u’1 + 0* u2’Similar: y2 = 0*u1’ + g22 u2’

u’2

Sigurd’s recommends this alternative!

Page 22: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Note: Implement only current input Δu1

Redo whole thing at each sample (move t0).

ydev=y-ys

udev=u-us

Discretize in time:

Model predictive control (MPC) = “online optimal control”

Advantage MPC: Handles multivariable control, feed-forward, cascade and constraints in a unified manner

(model)

Page 23: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

23

Implementation MPC project(Stig Strand, Statoil)

• Initial MV/CV/DV selection• DCS preparation (controller tuning, instrumentation, MV handles, communication logics etc)• Control room operator pre-training and motivation• Product quality control Data collection (process/lab) Inferential model

– Distillation: Logarithmic compositions to reduce nonlinearity, CV = - ln ximpurity

• MV/DV step testing dynamic models

• Model judgement/singularity analysis remove models? change models?• MPC pre-tuning by simulation MPC activation – step by step and with care – challenging different

constraint combinations – adjust models?• Control room operator training• MPC in normal operation, with at least 99% service factor

DCS = “distributed control system” = Basic PID control layer

Page 24: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

24

Depropaniser Train 100 – 24-VE-107

21

1

5

6

17

20

33

34

39

48

35

40

18

24TC

1022

LP condensate

LP steam 24LC

1026

24PC

1010

24TI

1018

24LC

1009

24-HA-103A/B

24-VA-102

24-PA-102A/B

24FC

1008

24TI

1021

24LC

1010

24TI

1038

24TI

1020

24PC

1020

24PDC1021

24HC

1015

Kjølevann

24-VE-107

24TI

1011

24TI

1017

24TI

1012

24PI

1014

24PD

1009

24FC

1009

24TI

1013

Propane

Flare

Bottoms from deetaniser

25FI

1003

Manipulated variables (MV) = Set points to PID controllers

24TI

1005

24LC

1001

24LC1001.VYA

Disturbance variables (DV) = Feedforward24

AR1005

C = C3E = nC4F = C5+

Debutaniser 24-VE-108

24AR

1008

B = C2C = C3D = iC4

Controlled variables (CV) = Product qualities, column deltaP ++Normally 0 flow, used for start-ups to remove inerts

Page 25: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

25

Depropaniser Train100 step testing• 3 days – normal operation during night•

CV1=TOP COMPOSITION

CV2=BOTTOM COMPOSITION

CV3=¢p

DV =Feedrate

MV1 = L

MV2 = Ts

Page 26: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

26

Estimator: inferential models • Analyser responses are delayed – temperature measurements respond 20 min earlier• Combine temperature measurements predicts product qualities well

Calculated by 24TI1011 (tray 39)

Calculated by 24TC1022 (t5), 24TI1018 (bottom), 24TI1012 (t17) and 24TI1011 (t39)

CV1=TOP COMPOSITION

CV2=BOTTOM COMPOSITION

Page 27: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

27

Depropaniser Train100 step testing – Final process model • Step response models:

• MV1=reflux set point increase of 1 kg/h• MV2=temperature set point increase of 1 degree C• DV=output increase of 1%.

3 t 20 min

MV2 = TsMV1 = L DV =Feedrate

CV1=TOP COMPOSITION

CV2=BOTTOM COMPOSITION

CV3=¢p

Page 28: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

28

Depropaniser Train100 MPC – controller activation• Starts with 1 MV and 1 CV – CV set point changes, controller tuning, model verification and corrections• Shifts to another MV/CV pair, same procedure• Interactions verified – controls 2x2 system (2 MV + 2 CV)• Expects 3 – 5 days tuning with set point changes to achieve satisfactory performance

MV1 = L

MV2 = Ts

DV =Feedrate

CV1=TOP COMPOSITION

CV2=BOTTOM COMPOSITION

CV3=¢p

Page 29: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

The final test: MPC in closed-loop

CV1

CV2

CV3

MV1

MV2

DV| = Present time

predictedpast

Page 30: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Conclusion MPC (Statoil)

• Previous advanced control:– Cascade, feedforward, selectors, decouplers, split

range control, etc.• MPC: Generally simpler

– Well accepted by operators– Statoil: Use of in-house technology and expertise

successful

Page 31: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints

Pole placement

• Old control design method• Useful for insight, but not used in practise

Page 32: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints
Page 33: The control hierarchy based on “time scale separation” MPC (slower advanced and multivariable control) PID (fast “regulatory” control) PROCESS setpoints