Professional Documents
Culture Documents
Proyecto de Ingeniera
Autores:
GARETTO, FERNANDO DARO G-2529/1
ZUMOFFEN, DAVID ALEJANDRO Z-0402/2
Director:
Dra. MARTA BASUALDO
Diciembre de 2002
RESUMEN
Este proyecto describe el desarrollo de un soft-sensor para estimar composiciones
instantneas de la corriente de salida de una columna de destilacin batch (discontinua).
El objetivo de este inferenciador es su empleo en tcnicas de control convencional para
el seguimiento de una trayectoria ptima obtenida previamente. El desarrollo del softsensor est basado en una tcnica de identificacin de sistemas no lineales que conduce
a un modelo denominado Hammerstein .
La columna de destilacin batch ternaria ha sido modelada en forma rigurosa mediante
el software Hysys Plant de Hyprotech-Aspen y su verificacin se realiza mediante los
datos reales de laboratorio extrados de la literatura especializada. Esto d como
resultado un modelo riguroso confiable.
Las plantas de destilacin tipo batch presentan un real desafo para implementar
estrategias de control ya que las variables a controlar trabajan en estado transiente
permanentemente.
El lazo de control que se aplica utiliza un PID diseado para seguir un setpoint variable
propuesto sobre la base de optimizar alguna de las condiciones de produccin del
sistema. El modelo del soft-sensor es diseado bajo el entorno de trabajo de Matlab
realizndose la comunicacin con la planta que est en el entorno de trabajo de Hysys
mediante una interfaz de comunicacin de ste que permite utilizar a Matlab como un
controlador ActiveX-Com para Hysys.
En el marco de la automatizacin global de planta el soft-sensor contribuye a estimar las
composiciones acumuladas en los tanques de forma de producir el cierre y apertura de
las vlvulas de los tanques que almacenan los productos y cortes intermedios de acuerdo
a las especificaciones del mercado.
AGRADECIMIENTOS
Nuestro agradecimiento va destinado a todas aquellas personas que posibilitaron este
trabajo, ya sea compaeros, profesores, familiares, amigos; ya que nos ofrecieron un
apoyo incondicional.
Queremos hacer una mencin especial a la Dra. Marta Basualdo por su gran dedicacin
y esfuerzo durante todo el desarrollo del proyecto, proporcionndonos material de
estudio e investigacin.
Tambin queremos agradecer a Juan Pablo Ruz, quien nos facilit la tarea de trabajar
con un software (HYSYS) completamente desconocido por nosotros.
NDICE
CAPTULO 1.- INTRODUCCIN9
CAPTULO 2.- CONCEPTOS BSICOS DE LA DESTILACIN BATCH.11
2.1.- Generalidades.12
2.1.1.- Destilacin simple12
2.1.2.- El por qu de la destilacin batch.14
2.2.- Modos de operacin15
2.2.1.- Anlisis terico.15
2.2.2.- Reflujo constante..18
2.2.3.- Reflujo variable....19
2.2.4.- Reflujo ptimo..20
2.3.- Optimizacin...21
2.3.1.- Funciones objetivo...21
2.3.2.- Anlisis de los grados de libertad22
2.3.2.1.- Modo de reflujo constante.22
2.3.2.2.- Modo de reflujo variable...23
2.3.2.3.- Modo de reflujo ptimo.24
2.3.3.- Consideraciones de factibilidad25
2.3.4.- Solucin del problema..25
2.4.- Control ptimo26
2.4.1.- Control ptimo en la destilacin batch27
2.4.1.1.- Problema de mximo destilado.28
2.4.1.2.- Problema de mnimo tiempo de destilado.28
2.4.1.3.- Problema de mximo aprovechamiento28
2.4.2.- Tcnicas de solucin29
CAPTULO 3.- MODELADO RIGUROSO DE LA PLANTA EN ESTUDIO...30
3.1.- Caractersticas y esquema de la planta en el entorno de Hysys.31
3.2.- Obtencin de datos..32
3.2.1.- Simulacin de la planta con relacin de reflujo constante..32
3.2.2- Simulacin de la planta con relacin de reflujo variable.35
CAPTULO 4.- IDENTIFICACIN DE SISTEMAS37
4.1- Introduccin.38
4.2.- Definicin y aspectos de la identificacin..38
4.3.- Fases del proceso de identificacin....38
4.3.1.- Planificacin de experimentos y obtencin de datos...38
4.3.2.- Seleccin de la estructura de modelo...38
4.3.3.- Estimacin de parmetros39
4.3.4.-Validacin del modelo...39
4.4.- Identificacin de sistemas no lineales.39
4.4.1.- Introduccin.39
4.4.2.- Identificacin de modelos Hammerstein..40
NDICE DE FIGURAS
CAPTULO 2.- CONCEPTOS BSICOS DE LA DESTILACIN BATCH
FIGURA 2.1.FIGURA 2.2.FIGURA 2.3.FIGURA 2.4.FIGURA 2.5.FIGURA 2.6.FIGURA 2.7.-
CAPTULO 1
INTRODUCCIN
10
CAPTULO 2
CONCEPTOS BSICOS
DE LA DESTILACIN
BATCH
11
12
2.1.- INTRODUCCIN
La destilacin es el proceso ms antiguo y ms ampliamente usado de separacin en la
industria.
Esquemticamente y como diagrama inicial podemos plantear:
13
dX B
dB
=
B (X D X B )
B
dX B
dB
=
F B X ( X D X B )
F
Entonces:
X
B
dX B
B
ln ( ) =
F XF (X D X B )
14
Donde:
Y = composicin de vapor
X = composicin de lquido
Si N de tales estados son apilados uno por encima de otro y se les permite que tengan
vaporizacin y condensacin sucesiva, esto da como resultado un enriquecimiento del
vapor y un empobrecimiento del lquido, en trminos del componente ms voltil, en el
condensador y en el reboiler respectivamente.
El vapor asciende hacia lo alto de la columna y el lquido desde el condensador es
reinyectado hacia abajo; el contacto entre las fases lquido y vapor es establecido a
travs de contactos llamados platos.
Entonces es fcil expresar la operacin de la columna en trminos de escenarios de
equilibrio termodinmico donde dichos escenarios representan el nmero terico de
platos de la columna. De todas formas el anlisis lleva consigo un nmero de
restricciones o condiciones que veremos oportunamente.
2.1.2.- El por qu de la destilacin batch
La destilacin batch es muy importante en escala de produccin pequea donde es
necesario separar pequeas cantidades de productos que poseen gran valor agregado.
La caracterstica ms destacada de la destilacin batch es la flexibilidad; permitiendo
manejar varias mixturas cambiando las condiciones de operacin de la columna.
La destilacin batch requiere la menor cantidad de capital para separar componentes
relativamente puros; la destilacin continua generalmente requiere una columna
separada para cada componente.
Por ejemplo podemos graficar los sistemas de separacin de benceno-tolueno-xyleno;
tanto para destilacin continua como para destilacin batch.
15
dB B dx B
B
F B = x x D x B = ln F
F
16
17
V j +1 = V j = V
dD dD
=
.(R + 1)
dt
dt
(2.1)
L
dD / dt
.x j 1 +
.x D
V
V
(2.2)
R
1
.x j 1 +
.x D
R +1
R +1
(2.3)
18
19
dB
dD
dB
V
=
=
dt
dt
dt
R +1
Integrando:
T
dt =
0
R +1
dB
V
T=
R +1
.D
V
B
dx B
B
ln =
F xF x D x B
20
El criterio de detencin para esta caso puede ser, el fin de la composicin de fondo,
cantidad de producto recogido desde le condensador o el reboiler, o tiempo de
destilacin.
El tiempo de destilacin puede ser incluido siguiendo los mismos pasos del caso
anterior obteniendo ahora la siguiente expresin de T:
F
T =
B
R + 1 F (x D x F )
.
dB
V
( x D x B )2
21
destilado obtenido por este mtodo dado por F.(1-B/F) es igual al obtenido por los dos
mtodos anteriores.
Recurriendo al bsico balance de masas podemos obtener la composicin promedio de
destilado:
F .x F B.x B
D
0
Que puede demostrarse que es idntico al que se puede obtener para los dos casos
anteriores.
Ahora el tiempo requerido para esta operacin se deriva de las ecuaciones bsicas de
balance de material y de la ecuacin de Rayleigh quedando la expresin de T como:
D
x Dav . dD = F .x F B.x B
T=
xF
B.
xB
x Dav =
( R + 1)
1
.
dB
(x D x B )
V
Segn sea el perfil de reflujo puede que el tiempo requerido sea menor que para los dos
mtodos anteriores, obteniendo la misma cantidad de producto con igual pureza.
Este mtodo fue obtenido por Coward (1967) y se especifica con el nombre de poltica
ptima.
La poltica de reflujo ptimo es esencialmente un compromiso entre los dos modos
bsicos de operacin (reflujo constante y variable) y est basado en la habilidad para
obtener el mayor provecho de operacin.
El clculo de esta poltica es un problema dificultoso y se basa en la teora de control
ptimo. Existen varias polticas de reflujo ptimo que dependiendo de los ndices de
performance elegidos como objetivo se pueden clasificar en:
1) Mnimo tiempo de destilado.
2) Mxima cantidad de destilado.
3) Mximo aprovechamiento.
Ms adelante se estudiar el control ptimo en detalle.
2.3.- OPTIMIZACIN
Como la destilacin batch es una operacin muy flexible y posee muchas formas para
ser operada, es dificultoso el anlisis de todas las posibles combinaciones de uso.
Dependiendo entonces de los objetivos deseados podemos obtener como fin maximizar
destilado, minimizar el tiempo de destilacin maximizar el aprovechamiento teniendo
en cuenta los costos de operacin.
2.3.1.- Funciones objetivo
Beightler, Philips y Wilde(1967) describen la optimizacin como un proceso de tres
pasos, donde el primero es el conocimiento del sistema y modelar este proceso; el
segundo paso involucra buscar una medida de la efectividad del modelo y el tercero es
incluir la teora de optimizacin, la cual comienza con un anlisis de grados de libertad
y la aplicacin de un adecuado algoritmo de optimizacin para encontrar la solucin.
En trabajos realizados anteriormente sobre destilacin batch , las funciones objetivo
consideradas eran:
22
23
24
25
optimizar (Z = z ( x))
sujeto a : h( x) = 0, g ( x) 0
26
mientras aseguramos que el modelo opera dentro de los lmites establecidos por h y
g.
Esquemticamente es:
27
Los problemas de control ptimo que aqu se analizaran requieren establecer un ndice
de performance para el sistema y disear el sistema para que optimice este ndice
elegido.
El uso de la funcin de control, aqu provee un control a lazo abierto; entonces las
variables son temporalmente dependientes, este tipo de problema de control es llamado
como un problema de control ptimo.
La dinmica de estas variables de decisin hacen dificultosa la resolucin de estos
problemas respecto a la optimizacin normal, donde las variables de decisin son
escalares.
En general tcnicas matemticas son usadas para resolver problemas de control ptimo,
las cuales involucran clculos de variaciones, programacin dinmica, principio
mximo y programacin no lineal (NLP) .
Los primeros tres mtodos tratan las variables de decisin como vectores, mientras que
NLP aproxima las variables para ser transformadas en escalares.
La eleccin de la mejor tcnica de optimizacin es totalmente dependiente del problema
a resolver.
2.4.1.-Control ptimo en la destilacin batch
Los problemas de control ptimo pueden ser clasificados de la siguiente forma:
Problema de mximo destilado: Aqu la cantidad de destilado de una
especificada concentracin, para un especificado tiempo es maximizada.
Problema de mnimo tiempo: Aqu se minimiza el tiempo necesario para
producir una cantidad de destilado dada, de una concentracin especificada.
Problema de mximo aprovechamiento: Donde es maximizada la funcin
aprovechamiento para una especificada concentracin.
Recordando que el balance diferencial de material era:
dxt1 dBt
V
=
=
; x10 = B0 = F
dt
dt
Rt + 1
Donde F es la carga inicial para t=0.
Recordando tambin el balance de material para el componente 1 sobre un tiempo
diferencial dt es:
dxt2
( x 1B x 1D )
V
=
.
; x 02 = x 1F
dt
( Rt + 1)
Bt
Donde es:
xt1 = var iable de estado que representa la cantidad de c arg a remanente en el fondo
xt2 = var iable de estado que representa la composicion del elemento clave en el fondo
Rt = var iable de control , relacin de reflujo
V = flujo de vapor
x1D = composicin de destilado para el componente clave
t = tiempo de batch
28
V
dD
=
=
dt
dt
j
.
.
max imizar
R
+
1
dt
Rt
t
0
0
x Dav =
V
.x D(1) .dt
t +1
R
0
V
.dt
+
1
t
= x*
R
0
.dt
j
=
min imizar
0 dt
Rt
D.Pr Bo C o
T + ts
Rt ,T
max imizar j =
29
max imizar j =
Rt , N ,T ,V
24.(365).D.Pr C1 .V .N C 2 .V 24.(365).C 3 .V .T
T + ts
Ga
Gb
T + ts
optimizar J =
t ,
j ( xt ) + k ( xt , t , )dt
0
Sujeto a:
dxt
= f ( xt , t , )
dt
h( xt , t , ) = 0
g ( xt , t , ) 0
x0 = xinicial
( L) t (U )
( L) (U )
Donde J es la funcin objetivo, xt es el vector de estados, t es el vector de control y
es el vector de variables escalares. ( L) y (U ) son los lmites inferior y superior
respectivamente.
El captulo 2 fue enteramente desarrollado basndose en [3].
30
CAPTULO 3
MODELADO RIGUROSO
DE LA PLANTA EN
ESTUDIO
31
32
A continuacin veremos los datos experimentales de la planta real que se utilizaron para
ajustar el modelo riguroso que se dise en Hysys:
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
5000
10000
15000
33
100
TEMPERATURA[c]
95
90
85
80
75
70
2000
4000
6000
8000
TIEM PO[s]
10000
12000
14000
16000
105
TE M P E RA TURA [c ]
100
95
90
85
80
75
70
0.5
1.5
TIE M P O[s ]
2.5
3
x 10
34
c y c lohex ano
n-heptano
tolueno
0.9
0.8
COM P OSICION
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2000
4000
6000
8000
TIE M P O
10000
12000
14000
16000
COM P OS ICION
0.7
0.6
c y c lohex ano
n-heptano
tolueno
0.5
0.4
0.3
0.2
0.1
0
0.5
1.5
2.5
TIE M P O
3.5
x 10
35
100
TE NP E RA TURA [C]
95
90
85
80
75
70
0.2
0.4
0.6
0.8
1
TIE M P O[s ]
1.2
1.4
1.6
1.8
2
x 10
c y c lohex ano
n-heptano
tolueno
0.9
0.8
COM P OS ICION
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.2
0.4
0.6
0.8
1
TIE M P O
1.2
1.4
1.6
1.8
2
x 10
36
RE LA CION DE RE FLUJO
2.5
1.5
0.5
0.2
0.4
0.6
0.8
1
TIE M P O
1.2
1.4
1.6
1.8
2
x 10
CAPTULO 4
IDENTIFICACIN DE
SISTEMAS
37
38
4.1.- INTRODUCCIN
En este captulo se desarrollarn las tcnicas de identificacin utilizadas para la
obtencin de un modelo no lineal del soft-sensor as como tambin para modelar,
mediante un comportamiento lineal, la relacin existente entre la relacin de reflujo y la
temperatura.
En la actualidad es dificultoso el conocimiento en forma instantnea de la composicin
de destilado ya que este procedimiento se realiza con un cromatgrafo en lnea, lo cual
implica un costo considerable o analizando muestras del producto. Estos procedimientos
involucran un perodo de tiempo que es inadmisible desde el punto de vista del control
ya que por ejemplo el cromatgrafo puede entregarnos mediciones de la composicin
cada media hora en el mejor de los casos. Todo lo dicho anteriormente justifica el
desarrollo de este soft-sensor basado en mediciones temperatura.
Para el desarrollo de este soft-sensor utilizamos un modelo no lineal denominado
Hammerstein que basa su inferencia en mediciones de temperatura de los platos de la
columna. El resultado final es una estimacin de la composicin en forma instantnea y
lograda de manera econmica (medicin de temperatura).
Tambin podemos decir que la obtencin de un modelo lineal relacin de reflujotemperatura tiene la finalidad de sumado al modelo Hammerstein darnos un modelo
simplificado de la planta real. Este modelo disminuir la complejidad computacional del
proceso de optimizacin de las trayectorias de composicin de destilado as como el
ajuste del control PID que explicaremos en captulos posteriores. Este modelo lineal es
obtenido mediante un mtodo de identificacin de sistemas en espacios de estado
basados en subespacio (4SID).
4.2.- DEFINICIN Y ASPECTOS DE LA IDENTIFICACIN
Identificacin es la obtencin de un modelo matemtico a partir de datos de medicin de
las entradas y salidas del sistema.
Como resultado del proceso de identificacin se obtiene un modelo no lineal de orden
reducido que es adecuado para el diseo del control.
4.3.- FASES DEL PROCESO DE IDENTIFICACIN
Planificacin de experimentos y obtencin de datos.
Seleccin de la estructura de modelo.
Estimacin de parmetros.
Validacin del modelo.
4.3.1- Planificacin de experimentos y obtencin de datos
Seleccin del tipo de entrada lo suficientemente ricas como para excitar todos los
modos del sistema. Slo pueden identificarse los modos que son observables en la
salida.
4.3.2- Seleccin de la estructura del modelo
Seleccin de un conjunto de modelos candidatos entre los cuales se buscar el que
mejor se ajusta a los datos.
Se pueden distinguir tres tipos:
39
40
(4.1)
y k = a j . y k j + b j .c i .u ki j + v k
j =1
i =1 j =1
(4.2)
41
(4.3)
YN = TN . + V N
(4.4)
Donde:
YN = ( y1 ,....., y N )
V N = (v1 ,....., v N )
N = (1 ,....., N )
Luego, la estima de mnimos cuadrados , del vector de parmetros viene dada por:
^
= N . TN . N .Y N
(4.5)
siempre que la inversa exista. Definiendo ahora los vectores:
a = (a1 ,....., a n ) , b = (b1 ,....., bm ) , c = (c1 ,....., c r )
T
y la matriz:
b1.c1 b1.c2
b .c b .c
2 2
2 1
.
bc = ..
.
.
.
b .c b .c
m 1 m 2
... b1.cr
... b2 .cr
.
= b.c T
.
.
..
.
... bm .cr
= a T , vec( bc )
T T
42
^ ^T
^
^ ^T ^
vec b . c vec( bc ) = b . c bc
es decir:
^
^ ^
T
b, c = arg min bc b.c
b ,c
donde
es la norma de Frobenius.
V = (v1 ,......., v r )
min
b ,c
bc bc
T
F
min( m , r )
i=2
2
i
los
valores
singulares
2
T
F
b ,c
Paso 1. Computar la estima de mnimos cuadrados en (4.5). Una estima a del vector
^
43
b = 1
^
c = 1 .v1
respectivamente.
4.4.3.- Resultados de la identificacin no lineal
Se tiene en cuenta para el desarrollo que contamos con la composicin real de destilado
cada 30 minutos; esta informacin nos ser til para actualizar la inferencia del softsensor.
La identificacin del modelo para el soft-sensor se realiza con el script denominado
hammer_infer.
Los datos usados para la identificacin son los datos presentados con anterioridad en el
captulo 3, seccin 3-2-2, los resultados de la aplicacin de este script se muestran a
continuacin.
CY CLOHE XA NO E S TIM A DO Y RE A L
1
0.9
0.8
0.7
E S TIM A DO
RE A L
0.6
0.5
0.4
0.3
0.2
0.1
0
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
44
N-HE P TA NO E S TIM A DO Y RE A L
0.8
0.7
E S TIM A DO
RE A L
0.6
0.5
0.4
0.3
0.2
0.1
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
0.8
0.7
E S TIM A DA
RE A L
0.6
0.5
0.4
0.3
0.2
0.1
0
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
0
a1 =
0
0
a 2 =
0
0.6962
b2 = 0.7162
0.0477
0.7071
b1 = 0.6966
0.1219
0.0075
c1 = 1.069 10 6
4.6 10 11
45
0.0277
c 2 = 3.698 10 6
1.533 10 10
Como podemos ver, debido a que a1 y a 2 son nulos el modelo no lineal resultante no
depende valores pasados de la salida; lo que resulta muy importante ya que obtenemos
un modelo que depende nicamente de la entrada.
Del script que realiza la identificacin puede observarse que tanto b1 , c1 como b2 y c 2
se obtienen aplicando la SVD.
Ahora se presentan los resultados obtenidos validando el modelo identificado
anteriormente con los datos datos_r , dicha validacin se realiza en el mismo script
utilizado para la estimacin (hammer_infer).
COM P OS ICIONE S E S TIM A DA S Y RE A LE S
1
c y c lohex ano real
n-heptano real
tolueno real
es tim ac iones
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
46
Aun as, podemos apreciar que el modelo obtenido es lo suficientemente aceptable para
nuestros requerimientos ya que como veremos ms adelante nos interesar maximizar
destilado del cyclohexano y este posee una inferencia ms que aceptable.
4.5.- IDENTIFICACIN DE SISTEMAS LINEALES ([1] y [6])
4.5.1.- Mtodos de subespacio para identificacin de sistemas dinmicos ( 4SID )
4.5.1.1- Introduccin
stos mtodos utilizan herramientas de Teora de Sistemas, Geometra y
lgebra lineal numrica.
Proveen confiables modelos en espacio de estados (EE) de sistemas
multivariables directamente a partir de datos de entrada salida.
Son algoritmos eficientes basados en SVD (singular value descomposition:
descomposicin en valores singulares); los cuales estn incorporados en el
System Identification Toolbox de Matlab.
No hay problemas de convergencia, inicializacin, o de existencias de
soluciones locales.
No requieren una particular realizacin cannica del modelo en EE.
El primer paso en los mtodos de subespacio es estimar el subespacio expandido por
las columnas de la matriz de observabilidad extendida, de all el nombre.
4.5.1.2.- Modelo en espacio de estados
x k +1 = A.x k + Bu k
y k = C.x k + Du k
Donde:
x k nx
vector de estados
yk m
vector de salidas
uk n
vector de entradas
qx k = x k +1
q 1 .x k = x k 1
Definicin: Una matriz transferencia G(q) tiene una realizacin (A,B,C,D) si:
G (q ) = C.(q.I A) .B + D
1
47
C = B, A.B,............, A nx 1 .B
C j = B, A.B,............, A j 1 .B
y k = hl .u k l
l =0
,
D
hl =
l 1
C. A .B ,
h1
h
2
H ij = ..
.
hi
h2
h3
.
.
.
hi +1
48
l=0
l>0
hj
h j +1
.
Matriz Hankel de respuestas al impulso
.
.
..
.
... hi + j 1
...
...
H ij = O i . C j
La SVD de Hij provee esta factorizacin:
H ij = [U 1
U 2 ]. 1
0
0 V1T
.
2 V2T
= 1
0
49
0
2
es una matriz diagonal conteniendo los valores singulares de Hij en orden no creciente,
con 1 conteniendo los nx ms grandes, y los 2 los [min(i, j ) n x ] ms chicos.
Si no tenemos ruido, Hij tiene rango nx , y 2 =0, y resulta:
O i = U 1 .1 2
H ij = U 1 .1 .V = U 1 .1 2 1 2 .V1T
1
C j = 1 2 .V1T
1
T
1
Dadas O i y C j
C : primera fila de O i
B : primera columna de C j
D : directamente de h0
Oi = Oi . A
____
_____
_____
_____
_____
_____
ij
= O i . A .C
resolviendo en media
cuadrtica.
4.5.2.- Resultados de la identificacin lineal (modelo RR-temperatura)
Aqu se realizar la obtencin de un modelo que nos permita representar el
comportamiento existente entre las variables relacin de reflujo (entrada) y temperatura
(salida).
Este modelo y el inferenciador tienen como funcin principal la de estimar condiciones
ptimas de operacin y en tiempos de cmputos relativamente menores a los que se
obtendran si se emplearan modelos rigurosos en los cdigos de optimizacin. Si
utilizramos por ejemplo la planta real modelada en HYSYS el proceso sera
demasiado lento y llevara varios das de simulacin poder optimizar algn aspecto
deseado.
Entonces, de esta manera, conseguimos tener un modelo sencillo que nos representa la
planta y que es suficiente como para obtener buenas aproximaciones del
comportamiento, adems de acortarnos los tiempos de simulacin.
50
3.5
3
2.5
2
1.5
1
0.5
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
2
x 10
105
100
TE M P .
95
90
85
80
75
70
0.2
0.4
0.6
0.8
1.4
1.6
1.8
2
x 10
51
100
95
90
85
E S TIM A DA
RE A L
80
75
70
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
0.0006 0.9324
0.1679
B =
0.1716
C = [ 0.1328 0.3651]
D = 0
543.1539
X 0 =
0.7557
52
Podemos verificar que se obtuvo un modelo lineal de orden reducido que es adecuado
para el diseo del control.
La siguiente grfica muestra la validacin del modelo en espacio de estados identificado
anteriormente.
Como podemos apreciar el comportamiento del modelo es aproximado, ya que se
intent obtener un modelo simplificado y lineal de un comportamiento fuertemente no
lineal.
De todas maneras este comportamiento es aceptable para luego usar este modelo en
algoritmos de optimizacin.
V A LIDA CIN CON NUE V OS DA TOS
105
100
TE M P E RA TURA [c]
95
90
85
80
V A LIDA CIN
RE A L
75
70
0.2
0.4
0.6
0.8
1
1.2
TIE M P O [s ]
1.4
1.6
1.8
2
x 10
53
CAPTULO 5
IMPLEMENTACIN DEL
MODELO
HAMMERSTEIN
(temperatura-composicin)
54
5.1.- INTRODUCCIN
Debido a la alta flexibilidad de operacin inherente y al bajo capital invertido, la
destilacin batch se convirti en un mtodo de separacin provechoso y atractivo,
particularmente en la separacin de productos qumicos. Sin embargo, para que stas
caractersticas sean completamente aprovechadas, es necesario ejecutar un monitoreo
exacto, permanente e instantneo de la composicin durante toda la operacin para
asegurarse de obtener productos de alta calidad. sta tarea es muy dificultosa debido a
la ausencia de analizadores on-line rpidos y confiables. Para soslayar estas desventajas
de los analizadores on-line convencionales, recientes investigaciones se enfocaron en el
desarrollo de soft-sensors (estimadores inferenciales), los cuales utilizan un modelo del
proceso a ser controlado e informacin retenida por variables de proceso secundarias
para obtener estimas on-line de las composiciones.
Resulta muy atractivo poder obtener un modelo que nos brinde una prediccin
instantnea de la composicin de destilado observando variables de fcil medicin
como puede ser la temperatura de los platos. La medicin de temperatura adems de ser
atractiva desde el punto de vista econmico, lo es tambin debido a su rapidez de
medicin. Esto ltimo es muy importante para el desarrollo de sistemas de control
donde debe tomarse decisiones sobre la variable manipulada en cada instante.
El desarrollo se basa en una identificacin no lineal que utiliza un modelo denominado
Hammerstein donde, como se explic en el captulo 4, dicho modelo consta de la
conexin en cascada de una no linealidad esttica de entrada formada por un polinomio
y de un sistema lineal estacionario modelado como una funcin transferencia.
5.2.-IMPLEMENTACIN DEL SOFT-SENSOR EN LA PLANTA EN ESTUDIO
El inferenciador y el control de vlvulas estn desarrollados y operan en el espacio de
trabajo de Matlab, comunicndose con la planta a travs de una interface que posee
Hysys, que permite usar a Matlab como un controlador.
Esta interface esencialmente nos permite acceder a las hojas de clculo de Hysys tanto
para leer datos como para actualizarlos.
Este intercambio de informacin se lleva a cabo utilizando funciones de la interface de
Hysys que generan objetos de comunicacin. Estas funciones pueden ser apreciadas con
ms detalles en el apndice, pero a ttulo de resumen presentamos a continuacin una
breve descripcin de cada una de ellas:
hyconnect Conecta a Hysys para una aplicacin de Matlab como controlador.
hyspread - Conecta a una hoja de clculo de Hysys.
hycell Conecta a celdas de la hoja de clculo.
hyvalue Toma los valores contenidos en las celdas.
hyunits Toma una cadena de caracteres que especifican las unidades de las celdas.
hyset Cambia los valores de las celdas en una hoja de clculo de Hysys.
El inferenciador as como el control de vlvulas y el intercambio de informacin entre
los dos software se implementa en varios scripts que pueden ser apreciados con ms
detalles en el apndice.
55
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2000
4000
6000
8000
10000
TIE M P O [s ]
12000
14000
16000
18000
Figura 5-1.- Prueba del inferenciador con relacin de reflujo constante RR=1.
5.2.2.- Modo de operacin relacin de reflujo variable
Para exigir an ms al inferenciador, simulamos la planta con una relacin de reflujo
variable. sta es la misma relacin de reflujo que se utiliz en captulos anteriores para
identificar los modelos (RR3). Los scripts para la conexin y la implementacin del
inferenciador siguen siendo los mismos que en el apartado anterior slo que
infer_rrconstante sufre una pequea modificacin para poder pasar del espacio de
Matlab hacia Hysys la relacin de reflujo variable. Dicha modificacin consiste en que
en cada iteracin se pasa un nuevo valor de relacin de reflujo, esto se implementa
agregando al infer_rrconstante las siguientes dos lneas de cdigo:
u1111(j)=RR3(j);
hyset(cells{10},u1111(j));
56
Lo que hacen estas dos lneas es setear la celda 10 del objeto cells generado por
objconex con el valor dado por u1111(j). Hechas estas modificaciones, simulamos la
planta obteniendo los siguientes resultados:
P RUB A DE L INFE RE NCIA DOR CON RE LA CION DE RE FLUJO V A RIA B LE
RR= RR3
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
2
x 10
Figura 5-2.- Prueba del inferenciador con relacin de reflujo variable RR=RR3.
Podemos apreciar que es una ms que aceptable respuesta del inferenciador, notando
como dijimos en el captulo 4 que en el sector donde el proceso se hace fuertemente
ternario es donde se produce el mayor error.
5.3.-APLICACIN CONCRETA DEL SOFT-SENSOR EN EL CONTROL DE
APERTURA Y CIERRE DE VLVULAS
En esta seccin pondremos a prueba el soft-sensor para predecir las composiciones
finales de los productos acumuladas en los tanques. Se tom como criterio de control de
las vlvulas, acumular cyclohexano con pureza promedio 0.9 en el tanque 1 , n-heptano
con pureza promedio 0.35 en el tanque 2 y lo que resta se acumula en el tanque 3.
Sobre la base del infer_rrconstante se producen las modificaciones para el control
de vlvulas y el pasaje de la nueva relacin de reflujo que ahora es de 2.5. Dichas
modificaciones se muestran a continuacin:
ff=1;
AA1=0;
DA1=0;
u1111(j)=2.5;
hyset(cells{10},u1111(j));
D=hyvalue(cells1(8));
AA1=AA1+D*(tiempo1(j)-tiempo1(j-1));
DA1=DA1+D*yhatv1(j)*(tiempo1(j)-tiempo1(j-1));
XDA1=DA1/AA1;
57
C O M P O S IC IO N [ fra c c i n m o la r]
0.8
0.6
0.4
0.2
5000
10000
15000
T IE M P O [ s ]
Figura 5-3.- Prueba del inferenciador en el control de vlvulas de los tanques para
X1prom=0.9 y X2=0.35 y RR=2.5
58
N IV E L D E L IQ U ID O E N L O S TA N Q U E S D E A L M A C E N A M IE N TO
40
35
30
N IV E L [ % ]
25
20
15
10
5000
10000
15000
TIE M P O [ s ]
TANQUE 2 (n-heptano)
59
CAPTULO 6
IMPLEMENTACIN DEL
SOFT-SENSOR EN
LAZOS DE CONTROL
60
1
de(t )
+ ub
u (t ) = k c e(t ) + e(t ).dt + Td .
dt
T
i 0
k . e(t )
'
2
donde k 2 =
TM . k c
Ti
61
de(t )
dt
k 3' .
k .T
1
(e(k ) e(k 1) ) = k 3 .(e(k ) e(k 1) ) donde k 3 = c d
TM
TM
62
Sujeto a:
(6.1)
Gi ( x ) = 0 (i = 1,2,...m e )
Gi ( x ) 0 (i = m e ,......... ...., m)
xL x xU
63
Una solucin exacta y eficiente a este problema no solo depende del tamao del
problema en trminos del nmero de condiciones y de variables de diseo, sino que
tambin depende de las caractersticas de la funcin objetivo.
En nuestro trabajo utilizaremos la funcin fmincon, ya sea, como en este caso, para la
optimizacin del PID como as tambin para la obtencin del perfil ptimo de destilado,
tarea que se realiza en captulos posteriores. Entonces incluimos aqu un breve
comentario sobre dicha funcin de optimizacin.
La funcin fmincon busca los mnimos de una funcin multivariable no lineal
condicionada.
fmincon resuelve problemas de la forma:
min F ( x )
x
donde X, B, Beq, LB y UB son vectores, A y Aeq son matrices, C(X) y Ceq(X) son
funciones que devuelve vectores y F(X) es una funcin que devuelve un escalar. F(X),
C(X) y Ceq(X) son funciones que pueden ser no lineales.
La sintaxis es:
X=fmincon(fun, X0, A, B, Aeq, Beq, LB, UB, Nonlcon, Options, P1, P2, ... .)
Donde:
fun: es la funcin a ser minimizada.
X0: es el valor inicial, en nuestro caso los valores iniciales del control PID.
Nonlcon: es la funcin que computa las condiciones de desigualdad no lineal, C(X)<=0
y las condiciones de igualdad no lineal, Ceq(X)=0. Nonlcon es una cadena de caracteres
conteniendo el nombre de una funcin.
LB (low bound): es el lmite inferior para la variable X.
UB (upper bound): es el lmite superior para la variable X.
stos lmites fueron seteados en LB=[0 0 0] y UB=[1000 1000 1000].
Options: aqu van las opciones de los parmetros de optimizacin. Se pueden cambiar o
setear los valores de stos parmetros mediante la funcin optimset.
Optimset crea una estructura de opciones de optimizacin. Uno de los parmetros ms
importante es Large Scale.
La sintaxis es la siguiente:
64
L( x, ) = f ( x ) +
(x).g (x)
i
i=1
Aqu (6.1) es simplificada asumiendo que las condiciones lmites han sido expresadas
como condiciones de desigualdad. EL subproblema (QP) es obtenido por linealizacin
de las condiciones no lineales
Subproblema (QP)
1 T
min imize
d Hk d + f ( x k ).Td
n
2
d
i = 1,.., m e
gi ( x k )Td + gi ( x k ) = 0
gi ( x k )Td + gi ( x k ) 0
i = m e ,......, m
Este subproblema puede ser resuelto usando cualquier algoritmo QP. La solucin es
utilizada para formar una nueva iteracin x k +1 = x k + k dk .
El parmetro k es determinado por un procedimiento de bsqueda de lnea apropiado
tal que se obtenga un decrecimiento suficiente en la funcin de mrito.
La matriz Hk es una aproximacin definida positiva de la matriz Hessiana de la funcin
de Lagrangian. Hkpuede ser actualizada por cualquiera de los mtodos quasi-Newton,
aunque el mtodo BFGS aparece como el ms popular.
Implementacin de SQP
La implementacin SQP en Matlab consiste de tres etapas principales:
Actualizacin de la matriz Hessiana y de la funcin de Lagrange.
Solucin del problema QP.
Clculo de la funcin de mrito y bsqueda de lnea.
a.- Actualizando la matriz Hessiana.
65
q k .q kT
q kT .s k
H kT .H k
s kT .H k .s k
Donde:
s k = x k +1 x k
n
n
q k = f ( x k +1 ) + i .g i ( x k +1 ) f ( x k ) + i .g i ( x k )
i =1
i =1
66
Como dijimos los parmetros iniciales para la simulacin son muy importantes ya que
dirigen a la solucin hacia distintos mnimos locales, dando como resultado diferentes
parmetros ptimos para el PID.
Fueron simulados diferentes condiciones iniciales, las cuales arrojaron los siguientes
datos acumulados en la tabla que se muestra a continuacin:
PID_0
K1
K2
K3
Error de seguimiento
56,522
1,216
3,231
7,40810-6
1 ]
3,088
3,751
0,977
4,89010-5
23,116
2,408
2,412
1,97510-5
[ 2
2 ]
43,835
1,181
3,989
1,04610-5
3,397
3,754
2,525
4,78810-5
[ 3
3 ]
3,225
3,738
3,003
4,81610-5
8,296
4,982
0,346
2,59010-5
67
modelos fueron identificados con valores de relacin de reflujo mayores que 0.5 dando
esto un rango de validez a priori.
SALIDA DEL MODELO Y SETPOINT
1
0.9
0.8
SETPOINT
SALIDA P1
SALIDA P2
SALIDA P3
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.2
0.4
0.6
0.8
1
TIEMPO [s]
1.2
1.4
1.6
1.8
2
4
x 10
RELACION DE REFLUJO
5
PARAMETROS P3
PARAMETROS P2
PARAMETROS P1
4
0.2
0.4
0.6
0.8
1
TIEMPO [s]
1.2
1.4
1.6
1.8
2
4
x 10
Figura 6-5: Seal de control para diferentes parmetros ptimos del PID.
68
Siguiendo con el anlisis de optimizacin del PID, apreciamos las notables diferencias
existentes para le seal de control que resulta de utilizar los diferentes parmetros
ptimos del PID. Para los parmetros P1 el control es mas brusco dado por la alta
ganancia de la parte proporcional.
6.2.-IMPLEMENTACIN DEL PID Y CONEXIN CON HYSYS
El inferenciador, el control de vlvulas y el PID estn desarrollados y operan en el
espacio de trabajo de Matlab, comunicndose con la planta a travs de una interface
que posee Hysys que permite usar a Matlab como un controlador, como fue
anteriormente explicado en el captulo 5.
Esta interface esencialmente nos permite acceder a las hojas de clculo de Hysys tanto
para leer datos como para actualizarlos.
La implementacin del inferenciador, del control de vlvulas y del PID, as como el
intercambio de informacin se lleva a cabo utilizando los scripts objconex_pid e
infer_pid que se detallan en el apndice.
6.2.1.- Prueba del control con trayectorias de setpoint arbitrarias
6.2.1.1.- Caso en que el setpoint es solo el cyclohexano
DE S TILA DOS RE A LE S , INFE RIDOS Y S E TP OINT P A RA E L CA S O
RR3 (el c y c lohex ano es el s etpoint)
1
0.9
0.8
0.7
n-heptano real
tolueno real
c y c lohex ano real
inferenc ia
inferenc ia
inferenc ia
s etpoint
0.6
0.5
0.4
0.3
0.2
0.1
0
2000
4000
6000
8000
TIE M P O [s ]
10000
12000
14000
16000
Figura 6-6: Destilados reales, inferidos y setpoint para el caso RR3 (el cyclohexano es
el setpoint).
69
V A R IA B LE M A N IP U LA D A P A R A C A S O
R R 3 (el s etpoint es el c y c lohex ano)
4
R E LA C IO N D E R E F LU JO
3.5
2.5
1.5
2000
4000
6000
8000
TIE M P O [ s ]
10000
12000
14000
16000
Figura 6-7: Variable manipulada para caso RR3 (el cyclohexano es el setpoint)
Podemos ver que siguiendo nicamente el setpoint del cyclohexano, las respuestas son
muy buenas. Podemos ver que la seal de control no es demasiado brusca y est dentro
de los lmites aceptables para la relacin de reflujo.
6.2.1.2.- Caso en que el setpoint del cyclohexano luego conmuta al del n-heptano
Proponemos realizar ahora una prueba conmutando el setpoint, la idea es pasar de seguir
el cyclohexano a seguir el n-heptano en un determinado tiempo.
Las simulaciones nos arrojan los siguientes resultados:
DE S TILA DOS RE A LE S , INFE RIDOS Y S E TP O INT
(c as o en que s e c am bia el s et point)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2000
4000
6000
8000
10000
TIE M P O [s ]
12000
14000
16000
Figura 6-8: Destilados reales, inferidos y setpoint (caso en que se cambia el setpoint)
70
3.5
RE LA CION DE RE FLUJO
2.5
1.5
0.5
2000
4000
6000
8000
10000
TIE M P O [s ]
12000
14000
16000
71
CAPTULO 7
TRAYECTORIA PTIMA
72
7.1.- INTRODUCCIN
En general el control refiere a un sistema a lazo cerrado donde el punto de operacin
deseado es comparado con el punto de operacin actual y la diferencia es realimentada
al sistema para llevar el punto de operacin actual hacia el deseado.
El propsito de disear un sistema con control a lazo cerrado es disminuir la
sensibilidad de la planta a perturbaciones externas.
El uso de la funcin de control, aqu provee un control a lazo abierto; entonces las
variables son temporalmente dependientes, este tipo de problema de control es llamado
como un problema de control ptimo.
La dinmica de estas variables de decisin hacen dificultosa la resolucin de estos
problemas respecto a la optimizacin normal, donde las variables de decisin son
escalares.
En general tcnicas matemticas son usadas para resolver problemas de control ptimo,
las cuales involucran clculos de variaciones, programacin dinmica, principio
mximo y programacin no lineal (NLP) .
Los primeros tres mtodos tratan las variables de decisin como vectores, mientras que
NLP aproxima las variables para ser transformadas en escalares.
La eleccin de la mejor tcnica de optimizacin es totalmente dependiente del problema
a resolver.
Los problemas de control ptimo pueden ser clasificados de la siguiente forma:
Problema de mximo destilado: Aqu la cantidad de destilado de una
especificada concentracin, para un especificado tiempo es maximizada.
Problema de mnimo tiempo: Aqu se minimiza el tiempo necesario para
producir una cantidad de destilado dada, de una concentracin especificada.
Problema de mximo aprovechamiento: Donde es maximizada la funcin
aprovechamiento para una especificada concentracin.
La optimizacin involucra modelos en ecuaciones algebraicas y ecuaciones
diferenciales. La mayora de la literatura en esta rea se concentra en usar la
aproximacin por colocacin (Cuthrell and Biegler 1987, Logsdon1990) aproximando
el perfil de control por polinomios (Akgiray and Heydeweiller 1990, Farhat 1990,
Mujtaba and Machietto 1988) y aplicar NLP para resolver el problema.
Para modelos no lineales, la combinacin de tcnicas de colocacin y optimizacin no
lineales incrementan las no linealidades en el sistema , as se incrementa la posibilidad
de mltiples soluciones y se requerir una buena inicializacin; por otro lado el mtodo
de aproximacin por polinomios depende de la correcta eleccin del orden y tipo del
polinomio.
Diwekar (1992) propuso usar una combinacin de el principio mximo y NLP para
resolver el problema de optimizacin en destilacin batch ([3]).
Un problema de optimizacin algebraico diferencial en general puede escribirse como:
T
=
+
J
j
(
x
)
k ( xt , t , )dt
optimizar
t
t ,
0
Sujeto a:
73
dxt
= f ( xt , t , )
dt
h( xt , t , ) = 0
g ( xt , t , ) 0
x0 = xinicial
( L) t (U )
( L) (U )
V
dD
=
=
dt
dt
j
.
.
max imizar
R
+
1
dt
Rt
t
0
0
x Dav =
V
.x D(1) .dt
+
1
t
R
0
V
.dt
t +1
= x*
R
0
O sea que para un tiempo de destilacin dado y para una composicin promedio dada,
maximizamos la cantidad de destilado.
Discretizando ahora el funcional J con la regla rectangular en atraso para su
implementacin en el algoritmo de optimizacin obtenemos que:
k*
V
k =0 R ( k ) + 1
J = TM .
Donde :
V
..........
R(1) + 1
V
es el vector de flujo de destilado
*
R(k ) + 1
74
x =
*
D
x
k =0
1
D
k*
(k ).D(k )
D(k )
sum x 1D .D
=
sum( D)
k =0
75
0.8
0.7
CY CLOHE XA NO
N-HE P TA NO
TOLUE NO
0.6
0.5
0.4
0.3
0.2
0.1
0
100
200
300
400
500
M UE S TRA S
600
700
800
900
1000
R E L A C IO N D E R E F L U J O
14
12
10
100
200
300
400
500
M U E S TR A S
600
700
800
76
es ahora el tipo de datos que se le pasa a Hysys, en este caso se le pasa la relacin de
reflujo ptima y no una aleatoria. Esta operacin nos arroja los resultados que vemos a
continuacin:
D E S TIL A D O S R E A L E S , IN F E R E N C IA D O S Y TR A Y E C T O R IA O P T IM A
P A R A O P E R A C IO N A L A ZO A B IE R T O (c o n R R p t im a )
1
C O M P O S IC IO N [ fra c c i n m o la r]
0.9
0.8
0.7
n -h e p t a n o re a l
t o lu e n o re a l
c y c lo h e x a n o re a l
in fe re n c ia
in fe re n c ia
in fe re n c ia
t ra y e c t o ria p t im a
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2000
4000
6000
8000
10000
T IE M P O [ s ]
12000
14000
16000
77
de algn tipo de control. Estas diferencias estn basadas en las diferencias existentes
entre el modelo de la planta y la planta real, si bien el modelo es lo suficientemente
bueno como para obtener aproximaciones de las trayectorias de optimizacin (como
veremos ms adelante), por otro lado no posee la informacin completa sobre la
dinmica de la planta, dando respuestas realmente buenas ante un tipo de entradas y
respuestas notablemente diferentes ante otras. Todo lo anterior ms los resultados
obtenidos prximamente justifican la implementacin del control PID desarrollado en el
captulo anterior para mantener la salida de la planta muy prxima a la trayectoria
ptima.
7.4.- PRUEBA DE LA PLANTA A LAZO CERRADO
7.4.1.-Setpoint solo en el cyclohexano (cyclohexano ptimo)
Ahora continuamos con las pruebas, pero la operacin es a lazo cerrado, utilizando
como setpoint la trayectoria ptima del cyclohexano obtenida en el punto 7.1.
El control propuesto es del tipo PID y es el que se desarrollo en el captulo 6 mediante
tcnicas de optimizacin y se ajust en planta ante diferentes tipos de trayectorias.
La implementacin del inferenciador, del PID y del control de vlvulas se realiza de
forma similar a los casos mostrados en el captulo anterior, la nica diferencia es que
ahora el setpoint es el ptimo y el control de las vlvulas se hacen de acuerdo a nuevos
criterios como por ejemplo almacenar en un tanque todo el destilado de cyclohexano
hasta que el setpoint ptimo termine, desde aqu se abre la vlvula del tanque del nheptano y se almacena aqu todo el producto hasta que la composicin instantnea del
tolueno llega a 0.35 , en este momento se cierra la vlvula del tanque del n-heptano y se
abre la del tanque del tolueno para acumular todo el producto hasta la finalizacin del
proceso. No se propone un corte intermedio al finalizar la optimizacin del cyclohexano
ya que como se destil prcticamente toda la cantidad de producto su descenso es
abrupto y se puede considerar que prcticamente no hay necesidad de hacer otra
acumulacin en otro tanque, si no que inmediatamente comenzamos la acumulacin del
n-heptano.
Todo lo anterior se puede apreciar en el script inferoptim_PID.
Como vamos a apreciar, es notable la diferencia a la operacin anterior ya que se
obtienen resultados mucho ms aproximados a los tericos en este caso.
78
0.8
0.6
0.4
0.2
-0.2
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
x 10
RE LA CIO N DE RE F LUJO
20
15
10
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
x 10
79
NIV E L DE LIQUIDO [% ]
50
40
30
20
10
0.5
1.5
TIE M P O [s ]
2
x 10
80
81
82
C O M P O S IC IO N [ fra c c i n m o la r]
0.8
0.7
0.6
c y c lo h e x a n o
n -h e p t a n o
t o lu e n o
0.5
0.4
0.3
0.2
0.1
0
100
200
300
400
500
M U E S TR A S
600
700
800
900
1000
R E L A C IO N D E R E F L U JO
100
200
300
400
500
M U E S TR A S
600
700
800
900
1000
83
0.8
0.7
n-heptano real
tolueno real
c y c lohex ano real
inferenc ia
inferenc ia
inferenc ia
s et point
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
2
x 10
RE LA CIO N DE RE F LUJO
0.2
0.4
0.6
0.8
1
TIE M P O [s ]
1.2
1.4
1.6
1.8
2
x 10
84
85
86
CAPTULO 8
CONCLUSIONES
87
88
La destilacin batch para producir materiales de bajo volumen y alto valor agregado es
uno de los principales procesos. Una adecuada optimizacin y un correcto control son
imprescindibles para obtener mximos beneficios.
Lo anterior recae esencialmente en la necesidad de obtener un modelo de la planta lo
ms exacto posible.
Nuestro trabajo comenz con el empleo de un modelo riguroso que permite realizar
pruebas preliminares de optimizacin y control de la planta. Para ello es necesario la
obtencin de modelos simplificados de la planta basados en mtodos de identificacin
convencionales tales como los mtodos de subespacio e identificacin no lineal basados
en modelos del tipo Hammerstein.
Esto permiti optimizar en forma aproximada y rpida los parmetros del controlador
PID as como las trayectorias de composicin.
Vimos que con stas tcnicas clsicas de identificacin se puede reproducir el
comportamiento dinmico de la planta. As tambin pudimos ver que en este proceso de
destilacin de tres componentes existen zonas donde el modelo se aproxima al
comportamiento real ms que en otras, esto generalmente es debido a que en las zonas
donde el proceso es predominantemente ternario las composiciones de destilado no solo
son dependientes de la temperatura o de la relacin de reflujo sino que involucran otras
variables que dependen de las condiciones fsico-qumicas del proceso.
An as logramos obtener resultados aceptables en lo que respecta al comportamiento
del inferenciador para predecir composiciones promedio del producto acumulado y as
utilizarlo como control para las vlvulas de los tanques de almacenamiento de los
productos, actividad que hasta el momento se realizaba manualmente.
Los resultados que logramos apreciar en esta seccin del trabajo fueron tambin
aceptables ya que la planta present un mejor funcionamiento a lazo cerrado que a lazo
abierto en lo que respecta a la pureza promedio obtenida en los tanques. Podemos decir
tambin que el funcionamiento de la planta con trayectorias ptimas arroj los
resultados esperados, evidenciando el comportamiento aproximado pero aceptable de
los modelos identificados.
Nuestro inters es proponer la continuacin de este proyecto pero basando la
identificacin en tcnicas con redes neuronales y con la aplicacin de un control
avanzado predictivo.
APENDICE
89
90
91
[UU1,SS1,VV1]=svd(thetahatbc1);
[UU2,SS2,VV2]=svd(thetahatbc2);
bhat1=UU1(:,1);
bhat2=UU2(:,1);
chat1=SS1(1,1)*VV1(:,1);
chat2=SS2(1,1)*VV2(:,1);
%------------------------------------%VALIDACION CON DATOS DE ESTIMACION
%E INCLUCION DE LA SALIDA REAL C/A 30'
%------------------------------------L=1;
u1=uu.^2;
u2=uu.^4;
u3=uu.^6;
yhat1(1)=yy1(1);
yhat1(2)=yy1(2);
yhat1(3)=yy1(3);
yhat2(1)=yy2(1);
yhat2(2)=yy2(2);
yhat2(3)=yy2(3);
for k=4:length(yy1),
yhat1(k)=-ahat1(1)*yhat1(k-1)-ahat1(2)*yhat1(k-2)+thetahatbc1v(1)*u1(k-1)+...
thetahatbc1v(2)*u1(k-2)+thetahatbc1v(3)*u1(k-3)+thetahatbc1v(4)*u2(k-1)+...
thetahatbc1v(5)*u2(k-2)+thetahatbc1v(6)*u2(k-3)+thetahatbc1v(7)*u3(k-1)+...
thetahatbc1v(8)*u3(k-2)+thetahatbc1v(9)*u3(k-3)+delta1;
if yhat1(k)>1
yhat1(k)=1;
end
if yhat1(k)<0
yhat1(k)=0;
end
yhat2(k)=-ahat2(1)*yhat2(k-1)-ahat2(2)*yhat2(k-2)+thetahatbc2v(1)*u1(k-1)+...
thetahatbc2v(2)*u1(k-2)+thetahatbc2v(3)*u1(k-3)+thetahatbc2v(4)*u2(k-1)+...
thetahatbc2v(5)*u2(k-2)+thetahatbc2v(6)*u2(k-3)+thetahatbc2v(7)*u3(k-1)+...
thetahatbc2v(8)*u3(k-2)+thetahatbc2v(9)*u3(k-3)+delta2;
if yhat2(k)>1
yhat2(k)=1;
end
if yhat2(k)<0
yhat2(k)=0;
end
yhat3(k)=1-yhat1(k)-yhat2(k);
if yhat3(k)>1
yhat3(k)=1;
end
if yhat3(k)<0
yhat3(k)=0;
end
92
93
94
end
if yhat3v3(k)<0
yhat3v3(k)=0;
end
%-------------------------------------------------------------%C/A 90 MUESTRAS ACTUALIZO CON VALORES REALES DE LA
%COMPOSICION
%-------------------------------------------------------------if k==90*L
yreal1=cyclo_r(k);
yreal2=n_hept_r(k);
delta1(k)=yreal1-yhat1v3(k);
delta2(k)=yreal2-yhat2v3(k);
yhat1v3(k)=yhat1v3(k)+delta1(k);
yhat2v3(k)=yhat2v3(k)+delta2(k);
yhat3v3(k)=1-yhat1v3(k)-yhat2v3(k);
L=L+1;
delta1=delta1(k);
delta2=delta2(k);
end
%--------------------------------------------------------------end
%--------------------------------------------------------------------------------%PLOTEO CON DATOS DE VALIDACION 3
figure
plot(tv3,yhat1v3','k',tv3,y1v3,'r');
grid on;
hold on
plot(tv3,yhat2v3','k',tv3,y2v3,'g');
grid on;
hold on
plot(tv3,yhat3v3','k',tv3,y3v3,'b');
grid on;
%------------------------------------------------------%ERROR
errory1v3=(norm(yhat1v3'-y1v3))^2/length(y1v3)
errory2v3=(norm(yhat2v3'-y2v3))^2/length(y2v3)
errory3v3=(norm(yhat3v3'-y3v3))^2/length(y3v3)
error_totalv3=errory1v3+errory2v3+errory3v3
95
96
e(i)=0;
u(i)=RR3(3);
end
%INICIALIZACION DEL MODELO N4SID
for i=1:3,
x1(i+1)=a11*x1(i)+a12*x2(i)+b1*u(i);
x2(i+1)=a21*x1(i)+a22*x2(i)+b2*u(i);
y4sid(i)=c1*x1(i)+c2*x2(i);
end
%SIMULACION DEL MODELO A LAZO CERRADO
acum=0;
ub=3;
for i=4:length(ysp),
%salida del modelo 4sid para "k"
y4sid(i)=c1*x1(i)+c2*x2(i);
%salida de la planta para "k"
u1=y4sid.^2;
u2=y4sid.^4;
u3=y4sid.^6;
y1(i)=-ahat1(1)*y1(i-1)-ahat1(2)*y1(i-2)+thetahatbc1v(1)*u1(i-1)+...
thetahatbc1v(2)*u1(i-2)+thetahatbc1v(3)*u1(i-3)+thetahatbc1v(4)*u2(i-1)+...
thetahatbc1v(5)*u2(i-2)+thetahatbc1v(6)*u2(i-3)+thetahatbc1v(7)*u3(i-1)+...
thetahatbc1v(8)*u3(i-2)+thetahatbc1v(9)*u3(i-3);
if y1(i)>1
y1(i)=1;
end
if y1(i)<0
y1(i)=0;
end
%calculo el error para "k"
e(i)=ysp(i)-y1(i);
%calcuclo de la seal de control para "k"
acum=acum+e(i);
u(i)=k1*e(i)+k2*acum+k3*(e(i)-e(i-1))+ub;
if u(i)<0.5
u(i)=0.5;
end
%calculo de las variables de estado para 4sid
%en "k+1" para la proxima iteracion
x1(i+1)=a11*x1(i)+a12*x2(i)+b1*u(i);
x2(i+1)=a21*x1(i)+a22*x2(i)+b2*u(i);
end
F=ysp-y1';
F=sum(F.^2);
97
98
%
%
%
99
100
101
102
for n1 = 1:size(CellObject,1)
for n2 = 1:size(CellObject,2)
if isa(CellObject{n1,n2}, 'activex')
CellValue(n1,n2) = CellObject{n1,n2}.CellValue;
end
end
end
else
CellValue = CellObject.CellValue;
end
Script dest-max que optimiza el pefil de cyclohexano para pureza 0.98 en 830
muestras
clear all;
parametros;
RR0=ones(1,830)*2.1;
options=optimset('largeScale','off','Display','iter','TolX',0.01,'TolFun',0.01,'TolCon',0.1);
RRop1=fmincon('sumo',RR0,[],[],[],[],[],[],'condicion',options);
plot(RRop1)
Funcin sumo que retorna el funcional a optimizar
%FUNCION QUE CALCULA EL FUNCIONAL A SER
%OPTIMIZADO POR "FMINCON"
%-------------------------------------function [F]=sumo(RRop1)
for i=1:length(RRop1),
D(i)=2/(RRop1(i)+1);
end
%RETORNA------------------------------F=1/(20*sum(D));
Funcin condicion que retorna la condicin que debe testear fmincon
%FUNCION QUE CALCULA LA CONDICION A SER TESTEADA
%ENCADA ITERACION DE OPTIMIZACION DE "FMINCON"
%-----------------------------------------------function [C,Ceq]=condicion(RRop1)
U=[RRop1(1) RRop1];
%CARGA DE PARAMETROS PARA LOS MODELOS-----------Abest =[1.0009 -0.0618;0.0006 0.9324];
Bbest =[0.1679;0.1716];
Cbest =[-0.1328 -0.3651];
Dbest=0;
X0best =[-543.1539;-0.7557];
thetahat1 =[
0
0
0.00533533039938
-0.00525596941418
0.00091981894752
-0.00000072478418
0.00000075736475
-0.00000024541416
0.00000000003054
-0.00000000003275
0.00000000001352];
thetahat2 =[
0
0
-0.01933379948423
0.01988845609884
-0.00132442103450
0.00000253363899
-0.00000267662829
0.00000036307209
-0.00000000010425
0.00000000011135
-0.00000000002135];
%MODELO 4SID-----------------------------------[YY XX]=dlsim(Abest,Bbest,Cbest,Dbest,U,X0best);
%HAMMERSTEIN-----------------------------------ru1=[YY(2),YY(1),0];
cu1=YY(2:length(YY),:);
phu1=toeplitz(cu1.^2,ru1.^2);
phu2=toeplitz(cu1.^4,ru1.^4);
phu3=toeplitz(cu1.^6,ru1.^6);
phi1=[phu1,phu2,phu3];
phi2=[phu1,phu2,phu3];
%COMPOSICIONES---------------------------------y1=phi1*thetahat1(3:length(thetahat1));
y2=phi2*thetahat2(3:length(thetahat2));
y3=1-y1-y2;
%CALCULO DE "D"
for i=1:length(RRop1),
D(i)=2/(RRop1(i)+1);
end
X=y1;
%CONDICIONES
Ceq=sum(X.*D')/sum(D)-0.98;
C=-sum(D);
103
104
105
celdas=hyvalue(cells);
celdas1=hyvalue(cells1);
tiempo11=celdas(9);
while t==0
%Leer valores de las celdas--------------------------------------------------celdas=hyvalue(cells);
%Definicin de variables en Matlab-------------------------------------------u1in=celdas(1);
tiempo=celdas(9);
%Control de paso de interaccin----------------------------------------------if tiempo>20*j +tiempo11
j=1+j;
tiempo1(j)=tiempo;
u(j)=u1in;
%inicializo vector de composiciones estimadas-----------------------------%cyclohexano
yhatv1(1)=1;
yhatv1(2)=1;
yhatv1(3)=1;
%n_heptano
yhatv2(1)=0;
yhatv2(2)=0;
yhatv2(3)=0;
%tolueno
yhatv3(1)=0;
yhatv3(2)=0;
yhatv3(3)=0;
uv1=u.^2;
uv2=u.^4;
uv3=u.^6;
%Comienzo la estimacion a partir de la tercera----------------------------------%iteracion ya que esta inicializada hasta j=3
if tiempo1(j)>20*3 + tiempo11
yhatv1(j)=-ahat1(1)*yhatv1(j-1)-ahat1(2)*yhatv1(j-2)+thetahatbc1v(1)*uv1(j-1)+...
thetahatbc1v(2)*uv1(j-2)+thetahatbc1v(3)*uv1(j-3)+thetahatbc1v(4)*uv2(j-1)+...
thetahatbc1v(5)*uv2(j-2)+thetahatbc1v(6)*uv2(j-3)+thetahatbc1v(7)*uv3(j-1)+...
thetahatbc1v(8)*uv3(j-2)+thetahatbc1v(9)*uv3(j-3)+delta1;
if yhatv1(j)>1
yhatv1(j)=1;
end
if yhatv1(j)<0
yhatv1(j)=0;
end
yhatv2(j)=-ahat2(1)*yhatv2(j-1)-ahat2(2)*yhatv2(j-2)+thetahatbc2v(1)*uv1(j1)+...
thetahatbc2v(2)*uv1(j-2)+thetahatbc2v(3)*uv1(j-3)+thetahatbc2v(4)*uv2(j-1)+...
thetahatbc2v(5)*uv2(j-2)+thetahatbc2v(6)*uv2(j-3)+thetahatbc2v(7)*uv3(j-1)+...
thetahatbc2v(8)*uv3(j-2)+thetahatbc2v(9)*uv3(j-3)+delta2;
if yhatv2(j)>1
yhatv2(j)=1;
106
end
if yhatv2(j)<0
yhatv2(j)=0;
end
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
if yhatv3(j)>1
yhatv3(j)=1;
end
if yhatv3(j)<0
yhatv3(j)=0;
end
%-------------------------------------------------------------%C/A 90 MUESTRAS ACTUALIZO CON VALORES REALES DE LA
COMPOSICION
%-------------------------------------------------------------if j==90*L
%LEER VALORES REALES DE COMPOSICION YREAL1 y YREAL2
y1real=hyvalue(cells(3))
y2real=hyvalue(cells(5))
delta1=y1real-yhatv1(j)+delta1;
delta2=y2real-yhatv2(j)+delta2;
yhatv1(j)=yhatv1(j)+delta1;
yhatv2(j)=yhatv2(j)+delta2;
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
L=L+1;
end
%--------------------------------------------------------------hyset(cells1{1},yhatv1(j));
hyset(cells1{2},yhatv2(j));
hyset(cells1{3},yhatv3(j));
end
if tiempo > 1000000000
t=1;
end
end
end
Script inferoptim_PID que realiza la conexin con Hysys del inferenciador, del
PID y del control de vlvulas para el caso de set point ptimo de cyclohexano
%--------------------------------------------------------------------------------------%SCRIPT DEL INFERENCIADOR, CONTROL DE VALVULAS Y PID
%PARA EL CASO DE SETPOINT OPTIMO EN EL CYCLOHEXANO
%--------------------------------------------------------------------------------------ysp=cicloop;
%Algoritmo-----------------------------------------acum=0;
tttt=1;
L=1;
107
delta1=0;
delta2=0;
j=0;
t=0;
celdas=hyvalue(cells);
celdas1=hyvalue(cells1);
tiempo11=celdas(9);
RRo=celdas(10);
e=[0 0 0];
u1111=[RRo RRo RRo];
ff=1;
A1=0;
DA1=0;
while t==0
k1 = hyvalue(cells1{5});
k2 = hyvalue(cells1{6});
k3 = hyvalue(cells1{7});
%Leer valores de las celdas
celdas=hyvalue(cells);
%Definicin de variables en Matlab
u1in=celdas(1);
tiempo=celdas(9);
%Control de paso de interaccin
if tiempo>20*j +tiempo11
j=1+j;
tiempo1(j)=tiempo;
u(j)=u1in;
%inicializo vector de composiciones
%estimadas y la entrada
%cyclohexano
yhatv1(1)=1;
yhatv1(2)=1;
yhatv1(3)=1;
%n_heptano
yhatv2(1)=0;
yhatv2(2)=0;
yhatv2(3)=0;
%tolueno
yhatv3(1)=0;
yhatv3(2)=0;
yhatv3(3)=0;
%entrada
uv1=u.^2;
uv2=u.^4;
uv3=u.^6;
%Comienzo la estimacion a partir de la tercera------------------------------%iteracion ya que esta inicializada hasta j=3
if tiempo1(j)>20*3 + tiempo11
yhatv1(j)=-ahat1(1)*yhatv1(j-1)-ahat1(2)*yhatv1(j-2)+thetahatbc1v(1)*uv1(j-1)+...
thetahatbc1v(2)*uv1(j-2)+thetahatbc1v(3)*uv1(j-3)+thetahatbc1v(4)*uv2(j-1)+...
108
thetahatbc1v(5)*uv2(j-2)+thetahatbc1v(6)*uv2(j-3)+thetahatbc1v(7)*uv3(j-1)+...
thetahatbc1v(8)*uv3(j-2)+thetahatbc1v(9)*uv3(j-3)+delta1;
if yhatv1(j)>1
yhatv1(j)=1;
end
if yhatv1(j)<0
yhatv1(j)=0;
end
yhatv2(j)=-ahat2(1)*yhatv2(j-1)-ahat2(2)*yhatv2(j-2)+thetahatbc2v(1)*uv1(j1)+...
thetahatbc2v(2)*uv1(j-2)+thetahatbc2v(3)*uv1(j-3)+thetahatbc2v(4)*uv2(j-1)+...
thetahatbc2v(5)*uv2(j-2)+thetahatbc2v(6)*uv2(j-3)+thetahatbc2v(7)*uv3(j-1)+...
thetahatbc2v(8)*uv3(j-2)+thetahatbc2v(9)*uv3(j-3)+delta2;
if yhatv2(j)>1
yhatv2(j)=1;
end
if yhatv2(j)<0
yhatv2(j)=0;
end
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
if yhatv3(j)>1
yhatv3(j)=1;
end
if yhatv3(j)<0
yhatv3(j)=0;
end
%-------------------------------------------------------------%C/A 90 MUESTRAS ACTUALIZO CON VALORES REALES DE LA
COMPOSICION
%-------------------------------------------------------------if j==90*L
%LEER VALORES REALES DE COMPOSICION YREAL1 y YREAL2
y1real=hyvalue(cells(3))
y2real=hyvalue(cells(5))
delta1=y1real-yhatv1(j)+delta1;
delta2=y2real-yhatv2(j)+delta2;
yhatv1(j)=yhatv1(j)+delta1;
yhatv2(j)=yhatv2(j)+delta2;
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
L=L+1;
end
%--------------------------------------------------------------hyset(cells1{1},yhatv1(j));
hyset(cells1{2},yhatv2(j));
hyset(cells1{3},yhatv3(j));
%ERROR DE SEGUIMIENTO Y PID
if j<830
acum=acum+e(j);
u1111(j)=k1*e(j)+k2*(acum)+k3*(e(j)-e(j-1))+3;
if u1111(j)<0.5
109
u1111(j)=0.5;
end
hyset(cells{10},u1111(j));
end
if j>830
hyset(cells{10},0.5);
end
%CONTROL DE VALVULAS------------------------------if j>830 & tttt==1
hyset(cells{8},0);
hyset(cells{7},50);
tttt=2;
end
if yhatv3(j)>0.35
hyset(cells{6},50);
hyset(cells{7},0);
tttt=2;
end
end
if tiempo > 1000000000
t=1;
end
end
end
Script inferop-cyclo-n-hept que realiza la conexin e implementacin del
inferenciador,del PID y del control de vlvulas para el caso en que se optimiz
tanto el cyclohexano como el n-heptano
%--------------------------------------------------------------------%SCRIPT QUE REALIZA LA CONEXION E IMPLEMENTACION DEL
INFERENCIADOR,DEL PID Y
%DEL CONTROL DE VALVULAS. PARA EL CASO DE TRAYECTORIAS
OPTIMAS TANTO PARA EL
%CYCLOHEXANO COMO PARA EL N-HEPTANO
%--------------------------------------------------------------------y1=sp_cyclo;
%Algoritmo-----------------------------------------------------------acum=0;
L=1;
delta1=0;
delta2=0;
j=0;
t=0;
celdas=hyvalue(cells);
celdas1=hyvalue(cells1);
tiempo11=celdas(9);
RRo=celdas(10);
e=[0 0 0];
u1111=[RRo RRo RRo];
110
ff=1;
AA1=0;
DA1=0;
while t==0
k1 = hyvalue(cells1{5});
k2 = hyvalue(cells1{6});
k3 = hyvalue(cells1{7});
%Leer valores de las celdas
celdas=hyvalue(cells);
%Definicin de variables en Matlab
u1in=celdas(1);
tiempo=celdas(9);
%Control de paso de interaccin
if tiempo>20*j +tiempo11
j=1+j;
tiempo1(j)=tiempo;
u(j)=u1in;
%inicializo vector de entrada y
%vector de composiciones estimadas
%cyclohexano
yhatv1(1)=1;
yhatv1(2)=1;
yhatv1(3)=1;
%n_heptano
yhatv2(1)=0;
yhatv2(2)=0;
yhatv2(3)=0;
yhatv3(1)=0;
yhatv3(2)=0;
yhatv3(3)=0;
uv1=u.^2;
uv2=u.^4;
uv3=u.^6;
%Comienzo la estimacion a partir de la tercera------------------------------%iteracion ya que esta inicializada hasta j=3
if tiempo1(j)>20*3 + tiempo11
yhatv1(j)=-ahat1(1)*yhatv1(j-1)-ahat1(2)*yhatv1(j-2)+thetahatbc1v(1)*uv1(j-1)+...
thetahatbc1v(2)*uv1(j-2)+thetahatbc1v(3)*uv1(j-3)+thetahatbc1v(4)*uv2(j-1)+...
thetahatbc1v(5)*uv2(j-2)+thetahatbc1v(6)*uv2(j-3)+thetahatbc1v(7)*uv3(j-1)+...
thetahatbc1v(8)*uv3(j-2)+thetahatbc1v(9)*uv3(j-3)+delta1;
if yhatv1(j)>1
yhatv1(j)=1;
end
if yhatv1(j)<0
yhatv1(j)=0;
end
yhatv2(j)=-ahat2(1)*yhatv2(j-1)-ahat2(2)*yhatv2(j-2)+thetahatbc2v(1)*uv1(j1)+...
thetahatbc2v(2)*uv1(j-2)+thetahatbc2v(3)*uv1(j-3)+thetahatbc2v(4)*uv2(j-1)+...
thetahatbc2v(5)*uv2(j-2)+thetahatbc2v(6)*uv2(j-3)+thetahatbc2v(7)*uv3(j-1)+...
thetahatbc2v(8)*uv3(j-2)+thetahatbc2v(9)*uv3(j-3)+delta2;
if yhatv2(j)>1
yhatv2(j)=1;
end
if yhatv2(j)<0
yhatv2(j)=0;
end
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
if yhatv3(j)>1
yhatv3(j)=1;
end
if yhatv3(j)<0
yhatv3(j)=0;
end
%-------------------------------------------------------------%C/A 90 MUESTRAS ACTUALIZO CON VALORES REALES DE LA
COMPOSICION
%-------------------------------------------------------------if j==90*L
%LEER VALORES REALES DE COMPOSICION YREAL1 y YREAL2
y1real=hyvalue(cells(3))
y2real=hyvalue(cells(5))
delta1=y1real-yhatv1(j)+delta1;
delta2=y2real-yhatv2(j)+delta2;
yhatv1(j)=yhatv1(j)+delta1;
yhatv2(j)=yhatv2(j)+delta2;
yhatv3(j)=1-yhatv1(j)-yhatv2(j);
L=L+1;
end
%--------------------------------------------------------------hyset(cells1{1},yhatv1(j));
hyset(cells1{2},yhatv2(j));
hyset(cells1{3},yhatv3(j));
%ERROR DE SEGUIMIENTO
ysp=y1;
e(j)=ysp(j)-yhatv1(j);
acum=acum+e(j);
u1111(j)=k1*e(j)+k2*(acum)+k3*(e(j)-e(j-1))+3;
if u1111(j)<0.5
u1111(j)=0.5;
end
hyset(cells{10},u1111(j));
%CONTROL DE LAS VALVULAS
if j>500 & j<=550
hyset(cells{8},0);
hyset(cells{7},50);
end
if j>550 & j<=850
hyset(cells{7},0);
hyset(cells{6},50);
111
end
if j>850 & j<=987
hyset(cells{6},0);
hyset(cells1{9},50);
end
hyset(cells1{4},ysp(j));
end
if tiempo > 1000000000
t=1;
end
end
end
112
113
REFERENCIAS
[1].- Lennart Ljung , System Identification,Theory for the user(second edition, 1999)
[2].- Juan Carlos Gomez and Marta Basualdo , No linear identification of
multicomponent Batch distillation processes (paper,2000).
[3].- Urmila M. Diwekar , Batch distillation (simulation, optimal design and
control,1995)
[4].- Karl J. strm and Tore Hgglund , PID controllers (second edition, 1995).
[5].- The Math Works Inc. , Optimization Toolbox for use with Matlab (users guide
version 2, 1990-1999)
[6].- The Math Works Inc. , System Identification Toolbox for use with Matlab
(users guide,1988-1997)