SciELO - Scientific Electronic Library Online

 
vol.17 issue4Modelos para Procesos de Extracción Líquido-LíquidoEvaluation of Predictive Models for the Liquid Saturation Density of Aldehydes, Ketones, and Alcohols author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

Share


Información tecnológica

On-line version ISSN 0718-0764

Inf. tecnol. vol.17 no.4 La Serena  2006

http://dx.doi.org/10.4067/S0718-07642006000400002 

 

Información Tecnológica-Vol. 17 N°4-2006, pág.: 3-10

SIMULACION Y MODELADO

SIMDINUC 2.0, Programa Modular para la Simulación Dinámica de Procesos Químicos

SIMDINUC 2.0, Modular Software for the Dynamic Simulation of Chemical Processes

Zulay M. Niño, Sergio A. Pérez, y Francisco León
Escuela de Ingeniería Química, Facultad de Ingeniería, Universidad de Carabobo, Avenida Bolívar 125-39, Valencia-Venezuela (e-mail: znino@uc.edu.ve)


Resumen

En este trabajo se presentan mejoras introducidas a un programa de simulación dinámica existente para disponer de una herramienta  eficiente de libre acceso a los usuarios. Para ello se estudió y evaluó la estructura y lógica de ejecución del programa SIMDINUC 1.0 y se analizó la codificación de las mejoras para el desarrollo de la interfaz principal del programa en lenguaje Delphi™ 6.0. Se revisó la literatura concerniente a bases de datos de propiedades físicas y se desarrolló una interfaz gráfica para su acceso desde el programa principal del simulador. Se evaluó el funcionamiento de los módulos de cálculo disponibles en la librería del programa y el flujo de la información durante una simulación. De la aplicación del programa a diferentes casos y su comparación con resultados analíticos se deduce que los resultados del simulador son confiables.

Palabras claves: simulación dinámica, procesos químicos, modular secuencial, software 


Abstract

In this work the changes and improvements introduced to an existing dynamic computer simulation program are presented so the software can be freely acceded by users. For this, the structure and logic of the program SIMDINUC 1.0 was evaluated and the program coding was analyzed to develop of the main routine using the language of  Delphi™ 6.0. The literature related to data bases for physical properties was reviewed and a graphic interface to be acceded from the main program was developed. The functioning of the different library modules and the flow of information were evaluated. From the application of the program to different cases and the comparison of results with analytical values it is concluded that the simulation results are reliable.

Keywords: dynamic simulation, chemical processes, sequential approach, software


INTRODUCCIÓN

La simulación computacional de procesos es una herramienta poderosa que ha sido utilizada por muchos años en la ingeniería de procesos y ambiental. Dado el carácter altamente dinámico de lo procesos químicos, hay una creciente necesidad de desarrollar modelos dinámicos para resolver aspectos críticos en el diseño, optimización y control de los procesos (Dante et al., 2002). 

El uso de modelos en Ingeniería Química está consolidado, pero la utilización de "modelos dinámicos" en vez de los "modelos en estado estacionario" es más reciente. Esto se refleja en la existencia en el mercado actualmente de potentes programas destinados a la simulación dinámica de procesos químicos, tales como ASPEN PLUS, PROSIM PLUS, HYSYS, DESIGN II, solo por mencionar algunos (Linninger et al., 2000). Estos programas de simulación poseen herramientas matemáticas sofisticadas, las cuales pueden solucionar tanto la condición inicial de estado estacionario así como los siguientes cambios dinámicos.

En la actualidad, el futuro de la simulación de procesos pasa por el proyecto europeo CAPE OPEN. Este es un proyecto de investigación cuyo objetivo es establecer estándares informáticos que permitan la interoperabilidad de simuladores de procesos y de modelos especializados para operaciones unitarias, paquetes termodinámicos y paquetes numéricos. Las dos empresas que se reparten la totalidad del mercado de la simulación de procesos son  AspenTech (Hyprotech) y Simulation Sciences. Cada una de ellas ha desarrollado sus simuladores de procesos, utilizando tecnologías informáticas muy diversas, que comprenden desde programas tradicionales escritos en FORTRAN hasta aplicaciones diseñadas con tecnología orientada a objetos (por ejemplo, C ++), pero su accesibilidad esta sujeta al pago de las respectivas licencias de uso, que no siempre esta al alcance de las instituciones universitarias en países en vías de desarrollo (Webb y Ramírez, 2003).

En respuesta a esto, la Unidad de Investigación en Ingeniería de Procesos (U.I.I.P.) de la Universidad de Carabobo, Venezuela, tiene como objetivo desarrollar programas de simulación y actualizarlos continuamente, con el fin de ofrecer herramientas eficientes de libre acceso, y que permitan la enseñanza de la simulación de procesos químicos con plataformas abiertas que permitan el desarrollo de nuevos programas de simulación por parte de las universidades, y la posibilidad en el futuro de implementarlas en el sector industrial.

SIMDINUC 1.0, es una de estas herramientas, la cual fue desarrollada para la simulación dinámica de procesos por Niño y Pérez (2002). Esta versión inicial del programa no dispone de facilidades de uso mediante la presentación de interfaces gráficas de los módulos de cálculo disponibles, igualmente no cuenta con una base de datos para determinar las propiedades físicas requeridas por dichos módulos. Por tal razón, se propone como parte de este trabajo desarrollar una versión completamente interactiva del programa SIMDINUC que disponga de una interfaz grafica e incorporar una base de datos de propiedades físicas.

METODOLOGÍA

Para el logro de los objetivos planteados como parte de este trabajo, se empleó la siguiente metodología: conocimiento y evaluación de la estructura y lógica de ejecución del programa SIMDINUC 1.0, codificación de las mejoras para el desarrollo de la interfaz principal del programa en lenguaje Delphi™ 6.0, revisión bibliográfica concerniente a bases de datos de propiedades físicas y desarrollo de la interfaz gráfica para su acceso desde el programa principal, conocimiento y evaluación del funcionamiento de los módulos de cálculo disponibles en la librería del programa y posterior desarrollo de sus respectivas interfaces gráficas para establecer los parámetros de cada módulo, y finalmente la evaluación del flujo de la información durante una simulación mediante el uso de casos de estudio considerados y validados en la versión inicial.

PROGRAMA SIMDINUC 2.0

Actualmente se cuenta con una amplia disponibilidad de programas de simulación dinámica, desarrollados sobre diversas plataformas de programación, pero con aplicaciones muy específicas (Smith y Dimenna, 2004; Castro et al., 2002). Mientras que solo se cuentan con simuladores de tipo modular con aplicaciones más generales, cuando estos son de carácter comercial, como los mencionados previamente. Ahora bien, SIMDINUC 2.0 tiene las características más importantes de un  simulador comercial, como lo es la modularidad y facilidad de manejo, pero dado su carácter libre deja al usuario la posibilidad de actualizar y permitir la expansión de sus límites de operación para adaptarlo a la simulación de un número mayor de procesos químicos.

El programa SIMDINUC 2.0 consta básicamente de dos programas ejecutables que se mantienen comunicados a través del enlace con archivos secuenciales de texto plano, esto es, un programa que se encarga de la resolución de los balances de masa y energía y manejo de las señales de control de un determinado caso de simulación, por medio de la implementación de los módulos de calculo contenidos en su librería. El primero, Simdin.exe, compilado en FORTRAN 90/95 y el segundo programa, en un ambiente de desarrollo integrado (interfaz) de casos a simular, que interactúa de forma dinámica y eficaz con el usuario para facilitar el manejo de los datos empleados durante la simulación. Esta interfaz principal de SIMDINUC 2.0 fue desarrollada en Delphi 6.0, una herramienta novedosa de programación avanzada.

Modificaciones introducidas a  Simdinuc 1.0

Las mejoras y/o modificaciones fundamentales introducidas para el desarrollo de la nueva versión SIMDINUC 2.0 se pueden resumir en: i) cambio del algoritmo para el manejo de la información referente al diseño de un caso de simulación; ii) modificación de la forma de almacenar las variables de diseño y parámetros de control de la simulación; iii) modificación de la secuencia de pasos a seguir en el diseño del caso de simulación; iv) creación de un área de diseño del diagrama de flujo de proceso por un área completamente dinámica, versátil y amigable; v) modificación de la forma de registrar unidades o equipos a utilizar en una simulación; vi) cambio de la forma de conexión y establecimiento de corrientes de materia, de energía y de señales de control entre las unidades involucradas en la simulación; vii) incorporación del uso de una base de datos de propiedades de compuestos químicos; viii) creación de las interfaces para el manejo de parámetros característicos de los equipos; ix) implementación de algoritmos que permiten almacenar y recuperar casos de simulación en tiempo de diseño; x) implementación de herramientas adicionales, para aumentar la versatilidad del programa; y xi) detección automática de la configuración regional del sistema operativo donde es ejecutado el programa.

Almacenamiento y manejo de la información

Durante el desarrollo de una simulación la información concerniente a las unidades de proceso y a las corrientes de materiaenergía y/o señales de control, se mantiene de forma dinámica en la memoria del computador, esto significa que se puede acceder a ella y modificar estos datos en cualquier momento antes de empezar a simular el proceso y después de haber efectuado la misma, aunque esta última acción no afectará los resultados ya obtenidos. Esta manera de procesar la información permite mantener un control total sobre el programa y le proporciona a éste gran flexibilidad desde el punto de vista del diseño de una simulación.

Organización de las variables

La información señalada en el punto anterior se maneja con las diferentes variables empleadas en el programa SIMDINUC 2.0, en éste, se ha cambiado en su totalidad las variables referidas a la interfaz utilizada por la versión anterior, sólo se mantiene el mismo significado de algunas que son de importancia considerable, como las variables que manejan los archivos de comunicación entre la interfaz y el programa principal Simdin.exe.

El control de la información se lleva a cabo mediante el empleo de estructuras para el almacenamiento de datos, éstas surgen a  partir de la combinación de otras, entre ellas vectores, matrices y registros. Las variables de tipo registro son estructuras que se asemejan a los arreglos vectoriales y matriciales con la salvedad de que se puede almacenar información de manera heterogénea. Mediante el empleo de estas estructuras se realiza una mejor clasificación de la data referente a los equipos, las corrientes del proceso, los parámetros de control de la simulación y la manipulación de herramientas adicionales como la base de datos.

El vector UNIDADES[I] almacena la información respectiva a las unidades involucradas en un caso de simulación, cada elemento “I” de éste, conserva los datos correspondientes a las unidades de un mismo tipo, utilizadas dentro del diagrama de flujo de proceso; esto indica que cada índice del vector se relaciona a un tipo de unidad, por ejemplo, el primero (I = 1) es para las unidades Tipo 1, el segundo (I = 2) es para las unidades Tipo 2 y así sucesivamente. Cabe destacar que los índices de este  vector están comprendidos entre -1 y 20, debido a que  los valores 0 y -1 se emplean para almacenar información concerniente a las corrientes de alimentación (entradas) y descarga (salidas) respectivamente, ver Tabla 1.

Los datos de las unidades se registran en forma de lista,  utilizando  para  ello  un vector por cada tipo de unidad, es decir, cada elemento “I”  del vector  UNIDADES [I]  aloja a

Tabla 1: Relación de los índices del vector UNIDADES con
los tipos de unidades utilizados en el programa SIMDINUC 2.0

Índice I

Tipo

Unidad

Descripción

-1

Sin Tipo

S/N

Corrientes de salida

0

Sin Tipo

S/N

Corrientes de entrada

1

Tipo 1

VALV01

Válvula 1

2

Tipo 2

VALV02

Válvula 2

5

Tipo 5

CNTRL01

Controlador 1

6

Tipo 6

CNTRL02

Controlador 2

9

Tipo 9

JON01

Mezclador

11

Tipo 11

STRL01

Tanque de mezclado

12

Tipo 12

STRL02

Tanque de calentamiento

13

Tipo 13

REAC01

Reactor batch

15

Tipo 15

COLU01

Columna de destilación por cargas

16

Tipo 16

REAC02

Reactor tubular

17

Tipo 17

EMEF01

Evaporador de múltiple efecto

otro vector y cada elemento “J” de este último vector, se compone de un “registro” que contiene varias secciones o “campos” donde se conserva la información de un único equipo. Los datos contenidos para cada campo se muestran en la Tabla 2.

En el vector EP[K], ubicado dentro del registro, cada elemento K contiene uno de los parámetros característicos del equipo, estos varían de un equipo a otro tanto en número como en su significado, aceptándose un máximo de 25 parámetros por  cada unidad, de acuerdo con la capacidad de la matriz de parámetros.

En la Fig. 1  se  muestra un esquema de la estructura interna del vector UNIDADES [I]. El orden de las corrientes que entran y salen dentro de cada vector depende de como está definido dentro del módulo de cálculo de cada equipo.

Tabla 2: Descripción de los campos utilizados para almacenar
la información de las unidades  en el programa SIMDINUC 2.0

Campo

Descripción

Nom

Nombre asignado a la unidad en el diagrama de flujo de proceso

Nom_Type

Nombre de la unidad en el programa Simdin.exe

Tipo

Tipo de unidad asignado en el programa Simdin.exe (numérico)

EP[K]

Vector de parámetros de la unidad (máximo 25)

SM[L]

Vector de corrientes de materia y energía que entran y salen de la unidad (máximo 8)

SS[M]

Vector de señales de control conectadas al equipo (máximo 2)

kP

Número de parámetros del equipo

kM

Cantidad de corrientes de materia y energía conectadas al equipo

kS

Número de señales conectadas a la unidad


Fig.1: Organización de la información contenida en el vector UNIDADES

Los valores de kP, kM, y kS corresponden al número de parámetros y/o corrientes contenidas en los vectores EP, SM y SS respectivamente.

La información de las corrientes de proceso que interconectan las unidades se recopila en arreglos matriciales. Los datos de las corrientes de materia y energía se almacenan en la matriz Corrientes [I, J] y los de las señales de control en la matriz CSENAL [I, J]. Estas matrices están diseñadas con un arreglo de vectores donde cada fila I de estas matrices contiene información de una única corriente del proceso. Los datos almacenados por cada columna J en la matriz de Corrientes [I, J] y CSENAL [I, J] se describen en las Tablas 3 y 4, respectivamente.

El vector DATOS1 contiene los parámetros de control de la simulación así como los parámetros establecidos a los fines de la resolución numérica de las ecuaciones diferenciales y algebraicas que caracterizan los modelos matemáticos de las diferentes unidades de cálculo que dispone el programa de simulación.  

La Tabla 5 presenta estos parámetros utilizados durante la resolución de la simulación.

Tabla 3: Descripción de la información contenida en cada
columna de la matriz de corrientes de materia y energía Corrientes [I, J]

Columna J

Descripción

1

Número de la corriente

2

Índice de control de impresión

3

Flujo másico total

4

Temperatura de la corriente

5

Presión de la corriente

6

Fracción másica del componente # 1

7

Fracción másica del componente # 2

. . . .

. . . . . .

N

Fracción másica del componente # N-5

Tabla 4: Descripción de la información contenida en cada columna de la matriz de señales de control CSENAL [I, J]

Columna J

Descripción

1

Número de la corriente

2

Índice para controlar la impresión de la corriente (Imprime si es mayor que 0)

3

La información almacenada aquí varía de una corriente a otra, se trata de datos útiles para el control del proceso

Tabla 5: Relación de los índices del vector DATOS1 con respecto a los parámetros almacenados

Índice

Palabra clave

Descripción del parámetro

1

COMPS

Número de componentes

2

IN/OUT

Número máximo de corrientes

3

DELTAT

Paso inicial de integración

4

TIME

Tiempo máximo para la simulación

5

PRINTING

Número de intervalos de integración antes de la escritura de resultados.

6

UPPERTOL

Error máximo tolerado

7

LOWERTOL

Error mínimo tolerado

8

METHOD

Método de integración elegido

9

STEPTYPE

Tipo de simulación con o sin control del paso de integración

10

PRITINT

Intervalo de tiempo para la impresión de resultados.

Secuencia de pasos en el diseño o realización de un caso de simulación

SIMDINUC 2.0 presenta cierta flexibilidad en relación al diseño de una simulación, ésta es permitida debido a que la información se almacena en la memoria del computador y permanece allí hasta que el usuario decide efectuar los cálculos de la simulación.

Al iniciar el programa el utilizador debe indicarle que se creará una nueva simulación, luego debe definir que tipo de proceso desea simular, seguidamente se tiene la elección de realizar el registro de los componentes o establecer los datos iniciales y parámetros de control de la simulación ya que el orden de estas actividades no es influyente; una vez hecho esto, se procede a realizar el diagrama de flujo de proceso y definir los parámetros y características de los equipos y corrientes del proceso.

Durante la realización del diagrama de flujo de proceso, es posible efectuar modificaciones en los parámetros de control y en el registro de componentes, para ajustes de último minuto; una vez completado el diagrama de flujo del proceso se establece la secuencia de cálculo y se procede a efectuar la simulación, finalmente se efectúa el análisis y/o almacenamiento de los resultados obtenidos.

UTILIZACIÓN DEL PROGRAMA

El proceso presentado en la Fig. 2 es utilizado con el propósito de ilustrar el funcionamiento del programa SIMDINUC 2.0. El proceso considerado está constituido por un tanque de mezclado donde el nivel de líquido en el interior del mismo se controla por medio de un controlador del tipo PID (proporcional integral derivativo). La señal generada por el controlador activa una válvula (Tipo 1) la cual regula el flujo de salida del tanque. Las condiciones iniciales (t=0) del proceso están reflejadas directamente en la Fig. 2. La Tabla 6 contiene los parámetros asociados a cada una de las unidades de cálculo utilizadas en la simulación. Los parámetros utilizados para la integración durante la simulación se muestran en la Tabla 7.

En este caso se aplicarán simultáneamente dos perturbaciones al sistema, una consiste en un cambio en escalón en la temperatura de la alimentación de 50 a 100 ºC y la segunda es un ajuste del punto de consigna del controlador de nivel en el tanque de 0,4 a 0,5 metros, ambas aplicadas un instante de tiempo después del tiempo inicial (t>0).

De acuerdo a lo mostrado en la Fig. 3 se puede notar  que  la dinámica reproducida por el simulador para el caso en estudio es la esperada para un sistema de control de nivel con un dispositivo PID, tanto el nivel del líquido como la señal de control muestran la característica oscilatoria con atenuación progresiva, típica de este tipo de sistemas.

Fig. 2: Diagrama de flujo del proceso en estudio

Tabla 6: Parámetros de las unidades de cálculo

Unidad #1

Tanque de mezclado

Nivel (t=0)

0,4 m

Área transversal

0,5 m2

Unidad #2

Controlador PID

Ganancia proporcional

90%

Consigna (set point)

0,5 m

Constante Integral tI

0,2 s

Constante Derivativa tD

0,4 s

Rango de operación

0 – 100 %

Unidad #3

Válvula de control (tipo 1)

Constate característica

0,1

Rango de operación

0 – 100 %

Tipo de acción

Directa

Característica de flujo

Cuadrática

Tabla 7. Parámetros para la integración

Paso de integración

0,01

Intervalos para impresión

5

Tiempo de simulación

5 s

Sin control automático del paso de integración

En cuanto a la temperatura en el tanque, se observa una variación representativa de la misma para un caso real con condiciones similares, donde el valor de ésta se incrementa siguiendo un comportamiento asintótico hasta 100ºC, valor de la temperatura de la alimentación, luego de la perturbación tipo escalón. Con este caso se verifica el adecuado funcionamiento en SIMDINUC 2.0, tanto de los equipos involucrados como de la simulación de procesos sometidos a más de una perturbación simultáneamente, lo que proporciona una gran herramienta a la hora de hacer diferentes análisis de pequeños procesos considerando el reducido número de unidades presentes en su librería, sin embargo, su flexibilidad, resultado del carácter modular del programa sigue siendo una de sus principales características.

CONCLUSIONES

Como resultado del presente trabajo se dispone de un programa de simulación dinámica con una estructura modular  secuencial que tiene como función principal su utilización con fines didácticos, ya que permite evaluar fácilmente la respuesta dinámica de procesos, estructurados a partir de la librería de unidades de cálculos disponibles en el programa. Igualmente el simulador puede ser utilizado en la evaluación de estrategias de control convencionales, de tipo ON-OFF, o de tipo PID. De la validación de los cálculos  del programa con diferentes casos, los resultados obtenidos son confiables, una vez comparados estos con los resultados obtenidos a partir de la solución analítica de los casos estudiados.

Fig. 3: Respuesta  del sistema  hidráulico con controlador PID calculada por
SIMDINUC 2.0

AGRADECIMIENTOS

Los autores agradecen al Consejo de Desarrollo Científico y Humanístico de la Universidad de Carabobo (CDCH-UC) por el soporte financiero para el desarrollo de este trabajo.

REFERENCIAS

Castro, P., H. Matos, A. P. Barbosa-Póvoa, Dynamic modelling and scheduling o fan industrial batch system, Computers an Chemical Engineering, 26, 671-686, (2002).        [ Links ]

Dante, V., R. Harrison, M. Bratty, M. Perrier, P. Stuart, Evaluation of process simulation software for dynamic operation, 88th Annual Meeting, Technical section, Canadian Pulp and Paper Association, Vol. C, C179-C182, Montreal, Canada.        [ Links ]

Linninger, A. A., S. Chowdhry, V. Bahl, H. Krendl y H. Pinger, A systems approach to mathematical modeling of industrial process, Computers and Chemical Engineering, 24,  591-598, (2000).        [ Links ]

Pérez, S. y Z. Niño, Simdinuc 1.0. logiciel modulaire pour la simulation  dynamique des procédés chimiques, Mémoires du Congres Systèmes d´Information, Modélisation, Optimisation, Commande en Génie des Procédés, SIMO 2002,  Toulouse, Francia, (2002).        [ Links ]

Smith, F. G. y R. A. Dimenna, Simulation of a batch chemical process using parallel computing with PVM and Speedup, Computers and Chemical Engineering, 28, 1649-1659, (2004).        [ Links ]

Webb, D. y Ramirez W. F., Modeling, simulation and optimization software framework for dynamic systems, Proceeding of the American Control Conference, Denver, Colorado, (2003).        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License