zumoffenygaretto_2002

113
Universidad Nacional de Rosario Facultad de Ciencias Exactas Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Proyecto de Ingeniería Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo. Autores: GARETTO, FERNANDO DARÍO G-2529/1 ZUMOFFEN, DAVID ALEJANDRO Z-0402/2 Director: Dra. MARTA BASUALDO Diciembre de 2002

Upload: jricardo019763535

Post on 21-Dec-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

Universidad Nacional de Rosario Facultad de Ciencias Exactas Ingeniería y Agrimensura

Escuela de Ingeniería Electrónica Proyecto de Ingeniería

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas

discontinuos y su implementación en lazos de control óptimo.

Autores: GARETTO, FERNANDO DARÍO G-2529/1 ZUMOFFEN, DAVID ALEJANDRO Z-0402/2

Director: Dra. MARTA BASUALDO

Diciembre de 2002

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

2

RESUMEN

Este proyecto describe el desarrollo de un soft-sensor para estimar composiciones instantáneas de la corriente de salida de una columna de destilación batch (discontinua). El objetivo de este inferenciador es su empleo en técnicas de control convencional para el seguimiento de una trayectoria óptima obtenida previamente. El desarrollo del soft-sensor está basado en una técnica de identificación de sistemas no lineales que conduce a un modelo denominado “Hammerstein” . La columna de destilación batch ternaria ha sido modelada en forma rigurosa mediante el software Hysys Plant de Hyprotech-Aspen y su verificación se realiza mediante los datos reales de laboratorio extraídos de la literatura especializada. Esto dá como resultado un modelo riguroso confiable. Las plantas de destilación tipo batch presentan un real desafío 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 diseñado para seguir un setpoint variable propuesto sobre la base de optimizar alguna de las condiciones de producción del sistema. El modelo del soft-sensor es diseñado bajo el entorno de trabajo de Matlab realizándose la comunicación con la planta que está en el entorno de trabajo de Hysys mediante una interfaz de comunicación de éste que permite utilizar a Matlab como un controlador ActiveX-Com para Hysys. En el marco de la automatización 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 válvulas de los tanques que almacenan los productos y cortes intermedios de acuerdo a las especificaciones del mercado.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

3

AGRADECIMIENTOS Nuestro agradecimiento va destinado a todas aquellas personas que posibilitaron este trabajo, ya sea compañeros, profesores, familiares, amigos; ya que nos ofrecieron un apoyo incondicional. Queremos hacer una mención especial a la Dra. Marta Basualdo por su gran dedicación y esfuerzo durante todo el desarrollo del proyecto, proporcionándonos material de estudio e investigación. También queremos agradecer a Juan Pablo Ruíz, quien nos facilitó la tarea de trabajar con un software (HYSYS) completamente desconocido por nosotros.

Rosario, Diciembre de 2002 GARETTO, FERNANDO.

ZUMOFFEN, DAVID.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

4

ÍNDICE

CAPÍTULO 1.- INTRODUCCIÓN……………………………………………………9 CAPÍTULO 2.- CONCEPTOS BÁSICOS DE LA DESTILACIÓN BATCH…….11 2.1.- Generalidades…………………………………………………………………….12 2.1.1.- Destilación simple………………………………………………………………12 2.1.2.- El por qué de la destilación batch…………………………………………………….14 2.2.- Modos de operación………………………………………………………………………15 2.2.1.- Análisis teórico………………………………………………………………….15 2.2.2.- Reflujo constante………………………………………………………………………..18 2.2.3.- Reflujo variable…………………………………………………………….…...19 2.2.4.- Reflujo óptimo…………………………………………………………………..20 2.3.- Optimización……………………………………………………………………...21 2.3.1.- Funciones objetivo……………………………………………………………...21 2.3.2.- Análisis de los grados de libertad………………………………………………22 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 factibilidad…………………………………………………25 2.3.4.- Solución del problema…………………………………………………………..25 2.4.- Control óptimo……………………………………………………………………26 2.4.1.- Control óptimo en la destilación batch…………………………………………27 2.4.1.1.- Problema de máximo destilado……………………………………….………28 2.4.1.2.- Problema de mínimo tiempo de destilado…………………………………….28 2.4.1.3.- Problema de máximo aprovechamiento………………………………………28 2.4.2.- Técnicas de solución……………………………………………………………29 CAPÍTULO 3.- MODELADO RIGUROSO DE LA PLANTA EN ESTUDIO…...30 3.1.- Características y esquema de la planta en el entorno de Hysys………………….31 3.2.- Obtención de datos………………………………………………………………..32 3.2.1.- Simulación de la planta con relación de reflujo constante……………………..32 3.2.2- Simulación de la planta con relación de reflujo variable……………………….35 CAPÍTULO 4.- IDENTIFICACIÓN DE SISTEMAS………………………………37 4.1- Introducción……………………………………………………………………….38 4.2.- Definición y aspectos de la identificación………………………………………..38 4.3.- Fases del proceso de identificación……………………………………………....38 4.3.1.- Planificación de experimentos y obtención de datos…………………………...38 4.3.2.- Selección de la estructura de modelo…………………………………………...38 4.3.3.- Estimación de parámetros………………………………………………………39 4.3.4.-Validación del modelo…………………………………………………………...39 4.4.- Identificación de sistemas no lineales…………………………………………….39 4.4.1.- Introducción…………………………………………………………………….39 4.4.2.- Identificación de modelos Hammerstein………………………………………..40

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

5

4.4.3.- Resultados de la identificación no lineal (soft-sensor)…………………………43 4.5.- Identificación de sistemas lineales………………………………………………..46 4.5.1.- Métodos de subespacio para identificación de sistemas dinámicos (4SID)……………………………………………………………………….46 4.5.1.1.- Introducción…………………………………………………………………...46 4.5.1.2.- Modelo en espacio de estados………………………………………………...46 4.5.1.3.- Conceptos y definiciones……………………………………………………...46 4.5.1.4.- Métodos 4SID basados en teoría de realizaciones…………………………...48 4.5.2.- Resultados de la identificación lineal (modelo RR-temperatura)………………49 CAPÍTULO 5.- IMPLEMENTACIÓN DEL MODELO HAMMERSTEIN (temperatura-composición)……………………………………..53 5.1.- Introducción ……………………………………………………………………...54 5.2.- Implementación del soft-sensor en la planta en estudio………………………….54 5.2.1.-Operación con RR constante…………………………………………………….55 5.2.2.-Operación con RR variable……………………………………………………...55 5.3.- Aplicación concreta del soft-sensor para la apertura y cierre de válvulas………56 CAPÍTULO 6.- IMPLEMENTACIÓN DEL SOFT-SENSOR EN LAZOS DE CONTROL………………………………………………………………………..59 6.1.-Control PID………………………………………………………………………..60 6.1.1.-Estructura de la señal de control………………………………………………..60 6.1.2.-Ajuste óptimo del PID…………………………………………………………...61 6.1.2.1.- Funciones de optimización……………………………………………………62 6.2.- Implementación del PID y conexión con Hysys…………………………………..68 6.2.1.- Prueba del control con trayectorias de setpoint arbitrarias……………………68 6.2.1.1- Caso en que el setpoint es solo el cyclohexano………………………………..68 6.2.1.2- Caso en que el setpoint del cyclohexano luego conmuta al del n-heptano………………………………………………………………………..69 CAPÍTULO 7.- OPTIMIZACIÓN DE LA TRAYECTORIA DE DESTILADO………………………………………………………………………71 7.1.- Introducción………………………………………………………………………72 7.2.- Obtención de la trayectoria óptima para máximo destilado……………………...73 7.3.- Prueba de la planta a lazo abierto (para la optimización del cyclohexano)………………………………………………..75 7.4.- Prueba de la planta a lazo cerrado ………………………………………………77 7.4.1.- Set point solo en el cyclohexano (cyclohexano óptimo)………………………...77 7.4.2.- Setpoint en el cyclohexano pero ahora también se optimizó el n-heptano…………………………………………………………………………….81 CAPÍTULO 8.- CONCLUSIONES…………………………………………………..87 APENDICE……………………………………………………………………………89

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

6

ÍNDICE DE FIGURAS

CAPÍTULO 2.- CONCEPTOS BÁSICOS DE LA DESTILACIÓN BATCH FIGURA 2.1.- Esquema general de la destilación batch……………………………..12 FIGURA 2.2.- Procesos de escenario simple y procesos multi-escenarios…………..13 FIGURA 2.3.- Secuencias de columnas continuas……………………………………14 FIGURA 2.4.- Columna de destilación batch multifracción………………………….15 FIGURA 2.5.- Columna de destilación batch con N platos (N escenarios)…………..16 FIGURA 2.6.- Curva de equilibrio y ecuación 2.3…………………………………...17 FIGURA 2.7.- Método de McCabe-Thiele para operación con reflujo constante………………………………………………………18 FIGURA 2.8.- Método de McCabe-Thiele para operación con reflujo variable………………………………………………………..19 FIGURA 2.9- Método de McCabe-Thiele para operación con reflujo óptimo…………………………………………………………20 FIGURA 2.10.- Esquema general de optimización……………………………………26 CAPÍTULO 3.- MODELO RIGUROSO DE LA PLANTA EN ESTUDIO FIGURA 3.1.- Esquema de la planta en hysys………………………………….…….31 FIGURA 3.2.- Composiciones reales de la planta de laboratorio (líneas en color) y composiciones simuladas con el modelo riguroso de Hysys…………………………………………..32 FIGURA 3.3.- Temperatura de los platos para RR=1.5……………………………...33 FIGURA 3.4.- Temperatura de los platos para RR=4.5……………………………...33 FIGURA 3.5.- Composiciones de destilado para RR=1.5……………………………34 FIGURA 3.6.- Composiciones de destilado para RR=4.5……………………………34 FIGURA 3.7.- Temperatura de los platos para RR variable…………………………35 FIGURA 3.8.- Composiciones de destilado para RR variable……………………….35 FIGURA 3.9.- Relación de reflujo aleatoria………………………………………….36 CAPÍTULO 4.- IDENTIFICACIÓN DE SISTEMAS. FIGURA 4.1.- Esquema del modelo Hammerstein…………………………………...40 FIGURA 4.2.- Estimación del cyclohexano…………………………………………..43 FIGURA 4.3.- Estimación del n_heptano…………………………………………….44 FIGURA 4.4.- Estimación del tolueno………………………………………………..44 FIGURA 4.5.- Validación de las composiciones……………………………………...45 FIGURA 4.6.- Datos experimentales entrada salida…………………………………50 FIGURA 4.7.- Estimación de la temperatura del plato 1…………………………….51 FIGURA 4.8.- Validación de la temperatura del plato 1……………………………..52 CAPÍTULO 5.- IMPLEMENTACIÓN DEL MODELO HAMMERSTEIN (temperatura-composición) FIGURA 5.1.- Prueba del inferenciador con relación de reflujo constante RR=1………………………………………………………..55 FIGURA 5.2.- Prueba del inferenciador con relación de reflujo variable RR=RR3……………………………………………………..56

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

7

FIGURA 5.3.- Prueba del inferenciador en el control de válvulas de los tanques para X1prom=0.9 y X2=0.35 y RR=2.5…………………….57 FIGURA 5.4.- Nivel de líquido en los tanques de almacenamiento………………….58 FIGURA 5.5.- Composiciones acumuladas promedio medidas por Hysys …………...58 . . CAPÍTULO 6.- IMPLEMENTACIÓN DEL SOFT-SENSOR EN LAZOS DE CONTROL. FIGURA 6.1.- Esquema general de control…………………………………………...60 FIGURA 6.2.- Modelo sencillo de la planta…………………………………………...61 FIGURA 6.3.- Esquema utilizado para la optimización………………………………62 FIGURA 6.4.- Comparación del control para diferentes parámetros óptimos del PID………………………………………………………..67 FIGURA 6.5.- Señal de control para diferentes parámetros óptimos del PID………..67 FIGURA 6.6.- Destilados reales, inferidos y setpoint para el caso RR3 (el cyclohexano es el setpoint)…………………………………………68 FIGURA 6.7.- Variable manipulada para caso RR3 (el cyclohexano es el setpoint)………………………………………….69 FIGURA 6.8.- Destilados reales, inferidos y setpoint (caso en que se cambia el setpoint)……………………………………………………69 FIGURA 6.9.- Variable manipulada para el caso de conmutación del setpoint……...70 CAPÍTULO 7.- OPTIMIZACIÓN DE LA TRAYECTORIA DE DESTILADO FIGURA 7.1.- Trayectorias para optimización del cyclohexano……………………..75 FIGURA 7.2.- Variable manipulada optimizada para la trayectoria del Cyclohexano…………………………………………………………...75 FIGURA 7.3.- Respuesta de la planta a lazo abierto a la relación de reflujo óptima…………………………………………………………76 FIGURA 7.4.- Composición promedio final a lazo abierto en el tanque del cyclohexano……………………………………………….76 FIGURA 7.5.- Respuesta de la planta a lazo cerrado con cyclohexano optimizado como setpoint……………………………………………..78 FIGURA 7.6.- Variable manipulada real para el cyclohexano como setpoint…….…78 FIGURA 7.7.- Nivel de liquido en los tanques………………………………………..79 FIGURA 7.8.- Composición promedio acumulada en el tanque de tolueno………….79 FIGURA 7.9.- Composición promedio acumulada en el tanque de n-heptano………80 FIGURA 7.10.- Composición acumulada promedio en el tanque de cyclohexano……80 FIGURA 7.11.- Nueva disposición de la planta para acumular dos cortes intermedios…………………………………………………….81 FIGURA 7.12.- Trayectorias optimizadas del cyclohexano y del n-heptano………….82 FIGURA 7.13.- Relación de reflujo óptima tanto para el cyclohexano como para el n-heptano……………………………………………………..82 FIGURA 7.14.- Respuesta de la planta en lazo cerrado con el cyclohexano como setpoint…………………………………………………………83 FIGURA 7.15.- Variable manipulada real para el caso de cyclohexano y n-heptano óptimos……………………………………………………83 FIGURA 7.16.- Composición promedio en el tanque1(cyclohexano)………………...84 FIGURA 7.17.- Composición promedio en el tanque3 (n-heptano)…………………..84

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

8

FIGURA 7.18.- Composición promedio en el reboiler (tolueno)……………………..85 FIGURA 7.19.- Composición promedio en el tanque 2 (primer corte intermedio)…………………………………………….85 FIGURA 7.20.- Composición promedio en el tanque 4 (segundo corte intermedio)…………………………………………...86

ÍNDICE DE TABLAS CAPÍTULO 2.- CONCEPTOS BÁSICOS DE LA DESTILACIÓN BATCH TABLA 2.1.- Grados de libertad para reflujo constante……………………………...22 TABLA 2.2.- Grados de libertad para reflujo variable……………………………….23 TABLA 2.3.- Grados de libertad para reflujo óptimo………………………………...24 TABLA 2.4.- Límites en los modos de operación……………………………………..25 CAPÍTULO 6.- IMPLEMENTACIÓN DEL SOFT-SENSOR EN LAZOS DE CONTROL. TABLA 6.1.- Parámetros optimizados del PID y errores de seguimiento……………66 CAPÍTULO 7.- OPTIMIZACIÓN DE LA TRAYECTORIA DE DESTILADO. TABLA 7.1.- Comparación entre resultados teóricos y reales………………………..86

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

9

CAPÍTULO 1

INTRODUCCIÓN

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

10

En los años recientes, el interés industrial en destilación batch se ha incrementado significativamente debido a la necesidad de obtener productos de alto valor agregado y bajo volumen; tales como la industria farmacéutica, cosmética, alimenticia, en la obtención de aceites esenciales, etc. Conseguir productos de alta calidad y mejorar la performance de operaciones batch requiere el uso de modelos de proceso exactos que permitan la implementación de metodologías de control modernas. La obtención de modelos exactos de procesos batch es un problema muy dificultoso por varias razones. En primer lugar, la información de la calidad del producto y performance del proceso es frecuentemente retardada hasta que se complete un batch. En segundo lugar , las mediciones claves tales como las composiciones son generalmente escasas y retardadas, haciendo dificultosa la obtención de modelos adecuados a partir de datos experimentales a través de métodos de identificación standard. Por otra parte, los modelos de procesos obtenidos usando primeros principios son en general muy complejos para la aplicación de metodologías de diseño de control avanzadas basadas en modelos. A pesar de estas dificultades, la mayor parte de la literatura en control de procesos batch se enfocó en el desarrollo de métodos de diseño de control basados en modelos que cuentan con la suposición de que los modelos adecuados del sistema están disponibles, mientras significativamente menor atención se ha puesto en el problema de cómo estos modelos han sido obtenidos desde datos experimentales, esto es asunto de la identificación de procesos de destilación batch. Este trabajo está organizado de la siguiente manera; en el capítulo 2 brindamos una introducción a la destilación batch, en el capítulo presentamos la planta en estudio, en el capítulo 4 revisamos los métodos de identificación y desarrollamos un modelo lineal, en el capítulo 5 presentamos el desarrollo del soft-sensor, en el capítulo 6 realizamos el ajuste del PID y en el capítulo 7 optimizamos perfiles de destilado e implementamos el control.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

11

CAPÍTULO 2

CONCEPTOS BÁSICOS DE LA DESTILACIÓN

BATCH

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

12

2.1.- INTRODUCCIÓN La destilación es el proceso más antiguo y más ampliamente usado de separación en la industria. Esquemáticamente y como diagrama inicial podemos plantear:

Figura 2-1: Esquema general de la destilación

batch Vemos que el fondo de la columna ha sido alimentado con una mixtura de componentes que se irán evaporando, y recorrerán la columna hacia el condensador. El vapor en cada instante, será rico en el componente más volátil de la mixtura; así con el paso del tiempo obtendremos la evaporación de todos los componentes de la mixtura. ( Primero el más volátil y por último el menos volátil ). Introduciendo luego el concepto de reflujo así como el uso de platos para incrementar la transferencia de masa; convertimos este simple esquema en una columna de destilación batch. La destilación batch es usada generalmente en pequeñas y medianas industrias; en contraposición con la destilación continua, que es ampliamente utilizada en grandes industrias donde se manejan grandes volúmenes de producción. El interés reciente en la producción de químicos de bajo volumen y alto valor agregado han renovado el interés de la destilación batch. La teoría de la destilación batch se sustenta, sobre los trabajos teóricos sobre destilación simple efectuados por Lord Rayleigh alrededor de 1902. 2.1.1- Destilación simple La destilación simple, también llamada destilación diferencial es el ejemplo más básico de la destilación batch. En este proceso el vapor es removido desde el fondo en cada intervalo de tiempo y es condensado en el condensador. El vapor es rico en el componente más volátil y el líquido queda en el fondo. A medida que transcurre el tiempo, el líquido en el fondo se hace menos rico en la composición del elemento más volátil y el destilado en el condensador progresivamente se enriquecerá en dicho componente.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

13

Siendo “F” (moles) la alimentación binaria inicial que está en el fondo, “XF” (fracción de mol) la composición del componente “A” en la alimentación, “B” el número de moles de material remanente en el fondo y “XD” la fracción de mol del componente “A” en el vapor “dB” producido en el intervalo infinitesimal “dt”; podemos escribir el balance de materia diferencial, para el componente “A”:

∫∫ −=⇒

−=⇒=−⇒

+==

B

F

X

X BD

BB

F

BD

BBBD

BBBD

XXdX

BdB

XXdX

BdBdXBdBXX

dBXdXBXBddBX

)(

)(.).(

..).(.

Entonces:

∫ −=

B

F

X

X BD

B

XXdX

FB

)()(ln

En el proceso de destilación se asume que en un período corto de tiempo, el vapor formado está en equilibrio termodinámico con el líquido. Entonces la composición de vapor “XD” está relacionada con la composición de líquido “XB” por una relación de equilibrio, de la forma XD = f (XB). La relación exacta para una mixtura particular puede ser obtenida por un análisis termodinámico. La destilación simple, que históricamente representa el comienzo de los procesos de destilación, todavía tiene aplicación en laboratorios; cuando no son requeridas altas purezas o cuando la mixtura es fácilmente separable. Podemos ver a la destilación simple como un estado de equilibrio donde el líquido y el vapor están en contacto mutuamente y la transferencia toma lugar entre las dos fases.

Figura 2-2: Procesos de escenario simple y procesos multi-escenarios

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

14

Donde: Y = composición de vapor X = composición de líquido Si N de tales estados son apilados uno por encima de otro y se les permite que tengan vaporización y condensación sucesiva, esto da como resultado un enriquecimiento del vapor y un empobrecimiento del líquido, en términos del componente más volátil, en el condensador y en el reboiler respectivamente. El vapor asciende hacia lo alto de la columna y el líquido desde el condensador es reinyectado hacia abajo; el contacto entre las fases líquido y vapor es establecido a través de contactos llamados platos. Entonces es fácil expresar la operación de la columna en términos de escenarios de equilibrio termodinámico donde dichos escenarios representan el número teórico de platos de la columna. De todas formas el análisis lleva consigo un número de restricciones o condiciones que veremos oportunamente. 2.1.2.- El por qué de la destilación batch

La destilación batch es muy importante en escala de producción pequeña donde es necesario separar pequeñas cantidades de productos que poseen gran valor agregado. La característica más destacada de la destilación batch es la flexibilidad; permitiendo manejar varias mixturas cambiando las condiciones de operación de la columna. La destilación batch requiere la menor cantidad de capital para separar componentes relativamente puros; la destilación continua generalmente requiere una columna separada para cada componente. Por ejemplo podemos graficar los sistemas de separación de benceno-tolueno-xyleno; tanto para destilación continua como para destilación batch.

Figura 2-3: Secuencia de columnas continuas

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

15

Figura 2-4: Columna de destilación batch

multifracción

Es propuesto que para separar “n” componentes puros; podemos necesitar “n-1” columnas de destilación continuas ( Nishimura y Hiraizumi, 1971). La viabilidad de una dada separación, usando una columna continua puede ser evaluada en término del mínimo número de platos Nmín y la mínima relación de reflujo Rmín. El mínimo número de platos es definido como el número de escenarios de equilibro requerido para una separación dada, bajo condición de reflujo total (relación de reflujo infinito; donde la relación de reflujo es definida como la relación entre la tasa de reflujo

de líquido en lo alto y la tasa de producto en el condensador, dtdD

LR/

= ).

2.2- MODOS DE OPERACIÓN DE LA COLUMNA DE DESTILACIÓN BATCH 2.2.1- Análisis teórico La columna consta de platos perforados que permite fluir el vapor hacia lo alto y el líquido es reinyectado desde lo alto a través de cada plato. Aquí se ignora el holdup de vapor y líquido en cada plato y en el condensador. Bajo esta simplificación de despreciable holdup el balance sobre todo el material y el balance de materia para el componente más volátil a lo largo de toda la columna podemos expresarlo como sigue:

=

−=

+==

∫∫ FB

xxdx

BdB

dBxdxBxBddBxB

F

x

x BD

BB

F

BBBD

ln

..).(.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

16

Figura 2-5: Columna de destilación batch con

N platos(N escenarios)

En la ecuación B es la cantidad remanente en el fondo, F es la alimentación inicial, xD es la composición instantánea de destilado y xB es la composición en el fondo del componente más volátil. •Relación funcional entre xD y xB. Para la columna considerada aquí (figura anterior) la relación requiere el cálculo de balance del material y el balance de energía a través de cada plato. Los platos son numerados desde el condensador hacia el fondo de la columna. En el plato j-ésimo tenemos cuatro flujos en juego, el flujo de líquido Lj-1 y el flujo de vapor Vj+1 que son entrantes y por otro lado el flujo de líquido Lj y de vapor Vj que salen del plato. Si denotamos con x e y a la composición de líquido y vapor respectivamente y con I y J llamamos a la entalpía de líquido y vapor respectivamente, podemos expresar: Balance de material:

jjjjjjjj

jjjj

yVxLyVxL

VLVL

.... 1111

11

+=+

+=+

++−−

+−

Balance de energía:

mixjjjjjjjj HpérdidasJVILJVIL +++=+ ++−− .... 1111

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

17

Donde Hmix = calor de la mezcla. Si asumimos que el calor latente molar de vaporización es constante (Jj+1=Jj) y el sistema se asume ideal (Hmix = 0, pérdidas = 0) entonces el balance de energía se reduce a :

VVVyLLL jjjj ==== +− 11 Que es la suposición de sobreflujo equimolar. Esta suposición permite extender el popular método gráfico de McCabe y Thiele para destilación continua a destilación batch. Entonces el balance de material desde el plato j-ésimo hasta el tope de la columna es:

( ) )1.2(1. +=+= RdtdD

dtdDLV

Donde L es el líquido reinyectado desde le condensador, R representa la relación de reflujo y la dD/dt es la tasa de destilado. El balance de material para el componente más volátil considerado la misma sección de la columna es:

)2.2(./. 1 Djj xV

dtdDxVLy += −

Sustituyendo (2.1) en (2.2) tenemos:

Djj xR

xR

Ry .1

1.1 1 +

++

= − (2.3)

Representando la ecuación anterior en el mismo gráfico que la curva de equilibrio tenemos:

Figura 2-6: Curva de equilibrio y

Ecuación 2-3

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

18

Entonces se comienza trazando una horizontal desde A hasta cortar la curva de operación en el punto 1, luego se traza una vertical hasta cortar la línea de operación en 2, procediendo así podemos encontrar la composición del fondo xB. Este procedimiento relaciona la composición de destilado con la composición de fondo a través de un número de escenarios. Se debe tener en cuenta que xB no se mantiene constante como ocurría en la destilación continua. 2.2.2.- Reflujo constante Uno de los primeros análisis de la operación de la destilación batch a reflujo constante fue presentado por por Smoker y Rose (1940). Ellos usaron la ecuación de Rayleigh en conjunción con el método de McCabe-Thiele para capturar la dinámica de la columna de destilación batch. Entonces varios valores de xD son seleccionados y son dibujadas las líneas de operación con igual pendiente R/(R+1) desde la intersección con la diagonal.

Figura 2-7: Método de McCabe-Thiele para operación con reflujo constante

El proceso es detenido cuando se cumple algún criterio tomado, como puede ser composición de destilado deseada promedio en el condensador o fin de la fracción en la composición de fondo, etc. Así como también podemos tomar como criterio de detección el tiempo total de destilación. Smoker y Rose presentan el método de cálculo en forma independiente del tiempo. El tiempo puede ser introducido a través de la tasa de vapor V. Del balance de material podemos ver que la tasa de decrecimiento de la cantidad del fondo es igual a la tasa de destilado, entonces:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

19

1+−=⇒−=

RV

dtdB

dtdD

dtdB

Integrando:

∫∫+

=⇒+

=F

B

T

DV

RTdBV

Rdt .11

0

2.2.3.- Reflujo variable

En la operación con reflujo variable dicho reflujo se modifica de forma de mantener la composición del componente clave constante. En 1937 Bogart presentó un análisis de un sistema binario bajo condiciones de reflujo variable. Los pasos que involucra el cálculo son similares al caso anterior y la ecuación de Rayleigh para este caso toma a forma:

∫ −=

B

F

x

x BD

B

xxdx

FBln

Entonces como la composición de destilado se mantiene constante la integral toma la forma:

BD

FD

xxxx

FB

−−

=

El segundo paso es establecer la relación entre R y xB. Varios valores de R son seleccionados y las líneas de operación son dibujadas desde el punto fijo (xD,xD) con una pendiente igual a R/(R+1). Luego se trazan los pasos entre la línea de operación y la curva de equilibrio.

Figura 2-8: Método de McCabe-Thiele para operación con reflujo variable

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

20

El criterio de detención para esta caso puede ser, el fin de la composición de fondo, cantidad de producto recogido desde le condensador o el reboiler, o tiempo de destilación. El tiempo de destilación puede ser incluido siguiendo los mismos pasos del caso anterior obteniendo ahora la siguiente expresión de T:

( )( )∫ −

−+=

F

B BD

FD dBxx

xxFV

RT 2.1

2.2.4.- Reflujo óptimo

Aplicando cualquiera de los método anteriores para idénticas condiciones iniciales y requerimientos de pureza el tiempo de batch diferirá según el caso. Ahora podemos considerar un tercer modo de operación donde ni el reflujo ni la composición del producto se mantienen constantes. Por ejemplo si partimos de que tenemos el siguiente perfil de composiciones:

xD = xD1 xD2 ……..xDN R= R1 R2 ………RN

Existe una correspondencia xD1-R1, xD2-R2 , entonces para cada par de valores se dibujan las líneas de operación con pendiente R/(R+1) y partiendo desde el punto (xD,xD); usando entonces el método gráfico podemos calcular xB.

Figura 2-9: Método de McCabe-Thiele para

operación con reflujo óptimo

Entonces el lado derecho de la ecuación de Rayleigh es obtenido como el área bajo la curva y se puede demostrar que es igual a ln (B/F), entonces la cantidad total de

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

21

destilado obtenido por este método dado por F.(1-B/F) es igual al obtenido por los dos métodos anteriores. Recurriendo al básico balance de masas podemos obtener la composición promedio de destilado:

DxBxF

xxBxFdDx BFDav

D

BFDav..

...0

−=⇒−=∫

Que puede demostrarse que es idéntico al que se puede obtener para los dos casos anteriores. Ahora el tiempo requerido para esta operación se deriva de las ecuaciones básicas de balance de material y de la ecuación de Rayleigh quedando la expresión de T como:

( )∫ −+

=F

B

x

x BD

dBxxV

RBT 1.)1(.

Según sea el perfil de reflujo puede que el tiempo requerido sea menor que para los dos métodos anteriores, obteniendo la misma cantidad de producto con igual pureza. Este método fue obtenido por Coward (1967) y se especifica con el nombre de política óptima. La política de reflujo óptimo es esencialmente un compromiso entre los dos modos básicos de operación (reflujo constante y variable) y está basado en la habilidad para obtener el mayor provecho de operación. El cálculo de esta política es un problema dificultoso y se basa en la teoría de control óptimo. Existen varias políticas de reflujo óptimo que dependiendo de los índices de performance elegidos como objetivo se pueden clasificar en:

1) Mínimo tiempo de destilado. 2) Máxima cantidad de destilado. 3) Máximo aprovechamiento.

Más adelante se estudiará el control óptimo en detalle. 2.3.- OPTIMIZACIÓN Como la destilación batch es una operación muy flexible y posee muchas formas para ser operada, es dificultoso el análisis de todas las posibles combinaciones de uso. Dependiendo entonces de los objetivos deseados podemos obtener como fin maximizar destilado, minimizar el tiempo de destilación ó maximizar el aprovechamiento teniendo en cuenta los costos de operación. 2.3.1.- Funciones objetivo

Beightler, Philips y Wilde(1967) describen la optimización 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 teoría de optimización, la cual comienza con un análisis de grados de libertad y la aplicación de un adecuado algoritmo de optimización para encontrar la solución. En trabajos realizados anteriormente sobre destilación batch , las funciones objetivo consideradas eran:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

22

Maximizar los perfiles de separación(Houtman-Husain-1956) Maximizar el factor de capacidad para relación de reflujo constante(Luyben-

1971) Maximizar el aprovechamiento para relación de reflujo variable(Robinson-

Goldman-1969)

2.3.2.- Análisis de los grados de libertad

El análisis de los grados de libertad provee el numero de variables de decisión, que uno puede modificar para obtener un diseño óptimo y esto es crucial en la optimización numérica. El análisis se realizara usando las ecuaciones del método de corte corto, el mismo análisis puede aplicarse al modelo riguroso.

2.3.2.1- Modo de reflujo constante

Se presenta aquí el análisis de grados de libertad para el modo de operación con reflujo constante , basado en el método de corte corto.

Tabla 2-1: Grados de libertad para reflujo constante

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

23

2.3.2.2- Modo de reflujo variable

Tabla 2-2: Grados de libertad para reflujo variable

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

24

2.3.2.3- Modo de reflujo óptimo

Este tipo de operación ofrece mucho mas flexibilidad que los dos modos anteriores y entonces los grados de libertad se incrementan. Esto puede ser visto ya que en cada paso de integración tenemos un grado de libertad adiciona, que puede ser atribuido al calculo de la relación de reflujo para cada paso.

Tabla 2-3: Grados de libertad para reflujo óptimo

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

25

2.3.3.- Consideraciones de factibilidad

Para mantener la factibilidad del diseño, deben imponerse límites en las variables de decisión, especialmente para las variables tales como, el numero de platos “N” y la relación de reflujo “R”.El método de corte corto ayuda a identificar estos límites en los parámetros de diseño. Los límites en los parámetros dependen de los modos de operación. Para la operación de la columna con reflujo constante, reflujo variable y reflujo óptimo; las regiones de operación han sido identificadas usando el método de corte corto (Diwekar et al;1989; Diwekar;1992). Las siguientes consideraciones de factibilidad son aplicables a modelos con “cero holdup” y pueden ser aplicadas con algunas modificaciones a modelos con efectos de “holdup”. Todos los límites para los tres modos de operación de la columna basados en el método de corte corto son representados en la siguiente tabla:

Tabla 2-4: Limites en los modos de operación

2.3.4.- Solución del problema

Los problemas de optimización en el diseño de destilación batch, involucra, hacer decisiones escalares sujetas a las ecuaciones del modelo y restringidas a las especificaciones del producto. Como las ecuaciones son complicadas tendremos que recurrir a técnicas de integración numérica que esencialmente involucren soluciones de ecuaciones algebraicas no lineales en cada instante de muestreo. La naturaleza no lineal de las funciones objetivo y las ecuaciones del modelo fuerzan a llamar a estas técnicas “Técnicas de optimización de programación no lineal” . En general el problema de optimización no lineal (NLP) puede representarse como sigue:

( ) 0)(,0)(:)( ≤== xgxhasujetoxzZoptimizar

x

La finalidad del problema de optimización es encontrar las variables de decisión “x” que optimizan algún aspecto del modelo, representado por la función objetivo “Z”,

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

26

mientras aseguramos que el modelo opera dentro de los límites establecidos por “h” y “g”. Esquemáticamente es:

Figura 2-10: Esquema general de optimización

El optimizador invoca a el modelo con el conjunto de variables de decisión, el modelo simula el fenómeno, calcula la función objetivo y las restricciones; esta información es usada por el optimizador para calcular un nuevo conjunto de variables de decisión. Esta secuencia continua mientras el criterio de optimización no sea satisfecho. Recientes avances en técnicas de optimización no lineal forzada proveen las mejores elecciones para resolver problemas NLP a gran escala. Los métodos mas populares son:

Gradiente generalizado reducido (GRG) Programación cuadrática secuencial (SQP)

Y sus variantes. Las versiones GRG mas usadas son GRG2 y MINOS (Gill et al 1981). En el método SQP, en cada paso de integración el problema es aproximado como un programa cuadrático, donde la función objetivo es cuadrática y las condiciones lineales. La ventaja de la función objetivo cuadrática es explotada para resolver el problema mas eficientemente. 2.4.- PROBLEMAS DE CONTROL ÓPTIMO En general el control refiere a un sistema a lazo cerrado donde el punto de operación deseado es comparado con el punto de operación actual y la diferencia es realimentada al sistema para llevar el punto de operación actual hacia el deseado. El propósito de diseñar un sistema con control a lazo cerrado es disminuir la sensibilidad de la planta a perturbaciones externas.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

27

Los problemas de control óptimo que aquí se analizaran requieren establecer un índice de performance para el sistema y diseñar el sistema para que optimice este índice elegido. El uso de la función 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 dinámica de estas variables de decisión hacen dificultosa la resolución de estos problemas respecto a la optimización normal, donde las variables de decisión son escalares. En general técnicas matemáticas son usadas para resolver problemas de control óptimo, las cuales involucran cálculos de variaciones, programación dinámica, principio máximo y programación no lineal (NLP) . Los primeros tres métodos tratan las variables de decisión como vectores, mientras que NLP aproxima las variables para ser transformadas en escalares. La elección de la mejor técnica de optimización es totalmente dependiente del problema a resolver. 2.4.1.-Control óptimo en la destilación batch Los problemas de control óptimo pueden ser clasificados de la siguiente forma:

Problema de máximo destilado: Aquí la cantidad de destilado de una especificada concentración, para un especificado tiempo es maximizada. Problema de mínimo tiempo: Aquí se minimiza el tiempo necesario para

producir una cantidad de destilado dada, de una concentración especificada. Problema de máximo aprovechamiento: Donde es maximizada la función

aprovechamiento para una especificada concentración. Recordando que el balance diferencial de material era:

FBxR

Vdt

dBdt

dx

t

tt ==+

−== 0

10

1

;1

Donde F es la carga inicial para t=0. Recordando también el balance de material para el componente “1” sobre un tiempo diferencial “dt” es:

120

112

;)(.)1( F

t

DB

t

t xxB

xxR

Vdt

dx=

−+

=

Donde es:

batchdetiempotclavecomponenteelparadestiladodencomposicióx

vapordeflujoVreflujoderelacióncontroldeiableR

fondoelenclaveelementodelncomposiciolarepresentaqueestadodeiablex

fondoelenremanenteacdecantidadlarepresentaqueestadodeiablex

D

t

t

t

==

===

=

1

2

1

,varvar

argvar

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

28

Las demás variables de estado se asumen en estado cuasi-estacionario, esta aproximación reduce dimensionalmente el problema. Especialmente si uno va a aplicar técnicas de control óptimo como principio máximo, programación dinámica ó cálculos de variaciones ya que el numero de variables adicionales y ecuaciones adicionales requeridas para estas técnicas no se incrementa con el numero de componentes. 2.4.1.1-Problema de máximo destilado El problema de máximo destilado puede ser presentado como sigue:

+== ∫ ∫

T T

tRtdt

RVdt

dtdDjimizar

0 0

.1

.max

Sujeto a la siguiente condición de pureza:

*

0

0

)1(

.1

..1

xdt

RV

dtxR

V

x T

t

T

Dt

Dav =

+

+=

2.4.1.2.- Problema de mínimo tiempo de destilado Definiendo una variable adicional t*, como tercer variable de estado y definiendo además:

0;1 *0

*3

=== tdtdt

dtdxt

El problema de mínimo tiempo puede escribirse como:

∫= dt

dtdtj

T

Rtimizar .

0

*

min

Sujeto a la misma condición de pureza que para el caso anterior. 2.4.1.3.- Problema de máximo aprovechamiento Según la función de aprovechamiento usada podemos definir, entre otras, las siguientes versiones del problema:

KERKHOF Y VISSERS (1978)

+−

=s

oor

TRt tTCBPD

jimizar .max,

Sujeto a la misma condición de pureza que para los casos anteriores. Donde es: D = Cantidad De producto destilado(mol)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

29

Pr = Valor del producto para la venta($/mol) Bo = Cantidad de la alimentación F(mol) Co = Costo de la alimentación($/mol) T = Tiempo de batch(hr.) Ts = Tiempo de establecimiento para cada batch(hr.)

DIWEKAR et al (1989)

+

−−−+

=sbas

r

VTNRt tTTVC

GVC

GNVC

tTPDjimizar ..).365.(24....).365.(24 321

,,,max

Donde C1, C2 y C3 son coeficientes de costos, Ga es la velocidad de vapor Permitida y Gb es la capacidad de manejo de vapor del equipo. 2.4.2.-Técnicas de solución La optimización involucra modelos en ecuaciones algebraicas y ecuaciones diferenciales. La mayoría de la literatura en esta área se concentra en usar la aproximación por colocación (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 combinación de técnicas de colocación y optimización no lineales incrementan las no linealidades en el sistema , así se incrementa la posibilidad de múltiples soluciones y se requerirá una buena inicialización; por otro lado el metodo de aproximación por polinomios depende de la correcta elección del orden y tipo del polinomio. Diwekar (1992) propuso usar una combinación de el principio máximo y NLP para resolver el problema de optimización en destilación batch. Un problema de optimización algebraico diferencial en general puede escribirse como:

+= ∫ dtxkxjJ t

T

ttoptimizart

),,()(0,

µθµθ

Sujeto a:

( )

( )( )

)()()()(

0,,0,,

,,

0

ULUL

xxxgxh

xfdtxd

t

inicial

tt

tt

ttt

µµµθθθ

µθµθ

µθ

≤≤≤≤

=≤=

=

Donde J es la función objetivo, tx es el vector de estados, θ es el vector de control y t

µ es el vector de variables escalares. θ son los límites inferior y superior respectivamente.

)()( UyL θ

El capítulo 2 fue enteramente desarrollado basándose en [3].

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

30

CAPÍTULO 3

MODELADO RIGUROSO DE LA PLANTA EN

ESTUDIO

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

31

3.1.- CARACTERÍSTICAS Y ESQUEMA DE LA PLANTA EN EL ENTORNO DE HYSYS La planta piloto cuyos datos fueron tomados de (Nad y Spiegel, 1987) es descripta brevemente aquí. La columna de destilación posee un diámetro interior de 162mm con un empaque estructurado Sulzer Mellapack 250 Y. La altura de empaque instalada fue de 8m. El sistema involucra una mezcla ternaria de cyclohaexano, n-heptano y tolueno. La columna en su totalidad, incluyendo reboiler y condensador, posee 20 platos teóricos. La carga inicial es 40.07% de ciclohexano, 39.40% de n-heptano y 19.90% de tolueno. La siguiente figura muestra un bosquejo de la planta en el entorno de Hysys:

Figura 3.1: Esquema de la planta en Hysys

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

32

A continuación veremos los datos experimentales de la planta real que se utilizaron para ajustar el modelo riguroso que se diseñó en Hysys:

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0 5000 10000 15000

Figura 3-2:Composiciones reales de la planta de laboratorio (líneas en color) y composiciones simuladas con el modelo riguroso de Hysys.

3.2.- OBTENCIÓN DE DATOS La información utilizada para la identificación es generada vía simulación de un modelo riguroso de la columna basado en primeros principios, implementada con el paquete comercial Hysys. Los datos obtenidos desde Hysys fueron inicialmente almacenados en planillas de Excel para luego ser pasadas a Matlab mediante el Excel link que el posee. Tratando de captar la dinámica completa de la planta en estudio, realizamos varias simulaciones en sus distintos modos de operación tales como con relación de reflujo constante y relación de reflujo variable. Mediante el análisis de dichos datos, se tomará la decisión sobre cual de todos ellos representa mejor la dinámica del sistema. Inicialmente se pretende analizar el conjunto de datos formado por relación de reflujo, temperatura de los platos y las composiciones de destilado ( Cyclohexano, N-Heptano y Tolueno). 3.2.1-Simulación de la planta con relación de reflujo constante La planta se simuló con relaciones de reflujo constante abarcando un rango desde 1.5 a 4.5. Sólo presentaremos los casos para relaciones de reflujo de 1.5 y 4.5, ya que los demás casos presentan comportamientos intermedios de éstos dos.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

33

0 2000 4000 6000 8000 10000 12000 14000 1600070

75

80

85

90

95

100

105

TEMPERATURA DE LOS PLATOS 1(rojo) AL 18(verde)PARA RR=1.5

TIEMPO[s]

TEM

PE

RA

TUR

A[°

c]

Figura 3.3: Temperatura de los platos para RR=1.5

0 0.5 1 1.5 2 2.5 3

x 104

70

75

80

85

90

95

100

105

110

TEMPERATURA DE LOS PLATOS 1(rojo) AL 18(verde)PARA RR=4.5

TIEMPO[s]

TEM

PE

RA

TUR

A[°

c]

Figura 3.4: Temperatura de los platos para RR=4.5

Como vemos de estas gráficas y de las siguientes, el comportamiento de la planta difiere según sea la relación de reflujo utilizada; notándose estas diferencias por ejemplo en los valores máximos que alcanzan las composiciones y en el tiempo en que lo hacen, los valores máximos que alcanzan las temperaturas, etc..

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

34

0 2000 4000 6000 8000 10000 12000 14000 160000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1COMPOSICIONES DE DESTILADO PARA RR=1.5

TIEMPO

CO

MP

OS

ICIO

Ncyc lohexanon-heptano tolueno

Figura 3.5: Composiciones de destilado para RR=1.5

0 0.5 1 1.5 2 2.5 3 3.5

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1COMPOSICIONES DE DESTILADO PARA RR=4.5

TIEMPO

CO

MP

OS

ICIO

N

cyc lohexanon-heptano tolueno

Figura 3.6: Composiciones de destilado para RR=4.5

De éstas últimas dos gráficas podemos apreciar que un aumento en la relación de reflujo trae aparejado un aumento del tiempo de destilación así como también un incremento en la pureza promedio del destilado.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

35

3.2.2-Simulación de la planta con relación de reflujo variable La idea aquí es alimentar la planta con una señal aleatoria en la relación de reflujo. Ésta señal estará limitada entre 0.5 y 3.5 en su amplitud. La relación de reflujo se modifica cada 15 minutos. Graficaremos las temperaturas de todos los platos, las composiciones de destilado y la relación de reflujo.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

70

75

80

85

90

95

100

105

TEMPERATURA DE LOS PLATOS 1(rojo) AL 18(verde)PARA RR=VARIABLE

TIEMPO[s]

TEN

PE

RA

TUR

A[°

C]

Figura 3.7: Temperatura de los platos para RR variable

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1COMPOSICIONES DE DESTILADO PARA RR=VARIABLE

TIEMPO

CO

MP

OS

ICIO

N

cyc lohexanon-heptano tolueno

Figura 3.8: Composiciones de destilado para RR variable

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

36

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0.5

1

1.5

2

2.5

3

3.5RELACION DE REFLUJO ALEATORIA

TIEMPO

RE

LAC

ION

DE

RE

FLU

JO

Figura 3.9: Relación de reflujo aleatoria

Como podemos apreciar de las gráficas de temperatura, la temperatura del plato número 1 es la que mejor reacciona ante los cambios en la relación de reflujo. Por lo tanto decidimos utilizar esta variable para identificar ya que es la que nos brinda mayor información sobre la dinámica del sistema.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

37

CAPÍTULO 4

IDENTIFICACIÓN DE SISTEMAS

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

38

4.1.- INTRODUCCIÓN En este capítulo se desarrollarán las técnicas de identificación utilizadas para la obtención de un modelo no lineal del soft-sensor así como también para modelar, mediante un comportamiento lineal, la relación existente entre la relación de reflujo y la temperatura. En la actualidad es dificultoso el conocimiento en forma instantánea de la composición de destilado ya que este procedimiento se realiza con un cromatógrafo en línea, lo cual implica un costo considerable o analizando muestras del producto. Estos procedimientos involucran un período de tiempo que es inadmisible desde el punto de vista del control ya que por ejemplo el cromatógrafo puede entregarnos mediciones de la composición 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 estimación de la composición en forma instantánea y lograda de manera económica (medición de temperatura). También podemos decir que la obtención de un modelo lineal relación de reflujo-temperatura 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 optimización de las trayectorias de composición de destilado así como el ajuste del control PID que explicaremos en capítulos posteriores. Este modelo lineal es obtenido mediante un método de identificación de sistemas en espacios de estado basados en subespacio (4SID). 4.2.- DEFINICIÓN Y ASPECTOS DE LA IDENTIFICACIÓN Identificación es la obtención de un modelo matemático a partir de datos de medición de las entradas y salidas del sistema. Como resultado del proceso de identificación se obtiene un modelo no lineal de orden reducido que es adecuado para el diseño del control. 4.3.- FASES DEL PROCESO DE IDENTIFICACIÓN

Planificación de experimentos y obtención de datos. Selección de la estructura de modelo. Estimación de parámetros. Validación del modelo.

4.3.1- Planificación de experimentos y obtención de datos Selección del tipo de entrada lo suficientemente ricas como para excitar todos los modos del sistema. Sólo pueden identificarse los modos que son observables en la salida.

4.3.2- Selección de la estructura del modelo

Selección de un conjunto de modelos candidatos entre los cuales se buscará el que mejor se ajusta a los datos. Se pueden distinguir tres tipos:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

39

Estructuras “caja negra” (black box): los parámetros no tienen una interpretación física. Estructuras a partir de modelado físico “caja blanca” (white box): los

parámetros tienen una interpretación física. Estructuras a partir de "modelado semifísico" o "caja gris" (gray box):

introducción de conocimiento a priori del sistema en estructuras del tipo “caja negra”.

4.3.3- Estimación de parámetros

Determinación del mejor modelo en el conjunto de modelos, basado en los datos.

Esto implica:

Elección de un criterio a minimizar. Determinación del vector de parámetros que minimiza el criterio.

4.3.4- Validación del modelo

Obtención de una medida de confiabilidad del modelo:

Decidir si el modelo es lo suficiente bueno para la aplicación en que se usará. Decidir cuán lejos del “sistema real” está el modelo. Decidir si el modelo y los datos son consistentes con las hipótesis sobre la

estructura de modelo. La validación requiere usualmente la realización de nuevos experimentos.

4.4.- IDENTIFICACIÓN DE SISTEMAS NO LINEALES 4.4.1.- Introducción

Nuestro sistema tiene un comportamiento no lineal, excepto en un determinado rango de operación donde puede ser considerado lineal. Modelos lineales aproximan al sistema no lineal alrededor de un punto de

operación. La performance del modelo lineal se ve deteriorada al variar el punto de

operación del sistema no lineal. Para describir globalmente el comportamiento del sistema debemos recurrir a

modelos no lineales. La gran variedad de modelos no lineales hace que no sea posible obtener

métodos generales de identificación, sino sólo para determinadas clases de modelos no lineales. Muchos sistemas no lineales pueden ser representados por la interconexión de

sistemas lineales estacionarios y no linealidades estáticas. Estos modelos se denominan orientados a bloques. De entre los modelos orientados a bloques, los que han sido más estudiados son

los Modelos Hammerstein y los Modelos Wiener.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

40

4.4.2.- Identificación de modelos Hammerstein • MODELOS HAMMERSTEIN Estos modelos consisten de la conexión en cascada de una no linealidad estática ( N(•) ) y un sistema lineal. El algoritmo de identificación está basado en la SVD (descomposición en valores singulares) y en LSE (least square mean: estimación de mínimos cuadrados ).[1] y [6]

Figura 4-1: Esquema del modelo Hammerstein

kkk

r

ikiik vuN

qAqBvugc

qAqBy +=+=

=−

∑ )(.)()()(..

)()(

1

1

11

1

(4.1)

donde yk, uk y vk son la salida, entrada y perturbación en el instante k , respectivamente, gi (•) son funciones no lineales usadas para describir la no linealidad estática N(•) , y

mm

nn

qbqbqB

qaqaqA−−−

−−−

++=

+++=

..........)(

..........1)(1

11

11

1

con q-1 denotando el operador desplazamiento directo. Se asume que los órdenes n, m, r, y las funciones no lineales gi(•) , son conocidas, y que el objetivo es estimar los parámetros de la parte lineal:

)..........................( 11 mn bbaa

y de la parte no lineal:

)..........( 1 rcc a partir de datos de entrada-salida. Una elección típica de las funciones es , en cuyo caso, la parte no lineal queda representada por una expansión polinomial.

)(1 •g ikki uug =)(

La ecuación (4.1) puede escribirse:

k

r

i

m

j

ijkij

n

jjkjk vucbyay ++−= ∑∑∑

= =−

=−

1 11... (4.2)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

41

Definiendo los vectores:

( )( )Tr

mkrkmkkmkknkkk

Trmrmn

uuuuuuyy

cbcbcbcbaa

−−−−−−−− −−=

=

,.....,,.....,,.....,,,.....,,,.....,

.,......,.....,.,.....,.,.....,

122

111

11111

φ

θ

La ecuación (4.2) puede escribirse:

k

Tkk vy += θφ . (4.3)

Finalmente, considerando un conjunto de N datos { , la ecuación (4.3) puede escribirse:

}Nkkk uy 1, =

N

TNN VY +Φ= θ. (4.4)

Donde:

( ) ( ) ( NN

TNN

TNN yvvVyyY φφ ,.....,,.....,,,....., 111 =Φ== )

)

)

)

Luego, la estima de mínimos cuadrados θ , del vector de parámetros θ viene dada por: ^

( ) NNTNN Y... 1^

ΦΦΦ=−

θ (4.5) siempre que la inversa exista. Definiendo ahora los vectores:

( ) ( ) ( T

rT

mT

n cccbbbaaa ,.....,,,.....,,,....., 111 === y la matriz:

T

rmmm

r

r

bc cb

cbcbcb

cbcbcbcbcbcb

.

..........

......

......

21

.

.

..

.

...

22212

12111

=

el vector de parámetros θ puede escribirse:

( )( )TTbc

T veca θθ ,=

donde es el vector columna obtenido apilando las columnas de θ . Estimas de

los vectores a y pueden entonces obtenerse de la estima θ en (4.5). Denotemos

a esas estimas.

( bcvec θ

)( bcθ

bc

( bcvec θ^

^^vecya

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

42

El problema es como computar estimas de los vectores b y c, a partir de . )(^

bcvec θ

Las más cercanas, en el sentido de la norma-2, estimas b , son tales que minimizan la norma:

^^cy

( )2

^^^2

2

^^^..

F

bc

T

bc

T

cbveccbvec θθ −=−

es decir:

2^

,

^^., minarg

F

Tbc

cb

cbcb −=

θ

donde

F• es la norma de Frobenius.

La solución de este problema de minimización viene dada por la descomposición

SVD de la matriz θ . El resultado está resumido en el siguiente lema: ^

bc

Lema: Sea θ una matriz no nula, y sea θ su descomposición SVD (descomposición en valores singulares), donde U y V son matrices ortogonales cuyas

rxmbc ℜ∈^

Tbc VSU ..^=

columnas son los vectores singulares izquierdos y derechos respectivamente:

( ) ( rm vvVU ,.......,,......., 11 == µµ )

y donde S es una matriz diagonal con los valores singulares en la diagonal. Entonces: )0.......( ),min(21 ≥≥≥≥ rmσσσ

( )2^

,111

),min(

2

22^

,

minarg

min

.,

,

F

Tbc

cb

rm

ii

F

Tbc

cb

bcv

bc

−=

=− ∑=

θσµ

σθ

El algoritmo de identificación no lineal puede resumirse como:

Paso 1. Computar la estima de mínimos cuadrados θ en (4.5). Una estima del vector

de parámetros a viene dada por las primeras n componentes de θ , y una estima θ de

la matriz θ puede construirse a partir de las últimas mxr componentes de θ .

^ ^a

^

^

bc

^

bc

Paso 2. Computar la SVD de θ como en el lema, de donde estimas de los parámetros b y c pueden calcularse como:

bc

^

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

43

11

^1

^

.vc

b

σ

µ

=

=

respectivamente. 4.4.3.- Resultados de la identificación no lineal Se tiene en cuenta para el desarrollo que contamos con la composición real de destilado cada 30 minutos; esta información nos será útil para actualizar la inferencia del soft-sensor. La identificación del modelo para el soft-sensor se realiza con el script denominado “hammer_infer”. Los datos usados para la identificación son los datos presentados con anterioridad en el capítulo 3, sección 3-2-2, los resultados de la aplicación de este script se muestran a continuación.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1CYCLOHEXANO ESTIMADO Y REAL

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

ESTIMADOREAL

Figura 4-2: Estimación del cyclohexano.

El error de estimación del cyclohexano resultó de: 1.0008e-004 .

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

44

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8N-HEPTANO ESTIMADO Y REAL

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

ESTIMADOREAL

Figura 4-3: Estimación del n_heptano.

El error de estimación del n-heptano resultó de: 8.7376e-004.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1TOLUENO ESTIMADO Y REAL

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

ESTIMADAREAL

Figura 4-4: Estimación del tolueno.

El error de estimación del tolueno resultó de: 4.7646e-004. Los parámetros identificados del modelo Hammerstein resultaron ser los siguientes:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

45

−=

−=

=

=

0477.07162.06962.0

ˆ

1219.06966.0

7071.0ˆ

00

ˆ00

ˆ 2121 bbaa

××−=

××−=

10

62

11

61

10533.110698.3

0277.0ˆ

106.410069.1

0075.0ˆ cc

Como podemos ver, debido a que 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.

21 ˆˆ aya

Del script que realiza la identificación puede observarse que tanto como b se obtienen aplicando la SVD.

11 ˆ,ˆ cb 22 ˆˆ cy

Ahora se presentan los resultados obtenidos validando el modelo identificado anteriormente con los datos “datos_r “, dicha validación se realiza en el mismo script utilizado para la estimación (“hammer_infer”).

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1COMPOSICIONES ESTIMADAS Y REALES

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

cyc lohexano realn-heptano realtolueno realestimaciones

Figura 4-5: Validación de las composiciones.

Con un error total (suma de todos los errores) del orden de: 0.0024. Podemos observar que las inferencias son realmente buenas en los sectores donde el proceso se comporta como prácticamente binario, ya que aquí la temperatura adoptada como entrada es suficiente para darnos información sobre la dinámica de la planta , por lo contrario en los sectores donde el proceso se comporta como fuertemente ternario la inferencia baja su calidad debido a que ya no es suficiente solo con la temperatura modelar esta parte. Aquí entrarían en juego otro tipo de variables que dependen de las relaciones físico-químicas del proceso.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

46

Aun así, podemos apreciar que el modelo obtenido es lo suficientemente aceptable para nuestros requerimientos ya que como veremos más adelante nos interesará maximizar destilado del cyclohexano y este posee una inferencia más que aceptable. 4.5.- IDENTIFICACIÓN DE SISTEMAS LINEALES ([1] y [6]) 4.5.1.- Métodos de subespacio para identificación de sistemas dinámicos ( 4SID ) 4.5.1.1- Introducción

Éstos métodos utilizan herramientas de Teoría de Sistemas, Geometría y Álgebra lineal numérica. 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:

descomposición en valores singulares); los cuales están incorporados en el System Identification Toolbox de Matlab. No hay problemas de convergencia, inicialización, o de existencias de

soluciones locales. No requieren una particular realización canónica del modelo en EE.

El primer paso en los métodos 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

kkk

kkk

DuxCyBuxAx

+=+=+

..1

Donde:

entradasdevectoru

salidasdevectory

estadosdevectorx

nk

mk

nk

x

ℜ∈

ℜ∈

ℜ∈

4.5.1.3.- Conceptos y definiciones Introducimos los operadores desplazamiento temporal: q desplazamiento directo ⇒ 1+= kk xqx q-1 desplazamiento inverso o retardo unitario ⇒ 1

1. −− = kk xxq

Definición: Una matriz transferencia G(q) tiene una realización (A,B,C,D) si:

( ) DBAIqCqG +−= − ...)( 1

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

47

Definición: Matrices de observabilidad y controlabilidad.

( )[ ]TTnTT xACACCO ).(,,.........., 1−=

[ ]BABABC xn ....,,.........., 1−=

Definición: Matrices de observabilidad y controlabilidad extendidas.

( )[ ]TTiTTi ACACCO ).(,,.........., 1−=

[ ]BABABC j

j ....,,.........., 1−=

con i,j > nx . Definición: Controlabilidad. El par (A,B) se dice controlable si existe una secuencia de entradas { uk } que lleva el estado del sistema desde un estado inicial x0 hasta un estado final arbitrario xf en un número finito de pasos ( k finito). La condición necesaria y suficiente para la controlabilidad del par (A,B), es que la matriz de controlabilidad C tenga rango pleno nx. Definición: Observabilidad. El par (C,A), se dice observable si para cualquier estado inicial x0 existe un número finito de pasos l tal que x0 puede ser determinado a partir de las secuencias uk , yk con

. Una condición necesaria y suficiente para la observabilidad del par (C,A), es que la matriz de observabilidad O tenga rango pleno n

lk ≤≤0x.

Definición: Realización mínima. Una realización (A,B,C,D), es mínima si tiene dimensión mínima, es decir si no existe otra realización de dimensión menor. Una condición necesaria y suficiente para que una realización sea mínima es que el par (C,A) sea observable y el par (A,B) sea controlable. Definición: Matriz Hankel de respuestas al impulso. Una realización mínima (A,B,C,D) define unívocamente las propiedades de entrada-salida del sistema a través de:

∑∞

=−=

0.

llklk uhy

Donde los coeficientes de Markov (hl) se calculan:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

48

>

==

− 0,..0,

1 lBAClD

hll

impulsoalrespuestasdeHankelMatriz

hhh

hhhhhh

H

jiii

j

j

ij ⇒

=

−++

+

11

.

.

..

.

...

132

21

.......

...

...

Realizamos la siguiente factorización:

jiij COH .=

4.5.1.4.- Métodos 4SID basados en teoría de realizaciones. Problema de identificación: Estimar el orden nx del modelo:

kkk

kkk

DuxCyBuxAx

+=+=+

..1

y las matrices (A,B,C,D) a partir de muestras de las entradas uk y salidas yk. Los algoritmos consisten básicamente en los siguientes pasos:

Estima de la matriz Hankel de respuesta al impulso a partir de datos de entrada- salida. Factorización de la estima de Hij para obtener estimas de las matrices de

observabilidad y controlabilidad extendidas, y el orden del modelo. Estima de las matrices(A,B,C,D), a partir de las estimas de Hij y la matriz de

observabilidad extendida. Una estima de las matrices de controlabilidad y observabilidad extendidas puede obtenerse a partir de cualquier factorización de rango pleno de Hij de la forma:

jiij COHΛΛ

= .

La SVD de Hij provee esta factorización:

[ ]

Σ

Σ= T

T

ij VV

UUH2

1

2

121 .

00

.

donde y V son matrices ortogonales ( U ), cuyas columnas son respectivamente los vectores singulares izquierdos y derechos de H

[ ]21 UU [ 21 VV= ] IUT =.ij, y

donde:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

49

Σ

Σ=Σ

2

1

00

es una matriz diagonal conteniendo los valores singulares de H en orden no creciente, con conteniendo los n

ij

xnji −),min(1Σ x más grandes, y los los [ más chicos. 2Σ ]Si no tenemos ruido, Hij tiene rango nx , y =0, y resulta: 2Σ

Tj

iTTij

VC

UOVUVUH1

21

1

21

111

21

12

1

11111.

.....Σ=

Σ=⇒

Σ

Σ=Σ= Λ

Λ

Dadas O y C i

Λ

j

Λ

j

i

CdecolumnaprimeraB

OdefilaprimeraCΛΛ

ΛΛ

:

:

D 0: hdetedirectamenΛ

A iOdeianteinocorrimientdepropiedadlausandoΛΛ

var:

ΛΛΛ

= AOO ii ._____

__________

____

Donde se obtiene eliminando el primer bloque fila de O , y se obtiene

eliminando el último bloque fila de O .

__________Λ

iOΛ

i

Λ

_________

iO

Λ

i

Otra posibilidad de computar es a partir de resolviendo en media

cuadrática.

Λ

A ΛΛΛΛ

= jiij CAOH ..

__________

4.5.2.- Resultados de la identificación lineal (modelo RR-temperatura) Aquí se realizará la obtención de un modelo que nos permita representar el comportamiento existente entre las variables relación de reflujo (entrada) y temperatura (salida). Este modelo y el inferenciador tienen como función principal la de estimar condiciones óptimas de operación y en tiempos de cómputos relativamente menores a los que se obtendrían si se emplearan modelos rigurosos en los códigos de optimización. Si utilizáramos por ejemplo la planta real modelada en HYSYS el proceso sería demasiado lento y llevaría varios días de simulación poder optimizar algún 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, además de acortarnos los tiempos de simulación.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

50

Este aspecto es importante ya que cuando se trate de optimizar la trayectoria de destilado se estará optimizando un vector de alrededor 800 variables, esto sumado a los tiempos de simulación de HYSYS hacen imprescindible el uso de este modelo simplificado. Empezaremos analizando los datos de estimación que poseemos para este caso:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0.5

1

1.5

2

2.5

3

3.5

DA TOS DE E S TIM A CION(IN-RR,OUT-TE M P E RA TURA )

TIE M P O [s ]

RE

LAC

ION

DE

RE

FLU

JO

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

70

75

80

85

90

95

100

105

TIE M P O [s ]

TE

MP

.

Figura 4-6: Datos experimentales de E/S

( aquí se ilustran la relación de reflujo y la temperatura del plato1) En el capítulo Nº 3 se presentaron los datos de la simulación de la planta ante diferentes modos de operación, habiéndose podido observar que los datos que presentaban mejor información sobre la dinámica de la planta eran los de relación de reflujo aleatorio y que para este caso particular se podía observar que la temperatura del plato Nº 1 “veía” mucho mejor los cambios en el reflujo que la temperatura de todos los demás platos. Es por ello que se selecciona este plato como variable de identificación y no otro. Entonces haciendo uso de las funciones contenidas en el identification toolbox de Matlab podemos construir los M-files que realizan tanto la identificación como la validación. Estos scripts utilizan la función de Matlab “n4sid” la cual estima un modelo en espacio de estados basado en métodos de subespacio. La sintaxis de dicha función es la siguiente: [TH,A0] = n4sid(z,'best',NY,k,[0,1,1],[],Ts); Donde: TH: devuelve el modelo en espacio de estados en el formato theta. Theta es una matriz que contiene información acerca de la estructura del modelo, parámetros estimados y su exactitud de estimación. A0: devuelve el valor seleccionado de la variable auxord. z: los datos de entrada-salida [y= temperatura u= relación de reflujo] con u e y vectores columna. ‘best’: al setear el orden como best el algoritmo elige un orden por defecto entre 1 y 10. NY: número de salidas en la matriz de datos “z”.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

51

K: orden auxiliar, usado para la selección de las variables de estado. [D,K,X]: es un vector precisando la estructura. D=1 indica que un término directo desde la entrada a la salida puede ser estimado. K=1 indica que la matriz “K” es estimada. X=1 indica que el estado inicial es estimado. Ts: tiempo de muestreo. Uno de los argumentos de entrada que necesita esta función se denomina auxord y es un orden auxiliar que es utilizado para la selección de las variables de estado. En nuestro caso, este argumento fue variado entre 1 y 60 para obtener la mejor identificación (menor error cuadrático medio). Este valor resultó ser auxord = 53. El algoritmo de identificación se denomina “iee.m” y la validación se realiza con el archivo “iee_v.m” los cuales pueden ser consultados en el apéndice. La ejecución de los anteriores archivos producen los siguientes resultados.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

70

75

80

85

90

95

100

105VALIDACIÓN CON LOS DATOS DE ESTIMACIÓN

TIEMPO [s]

TEM

PE

RA

TUR

A [

°c]

ESTIMADAREAL

Figura 4-7: Estimación de la temperatura del plato 1.

El error cuadrático medio resultó: 0.4964 . Siendo el modelo resultante de la identificación el siguiente:

−=

9324.00006.00618.00009.1

A [ ]3651.01328.0ˆ −−=C

=

1716.01679.0

B 0ˆ =D

−−

=7557.01539.543

0X

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

52

Podemos verificar que se obtuvo un modelo lineal de orden reducido que es adecuado para el diseño del control. La siguiente gráfica muestra la validación 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 optimización.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

70

75

80

85

90

95

100

105VALIDACIÓN CON NUEVOS DATOS

TIEMPO [s]

TEM

PE

RA

TUR

A [

°c]

VALIDACIÓNREAL

Figura 4-8: Validación de la temperatura del plato 1.

El error cuadrático medio resultó: 0.6979 . Como dijimos anteriormente este modelo simplificado de un comportamiento fuertemente no lineal tiene sus limitaciones; como podemos apreciar observando las gráficas precedentes. Esto debe ser tenido en cuenta ya que en capítulos posteriores este modelo lineal en conjunción con un modelo no lineal temperatura-composición, que será desarrollado más adelante, será utilizado para ajustar un PID y para optimizar trayectorias de destilado. Entonces podemos resumir que los resultados que se obtendrán serán aproximados dependiendo éstos de la capacidad de los modelos para operar en diferentes rangos de operación.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

53

CAPÍTULO 5

IMPLEMENTACIÓN DEL MODELO

HAMMERSTEIN (temperatura-composición)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

54

5.1.- INTRODUCCIÓN Debido a la alta flexibilidad de operación inherente y al bajo capital invertido, la destilación batch se convirtió en un método de separación provechoso y atractivo, particularmente en la separación de productos químicos. Sin embargo, para que éstas características sean completamente aprovechadas, es necesario ejecutar un monitoreo exacto, permanente e instantáneo de la composición durante toda la operación para asegurarse de obtener productos de alta calidad. Ésta tarea es muy dificultosa debido a la ausencia de analizadores on-line rápidos 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 información 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 predicción instantánea de la composición de destilado observando variables de fácil medición como puede ser la temperatura de los platos. La medición de temperatura además de ser atractiva desde el punto de vista económico, lo es también debido a su rapidez de medición. 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 identificación no lineal que utiliza un modelo denominado Hammerstein donde, como se explicó en el capítulo 4, dicho modelo consta de la conexión en cascada de una no linealidad estática de entrada formada por un polinomio y de un sistema lineal estacionario modelado como una función transferencia.

5.2.-IMPLEMENTACIÓN DEL SOFT-SENSOR EN LA PLANTA EN ESTUDIO El inferenciador y el control de válvulas están desarrollados y operan en el espacio de trabajo de Matlab, comunicándose con la planta a través de una interface que posee Hysys, que permite usar a Matlab como un controlador. Esta interface esencialmente nos permite acceder a las hojas de cálculo de Hysys tanto para leer datos como para actualizarlos. Este intercambio de información se lleva a cabo utilizando funciones de la interface de Hysys que generan objetos de comunicación. Estas funciones pueden ser apreciadas con más detalles en el apéndice, pero a título de resumen presentamos a continuación una breve descripción de cada una de ellas: hyconnect – Conecta a Hysys para una aplicación de Matlab como controlador. hyspread - Conecta a una hoja de cálculo de Hysys. hycell – Conecta a celdas de la hoja de cálculo. 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 cálculo de Hysys. El inferenciador así como el control de válvulas y el intercambio de información entre los dos software se implementa en varios scripts que pueden ser apreciados con más detalles en el apéndice.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

55

5.2.1.- Modo de operación relación de reflujo constante Aquí se realiza la prueba del inferenciador ya conectado con la planta real. La planta se simula inicialmente a reflujo constante para ver la respuesta del inferenciador bajo este modo de operación. La conexión con la planta se realiza concretamente mediante los scripts “objconex” e “infer_rrconstante” , estos scripts generan los objetos de conexión con la aplicación de Hysys, con las hojas de cálculo y con las celdas de las hojas de cálculo. Para mayor detalle ver apéndice y las gráficas de dichas hojas en el capítulo 3. A continuación podemos observar los resultados de la simulación para relación de reflujo constante:

0 2000 4000 6000 8000 10000 12000 14000 16000 180000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

PRUEBA DEL INFERENCIADOR CON RELACION DE REFLUJO CONSTANTERR=1

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

Figura 5-1.- Prueba del inferenciador con relación de reflujo constante RR=1.

5.2.2.- Modo de operación relación de reflujo variable Para exigir aún más al inferenciador, simulamos la planta con una relación de reflujo variable. Ésta es la misma relación de reflujo que se utilizó en capítulos anteriores para identificar los modelos (RR3). Los scripts para la conexión y la implementación del inferenciador siguen siendo los mismos que en el apartado anterior sólo que “infer_rrconstante” sufre una pequeña modificación para poder pasar del espacio de Matlab hacia Hysys la relación de reflujo variable. Dicha modificación consiste en que en cada iteración se pasa un nuevo valor de relación de reflujo, esto se implementa agregando al “infer_rrconstante” las siguientes dos líneas de código: u1111(j)=RR3(j); hyset(cells{10},u1111(j));

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

56

Lo que hacen estas dos líneas 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:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.2

0.4

0.6

0.8

1

PRUBA DEL INFERENCIADOR CON RELACION DE REFLUJO VARIABLERR=RR3

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

Figura 5-2.- Prueba del inferenciador con relación de reflujo variable RR=RR3.

Podemos apreciar que es una más que aceptable respuesta del inferenciador, notando como dijimos en el capítulo 4 que en el sector donde el proceso se hace fuertemente ternario es donde se produce el mayor error. 5.3.-APLICACIÓN CONCRETA DEL SOFT-SENSOR EN EL CONTROL DE APERTURA Y CIERRE DE VÁLVULAS En esta sección 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 válvulas, 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 válvulas y el pasaje de la nueva relación de reflujo que ahora es de 2.5. Dichas modificaciones se muestran a continuación: 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;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

57

if XDA1<0.9 & ff==1 hyset(cells{8},0); hyset(cells{7},50); AA1=0; DA1=0; ff=2; end if XDA1<0.65 & ff==2 hyset(cells{7},0); hyset(cells{6},50); AA1=0; DA1=0; ff=3; end Por un lado esta modificación setea la relación de reflujo en cada iteración a 2.5 así como también se toma de la celda 8 del spreadsheet el valor que nos pasa Hysys del flujo de destilado. En la variable AA1 se produce la acumulación en cada iteración del valor del flujo de destilado multiplicado por la diferencia entre el tiempo actual de Hysys y el tiempo anterior en el que entró en la iteración. Esto da como resultado al final de la destilación la integral del flujo de destilado. Se procede de igual manera para la variable DA1 pero en este caso se integra el producto del flujo de destilado por la composición del cyclohexano. El cociente entre DA1 Y AA1 es guardado en XDA1 y nos dará el valor de pureza promedio del cyclohexano hasta el momento considerado. Es esta variable XDA1 la que se utiliza para testear en que momento se deben cerrar y abrir las válvulas. A continuación podemos ver las gráficas de la respuesta del inferenciador en este modo de operación así como también la apertura y cierre de válvulas.

0 5 0 0 0 1 0 0 0 0 1 5 0 0 0

0

0 .2

0 .4

0 .6

0 .8

1

P R U E B A D E IN F E R E N C IA D O R E N E L C O N TR O L D E V A L V U L A S D E L O S TA N Q U E S P A R A x 1 p ro m = 0 .9 , x 2 = 0 . 6 5 Y R R = 2 . 5

TIE M P O [ s ]

CO

MP

OS

ICIO

N [

fra

cc

ión

mo

lar]

Figura 5-3.- Prueba del inferenciador en el control de válvulas de los tanques para

X1prom=0.9 y X2=0.35 y RR=2.5

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

58

0 5000 10000 150000

5

10

15

20

25

30

35

40N IV E L D E L IQ U ID O E N LO S TA N Q U E S D E A LM A C E N A M IE N TO

TIE M P O [s ]

NIV

EL

[%

]

Figura 5-4.- Nivel de líquido en los tanques de almacenamiento.

Podemos apreciar que el nivel de líquido en el tanque del cyclohexano llegó aproximadamente a un 30%, el de n_heptano a un 20% y el de tolueno a un 40% al finalizar la simulación. A continuación podemos comprobar que efectivamente el inferenciador nos brinda buenos resultados ya que como se muestra en la figura siguiente la composición promedio final calculada por Hysys del cyclohexano y del n_heptano son de 0.90434 y de 0.30336 respectivamente.

TANQUE 1 (cyclohexano) TANQUE 2 (n-heptano)

Figura 5-5: Composiciones acumuladas promedio medidas por Hysys

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

59

CAPÍTULO 6

IMPLEMENTACIÓN DEL SOFT-SENSOR EN

LAZOS DE CONTROL

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

60

6.1.- CONTROL PID El esquema general de control es el que se muestra en la figura 6-1, en el podemos ver la inclusión del inferenciador que es usado por el PID para ajustar la relación de reflujo de acuerdo al setpoint elegido. También se incluye el control de válvulas de almacenamiento de los productos destilados, este último control se realiza de varias maneras diferentes, como se verá podemos preajustar una determinada cantidad de pureza promedio de producto y tomar este criterio como control ó directamente como en el caso de trayectoria óptima controlar por tiempo.

Figura 6-1: Esquema general de control

6.1.1.- Estructura de la señal de control La estructura general de la señal de control se divide en tres acciones que actúan simultáneamente, en tiempo continuo tiene la forma:

b

t

di

c udt

tdeTdtteT

tektu +

++= ∫

0

)(.).(1)()(

Discretizando la ecuación anterior para su implementación ([4] y [5]) en los algoritmos posteriores obtenemos los siguientes resultados:

Parte integral (discretizada por la regla rectangular en atraso)

i

cMmm

M

t

TkT

kdondekekkeTktek .2

02

0

'2

0

'2 )(.)(..)(. ==⇒ ∑∑∫

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

61

Parte derivativa (discretizada por la regla rectangular en atraso)

( ) ( )M

dc

M TTk

kdondekekekkekeT

kdt

tdek.

)1()(.)1()(1.)(. 33'3

'3 =−−=−−⇒

Quedando el control final en forma discreta como:

( b

k

ukekekkekkekku +−−++= ∑ )1()(.)(.)(.)(0

321 )

6.1.2- Ajuste óptimo del PID El ajuste de PID en este caso particular de un proceso de destilación batch, se torna dificultoso ya que la planta no presenta respuestas típicas de funciones conocidas que nos resultaría más sencillo dado la amplia disponibilidad de métodos de ajuste tales como “Coheen-Coon”, “Zilgier-Nichols”,“IMC”, etc. Por ello la propuesta es aplicar algún método alternativo. El diseño del PID se llevará a cabo mediante el uso de funciones de optimización incluidas en el paquete “optimization toolbox” y el modelo obtenido como la conexión en cascada de los dos modelos identificados en capítulos anteriores, es decir la conexión del modelo lineal en ecuaciones de estado “relación de reflujo-temperatura” con el modelo no lineal Hammerstein “temperatura-composición”. Si bien este modelo es aproximado, nos dará una buena medida de los parámetros del PID para luego poder ajustarlos en planta (en Hysys). Esquemáticamente sería:

Figura 6-2: Modelo sencillo de la planta

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

62

Figura 6-3: Esquema utilizado para la optimización

Los Script usados para tal fin se denominan “optim_PID”, “planta_lc” y “planta” (que pueden ser vistos en el apéndice), donde el primero de ellos hace concretamente la optimización usando la función “fmincon” de Matlab (esta función se describe en los siguientes párrafos), el segundo es una función que simula la planta a lazo cerrado con cada juego de parámetros que calcula optim_PID y es un argumento más de fmincon y el tercer script realiza la simulación de la planta y la compara con el setpoint. Respecto a la trayectoria a seguir, optamos por hacer la optimización con los datos ya mostrados en capítulos pasados y es la trayectoria de destilado del cyclohexano para relación de reflujo aleatorio. Ajustamos el PID a solo esta trayectoria ya que más adelante cuando se optimice para destilado máximo, se optimizará justamente dicha trayectoria en casi todo el tiempo de destilación. Esta ponderación sobre el cyclohexano es un requerimiento particular. 6.1.2.1- Funciones de optimización ([5]) Optimización Paramétrica La optimización paramétrica es utilizada para buscar un conjunto de parámetros de diseño, , que pueden ser definidos de alguna manera como óptimos. En un caso simple esto puede ser la minimización o maximización de una característica del sistema dependiente de x. Realizando una formulación más avanzada, la función objetivo, f(x), a ser minimizada o maximizada, puede estar sujeta a condiciones sobre una igualdad, , o condiciones sobre una desigualdad

y/o limites de los parámetros x

}x,........,x{x n1=

)x(Gi

....,,.........mi( e=0)m,...,i( e210 ==

)m)x(Gi ≤ L,xU. Una descripción de un problema general es:

)x(fimizarminnx ℜ∈

Sujeto a: (6.1)

)m,...,i()x(G ei 210 ==

)m....,,.........mi()x(G ei =≤ 0 UL xxx ≤≤

donde x es el vector de parámetros de diseño, ( x∈ℜn ), f(x) es la función objetivo que devuelve un escalar ( f(x): ℜn→ℜ ) y la función vector G(x) devuelve los valores de las condiciones sobre la igualdad y desigualdad evaluadas en x, ( G(x): ℜn→ℜm ).

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

63

Una solución exacta y eficiente a este problema no solo depende del tamaño del problema en términos del número de condiciones y de variables de diseño, sino que también depende de las características de la función objetivo. En nuestro trabajo utilizaremos la función “fmincon”, ya sea, como en este caso, para la optimización del PID como así también para la obtención del perfil óptimo de destilado, tarea que se realiza en capítulos posteriores. Entonces incluimos aquí un breve comentario sobre dicha función de optimización. La función fmincon busca los mínimos de una función multivariable no lineal condicionada. fmincon resuelve problemas de la forma:

)(min xFx

Sujeto a las siguientes restricciones:

BeqXABXA

eq =≤

..

condiciones lineales

00=

≤)(

)(XCeq

XC condiciones no lineales

UBXLB ≤≤

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 función 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 función a ser minimizada. X0: es el valor inicial, en nuestro caso los valores iniciales del control PID. Nonlcon: es la función 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 función. LB (low bound): es el límite inferior para la variable X. UB (upper bound): es el límite superior para la variable X. Éstos límites fueron seteados en LB=[0 0 0] y UB=[1000 1000 1000]. Options: aquí van las opciones de los parámetros de optimización. Se pueden cambiar o setear los valores de éstos parámetros mediante la función optimset. Optimset crea una estructura de opciones de optimización. Uno de los parámetros más importante es ‘Large Scale’. La sintaxis es la siguiente:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

64

Options = optimset ( ‘Large scale’,’off’,..........); Al setear ‘off’ , estamos seleccionando el algoritmo de media-escala. Optimización de media escala (medium-scale) fmincon utiliza el método SQP (Sequential Quadrating Programming). En este método un subproblema de programación cuadrática (QP) es resuelto en cada iteración. Programación cuadrática secuencial (SQP) Dada la descripción del problema dada en (6-1) la idea principal es la formulación de un subproblema (QP) basado en una aproximación cuadrática de la función de Lagrange.

∑=

λ+=λm

iii )x(g).x()x(f),x(L

1

Aquí (6.1) es simplificada asumiendo que las condiciones límites han sido expresadas como condiciones de desigualdad. EL subproblema (QP) es obtenido por linealización de las condiciones no lineales

Subproblema (QP)

m,......,mi)x(gT)x(gm,..,i)x(gT)x(g

T).x(fdHdimizemin

ekidki

ekidki

dkkT

d n

=≤+∇

==+∇

∇+ℜ∈

010

21

Este subproblema puede ser resuelto usando cualquier algoritmo QP. La solución es utilizada para formar una nueva iteración . kkkk dxx α+=+1

El parámetro es determinado por un procedimiento de búsqueda de línea apropiado tal que se obtenga un decrecimiento suficiente en la función de mérito.

La matriz Hk es una aproximación definida positiva de la matriz Hessiana de la función de Lagrangian. Hkpuede ser actualizada por cualquiera de los métodos quasi-Newton, aunque el método BFGS aparece como el más popular. Implementación de SQP La implementación SQP en Matlab consiste de tres etapas principales:

Actualización de la matriz Hessiana y de la función de Lagrange. Solución del problema QP. Cálculo de la función de mérito y búsqueda de línea.

a.- Actualizando la matriz Hessiana.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

65

En cada iteración importante, una aproximación definida positiva quasi-Nexton del Hessiano de la función de Lagrange, Hk es calculada utilizando el método BFGS, donde

es una estima de los multiplicadores de Lagrange. ),........2,1( mii =λ Actualización del Hessiano (BFGS)

kkTk

kTk

kTk

Tkk

kk sHsHH

sqqq

HH..

...

1 −+=+

Donde:

kkk xxs −= +1

∑ ∑= =

++

∇+∇−∇+∇=

n

i

n

ikiikkiikk xgxfxgxfq

1 111 )(.)()(.)( λλ

b.- Solución del problema QP. En cada iteración importante del método SQP, un problema QP es resuelto de la forma donde Ai refiere a la i-ésima fila de la matriz A de m×n. QP

El procedimiento de solución involucra dos fases: la primer fase involucra el cálculo de un punto factible (si éste existe) y la segunda fase involucra la generación de una secuencia iterativa de puntos factibles que convergen a la solución.

Inicialización

El algoritmo requiere un punto factible para comenzar. Si el punto actual desde el método SQP no es factible, entonces un punto puede ser encontrado resolviendo un problema de programación lineal. c.- Función de mérito y búsqueda de línea

La solución al subproblema QP produce un vector dk, el cual es usado para realizar una nueva iteración:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

66

αk es determinado de forma tal que produzca un decrecimiento suficiente de la función de mérito.

Función de mérito

Como dijimos los parámetros iniciales para la simulación son muy importantes ya que dirigen a la solución hacia distintos mínimos locales, dando como resultado diferentes parámetros óptimos para el PID. Fueron simulados diferentes condiciones iniciales, las cuales arrojaron los siguientes datos acumulados en la tabla que se muestra a continuación:

PID_0 K1 K2 K3 Error de seguimiento

[ 0,5 0,5 0,5 ] 56,522 1,216 3,231 7,408×10-6

[ 1 1 1 ] 3,088 3,751 0,977 4,890×10-5

[ 1,5 1,5 1,5 ] 23,116 2,408 2,412 1,975×10-5

[ 2 2 2 ] 43,835 1,181 3,989 1,046×10-5

[ 2,5 2,5 2,5 ] 3,397 3,754 2,525 4,788×10-5

[ 3 3 3 ] 3,225 3,738 3,003 4,816×10-5

[ 0,1 0,1 0,1 ] 8,296 4,982 0,346 2,590×10-5

Tabla 6-1:Parámetros optimizados del PID y errores de seguimiento

Evidentemente el juego de parámetros iniciales [0.5 0.5 0.5] es el que menor error de seguimiento produce por lo cual serán dichos parámetros los elegidos para ajustarlos en planta. De todas formas y a título de ejemplificación se muestra a continuación la simulación, del modelo sencillo de la planta, con los siguientes juego de parámetros óptimos: P1=[56.522 1.216 3.231] ; P2=[23.116 2.408 2.412] ; P3=[3.225 3.738 3.003] Se debe tener en cuenta que a la planta sencilla se le adicionó una saturación inferior para la relación de reflujo(variable manipulada) de valor 0.5, esto evita que a la planta le lleguen valores irreales de reflujo, además se debe tener en cuenta que todos los

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

67

modelos fueron identificados con valores de relación de reflujo mayores que 0.5 dando esto un rango de validez a priori.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1SALIDA DEL MODELO Y SETPOINT

TIEMPO [s]

CO

MP

OS

ICIO

NE

S [f

racc

ión

mol

ar]

SETPOINTSALIDA P1SALIDA P2SALIDA P3

Figura 6-4: Comparación del control para diferentes

parámetros óptimos del PID. Aquí podemos ver las distintas respuestas del PID según sean los parámetros utilizados, en efecto, vemos que una correcta inicialización del algoritmo de optimización puede dar resultados totalmente diferentes.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

1

2

3

4

5

6

7SEÑAL DE CONTROL

TIEMPO [s]

RE

LAC

ION

DE

RE

FLU

JO

PARAMETROS P3PARAMETROS P2PARAMETROS P1

Figura 6-5: Señal de control para diferentes parámetros óptimos del PID.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

68

Siguiendo con el análisis de optimización del PID, apreciamos las notables diferencias existentes para le señal de control que resulta de utilizar los diferentes parámetros óptimos del PID. Para los parámetros P1 el control es mas brusco dado por la alta ganancia de la parte proporcional.

6.2.-IMPLEMENTACIÓN DEL PID Y CONEXIÓN CON HYSYS

El inferenciador, el control de válvulas y el PID están desarrollados y operan en el espacio de trabajo de Matlab, comunicándose con la planta a través de una interface que posee Hysys que permite usar a Matlab como un controlador, como fue anteriormente explicado en el capítulo 5. Esta interface esencialmente nos permite acceder a las hojas de cálculo de Hysys tanto para leer datos como para actualizarlos. La implementación del inferenciador, del control de válvulas y del PID, así como el intercambio de información se lleva a cabo utilizando los scripts “objconex_pid” e “infer_pid” que se detallan en el apéndice.

6.2.1.- Prueba del control con trayectorias de setpoint arbitrarias 6.2.1.1.- Caso en que el setpoint es solo el cyclohexano

0 2000 4000 6000 8000 10000 12000 14000 160000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

DESTILADOS REALES, INFERIDOS Y SETPOINT PARA EL CASORR3 (el cyc lohexano es el setpoint)

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

n-heptano real tolueno real cyc lohexano realinferencia inferencia inferencia setpoint

Figura 6-6: Destilados reales, inferidos y setpoint para el caso RR3 (el cyclohexano es

el setpoint).

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

69

0 2000 4000 6000 8000 10000 12000 14000 160001

1.5

2

2.5

3

3.5

4

V A RIA B LE M A NIP ULA DA P A RA CA S O RR3 (el s etpoint es el c y c lohex ano)

TIE M P O [s ]

RE

LAC

ION

DE

RE

FLU

JO

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 señal de control no es demasiado brusca y está dentro de los límites aceptables para la relación 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:

0 2000 4000 6000 8000 10000 12000 14000 160000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

DESTILADOS REALES , INFERIDOS Y SETPOINT(caso en que se cambia el set point)

TIEMPO [s ]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

Figura 6-8: Destilados reales, inferidos y setpoint (caso en que se cambia el setpoint)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

70

0 2000 4000 6000 8000 10000 12000 14000 160000.5

1

1.5

2

2.5

3

3.5

4

VARIABLE MANIPULADA PARA EL CASO DE CONMUTACION DEL SETPOINT

TIEMPO [s]

RE

LAC

ION

DE

RE

FLU

JO

Figura 6-9: Variable manipulada para el caso de conmutación del setpoint.

Como podemos apreciar de las gráficas anteriores el cambio de setpoint no arroja buenos resultados para aplicar en la planta ya que dicho cambio no puede ser seguido por la planta. Si bien el control responde y tiende a disminuir esta diferencia, vemos que se sale de los límites admisibles. Como dijimos en capítulos anteriores, en este sector la planta tiene un comportamiento un poco diferente y es posible que no sea suficiente con sólo modificar la relación de reflujo para obtener un comportamiento deseado. De todas maneras la respuesta que obtuvimos para el caso en que el setpoint es únicamente el cyclohexano (no existe conmutación) es muy buena y será la estrategia de control utilizada más adelante en el caso de trayectorias óptimas.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

71

CAPÍTULO 7

TRAYECTORIA ÓPTIMA

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

72

7.1.- INTRODUCCIÓN En general el control refiere a un sistema a lazo cerrado donde el punto de operación deseado es comparado con el punto de operación actual y la diferencia es realimentada al sistema para llevar el punto de operación actual hacia el deseado. El propósito de diseñar un sistema con control a lazo cerrado es disminuir la sensibilidad de la planta a perturbaciones externas. El uso de la función 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 dinámica de estas variables de decisión hacen dificultosa la resolución de estos problemas respecto a la optimización normal, donde las variables de decisión son escalares. En general técnicas matemáticas son usadas para resolver problemas de control óptimo, las cuales involucran cálculos de variaciones, programación dinámica, principio máximo y programación no lineal (NLP) . Los primeros tres métodos tratan las variables de decisión como vectores, mientras que NLP aproxima las variables para ser transformadas en escalares. La elección de la mejor técnica de optimización es totalmente dependiente del problema a resolver. Los problemas de control óptimo pueden ser clasificados de la siguiente forma:

Problema de máximo destilado: Aquí la cantidad de destilado de una especificada concentración, para un especificado tiempo es maximizada. Problema de mínimo tiempo: Aquí se minimiza el tiempo necesario para

producir una cantidad de destilado dada, de una concentración especificada. Problema de máximo aprovechamiento: Donde es maximizada la función

aprovechamiento para una especificada concentración. La optimización involucra modelos en ecuaciones algebraicas y ecuaciones diferenciales. La mayoría de la literatura en esta área se concentra en usar la aproximación por colocación (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 combinación de técnicas de colocación y optimización no lineales incrementan las no linealidades en el sistema , así se incrementa la posibilidad de múltiples soluciones y se requerirá una buena inicialización; por otro lado el método de aproximación por polinomios depende de la correcta elección del orden y tipo del polinomio. Diwekar (1992) propuso usar una combinación de el principio máximo y NLP para resolver el problema de optimización en destilación batch ([3]). Un problema de optimización algebraico diferencial en general puede escribirse como:

+= ∫ dtxkxjJ t

T

ttoptimizart

),,()(0,

µθµθ

Sujeto a:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

73

( )

( )( )

)()()()(

0,,0,,

,,

0

ULUL

xxxgxh

xfdtxd

t

inicial

tt

tt

ttt

µµµθθθ

µθµθ

µθ

≤≤≤≤

=≤=

=

7.2.- OBTENCIÓN DE LA TRAYECTORIA ÓPTIMA PARA MÁXIMO DESTILADO ([3])

Recordando las condiciones para el problema de máximo destilado, teníamos que:

+== ∫ ∫

T T

tRtdt

RVdt

dtdDjimizar

0 0

.1

.max

Sujeto a la siguiente condición de pureza:

*

0

0

)1(

.1

..1

xdt

RV

dtxR

V

x T

t

T

Dt

Dav =

+

+=

O sea que para un tiempo de destilación dado y para una composición promedio dada, maximizamos la cantidad de destilado. Discretizando ahora el funcional “J” con la regla rectangular en atraso para su implementación en el algoritmo de optimización obtenemos que:

∑= +

=*

0 1)(.

k

kM kR

VTJ

Donde :

[ ]destiladodeflujodevectoreles

kRV

RV

RVD

optimizarareflujoderelacionesdevectoreleskRRRRR

+++

=

=

1)(..........

1)1(1)0(

)(.........)1()0(

*

*

Entonces podemos implementar el funcional en Matlab de la siguiente forma:

MTDsumJ ).(=

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

74

Discretizando además la condición de pureza:

( ))(

.

)(

)().( 1

0

0

1

**

*

DsumDxsum

kD

kDkxx D

k

k

k

kD

D ==

=

=

Nuestro objetivo es obtener la mayor cantidad de destilado de cyclohexano durante todo el tiempo de destilación. Este tiempo total ha sido fijado en aproximadamente “5.5 horas” ya que para este tiempo se destila prácticamente toda la carga en el reboiler. Proponemos entonces optimizar la relación de reflujo para obtener cyclohexano con pureza “ ” , en un tiempo T≈4.5horas. Se adoptó este tiempo para optimizar ya que se consume prácticamente todo el cyclohexano del reboiler.

98.0* =Dx

Debido a que el tiempo total de destilación es de aproximadamente 5.5 horas vemos que terminado el período de optimización del cyclohexano , nos queda una hora de destilación que podemos aprovechar para obtener el máximo de pureza del n-heptano funcionando a reflujo constante y muy bajo(≈0.5). Nuevamente se utilizó para la optimización la función de Matlab “fmincon” ([5])pero esta vez incluyendo la condición de pureza. Se debe tener en cuenta que esta vez el vector de parámetros a optimizar tiene una longitud de “830”, esto esta dado por el tiempo de optimización y el tiempo de muestreo TM=20seg, lo que hace que para este procedimiento sea indispensable la utilización de un modelo sencillo de la planta, como el obtenido en capítulos anteriores, aún así la optimización se vuelve un proceso sumamente lento y tedioso ya que, como dijimos en el capítulo 6, la optimización de los parámetros es muy dependiente de las condiciones iniciales. La optimización se realiza utilizando los siguientes script “dest_max”, “condicion” y “sumo” . El primero optimiza utilizando la función “fmincon” , la cual que ya se explicó en el capítulo 6 , el segundo le da la condición a ser testeada en cada iteración de “fmincon” y el tercero devuelve el funcional que optimizará “dest_max”. Entonces aplicando estos scripts y teniendo en cuenta que después de la optimización se hace funcionar al modelo con relación de reflujo constante e igual a 0.5, se obtienen los siguientes resultados:

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

75

0 100 200 300 400 500 600 700 800 900 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TRAYECTORIAS OPTIMIZADAS PARA CYCLOHEXANOprom.=0.98 Y 830 MUESTRAS

MUESTRAS

CO

MP

OS

ICIO

NE

S [f

racc

ión

mol

ar]

CYCLOHEXANON-HEPTANO TOLUENO

Figura 7.1: Trayectorias para optimización del cyclohexano

1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 00

2

4

6

8

1 0

1 2

1 4

R E L A C IO N D E R E F L U J O O P T IM IZ A D A P A R AR E L A C IO N D E R E F L U J O O P T IM IZ A D A P A R AC Y C L O H E XA N O p ro m : = 0 . 9 8 Y 8 3 0 M U E T R A S

M U E S T R A S

RE

LA

CIO

N D

E R

EF

LU

JO

Figura 7.2: Variable manipulada optimizada para la trayectoria del cyclohexano

7.3.- PRUEBA DE LA PLANTA A LAZO ABIERTO (para la optimización del cyclohexano) Nos proponemos probar el softsensor y la operación de la planta a lazo abierto, proporcionándole la relación de reflujo óptima obtenida en el punto anterior, que maximiza la cantidad de destilado de cyclohexano, manteniendo una pureza promedio de 0.98. La simulación de la planta en conexión con el inferenciador se realiza mediante scripts similares a los usados en el capítulo de la prueba del inferenciador, la única diferencia

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

76

es ahora el tipo de datos que se le pasa a Hysys, en este caso se le pasa la relación de reflujo óptima y no una aleatoria. Esta operación nos arroja los resultados que vemos a continuación:

0 2 0 0 0 4 0 0 0 6 0 0 0 8 0 0 0 1 0 0 0 0 1 2 0 0 0 1 4 0 0 0 1 6 0 0 00

0 .1

0 .2

0 .3

0 .4

0 .5

0 .6

0 .7

0 .8

0 .9

1

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 TO R IA O P TIM AP A R A O P E R A C IO N A L A ZO A B IE R TO (c o n R R ó p t im a )

TIE M P O [ s ]

CO

MP

OS

ICIO

N [

fra

cc

ión

mo

lar]

n -h e p ta n o re a l to 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 to ria ó p t im a

Figura 7.3: Respuesta de la planta a lazo abierto a la relación de reflujo óptima

El control de la válvula del tanque de almacenamiento de cyclohexano se realizó por tiempo, es decir que se almacenó destilado hasta que la trayectoria óptima culminó (830 muestras). Como vemos la pureza promedio del cyclohexano acumulado difiere notablemente de la teórica propuesta (0.98) ya que lo que se obtuvo realmente calculado por Hysys en esta operación a lazo abierto fue de 0.906 .

Figura 7.4: Composición promedio final a lazo abierto

en el tanque del cyclohexano

Como podemos observar la respuesta real del cyclohexano difiere notablemente de la óptima, haciendo que la operación bajo trayectorias óptimas necesite la implementación

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

77

de algún tipo de control. Estas diferencias están 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 optimización (como veremos más adelante), por otro lado no posee la información completa sobre la dinámica de la planta, dando respuestas realmente buenas ante un tipo de entradas y respuestas notablemente diferentes ante otras. Todo lo anterior más los resultados obtenidos próximamente justifican la implementación del control PID desarrollado en el capítulo anterior para mantener la salida de la planta muy próxima 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 operación 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 capítulo 6 mediante técnicas de optimización y se ajustó en planta ante diferentes tipos de trayectorias. La implementación del inferenciador, del PID y del control de válvulas se realiza de forma similar a los casos mostrados en el capítulo anterior, la única diferencia es que ahora el setpoint es el óptimo y el control de las válvulas 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 válvula del tanque del n-heptano y se almacena aquí todo el producto hasta que la composición instantánea del tolueno llega a 0.35 , en este momento se cierra la válvula del tanque del n-heptano y se abre la del tanque del tolueno para acumular todo el producto hasta la finalización del proceso. No se propone un corte intermedio al finalizar la optimización del cyclohexano ya que como se destiló prácticamente toda la cantidad de producto su descenso es abrupto y se puede considerar que prácticamente no hay necesidad de hacer otra acumulación en otro tanque, si no que inmediatamente comenzamos la acumulación del n-heptano. Todo lo anterior se puede apreciar en el script “inferoptim_PID”. Como vamos a apreciar, es notable la diferencia a la operación anterior ya que se obtienen resultados mucho más aproximados a los teóricos en este caso.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

78

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

x 104

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

DESTILADOS REALES, INFERIDOS Y SETPOINT OPTIMO PARA EL CYCLOHEXANO

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

cyc lohexano realtolueno real n-heptano real inferencia inferencia inferencia setpoint óptimo

Figura 7.5: Respuesta de la planta a lazo cerrado con

cyclohexano optimizado como setpoint

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

x 104

0

5

10

15

20

25

V A RIA B LE M A NIP ULA DA P A RA E L CA S O DES E TP OINT OP TIM O

TIE M P O [s ]

RE

LAC

ION

DE

RE

FLU

JO

Figura 7.6: Variable manipulada real para el cyclohexano como setpoint

Como vemos las trayectorias están mucho más próximas a la óptimas en este caso y el valor de pureza promedio acumulado en el tanque del cyclohexano resultó ser en este caso de 0.96, mucho más próximo al teórico que para el caso de operación a lazo abierto. También observamos que las pureza de los restantes componentes resultaron de 0.65 y 0.6 para el n-heptano y el tolueno respectivamente. A continuación podemos apreciar las evoluciones del nivel de líquido en cada uno de los tanques así como las composiciones finales en los mismos calculada por Hysys.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

79

0 0.5 1 1.5 2

x 104

0

10

20

30

40

50

60NIVEL DE LIQUIDO EN LOS TANQUES

TIEMPO [s]

NIV

EL

DE

LIQ

UID

O [

%]

CYCLOHEXANOTOLUENO N-HEPTANO

Figura 7.7: Nivel de liquido en los tanques

Figura 7.8: Composición promedio acumulada en el tanque de tolueno

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

80

Figura 7.9: Composición promedio acumulada en el tanque de n-heptano

Figura 7.10: Composición acumulada promedio en el tanque de cyclohexano

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

81

7.4.2.-Setpoint en el cyclohexano pero ahora también se optimizó el n-heptano La idea ahora es maximizar también la cantidad de destilado de n-heptano para una dada pureza promedio, entonces se propone como en la optimización anterior un tiempo fijo en cual maximizar, en este caso se adopto maximizar cyclohexano en 500 muestras (aprox. 2.7 horas) con una pureza promedio de 0.98 que será almacenado en el tanque 1, a partir de aquí un corte intermedio de 50 muestras(aprox. 0.27 horas) en el cual la planta funciona a relación de reflujo constante de 0.5, con el objeto de que el cyclohexano baje su perfil lo antes posible y en todo este momento el producto intermedio es almacenado en el tanque 2. Luego de este corte intermedio se propuso maximizar la cantidad de destilado de n-heptano en un tiempo fijo de 300 muestras (aprox. 1.6 horas) y con una pureza promedio de 0.62; este segundo producto optimizado se almacena en el tanque 3. A partir de aquí se propone un nuevo corte intermedio de 50 muestras también, que es almacenado en el tanque 4, quedando así el tolueno acumulado en el reboiler directamente. La optimización que se describió anteriormente se produce con los scripts “dest_max”,”condicion” y “sumo”, que fueron usados para optimizar la trayectoria del cyclohexano pero ahora con la adición de los scripts “dest_max2” y “condicion2” que son usados luego de optimizar el cyclohexano, para optimizar el n-heptano. En sí los scripts son muy similares, difiriendo solo en el tiempo de optimización y la pureza promedio seleccionada, para más detalles ver apéndice. Todo lo anterior requiere que la planta original sea modificada con el agregado de nuevos tanques acumuladores, quedando finalmente como podemos apreciar a continuación:

Figura 7.11: Nueva disposición de la planta para acumular dos cortes intermedios

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

82

De donde podemos ver que las referencias son: V-101=Reboiler. V-102=Tanque 1, V-104=Tanque 2, V-103=Tanque 3, V-105=Tanque 4. VLV-104=válvula del tanque 1, VLV-105=válvula del tanque 3. VLV-106=válvula del tanque 2, VLV-107=válvula del tanque 4. Entonces optimizando como se dijo anteriormente se obtienen las siguientes trayectorias óptimas para el cyclohexano y para el n-heptano:

0 100 200 300 400 500 600 700 800 900 10000

0 .1

0 .2

0 .3

0 .4

0 .5

0 .6

0 .7

0 .8

0 .9

1

TR A Y E C TO R IA S D E L C Y C LO H E XA N O Y N -H E P TA N O O P TIM IZA D A S(para purez as prom ed io de 0 .98 y 0 .62 res pec t ivam ente )

M U E S TR A S

CO

MP

OS

ICIO

N [

frac

ció

n m

ola

r]

c y c lohex anon-hep tano to lueno

Figura 7.12: Trayectorias optimizadas del cyclohexano y del n-heptano

0 100 200 300 400 500 600 700 800 900 10000

1

2

3

4

5

6

R E LA C IO N D E R E F LU JO O P TIM IZA D A TA N TO P A R A C Y C LO H E XA N O C O C M OP A R A N -H E P TA N O

M U E S TR A S

RE

LAC

ION

DE

RE

FLU

JO

Figura 7.13: Relación de reflujo óptima tanto para el

cyclohexano como para el n-heptano

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

83

Como se dijo anteriormente se propone tomar como trayectoria de setpoint la del cyclohexano por tener mejor inferencia. Entonces tanto el inferenciador, el PID y el control de válvulas se implementan juntos como los casos anteriores pero ahora bajo el nombre de “inferop_cyclo_n_hept” (ver apéndice). La simulación conjunta de la planta en Hysys como del script anterior en Matlab nos arrojaron los siguientes resultados:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

DESTILADOS REALES, INFERIDOS Y SETPOINT PARA EL CASO DE OPTIMIZACION TANTO DEL CYCLOHEXANO COMO EL N-HEPTANO

TIEMPO [s]

CO

MP

OS

ICIO

N [

fracc

ión

mol

ar]

n-heptano real tolueno real cyc lohexano realinferencia inferencia inferencia set point

Figura 7.14: Respuesta de la planta en lazo cerrado con

el cyclohexano como setpoint

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

1

2

3

4

5

6

V A RIA B LE M A NIP ULA DA P A RA E L CA S O DE OP TIM IZA CION DE L CY CLOHE XA NO Y DE L N-HE P TA NO

TIE M P O [s ]

RE

LAC

ION

DE

RE

FLU

JO

Figura 7.15: Variable manipulada real para el caso de cyclohexano

y n-heptano óptimos.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

84

Con las siguientes purezas acumuladas en los tanques de almacenamiento:

Figura 7.16: Composición promedio en el tanque1 (cyclohexano)

Figura 7.17: Composición promedio en el tanque3 (n-heptano)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

85

Figura 7.18: Composición promedio en el reboiler (tolueno)

Figura 7.19: Composición promedio en el tanque 2 (primer corte intermedio)

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

86

Figura 7.20: Composición promedio en el tanque 4

(segundo corte intermedio) Vemos que los valores obtenidos están cercanos a los teóricos ya que se obtuvo los siguientes valores promedio de destilado: REAL PROPUESTA CYCLOHEXANO 0.91381 0.98 N-HEPTANO 0.67669 0.62

Tabla 7.1: Comparación entre resultados teóricos y reales

Las diferencias se deben, como explicamos anteriormente, a que el modelo de la planta usado para realizar la optimización tiene sus limitaciones en lo que respecta a la dinámica que él representa de la planta real. Es una de las cuestiones a tener en cuenta cuando no se puede optimizar con un modelo demasiado complejo y se recurre a modelos más simples para realizar la operación. De todas maneras vemos que los resultados están en el orden de lo que esperábamos.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

87

CAPÍTULO 8

CONCLUSIONES

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

88

La destilación batch para producir materiales de bajo volumen y alto valor agregado es uno de los principales procesos. Una adecuada optimización y un correcto control son imprescindibles para obtener máximos beneficios. Lo anterior recae esencialmente en la necesidad de obtener un modelo de la planta lo más exacto posible. Nuestro trabajo comenzó con el empleo de un modelo riguroso que permite realizar pruebas preliminares de optimización y control de la planta. Para ello es necesario la obtención de modelos simplificados de la planta basados en métodos de identificación convencionales tales como los métodos de subespacio e identificación no lineal basados en modelos del tipo Hammerstein. Esto permitió optimizar en forma aproximada y rápida los parámetros del controlador PID así como las trayectorias de composición. Vimos que con éstas técnicas clásicas de identificación se puede reproducir el comportamiento dinámico de la planta. Así también pudimos ver que en este proceso de destilación de tres componentes existen zonas donde el modelo se aproxima al comportamiento real más 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 relación de reflujo sino que involucran otras variables que dependen de las condiciones físico-químicas del proceso. Aún 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 válvulas de los tanques de almacenamiento de los productos, actividad que hasta el momento se realizaba manualmente. Los resultados que logramos apreciar en esta sección del trabajo fueron también 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 también que el funcionamiento de la planta con trayectorias óptimas arrojó los resultados esperados, evidenciando el comportamiento aproximado pero aceptable de los modelos identificados. Nuestro interés es proponer la continuación de este proyecto pero basando la identificación en técnicas con redes neuronales y con la aplicación de un control avanzado predictivo.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

89

APENDICE

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

90

Script “iee.m” correspondiente a la identificación de un modelo lineal en ecuaciones de estado para la dinámica relación de reflujo – temperatura.

%ESTE SCRIPT REALIZA LA IDENTIFICACIÓN DE UN MODELO %EN ESPACIO DE ESTADOS TOMANDO COMO ENTRADA LA %RELACIÓN DE REFLUJO Y COMO SALIDA LA TEMPERATURA. %-------------------------------------------------------------------------------------- random_3; te=time_r3; Ts=mean(diff(te)); ye=T1_r3; ue=[RR3]; z=[ye ue]; NY=1; k=53; [TH,A0]=n4sid(z,'best',NY,k,[0,1,1],[],Ts); [A,B,C,D,K,X0]=th2ss(TH); [Y,XX]=dlsim(A,B,C,D,ue,X0); errory=norm(Y-ye)^2/length(ye) plot(te,Y,te,ye,'r') title('VALIDACIÓN CON LOS DATOS DE ESTIMACIÓN') xlabel('TIEMPO [s]') Script “iee-v.m” para realizar la validación del modelo anterior. %ESTE SCRIPT REALIZA LA VALIDACIÓN DEL MODELO %EN ESPACIO DE ESTADOS IDENTIFICADO POR "iee.m" %---------------------------------------------------------------------------- datos_r; te=time_r; Ts=mean(diff(te)); ye=T_1r; ue=[RR]; z=[ye ue]; NY=1; k=53; [TH,A0]=n4sid(z,'best',NY,k,[0,1,1],[],Ts); [A,B,C,D,K,X0]=th2ss(TH); [Y,XX]=dlsim(A,B,C,D,ue,X0); errory=norm(Y-ye)^2/length(ye) plot(te,Y,te,ye,'r') title('VALIDACIÓN CON NUEVOS DATOS') xlabel('TIEMPO [s]') ylabel('TEMPERATURA [°c]')

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

91

Script “hammer-infer” que realiza la identificación del modelo hammerstein y la validación incluyendo información de la salida real cada 30 minutos. %ALGORITMO QUE REALIZA LA IDENTIFICACIÓN %DE UN MODELO HAMMERSTEIN--n=2, m=3, r=3 Y LA VALIDACIÓN %SE REALIZA INCLUYENDO LA COMPOSICIÓN REAL CADA 30 %MINUTOS %---------------------------------------------------------------------------------------------- random_3; delta1=0; delta2=0; t=time_r3; u=T1_r3; y1=cyclo_r3; y2=n_hept_r3; y3=1-y1-y2; %----------------------- ry1=[-y1(2),-y1(1)]; cy1=-y1(2:length(y1),:); ry2=[-y2(2),-y2(1)]; cy2=-y2(2:length(y2),:); ru1=[u(2),u(1),0]; cu1=u(2:length(u),:); %----------------------- phy1=toeplitz(cy1,ry1); phy2=toeplitz(cy2,ry2); %----------------------- phu1=toeplitz(cu1.^2,ru1.^2); phu2=toeplitz(cu1.^4,ru1.^4); phu3=toeplitz(cu1.^6,ru1.^6); %----------------------------- phi1=[phy1,phu1,phu2,phu3]; phi2=[phy2,phu1,phu2,phu3]; yy1=[y1(3:length(y1),:);y1(length(y1))]; yy2=[y2(3:length(y2),:);y2(length(y2))]; yy3=1-yy1-yy2; uu=[u(3:length(u),:);u(length(u))]; %---------------------------------------- thetahat1=phi1\yy1; thetahat2=phi2\yy2; %------------------- thetahatbc1v=thetahat1(3:length(thetahat1),:); thetahatbc2v=thetahat2(3:length(thetahat2),:); %--------------------------------------------- thetahatbc1=rowblock(thetahatbc1v,3,1); thetahatbc2=rowblock(thetahatbc2v,3,1); %-------------------------------------- ahat1=thetahat1(1:2,:); ahat2=thetahat2(1:2,:);

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

92

[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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

93

%-------------------------------------------------------------- %C/A 90 MUESTRAS ACTUALIZO CON VALORES REALES DE LA %COMPOSICION %-------------------------------------------------------------- if k==90*L yreal1=cyclo_r3(k); yreal2=n_hept_r3(k); delta1(k)=yreal1-yhat1(k); delta2(k)=yreal2-yhat2(k); yhat1(k)=yhat1(k)+delta1(k); yhat2(k)=yhat2(k)+delta2(k); yhat3(k)=1-yhat1(k)-yhat2(k); L=L+1; delta1=delta1(k); delta2=delta2(k); end %--------------------------------------------------------------- end %--------------------------------------------------------------------------------- tt=t(2:length(t),:); %------------------------------------------------------- %PLOTEO CON DATOS DE ESTIMACION plot(tt,yhat1','r',tt,yy1,'k'); title('CYCLOHEXANO(negro=real,rojo=estima)'); grid on; figure; plot(tt,yhat2','r',tt,yy2,'k'); title('N-HEPTANO(negro=real,rojo=estima)'); grid on; figure; plot(tt,yhat3','r',tt,yy3,'k'); title('TOLUENO(negro=real,rojo=estima)'); grid on; %------------------------------------------------------- %ERROR errory1=(norm(yhat1'-yy1))^2/length(yy1) errory2=(norm(yhat2'-yy2))^2/length(yy2) errory3=(norm(yhat3'-yy3))^2/length(yy3) error_total=errory1+errory2+errory3 %---------------------------------------------------------------------------------- %PARAMETROS ahat1=thetahat1(1:2,:) ahat2=thetahat2(1:2,:) bhat1=UU1(:,1) bhat2=UU2(:,1) chat1=SS1(1,1)*VV1(:,1) chat2=SS2(1,1)*VV2(:,1) %---------------------------------- %VALIDACION CON DATOS_R E INCLUSION

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

94

%DE LA SALIDA REAL C/A 30' %---------------------------------- datos_r; delta1=0; delta2=0; L=1; tv3=time_r; y1v3=cyclo_r; y2v3=n_hept_r; y3v3=tolueno_r; uv3=T_1r; u1v3=uv3.^2; u2v3=uv3.^4; u3v3=uv3.^6; for i=1:3, yhat1v3(i)=y1v3(i); yhat2v3(i)=y2v3(i); end for k=4:length(y1v3), yhat1v3(k)=-ahat1(1)*yhat1v3(k-1)-ahat1(2)*yhat1v3(k-2)+thetahatbc1v(1)*u1v3(k-1)+... thetahatbc1v(2)*u1v3(k-2)+thetahatbc1v(3)*u1v3(k-3)+thetahatbc1v(4)*u2v3(k-1)+... thetahatbc1v(5)*u2v3(k-2)+thetahatbc1v(6)*u2v3(k-3)+thetahatbc1v(7)*u3v3(k-1)+... thetahatbc1v(8)*u3v3(k-2)+thetahatbc1v(9)*u3v3(k-3)+delta1; if yhat1v3(k)>1 yhat1v3(k)=1; end if yhat1v3(k)<0 yhat1v3(k)=0; end yhat2v3(k)=-ahat2(1)*yhat2v3(k-1)-ahat2(2)*yhat2v3(k-2)+thetahatbc2v(1)*u1v3(k-1)+... thetahatbc2v(2)*u1v3(k-2)+thetahatbc2v(3)*u1v3(k-3)+thetahatbc2v(4)*u2v3(k-1)+... thetahatbc2v(5)*u2v3(k-2)+thetahatbc2v(6)*u2v3(k-3)+thetahatbc2v(7)*u3v3(k-1)+... thetahatbc2v(8)*u3v3(k-2)+thetahatbc2v(9)*u3v3(k-3)+delta2; if yhat2v3(k)>1 yhat2v3(k)=1; end if yhat2v3(k)<0 yhat2v3(k)=0; end yhat3v3(k)=1-yhat1v3(k)-yhat2v3(k); if yhat3v3(k)>1 yhat3v3(k)=1;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

95

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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

96

Script “optim-PID” que realiza la optimizacion del PID usando un modelo simplificado de la planta. %ESTE SCRIPT REALIZA LA OPTIMIZACION DEL PID USANDO UN %MODELO SIMPLIFICADO DE LA PLANTA A LAZO CERRADO Y LA %FUNCION DE MATLAB "FMINCON" %------------------------------------------------------------------------------------------------- clear all parametros; random_3; ysp=cyclo_r3; PID_0=[0 0 0]; lb=[0 0 0]; ub=[1000 1000 1000]; options=optimset('largescale','off','display','iter','tolx',0.001,'tolfun',0.001); PID=fmincon('planta_lc',PID_0,[],[],[],[],lb,ub,[],options,ysp,RR3,Abest,Bbest,Cbest, X 0best,thetahatbc1v,ahat1); k1=PID(1) k2=PID(2) k3=PID(3) planta

Función “planta-lc” usada por el script anterior para simular la planta a lazo cerrado.

%FUNCION "PLANTA_LC" QUE SIMULA LA PLANTA A LAZO CERRADO %RECIBIENDO COMO ARGUMENTOS EL VECTOR PID OPTIMIZADO POR %"OPTIM_PID" Y LOS PARAMETROS DE LOS MODELOS, ADEMAS ESTA %FUNCION RETORNA EL ERROR CUADRATICO MEDIO ENTRE SETPOINT %Y SALIDA DEL MODELO %---------------------------------------------------------------------------------------------------- function [F]=planta_lc(PID,ysp,RR3,Abest,Bbest,Cbest,X0best,thetahatbc1v,ahat1) k1=PID(1); k2=PID(2); k3=PID(3); a11=Abest(1,1); a12=Abest(1,2); a21=Abest(2,1); a22=Abest(2,2); b1=Bbest(1); b2=Bbest(2); c1=Cbest(1); c2=Cbest(2); x1(1)=X0best(1); x2(1)=X0best(2); %INICIALIZACION for i=1:3, y1(i)=ysp(i);

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

97

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 señal 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);

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

98

Funciones de la librería de Hysys para la comunicación con Matlab

function CellObject = hycell(SpreadsheetObject, CellNameString) % HYCELL Returns the column cell array of activeX objects of cells in Hysys. % hycell(SpreadsheetObject, CellNameString) returns the object for the % cell name given by CellNameString. CellNameString may be a cell array. % % Copyright (C) 1999 Olaf Trygve Berglihn <[email protected]> % Please read the files license.txt and lgpl.txt %% $Id: hycell.m,v 1.5 1999/04/20 08:52:52 olafb Exp $ %% ----------- %% Change log: %% %% $Log: hycell.m,v $ %% Revision 1.5 1999/04/20 08:52:52 olafb %% The library is now under LGPL license. %% %% Revision 1.4 1999/04/18 13:54:11 olafb %% hysyslib/ %% %% Revision 1.3 1999/04/16 08:38:16 olafb %% Added support for cell arrays of aciveX objects %% %% Revision 1.2 1999/04/07 11:56:43 olafb %% *** empty log message *** %% CellObject = {}; if isa(CellNameString, 'cell') for n1 = 1:size(CellNameString,1) for n2 = 1:size(CellNameString,2) CellObject{n1,n2} = get (SpreadsheetObject, 'Cell', CellNameString{n1,n2}); end end else CellObject{1} = get (SpreadsheetObject, 'Cell', CellNameString); end

function hyapp = hyconnect(FileNameString, VisibleBoolean) % HYCONNECT Connecting Matlab as a controller for Hysys via ActiveX/COM % hyconnect(FileNameString, VisibleBoolean) connects to the Hysys % case-file specified by FileNameString. If given no arguments, the % current and open Hysys-case will be used. The optional boolean variable % VisibleBoolean controls wether the application window will be shown % (takes values 0 and 1, 1 by default). Returns the activeX application % server object.

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

99

% % Copyright (C) 1999 Olaf Trygve Berglihn <[email protected]> % Please read the files license.txt and lgpl.txt %% $Id: hyconnect.m,v 1.4 1999/04/20 09:04:39 olafb Exp $ %% ---------- %% Changelog: %% %% $Log: hyconnect.m,v $ %% Revision 1.4 1999/04/20 09:04:39 olafb %% *** empty log message *** %% %% Revision 1.3 1999/04/16 08:38:16 olafb %% Added support for cell arrays of aciveX objects %% %% Revision 1.2 1999/04/07 11:58:14 olafb %% *** empty log message *** %% %% Revision 1.1 1999/03/27 17:24:31 olafb %% Initial revision %% % Connect to Hysys via Matlab activeX library function in Windows version. % Since the activeX-library is not included in Matlab at compilation, a % feval or eval syntax must be used. hy = feval('actxserver', 'Hysys.Application'); if nargin <= 1 hy.Visible = 1; else hy.Visible = VisibleBoolean; end % This try/catch clause does not work yet. Only a dispatch warning is % issued. % try if nargin > 0 invoke (hy.SimulationCases, 'Open', FileNameString); end catch lasterr; disp('Check the path of the filename. If file is not in'); disp('local directory, include full path to file'); end hyapp = hy;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

100

function hyset(CellObjects, Value) % HYSET Function to change a value of a spreadsheet cell in Hysys % hyset(CellObjects, Value) changes the value of CellObjects to Value. % CellObjects and Value must be matrises of the same dimension. % CellObjects can contains a single object or a cell array of objects. % % Copyright (C) 1999 Olaf Trygve Berglihn <[email protected]> % Please read the files license.txt and lgpl.txt %% $Id: hyset.m,v 1.5 1999/04/20 08:52:53 olafb Exp $ %% ---------- %% Changelog: %% %% $Log: hyset.m,v $ %% Revision 1.5 1999/04/20 08:52:53 olafb %% The library is now under LGPL license. %% %% Revision 1.4 1999/04/18 14:04:43 olafb %% Added support for cell matrises of activeX-objects. %% %% Revision 1.3 1999/04/18 13:54:12 olafb %% hysyslib/ %% %% Revision 1.2 1999/04/16 08:38:16 olafb %% Added support for cell arrays of aciveX objects %% %% Revision 1.1 1999/04/07 12:00:29 olafb %% Initial revision %% if isa(CellObjects, 'cell') for n1 = 1:size(CellObjects,1) for n2 = 1:size(CellObjects,2) if isa(CellObjects{n1,n2}, 'activex') CellObjects{n1,n2}.CellValue = Value(n1,n2); end end end else CellObjects.CellValue = Value; end function SpreadsheetObject = hyspread(ApplicationObject, SpreadsheetNameString) % HYSPREAD Returns the activeX object for a spreadsheet in Hysys % hyspread(ApplicationObject, SpreadsheetNameString) % % Copyright (C) 1999 Olaf Trygve Berglihn <[email protected]> % Please read the files license.txt and lgpl.txt

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

101

%% $Id: hyspread.m,v 1.2 1999/04/20 08:52:53 olafb Exp $ %% ---------- %% Changelog: %% %% $Log: hyspread.m,v $ %% Revision 1.2 1999/04/20 08:52:53 olafb %% The library is now under LGPL license. %% %% Revision 1.1 1999/04/07 12:01:39 olafb %% Initial revision %% %% SpreadsheetObject = get ... (ApplicationObject.ActiveDocument.Flowsheet.Operations,... 'Item', SpreadsheetNameString); function CellValue = hyvalue(CellObject) % HYVALUE Returns the value of a Hysys spreadsheet cell. % hyvalue(CellObject) - CellObject can be a single object or a cell % array of objects. % % Copyright (C) 1999 Olaf Trygve Berglihn <[email protected]> % Please read the files license.txt and lgpl.txt %% $Id: hyvalue.m,v 1.5 1999/04/20 08:52:54 olafb Exp $ %% ---------- %% Changelog: %% %% $Log: hyvalue.m,v $ %% Revision 1.5 1999/04/20 08:52:54 olafb %% The library is now under LGPL license. %% %% Revision 1.4 1999/04/18 14:04:44 olafb %% Added support for cell matrises of activeX-objects. %% %% Revision 1.3 1999/04/18 13:54:12 olafb %% hysyslib/ %% %% Revision 1.2 1999/04/16 08:38:16 olafb %% Added support for cell arrays of aciveX objects %% %% Revision 1.1 1999/04/07 12:03:37 olafb %% Initial revision %% if isa(CellObject, 'cell')

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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) Función “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));

Función “condicion” que retorna la condición 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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

103

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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

104

Scripts para la conexión del inferenciador con la planta real

%M-FILE que crea objetos de conexión %------------------------------------------- %Donde es: %A1:temperatura plato 1 %A2:temperatura plato 18 %A3:composición real del cyclohexano %A4:composición real del tolueno %A5:composición real del n_heptano %A6:válvula tanque 3 %A7:válvula tanque 2 %A8:válvula tanque 1 %A9:tiempo %A10:setpoint de la relación de reflujo %para el spreadsheet "IN" %B1:inferencia del cyclohexano %B2:inferencia del n_heptano %B3:inferencia del tolueno %B4:trayectoria de setpoint de destilado %D1:parametro de la parte proporcional del PID %D2:parametro de la parte integral del PID %D3:parametro de la parte derivativa del PID %D4:flujo de destilado %---------------------------------------------- %Crea conexión con Hysys hy=hyconnect; %Crea conexión con spreadsheet spread=hyspread(hy,'INFER'); %Crea conexión con celdas del spreadsheet cells=hycell(spread,{'A1','A2','A3','A4','A5','A6','A7','A8','A9','A10'}); cells1=hycell(spread,{'B1','B2','B3','B4','D1','D2','D3','D4'}); celdas=hyvalue(cells);

%-------------------------------------------------------------------------------- %M-FILE QUE REALIZA LA INFERENCIA Y CONECTA EL INFERENCIADOR CON MATLAB %AL INFERENCIADOR SE LE PASAN LAS VERDADERAS COMPOSICIONES C/A 30 min. %-------------------------------------------------------------------------------- %Algoritmo----------------------------------------------------------------------- u1111=[RRo RRo RRo]; L=1; delta1=0; delta2=0; j=0; t=0;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

105

celdas=hyvalue(cells); celdas1=hyvalue(cells1); tiempo11=celdas(9); while t==0 %Leer valores de las celdas--------------------------------------------------- celdas=hyvalue(cells); %Definición de variables en Matlab-------------------------------------------- u1in=celdas(1); tiempo=celdas(9); %Control de paso de interacción----------------------------------------------- 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(j-1)+... 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;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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 conexión con Hysys del inferenciador, del PID y del control de válvulas 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;

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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); %Definición de variables en Matlab u1in=celdas(1); tiempo=celdas(9); %Control de paso de interacción 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)+...

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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(j-1)+... 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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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 conexión e implementación del inferenciador,del PID y del control de válvulas 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];

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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); %Definición de variables en Matlab u1in=celdas(1); tiempo=celdas(9); %Control de paso de interacción 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(j-1)+... 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)+...

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

111

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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

112

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

Desarrollo de un soft-sensor para estimar la evolución temporal de composiciones de sistemas discontinuos y su implementación en lazos de control óptimo.

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. Åström and Tore Hägglund , “PID controllers” (second edition, 1995). [5].- The Math Works Inc. , “Optimization Toolbox for use with Matlab” (user’s guide version 2, 1990-1999) [6].- The Math Works Inc. , “System Identification Toolbox for use with Matlab” (user’s guide,1988-1997)