pfc predictive functional control - uvaprada/pfccontrol.pdf · generates a simplified solution that...
TRANSCRIPT
PFC Predictive Functional Control
Prof. Cesar de Prada Dpt. of Systems Engineering and Automatic Control
University of Valladolid, Spain [email protected]
Outline
As simple as possible – Motivation – PFC main ideas – An introductory example
Motivation
Predictive control is a widely used control technique in the process industry combined with an optimization layer
Most of the implementations use internal linear models (step responses) and LP optimizers
u(t)
t t+1 t+2 ...
time
past future
tiempo
Set point
Ootput prediction CV, PV
MV, OP
SP
LP, economic optimizer
Sets optimal MVs
Set target
DMC no constraints
Computes MVs
DMC
Motivation
When a significant non-linear process is faced, a non-linear controller based on a non-linear plant model is required.
Current approaches based on first-principles models, NN, volterra series, etc. lead to a non-linear optimization problem that must be solved on-line
This is a heavy burden, both from the implementation and computational load
Non-linear Predictive Control
Process Optimizer u w y v
Predictor y(t+j)
[ ] [ ]
uj)u(tu yj)y(ty))t(u,x(t)(g y(t) )u(t),t)(x(fx
j)u(tj)w(tj)(tyu
Jmin2N
1Nj
1Nu
0j
22
≤+≤≤+≤==
+∆β++−+=∆
∑ ∑=
−
=
Solving the dynamic NLP problem
Process
Simulation from t to t+N2 for computing J(u,x(t))
Optimizer
u J
w
u(t) y(t)
State constraints
Gradients
Aim
The aim of Parametric Predictive Control (PPC) is to facilitate the implementation of the controller while retaining the main non-linear characteristics in its internal model
Good compromise between speed of execution, easy of implementation and performance
Target: Embedded controller in a DCS
PPC Main ideas
Combines first principles models with MPC ideas and generates a simplified solution that is updated every sampling time.
Parametric Predictive Control (PPC) (J. Richalet, 1996) was developed for, and successfully applied to, temperature control of batch reactors.
A. Assandri, A. Rueda, PhD students Three steps:
– Basic ideas presented in the linear case – Extended to the non-linear case with a chemical reactor CSTR – Industrial application to the bottom temperature control of a
distillation column heated with a furnace-reboiler.
Basic concepts
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
Aim: Decrease the error in the future until a certain percentage of the current error w – y(t)
This implies to change the process output by ∆p
Use the model to compute the control u(t) that provides a change in the model output ∆m (u) = ∆p
Key design equation: ∆m (u) = ∆p
Basic concepts
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
1 0 ))t(yw(E pN
d <λ<−λ=
The future error at t+N must be a fraction of the current error w- y(t)
))t(yw)(-1( pN
p −λ=∆
Example: First order model
)t(uk)t(ydt
)t(dy=+τ
Basic concepts (Monoreg)
Example: First order model
)t(uk)t(ydt
)t(dy=+τ
Assuming that u(t) is kept constant along the prediction horizon, that is Nu = 1, and with initial condition yp(t):
Ts sampling time
N prediction (o coincidence) horizon
−+=+ τ
−τ
− ss TN
p
TN
sm e1)t(uk)t(ye)TNt(y
u(t) time
−−
−=∆ τ
−τ
−1e)t(uk)t(y1ey
ss TN
p
TN
m
Design equation
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
design equation: ∆m (u) = ∆p
−−
−=∆ τ
−τ
−1e)t(uk)t(y1ey
ss TN
p
TN
m
))t(yw)(-1( pN
p −λ=∆
( )[ ]
−
−λ−−
−
=τ
−
τ−
1eK
)t(y)t(w1)t(y1e)t(u
s
s
TN
pN
p
TN
Explicit solution for the control signal
Tuning parameters
( )[ ]
−
−λ−−
−
=τ
−
τ−
1eK
)t(y)t(w1)t(y1e)t(u
s
s
TN
pN
p
TN N prediction horizon (number of sampling periods required to decrease the current error by λN)
λ Reduction factor (0,..,1)
A discrete first order system with pole λ will give a free response as the one desired at t+NTs
1q11
−λ− x
Example. Ideal case
1s51)s(G+
=
Model = Process
K = 1
τ = 5 min.
N = 20
λ= 0.8
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
Process output and SP
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
uControl signal
hours
Extension to Nu > 1
Example: First order model
)t(uk)t(ydt
)t(dy=+τ
−+++=+
−+=+
τ−
−τ−
−
τ−
τ−
ss
ss
T)1N(
ssm
T)1N(
sm
T
p
T
sm
e1)Tt(uk)Tt(ye)TNt(y
e1)t(uk)t(ye)Tt(y
u(t)
time
Nu = 2
Ts
Predictions are more complex
Two unknows: u(t), u(t+Ts), then two coincidence points are required
u(t+Ts)
ym(t+Ts)
Robustness
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
1s5.51)s(G+
=
Model ≠ Process
N = 20
λ = 0.8
Process output and SP
10% change in the parameters
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
uControl signal
A bit slower
hours Model:
Robustness
1s59.0)s(G+
=
Model ≠ Process
N = 20
λ = 0.8
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
Steady state error
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
uControl signal
Solution: error model or explicit integrator added
hours
Model:
Incorporating errors
Model:
v)t(uk)t(ydt
)t(dy+=+τ
Assuming also that v does not change along the prediction horizon:
u(t) time
v disturbance
−+
−+=+ τ
−τ
−τ
− sss TNTN
p
TN
s e1ve1)t(uK)t(ye)NTt(y
−+
−+
−=∆ τ
−τ
−τ
− sss TNTN
p
TN
m e1ve1)t(uK)t(y1ey
Design equation
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
Consigna
Proceso
w
py
p∆
dE
t + Nt
m∆Modelo
my
futuropresentepasado
SP
Process
Model
Past t Future
∆p
∆m
design equation: ∆m (u) = ∆p
))t(yw)(-1( pN
p −λ=∆
−+
−+
−=∆ τ
−τ
−τ
− sss TNTN
p
TN
m e1ve1)t(uK)t(y1ey
( ) ( )[ ]
−
−λ−−−
−
=τ
−
τ−
1eK
)t(y)k(w1v)t(y1e)t(u
s
s
TN
pN
p
TNController equation.
v is not known and needs to be estimated every sampling time
Estimating v
t
t
t -Ts
t -Ts
u(t-1)
y(t-Ts)
y(t)
−+
−−+−= τ
−τ
−τ
− sss TT
ssp
T
p e1ve1)Tt(uK)Tt(ye)t(y
−
−−−−−
=τ
−
τ−
τ−
s
ss
T
T
ssp
T
p
e1
e1)Tt(uK)Tt(ye)t(yv
v is estimated from the process model in order to cancel the difference between the measured process output at t and the prediction made with values at t - Ts
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
u
Example
Control signal 1s5.5
9.0)s(G+
=
Model ≠ Process
N = 20
λ = 0.8
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
The error estimation compensates
the modelling errors
0.00
0.05
0.10
0.15
0.20
0.25
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
v
Estimated disturbance
hours Model:
Adding an integrator
))Tt(y)Tt(w(TT)Tt(i)Tt(e
TT)Tt(i)t(i sps
i
sss
i
ss −−−+−=−+−=
( )[ ]( ) ( )s
i
ssTN
pN
p
TN
TteTTTti
1eK
)t(y)t(w1)t(y1e)t(u
s
s
−+−+
−
−λ−−
−
=τ
−
τ−
PPC
∫=t
i
p deTk
ti ττ )()(
u(t) w e
yp(t)
Example
1s5.59.0)s(G+
=
Model ≠ Process
N = 20
λ= 0.8
Ti = 0.1 min
Ts = 20 sec.
hours
No se puede mostrar la imagen en este momento.
Control signal
Model:
First order + delay
Model:
v)dt(uk)t(ydt
)t(dy+−=+τ
v disturbance
d delay
d = DTs
u(t) time
yp
d
∆p
∆m
Process
Model ym
t t+N ( )[ ])t(y)t(w1 p
DNp −λ−=∆ −
First order + delay
( )
−+
−+
+−
−+
−=∆
τ−
τ−
−
−+
=
τ−
ττ−
τ−
∑ss
ssss
TNTDN
1Dt
tm
T)tm(TTN
p
TN
m
e1ve1K)t(u
e)Dm(u1eKe)t(y1ey
( )[ ])t(y)t(w1 pDN
p −λ−=∆ −
( )
( )[ ]
−−−
−−
−
−−−λ−
−=
τ−−+
=
τ−
ττ−
τ−−
−
τ−
−
∑ssss
ss
TN1Dt
tm
T)tm(TTN
p
TN
pDN
1TDN
e1ve)Dm(u1eKe
)t(y1e)t(y)t(w1e1K)t(u
N > D
Estimating v
t t -Ts
t –(D+1)Ts
u(t-(D+1)Ts)
y(t-Ts)
y(t)
t –DTs
DTs
−
−+−−−−
=τ
−
τ−
τ−
s
ss
T
T
ssp
T
p
e1
e1)T)1D(t(uK)Tt(ye)t(yv
v is estimated from the process model in order to cancel the difference between the measured process output at t and the prediction made with values at t - Ts
+ smoothing filter
0.5
1.0
1.5
2.0
2.5
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
u
0.5
1.0
1.5
2.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
Example. Ideal case
1s5e)s(G
s10
+=
−
Model = Process
K = 1
τ= 5 min.
d = 10 min.
N = 40
λ= 0.8
Ts = 1 min.
Process output and SP
Control signal
hours
0.0
0.5
1.0
1.5
2.0
2.5
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
wy
Robustness Model ≠ Process
N = 40
λ = 0.8
The error estimation compensates
the modelling errors hours
1s5.5e9.0)s(G
s9
+=
−
0.0
1.0
2.0
3.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
uControl signal
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5
TIME
v
Estimated disturbance
Model: