COLUMNAS DE
DESTILACIÓN
Proyectistas
Manuel González Diosdado
Enrique Pérez Zanón
Especialidad
Química Industrial
Profesor ponente
Moisés Graells Sobre
2 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
RESUMEN
El proyecto que se describe a continuación trata sobre la aplicación de la tecnología
informática a procesos químicos, como los que se realizan en la planta piloto del
laboratorio de Ingeniería Química de la EUETIB.
El proceso químico escogido en este caso es la destilación con rectificación, ya que
en el laboratorio se dispone de columnas que lo realizan.
En una primera parte del proyecto se realiza el diseño de la columna virtual con la
que se simula el proceso real que se lleva a cabo en la planta piloto del laboratorio,
usando el software de simulación HYSYS.
Posteriormente se crean dos aplicaciones con el software de programación Delphi
que permiten acceder a los datos de la simulación, variarlos para crear un entorno
dinámico, y transmitirlos, utilizando el protocolo de comunicación TCP/IP, desde un
computador en contacto directo con la columna a cualquier otro computador con acceso
a Internet que monitorizará los datos procedentes de la columna simulada permitiendo al
usuario ver la evolución del sistema.
Finalmente se describe la posibilidad de adaptar el sistema de comunicación a la
columna real del laboratorio mediante dispositivos electrónicos.
3 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
RESUM
El projecte que es descriu a continuació tracta sobre l’aplicació de la tecnologia
informàtica a processos químics, com els que es realitzen a la planta pilot del laboratori
d’Enginyeria Química de l’EUETIB.
El procés químic triat en aquest cas es la destil·lació amb rectificació, degut a que
en el laboratori es disposa de columnes que el realitzen.
En una primera part del projecte es realitza el disseny de la columna virtual amb la
qual es simula el procés real que es porta a terme a la planta pilot del laboratori, fent
servir el software de simulación HYSYS.
Posteriorment es creen dues aplicacions amb el software de programació Delphi
que premeten accedir a les dades de la simulació, variarles per crear un entorn dinàmic,
y transmetre’ls, utilitzant el protocol de comunicació TCP/IP, des d’un computador en
contacte directe amb la columna fins a cualsevol altre computador amb accés a Internet
que monitoritzarà les dades procedents de la columna simulada permetent a l’usuari
veure l’evolució del sistema.
Finalment es descriu la posibilitat d’adaptar el sistema de comunicació a la columna
real del laboratori mitjançant dispositius electronics.
4 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
SUMMARY
The project that is described next deals with the application of the computer
technology to chemical processes, as those in the plant pilot of the laboratory of
Chemical Engineering of the EUETIB.
The chemical process selected for this study is the distillation with rectification,
since the laboratory has several columns of this type.
In the first part of the project a virtual column is designed by simulating the real
process carried out in the pilot plant of the laboratory. The HYSYS simulation software
is used for this purpose.
In the second part, two applications are developed to allow accessing and changing
the simulation data within a dynamic environment. A column directly linked to a server
computer is allowed to be monitored by any other client computer with access to
Internet. Therefore a remote user will be able to record the data coming from the
simulate column and allowed to see the system evolution. The Delphi software and the
communication protocol TCP/IP will be used for achieving this goal.
Finally the opportunities for adapting the communication system developed to a
real column monitored by means of electronic devices are analysed and described.
5 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
AGRADECIMIENTOS
En primer lugar queremos expresar nuestro más sincero agradecimiento a Moisés
Graells y a Gerard Escudero por la ayuda que nos han prestado durante toda la
realización del proyecto, ofreciéndonos sus conocimientos sobre el tema, su experiencia
y su tiempo.
Queremos dar las gracias también a Javier Castel, Iris Bargalló, David Alemany,
Anna Subirana, Carles Soldevila, Beatriz Corzo, Beatriz Gallego, Rubén Fernández,
Esther De Miguel, Lidia Hernández y Javier Vizcaya, compañeros de la universidad,
por habernos dado su apoyo y por bajar al laboratorio a visitarnos cuando han podido.
6 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
ÍNDICE
1. INTRODUCCIÓN ............................................................................................................................9
1.1. ANTECEDENTES..................................................................................................................11
1.1.1. INTRODUCCIÓN...............................................................................................................11
1.2. MÉTODOS DE CÁLCULO PARA EL DISEÑO DE COLUMNAS ......................................15
1.3. ESQUEMA GENERAL DE UNA COLUMNA DE DESTILACIÓN.....................................15
1.4. DESCRIPCIÓN DE LAS COLUMNAS .................................................................................16
1.4.1. Columna de rectificación (10 platos) .................................................................................16
1.4.2. Columna de rectificación (anillos Dixon) ..........................................................................18
1.4.3. Columa de rectificación (anillos Raschig) .........................................................................19
1.4.4. Columna modelada por ordenador ....................................................................................21
1.5. CONTROL DE VARIABLES.................................................................................................22
1.5.1. Variables del sistema..........................................................................................................22
1.5.1.1. Variables de medición............................................................................................................. 24
1.5.1.2. Variables de actuación ............................................................................................................ 26
2. OBJETIVOS....................................................................................................................................27
3. INTRODUCCIÓN A LOS SIMULADORES ...............................................................................29
3.1. LOS SIMULADORES EN LA INDUSTRIA..........................................................................29
3.2. PROGRAMAS DE SIMULACIÓN ........................................................................................29
4. DESCRIPCIÓN Y CARACTERÍSTICAS DE HYSYS ..............................................................31
4.1. ÁMBITO DE APLICACIÓN ..................................................................................................31
4.2. CARACTERÍSTICAS GENERALES.....................................................................................31
4.3. TIPOS DE SIMULACIÓN CON HYSYS...............................................................................31
4.4. HYSYS EXTENSIBILITY .....................................................................................................32
5. SIMULACIÓN DE COLUMNAS DE DESTILACIÓN ..............................................................33
5.1. INTRODUCCIÓN A LA SIMULACIÓN CON HYSYS ........................................................33
5.2. COLUMNA DE DESTILACIÓN-RECTIFICACIÓN ............................................................33
5.2.1. Parámetros iniciales...........................................................................................................33
5.2.2. Diseño de la columna .........................................................................................................35
5.2.3. Creación de la columna......................................................................................................40
5.2.4. Adaptación de la columna real a la simulación .................................................................44
6. COMUNICACIÓN .........................................................................................................................46
6.1. INTRODUCCIÓN...................................................................................................................46
6.2. LENGUAJES DE PROGRAMACIÓN ...................................................................................48
6.2.1. Lenguajes imperativos........................................................................................................48
6.2.2. Lenguajes funcionales ........................................................................................................49
6.2.3. Lenguajes lógicos ...............................................................................................................49
6.2.4. Lenguajes concurrentes, paralelos y distribuidos ..............................................................50
6.2.5. Lenguajes orientados a objetos ..........................................................................................51
6.3. CRITERIOS DE SELECCIÓN................................................................................................53
6.4. INTRODUCCIÓN A DELPHI 7 .............................................................................................55
6.4.1. Ventana principal ...............................................................................................................55
6.4.2. Ventana de programa (Form).............................................................................................56
6.4.3. Inspector de objetos (Object Inspector)..............................................................................57
6.4.4. Editor de código fuente (Unit)............................................................................................58
7 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
8 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
1. INTRODUCCIÓN
Hoy en día las principales industrias químicas hacen operar a gran escala todo tipo
de instrumentación para llevar a cabo procesos químicos como destilaciones,
absorciones, intercambios iónicos, extracciones, etc. Pero gracias al avance tecnológico
estas plantas, y cada vez con más frecuencia, son controladas remotamente desde
computadores, mucho más potentes que los que normalmente se usan a nivel de usuario,
que permiten que los ingenieros que llevan a cabo las operaciones se introduzcan dentro
del entorno del proceso.
El entorno del proceso es algo que el ingeniero debe conocer para poder tener una
visión lo más detallada posible de lo que se lleva a cabo. Esto es difícil de realizar ante
las dimensiones que suele presentar la instrumentación de los procesos industriales,
como son tanques con grandes volúmenes o columnas con grandes longitudes. Esta
tarea se puede facilitar si trasladamos la realidad de los procesos industriales, con todo
su instrumental, a un monitor que refleje todos los detalles del mismo, de manera que
se pueda controlar cualquier parte del proceso operando desde el computador.
La monitorización de procesos industriales permite crear este entorno idóneo para
obtener el máximo rendimiento y fiabilidad del proceso. La monitorización tiene su
fundamento en convertir las señales físicas que proceden del instrumental del proceso,
como puedan ser temperaturas, presiones, caudales, composiciones, conductividades,
etc. y convirtiéndolas en señales electrónicas capaces de ser leídas por un computador.
El paso de la señal física a la señal electrónica es tarea de instrumentos con capacidad
de hacer esta conversión, como sensores de temperatura, medidores de caudal,
conductímetros, etc.
Pero no solo la monitorización facilita la tarea de los ingenieros, sino que otros
métodos de trabajo como son las simulaciones de procesos permiten facilitar más si
cabe esta tarea. La simulación de un proceso consiste básicamente en reproducir de
manera virtual la realidad de un proceso o aproximarse lo máximo posible a esta
realidad. El principal objetivo de una simulación es obtener la mayor cantidad de
información posible sobre el proceso para disminuir en la medida que se pueda los
errores que se deriven del mismo, así como hacer una previsión del rendimiento del
proceso y conocer su rentabilidad, tanto material o energética como económica.
Tanto la simulación de procesos como la monitorización de los mismos es sin duda
una ventaja para los ingenieros; además esta ventaja irá aumentando conforme avance la
tecnología que permita realizar este tipo de tareas como son computadores más potentes
y como consecuencia de ello simuladores más eficientes.
9 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
10 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
1.1. ANTECEDENTES
Se ha introducido en este apartado parte de la memoria del anteproyecto iniciado
anteriormente, con el objetivo de no volver a repetir conceptos que se van usando a lo
largo de todo el documento.
1.1.1. INTRODUCCIÓN
La destilación es una operación unitaria que básicamente consiste en la separación
o fraccionamiento de los componentes de una mezcla, en función de sus temperaturas de
ebullición y aprovechando las diferentes volatilidades de dichos componentes.
En el proceso de destilación tienen lugar fenómenos de transferencia de materia
mediante el contacto entre la fase liquida y la fase vapor, de manera que en el vapor se
concentran los componentes más volátiles y en el líquido los menos volátiles.
Existen varios tipos de destilación dependiendo de cómo se lleve a cabo la
operación. De esta manera podemos distinguir entre los siguientes.
Destilación simple
Consiste en la vaporización parcial del líquido con producción de una cantidad de
vapor más rica en componente volátil que el líquido inicial y un residuo más
concentrado en los componentes menos volátiles. Hay dos tipos, la flash (o cerrada) y la
abierta (o diferencial).
11 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Rectificación
Este tipo de destilación se diferencia del resto en que por el interior de la columna
de rectificación se hace circular en contracorriente con el vapor ascendente una fracción
de este que ha sido condensada en la parte superior de al columna, esto permite el
contacto entre ambos con la intención de que este vapor y el líquido descendente
circulen en equilibrio.
En la parte inferior de la columna existe un calderín donde se hace hervir
continuamente la mezcla con los componentes a separar, aportando vapor ascendente a
la columna. En la parte superior de la columna encontramos un condensador que es el
que suministra el líquido descendente también llamado reflujo; el funcionamiento
correcto del condensador es imprescindible para que haya rectificación.
Existen dos tipos de columnas de rectificación, la de platos y la de relleno. La
primera es una cámara cilíndrica vertical subdividida a intervalos regulares por platos.
En cada uno de estos platos se pone el contacto el líquido con el vapor y se les obliga a
seguir caminos distintos, uno ascendente y el otro descendente. Los platos teóricos o
platos de equilibrio son una variable esencial en el diseño de columnas de rectificación,
ya que los platos teóricos, como se ha dicho en la introducción, son los que
determinaran el tiempo de contacto entre el líquido evaporado y el vapor generado,
cuantos más platos tenga la columna mejor rendimiento y eficacia se sacara de ella y
más “puro” será el vapor obtenido en la parte superior de la columna.
La rectificación en columnas de relleno es igual que la anterior pero en este caso se
substituye la columna de platos por una torre vertical rellena de un material de forma
apropiada para el buen contacto entre el líquido y el vapor. Este material puede tener
diversas formas, de anillo, de silla de montar, etc. y puede ser diversos materiales como
porcelana, vidrio, carbón o metal. Este relleno ejerce una función equivalente a la de los
platos pero no igual, ya que en la columna de platos la variación de la concentración es
discontinua, varia al pasar de plato a plato, y en la torre de relleno lo hace de forma
continua a lo largo de la columna. Las principales ventajas de la columna de relleno son
su sencillez constructiva y la pequeña perdida de presión a su través.
En toda columna de destilación existen dos zonas claramente diferenciadas:
12 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Reflujo mínimo
Bajo estas condiciones no vuelve suficiente líquido a la columna como para
enriquecer el vapor que sube por la misma respecto a los componentes más ligeros, de
esta manera entre un piso y otro no existe ninguna transferencia de materia, ya que las
corrientes que se cruzan están en equilibrio y así permanecerán. Haría falta un número
infinito de platos para que en cada uno de ellos hubiera un cambio infinitesimal de las
composiciones, proceso que se considera como ideal.
Reflujo total
En este caso todo el vapor obtenido en la parte superior de la columna seria
devuelto como condensado, de manera que no se obtendría ningún producto.
Trabajando a reflujo total la posición de la entrada del caudal de alimentación no influye
en los posteriores cálculos.
Reflujo óptimo
Si la relación L/V (entendiéndola como la relación entre el caudal de líquido que
desciende por la columna y el caudal de vapor ascendente) aumenta, disminuye el
número de platos de la columna, con lo que también se reduce la altura de esta pero su
diámetro aumenta. En este caso, para obtener un mismo caudal de destilado, aumenta el
consumo de calor y con ello se encarece el proceso, aumenta el coste de
funcionamiento.
13 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
14 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
BIDÓN DE
REFLUJO
ZONA DE REFLUJO
ENRIQUECIMIENTO
DESTILADO
ALIMENTACIÓN
ZONA DE
AGOTAMIENTO SUMINISTRO
DE CALOR
CALEFACTOR
RESIDUO PERDIDA DE
CALOR
Figura 1.3
15 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
H2O
10
H2O
11 1, 2. Tubulares laterales para la
8 instalación de termómetros (cuarto y
3 noveno plato)
1
3, 4. Llaves para toma de muestras
(quinto y décimo plato)
4 5. Calderin
2
6. Manta calefactora
8. Cabezal
9. Refrigerante Dimroth
6
7
Figura 1.4
16 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
También posee dos tubulares laterales para la instalación de termómetros en los platos
cuarto y noveno, para controlar la temperatura del proceso.
Se puede considerar que el circuito de refrigeración es una parte del montaje de la
columna, ya que la condensación del vapor que se produce en él es imprescindible para
el desarrollo de la destilación. Lo mismo ocurre con la manta calefactora y el regulador
de potencia manual al que esta acoplado.
17 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
5 4
12
Matraz 3 bocas de 2 litros con llave Rotaflo
3 6 Columna 25 mm. Diámetro interno y 1 m. de altura
con doble pared cerrada al vacio.
8 Cabeza de columna automática Quickfit.
Temporizador.
9 Solenoide.
Refrigerante Liebig-West 25 cm.
2 Reductor rotula.
Colector-Separador Bertrand .
Matraz de fondo redondo de 100 mL.
Regulador de potencia 6 Amperios.
Manta calefactora con orificio y trípode para matraz de
12 2 litros.
Termómetros.
7 1
11 10
Figura 1.5
18 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 1.6
19 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
20 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 1.7
21 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Temperatura en el calderín.
Es necesario un control de la temperatura para conseguir una situación lo más
parecida posible al equilibrio, ya que un exceso en la potencia suministrada en el
calderín puede provocar un aumento de temperatura muy rápido habiendo menos
tiempo de contacto entre el vapor y liquido, lo que implica un condensado en la parte
superior de la columna con una baja pureza haciendo disminuir la eficacia de la
columna.
Relación de reflujo.
Controlar esta variable es importante para conseguir un caudal del reflujo óptimo
que permita obtener una máxima pureza en el destilado con el mínimo gasto posible.
22 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Composición de la mezcla.
Es necesario saber y poder controlar las concentraciones de los componentes al
principio y al final del proceso para determinar el grado de pureza del destilado y del
residuo.
Nivel en el calderín.
Es importante conocer el nivel de mezcla en el calderín para poder determinar la
cantidad de calor apropiada en cada momento del proceso, porque para el buen
funcionamiento de la manta calefactora sus resistencias tienen que estar por debajo del
nivel del líquido a destilar.
Las variables del sistema se pueden dividir en dos grupos, las variables a medir y
sus correspondientes variables de actuación.
23 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
1.5.1.1.Variables de medición
De este tipo de variable nos interesa conocer su valor en cada momento del proceso
para verificar el buen funcionamiento de la columna y asegurarnos de que se cumplen
los objetivos preestablecidos, como puede ser llegar a un grado de pureza del destilado
determinado.
De las diferentes variables del sistema, se considera que la temperatura, el caudal,
la presión, la composición y el nivel de líquido en el calderín son las que mejor definen
el sistema y es importante conocer sus variaciones para poder actuar en consecuencia.
Para la medición de este tipo de variables es posible encontrar una gran variedad de
instrumentos, como termómetros, rotámetros, manómetros, conductímetros o medidores
de nivel; pero para la realización de este estudio son apropiados instrumentos capaces
de transmitir la señal proporcionada por la columna a un dispositivo electrónico que nos
permita su clara visualización, este tipo de instrumentos se denominan sensores. Los
sensores son instrumentos que trasforman una variable física dada, dentro de uno de los
cinco campos de señales más comunes (radiante, química, magnética, térmica o
mecánica), en una variable eléctrica restringida normalmente a variaciones de corriente
o de tensión.
Para cada tipo de variable a medir es necesario un tipo diferente de sensor:
Sensor de temperatura.
Existen diferentes tipos de sensores de temperatura como termopares,
termorresistencias o termocuplas. En el estudio de una columna de rectificación se
considera apropiado el uso de termopares, que son unos sensores formados por alambres
de diferentes materiales, unidos por soldadura en uno de sus extremos y conectados a un
amperímetro por el otro. Su funcionamiento está basado en la formación de una
corriente eléctrica producida por el calor en la unión, que provoca una diferencia de
potencial en función de la variación de temperatura.
Sensor de caudal.
Existen diferentes tipos de sensores de caudal como rotámetros, sensores de caudal
por turbina o sensores de caudal de goteo. En función del tipo de caudal del destilado se
escogerá un sensor u otro; en caso de un caudal continuo se considera apropiado el uso
de sensores de caudal por turbina, que se basa en la proporcionalidad de la velocidad del
líquido con una serie de pulsos que se producen a la salida de la turbina. En el caso de
un caudal discontinuo y por goteo se considera apropiado el uso de un sensor de
infrarrojos basado en la medición del número de gotas de volumen conocido en un
determinado espacio de tiempo.
24 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Sensor de presión.
Para la medición de la presión se pueden utilizar diferentes manómetros, como los
manómetros de líquidos, los de pistón, elásticos o los sensores eléctricos. Los más
indicados para este estudio son estos últimos, ya que ofrecen diversas ventajas como la
posibilidad de ser fabricados en pequeños tamaños, tener una mayor exactitud en las
medidas (±0.05% del fondo de escala) o la gran sensibilidad de que disponen al ser solo
necesarias unas micras de deformación para obtener una medida.
Sensor de nivel.
Existen varios tipos de medidores de nivel; medidores de nivel por boya, por
presión hidrostática, por electrodos capacitivos o por ultrasonidos. Cualquiera de los
anteriores podría dar una medición de nivel fiable, pero el sensor de nivel por
ultrasonido es aconsejable para este estudio ya que facilita una señal eléctrica de fácil
monitorización. Este sensor esta basado en el envío de un pulso de alta frecuencia que
golpea la superficie del producto y se refleja como un eco retornando al sensor donde un
microprocesador controla y evalúa la señal recibida.
25 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
1.5.1.2.Variables de actuación
La función de las variables de actuación, como su propio nombre indica, es la de
actuar sobre el sistema, es decir, responder de forma adecuada frente a las señales
enviadas por este, las cuales se han definido anteriormente como variables de medición.
Cada variable de medición debe ser controlada y corregida, en caso de ser
necesario, por una variable de actuación. Las señales de respuesta para realizar esta
corrección son enviadas a la columna mediante unos dispositivos denominados
actuadores. Para este proceso en concreto cualquier desviación de una variable de
medida puede ser corregida actuando sobre el caudal de reflujo, la potencia de la manta
calefactora o sobre el caudal de refrigeración.
Los dispositivos de actuación utilizados para el control del sistema son:
Reguladores de potencia.
Los reguladores de potencia son los dispositivos de actuación basados en la
variación de la potencia que llega a la manta calefactora, haciendo que esta suministre
más o menos calor al calderín, para actuar como respuesta a las variaciones de
temperatura y caudal sufridas en el interior de la columna de rectificación. Los
reguladores de potencia más adecuados para el proceso son los electrónicos, ya que la
respuesta proporcionada por estos es de fácil manejo y son susceptibles de ser
controladas por ordenador.
Regulador de reflujo.
Este tipo de dispositivo de actuación es necesario para dar respuesta a la señal
proporcionada por la variación de la concentración del destilado, por ejemplo en el caso
de no conseguir la pureza requerida, de esta manera, variando la relación de reflujo
(L/D) se consigue mejorar la eficacia de la columna.
Este dispositivo, variando la posición de un electroimán, situado en la parte
superior de la columna, debe regular el tiempo de apertura de la válvula de salida del
destilado, haciendo descender por la columna más o menos caudal de reflujo.
El regulador de reflujo adecuado para esta función es un temporizador que emita
una señal durante un cierto tiempo y a intervalos regulares de este con el fin de
mantener abierta o cerrada la válvula de salida de destilado.
26 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
2. OBJETIVOS
Tanto para el proceso de monitorización e instrumentación de procesos químicos,
como para la simulación informática de los procesos y las operaciones que los
constituyen hay que tener muy presentes los objetivos que se persiguen para poder
compararlos al final con los resultados obtenidos.
Los principales objetivos que se persiguen con la realización de este proyecto son:
• Estudiar las posibilidades de instrumentación de los procesos y las
operaciones, especialmente las columnas de rectificación, de la planta piloto
del laboratorio de Ingeniería de la EUETIB.
• Diseñar una arquitectura de comunicación de los distintos módulos que
deben intervenir en la generación, adquisición, transmisión y monitorización
de los datos.
• Crear una simulación de un proceso de destilación con rectificación, que se
escogerá como ejemplo de operación unitaria.
• Establecer una comunicación entre computadores remotos para el envío de
los datos del proceso de destilación.
• Monitorizar los datos recibidos de la simulación para poder analizarlos.
El primer punto a tener en cuenta es la simulación del proceso de destilación y la
modelación de la columna correspondiente. El objetivo principal de este primer punto es
obtener un modelo informático de una columna de destilación suficientemente general
como para predecir el comportamiento de las distintas columnas de las que dispone el
laboratorio. Este modelo informático debe ser capaz de suministrar datos simulados al
sistema de monitorización de la misma manera y a través de los mismos canales que lo
harían los instrumentos de medida.
Hay que tener en cuenta que la simulación del proceso constará de dos partes. La
primera consistirá en simular una columna de destilación con rectificación capaz de
separar de la mejor manera posible los componentes de la mezcla etanol-agua, que se
escogerá como ejemplo y que a su vez se asemeje lo máximo posible a la columna que
tiene el departamento de química de la universidad.
La segunda parte del proceso de simulación consistirá en crear un entorno dinámico
para la columna modelada, es decir, hacer que la columna opere en un estado no
estacionario, de manera que algunas de sus variables puedan evolucionar a lo largo del
tiempo haciendo que el proceso se anime y se pueda ver como varían composiciones o
temperaturas en la salida de la columna al variar caudales y temperaturas en la entrada
de la misma. Para ello se desarrollará una aplicación informática capaz de acceder a los
datos del simulador y variarlos a intervalos de tiempo conocidos para poder conocer
como evoluciona el proceso cuando se modifican sus condiciones.
27 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
COMINICACIÓN
MONITORIZACIÓN
SIMULACIÓN
Figura 2.1
28 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
29 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
30 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
4. DESCRIPCIÓN Y CARACTERÍSTICAS DE
HYSYS
31 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
32 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
5. SIMULACIÓN DE COLUMNAS DE
DESTILACIÓN
33 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.1
Figura 5.2
34 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.3
Para el diseño de la columna se empieza por utilizar el Short-Cut (figura 5.4), que
es un elemento que sirve para predecir las características de una columna de destilación,
definiendo la mezcla problema que será tratada, las condiciones de trabajo de la
columna, así como la separación que se quiere alcanzar. Para todo esto el primer paso es
entrar en la ventana que define sus características.
35 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.4
Figura 5.5
36 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.6
Figura 5.7
37 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.8
En esta curva de equilibrio de vapor y líquido, muestra la
fracción molar del etanol en la mezcla, en la fase líquida (x-Etanol) y en la fase vapor
(y-Ethanol). En el caso de no ser un azeótropo, esta curva sería de la forma llamada
“Lenteja Perfecta”, siendo simétrica si se doblase la recta de referencia (línea en rojo)
por una recta tangente a su centro. Gráficamente se puede ver como al aumentar la
concentración de etanol en el líquido, no lo hace de la misma forma en el vapor,
acercándose a la recta de referencia al 80% de etanol en el líquido.
Una vez introducidos todos estos datos HYSYS resuelve el sistema y define las
características, como el número de platos o el reflujo óptimo de la columna que se va a
diseñar posteriormente, y las características que reunirán las corrientes de salida (figuras
5.9 y 5.10).
Figura 5.9
38 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.10
39 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.11
40 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.12
Una vez realizados los pasos que HYSYS exige para la creación de la columna,
podemos comprobar que esta funcione como se desea, es decir, verificar que la
separación de los componentes de la mezcla se ha hecho hasta el porcentaje requerido,
lo cual se puede comprobar en las graficas de composición (figura 5.13) que el
programa facilita en el apartado “Performance” con la herramienta “Plots”, dentro de la
misma columna.
Figura 5.13
41 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.14
Figura 5.15
42 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
En este caso se puede ver que la corriente de destilado tiente una composición
volumétrica de un 92,1% en etanol, que es bastante alta, aunque se podría mejorar
llegando como máximo al 96%, con alguna mejora en el diseño, que rebajara la salida
de etanol por el residuo, y aumentase su porcentaje por el destilado, por ejemplo,
aumentar el flujo de destilado, la relación de reflujo o el número de platos. Gracias al
potente software del programa se resuelven todos los cálculos en la creación de la
columna y en sus posteriores modificaciones, y en el caso de introducir valores
erróneos o sin solución, el sistema avisa de las incongruencias para guiar al usuario en
la posterior solución.
Para analizar todos los datos con más detalle, existen pantallas en las que muestra el
comportamiento de cada plato mostrando presiones, temperaturas, flujos, eficiencias,
etc (ver figura 5.16).
Figura 5.16
43 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 5.17
Como último apunte a tener en cuenta, se puede ver como HYSYS muestra un
cuadro en la parte inferior de sus ventanas, el cual marca en color verde en caso de
conseguir solucionar el sistema, es decir que este converge, y en amarillo o rojo si existe
algún error en los datos introducidos, o falta alguno de ellos. Esto facilita el trabajo al
usuario, ya que su misión consiste en hacer que la columna, las corrientes, o cualquier
otro elemento, sea convergente.
44 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Otra característica que diferencia las dos columnas es que en la columna real solo
se puede alimentar por el calderín, mientras que la virtual acepta ser alimentada por
cualquiera de los platos que la componen, lo cual, suele mejorar el rendimiento de la
columna y en el momento de diseñarla, el Short-Cut acostumbra a indicar un plato
intermedio como mejor punto para la entrada de la mezcla.
45 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6. COMUNICACIÓN
6.1. INTRODUCCIÓN
El objetivo de toda comunicación es transmitir información desde un punto
denominado emisor hasta otro punto denominado receptor. La forma de transmisión, la
cantidad de información transmitida, la calidad de la información transmitida o la
velocidad a la que será transmitida ésta información no deben suponer un impedimento
para el objetivo principal de una comunicación, a pesar de que tanto la forma, cantidad,
calidad y velocidad de la transmisión son premisas a tener en cuenta a la hora de
establecer una comunicación.
De todos los tipos de comunicación que pueden llevarse a cabo a día de hoy una de
las que ofrece más posibilidades es la comunicación mediante unidades procesadoras, es
decir, comunicación informática, donde lo que se transmite del emisor al receptor son
series de códigos numéricos ordenados específicamente de manera que sean fáciles de
ejecutar y de transmitir por parte del emisor y a su vez fáciles de interpretar por el
receptor.
Esta comunicación no se restringe únicamente a transmisión de datos ente unidades
remotas, sino que ésta abarca también comunicaciones establecidas dentro de una única
unidad procesadora, ya sea comunicación entre dos partes físicas de dicha unidad
(comunicación de hardware) o comunicación entre dos partes virtuales procesadas por
la misma unidad (comunicación de software).
Para establecer éste último tipo de comunicación (de software) además de necesitar
una vía de transmisión de información como son los procesadores se necesita algo
mucho más importante y que sin ello cualquier tipo de comunicación basada en la
informática no resultaría, el factor humano. Como factor humano se entiende la
interacción entre la maquina y el hombre (o como se denomina en términos ingleses
HCI “Human Computer Interaction”). Ésta interacción entre el hombre y la maquina
permite facilitar la manera en que el usuario se comunica con la maquina y viceversa, de
manera que se establezca una relación hombre-maquina lo suficientemente buena como
para que el hombre sea capaz de transmitir sus deseos a la máquina y la máquina sepa
interpretar estos deseos y actúe en consecuencia para satisfacer las necesidades del
usuario.
Para aclarar este concepto de interacción entre el hombre y la maquina nada más
sencillo que un ejemplo en el que se realiza un cálculo matemático en una calculadora.
“El usuario desea realizar una suma aritmética de dos números enteros, desea realizar la
operación 1 + 1; para ello el usuario introduce dicha secuencia, interactuando con las
teclas de la maquina.
46 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Una vez introducidos los valores la maquina, que en ningún momento ejerce como
ente inteligente sino que funciona a base de órdenes, ejecuta la orden de sumar el primer
número tecleado y el segundo, mostrando por pantalla el resultado, satisfaciendo de esta
manera los deseos del usuario.”
Éste ejemplo aunque parezca muy simple refleja lo que la interacción hombre-
máquina requiere para su óptimo comportamiento. De esta manera mejor será la
maquina o el programa con el que el usuario interactúa cuanto mejor se cumplan las
expectativas de lo que el usuario desea.
Como podrá verse más adelante una de las partes importantes de este proyecto es la
creación de un interfaz de usuario para la comunicación tanto entre dos programas como
entre dos máquinas, y se podrá comprobar como la interacción entre el hombre y la
máquina juega un papel muy importante a la hora de diseñar estos interfaces.
47 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
48 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
49 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
50 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
51 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
52 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
53 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
54 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
c
d
e
f g
55 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
56 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
57 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Además de estas propiedades y eventos que son las que se muestran en la ventana,
cada objeto tiene propiedades características de la clase de objeto que es y propiedades
características de la jerarquía de objetos a la que pertenece.
Al combinar las propiedades de los componentes y los eventos ante los que actúan
se pueden recrear todo tipo de situaciones que permitan mostrar las intenciones que el
programador quiere transmitir.
• Unit: hace referencia a la Unit o ventana de código fuente que se usará para
redactar la secuencia de instrucciones.
• Uses: hace referencia a los módulos que se usaran para crear la aplicación.
Estos módulos puede ser diferentes dependiendo del tipo de aplicación que
se desee crear, incluso Delphi ofrece la posibilidad de crear módulos
propios y usarlos cuando sea conveniente.
• Type: hace referencia a los tipos o clases que se usaran en la aplicación. En
este punto se listará también el código perteneciente a cada uno de los
objetos que se usan en el Form, así como los procedimientos que estos
objetos ejecutaran.
• Var: hace referencia a las variables que se usaran en la aplicación. Se indica
tanto el nombre que recibe la variable como el tipo de variable que es.
• Implementation: a partir de aquí y hasta el final (end) del código se listarán,
entre otras cosas procedimientos, eventos, bucles, instrucciones, etc. que se
ejecutaran con la aplicación.
58 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
59 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.5.1.1.Acceso a HYSYS
60 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Para reflejar la potencia y garantía de los objetos OLE basta con analizar un
pequeño ejemplo que permite acceder, leer y variar la temperatura del flujo de entrada
de la columna.
6.5.1.2.Lectura de HYSYS
Con esta secuencia de instrucciones se accede al valor de la temperatura del flujo de
entrada de la columna y se captura para poder ser leída posteriormente desde una hoja
de calculo de Excel:
6.5.1.3.Escritura en Excel
Con la siguiente secuencia de instrucciones el valor de la temperatura al que se
accedió en el paso anterior es reflejado en una de las celdas de la hoja de cálculo de
Excel:
61 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Set hoja=sheets(1)
La variable hoja toma el valor de la primera hoja del Workbook de Excel.
hoja.Range(“C14”).Value=temperature1
El valor de la variable temperature1, que es el valor al que se accedió
anteriormente, es asignado al valor de la celda C14 de la hoja de cálculo creada
(hoja).
6.5.1.4.Escritura en HYSYS
Con el siguiente código introducido en el módulo de Visual Basic el valor de la
temperatura del flujo de entrada de la columna de destilación variara dependiendo del
valor que se le quiera dar desde una hoja de cálculo de Excel:
62 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.5.2.1.Acceso a HYSYS
La manera de Delphi de poder acceder a HYSYS es muy similar a como se hacia en
Visual Basic, básicamente es:
var
hyapp: Variant;
Se declara la variable hyapp y se le asigna el tipo de variable Variant que abarca
cualquier tipo de variable.
implementation
hyapp:=CreateOLEObject(‘hysys.application’);
Se le declara un objeto OLE del tipo hysys.application y se le asigna a la variable
hyapp.
63 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
hyapp.SimulationCases.Open(‘C:\hysys|cases|distillation.hsc’);
Abre la aplicación SimulationCase de HYSYS ubicada en la dirección especificada
desde el objeto OLE creado con la variable hyapp.
hyapp.SimulationCases[0].Activate;
Activa la aplicación SimulationCase de HYSYS.
6.5.2.2.Lectura de HYSYS
var
hyapp: Variant;
temperatura: Double;
Se declaran las variables hyapp y temperatura y se les asignan los tipos de variables
Variant y real, respectivamente.
implementation
temperatura:=hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[0].
TemperatureValue;
Se asigna a la variable temperatura el valor de la temperatura (TemperaturaValue)
de la primera corriente (Item[0]) de la lista de corrientes (MaterialStreams) de la
hoja de flujos (flowsheet) del primer caso de simulación (Simulationcases[0]) de la
variable hyapp.
6.5.2.3.Escritura en Delphi
Una vez se ha leído el valor de la temperatura (TemperatureValue) de entrada de la
columna y se le ha asignado a la variable de Delphi (temperatura) esta puede ser
reflejada en Delphi desde una etiqueta (Label), desde un cuadro de texto (Edit) o desde
un visualizador digital (Display)
A continuación se muestra la manera de reflejar ese valor en un Diplay en Delphi:
type
TForm1 = class(TForm )
Display1: TDisplay;
Se añade al Form, desde la paleta de componentes, el componente Display del tipo
TDisplay. En el momento en que se arrastra el componente hasta el Form
automáticamente se crea el código del Display en el editor de código fuente.
Display1.Valor:=floattostr(hyapp.SimulationCases[0].Flowsheet.
MaterialStreams.Item[0].TemperatureValue)
A la propiedad Valor del Display1 se le asigna el valor de la temperatura
(TemperaturaValue) de la primera corriente (Item[0]) de la lista de corrientes
(MaterialStreams) de la hoja de flujos (flowsheet) del primer caso de simulación
(Simulationcases[0]) de la variable hyapp. El trozo de sentencia floattostr hace
referencia a una transformación del tipo de variables; el valor de la temperatura
TemperatureValue es una variable del tipo real, en cambio la propiedad Valor del
Display1 es del tipo String, que son caracteres. Por esto para que pueda verse
reflejada la temperatura en el Display es necesario reordenar el tipo de variable y
comunicarle a Delphi este cambio para que no haya incongruencias en el código.
64 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.5.2.4.Escritura en HYSYS
Para variar desde Delphi los parámetros de HYSYS se utiliza un código muy
similar al que se utilizaba para variarlas desde Visual Basic. El siguiente código
cambiará la temperatura de HYSYS haciendo que esta aumente un grado centígrado:
var
hyapp: Variant;
temperatura: Double;
Se declaran las variables hyapp y temperatura y se les asignan los tipos de variables
Variant y real, respectivamente.
implementation
temperatura:=hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[0].
TemperatureValue;
Se asigna a la variable temperatura el valor de la temperatura (TemperaturaValue)
de la primera corriente (Item[0]) de la lista de corrientes (MaterialStreams) de la
hoja de flujos (flowsheet) del primer caso de simulación (Simulationcases[0]) de la
variable hyapp, de la misma manera que se hacia en el paso de lectura de HYSYS,
de esta manera podremos sumarle un grado a la temperatura que había inicialmente.
hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[0].
TemperatureValue:=temperatura+1;
Al valor de la temperatura (TemperatureValue) de la primera corriente (Item[0]) de
la lista de corrientes (MaterialStreams) de l ahoja de flujos (Flowsheet) del primer
caso de simulación (SimulationCases[0]) de la variable hyapp se le asigna el valor
que tenia anteriormente (temperatura) más una unidad (1).
Partiendo de estas ideas como base se pueden hacer todo tipo de cambios, lecturas,
envíos de datos que sean necesarios. Posteriormente se verá como se han utilizado estos
códigos base para crear tanto la simulación dinámica de la columna de destilación como
la manera de acceder, enviar y recibir estos datos desde la aplicación “servidor” hasta la
aplicación “cliente”
65 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
66 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
DATO Router
D A T O
Origen TCP
A
DATO D
O T
Router
Destino TCP
Figura 6.3
67 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 6.4
Figura 6.5
68 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.6.2.1.Indy Client
El código del Cliente creado con los componentes de Indy Clients permitirá al
Cliente desde cualquier computador conectarse con el servidor para que éste pueda
enviar la información necesaria. Para crear este vínculo entre Cliente y Servidor serán
necesarios los siguientes componentes, que se situarán en el Form de la manera más
adecuada (ver figura):
f g c
d e
Figura 6.6
69 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Definición de clases
TRecvThread=class(TThread)
private
Msg:string;
procedure ReceivedLine;
protected
procedure execute; override;
end;
var
RecevThread: TRecvThread;
Define el tipo TRecvThread como un objeto de la clase Thread, clase que hace
referencia a la comunicación mediante “hilos” de ejecución (programación
concurrente), y que adquiere todas las propiedades de esta clase de objeto y de sus
antecesores. Define también una variable Msg del tipo String, lo que significa que
el mensaje recibido serán caracteres y define dos procedimientos que se usaran para
la comunicación con el servidor; ReceiveLine, que es un procedimiento de recibo de
datos y Execute que hace referencia a la ejecución de una serie de comandos.
Finalmente define una variable RecvThread del tipo creado anteriormente
TRecvThread.
with IdTCPClient1 do
begin
Host:=edtHost.Text;
Port:=strtoint(edtPort.text);
Connect;
end;
70 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Ejecutando datos
var
temperatura: Double;
procedure TRecvThread.execute;
begin
while not terminated do begin
try
temperatura:=strtofloat(form1.IdTCPClient1.readln);
synchronize(ReceivedLine);
except
terminate;
end;
end;
end;
Recibiendo datos
procedure TrecvThread.ReceivedLine;
begin
if copy(Msg,1,4) = '-Err' then
MessageDlg(Copy(Msg,5,length(Msg)),mtError,[mbok],0)
else
form1.Display1.Valor:=floattostr(temperatura);
end;
71 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
RecvThread.terminated;
IdTCPClient1.Disconnect;
Finalmente se le dice a la aplicación que termine el procedimiento de recepción de
datos (RecvThread.terminated) y que se desconecte del Servidor
(IdTCPClient1.Disconnect).
72 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.6.2.2.Indy Server
El código del Servidor creado con los componentes de Indy Servers permitirá
disponer de un servidor capaz de enviar la información solicitada por uno o varios
clientes al conectarse mediante la dirección IP y el puerto.
Para crear el vinculo entre el Servidor y el Cliente, en este caso, únicamente hará
falta un componente IdTCPServer c, que proporcionará las órdenes, propiedades y
procedimientos necesarios para la comunicación Servidor-Cliente.
Figura 6.7
La manera en que el Servidor envía los datos al Cliente que se los solicita es mucho
más breve que su análoga para el Cliente. Básicamente el código es:
73 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
c d
g h
e
f
i j
Figura 6.8
74 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.7.2.1.Simulación
El panel de simulación es el destinado a crear la simulación dinámica de la columna
de destilación. En el se pueden distinguir los siguientes componentes:
• Botón Start, figura 6.8 c: haciendo clic sobre este botón comenzará a
ejecutarse la simulación dinámica.
• Botón Stop, figura 6.8 d: haciendo clic sobre este botón la simulación
dinámica de la columna se detendrá.
• Opción Variar Temperatura, figura 6.8 e: al tener activada esta casilla, la
simulación dinámica efectuará una variación de la temperatura del flujo de
entrada de la columna a razón de x grados centígrados por segundo; la
pendiente de este incremento vendrá determinada por el usuario que
dispondrá de total libertad para variarla.
• Opción Variar Flujo Molar, figura 6.8 f: al tener activada esta casilla, la
simulación dinámica efectuará una variación del caudal de alimentación de
la columna a razón de 0.005 Kgmol/s por segundo. El valor de 0.005
Kgmol/s se ha elegido por ser éste el incremento idóneo para ver la
progresión de las condiciones de la columna.
75 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.7.3. Funcionalidad 1
A parte de lo que el usuario ve y percibe del interfaz de la aplicación, el programa
Servidor ejecuta otras órdenes que no son visibles al ojo del usuario pero si serán
imprescindibles para todo el proceso de simulación y comunicación.
La aplicación Servidor ejecutará sus dos principales funciones; simular la columna
dinámica y enviar los datos necesarios al Cliente.
El programa simulará la variación de la temperatura de entrada de la columna y la
variación del caudal de entrada de la columna y a su vez leerá de HYSYS los siguientes
parámetros que serán enviados al cliente para que este pueda graficarlos, visualizarlos y
analizarlos:
• Temperatura de entrada de la alimentación: al mismo tiempo que el propio
servidor varía esta temperatura, la leerá actualizada y la enviará al Cliente.
• Temperatura de salida del condensado: esta temperatura variará en función
de la temperatura de entrada de la columna. El Servidor únicamente leerá el
dato cada cierto tiempo para poder enviarlo actualizado al Cliente.
• Temperatura de salida del residuo: esta temperatura también variará en
función de la temperatura de entrada de la columna. El Servidor únicamente
leerá el dato cada cierto tiempo y lo enviará actualizado al Cliente.
• Fracción volumétrica de Etanol en la salida del condensado: esta
composición variará en función del caudal de entrada de la columna. El
Servidor leerá el dato de la composición cada segundo actualizándolo y
enviándolo al Cliente.
• Fracción volumétrica de Etanol en la salida de del residuo: esta
composición variará también en función del caudal de entrada de la
columna. El Servidor hará lo mismo con este dato que con los anteriores, lo
leerá actualizado y lo enviará pera que pueda ser visualizado por el Cliente.
1
El código fuente completo de la aplicación Servidor puede consultarse en el anexo “Códigos de
Programación”
76 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Figura 6.9
77 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
e f
c d
g h
Figura 6.10
78 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
79 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
6.8.3. Funcionalidad 2
En este caso la función principal de la aplicación Cliente es la de monitorizar los
datos procedentes de la columna de destilación.
A diferencia de lo que hacia la aplicación Servidor, que leía de HYSYS ciertos
parámetros y los dividía en datos mostrados por el mismo servidor y datos enviados al
Cliente, la aplicación Cliente muestra por pantalla todo los datos que recibe de la
columna, de modo que mediante un proceso totalmente on-line el Cliente recibe todo lo
que el Servidor le envía
Figura 6.11
2
El código fuente completo de la aplicación Servidor puede consultarse en el anexo “Códigos de
Programación”
80 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
SERVIDOR Valorar
resultados
Variación Temperatura
Simulación Monitorizar
dinámica Flujo Molar Datos
Temperatura
Fracción
volumétrica
Acceso a Lectura Flujo Molar Recepción
Datos
HYSYS Presión
Temperatura
Fracción
volumétrica
Temperatura
Envío
Temperatura
Datos CLIENTE
Fracción
volumétrica
TCP/IP
Variables de entrada de la columna
81 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
82 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
7.3. VÁLVULAS
Las válvulas son dispositivos capaces de regular caudales mediante una llave
reguladora que deja pasar mayor o menor cantidad de fluido a través de una conducción.
El homologo virtual de la simulación realizada seria la opción que presentaba el
Servidor Variar Flujo Molar. En este caso si se requería un aumento del caudal de la
corriente de entrada de la columna se simulaba la apertura de una válvula que dejase
pasar cierta cantidad más de fluido por dicha corriente.
Igual que para una válvula de regulación manual, existen válvulas de regulación
electrónica que responden aumentando o disminuyendo el caudal ante una señal
electrónica. De la misma manera que la variación del caudal de entrada de la columna
virtual hacia variar las composiciones de salida tanto del destilado como del residuo, un
dispositivo electrónico capaz de controlar estas variaciones de caudal tendría el mismo
resultado, pudiendo enviar como se ha hecho en este caso los valores de la fracción
volumétrica de Etanol en la salida de condensados y de residuos.
83 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
8. DEMO
Como parte final del proyecto que se describe en este documento, se realizará una
demostración del funcionamiento del proceso de destilación simulado, así como del
funcionamiento del sistema de comunicación entre servidor y cliente. Las aplicaciones
utilizadas en ambas demostraciones se encuentran en el CD adjunto que acompaña a
esta documentación.
84 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
9. EVALUACIÓN ECONÓMICA
Numero de
Numero Precio de
horas por Precio de cada
Actividad o tipo de gasto de cada hora
persona actividad (€/año)
personas (€/h)
(h/persona)
Estudio de la viabilidad del
140 2 6 1680
PFC (1)
Diseño de la Simulación (2) 120 2 7 1680
Programación y diseño del
130 2 7 1820
software (3)
Pruebas funcionales (4) 60 2 6 720
Confección de
50 2 5 500
documentación (5)
Suma total de costes de
- - - 6400
actividades
85 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
86 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
10. CONCLUSIONES
87 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
88 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
HYSYS
Servidor
Cliente
Proceso
Virtual
MONITORIZACIÓN
Proceso
Real Figura 9.1
89 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
11. BIBLIOGRAFIA
Los textos consultados para la realización de este proyecto han sido los siguientes:
• “Operaciones de separación por etapas de equilibrio en ingeniería química”
E.J.Henley, J.D.Seader.
Ed. Reverté
• “Procesos de separación”
C.Judson KingEd.
Reverté
• “Operaciones básicas en ingenieria química (Tomo II)”
Jordi Dosta Parcerisa
• “La Biblia de Delphi 7”
Marco Cantú
Ed. Anaya Multimedia
• “Delphi 7 y Kylix 3”
Francisco Charte
Ed. Anaya Multimedia
Y las webs consultadas han sido las siguientes:
http://www.monografias.com/trabajos/lengprog/lengprog.shtml
http://elsitiodetelecomunicaciones.iespana.es/elsitiodetelecomunicaciones/unix.htm
http://www.sisoft.ucm.es/Manuales/Lenguaje_C.pdf
http://www.lania.mx/biblioteca/newsletters/1996-primavera-verano/art1.html
http://www.borland.com/
http://www.arrakis.es/~ppriego/delphi/delphi.htm
http://www.vsantivirus.com/ig-tcpip.htm
http://www.hyprotech.com
http://www.kobold.com
http://www.honeywell.com
90 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
ANEXOS
91 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPServer, COMObj, ActiveX,
OLEServer, StdCtrls, ExtCtrls, ComCtrls, Display, ActnList, Menus,
ImgList, ToolWin;
type
TForm1 = class(TForm)
IdTCPServer1: TIdTCPServer;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Timer2: TTimer;
Panel1: TPanel;
Display1: TDisplay;
Label2: TLabel;
MainMenu1: TMainMenu;
ActionList1: TActionList;
ImageList1: TImageList;
Servidor1: TMenuItem;
Simulacin1: TMenuItem;
Ayuda1: TMenuItem;
Ayuda2: TMenuItem;
Acercade1: TMenuItem;
IniciarSimulacin1: TMenuItem;
DetenerSimulacin1: TMenuItem;
Salir1: TMenuItem;
IniciarSim: TAction;
DetenerSim: TAction;
Salir: TAction;
Ayuda: TAction;
Panel2: TPanel;
Label3: TLabel;
Label4: TLabel;
Display2: TDisplay;
Display3: TDisplay;
Display4: TDisplay;
Label5: TLabel;
92 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Label6: TLabel;
Label7: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Display5: TDisplay;
Label8: TLabel;
Panel3: TPanel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Edit1: TEdit;
Label21: TLabel;
Edit2: TEdit;
Label22: TLabel;
93 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
var
Form1: TForm1;
hyapp, comp1, comp2, comp3: Variant;
flow1, etoh1, water1, etoh2, etoh3, temp1, temp2, temp3, pres1: Double;
implementation
{$R *.dfm}
flow1:=hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0].MolarFlowValue;
temp1:=hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0].TemperatureVal
ue;
temp2:=hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[1].TemperatureVal
ue;
94 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
temp3:=hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[2].TemperatureVal
ue;
pres1:=hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0].PressureValue;
comp1:=hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[0].ComponentVol
umeFractionValue;
etoh1:=comp1[0];
water1:=comp1[1];
comp2:=hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[1].ComponentVol
umeFractionValue;
etoh2:=comp2[0];
comp3:=hyapp.SimulationCases[0].Flowsheet.MaterialStreams.Item[2].ComponentVol
umeFractionValue;
etoh3:=comp3[0];
if radiobutton2.Checked=true then
hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0].MolarFlowValue:=flow1
+0.005;
if radiobutton1.Checked=true then
hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0].TemperatureValue:=temp
1+0.5;
display1.Valor:=floattostr(hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0
].MolarFlowValue);
display2.Valor:=floattostr(hyapp.Simulationcases[0].Flowsheet.MaterialStreams.Item[0
].TemperatureValue);
display3.valor:=floattostr(etoh1);
display4.Valor:=floattostr(water1);
display5.valor:=floattostr(pres1);
end;
95 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
96 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
begin
showmessage('Indica la pendiente de la variación de la temperatura en grados
centígrados por segundo'#10#13' '#10#13'Esta pendiente se puede variar para controlar
la temperatura de entrada, el valor puede ser positivo, negativo o cero')
end;
end.
97 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, ComCtrls, Grids, ExtCtrls, Monitor, Graf2, Display,
Switch3State, ActnList, Menus, ImgList;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
EdtHost: TEdit;
EdtPort: TEdit;
Label1: TLabel;
Label2: TLabel;
IdTCPClient1: TIdTCPClient;
Timer1: TTimer;
Grafica1: TGrafica;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Grafica2: TGrafica;
MainMenu1: TMainMenu;
Cliente: TMenuItem;
Herramientas1: TMenuItem;
ActionList1: TActionList;
Conectar: TAction;
Desconectar: TAction;
Ayuda: TMenuItem;
Conectar1: TMenuItem;
Desconectar1: TMenuItem;
Salir: TAction;
Salir1: TMenuItem;
NuevaIP1: TMenuItem;
NuevaIP: TAction;
Ayuda1: TAction;
ImageList1: TImageList;
Panel1: TPanel;
Label3: TLabel;
98 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Ayuda2: TMenuItem;
Acercade1: TMenuItem;
Display1: TDisplay;
Display2: TDisplay;
Label10: TLabel;
Label11: TLabel;
Display3: TDisplay;
Display4: TDisplay;
Display5: TDisplay;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
TRecvThread=class(TThread)
private
Msg:string;
procedure ReceivedLine;
protected
procedure execute; override;
end;
99 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
var
Form1: TForm1;
RecvThread: TRecvThread;
etoh2, etoh3, temp1, temp2, temp3: double;
implementation
{$R *.dfm}
procedure TRecvThread.execute;
begin
while not terminated do begin
try
etoh2:=strtofloat(form1.IdTCPClient1.readln);
etoh3:=strtofloat(form1.IdTCPClient1.readln);
temp1:=strtofloat(form1.IdTCPClient1.readln);
temp2:=strtofloat(form1.IdTCPClient1.readln);
temp3:=strtofloat(form1.IdTCPClient1.readln);
synchronize(ReceivedLine);
except
terminate;
end;
end;
end;
procedure TrecvThread.ReceivedLine;
begin
if copy(Msg,1,4) = '-Err' then
MessageDlg(Copy(Msg,5,length(Msg)),mtError,[mbok],0)
else
form1.Grafica1.NouPunt(0,etoh2);
form1.Grafica1.NouPunt(1,etoh3);
form1.Grafica2.NouPunt(0,temp1);
form1.Grafica2.NouPunt(1,temp2);
form1.Grafica2.NouPunt(2,temp3);
form1.Display1.Valor:=floattostr(etoh2);
form1.Display2.Valor:=floattostr(etoh3);
form1.Display3.Valor:=floattostr(temp1);
form1.Display4.Valor:=floattostr(temp2);
form1.Display5.Valor:=floattostr(temp3);
//form1.memRcvMessage.lines.add(Msg);
end;
100 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
//PROCEDIMIENTO DE CONEXIÓN
RecvThread:=TRecvThread.create(false);
end;
//PROCEDIMIENTO DE DESCONEXIÓN
IdTCPClient1.Disconnect;
button1.Enabled:=true;
button2.enabled:=false;
end;
101 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
102 de 103
MONITORIZACIÓN DE COLUMNAS DE DESTILACIÓN
end.
103 de 103