Sei sulla pagina 1di 78

Universidad Tecnológica de La Habana “José Antonio Echeverría”

Facultad de ingeniería Automática y Biomédica


Departamento de Automática y Computación

Titulo:
Plataforma para la Simulación de
Procesos Industriales

Trabajo de Diploma para optar por el título de


Ingeniero en Automática

Autor:
Inácio Kawala

Tutores:
Dr. Ing. Alberto Prieto Moreno
Ing. Adriana Villalón Falcón

La Habana, julio de 2019


DECLARACIÓN DE AUTORIDAD

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

Lic. Adriana Villalón Falcón


“Para el hombre falso, el universo entero es falso, impalpable, y todo lo
que palpa se convierte en nada”. Nathaniel Hawthorne.
RESUMEN

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.

En el presente trabajo de diploma se presenta el desarrollo de una plataforma de


simulación para procesos industriales, utilizando las herramientas de MATLAB ®. La
plataforma simula modelos de procesos elaborados con Simulink ® y permite el envío de
los datos de la simulación a un servidor OPC para que estos puedan ser utilizados por
otras aplicaciones que interactúan con un SCADA. La plataforma permite la simulación
total del proceso para un período de tiempo indicado o la simulación continua del mismo.
Esta última opción permite que el usuario recibir datos como si estuviera midiendo las
variables del proceso en tiempo real. Se construye una interfaz gráfica para que la
interacción con el usuario sea más amigable.

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

Lista De Figuras ..............................................................................................................iv

Lista De Tablas ...............................................................................................................vi

Introducción..................................................................................................................... 1

Capítulo 1. Estado Del Arte ............................................................................................. 6

1.1 Modelos ............................................................................................................ 6


1.1.1 Modelos Físicos ............................................................................................ 6
1.1.2 Modelos Matemáticos ................................................................................... 7
1.2 Simulación de Procesos ................................................................................... 7
1.2.1 La simulación a lo largo de los tiempos ......................................................... 8
1.2.2 Simulación por Computadora ........................................................................ 9
1.3 Mecanismos para el intercambio de la información .......................................... 9
1.3.1 Controladores Específicos........................................................................... 10
1.3.2 Controladores Genéricos............................................................................. 11
1.3.3 Tecnología OPC .......................................................................................... 11
1.4 Simuladores de procesos industriales ............................................................ 13
1.4.1 Simuladores comerciales ............................................................................ 14
1.4.2 Simuladores programados en lenguajes de propósito general.................... 14
1.4.1 MATLAB® .................................................................................................... 14
1.4.2 Cliente OPC ................................................................................................ 15
1.4.3 Simulink® ..................................................................................................... 16
1.4.4 Simulación en Tiempo Real con MATLAB® ................................................. 16
1.4.5 GUIDE ......................................................................................................... 17
1.4.6 Aplicaciones de Simuladores creado en lenguajes de propósito general .... 17
1.5 Necesidades del grupo de investigación ......................................................... 19
1.6 Conclusiones del capitulo ............................................................................... 20

Capítulo 2. Herramientas y métodos ............................................................................. 22


2.1 Concepción de la plataforma .......................................................................... 22
2.2 Herramientas para el desarrollo de la plataforma ........................................... 23
2.2.1 Simulink® ..................................................................................................... 23
2.2.2 Temporización ............................................................................................. 24
2.2.3 Interfaz Gráfica ............................................................................................ 25
2.2.4 KEPServerEx .............................................................................................. 25
2.2.5 Cliente OPC DA .......................................................................................... 26
2.2.6 Interconexión Servidor OPC UA – Cliente OPC DA .................................... 28
2.3 Conclusiones del capitulo ............................................................................... 28

Capítulo 3. Desarrollo y configuración de la plataforma ................................................ 29

3.1 Plataforma de Simulación ............................................................................... 29


Interfaz Gráfica....................................................................................................... 29
3.2 Configuración de un proceso .......................................................................... 32
3.2.1 Modelo del proceso en Simulink® ................................................................ 32
3.2.2 En el servidor OPC ...................................................................................... 34
3.2.3 Fichero de configuración del proceso .......................................................... 35
3.2.4 Fichero de configuración global................................................................... 36
3.3 Procesos a simular ......................................................................................... 37
3.3.1 Proceso Tennessee Eastman (TEP) ........................................................... 37
3.3.2 Tanque Calentador Continuamente Agitado (CSTH) .................................. 45
3.4 Conclusiones del capitulo ............................................................................... 48

Capítulo 4. Análisis Económica ..................................................................................... 50

4.1 Costo Total...................................................................................................... 50


4.1.1 Costo Directo............................................................................................... 50
4.1.2 Costo Indirecto ............................................................................................ 52

Conclusiones ................................................................................................................. 53

Recomendaciones......................................................................................................... 54

Referencias Bibliográficas ............................................................................................. 55

Anexos .......................................................................................................................... 57
Anexo A. Proceso de prueba Tennessee Eastman ................................................. 57
Anexo B. Tanque Calentador Continuamente Agitado (CSTH) ............................... 63
LISTA DE FIGURAS

Figura 1.1: Simulación hecha a mano. [7]. ....................................................................... 8


Figura 1.2: El problema de la comunicación sin OPC. ...................................................... 11
Figura 1.3: Comunicación con OPC. ............................................................................ 12
Figura 1.4. Ventanas del simulador ControlP [19]. ............................................. 18
Figura 1.5. Simulador de un proceso de mezclador [12]. ................................... 19
Figura 1.6. Diagrama de flujo de un simulador de proceso. Adaptado de [20]. .. 19
Figura 2.1. Esquema conceptual de la Plataforma de Simulación. .................... 23
Figura 2.2. Interacción MATLAB®- Simulink®. .................................................... 24
Figura 2.3: Arquitectura de KEPServerEx [21]. ............................................................... 26
Figura 2.4. Estructura de objetos, OPC DA. ....................................................... 27
Figura 2.5. Estructura de la puerta de enlace [22]. ............................................ 28
Figura 3.1. Integración de las herramientas. ...................................................... 29
Figura 3.2: Ventana de Inicio del simulador. ...................................................... 30
Figura 3.3: Pantalla principal del simulador........................................................ 31
Figura 3.4: Pantalla de configuración. ................................................................ 32
Figura 3.5: Bloque “Toworkspace” , CSTH......................................................... 33
Figura 3.6: Configuración del bloque “Toworkspace”. ........................................ 33
Figura 3.7: Definiendo el Script de inicialización del modelo. .............................................. 34
Figura 3.8: Configuración del Servidor OPC, Etiquetas del TEP, Reactor. ............................. 35
Figura 3.9: Plantilla para el fichero de configuración de un proceso. .................................... 36
Figura 3.10: Fichero de configuración global .................................................................. 37
Figura 3.11: Diagrama del proceso de prueba Tennessee Eastman [20]. ......... 39
Figura 3.12. Vista parcial del Archivo Simulink® del Tennessee Eastman.......... 42
Figura 3.13. Simulación, TEP. Alimentación de A en la corriente 1. Normal, Modo 1.
.................................................................................................................... 43
Figura 3.14. Simulación, TEP. Alimentación de A en la corriente 1. Fallo 1, Modo 1.
.................................................................................................................... 43
Figura 3.15. Datos de simulación enviado al servidor ........................................ 44
Figura 3.16. Simulación de diferentes modos de operación. TEP. ..................... 45

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

Tabla 3.1: Modos de operación, TEP ................................................................. 40


Tabla 4.1: Salario básico de cada participante ................................................... 51
Tabla A. 1: Variables manipuladas, TEP [20] ..................................................... 57
Tabla A. 2: Variables del proceso, medidas continuamente, TEP [20] ............... 57
Tabla A. 3: Variables Muestreadas, TEP [20] .................................................... 58
Tabla A. 4: Fallos del proceso ,TEP, [20, 23]. .................................................... 58
Tabla B. 1: Característica de los modos de operación ....................................... 63

vi
AGRADECIMIENTOS

vii
A la memoria de Carlos Catumbela Justino.

À mi mamá, Rosalina Naquinta, mi timón. Nunca lograría este hecho


sino fuera por ti.

À mi hermano Tilson, pues fuiste muy valiente en estos años de


lejanía, este logro también es tuyo.

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].

Un proceso “…es una secuencia, u orden definido, de actividades químicas, físicas o


biológicas que se llevan a cabo para la conservación, transporte o almacenamiento de
material o energía”. Así, la automatización, se establece como forma de ordenación a
partir de la secuenciación automática de tareas y regulación de variables (por intermedio
de controladores) para que sigan las referencias establecidas [4].

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].

Debido a estas desviaciones no compensadas correctamente por los controladores surge


la necesidad de incorporar nuevas técnicas en el control y vigilancia de los procesos.
Con este propósito surge la rama de la supervisión de procesos. La supervisión de un
proceso es, “… un conjunto de acciones realizadas con el propósito de asegurar el
correcto funcionamiento del proceso incluso en situaciones anómalas”. La supervisión
está presente en cualquier proceso productivo y se realiza a través de “ingenieros y
operarios especializados, que detectan la presencia de comportamientos anómalos y

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:

 Registrar la evolución del proceso y detectar desviaciones indeseables en las


variables.
 Analizar estas desviaciones y deducir el motivo. Elaborar un diagnóstico de la
situación.
 Resolver situaciones conflictivas en línea, en caso de ser posible, o
 Tomar las medidas adecuadas para que no vuelva a suceder.

Una parte importante de la supervisión se centra en el diagnóstico de fallos que agrupa


procedimientos como: detección, identificación, aislamiento de los fallos y recuperación
del proceso.

El grupo de investigación de “Diagnóstico de Fallos y Estimación de Parámetros” del


departamento de Automática y Computación, de la facultad de Automática y Biomédica
de la Universidad Tecnológica de La Habana “José Antonio Echeverría”, ha trabajo desde
sus inicios en el desarrollo de técnicas de diagnóstico de fallos en procesos industriales.
Actualmente se está desarrollando una aplicación para el diagnóstico de fallos en línea
en procesos industriales, y es necesario probar la efectividad del diagnóstico antes de
ser implementados en la industria, pruebas que aseguran la confiabilidad del sistema
desarrollado y permiten hacer comparaciones con otros sistemas de diagnóstico
existentes.

La aplicación posee un cliente OPC UA como mecanismo de comunicación, lo que


permite la recepción de datos externo a la aplicación para poder realizar el diagnóstico.
El grupo de investigación cuenta con modelos de procesos reales y, es necesario la
simulación en tiempo real de dichos modelos para que la aplicación pueda hacer un
diagnóstico en línea de dicho proceso.

Debido a la situación expuesta anteriormente surge el siguiente problema científico:

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.

Con el propósito de resolver la problemática planteada anteriormente, se formula la


siguiente hipótesis: Utilizando las herramientas de MATLAB® es posible desarrollar una
plataforma de simulación de procesos que permita la simulación de un proceso en tiempo
real y publicar los resultados de la simulación en un servidor OPC.

El campo de acción del presente trabajo es simulación de procesos.

Como objetivo general se propone: Desarrollar una plataforma de simulación de


procesos que permita la simulación en tiempo real de un proceso y publicar los resultados
de la simulación a través de un servidor OPC.

En correspondencia con el objetivo general de esta investigación se trazan los siguientes


objetivos específicos:

 Realizar la simulación en tiempo real de un proceso.


 Publicar los resultados en un servidor OPC.
 Desarrollar la plataforma para el Proceso Tennessee Eastman.
 Generalizar la plataforma para diferentes Procesos.
 Desarrollar una interfaz visual.

A partir de los objetivos se planifican las tareas de la investigación que se presentan


en la siguiente tabla:

Tareas desarrolladas durante la realización de la tesis


Tarea Fecha Inicio Fecha fin
Simulación continua. 06-11-2018 07-11-2018
Simular el modelo TEP
desde la ventana de comandos.
Comunicación del 08-11-2018 22-11-2018

3
entorno MATLAB® con el servidor
OPC
(KepServerEx V6)

Simular el modelo TEP 07-01-2019 11-01-2019


un solo paso, a partir de las
condiciones
actuales, comunicarlo
con el workspace
Comparación de la simulación paso a 18-02-2019 22-02-2019
paso (tarea 3) con la simulación
continua tarea (1)
Publicar los resultados de la tarea (3) 18-02-2019 22-02-2019
en el servidor OPC.
Simulación de fallos en el TEP 18-02-2019 22-02-2019
Generalización de la plataforma 15-04-2019 05-2019
Interfaz visual 08-01-2018 06-2019
Elaboración del documento de tesis 04-2018 06-2019

En el desarrollo del trabajo de diploma se emplean los siguientes métodos de


investigación:

 Métodos teóricos

o Análisis y síntesis: Se utilizó para determinar las posibles variantes de


solución una vez analizada la situación problema.
o Hipotético deductivo: permitió a partir de la hipótesis, elaborar
conclusiones sobre la factibilidad de la utilización del sistema a diseñar.
o Inducción y deducción: Permitió a partir del estudio de las características
del proyecto, qué fue necesario realizar para cumplir los objetivos
propuestos.
o Histórico y lógico: Se empleó en el análisis de la bibliografía y los
antecedentes.

4
 Métodos empíricos

o Observación: se empleó este método en el análisis de los resultados


obtenidos.
o Experimentación: se empleó este método al realizar las pruebas sobre la
plataforma.
o Criterio de experto: Se empleó este método junto del método estadístico
para determinar el tiempo mínimo que se utilizaría en la simulación del
modelo TEP.
 Métodos estadísticos: Se aplicó métodos del Control Estadístico de Procesos para
determinar el tiempo mínimo que se puede utilizar como tiempo de muestreo en
la plataforma.

El presente trabajo de diploma cuenta con la siguiente estructura: Resumen,


Introducción, 5 capítulos, conclusiones, recomendaciones y referencias bibliográficas.

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.

En el Capítulo 2: “Herramientas y métodos”, se presenta el diseño de la plataforma para


la simulación de procesos industriales en tiempo real, y las principales herramientas
utilizadas en el desarrollo de la misma, teniendo en cuenta las necesidades de los
usuarios finales.

En el Capítulo 3: “Desarrollo y configuración de la plataforma”, se describe el desarrollo


de la plataforma a partir de la integración de las herramientas en el capítulo 2 , se
presenta también como configurar la plataforma para simular un proceso y los procesos
de prueba incorporados a la plataforma.

En el Capítulo 4: “Análisis ”, se realiza el análisis financiero del presente trabajo de


diploma.

5
Capítulo 1. Estado del arte

Simulación “… se refiere a una colección de métodos y aplicaciones para imitar el


comportamiento de un sistema real” ante diferentes situaciones, usualmente en una
computadora con un software apropiado” [6].

En este capítulo se presentan los conceptos esenciales relacionado a la temática de la


simulación de procesos. Una revisión bibliográfica es expuesta, presentando el interés
que la comunidad científica ha puesto en el este tema.

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.

Existen diferentes tipos de modelos. Estos se mencionan en los siguientes acápites.

1.1.1 Modelos Físicos

Un modelo físico es un montaje con objetos reales para reproducir el comportamiento de


algunos aspectos de un sistema físico o mecánico más complejo a diferente escala. Es
una réplica física o una representación a escala del sistema físico [6].

El modelo físico posee las siguientes ventajas:

 Al ser construido tridimensionalmente, presenta una buena percepción de los


detalles.
 Sustituye al sistema real en experimentos

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.

1.1.2 Modelos Matemáticos

La modelación matemática de un proceso es fundamental en el control [7]. Los modelos


matemáticos de un sistema dinámico son un “… conjunto de ecuaciones que representan
la dinámica del sistema con precisión, o al menos, bastante bien” [8]. Las ecuaciones
resultantes de leyes físicas que gobiernan el sistema y/o balances energéticos y de
masas, representan la salida del sistema ante cualquier entrada y permiten al
investigador analizar el sistema ante diferentes situaciones.

Un modelo matemático puede adoptar diferentes formas, en dependencia del sistema en


particular o de las circunstancias, por lo que una forma de representación puede ser más
conveniente que otras [6, 8]. Algunas de las formas pueden ser: ecuaciones
diferenciales, funciones transferenciales y representación en el espacio de estados.

Los modelos matemáticos junto a la simulación, forman la base de las metodologías de


diseños analíticos para sistemas de control a lazo abierto y lazo cerrado [7]. El primer
paso que un ingeniero de control da cuando se le asigna la tarea de diseñar un sistema
de control para una determinada planta, será obtener el modelo (si no lo posee) y simular
dicho modelo.

Los modelos matemáticos presentan la ventaja de mantener las mismas condiciones de


los experimentos ya que estos no presentan desgastes, contrario a lo que pasaba con
los modelos físicos.

1.2 Simulación de Procesos

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.

En [10], se reporta que alrededor de 1733, George Louis Lecrerc describió un


experimento para estimar el valor de 𝜋. Si arrojas una aguja de longitud 𝐿 sobre una
mesa pintada con líneas paralelas separadas una distancia 𝑑(𝑑 ≥ 𝐿), resulta que la aguja
cruzará una línea con una probabilidad de:

2𝐿
𝑝= (1.1)
𝜋𝑑

Basado en lo dicho anteriormente, la Figura 1.1 muestra un experimento de simulación


para estimar el valor de 𝜋.

Figura 1.1: Simulación hecha a mano. [7].

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.

1.2.2 Simulación por Computadora

En [6] se define simulación como, el proceso de diseño y creación de un modelo


computarizado de un sistema real o propuesto, con el propósito de conducir un
experimento numérico que permite entender mejor el comportamiento del sistema para
un conjunto de condiciones dada. De [11], se puede extraer que la simulación de
procesos es una reproducción del comportamiento de un proceso o sistema físico
determinado. En la simulación de procesos se sustituyen situaciones reales por otras
diseñadas virtualmente. En [11, 12] mencionan también que un proceso se simula con el
fin de aprender acciones, habilidades, hábitos y/o competencias, para posteriormente
transferirlas a situaciones de la vida real con igual efectividad; en esta actividad no sólo
se acumula información teórica, sino que se lleva a la práctica.

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.

Un modelo de simulación permite ejecutarse a una velocidad variable, es decir, se puede


hacer que los eventos de la simulación sucedan más lentos, igual o mucho más rápido
que el tiempo real. De esta manera, se puede simular en unos cuantos minutos todo un
día, meses o años del proceso; y evaluar impactos tales como: cambios en la producción
o determinar en qué momento el proceso se recupera de un fallo.

1.3 Mecanismos para el intercambio de la información


9
Hoy en día la automatización se utiliza de modo generalizado en todas las principales
industrias. Mientras distintas industrias utilizan distintos dispositivos especializados,
sistemas de control y aplicaciones, todas comparten un reto común, que crece
rápidamente – cómo compartir información entre todos estos componentes y el resto de
la empresa [14, 15].

Los fabricantes utilizaban frecuentemente protocolos que permitían a productos de una


determinada gama comunicarse entre ellos, pero requerían protocolos específicos para
comunicarse con productos de otros fabricantes. Para empeorar las cosas, distintas
gamas de productos del mismo fabricante frecuentemente no eran capaces de comunicar
entre sí, necesitando conectores adicionales [15].

1.3.1 Controladores Específicos

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.

1.3.2 Controladores Genéricos

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].

1.3.3 Tecnología OPC

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.

Debido a su alta adherencia, la Fundación OPC, entidad responsable del desarrollo y


mantenimiento del estándar, ha desarrollado una nueva especificación, el OPC UA
(Arquitectura Unificada) [19, 20]. La antigua especificación basada en Tecnologías
Windows de Microsoft quedó conocida como especificación OPC clásica. Actualmente el
acrónimo OPC hace referencia a Plataforma para Comunicaciones Abiertas (Open
Platform Communications) [19].

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]:

OPC DA (Data Access)


Utilizado para mover datos en tiempo real desde PLC, DCS, y otros dispositivos de
control hacia HMI y/o otros clientes de visualización.

OPC HDA (Historical Data Access)


Provee acceso a datos previamente almacenados (datos históricos). Desde un simple
sistema serial para el registro de datos hasta un sistema SCADA complejo, los archivos
históricos pueden ser recuperados de una manera uniforme.

OPC A&E (Alarms & Events)


Provee notificaciones demandadas de alarmas y eventos. Esto incluye alarmas de
procesos, acciones de operador, mensajes de información y mensajes auditivos.

OPC UA (Unified Architecture)


Desarrollada en 2008, contrario de las anteriores especificaciones, es independiente de
la plataforma con arquitectura orientada a servicio integrando todas las funcionalidades
de las especificaciones del OPC clásico (OPC DA, OPC HDA y OPC A&E) en un entorno
extensible.

1.4 Simuladores de procesos industriales

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].

Todos ellos son simuladores de procesos en estado transitorio y estado estable, un


aspecto muy importante en los simuladores de procesos, es la disponibilidad de los
diferentes equipos usados en la industria de procesos, así como la disponibilidad de
propiedades termodinámicas y de transporte de datos en las flechas de flujo del proceso.
Estas propiedades son fundamentales para efectuar los balances de materia y energía,
por lo que, si se ingresan buenos datos para las propiedades en estudio, los resultados
de la simulación serían altamente confiables [11].

1.4.2 Simuladores programados en lenguajes de propósito general

Además de los principales simuladores comerciales realizados con conocimientos de


expertos, anteriormente mencionados, existen otros simuladores elaborados con
programas de computación basados en lenguajes de programación de uso general o
específico [7, 11] tales como: LabVIEW, lenguaje C++, C, Visual Basic, MATLAB®, entre
otros. Cuya característica resaltante en común, está enmarcada por la personalización
del proceso que se desea simular [11]. Las desventajas de realizar aplicaciones
personalizadas radican en el tiempo requerido de diseño y baja capacidad de
configuración y escalabilidad. Una vez obtenido el diseño, la calidad de la simulación es
satisfactoria y ajustada a las necesidades del usuario. Este último grupo de simuladores
personalizados, diseñado por expertos, es muy empleado en el ámbito académico en las
principales universidades afines a la instrumentación industrial y el control de
procesos[11].

1.4.1 MATLAB®

MATLAB® (MATrix LABoratory) es un lenguaje de alto nivel y un entorno interactivo para


cálculos numéricos, visualización de datos y programación. Usando MATLAB ® se puede
analizar datos, desarrollar algoritmos, crear modelos y aplicaciones. El lenguaje
MATLAB®, las herramientas y las funciones matemáticas predefinidas, posibilitan

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 ®.

1.4.2 Cliente OPC

MATLAB® posee la herramienta OPC Toolbox™. Esta herramienta implementa una


jerarquía orientada a objeto que permite la comunicación con servidores OPC que
implementan el estándar OPC DA y HDA [17, 21], en este caso MATLAB® se puede
comunicar también con servidores OPC que implementan el estándar OPC UA, como
KEPServerEX, al ser este compatible con los dos estándares mencionados.

Esta herramienta provee tres formas para implementar un cliente OPC DA [21]:

• Ejecutar todas las funciones de la herramienta directamente desde la


ventana de comando de MATLAB® o incorporándolas en una aplicación de
MATLAB®.

• 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.

• Usar bloques de la librería de Simulink® para leer desde y escribir al


servidor OPC mientras se simula el proceso.

La segunda opción se refiere a interfaces predefinida que pose MATLAB® en donde la


configuración del cliente, lectura y escritura se efectúan por medio dichas interfaces. La
tercera opción requiere la adición de dos bloques de la herramienta OPC al modelo al
que se pretende enviar sus datos de simulación al servidor, un bloque para la
configuración de la comunicación y otro bloque para el intercambio de datos con el
servidor. Las dos opciones no son flexibles cuanto la primera, que funciona de una
manera más generalizada.

15
1.4.3 Simulink®

Para el modelado y simulación de un proceso en MATLAB® se utiliza Simulink® que es


una aplicación que permite construir y simular modelos de sistemas físicos y de control,
mediante diagramas de bloques. El comportamiento de dichos sistemas se define
mediante funciones de transferencia, operaciones matemáticas, elementos de
MATLAB®, y señales predefinidas de distintos tipos. La herramienta dispone de una serie
de utilidades que facilitan la visualización, análisis y guardado de los resultados de
simulación. Se emplea profundamente en la ingeniería de control [9].

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.

Al iniciar una simulación, la herramienta compila el modelo generando código ejecutable,


y entra en la fase de enlace, en donde entre otras cosas, se reserva la memoria para que
el modelo se pueda ejecutar sin contratiempos. Una vez terminada la fase de enlace,
empieza la fase del bucle de simulación, en esta fase el motor de Simulink® calcula
sucesivamente los estados y las salidas del sistema en el intervalo definido por el tiempo
de inicio de simulación y tiempo final, utilizando la información proporcionada por el
modelo.

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.

1.4.4 Simulación en tiempo real con MATLAB®

En MATLAB®, se pueden llevar a cabo simulaciones en tiempo real haciendo uso de la


herramienta Desktop Real-Time™ o creando funciones que simulan el tiempo real
(tiempo cuasi real).

La herramienta Desktop Real-Time™ posibilita simulaciones del tipo (HIL, Hardware In


the Loop) [18]. La configuración del Simulink® en modo externo posibilita crear
aplicaciones en tiempo real. Esta herramienta permite un tiempo de muestreo por debajo
del 1ms.

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 Simuladores creado en lenguajes de propósito general

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].

1.4.6.2 Plataforma para prácticas simuladas


La simulación es una herramienta muy común según se presenta en los apartados
anteriores, y en Cuba también es muy utilizada debido a las ventajas que esta presenta.
Es así que en la Universidad Central “Marta Abreu” de Las Villas, se desarrolla una
plataforma que permite la comunicación entre las aplicaciones de simulación, control y
supervisión; de modelos matemáticos de procesos industriales [12], con el objetivo de crear
un sistema de prácticas virtuales para varias asignaturas de la carrera de ingeniería
Automática de aquella universidad. El sistema de simulación cuenta con dos procesos:
un reactor y un mezclador, cuyas pantallas presentan animación en tiempo real, como
se muestra en la Figura 1.5. Los bloques PID son implementados en PLC que se
comunican con el proceso mediante un servidor OPC.

18
Figura 1.5. Simulador de un proceso de mezclador [12].

Los dos ejemplos presentados, muestran, en el primer caso, simulador construido en un


lenguaje de propósito general y en el segundo caso, muestra el uso de la tecnología OPC
para comunicar un modelo de Simulink®/ MATLAB® con un PLC implementado en otro
software, Movicon X2.

1.4.6.3 Simuladores de procesos con fallos


La aplicación de diagnóstico en línea a la que se hacía referencia en la introducción,
trabaja con modelos matemáticos que presentan la posibilidad de simular fallos. La
aplicación para simular dichos modelos debe ser capaz de calcular los estados del
modelo para cada instante de tiempo presente en el intervalo de simulación.

Figura 1.6. Diagrama de flujo de un simulador de proceso. Adaptado de [20].

La Figura 1.6 muestra un diagrama de flujo de un simulador de proceso. El modelo


presentado en [20] se simula utilizando Simulink®, que hace las operaciones presentadas
en el diagrama de forma sencilla para el usuario.

1.5 Necesidades del grupo de investigación

El grupo de investigación de “Diagnóstico de Fallos y Estimación de Parámetros” del


departamento de Automática y Computación, de la facultad de Automática y Biomédica
de la Universidad Tecnológica de La Habana “José Antonio Echeverría”, ha trabajo desde
sus inicios en el desarrollo de técnicas de diagnóstico de fallos en procesos industriales
19
[12-16]. Para poder probar las diferentes técnicas de diagnóstico de fallos se recurre a la
simulación de modelos de procesos reales o teóricos. Los datos de la simulación de estos
procesos son recolectados para posteriormente ser analizados para el diagnóstico de los
mismos.

La simulación de los modelos en el entorno académico generalmente se hace en el


software de modelación y simulación Simulink®.

Es importante destacar que los datos de simulación son obtenidos de un software de


simulación, y se envían al sistema de diagnóstico para su procesamiento.

La simulación de los modelos generalmente en el entorno académico se hace en el


software de modelación y simulación Simulink®. De lo dicho anteriormente se concluye
que en la tarea que desarrollan los investigadores de la rama de diagnóstico de fallos
debe haber una transferencia de datos entre el software de simulación y el sistema de
diagnóstico.

Los modelos a simular deben ser capaces de responder a los requerimientos


establecidos en esta área, como por ejemplo, si el modelo debe poseer muchos modos
de operación o un modo solamente [14]. Por lo que la plataforma debe permitir o facilitar
la transición entre los modos de un modelo. De igual forma, la plataforma debe permitir
también el comienzo de la simulación de un fallo después de un tiempo en
funcionamiento sin fallo (a lo que se llamará funcionamiento normal de ahora en lo
adelante). En [14] el autor presenta un algoritmo de detección de fallos para sistemas
multimodal, y se plantea que el cambio de modo sea realizado de forma continua sin
interrumpir la operación del sistema.

1.6 Conclusiones del capitulo

La simulación de procesos involucra sistemas y modelos. Para llevarse a cabo una


simulación en la computadora es necesario un software de simulación específico (al
menos para que sea una manera cómoda) y tener en mano un modelo matemático. El
software utiliza el modelo matemático del proceso y lo evalúa matemáticamente para una
condición dada, que representa una situación específica del proceso real.

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.

MATLAB® es un entorno con muchas herramientas. Las herramientas analizadas en este


capítulo permiten la simulación de procesos, simulación en tiempo real, compartir los
datos de la simulación con un servidor OPC y construir una interfaz gráfica de usuario.

21
Capítulo 2. Herramientas y métodos

En este capítulo se presenta el diseño de la plataforma para la simulación de procesos


industriales en tiempo real, y las principales herramientas utilizadas en el desarrollo de
la misma, teniendo en cuenta las necesidades de los usuarios finales.

2.1 Concepción de la plataforma


A partir de las necesidades que enfrenta el grupo de investigación de diagnóstico de
fallos y estimación de parámetros para la validación de la aplicación para el diagnóstico
de fallos en línea, la plataforma de simulación debe incorporar las siguientes
funcionalidades:

• Simulación de procesos en “tiempo real”.


• Simular los fallos de un determinado proceso.
• Los fallos a simular se pueden insertar en cualquier momento de la simulación.
• Cambio de modo de un determinado proceso.
• Enviar los datos de simulación a un servidor OPC.

La Figura 2.1 muestra el diagrama conceptual de la plataforma a desarrollar. En el


recuadro azul se encuentran los elementos que componen la plataforma de simulación.
Los elementos que se encuentran en el rectángulo rojo representan selectores, los
cuales permiten seleccionar diferentes modos de operación, seleccionar el fallo que se
pretende simular en cualquier momento y el modelo a simular. Además del rectángulo
“Software de simulación”, cuyos elementos fueron descritos, hay también otro elemento
que permite que los datos de simulación sean compartidos con la aplicación de
diagnóstico.

22
Figura 2.1. Esquema conceptual de la Plataforma de Simulación.

2.2 Herramientas para el desarrollo de la plataforma


Para el desarrollo de la plataforma se utiliza MATLAB® para la simulación de los procesos
en “tiempo real” y KEPServerEx va a ser utilizado como servidor OPC para la
comunicación entre el sistema de diagnóstico y el simulador de procesos.

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.

MATLAB® posee recursos necesarios para la temporización, como es el caso de la clase


Timer. La clase Timer crea un objeto para ejecutar comandos de MATLAB® de manera
programada [21]. Se puede programar el Timer para ejecutarse varias veces y definir el
tiempo entre ejecuciones. El objeto creado posee atributos para inicializar la
temporización, pararla y definir el período, que viene siendo el tiempo entre ejecuciones
de las funciones programadas.

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:

• Selección de diferentes modelos para la simulación.

• Facilitar la conexión a un servidor OPC.

• Configurar los parámetros de la simulación.

• Iniciar y parar la simulación.

• Habilitar o deshabilitar el envío de los datos de simulación al servidor OPC.

• Visualizar los datos de simulación en tiempo de simulación.

Para la construcción de la interfaz gráfica de usuario se utiliza GUIDE, la herramienta


para el desarrollo de interfaces graficas en MATLAB® presentado en la sección 0.

2.2.4 KEPServerEx

En MATLAB®, la herramienta escogida para el desarrollo de la plataforma, existe la


posibilidad de implementar un cliente OPC DA o OPC HDA como ya se había dicho en
la sección 1.4.2. En la Introducción, se había dicho que la aplicación de diagnóstico de
fallos presenta la posibilidad de comunicación mediante la implementación de un cliente
OPC UA. Como las dos aplicaciones – la plataforma de simulación y la aplicación de
diagnóstico de fallos - son clientes OPC, es necesario el uso de un servidor OPC que
permitirá que las dos aplicaciones puedan compartir datos. El servidor escogido es
KEPServerEx.

KEPServerEx es un software diseñado para establecer de forma rápida y


sencilla la comunicación con cualquier tipo de dispositivo. Este servidor de datos de
Kepware está basado en la tecnología OPC, permitiendo la comunicación, la
administración y la supervisión de diferentes dispositivos de automatización y
aplicaciones (desde sistemas de control de planta hasta sistema de gestión de negocios)
[21]. La gestión de toda esta información se realiza a través de una plataforma que
soporta una gran variedad de estándares abiertos, como se muestra en la Figura 2.3.

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.

Figura 2.3: Arquitectura de KEPServerEx [21].

2.2.5 Cliente OPC DA

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

o Es el primer objeto al que se conecta el cliente. Mantiene información sobre


el propio servidor, servidores del entorno y contenedores para los objetos
OPC Group.

 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.

Figura 2.4. Estructura de objetos, OPC DA.

La herramienta de MATLAB® para OPC provee funciones para la creación de un objeto


que representa el cliente permitiendo la creación de grupos y adicionar ítems a dichos
grupos.

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].

Figura 2.5. Estructura de la puerta de enlace [22].

Utilizando KEPServerEx la interconexión es sencilla y transparente para el usuario como


si estuviera conectando dos productos con los mismos estándares.

2.3 Conclusiones del capitulo

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.

La simulación de los procesos se implementa haciendo uso de las herramientas de


MATLAB®. Se utilizan comandos de MALAB para guiar Simulink® a una simulación en
tiempo real del proceso apoyándose de un objeto de la clase timer de MATLAB®. Para
implementar la interfaz gráfica que facilita la interacción con el usuario se utiliza GUIDE,
la herramienta para construir de forma rápida y sencilla interfaces gráficas.

28
Capítulo 3. Desarrollo y configuración de la plataforma

En este capítulo se describe el desarrollo de la plataforma a partir de la integración de


las herramientas mencionadas en el capítulo anterior, cómo configurar la plataforma para
simular un proceso, y los procesos de prueba incorporados a la plataforma.

3.1 Plataforma de Simulación


Teniendo en cuenta las herramientas analizadas en el capítulo anterior, se presenta en
este epígrafe la plataforma de simulación. La Figura 2.5 muestra cómo queda la
plataforma una vez integrada todas las herramientas. Como se aprecia en la figura,
Simulink® comparte los datos con MATLAB® a través del espacio de trabajo, estos datos
incluyen los estados del modelo y sus salidas, así como las referencias de las variables.
De esta forma se consigue una comunicación entre MATLAB® y Simulink®.

MATLAB®, por medio de la herramienta OPC, crea y configura un cliente OPC DA


mediante el cual mantiene la comunicación con el servidor OPC (KEPServerEx). Todas
estas interacciones se llevan a cabo mediante scripts/funciones del lenguaje de
programación de MATLAB (lenguaje m) que se ejecutan sucesivamente.

Figura 3.1. Integración de las herramientas.

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.

Figura 3.2: Ventana de Inicio del simulador.

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.

Figura 3.3: Pantalla principal del simulador.

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.

3.2 Configuración de un proceso


3.2.1 Modelo del proceso en Simulink®
Para que los modelos puedan ser simulados y enviar los datos de simulación en el
servidor, deben cumplir los siguientes requerimientos:

• 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.

Figura 3.5: Bloque “To Workspace” , CSTH.


La Error! Reference source not found. muestra la configuración que debe tener el
bloque “To Workspace”. Es de resaltar que al último campo “Sample Time” se le asigna
“Ts_save” de utilización obligatoria (por lo menos en esta versión de la plataforma). Este
campo define el tiempo de muestreo en la simulación.

Figura 3.6: Configuración del bloque “ToWorkspace”.

Otro aspecto a tener en cuenta es la configuración del evento “PreLoadFcn”, que es un


evento que se dispara cuando el modelo está a punto de cargarse, de esta manera se

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.

Figura 3.7: Definiendo el Script de inicialización del modelo.

3.2.2 En el servidor OPC

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.

La Error! Reference source not found. muestra el canal de comunicación para el


proceso de prueba Tennessee Eastman. Las etiquetas que se muestran son del reactor
incorporado en el proceso simulado. Una vez creada las etiquetas, cada una es
identificada mediante un ID (tag id). Estas etiquetas en se forman siguiendo el formato,
canal_de_comunicacion.dispositivo.etiqueta. En este caso la etiqueta de la
temperatura en el reactor sería TEP.Reactor.Temperatura.

34
Figura 3.8: Configuración del Servidor OPC, Etiquetas del TEP, Reactor.

3.2.3 Fichero de configuración del proceso

Cada proceso tiene asociado un fichero de configuración. El fichero de configuración es


un archivo xml que la plataforma carga cuando se selecciona el proceso a simular. Este
fichero debe ubicarse en una carpeta con el nombre “config” en el directorio donde se
encuentra el modelo del proceso en Simulink®. Los parámetros que se configuran en el
fichero son:

• Nombre del modelo.


• La descripción del proceso.
• Una imagen que representa el proceso.
• Lista de variables.
• La lista de los ítems configurado en el servidor para cada variable.
• Lista de fallos que se pueden configurar en el proceso.
• Lista de los modos de operación del proceso.

La configuración de dichos parámetros se hace por medio de etiquetas en el archivo xml.


La Figura 3.9 muestra la plantilla que debe seguir un fichero de configuración. En el

35
Anexo A y D se muestran los ficheros de configuración para cada proceso de prueba
presentado en este capítulo.

Figura 3.9: Plantilla para el fichero de configuración de un proceso.

3.2.4 Fichero de configuración global

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..

Figura 3.10: Fichero de configuración global

3.3 Procesos a simular

Actualmente la plataforma incluye dos procesos de pruebas, Proceso de Prueba


Tennessee Eastman (TEP, Tennessee Eastman Process) y Tanque Calentador
Continuamente Agitado (CSTH, Continuous Stirred Tank Heater), escogidos debido a la
amplia utilización de estos por la comunidad científica del área del diagnóstico de fallos.
En cada proceso es posible simular varios modos de operación y distintos fallos,
haciendo posible validar la aplicación de diagnóstico de fallos en línea a través de su
simulación.

3.3.1 Proceso Tennessee Eastman (TEP)

El proceso de prueba TEP es un modelo de un proceso químico industrial desarrollado


inicialmente en FORTRAN por James J. Downs y Ernest F. Vogel en 1993 [23], con el
objetivo de colocar a disposición “un problema real” para evaluar técnicas de control de
procesos y métodos de supervisión y diagnóstico. Este modelo fue revisado en 2015 por
Bathelt, Ricker y Jelaly [24], quienes reescribieron el modelo en C++ corrigiendo algunos
problemas en la generación de algunos fallos y extendiendo el modelo respecto al
propuesto inicialmente por Downs y Vogel.

En el proceso se producen dos productos (G y H) partiendo de cuatro reactivos (A, C, D


y E). También están presentes un componente inerte (B) y un subproducto (F) haciendo
un total de ocho componentes. Las reacciones son [23]:

37
𝐴(𝑔) + 𝐶(𝑔) + 𝐷(𝑔) → 𝐺(𝑙𝑖𝑞), 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑜 1

𝐴(𝑔) + 𝐶(𝑔) + 𝐸(𝑔) → 𝐻(𝑙𝑖𝑞), 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑜 2


(3.1)
𝐴(𝑔) + 𝐸(𝑔) → 𝐹(𝑙𝑖𝑞), 𝑆𝑢𝑏𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜

3𝐷(𝑔) → 2𝐹(𝑙𝑖𝑞), 𝑆𝑢𝑏𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜

El proceso consta de varias unidades de operación, entre ellas: un reactor, un


condensador, un compresor, un separador, y una columna de destilación [14]. La Figura
3.1.1 muestra el diagrama tecnológico del proceso.

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.

En el TEP existen 6 modos de operación de acuerdo a la composición deseada del


producto final y al volumen de producción [14, 23]. Los modos se presentan en la Tabla
3.1.

38
Figura 3.11: Diagrama del proceso de prueba Tennessee Eastman [20].

39
Tabla 3.1: Modos de operación, TEP

Modo Razón entre G/H Volumen de Producción

1 50/50 7038 kg h-1 G y 7038 kg h-1 H (Caso Base)

2 10/90 1408 kg h-1 G y 12669 kg h-1 H

3 90/10 10000 kg h-1 G y 1111 kg h-1 H

4 50/50 Máximo volumen de producción

5 10/90 Máximo volumen de producción

6 90/10 Máximo volumen de producción

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.

El proceso tiene 12 variables manipuladas Tabla A. 1, y 41 variables medidas XMEAS,


de las cuales 22, Tabla A. 3, son medidas continuamente y 19 son muestreadas en un
periodo de tiempo mayor Tabla A. 3. El tiempo de muestreo de la corriente 6 y 9 son
ambas de 6 minutos y el tiempo de muestreo de la corriente 11 es de 15 minutos [23].
Todas las mediciones del proceso incluyen ruido gaussiano [14, 25].

Además de los modos de operación mencionados anteriormente, que el usuario puede


seleccionar para escoger entre tres relaciones G/H y cuatro volúmenes de producción,
el proceso cuenta también con 28 fallos pre programados [23, 24], siete más que los 21
reportado originalmente en [20], Tabla A. 4 en el Anexo A. 23 de estos fallos son
conocidos, y cinco desconocidos. Los fallos del 1 al 7 están asociadas a un cambio del
tipo paso escalón en una variable de proceso, por ejemplo, la temperatura del agua a la
entrada del enfriador o la composición de alimentación. Los fallos del 8 al 12 y del 21 al
28 están asociadas con un incremento en la variabilidad de algunas de las variables del
proceso. El fallo 13 es una desviación lenta en la cinética de la reacción y los fallos 14 y

40
15 están asociados al atascamiento de válvulas. Los fallos del 16 al 20 son desconocidos
[5, 23].

Existen límites de seguridad de operación para la presión, temperatura y el nivel en el


reactor. Por ejemplo, si la presión alcanza el límite superior de 3000 kPa la planta se
detiene, es decir, se apaga [25].

El proceso a lazo abierto es inestable, si se simula sin ninguna técnica de control se


rebasarán rápidamente los límites de operación del proceso. Dicho lo anterior, una
estrategia de control es necesaria para proporcionar estabilidad al proceso. Para evitar
paradas y garantizar la seguridad de la planta la estrategia de control debe cumplir con
cinco restricciones de operación relacionada con la presión [24]: El nivel y la temperatura
del reactor, el nivel del separador y el nivel de base de la columna de destilación. Aun
cuando los controladores están trabajando correctamente, la sensibilidad del proceso
puede hacer que en algún momento se rebase los límites de operación y la planta se
detenga, dependiendo del ajuste de los controladores y los valores de referencia
atribuidas a las variables controladas.

En la literatura se puede encontrar técnica de control descentralizado del proceso de


prueba Tennessee Eastman, en donde se divide la planta en sub unidades y se diseña
un controlador para cada partición. Se identifican 19 lazos de control para estabilizar el
proceso, detalles acerca de las fases del diseño del control descentralizado se puede
encontrar en [26]. El modelo revisado en Simulink® y se puede descargar en [27], modos
1 y 3 disponible.

La Figura 3.12 muestra parcialmente el archivo Simulink® del proceso, en donde se


resalta con un rectángulo rojo el bloque de función, que contiene la dinámica del proceso
escrito en lenguaje C, para el análisis subsecuente.

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.

Figura 3.14. Simulación, TEP. Alimentación de A en la corriente 1. Fallo 1, Modo 1.


43
La Figura 3.15 muestra los datos de simulación en “OPC Quick Client”, una herramienta
del KEPServerEx para verificar el correcto funcionamiento del servidor evidenciando así
la comunicación entre el simulador y el Servidor OPC.

Figura 3.15. Datos de simulación enviado al servidor

La simulación de cambio de modo se presenta en la Figura 3.16, en donde se simula el


modo 1 en condición normal. Pasada casi las diez horas de simulación se cambia para
el modo 3 en condición normal también. Esta característica es importante para los
sistemas de diagnóstico de fallos multi modo.

44
Modo 1 Modo 3

Figura 3.16. Simulación de diferentes modos de operación. TEP.

3.3.2 Tanque Calentador Continuamente Agitado (CSTH)

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].

En las siguientes ecuaciones se muestran los balances de energía y masa, que


representan la dinámica del sistema [28]:

𝑑𝑉(𝑥)
= 𝑞𝑐𝑤 + 𝑞ℎ𝑤 − 𝑞𝑜𝑢𝑡 (𝑥) (3.2)
𝑑𝑡

𝑑𝐻
= 𝑊𝑠𝑡 + ℎℎ𝑤 𝜌ℎ𝑤 𝑞ℎ𝑤 + ℎ𝑐𝑤 𝜌𝑐𝑤 𝑞𝑐𝑤 − ℎ𝑜𝑢𝑡 𝜌𝑜𝑢𝑡 𝑞𝑜𝑢𝑡 (𝑥) (3.3)
𝑑𝑡

En donde:

𝑥 Nivel en el tanque

𝑉 El volumen del agua 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

𝑊𝑠𝑡 El calor del Flujo suministrado al tanque

La planta posee 5 modos de operación establecidas a partir de las variaciones en la


apertura de la válvula de agua caliente, los valores de nivel, y la temperatura del agua
dentro del tanque [25]. En la Tabla B. 1 se presenta la tabla con los modos de operación.

El modo 1 es característico de la operación del tanque cuando no se dispone de agua


caliente de entrada. El cambio a modo 2 se produce debido a la disponibilidad de agua
caliente de entrada, lo que permite un ahorro en la cantidad necesaria de vapor. Los
cambios de modo restantes ocurren debido a variaciones en la temperatura o la cantidad
del agua de salida deseadas, o a una menor disponibilidad de agua caliente de entrada
[25].

Los fallos en la planta experimental se componen de una oscilación determinística en el


flujo de agua fría, una perturbación aleatoria al nivel, y ruido en la medición de la
temperatura [28]. Cada fallo se puede activar o desactivar cambiando el valor de una
constante en el archivo Simulink®.

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

3.4 Conclusiones del capitulo

En este capítulo se presentó la plataforma de simulación, la interfaz del simulador y la


configuración que deben tener los elementos para llevar a cabo una simulación. Los
ficheros de configuración presentada en este capítulo hace posible la generalización de
la plataforma, es decir, para que otro proceso pueda ser simulado en la plataforma, basta
configurarlo correctamente; no es necesario modificar el código fuente de la aplicación.

Se presentó la configuración del servidor. La aplicación explora los distintos servidores


OPC presente en la máquina especificada por la dirección IP en la configuración de la
simulación. Aunque al principio se planifica para que tenga solamente conectividad con
el KEPServerEx, la tecnología OPC permite que, la aplicación se pueda conectar con
servidores de otros desarrolladores.

Se presentó también dos procesos de prueba. Se describe los procesos y se procede la


presentación de la simulación de cada proceso en la plataforma. Las simulaciones

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 Costo Total


El cálculo del costo total (CT) se realiza al iniciar un proyecto con el objetivo de estimar
el costo real que se obtendrá una vez terminado el mismo. Para ello se tiene en cuenta
el costo directo (CD) y el costo indirecto (CI) tal como refleja la ecuación (4.1).

𝐶𝑇 = 𝐶𝐷 + 𝐶𝐼 (4.1)

4.1.1 Costo Directo

El costo directo se define en la ecuación (4.2):

𝐶𝐷 = 𝑆𝐵𝑡𝑜𝑡𝑎𝑙 + 𝑆𝐶𝑡𝑜𝑡𝑎𝑙 + 𝑆𝑆𝑡𝑜𝑡𝑎𝑙 + 𝑀𝐷 + 𝐷𝑃 + 𝑂𝐺 (4.2)

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:

n: Total de participantes en la investigación.

Ai: Dias empleados en la investigación.

Bi: Salario diario de cada participante.

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.

Tabla 4.1: Salario básico de cada participante


i Descripción Ai Bi SBi
1 Autor 180 150/24 = 6.25 $ $ 1125.00
2 Tutor No.1 20 1090/24=45.42 $ 908.400
$
3 Tutor No.2 90 830/24 = 34.58 $ $ 3112.20

De la ecuación (4.3) y la Tabla 4.1se tiene que 𝑆𝐵𝑡𝑜𝑡𝑎𝑙 = $ 5145,6.

Salario Complementario (SC): Representa el 0.0909% del salario básico, que se


destina para el pago de las vacaciones. Este porcentaje está respaldado por normativas
y regulaciones cubanas.

𝑆𝐶𝑡𝑜𝑡𝑎𝑙 = 0.0909 ∙ 𝑆𝐶𝑡𝑜𝑡𝑎𝑙 (4.4)

Al efectuar el cálculo del mismo, se obtiene que: SCtotal = $ 467,74.

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

𝑆𝑆𝑡𝑜𝑡𝑎𝑙 = 0.1 ∙ (𝑆𝐵𝑡𝑜𝑡𝑎𝑙 + 𝑆𝐶𝑡𝑜𝑡𝑎𝑙 ) (4.5)

Con los datos previos se obtiene SStotal = $ 981,34.

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.

Dietas y Pasajes (DP): Se refiere al presupuesto empleado en alimentación y transporte.


En este caso:

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

𝑂𝐺 = 𝐶𝑎𝑛𝑡𝐷𝑖𝑎𝑠 ∙ 𝐶𝑎𝑛𝑡𝐻𝑜𝑟𝑎𝑠 ∙ $10,00 (4.6)

Haciendo uso de la ecuación (4.6) se tiene que 𝑂𝐺 = 180 ∙ 8 ∙ $10,00 = $ 14400.

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.

4.1.2 Costo Indirecto

El costo indirecto (CI) se refiere a los gastos de electricidad consumida, gastos de


administración, instalaciones, etc., en el proceso de investigación. Este valor según la
ecuación (4.7) se estima aplicando un coeficiente de gastos al salario básico de la
investigación. En este sentido, el coeficiente de gastos para un Departamento Docente
es 0,84.

𝐶𝐼 = 0,84 ∙ 𝑆𝐵𝑡𝑜𝑡𝑎𝑙 (4.7)

Como resultado se obtiene que el costo indirecto para realizar este proyecto tiene un
valor de:

CI = $ 4322,31.

El costo total del proyecto se obtiene a partir de la ecuación (4.1); CT = $ 25317,01.

52
Conclusiones

Finalizado el trabajo de diploma se dio cumplimiento a los objetivos propuestos y se


comprueba que utilizando las herramientas de MATLAB ® es posible desarrollar una
plataforma de simulación de procesos industriales.

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.

La herramienta de MATLAB® para OPC permitió implementar un Cliente OPC DA en la


plataforma. Utilizando KEPServerEx V6, un servidor OPC UA, fue posible la
comunicación entre el servidor y el cliente lo que permitió enviar los datos de la
simulación al servidor.

Se concibió la plataforma de manera que pueda ser configurado para diferentes


procesos, siguiendo las configuraciones que se presentan en este trabajo de diploma. La
plataforma incluye dos procesos de prueba, número que puede crecer en dependencia
de la necesidad del grupo de investigación de “Diagnóstico de fallos y estimación de
parámetros” ya que la plataforma fue concebida con una arquitectura flexible.

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

Se recomienda el desarrollo de modelos matemáticos que permitan simular fallos y


distintos modos de operación para que puedan ser adicionados a la plataforma y dotar a
los científicos del área de la supervisión de procesos de recursos necesarios para
ejecutar su labor.

Se recomienda también que se profundice más el desarrollo de simuladores en la


facultad, no solo para la supervisión, como en este caso enfocados a la simulación de
fallos, sino simuladores de procesos enfocados en otras direcciones, como por ejemplo
el control, estos simuladores deben permitir configurar los parámetros del controlador
desde la plataforma.

Se exhorta que se dé continuidad al desarrollo de la plataforma. La configuración de un


proceso, presentado en las secciones 3.2.3 y 3.2.4, puede ser programado para que se
haga desde una interfaz gráfica, evitando así la configuración manual que presenta la
plataforma en el tiempo del desarrollo de este trabajo de diploma.

54
Referencias Bibliográficas

[1] K. Ogata, "Modern Control Engineering," pp. 100-104.


[2] J. M. B. D. Lázaro, "Diagnóstico de Fallos en Sistemas Industriales Utilizando Métodos Kernels," M.
Sc, Centro de Estudios de Matemática, Universidad Tecnológica de La Habana "José Antonio
Echeverría", La Habana, Cuba, 2014.
[3] M. A. P. Moreno, "Diseño de Sistemas de diagnóstico de Fallos Utilizando Minería de Datos," Dr.
Sc., Departamento de Automática y Computación, Universidad Tecnológica de Habana "José
Antonio Echeverría", La Habana, Cuba, 2012.
[4] J. Colomer and J. Melendez, "Introducción a la monitorización y supervisión experta de procesos.
Métodos y Herramientas," CEA-IFAC, Ed., ed, Jordi Ayza.
[5] L. Chiang, E. Russell, and R. Braatz, Fault Detection and Diagnosis in Industrial Systems. Springer
Science & Business Media, 2012.
[6] W. D. Kelton, R. P. Sadowski, and D. A. Sadowski, Simulation with Arena. Wisconsin New York:
WCB/McGraw-Hill, 1998.
[7] P. J. Thomas, Simulation of industrial processes for control engineers. Elsevier, 1999.
[8] K. Ogata, P. Hall, Ed. Modern Control Engineering, 4 ed. New Jersey: Prentice Hall, 2002, p. 976.
[9] H. R. E. González, F. d. J. M. Álvarez, and G. S. M. Alvarado, "SIMULACIÓN: CONCEPTOS Y
EVOLUCIÓN," 2011.
[10] P. Diaconis, "Buffon's problem with a long needle," Journal of Applied Probability, vol. 13, no. 3, pp.
614-618, 1976.
[11] L. M. Z. Landaeta, "Diseño de un Simulador Digital de Procesos," M.Sc., Departamento de
Automática y Computación, Universidad Tecnológica de La Habana "José António Echeverría",
Oeste de Sucre, Venezuela, 2014.
[12] T. T. Thi, "Plataforma para Prácticas Simuladas con el uso de Autómata como Controlador,"
Licenciatura, Departamento de Automática y Sistemas Computacionales, Universidad Central
"Marta Abreu" de las Villas, Santa Clara, 2012.
[13] I. O. B. González and R. R. Pérez, "Control de la Temperatura de un Intercambiador de Calor en la
Empresa Laboratorios Farmacéuticos AICA," presented at the I Congreso de Automatización y
Mantenimiento Industrial, Palacio de las Convenciones de La Habana, 2014.
[14] K. E. E. Olivos, "Suministro de Equipos y Configuración de Software SCADA OASyS DNA, para
Gestionar los Energérticos prporcionados por el distribuidor," Instituto Politécnico Nacional, México,
2016.
[15] D. Kominek. (2009, 17/06/2019). OPC: ¿De qué se trata, y cómo funciona? Available:
www.infoPLC.ne
[16] O. Foundation. (03/06/2019). Classic - OPC Foundation. Available:
https://opcfoundation.org/about/opc-techologies/opc-classic
[17] MathWorks. (2019, 01/06/2019). Ayuda de MatLab. Available: https://www.mathworks.com
[18] A. Cilento, "Sistemas de Control de motores en Tiempo Real mediante Matlab," Departamento de
Ingeniería Electrónica Eléctrica y Automática, Universitat Rovira i Virgili, Cataluña, España, 2007.

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

Anexo A. Proceso de prueba Tennessee Eastman

Tabla A. 1: Variables manipuladas, TEP [20]


Nombre de la variable Número Valor del Límite Límite unidades
de la caso base inferior superior
variable
Flujo de alimentación D XMV(1) 63.053 0 5811 kgh-1
Flujo de alimentación E XMV (2) 53.980 0 8354 kgh-1
Flujo de alimentación A XMV (3) 24.644 0 1.017 Kscmh
Flujo de alimentación A y XMV(4) 61.302 0 15.25 Kscmh
C
Válvula de recirculación XMV (5) 22.210 0 100 %
Comp.
Válvula de purga XMV (6) 40.064 0 100 %
Flujo del Líquido, XMV (7) 38.100 0 65.71 m3h-1
separador
Flujo del producto, col. XMV (8) 46.534 0 49.10 m3h-1
destil
Valv. flujo de vapor, col. XMV (9) 47.446 0 100 %
destil
Flujo del agua de enfri. XMV (10) 41.106 0 227.1 m3h-1
Reactor
Flujo del agua de enfri. XMV (11) 18.114 0 272.6 m3h-1
Condens.
Velocidad del Agitador XMV (12) 50.000 150 250 rpm

Tabla A. 2: Variables del proceso, medidas continuamente, TEP [20]


Nombre de la variable Número de la Valor del caso unidades
variable base

Alimentación A XMEAS(1) 0.25052 kscmh


Alimentación D XMEAS(2) 3664.0 kgh-1
Alimentación E XMEAS(3) 4509.3 kgh-1
Alimentación A y C XMEAS(4) 9.3477 Kscmh
Flujo de recirculación XMEAS(5) 26.902 Kscmh
Tasa Alimentación del reactor XMEAS(6) 42.339 kscmh
Presión del reactor XMEAS(7) 2705.0 kPa gauge
Nivel del reactor XMEAS(8) 75.000 %
Temperatura del reactor XMEAS(9) 120.40 oC

Tasa de purga XMEAS(10) 0.33712 kscmh

57
Temperatura del separador de prod. XMEAS(11) 80.109 oC

Nivel del separador de prod. XMEAS(12) 50.000 %


Presión del separador de producto XMEAS(13) 2633.7 kPa gauge
Flujo de desbordamiento del Sep. Prod. XMEAS(14) 25.160 m3/hr
Nivel de la columna de destilación XMEAS(15) 50.000 %
Presión de la columna de destilación XMEAS(16) 3102.2 kPa gauge
Flujo de desbordamiento de la col. Dest. XMEAS(17) 22.949 m3/hr
Temperatura de la columna de dest. XMEAS(18) 65.731 oC

Flujo de vapor de la col. Destilación XMEAS(19) 230.31 Kg/hr


Trabajo del compresor XMEAS(20) 341.43 kW
Temp. del agua de enfriamiento de salida XMEAS(21) 94.599 oC

del reactor
Separador. del agua de enfriamiento de XMEAS(22) 77.297 oC

salida del reactor

Tabla A. 3: Variables Muestreadas, TEP [20]


Variable Componente Corriente Periodo de muestreo (min)
XMEAS(23) A 6 6
XMEAS(24) B 6 6
XMEAS(25) C 6 6
XMEAS(26) D 6 6
XMEAS(27) E 6 6
XMEAS(28) F 6 6
XMEAS(29) A 9 6
XMEAS(30) B 9 6
XMEAS(31) C 9 6
XMEAS(32) D 9 6
XMEAS(33) E 9 6
XMEAS(34) F 9 6
XMEAS(35) G 9 6
XMEAS(36) H 9 6
XMEAS(37) D 11 15
XMEAS(38) E 11 15
XMEAS(39) F 11 15
XMEAS(40) G 11 15
XMEAS(41) H 11 15

Tabla A. 4: Fallos del proceso ,TEP, [20, 23].


Variable Descripción Tipo

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

Fichero de configuración del Modelo Tennessee Eastman

<?xml version="1.0" encoding="UTF-8"?>


<processinfo>
<label>Tennessee Eastman</label>
<description>descripción del processo de prueba Tennessee Eastman</description>
<image>TEP.jpg</image>
<list>
<variable>Feed Flow component A</variable>
<variable>Feed Flow component D</variable>
<variable>Feed Flow component E</variable>

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)

Tabla B. 1: Característica de los modos de operación


Variable (ma) Modo 1 Modo 2 Modo 3 Modo 4 Modo 5
Nivel 12 12 12 13 13
Temperatura 10.5 10.5 11 10.5 10.5
Apertura de válvula de agua caliente 0 5.5 5.5 5.5 5

Fichero de Configuración del Tanque Calentador Continuamente Agitado

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

Potrebbero piacerti anche