Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Titulo:
Plataforma para la Simulación de
Procesos Industriales
Autor:
Inácio Kawala
Tutores:
Dr. Ing. Alberto Prieto Moreno
Ing. Adriana Villalón Falcón
Por medio de esta declaración doy a conocer que soy el único autor de este trabajo por
lo que autorizo a la Universidad Tecnológica de La Habana José Antonio Echeverría que
haga del mismo el uso que estime pertinente.
Autor
Inácio Kawala
Tutores
Dr. sC. Alberto Prieto Moreno
Los científicos siempre están buscando soluciones más aceptables para los problemas
que enfrentan en su día-a-día. Es importante que se tenga acceso a las herramientas
adecuadas que permitan que la persona se concentre solamente en la solución que está
desarrollando.
Abstract
Scientists are always looking for more acceptable solutions to problems they face in their
day-to-day. It is important that access to the right tools that allow the person to focus only
on the solution to develop.
This paper presents the development of a simulation platform for industrial processes.
Using the MATLAB® tools, the platform simulates process models developed with
Simulink® and allows sent of simulation data to an OPC server so that these can be used
by applications . by the research group of "Diagnostic of failures and estimation of
parameters" of the Department of Automation and Computing, of the Faculty of Automatic
and Biomedical of the Technological University of Havana "José Antonio Echeverría". It
is constructed a graphical interface so that the user interaction is friendlier.
ii
Índice General
Resumen ..........................................................................................................................ii
Introducción..................................................................................................................... 1
Conclusiones ................................................................................................................. 53
Recomendaciones......................................................................................................... 54
Anexos .......................................................................................................................... 57
Anexo A. Proceso de prueba Tennessee Eastman ................................................. 57
Anexo B. Tanque Calentador Continuamente Agitado (CSTH) ............................... 63
LISTA DE FIGURAS
iv
Figura 3.13. Diagrama funcional de la planta piloto, CSTH [28]. ........................ 46
Figura 3.17. Datos de simulación enviado al servidor ........................................ 48
v
LISTA DE TABLAS
vi
AGRADECIMIENTOS
vii
A la memoria de Carlos Catumbela Justino.
viii
Introducción
Actualmente, existe una tendencia creciente en las industrias en cuanto a las exigencias
de los requerimientos presentados a los ingenieros y técnicos. Estos requerimientos
incluyen la producción con más calidad, elevadas tasas de aceptación y la satisfacción
de las restricciones medioambientales y de seguridad. Se espera que la producción
alcance los estándares para los cuales fue diseñada y, al mismo tiempo, que los procesos
que la integran sean eficientes. Estas exigencias, junto a la necesidad de la reducción
de los costes, han llevado a la automatización de las industrias actuales, con lo que se
ha podido alcanzar que una gran cantidad de variables operen bajo control en lazo
cerrado y estén disponibles constantemente para su observación y monitoreo [2, 3].
Los controladores se diseñan para mantener una operación satisfactoria del proceso a
partir de la compensación de los efectos de la perturbación y los cambios que pueden
surgir en este. Aunque estos controladores pueden compensar muchos tipos de
perturbaciones, existen cambios en los procesos que los controladores no pueden
manejar de forma adecuada, desviaciones no previstas en la automatización [3]. Estos
cambios son llamados de fallos, que son “una desviación no permitida de al menos una
propiedad característica o variable de un sistema” [3, 5].
1
actúan en consecuencia (ajustando parámetros, cambiando consignas y activando
accionamientos para prevenir un mal superior o conservar la capacidad operativa del
proceso)” [4]. La supervisión tiene una tarea clara de vigilancia y dispone de las
siguientes capacidades:
2
El grupo de “Diagnóstico de Fallos y Estimación de Parámetros” está desarrollando una
aplicación para el diagnóstico de fallos en procesos industriales. Con el fin de validar el
procedimiento de diagnóstico de fallos en línea, se necesita de una herramienta para la
simulación de procesos industriales en tiempo real.
3
entorno MATLAB® con el servidor
OPC
(KepServerEx V6)
Métodos teóricos
4
Métodos empíricos
En el capítulo 1: “Estado del Arte”, se hace una revisión bibliográfica del tema y la
situación actual de la temática en cuestión. En este capítulo se brindan los principales
aspectos teóricos contenido en el trabajo.
5
Capítulo 1. Estado del arte
1.1 Modelos
La simulación, así como la mayoría de los métodos de análisis, involucran sistemas y
modelos [6]. En este epígrafe se hará un análisis de los tipos de modelos existentes, tal
análisis justificará el tipo de modelo empleado para realizar la simulación.
Los experimentos en un proceso se pueden llevar a cabo de dos formas: Jugando con el
proceso físico o haciendo uso de un modelo apropiado.
Los modelos son muy importantes en los casos en los que sea muy difícil, costoso, o
completamente imposible hacer estudios en el sistema. En estos casos se debe construir
(o hacerse con) un modelo y hacer preguntas pertinentes sobre qué pasará si se cambia
un parámetro, o ver cómo responde el sistema ante situaciones que están fuera del
control del investigador.
6
Los resultados de los experimentos son fáciles de interpretar
Los modelos físicos presentan la desventaja de que se sus componentes se deterioran
con el paso del tiempo en función del número de experimentos que hacen (este hecho
es aún más acentuado en el caso de simular fallos en el sistema). Debido a este
deterioro, las condiciones de los experimentos no son siempre las mismas. Para
mantener las mismas condiciones, habría que utilizar otro modelo, lo que aumenta los
costos do los experimentos.
7
1.2.1 La simulación a lo largo de los tiempos
A lo largo de los años el hombre siempre estuvo interesado en hacer experimentos [9].
Eso lo llevó, desde muchos años atrás, a lidiar con simulaciones y modelos resueltos
manualmente.
2𝐿
𝑝= (1.1)
𝜋𝑑
8
El experimento citado anteriormente, aunque simples, muestra un ejemplo de cómo
experimentar con modelos físicos y presenta características que son comunes a la
mayoría de los experimentos: obtener conocimiento de ciertos parámetros del sistema
real, que serían difíciles de conocer en el experimentando directamente en el sistema.
En [13], se presenta una estrategia que posibilita el control efectivo de un proceso con gran
retardo de tiempo sometido al efecto de perturbaciones externas no medibles. Después de
la obtención del modelo que emula el comportamiento dinámico de la variación de la
temperatura del agua en un intercambiador de calor, utilizado en la fabricación de
medicamentos inyectables, proponen una modificación del Predictor de Smith que posibilita
aumentar el rechazo al efecto de las perturbaciones externas no medibles en comparación
con la estructura clásica de dicho predictor. Una vez obtenido el modelo, este es simulado
con un Predictor de Smith tradicional y con el Predictor de Smith modificado para hacer las
comparaciones pertinentes.
Todas las conexiones punto a punto requerían un protocolo propietario para posibilitar la
comunicación entre los extremos específicos. Por ejemplo, si una interface hombre
máquina (HMI, por sus siglas en inglés) necesitaba comunicarse con un controlador
lógico programable (PLC, por sus siglas en inglés), se requería de un manejador (driver)
en el HMI escrito específicamente para el protocolo utilizado por el PLC. Si los datos de
este PLC necesitaban ser registrados además en un histórico de datos, el programa de
registro de datos requería su propio manejador porque el del HMI sólo se podía utilizar
para el HMI y no para el software de registro histórico de datos (que necesitaría otro
manejador propietario diferente). Si el manejador específico para establecer la
comunicación entre los dos extremos no estaba previamente desarrollado y disponible,
las comunicaciones eran muy difíciles y caras de establecer.
10
Figura 1.2: El problema de la comunicación sin OPC.
Los controladores genéricos son controladores de tipo abierto. Están hechos en base a
especificaciones concretas y de dominio público, cuya idea básica es definir una interface
estándar entre los elementos de campo y aplicaciones, independiente del fabricante,
simplificando así las tareas de integración. El ejemplo más claro de controlador genérico
es la tecnología OPC [14].
Tradicionalmente cada desarrollador de una aplicación tenía que escribir una interfaz
personalizada para intercambiar datos con dispositivos de campo. OPC elimina este
requerimiento definiendo una interfaz común que permite hacer este trabajo una sola
vez, y reutilizarlo fácilmente en HMI, SCADA, aplicaciones de control y personalizadas
[17].
11
Figura 1.3: Comunicación con OPC.
OPC (también utilizado como acrónimo para Open Platform Communications) surge a
partir de la tecnología OLE de Microsoft adaptada al control de procesos. OPC nace en
1996 cuando el grupo antecesor de la Fundación OPC – formado por las empresas
Fisher-Rosemount, Rockwell Software, Opto 22, Intellution e Intuitive Technology – fue
capaz de desarrollar una especificación básica en un solo año de trabajo. Esta
especificación estaba basada en las tecnologías OLE/COM y DCOM, y fue nombrado
como “Especificación OPC” [18].
El OPC fue diseñado para hacer puente entre aplicaciones basadas en Windows y
aplicaciones de hardware y software para el control de procesos. Es un estándar abierto
que permite un método consistente de acceso a datos de campo desde los dispositivos
de la planta.
Un servidor OPC es una aplicación software que opera como Interfaz de Aplicación de
Programa (APLI, por sus siglas en inglés) o como el conversor de protocolo [17]. El
12
servidor OPC se conecta con dispositivos como PLC, Sistema de Control Distribuido
(DCS, por sus siglas en inglés), Unidad de Terminal Remoto (RTU, por sus siglas en
inglés) u otra fuente de datos y traduce el dato un formato basado en el estándar OPC.
Aplicaciones compatibles con el estándar OPC tales como HMI, históricos, hojas de
cálculos, etc.; se pueden conectar a un servidor OPC y utilizarlo para escribir y leer datos
gracias a su arquitectura Cliente/Servidor.
La fundación OPC especifica cuatro tipo de servidor OPC basadas en los estándares
que se listan a continuación [16]:
En este trabajo se decide dividir los simuladores en dos grandes grupos: Simuladores
comerciales y simuladores para fines académicos.
13
1.4.1 Simuladores comerciales
Los simuladores comerciales son realizados por empresas especializadas en el área con
conocimientos de expertos. Entre los simuladores comerciales se pueden encontrar
HYSYS, ASPEN PLUS, CHEMCAD, ProModel y Design II for Windows [11].
1.4.1 MATLAB®
14
explorar múltiples enfoques y alcanzar una solución más rápido que cuando se utilizan
hojas de cálculo o los lenguajes de programación tradicionales como C/C++ o Java ®. Se
puede utilizar MATLAB® para un sinfín de aplicaciones, incluyendo procesamiento de
señales y comunicaciones, procesamiento de imágenes y video, sistemas de controles,
mediciones, computación financiera, y biología computacional [17]. Debido a la amplia
gama de funcionalidades que brinda, muchos ingenieros y científicos de distintas áreas
de trabajo, tanto en las industrias como en el ámbito académico utilizan MATLAB ®.
Esta herramienta provee tres formas para implementar un cliente OPC DA [21]:
• Usar la interfaz gráfica de usuario (GUI, por sus siglas en inglés) para
conectarse rápidamente a servidores OPC, crear y configurar objetos, y
leer y escribir en los servidores.
15
1.4.3 Simulink®
Simulink® divide la simulación de un modelo en tres fases [17]: compilación del modelo,
fase de enlace, y la fase del bucle de simulación.
Controlando los tiempos de ejecución del bucle de iteración es posible simular el modelo
a diferentes velocidades, permitiendo simulaciones en tiempo real si la velocidad
escogida coincide con el tiempo real del modelo a simular.
16
La alternativa, utilizar funciones y objetos de MATLAB® que permiten simular el tiempo
real a partir de configurar la simulación desde software, dejando al usuario libre de estas
tareas. Otra ventaja es que permite la simulación sin tener que abrir el modelo en el
Simulink®.
1.4.5 GUIDE
El entorno de desarrollo de interfaces gráficas usuario (GUIDE, por sus siglas en inglés)
es una herramienta de MATLAB® pensada para desarrollar interfaces gráficas de usuario
(GUIs, por sus siglas en inglés), de manera fácil y rápida. Haciendo sencillo el diseño y
presentación de los controles de interfaz, reduciendo la labor en el momento de
seleccionar, deshacer, arrastrar y centrar controles, así como la personalización de las
propiedades de estos.
GUIDE está diseñado para hacer más amigable el proceso de desarrollo de la interfaz
gráfica, para ello cuenta con un editor de propiedades con el que se podrá modificar en
cualquier momento los nombres, valores por defecto y las propiedades de los elementos
[22].
1.4.6.1 ControlP
En el programa ControlP pueden simularse procesos en realimentación simple, en
control en cascada y en control en adelanto (feedforward). Para cada uno de estos
procesos, el programa facilita el diagrama de bloques de un sistema pre-configurado y
totalmente operativo [19]. No se precisa efectuar ningún tipo de programación ni de
diseño gráfico. Proporciona respuesta temporal o frecuencial según lo configure el
usuario. El usuario puede componer, configurar o modificar el sistema mediante los
cuadros de diálogo desplegables del diagrama de bloques. ControlP permite el estudio
de la respuesta del sistema frente a perturbaciones, ya sean debidas a cambios en el
punto de consigna (set point), cambios de carga en el proceso o cambios introducidos
en los parámetros de los componentes del sistema. En la Figura 1.4 se presentan vistas
de este simulador.
17
Figura 1.4. Ventanas del simulador ControlP [19].
18
Figura 1.5. Simulador de un proceso de mezclador [12].
Los modelos a utilizar en la simulación, son modelos que permiten la simulación de fallos.
20
La tecnología OPC permite la interconexión entre dispositivos industriales de diferentes
fabricantes. El estándar OPC UA, siendo un estándar multiplataforma, amplía la
capacidad que tenía el OPC clásico que solo estaban disponible para el sistema
operativo Windows.
21
Capítulo 2. Herramientas y métodos
22
Figura 2.1. Esquema conceptual de la Plataforma de Simulación.
2.2.1 Simulink®
Los modelos a utilizar son modelos construidos en esta herramienta, la plataforma hace
uso de las funciones de Simulink® para simular el modelo. Mediante comandos de
MATLAB® se controlan cada fase de simulación de la herramienta, fases que son
presentadas en el apartado 1.4.3. Controlar Simulink® mediante comandos de MATLAB®
hace que no sea necesario abrir la interfaz gráfica de Simulink® para simular el proceso.
En realidad, la fase que hay que controlar es la del bucle de iteración, en donde Simulink®
calcula los estados y las salidas del modelo. A la hora de simular el proceso hay que
tener en cuenta que los datos de simulación deben estar compartidos entre Simulink® y
el espacio de trabajo de MATLAB®.
23
Figura 2.2. Interacción MATLAB®- Simulink®.
La Figura 2.2 muestra que la simulación en la realidad la hace el Simulink® guiado por
scripts/funciones conteniendo comandos de MATLAB® que permiten llevar a cabo la
simulación. Simulink® interactúa con el espacio de trabajo de MATLAB® luego mediante
scripts/funciones se puede tener acceso a los datos de simulación para poder llevar a
cabo otras tareas de la plataforma.
2.2.2 Temporización
Un aspecto a tener en cuenta en el simulador es la temporización, porque cuando se
analizó las fases de simulación de Simulink®, se vio que la herramienta calculaba los
estados y las salidas sucesivamente hasta que se alcanzaba el fin de la simulación. Al
controlar la ejecución de Simulink® por software, se tiene la posibilidad de pausar la
simulación entre dos estados durante un tiempo específico, al que se le puede llamar
velocidad de simulación. Si la velocidad de simulación coincide con el tiempo de
muestreo del proceso, entonces, se está simulando el proceso en tiempo real. En
muchos casos, se quiere que la simulación sea más rápida que el tiempo real.
24
2.2.3 Interfaz Gráfica
La plataforma de simulación debe incorporar sus funcionalidades a una interfaz gráfica
que permita una interacción cómoda para el usuario. La interfaz visual debe permitir:
2.2.4 KEPServerEx
25
KEPServerEx en su versión 6, implementa el núcleo de las funcionalidades del OPC UA.
Una de las características de este estándar es la compatibilidad con los estándares
anteriores (OPC DA, HDA y A&E). Haciendo posible la conexión entre los antiguos
dispositivos y aplicaciones que todavía no integran el nuevo estándar.
El OPC DA es uno de los dos estándares que se soporta un cliente OPC en MATLAB®.
El estándar define tres tipos de objetos COM [12, 16]:
Servidor OPC
Grupo OPC
26
o Proporciona una manera de organizar los datos. Hay dos tipos: públicos
(accesibles por todos los clientes), y locales (solo accesible por el cliente
que lo creo).
Ítem OPC
o Representa una conexión con los datos físicos, no son fuentes de datos.
No tiene realmente un interfaz hacia los clientes, siendo accesibles tan solo
a través de los grupos que lo contienen. Cada ítem lleva asociado el valor,
el tipo VARIANT, la calidad y el tiempo de la última actualización, además
del identificador ID a través del cual el cliente accede de manera indirecta
a los anteriores campos.
En la Figura 2.4 se puede apreciar la relación que existe entre estos elementos. Hay que
destacar que a un cliente puede tener asociado varios Grupos y estos a su vez varios
ítems.
27
2.2.6 Interconexión Servidor OPC UA – Cliente OPC DA
Los servidores que implementan el estándar OPC UA poseen una puerta de enlace OPC
UA de alto rendimiento que permite que los productos que implementan uno de los
estándares del OPC clásico se conecten con los nuevos productos OPC UA [22].
Analizada las funcionalidades que debe tener la plataforma se analizan entonces las
herramientas y los métodos utilizados para llevar a cabo la solución de la misma. Para
que los datos estén disponible a cualquier instante de la simulación se utiliza un servidor
OPC. La plataforma deberá publicar los datos en el servidor OPC para que estos estén
disponibles para cualquier otro cliente que se conecte al servidor.
28
Capítulo 3. Desarrollo y configuración de la plataforma
Interfaz Gráfica
La interfaz visual del simulador está compuesta por tres ventanas: ventana de inicio,
ventana principal y ventana de configuración.
29
Figura 3.2 muestra la ventana de inicio. En esta ventana se pueden escoger entre los
distintos modelos configurados en la plataforma, en donde se muestra información
acerca del modelo seleccionado, informaciones que se pueden configurar para cada
modelo de forma independiente.
30
La ventana principal provee elementos para que el usuario pueda iniciar una simulación
y pararla, conectarse y desconectarse del servidor, así como visualizar las variables del
proceso. Esta ventana es presentada en la Figura 3.3.
Cuando el proceso se está simulando y existe una conexión al servidor, los datos de la
simulación se envían al servidor. En esta ventana también existe la posibilidad de
cambiar de modo de operación y simular un fallo en cualquier instante.
En la ventana de configuración, mostrada Figura 3.4, el usuario puede configurar/buscar
servidores OPC instalados en la computadora especificada por la dirección IP
proporcionada en el campo “host”. En esta pantalla también se puede configurar el
período de muestreo (en horas) y la velocidad de simulación (en segundos). Otra de las
opciones importantes en esta pantalla es la programación de fallos, en donde, el usuario
especifica diferentes fallos que quiere que se simule después de un cierto número de
muestras que la define el usuario también.
31
Figura 3.4: Pantalla de configuración.
Todas las funcionalidades descritas en estas ventanas, que conforman la interfaz gráfica
del simulador, responden a los requerimientos mencionados en el Capítulo 2 epígrafe
2.1.
• Poseer un elemento que permita compartir los datos con el espacio de trabajo
de MATLAB®.
• Configuración que permita establecer las condiciones iniciales del proceso al
cargarse.
A continuación, se muestra cómo proceder para que el modelo pueda cumplir con estos
requerimientos.
A continuación, se muestra cómo proceder para que el modelo pueda cumplir con estos
requerimientos.
El modelo del proceso debe poseer el bloque “To Workspace”, como se muestra en la
Error! Reference source not found.. A este bloque se conectan todas las señales que
se pretenden visualizar en la plataforma y/o enviar al servidor OPC. El bloque “To
32
Workspace” recibe una señal y la escribe en el espacio de trabajo de MATLAB®. Durante
la simulación el bloque almacena los datos en un buffer interno. Cuando termine o se
pause la simulación los datos son escritos en el espacio de trabajo.
33
puede establecer las condiciones iniciales del proceso en cuestión. Si el modelo posee
un script de inicialización es ahí donde hay que configurar para ejecutar el script. Para
configurar cualquier evento asociado al modelo se accede a las propiedades del modelo
y en la pestaña callbacks se inserta el nombre del script de inicialización del modelo tal
como se muestra en, en los anexos se presentan la forma que tienen los scripts para los
dos modelos aquí tratados.
Una vez configurado el modelo del proceso para la simulación, se deben realizar las
configuraciones en el servidor, que consiste en crear las etiquetas para cada variable
que se quiere escribir hacia o leer desde el servidor.
34
Figura 3.8: Configuración del Servidor OPC, Etiquetas del TEP, Reactor.
35
Anexo A y D se muestran los ficheros de configuración para cada proceso de prueba
presentado en este capítulo.
Para que el proceso pueda ser mostrado al usuario en la interfaz y estar disponible para
simular, es necesario añadirlo al fichero de configuración global. Este fichero es un
archivo xml que contiene una lista de todos los procesos configurados en la plataforma.
Para cada proceso nuevo que se añada, habrá que crear el grupo de etiquetas “listitem”
y “label” en donde “label” representa el nombre del proceso y debe coincidir con el
36
nombre de la carpeta y fichero de configuración del proceso, como se muestra en la
Error! Reference source not found..
37
𝐴(𝑔) + 𝐶(𝑔) + 𝐷(𝑔) → 𝐺(𝑙𝑖𝑞), 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑜 1
Los reactivos gaseosos entran al reactor para formar productos líquidos. La fase gaseosa
de las reacciones es catalizada por un catalizador no volátil que se disuelve en la fase
liquida. El reactor tiene un enfriador interno para eliminar el calor de la reacción. Los
productos dejan el reactor en la forma de vapor. El catalizador permanece en el reactor.
El flujo de producto del reactor pasa a través de un enfriador para condensar los
productos y de ahí al separador de vapor-liquido. Los componentes no condensados se
recirculan a través de un compresor centrifugo para alimentar el reactor. Los
componentes condensados se mueven a la columna de destilación para eliminar los
reactivos restantes mediante la separación con la corriente de alimentación número 4
(Figura 3.1.1). Los productos G y H salen de la base de la columna de destilación y se
separan en una sección aguas abajo que no se presenta en el diagrama. El inerte y el
subproducto se purgan del sistema como vapor en el separador vapor-líquido.
38
Figura 3.11: Diagrama del proceso de prueba Tennessee Eastman [20].
39
Tabla 3.1: Modos de operación, TEP
El volumen de producción de la planta está definido por la demanda del mercado o por
limitaciones en la capacidad de producción. La planta trabaja normalmente en un modo
de operación teniendo en cuenta los factores mencionados.
40
15 están asociados al atascamiento de válvulas. Los fallos del 16 al 20 son desconocidos
[5, 23].
41
Figura 3.12. Vista parcial del Archivo Simulink® del Tennessee Eastman.
Simulación
La Figura 3.13 muestra la simulación del proceso en funcionamiento normal del modo de
operación 1. El simulador se configuró con un periodo de muestreo de 3 minutos y una
velocidad de simulación de 2 segundos. En esta prueba el simulador no se conecta al
servidor OPC y lo datos no se envían al mismo.
42
Figura 3.13. Simulación, TEP. Alimentación de A en la corriente 1. Normal, Modo 1.
La Figura 3.14 muestra el efecto que tiene el fallo 1 en la variable XMEAS(1), Tabla A. 2,
en donde el proceso está en funcionamiento normal hasta cerca de las “12 horas”
iniciales, en este momento se introduce el fallo. En esta prueba el simulador está
conectado al servidor y los datos son enviados a este.
44
Modo 1 Modo 3
En la universidad “Alberta” Canadá, hay una planta piloto, que es un equipo experimental
de tanque agitado en el que se mezclan agua fría y caliente, tal mezcla se calienta aún
más con vapor a través de un serpentín de calentamiento, y se drena del tanque a través
de un tubo largo. La configuración se muestra en la Figura 3.17. El tanque es agitado,
por lo tanto, se considera que la temperatura a la salida del tanque es la misma que en
su interior. El tanque tiene una sección transversal circular con un volumen de 81 cm3 y
50 cm de altura [28].
Los elementos utilizados por el CSTH son servicios compartidos, por lo tanto, están
sujetas a perturbaciones de otros usuarios. El agua fría y caliente (CW y HW) del edificio
son presurizados por una bomba a la presión en el rango de 60-80 psi, y la caldera de
agua caliente es calentada por el suministro de vapor del campus universitario [28]. Los
archivos Simulink® del modelo se pueden descargar en [29].
45
Figura 3.17. Diagrama funcional de la planta piloto, CSTH [28].
𝑑𝑉(𝑥)
= 𝑞𝑐𝑤 + 𝑞ℎ𝑤 − 𝑞𝑜𝑢𝑡 (𝑥) (3.2)
𝑑𝑡
𝑑𝐻
= 𝑊𝑠𝑡 + ℎℎ𝑤 𝜌ℎ𝑤 𝑞ℎ𝑤 + ℎ𝑐𝑤 𝜌𝑐𝑤 𝑞𝑐𝑤 − ℎ𝑜𝑢𝑡 𝜌𝑜𝑢𝑡 𝑞𝑜𝑢𝑡 (𝑥) (3.3)
𝑑𝑡
En donde:
𝑥 Nivel en el tanque
𝑞ℎ𝑤 , ℎℎ𝑤 , 𝜌ℎ𝑤 Flujo, Calor especifico y densidad del agua caliente
𝑞𝑐𝑤 , ℎ𝑐𝑤 , 𝜌𝑐𝑤 Flujo, Calor especifico y densidad del agua fría
46
𝑞𝑜𝑢𝑡 , ℎ𝑜𝑢𝑡 , 𝜌𝑜𝑢𝑡 Flujo, Calor especifico y densidad del agua que sale del
tanque
Simulación
La Figura 3.18 muestra la simulación del proceso. En este caso se presenta la
temperatura en el tanque. Con esta simulación se muestra la capacidad de la plataforma
de simular diferentes procesos desde que estén correctamente configurados.
47
Figura 3.18. Datos de simulación enviado al servidor
48
muestran que la solución propuesta cumple con los objetivos que se propusieron
anteriormente.
49
Capítulo 4. Análisis económico
Este capítulo tiene como objetivo realizar el análisis financiero del presente trabajo de
diploma. Para ello, se definen una serie de conceptos de aspecto económico que
permiten planificar los costos en los cuales se incurrirá.
𝐶𝑇 = 𝐶𝐷 + 𝐶𝐼 (4.1)
Donde:
Salario Básico [30]: Se refiere al salario básico de los adiestrados por el tiempo que
trabajen en el proyecto, excluyendo vacaciones y seguridad social. Incluye, además, los
salarios básicos de todos los participantes en la elaboración del proyecto. La ecuación
muestra como calcular el salario básico.
𝑆𝐵𝑡𝑜𝑡𝑎𝑙 = ∑ 𝐴𝑖 𝐵𝑖 (4.3)
𝑖=1
Donde:
50
Estos parámetros se agrupan en la tabla 4.1 para un mejor análisis. Donde, además, se
considera que según la legislación cubana son laborables 24 días del mes y que el salario
del estudiante es de 150,00MN por haber sido alumno ayudante.
Seguridad Social (SS): Equivale al 10% de la suma del (Salario Básico + Salario
Complementario), lo cual se muestra en la ecuación (4.5).
Gastos por medios o materiales directos (MD): Se refiere a todos los gastos
realizados en la adquisición de los equipos, componentes, materiales, etc., utilizados
directamente en la investigación. En este caso:
MD = $ 0,0.
DP = $ 0,0.
51
Otros Gastos (OG): Se refiere al gasto por concepto de tiempo de máquina, el cual por
cada hora de trabajo equivale a un valor de $10;00MN. Este cálculo se realiza por medio
de la ecuación (4.6).
Teniendo todos los elementos se puede pasar al cálculo del Costo directo (CD) haciendo
uso de la ecuación (4.2): CD = $ 20994,7.
Como resultado se obtiene que el costo indirecto para realizar este proyecto tiene un
valor de:
CI = $ 4322,31.
52
Conclusiones
Haciendo uso de scripts de MATLAB® fue posible ejecutar y controlar las fases de
simulación de Simulink®, lo que permitió la simulación de procesos en tiempo real.
Para que la interacción con el usuario pueda ser amigable, se construye una interfaz
gráfica.
El resultado del trabajo es una plataforma que puede simular un proceso y enviar los
datos de la simulación a un servidor OPC en tiempo real, por eso, se puede afirmar que
la plataforma se puede utilizar para validación de la aplicación de diagnóstico de fallos
en línea.
53
Recomendaciones
54
Referencias Bibliográficas
55
[19] A. R. Cusidó. (2012, 30/05/2019). Control Automático de Procesos Industriales. Available:
www.alfredoroca.com
[20] J. J. Downs and E. F. Vogel, "A Plant-Wide Industrial Process Control Problem," Computer Chemical
Engineering vol. 17, no. 3, pp. 245-255, 1993.
[21] J. F. Garcia, "Supervisión, Control e Integración mediante PLC de un proceso que simula la
selección y taladro de piezas," Universidad Politécnica de Catalunya, Barcelona, España, 2017.
[22] U. Automation. UA GATEWAY. Available: www.unified-automation.com
[23] A. Bathelt, N. L. Ricker, and M. Jelali, "Revision of the Tennessee Eastman Process Model,"
presented at the IFAC, 2015.
[24] F. Capaci, E. Vanhatalo, M. Kulahci, and B. Bergquist, "The revised Tennessee Eastman process
simulator as testbed for SPC and DoE methods," Quality Engineering, 2018.
[25] M. Q. Grueiro, "Detección de Fallos en Sistemas Industriales con Múltiples Modos de Operación,"
Doctor en Ciencias Técnicas, Departamento de Automática y Computación, Universidad
Tecnológica de La Habana "José Antonio Echeverría", La Habana, Cuba, 2017.
[26] N. L. Ricker, "Decentralized Conntrol of the Tennessee Eastman Challenge Process," Proc. Cont,
vol. 6, no. 4, pp. 205-221, 1996.
[27] N. L. Ricker. (2005, 21/11/2018). Tennessee Eastman Challenge Archive. Available:
http://depts.washington.edu/control/LARRY/TE/download.html#Decentralized_control
[28] N. F. Thornhill, S. C. Patwardhan, and S. L. Shah, "A continuous stirred tank heater simulation model
with applications," Journal of Process Control, vol. 18, pp. 347-360, 2008.
[29] N. F. Thornhill, S. C. Patwardhan, and S. L. Shah. (2007, 16/05/2019). The CSTH simulation website.
Available: http://www.ps.ic.ac.uk/~nina/CSTHSimulation/index.htm
[30] M. A. Beade, M. M. Sbarbaro, and N. G. Flores, "OpenOffice Impress," ed. Argentina, 2006.
56
Anexos
57
Temperatura del separador de prod. XMEAS(11) 80.109 oC
del reactor
Separador. del agua de enfriamiento de XMEAS(22) 77.297 oC
58
IDV(1) Relación entre los flujos A/C, Composición de B constante Paso
IDV(2) Composición de B, la relación A/C constante Paso
IDV(3) Temperatura de alimentación de D Paso
IDV(4) Temperatura del agua de enfriamiento hacia el Reactor Paso
IDV(5) Temperatura del agua de enfriamiento hacia el Condensador Paso
IDV(6) Pérdida de Alimentación de A Paso
IDV(7) Reducción de la disponibilidad de C, perdida de presión Paso
IDV(8) Composiciones A,B,C Aleatorio
IDV(9) Temperatura de alimentación D Aleatorio
IDV(10) Temperatura de alimentación C Aleatorio
IDV(11) Temperatura del agua de enfriamiento hacia el Reactor Aleatorio
IDV(12) Temperatura del agua de enfriamiento hacia el Condensador Aleatorio
IDV(13) Cinética de la reacción Desviación lenta
IDV(14) Válvula, Agua de enfriamiento del reactor Atascamiento
IDV(15) Válvula, Agua de enfriamiento del condensador Atascamiento
IDV(16) Desconocido
IDV(17) Desconocido
IDV(18) Desconocido
IDV(19) Desconocido
IDV(20) Desconocido
Fallos Adicionales, Revisión de 2015 [23]
IDV(21) Alimentación de temperatura, A, corriente 1 Aleatorio
IDV(22) Alimentación de temperatura, E, corriente 3 Aleatorio
IDV(23) Alimentación de Presión, A, corriente 1 Aleatorio
IDV(24) Alimentación de Presión, D, corriente 2 Aleatorio
IDV(25) Alimentación de Presión, E, corriente 3 Aleatorio
IDV(26) Alimentación de Presión, A y C, corriente 4 Aleatorio
IDV(27) Agua de enfriamiento del reactor Aleatorio
IDV(28) Agua de enfriamiento del condensador Aleatorio
59
<variable>Feed Flow component A y C</variable>
<variable>Recycle flow ro reactor from separator</variable>
<variable>Reactor Feed</variable>
<variable>Reactor Pressure</variable>
<variable>Reactor Level</variable>
<variable>Reactor Temperature</variable>
<variable>Purge Flow</variable>
<variable>Separator Temperature</variable>
<variable>Separator Level</variable>
<variable>Separator Pressure</variable>
<variable>Separator underflow (liquid phase)</variable>
<variable>Stripper Level</variable>
<variable>Stripper Pressure</variable>
<variable>Stripper Underflow</variable>
<variable>Stripper Temperature</variable>
<variable>Stripper Steam Flow</variable>
<variable>Compressor Work</variable>
<variable>Reactor Cooling w ater outlet Temp</variable>
<variable>Condenser cooling water temperature</variable>
<variable>Conc of A in Reactor</variable>
<variable>Conc of B in Reactor</variable>
<variable>Conc of C in Reactor</variable>
<variable>Conc of D in Reactor</variable>
<variable>Conc of E in Reactor</variable>
<variable>Conc of F in Reactor</variable>
<variable>Conc of A in Purge</variable>
<variable>Conc of B in Purge</variable>
<variable>Conc of C in Purge</variable>
<variable>Conc of D in Purge</variable>
<variable>Conc of E in Purge</variable>
<variable>Conc of F in Purge</variable>
<variable>Conc of G in Purge</variable>
<variable>Conc of H in Purge</variable>
<variable>Conc of D in Stripper underflow</variable>
<variable>Conc of E in Stripper underflow</variable>
<variable>Conc of F in Stripper underflow</variable>
<variable>Conc of G in Stripper underflow</variable>
<variable>Conc of H in Stripper underflow</variable>
</list>
<list>
<itemServer>TEP.Reactor.FlujoA</itemServer>
<itemServer>TEP.Reactor.FlujoD</itemServer>
60
<itemServer>TEP.Reactor.FlujoE</itemServer>
<itemServer>TEP.Reactor.FlujoAC</itemServer>
<itemServer>TEP.Reactor.flujoReciclo</itemServer>
<itemServer>TEP.Reactor.Feed</itemServer>
<itemServer>TEP.Reactor.Presion</itemServer>
<itemServer>TEP.Reactor.Nivel</itemServer>
<itemServer>TEP.Reactor.Temperatura</itemServer>
<itemServer>TEP.Purge.flujo</itemServer>
<itemServer>TEP.Separator.Temperatura</itemServer>
<itemServer>TEP.Separator.Nivel</itemServer>
<itemServer>TEP.Separator.Presion</itemServer>
<itemServer>TEP.Separator.Flujo</itemServer>
<itemServer>TEP.Stripper.Nivel</itemServer>
<itemServer>TEP.Stripper.Presion</itemServer>
<itemServer>TEP.Stripper.FlujoV</itemServer>
<itemServer>TEP.Stripper.Temperatura</itemServer>
<itemServer>TEP.Stripper.FlujoM</itemServer>
<itemServer>TEP.Compressor.trabajo</itemServer>
<itemServer>TEP.Reactor.CoolingTemp</itemServer>
<itemServer>TEP.Condenser.temperatura</itemServer>
<itemServer>TEP.Reactor.concA</itemServer>
<itemServer>TEP.Reactor.concB</itemServer>
<itemServer>TEP.Reactor.concC</itemServer>
<itemServer>TEP.Reactor.concD</itemServer>
<itemServer>TEP.Reactor.concE</itemServer>
<itemServer>TEP.Reactor.concF</itemServer>
<itemServer>TEP.Purge.concA</itemServer>
<itemServer>TEP.Purge.concB</itemServer>
<itemServer>TEP.Purge.concC</itemServer>
<itemServer>TEP.Purge.concD</itemServer>
<itemServer>TEP.Purge.concE</itemServer>
<itemServer>TEP.Purge.concF</itemServer>
<itemServer>TEP.Purge.concG</itemServer>
<itemServer>TEP.Purge.concH</itemServer>
<itemServer>TEP.Stripper.concD</itemServer>
<itemServer>TEP.Stripper.concE</itemServer>
<itemServer>TEP.Stripper.concF</itemServer>
<itemServer>TEP.Stripper.concG</itemServer>
<itemServer>TEP.Stripper.concH</itemServer>
</list>
<list>
<mode>
61
<label>Modo 1</label>
<file>MultiLoop_mode1</file>
</mode>
<mode>
<label>Modo 2</label>
<file>MultiLoop_mode1</file>
</mode>
<mode>
<label>Modo 3</label>
<file>MultiLoop_mode3</file>
</mode>
</list>
<list>
<fail>Normal</fail>
<fail>Fallo 1</fail>
<fail>Fallo 2</fail>
<fail>Fallo 3</fail>
<fail>Fallo 4</fail>
<fail>Fallo 5</fail>
<fail>Fallo 6</fail>
<fail>Fallo 7</fail>
<fail>Fallo 8</fail>
<fail>Fallo 9</fail>
<fail>Fallo 10</fail>
<fail>Fallo 11</fail>
<fail>Fallo 12</fail>
<fail>Fallo 13</fail>
<fail>Fallo 14</fail>
<fail>Fallo 15</fail>
<fail>Fallo 16</fail>
<fail>Fallo 17</fail>
<fail>Fallo 18</fail>
<fail>Fallo 19</fail>
<fail>Fallo 20</fail>
<fail>Fallo 21</fail>
</list>
</processinfo>
62
Anexo B. Tanque Calentador Continuamente Agitado (CSTH)
63
<?xml version="1.0" encoding="UTF-8"?>
<processinfo>
<label>Tanque Calentador continuamente Agitado</label>
<description>es un equipo experimental de tanque agitado en el que se calientan con vapor a
través de un serpentín de calentamiento y se drenan del tanque a través de un tubo largo.Las utilidades
del CSTH son servicios compartidos y, por lo tanto, están sujetas a perturbaciones de otros usuarios.
</description>
<image>CSTH.jpg</image>
<list>
<variable>Referencia del nivel</variable>
<variable>Nivel en el tanque</variable>
<variable>Flujo de Salida</variable>
<variable>Señal de control de Nivel</variable>
<variable>Señal de control de flujo</variable>
<variable>Referencia para el flujo de agua caliente</variable>
<variable>Referencia de temperatura</variable>
<variable>Temperatura en el tanque</variable>
<variable>Señal de control de Temperatura</variable>
</list>
<list>
<itemServer>CSTH.Tanque.refNivel</itemServer>
<itemServer>CSTH.Tanque.Nivel</itemServer>
<itemServer>CSTH.Tanque.cwflow</itemServer>
<itemServer>CSTH.Tanque.Ulevel</itemServer>
<itemServer>CSTH.Tanque.Ucwflow</itemServer>
<itemServer>CSTH.Tanque.HWflowRef</itemServer>
<itemServer>CSTH.Tanque.tempref</itemServer>
<itemServer>CSTH.Tanque.Temp</itemServer>
<itemServer>CSTH.Tanque.Utemp</itemServer>
</list>
<list>
<mode>
<label>Modo 1</label>
<file>CSTHDisturbedStdOp1</file>
</mode>
<mode>
<label>Modo 2</label>
<file>CSTHDisturbedStdOp2</file>
</mode>
</list>
<list>
<fail>Normal</fail>
64
<fail>Fallo 1</fail>
<fail>Fallo 2</fail>
<fail>Fallo 3</fail>
<fail>Fallo 4</fail>
<fail>Fallo 5</fail>
<fail>Fallo 6</fail>
<fail>Fallo 7</fail>
<fail>Fallo 8</fail>
<fail>Fallo 9</fail>
</list>
</processinfo>
65
66