METODO LAMDA PARA CLASIFICACION DE ESTADOS …

104
METODO LAMDA PARA CLASIFICACION DE ESTADOS FUNCIONALES Y PLATAFORMA DE CLASIFICACION DE FALLAS EN PROCESOS INDUSTRIALES. JUAN CARLOS FANDIÑO Trabajo de grado presentado como requisito para optar al título de Ingeniería Electrónica. Asesor: Ingeniero Jose Fernando Jiménez. Ph.D UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA ELECTRÓNICA BOGOTA D.C. 2004

Transcript of METODO LAMDA PARA CLASIFICACION DE ESTADOS …

Page 1: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

METODO LAMDA PARA CLASIFICACION DE ESTADOS FUNCIONALES Y PLATAFORMA DE CLASIFICACION DE FALLAS EN

PROCESOS INDUSTRIALES.

JUAN CARLOS FANDIÑO

Trabajo de grado presentado como requisito para optar al título de Ingeniería Electrónica.

Asesor: Ingeniero Jose Fernando Jiménez. Ph.D

UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA ELECTRÓNICA

BOGOTA D.C. 2004

Page 2: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

2

INDICE. RESUMEN 61. INTRODUCCION 72. METODOLOGÍA LAMDA 92.1. Generalidades de LAMDA 92.2. Algoritmo de Aprendizaje 102.2.1. Clasificaciones y Particiones 112.2.2. Algoritmo Recursivo de Aprendizaje 132.2.3. Umbral de Pertenencia 142.2.4. Estructura del Proceso de Aprendizaje de LAMDA 152.3. Aprendizaje Multivariable 152.3.1. Caracterización de Clases 182.4. Algoritmo de Programación de LAMDA 192.5. Objetivos y Procedimiento para Creación de Estados Funcionales 263. MODELAJE DE MODULO DE TANQUES ACOPLADOS 273.1. Tanques 273.1.1. Tanque Lineal 273.1.2. Tanque No Lineal 283.2. Bomba 293.3. Válvulas ON-OFF 313.4. Sensores MPX2010GP 313.5. Controlador Lógico Programable (PLC) 323.6. Modelo Matemático de La Unión de Componentes de la Planta 333.6.1. Control de la Planta 353.6.2. Discretización del PID 383.7. Resultados del Controlador 394. PROGRAMACIÓN DEL PROYECTO 424.1. Programación del PLC 424.2. Programación de WINCC 434.3. Atributos Escogidos 475. SOFTWARE SALSA04V1 545.1. Instalación 545.2. Uso de Salsa04v1 545.2.1. Salsa OFFLINE 555.2.2. Salsa ONLINE 726. ANÁLISIS DE RESULTADOS 766.1. Análisis de Clases Creadas por Salsa 776.2. Asignación de Clases a Estados Funcionales 886.3. Modelaje de Planta en Eventos Discretos 897. CONCLUSIONES 958. BIBLIOGRAFIA 979. ANEXOS ANEXO1: Algoritmo de Detección de Fallas (Determinístico) 98ANEXO2: Algoritmo de Simulación de Fallas 99ANEXO3: Algoritmo de Comunicación con Diagnosticador 100

IEL2-I-04-12

Page 3: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

3

ANEXO4: Algoritmo de Regulación PID 101ANEXO5: Ejecutor de Algoritmo de Detección de Fallas 102ANEXO6: Ejecutor de Algoritmo de Control 103ANEXO7: Algoritmo Extraedor de Derivadas 104ANEXO8: Circuito Impreso de Acondicionamiento de Señales 105

IEL2-I-04-12

Page 4: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

4

INDICE DE FIGURAS Figura 1. Tabla de Atributos 9Figura 2. Comparación entre “Clases” y “Funciones de Pertenencia” 12Figura 3. Estructura de Aprendizaje de LAMDA 15Figura 4. Tanque Lineal 27Figura 5. Tanque No-Lineal 28Figura 6. Circuito de Acondicionamiento de Señal Hacia la Bomba 29Figura 7. Electro Válvula 31Figura 8. Circuito de Acondicionamiento de Señal Sensores 31Figura 9. PLC 32Figura 10. Plano de Tanques Acoplados 33Figura 11. Lugar de las Raíces de Planta 37Figura 12. Modelo Tanques Acoplados 39Figura 13. Modelo Tanques Acoplados/ “Tanque Lineal” 40Figura 14. Modelo Tanques Acoplados/ “Tanque No-Lineal” 40Figura 15. Modelo Tanques Acoplados/ Leak1(Izquierda), Leak2(Derecha) 41Figura 16. Resultados Simulación Modelo Tanques Acoplados 41Figura 17. Diagrama de Bloques del Proyecto 42Figura 18. Esquema de Ejecución de Tareas 46Figura 19. Esquema de Tareas de la Función LAMDA 46Figura 20. Clasificación LAMDA 49Figura 21. Clasificación LAMDA II 50Figura 22. Clasificación LAMDA III 50Figura 23. Simulación en Simulink 51Figura 24. Clasificación LAMDA Datos Simulados 51Figura 25. Clasificación LAMDA Datos Simulados Cualitativos 52Figura 26. Plataforma Salsa04v1 55Figura 27. Opción OFFLINE de Salsa 56Figura 28. Formato de Archivo de Datos *.DAT 57Figura 29. Cargada de Archivo de Entrenamiento I 58Figura 30. Cargada de Archivo de Entrenamiento II 58Figura 31. Cargada de Archivo de Entrenamiento III 59Figura 32. Selección de Clasificación 59Figura 33. Selección de Nivel de Exigencia y Conectores 60Figura 34. Selección de Modo Clasificación 60Figura 35. Aprendizaje no Supervisado 60Figura 36. Aprendizaje Supervisado 60Figura 37. Reconocimiento 60Figura 38. Atributo Tank1 y Daltura (Cuantitativo y Cualitativo respectivamente) 62Figura 39. Ventana de Texto muestra 556 63Figura 40. Ventana Cuantitativa 64Figura 41. Ventana Cualitativa 65Figura 42. Perfil Clasificación Gráfico 65Figura 43. Perfil Clasificación Texto 66

IEL2-I-04-12

Page 5: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

5

Figura 44. Reconocimiento de Individuos Pre – Clasificados 67Figura 45. Matriz de Pertenencia 68Figura 46. Clasificación Modo Reconocimiento 69Figura 47. Asignación a Estados Funcionales 70Figura 48. Asignación a Estados Funcionales II 71Figura 49. Asignación a Estados Funcionales III 71Figura 50. Plataforma Salsa ONLINE 72Figura 51. Configuración ONLINE 73Figura 52. Salsa ONLINE 73Figura 53. Salsa ONLINE II 73Figura 54. Salsa ONLINE III 74Figura 55. Salsa ONLINE IV 74Figura 56. Salsa ONLINE V 75Figura 57. Estrategia de Control 76Figura 58. Identificación de Clases de LAMDA 82Figura 58. Identificación de Clases de LAMDA II 83Figura 59. Perfil de Clase de Población Cuantitativa 86Figura 60. Clasificación LAMDA Población Cuantitativa 87Figura 61. Asignación de Clases a Estados Funcionales 89Figura 62. Estados Discretos del Sistema de Tanques Acoplados 89Figura 63. Diagrama de Macro Estados de la Planta 94

IEL2-I-04-12

Page 6: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

6

RESUMEN

En este proyecto de Grado se trabajó en el diagnóstico de un proceso de control utilizando una nueva herramienta desarrollada en el instituto francés LAAS llamada LAMDA. La planta utilizada para el análisis fue el Modulo de Tanques Acoplados de la Universidad de Los Andes, incluyendo dentro del Módulo un Tanque No-Lineal. Las herramientas utilizadas para el control del proceso industrial fueron Step7 en la programación del PLC, y WINCC en el establecimiento de una interfaz de comunicación entre el proceso, la máquina y el operador; La herramienta utilizada para la emisión del diagnóstico propio de la planta fue SALSA (Situation Assesment using LAMDA Classification Algorithm). Los niveles involucrados en la estructura de producción fueron el nivel PISO DE PLANTA, el nivel MES, y el nivel ERP [1]. El primer nivel de integración (PISO), corresponde al proceso físico del Módulo de Tanques Acoplados. En el se instalaron La Bomba de Agua, dos Sensores de Presión Diferencial, y dos Válvulas ON/OFF. Por medio de la Bomba de Agua se está controlando los niveles del líquido del Módulo de Tanques Acoplados, inyectando caudal a uno de los Tanques (Tanque Lineal); Los Sensores miden la altura de la columna de agua de los tanques; Las Válvulas ON/OFF se utilizaron en el proyecto para la simulación de fallas en el sistema (Fugas en los tanques). El segundo nivel de integración (MES), corresponde a la visualización, el control, y la optimización de la producción de la empresa. Para la interfaz de comunicación entre el primer nivel y el nivel MES, se utilizó un PLC (Controlador Lógico Programable). La programación, visualización, y optimización de la producción se llevaron a cabo mediante el paquete WINCC desarrollado por SIEMENS; En el se crearon las variables necesarias, tanto de valores del proceso, así como variables internas, para el adecuado control y la simulación de fallas pertinentes de la planta. En el nivel MES a su vez se crearon las bases de datos necesarias tanto para el entrenamiento del algoritmo de diagnóstico LAMDA, como para la operación del software SALSA en tiempo real. El tercer nivel de integración (ERP), corresponde a la alta gerencia de producción, en donde se visualizan los datos mas relevantes del proceso. WINCC se utilizó además como una herramienta para la interacción en tiempo real entre SALSA y el proceso de producción. Una vez entrenado SALSA para la emisión de diagnósticos de la producción, se procede a trabajar ONLINE, en donde se toma la base de datos generada por WINCC, y se le indica al operador el modo de operación de la planta (Estados Funcionales del proceso) para tomar las medidas necesarias y preventivas con el objetivo de mejorar la producción. Palabras Clave. Mecánica de Fluidos de Bernoulli, Control por Computador, Control Discreto. Clustering, Estados Funcionales, Aprendizaje Supervisado, Aprendizaje No Supervisado, Reconocimiento, Atributo, Objeto, Población, LAMDA, Conjuntos Difusos.

IEL2-I-04-12

Page 7: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

7

1.INTRODUCCIÓN. En los procesos de producción, aún no se ha encontrado la forma de generar, distribuir y comercializar mercancías con 100% de perfección. En todo proceso industrial suceden eventos inesperados e indeseados, que llamamos comúnmente errores o fallas. La identificación y el posterior reconocimiento de “Estados Funcionales” en un proceso industrial, ha tomado gran importancia en recientes años, para el diseño de sistemas que involucren la supervisión y el diagnóstico. Los procesos industriales tienden a ser complejos, y no están exentos de que se presenten eventos inesperados, en donde resulta muy complicado modelar la presencia de estos bajo fórmulas matemáticas estructuradas. Bajo la identificación de “Estados Funcionales” en una planta, se observa al proceso bajo una nueva perspectiva, en donde se obtiene una descripción cualitativa de los diferentes eventos que suceden en tiempo real. Para una óptima formación de los “Estados Funcionales” de un proceso industrial, es necesario presentar los “Objetos” o datos que se tomen de este, en forma clara y de fácil entendimiento; es decir que existe un lazo de interacción entre el operador y el sistema de diagnóstico, de forma tal que los datos mas relevantes en la descripción de conceptos son los que serán seleccionados para el debido análisis (“los árboles impiden ver el bosque”). No es de gran ayuda tener información que no permita llegar a conclusiones, hipótesis, o desarrollar un nuevo concepto basado en datos que no son relevantes, y que de forma contraria a lo que se busca, pueda afectarlo en forma negativa confundiendo al sistema[2]. La agrupación de conceptos involucran no solamente la formación automática de estos dado un conjunto de “Objetos”, sino también la adquisición de conceptos en el sentido en que un concepto será reconocido una vez halla sido formado a partir de “Objetos” anteriormente presentados. LAMDA es una metodología de aprendizaje en la formación y agrupación de nuevos conceptos en forma incremental, permitiendo tanto la creación como el reconocimiento de “Estados Funcionales”. El software utilizado para el análisis de los datos de la planta es Salsa04v1, proporcionado por Tatiana Kempowsky miembro del grupo DISCO del instituto LAAS. Para la adquisición de los datos del proceso, se dispone de la tecnología SIMATIC, la cual permite programar a diferentes niveles de descripción. Salsa04v1 da la alternativa de recibir datos “en línea”, o de recibir un archivo de datos “Fuera de línea”; la primera de las alternativas trabaja solamente bajo el modo de reconocimiento. La segunda de las alternativas trabaja bajo el modo de “aprendizaje no supervisado”, “aprendizaje supervisado”, o “modo reconocimiento”. El presente trabajo muestra a partir de simulaciones del modelo dinámico del sistema físico, de datos historiales de la planta, y de la interacción del software con el proceso en tiempo real, un diagnóstico que proporciona Salsa04v1, el cual crea diferentes clases por “clustering” en modo incremental; Posteriormente estas clases serán intervenidas y clasificadas en “Estados Funcionales”,según el concepto del operador, para el posterior “reconocimiento” de dichos estados.

IEL2-I-04-12

Page 8: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

8

La planta controla el nivel de agua del tanque no lineal, introduciendo caudal en el tanque lineal, y comunicando los dos tanques por medio de un tubo. El control de nivel se realizó por medio de un PID, y de un algoritmo de control por lógica difusa tipo Takagi-Sugeno (varios PID adaptándose a una determinada zona de operación de la planta). El objetivo del presente proyecto consiste en estudiar, analizar e implementar un pequeño sistema de control, integrando los niveles involucrados en la estructura de producción, para que a partir del nivel ERP (alta gerencia), se tomen los datos mas relevantes del proceso de control, el sistema se auto-diagnostique, y presente una información verídica, clara y concisa, de lo que está sucediendo en la planta, para tomar las medidas necesarias para la optimización de la producción. El presente proyecto de grado trabaja con algunos de los programas industriales de la familia SIMATIC, Step7 y WINCC, conjunto con el software Salsa04v1 mencionado anteriormente. El alcance de este Proyecto de Grado llega a la implementación e integración de las tecnologías de la familia SIMATIC en conjunto con el software desarrollado por grupo DISCO del Instituto LAAS, interactuando en un proceso de Módulos de Tanques Acoplados.

IEL2-I-04-12

Page 9: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

9

2. METODOLOGÍA LAMDA. 2.1. Generalidades de LAMDA. LAMDA es un sistema capaz de aprender el significado de los descriptores lingüísticos de conceptos, que caracterizan un conjunto de clases correspondientes a conceptos de alto nivel. Cada clase es representada por un conjunto de “distribuciones de posibilidad”1 las cuales modelan los descriptores lingüísticos que caracterizan la clase. La fase de aprendizaje de la metodología consiste en la modificación de los parámetros de las nombradas “distribuciones de posibilidad”, y comparte estrechamente el aprendizaje con un humano experto en la materia o proceso. La información inicial con la que parte el método consiste en un conjunto finito de descriptores lingüísticos, y un conjunto finito de “Objetos”, dándose el caso de que cada componente de cada “Objeto” representa uno y solo un Descriptor lingüístico; Al conjunto finito de “Objetos” se le llama “Población”. Un Ejemplo de la descripción anterior vemos a continuación: Nivel_T1 Nivel_T2 ctrl._Sig Output 10.845 13.845 10.000 A 10.855 13.855 10.000 A 11.657 14.657 10.000 A 12.345 15.345 9.888 A 13.648 16.648 8.586 A Figura 1. Los descriptores lingüísticos son los que se encuentran en la parte superior de la tabla, los “Objetos” son el resto de filas de la tabla. Obsérvese que en cada objeto cada columna representa una componente y por ende un descriptor. Las componentes de cada objeto pueden ser tanto cuantitativas como cualitativas en el caso de la última columna. Cada descriptor tiene una “Distribución de Posibilidad”, generado por un conjunto de “clases”, entonces a cada componente de cada “Objeto” se le asigna un “Grado marginal de pertenencia”(MAD), finalmente cada “Grado marginal de pertenencia” de cada componente de cada objeto va a contribuir con el “Grado Global de pertenencia” (GAD) de un objeto a una “clase”. Al evaluar un “Objeto”, la “clase” con el GAD mas alto será aquella en la que el “Objeto” irá a clasificar, modificando a su vez la “Distribución de Posibilidad” que tenía la “clase” específica, antes de que el “Objeto” hubiera sido clasificado. En la modificación de las nombradas distribuciones, es donde el algoritmo o método se encuentra en su fase de aprendizaje. 1 No confundir con Distribuciones de Probabilidad, en el caso estadístico.

IEL2-I-04-12

Page 10: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

10

La interacción del humano en el proceso de aprendizaje, hace que se mapeen las “clases” en “Estados Funcionales”, para el posterior diagnóstico y reconocimiento. 2.2. Algoritmo de Aprendizaje. Los análisis de datos multivariados se han convertido en un medio popular de lidiar con una gran cantidad de bases de datos y estructurarlos descubriendo dispersiones y agrupándolos dentro de conjuntos cuyos elementos sean similares a los del objeto a evaluar. El conjunto de “Objetos” conformados por “atributos” o “Descriptores lingüísticos”, son muestreados a partir del proceso que se esté evaluando, pudiendo ser de dos tipos, cualitativos y / o cuantitativos. El paso siguiente al muestreo de “Objetos” consiste en definir distancias para que el conjunto de “Objetos” o “Población” se convierta en un espacio métrico; Finalmente se crean agrupamientos entre los distintos “Objetos”, dando una posible partición en los conjuntos de “Descriptores” y sus respectivas “Distribuciones de Posibilidad”[3]. Los “Objetos” se pueden presentar como archivos de “Población”, en donde se tiene una gran colección de estos, para ser analizados y clasificados dentro de sus respectivas “Clases”, o se pueden presentar como seres individuales, donde cada vez que se crea un nuevo “Objeto”, el anterior ha debido a ser analizado y destruido para dar paso al nuevo “Objeto”. En ambos casos se estima una partición de la “Población” para el agrupamiento. En el caso en que los “Objetos” se presenten como seres individuales, la estimación de la partición de la “Población” deberá ser recursiva para que no sea necesario el archivado de los “Objetos” pasados. El “Objeto” presente después de haber sido utilizado para su clasificación, cede su información para la modificación de la partición de las “Distribuciones de Posibilidad”. Mediante la modificación de las particiones el algoritmo aprende a clasificar. Algunos algoritmos como LAMDA pueden forzar a los “Objetos” a ser clasificados dentro de “clases” previamente definidas siempre y cuando se haga de forma incremental; es decir que la “clase 1” halla sido creada antes de la “clase 2”, y así sucesivamente. El proceso de aprendizaje consiste en la construcción de:

a. Una estimación de un conjunto de objetos. b. Una inferencia de estructura relacional en el conjunto de objetos estimados.

Basados en la información pasada. Lo anterior habilita al sistema a:

a. Reconocimiento de un nuevo “Objeto” dentro de una clase. b. Modificar la estructura relacional de la partición de las clases.

Este modo de aprendizaje es secuencial, y restringe al sistema a la situación en que no mas que una observación puede ser procesada en un mismo instante, y que no es permitido el archivado de “Objetos” pasados. El algoritmo tendrá sus condiciones iniciales antes de que cualquier “Objeto” llegue a ser procesado, y posteriormente, cuando el “Objeto” es analizado, las condiciones iniciales serán modificadas por este último, y la partición del

IEL2-I-04-12

Page 11: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

11

espacio métrico (“Distribuciones de Posibilidad”) será modificada al presenciar algún nuevo “Objeto” en su “Clase”. La identificación y clasificación del “Objeto”, y la modificación de la memoria pasada del algoritmo, son las funciones que desarrolla LAMDA en su fase de aprendizaje. Que tan aproximado una nueva observación está de la estimada, son los materiales de trabajo de donde la clasificación y la modificación se basan para su desempeño. Durante el aprendizaje la parte estadística es esencial aún no sean archivados los “Objetos” pasados, la recursividad trae implícita la estadística del historial de datos que ya hallan pasado antes, de tal forma que hallan estimativos de probabilidad o para el caso de LAMDA halla una nueva partición en las “funciones de pertenencia” o “Distribuciones de Posibilidad”. 2.2.1. Clasificaciones y Particiones. A los sistemas de clasificación se les define un conjunto que constituye el “Universo de Discurso” de los “atributos” de los “Objetos”. A este conjunto se le definen subconjuntos exhaustivos de tal forma que la unión de los nombrados subconjuntos constituyan el conjunto del “Universo de Discurso”.

Ω=∪∪∪

=

Ω

=

N

N

ii

ccccP

DiscursodeUniversoelsea

...

.

21

1

Dado un conjunto Ω y una partición del conjunto P, a cada “elemento” (componente de un “Objeto”, representante de algún “atributo”) se le asigna una clase ci[3]. Cada partición P de cada “atributo” de los “Objetos”, definen un conjunto de funciones caracterizadoras, en donde el valor de aquel “atributo” será igual a 1, si dicho valor del “atributo” pertenece a la “clase”, y cero de lo contrario.

⎩⎨⎧

∉∈

== =

i

i

i

N

ii CxsiCxsi

xx01

)(/)( 1 χχχ

Del anterior conjunto de funciones de caracterización, se define un conjunto de “reglas de decisión”, que tiene en cuenta la partición P, del conjunto “Universo de discurso” Ω. Las “Reglas de Decisión”, mapean el conjunto Ω en el conjunto de particiones exhaustivas P, asignando a cada valor de cada “atributo” de los “Objetos” una “clase”, dado que dicho valor pertenece al conjunto de valores de la partición Ci que define la “clase”. La descripción del conjunto de “Reglas de Decisión” se describe de la siguiente forma )(max)(/)/( xxPxRC iijj χχ ==

IEL2-I-04-12

Page 12: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

12

Finalmente y sin perder generalidad, las funciones de caracterización se pueden reemplazar por “Funciones de pertenencia”, siempre y cuando las “Reglas de Decisión” no cambien.

xxxx

MconjuntounporaIntercambise

iijiij

N

ii

N

ii

∀=⇔=

= ==

)(max)()(max11

χχµµµχ

Figura 2. Comparación entre “Clases” y “Funciones de Pertenencia” Si se mantiene la definición de lo que es una “Regla de Decisión” para cada valor de cada “atributo” de un “Objeto” existe una clase ya sea si escogemos Funciones Caracterizadoras, o “Funciones de Pertenencia”. LAMDA es un algoritmo que utiliza conjuntos difusos tanto para la creación de “clases”, como para el posterior reconocimiento, luego las “Reglas de Decisión” serán asignaciones de “clases” en donde el valor del atributo tenga el “Grado de Pertenencia” mas alto. Teniendo en cuenta que las “Reglas de Decisión” son ahora una Asignación del “Universo de Discurso” Ω en el conjunto de “Funciones de Pertenencia” M, sin perder generalidad las “Reglas de Decisión” se pueden expresar como sigue:

)/()/( MxRPxR = Las funciones de pertenencia que utiliza LAMDA son funciones parametrizables, es decir que se pueden expresar por medio de una variable paramétrica de la siguiente forma:

),()( jj xfx θµ = De tal forma que el conjunto de “Funciones de Pertenencia” M estén completamente determinadas por medio del conjunto de parámetros que parametrizan las funciones de pertenencia, y las operaciones para el aprendizaje que veremos a continuación, dependan de

IEL2-I-04-12

Page 13: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

13

cada parámetro de las “Funciones de Pertenencia”, y no del valor del “atributo” del “Objeto” que se está analizando en un instante de tiempo determinado. El tamaño del conjunto finito de parámetros es el mismo que el tamaño del conjunto finito de clases de las anteriormente llamadas Funciones Caracterizadoras:

)/(:

;1

θθθ

xResorclasificadEl

N

ii ==

De esta forma, el determinar la partición P del conjunto Ω, consiste en determinar las “Funciones de Pertenencia” M, que al ser parametrizables (las que LAMDA utiliza), basta con determinar los parámetros θ, reduciendo el problema del aprendizaje a una estimación de parámetros θ. 2.2.2. Algoritmo Recursivo de Aprendizaje. Solo necesitan de observaciones presentes, ya que el historial o memoria de las observaciones pasadas vienen implícitas en el estimativo de parámetros, “Funciones de Pertenencia”, o particiones del conjunto Ω. Como se explicó anteriormente las funciones que desempeña LAMDA son de asignación de cada “atributo” de cada “Objeto” a una “Clase” (escogiendo el mas alto Grado de Pertenencia), y la actualización de los parámetros, “Funciones de Pertenencia”, o Particiones del conjunto Ω, dado el nuevo “Objeto” que llegó a ser analizado. La asignación a la Clase de un “atributo” consiste en definir a partir del conjunto estimado de parámetros, el conjunto de “Funciones de Pertenencia” M, de tal forma que al “atributo” del “Objeto” sea evaluado en todas las “Funciones de Pertenencia”, para calcular su “Grado Marginal de Pertenencia” el mismo “Grado Global de Pertenencia” a cada “Clase”, (el caso multivariado (varios “atributos” para un “Objeto”) será analizado posteriormente), el “atributo” será asignado a la clase cuyo “Grado Global de Pertenencia” sea el mas alto.

),1(max)/(

),1(1

xtCMxRxtMsea

iij

N

ij

−==

−==

µ

µ

La actualización de los parámetros es otra función que desempeña LAMDA, de tal forma que el nuevo objeto que fue asignado a una determinada clase, cambiará la partición no solamente del conjunto Ω, sino también la forma de la “Función de Pertenencia” de la “Clase” a la cual fue asignado el “atributo” del “Objeto”. La actualización de los parámetros de las “Funciones de Pertenencia” llevan a cabo la tarea mas importante del aprendizaje, y le da la posibilidad al algoritmo de evolucionar en su aprendizaje. De no cambiar los parámetros de las “Funciones de Pertenencia”, no habría dinámica en el aprendizaje, y nos encontraríamos en un algoritmo de Lógica Difusa, cuya forma de

IEL2-I-04-12

Page 14: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

14

clasificación es estática, y no existiría la opción para que el algoritmo aprenda. LAMDA es una poderosa herramienta de aprendizaje de máquinas, por el hecho de que el algoritmo evoluciona en su forma de clasificar los “Objetos”. Dado que un “Objeto” es asignado a una “Clase” dependiendo de su “Grado Marginal de Pertenencia” que en el caso monovariable es el mismo “Grado Global de Pertenencia” la actualización de los parámetros viene de acuerdo al siguiente mecanismo:

[ ]jitt

tgtxfttt

ii

jjj

≠−=

−−+−=

);1()())1(())(()()1()(

θθθαθθ

Las funciones f, y g se determinan de acuerdo a los “Objetos” y el tipo de representación de las clases. La ganancia α(t) maneja la convergencia del algoritmo [3]. El valor medio recursivo es una forma de aprendizaje usual:

ttgxxf 1)(,)(,)( === αθθ [3].

2.2.3. Umbral de Pertenencia. Con el “Aprendizaje No Supervisado”, el número de particiones P, de “Funciones de Pertenencia” M, o de parámetros θ del conjunto Ω, es desconocido. La única clase conocida es la NIC (non informative class). En ella se modela una total homogeneización de los elementos u “Objetos”; Esta “Clase” también denominada “Clase Vacía” es conformada por aquellos “Objetos” en donde el “Grado Global de Pertenencia” máximo correspondiente a una clase diferente a la NIC es inferior al “Grado Global de Pertenencia” correspondiente a la clase NIC. Es decir:

))(())(,1(max 0 txtxtIiµµ <−

La clase NIC acepta a tal elemento, modificándola, además creando una nueva “Clase” que no pertenece ni a la “Clase” NIC, ni a ninguna de las clases que particionan el conjunto Ω, denominada CN+1. La función de pertenencia de la “Clase” NIC es constante, luego esta función es un Umbral de pertenencia, de tal forma que ninguna asignación va a ser hecha si el “Grado Global de Pertenencia” de las N clases antes creadas es menor al del Umbral de Pertenencia. Cuando un “Objeto” es asignado a NIC, sus parámetros se modifican y se convierten en aquellos parámetros de la nueva “Clase” que creó el “Objeto”, el cual no clasificó en ninguna de las “Clases” que fueron creadas antes.

IEL2-I-04-12

Page 15: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

15

[ ])())(()()( 001 θαθθ gtxfttN −+=+

2.2.4. Estructura del Proceso de Aprendizaje de LAMDA. Figura 3. Estructura de Aprendizaje de LAMDA[3].

Podemos observar tres formas de aprendizaje que utiliza la metodología. La primera metodología corresponde al “Aprendizaje No Supervisado”, en donde cada “Objeto” es asignado a una “Clase”, modificando la partición del conjunto Ω. La segunda metodología corresponde al “Aprendizaje Seudo Supervisado”, en donde en la última columna de “atributos” existe una clasificación previa de los objetos de acuerdo al concepto del humano, profesor o experto, la modificación de la partición se lleva a cabo hasta que el error no supere un Umbral. La tercera metodología corresponde al “Aprendizaje Supervisado”, en donde el profesor es el que decide directamente cual es la partición mas adecuada para la clasificación de los objetos, también puede corresponder una vez hallan sido creadas las “Clases” necesarias al “Reconocimiento” o “Diagnóstico”, ya que al haberse considerado que las “Clases” creadas son las suficientes para la emisión de un “Diagnóstico”, el Modificador de Partición será un bloque estático, y los “Objetos” serán clasificados en las “Clases” previamente creadas, mas no se crearan nuevas clases, como en las dos metodologías anteriormente explicadas. 2.3. Aprendizaje Multivariable. Un “Objeto” está compuesto por componentes, y cada componente representa uno y solo uno de los n “atributos” que componen al “Objeto”. A cada “Objeto” se le asigna su “Grado Global de Pertenencia”, conforme los “Grados Marginales de Pertenencia” de los “atributos”, para cada “Clase”, asignándole la “Clase” con el “Grado Global de Pertenencia” mayor. LAMDA en el caso cuantitativo, normaliza los valores en su fase de “aprendizaje”; es decir que una “Población” (colección de “Objetos”) entrena al algoritmo LAMDA para la

IEL2-I-04-12

IEL2-I-04-12

Page 16: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

16

creación de clases, y para cada “atributo” de cada “Objeto” el valor máximo es extraído para normalizar los demás valores dividiéndolos por el valor máximo de cada “atributo”. La secuencia de “Objetos” entonces se encuentra en un “Hipercubo” n dimensional, dimensión que su tamaño depende del número de “atributos” que tenga el “Objeto”. El volumen de este Hipercubo es de 1 unidadesN. Considere un objeto n dimensional:

;10,..21

)( <<

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

= xi

xn

xx

tx

Para cada “Clase” CK corresponde un vector de parámetros que caracterizan dicha “Clase”, y que parametrizan las “Funciones de Pertenencia” de cada “atributo”, para cada “Clase” así:

N

iiKi

Kn

K

K

K M 1,

,

,2

,1

;10,..

==<<

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

= ρρ

ρ

ρρ

ρ

Siendo M ahora el conjunto de los parámetros que caracterizan las “Funciones de Pertenencia”. Ahora se procede a calcular el “Grado Marginal de Pertenencia” de cada “atributo” a una “Clase”, definiendo su “Función de Pertenencia” en función del parámetro correspondiente al “atributo”.

xiKi

xiKiKi x −−= 1

,,, )1()( ρρµ

siendo K, el índice de la “Clase” CK. Una vez calculado los respectivos “Grados Marginales de Pertenencia” de cada “atributo”, se procede a calcular el “Grado Global de Pertenencia” del “Objeto”, existiendo diversas formas de hacerlo. El operador mas usado es el “Y” difuso. La forma como opera el “Y” en LAMDA es por medio de conectores T-Norma y T-Conorma [4]. La T-Norma, halla el mínimo “Grado Marginal de Pertenencia” entre el conjunto de “atributos” que conforman un “Objeto” para cada “Clase” CK. La T-Conorma, halla el

IEL2-I-04-12

Page 17: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

17

máximo “Grado Marginal de Pertenencia” entre el conjunto de “atributos” que conforman un “Objeto” para cada “Clase” CK.

KiiKiiGAD ,, max*)1(min* µαµα −+= [4].

Para la modificación del vector de parámetros que caracterizan las “Funciones de Pertenencia” se utiliza un procedimiento similar al del caso monovariable, es decir se escogen funciones f (RN => RN) , g(RN => RN) y α(t) de tal forma que evolucione el algoritmo y aprenda del historial de datos. Un “Objeto” es ahora asignado a una determinada “Clase” CK, si el GAD es el mas alto entre el conjunto de todas las “Clases” creadas incluyendo la clase NIC. Cuando se realiza la asignación del “Objeto” a la “Clase”, los parámetros de la “Clase” asignada cambian de forma dependiente a los valores de los “atributos” del “Objeto” de la siguiente forma:

jiparatt

ttxatN

tt

ii

jj

jj

≠=+

−+

+=+

),()1(

))()(()(

1)()1(

ρρ

ρρρ [3]

Nj(t) es el número de “Objetos” que han sido añadidos a la “Clase” Cj, el parámetro “a” representa un número ficticio inicial de elementos, y es el mismo para todas las clases. Es un número ficticio inicial, porque al principio no ha habido ninguna asignación de ningún “Objeto” a una determinada “Clase” luego Nj(t) es cero para todas las clases. Cuando existe un “Objeto” que no clasifica en ninguna de las “Clases” debido a que su “Grado Global de Pertenencia” para todas las “Clases”, es inferior al “Umbral de Selección”, se crea una nueva “Clase” CN+1 y los parámetros de esta nueva “Clase” vienen únicamente determinados por los parámetros del “Umbral de Selección” y por los valores de los “atributos” del “Objeto” que no pudo ser clasificado en ninguna de las “Clases” precedentes. La modificación queda así:

))((1

1)( 001 ρρρ −+

+=+ txa

tN

Esta ecuación de adaptación es similar a la ecuación del caso monovariable, la diferencia está en que la estimación de los parámetros de la nueva “Clase” ρ es ahora un vector y no un valor. El algoritmo LAMDA evoluciona hasta que la variabilidad de las clases se pierda. Conforme un “Objeto” es asignado a una determinada “Clase” el número NK(t) aumenta de tal forma que la variación de parámetros no cambia de la llegada de un “Objeto” a otro, además a medida de que el número total de “Objetos” llegan a ser procesados por el algoritmo, va a ser menos probable que se creen nuevas clases por el concepto de variabilidad; sin embargo, para tener un buen número de “Clases” para ser clasificadas o

Page 18: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

18

mapeadas en “Estados Funcionales”, el índice α deberá hacerse tan cercano a uno como se pueda, porque este número el cual oscila entre 0 y 1, indica el índice de selectividad de LAMDA. Para el caso de “Aprendizaje” tanto “Aprendizaje Supervisado” como “Aprendizaje No Supervisado”, este índice lleva a crear mayor cantidad de “Clases” entre mas grande sea. Para el caso de “Reconocimiento” este índice lleva a ser mas exigente el algoritmo en el momento de mapear los valores en “Estados Funcionales”. 2.3.1. Caracterización de Clases. Dada una clase CK, el conjunto representativo de parámetros es el vector ρK; Mediante La función discreta hK(i) = ρK(i) se obtiene el perfil de la “Clase”, es decir que son los valores de las componentes de el “Objeto” mas representativo perteneciente a la clase CK. Las directas lecturas de los perfiles anteriormente descritos, dan una idea de la tipología obtenida de cada “Clase”, siendo utilizadas para la comparación e interpretación de las diferentes “Clases” que fueron creadas a partir del entrenamiento [3]. En cualquier instante de tiempo se puede determinar la “Distribución de Posibilidad” a partir del conjunto de parámetros que estiman la partición de un determinado “Universo de Discurso”.

xi

Kixi

KiiKi

N

kK

x

parámetrosdeConjunto−

=

−= 1,,,

1

)1()(

:

ρρµ

ρ

La función µi,K representa la proyección de GAD en el eje de coordenadas hipercartesianas “i”. La posibilidad de que un descriptor “i” tome un valor xi para un objeto que pertenezca a la “Clase” CK, depende de toda la partición del conjunto Ω. Esta posibilidad esta dada por la siguiente interpretación matemática:

)(1)(1*

)()()(

iK

iM

iM

iKjK x

xxxx

µµ

µµ

−−

=Π [3].

• GADK(xj): Es el grado de pertenencia de una determinada componente de un

“Objeto” o “atributo” a la “Clase” CK • 1-GADK(xj): Es el grado de no pertenencia de una determinada componente de un

“Objeto” o “atributo” a la “Clase” CK. • )(max)(

...1 jjNjjM xGADxGAD=

= : Es el grado máximo de pertenencia de

un “atributo” de un “Objeto”, teniendo en cuenta todas las “Clases”. • 1-GADM(xj): Mínimo Grado de no-Pertenencia de un “atributo” de un “Objeto” a

una determinada Clase. Como la decisión de la asignación de un “Objeto” a una determinada “Clase”, es la escogencia del valor máximo del GAD (“Grado Global de Pertenencia”), la distribución de

IEL2-I-04-12

IEL2-I-04-12

Page 19: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

19

posibilidad descrita en la página anterior (ΠK(xj)), toma el valor de 1 si el valor máximo de pertenencia, y el Grado de pertenencia del “atributo” en cuestión al que nos estamos refiriendo son iguales.

N

KjK

iMiK

xConjuntoEl

xGADxGAD

1)(:

)()(

=

El Conjunto de las “Distribuciones de Posibilidad” definen una partición difusa en cada uno de los ejes de coordenadas hipercartesianas, haciendo fácil la asociación a cada “Distribución de Posibilidad” una restricción difusa relacionada con la representación de cualquier eje en tal manera que estas “Distribuciones de Posibilidad” modelan las características de una determinada “Clase” CK[3]. 2.4. Algoritmo de Programación de LAMDA. Como se ha venido explicando, cada “Objeto” está descrito por un conjunto n dimensional de “atributos” y se representan por medio de vectores, donde cada componente corresponde a algún “atributo” de un “Objeto”. El conjunto de estos vectores se le llama “Población”, o en un sentido mas práctico “Base de Datos”. Una de las ventajas que tiene la metodología LAMDA, es que el aprendizaje lo puede hacer tanto para “Objetos” cualitativos como para “Objetos” cuantitativos, característica que no muchas metodologías de aprendizaje tienen. Los “atributos” entonces sin perder generalidad, pueden considerarse cuantitativos, o cualitativos. Aquellos “atributos” que son cualitativos obtienen sus valores de un “Conjunto no Ordenado”, mientras que aquellos “atributos” que son cuantitativos obtienen sus valores de un “Conjunto Ordenado”. Un “Objeto” es cuantitativo, cuando todos sus “atributos” son cuantitativos; Un “Objeto” es cualitativo, cuando todos sus “atributos” son cualitativos; Finalmente un “Objeto” es mixto cuando sus “atributos” son en parte cualitativos, o cuantitativos. LAMDA reescala aquellos “atributos” que son cuantitativos, normalizándolos, es decir que a cada valor se le divide por el máximo valor encontrado en el “atributo”. La formación de “conceptos” o “Clases” está basado en reglas heurísticas, (aquella “Clase” cuyo objeto tenga el máximo GAD) Calculando así un “Grado de Pertenencia” entre el “Objeto” y cualquiera de las “Clases” creadas. LAMDA modela total homogeneidad del “Contexto” de donde vienen los “Objetos”, por medio de una “Clase” que acepta a todos los “Objetos” de la misma manera (“Clase” NIC). Dicha “Clase” representa el concepto de entropía en el espacio dentro del cual se emiten los “Objetos”[5]. Esta “Clase” cuyo “Grado Global de Pertenencia” (GAD) es el mismo para todos los “Objetos”, sirve como un “Umbral” de forma tal que ningún “Objeto” será clasificado dentro de una “Clase” distinta a la NIC, con un GAD menor al “Umbral”. La “Clase” NIC, juega un papel importante en la formación de nuevos “Conceptos” o “Clases”.

Page 20: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

20

El método LAMDA, busca por separado la contribución de “Pertenencia” de un “Objeto” a una “Clase” por medio de los conectores T-norma y T-Conorma, entre la información parcial o el “Grado Marginal de Pertenencia”. Estos Conectores se refieren a las operaciones entre conjuntos de Unión e Intersección, difiriendo de las “Densidades de Probabilidad”, debido a que la Probabilidad no está determinada por medio de las leyes de “Marginalidad”. Los conectores pueden encontrarse en algún punto entre la Unión o la Intersección por medio del factor α, introducido en la sección 2.3. Un “Objeto” no va a ser asignado a una “Clase” debido a el “Grado Marginal de Pertenencia” de sus “atributos” por ser altos, sino por un criterio que se evalúa a partir del parámetro α en el GAD (“Grado Global de Pertenencia”). Desde el punto de vista de “Agrupamiento Conceptual”, el construir particiones significativas es mas un proceso de atribución de “Clases” preestablecidas a partir de “Objetos” dados, en vez de la construcción de “Clases” por medio de la comparación de “Objetos” directamente uno a uno, utilizando medidas de similitud usualmente modeladas por medio del patrón “Distancia”. LAMDA enfrenta a los “Objetos” a “Clases” preestablecidas, buscando aquella que sea la mas “Adecuada” para el “Objeto”; La similitud no es la esencia de la formación o reconocimiento de “Clases”, sino un resultado del “Grado de Pertenencia” de un “Objeto” a una “Clase”. Dado un “Objeto” y una “Clase”, LAMDA calcula para cada “atributo” del “Objeto” un grado de “Emparejamiento” entre el valor que el “atributo” toma sobre el “Objeto” y el valor que el “atributo” toma sobre la “Clase”. Este es el concepto de “Grado Marginal de Pertenencia”. Una vez la pertenencia se sabe, el sistema LAMDA las utiliza para calcular el “Grado Global de Pertenencia” de un “Objeto” a la “Clase”. En el proceso de formación de “Clases” una “Clase” será inicializada en cualquier tiempo a NIC, la cual tiene el GAD mas alto. En el proceso de “Reconocimiento” aquellos “Objetos” cuyo máximo GAD lo toma solamente la “Clase” NIC, no serán asignados a ninguna otra “Clase” formada previamente. En la formación de “Clases” entonces NIC siempre estará vacío, mientras que en el “Reconocimiento” de “Clases” NIC contendrá aquellos “Objetos” que en vista de que no lograron ser reconocidos, clasificarán en NIC. Durante el proceso de “Reconocimiento”, el espacio vectorial que comprende las “Clases” formadas en el proceso de aprendizaje, va a ser estático, en donde ninguna “Clase” mas es creada, y todos los “Objetos” serán clasificados, algunos que no se encuentren dentro del espacio de “Clases” significativas en la “Clase” NIC. Cuando un “Objeto” llega al sistema, el algoritmo puede ser activado en dos diferentes modos; El modo de “Aprendizaje” en sus dos modalidades, ya sea “Aprendizaje Supervisado”, o “Aprendizaje no-Supervisado”, y el modo de “Reconocimiento”. El modo de Reconocimiento es recomendable utilizarlo cuando se considera que la formación de “Clases” o “Conceptos” han sido suficientes según el experto. De otra forma el algoritmo entra en un proceso que involucra la formación de “Clases” o “Conceptos”. Este proceso de aprendizaje puede ser inicializado por medio de un conjunto de “Clases” preestablecidas

IEL2-I-04-12

Page 21: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

21

(“Aprendizaje Supervisado”), o con carencia de estas en cuyo caso la única “Clase” existente es la NIC (“Aprendizaje No-Supervisado”). El algoritmo es el siguiente[5]:

1. Dado un “Objeto” que llega al algoritmo, se procede a calcular los respectivos “Grados Marginales de Pertenencia” de cada “atributo” para cada “Clase” así:

xobjetodeliatributoxi

xiKi

xiKiKi

:)1(* 1

,,,−−= ρρµ

K representa el índice de la “Clase” a la cual se le está evaluando su grado de pertenencia. El índice i representa el iésimo atributo del “Objeto” que llega al algoritmo. ρK representa el vector que parametriza las “Funciones de Pertenencia” de la “Clase” CK.

2. Calcular a partir de los “Grados Marginales de Pertenencia” de cada “atributo” componente de un “Objeto”, el “Grado Global de Pertenencia” (GAD) del “Objeto” a cada “Clase” de la siguiente forma:

KiiKiiK xGAD ,, max*)1(min*)( µαµα −+=

α representa el parámetro de exigencia del algoritmo para la Creación de “Clases”. Para hallar el GAD, LAMDA utiliza conectores T-Norma y T-Conorma, calculando un valor que se encuentra entre la Intersección y la Unión, del conjunto de “Funciones de Pertenencia”.

3. Una vez calculados los GAD o “Grados Globales de Pertenencia”, se deberá encontrar el valor máximo entre los K GAD hallados correspondientes a las K “Clases” que se habían creado en un instante o momento así:

KKKCxGADMxR == )(max)/(

R corresponde a la regla de decisión, y asigna una “Clase” o partición del conjunto Universal Ω a la clasificación.

4. Pueden Ocurrir dos Posibilidades 4.1. “Modo Reconocimiento”: El “Objeto” x es clasificado en la “Clase” donde el GAD

fue el mas alto. Si el “Objeto” es clasificado en la “Clase” NIC, se dice que dicho “Objeto” no fue reconocido en la clasificación.

4.2. “Modo de Formación Conceptual” sea “Supervisada” o “No Supervisada”, existen dos posibilidades:

4.2.1. GADK, y por ende CK, no corresponde a la “Clase” NIC, el “Objeto” x va a ser clasificado en la “Clase” CK, variando los parámetros de CK de la siguiente forma:

.);()1(

.));((*1)(

1)()1(

Kjparatt

KjparatxtN

tt

jj

jj

jj

≠=+

=−+

+=+

ρρ

ρρρ

Donde Nj(t), corresponde al número de “Objetos” que han sido asignados a la “Clase” CK.

IEL2-I-04-12

Page 22: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

22

4.2.2. GADK y por ende CK corresponde a la “Clase” NIC. Esto significa que el “Objeto” x es el primer elemento asignado a una nueva “Clase” CK+1, la representación de esta nueva “Clase” dependerá del nuevo “Objeto” x, el cálculo se hace de la siguiente manera:

)(*21)1( 001 ρρρ −+=++ xtK

donde ρ0 corresponde al parámetro estático de la “Clase” NIC; Como se ha venido explicando, cualquier “Objeto” cuyos GAD sean inferiores al GAD de NIC, no serán clasificados en ninguna otra “Clase” mas que la NIC.

Para mantener el concepto de unicidad de pertenencia de un “Objeto” a una “Clase”, en el algoritmo la regla de “La Primera Clase Encontrada” se añade; De esta manera al calcular los GAD los cuales indican el “Grado de Pertenencia” de los “Objetos” a cada una de las “Clases”, en caso de que se encuentren GAD iguales, el “Objeto” será clasificado en la primera “Clase” donde se halla obtenido el mayor GAD o “Grado Global de Pertenencia”. LAMDA trata a los “Objetos” en una manera secuencial, haciendo posible la interacción entre las dos acciones que desempeña el algoritmo, es decir la Formación de “Conceptos” o “Clases”, y el Reconocimiento de las creadas “Clases”, permitiendo así mismo la Asignación de las “Clases” a “Estados Funcionales” a través de la interfaz hombre-máquina que el algoritmo tiene. Debido a que el algoritmo consiste en agrupaciones conceptuales, LAMDA considera a los “Objetos” entrantes como “Full Conceptual” [5], es decir que cada “Objeto” representa un ejemplo de un “Concepto” o “Clase”, contrario a otros algoritmos de clasificación, los cuales al buscar similitudes entre diferentes “Objetos”, el conjunto de “Objetos” estarán conceptualmente relacionados, es decir que los “Objetos” por si solos carecen de significado. Para el cálculo del “Grado Marginal de Pertenencia” de un “atributo” correspondiente a un “Objeto” en el caso cualitativo, cada “Objeto” tiene un conjunto finito de “Modalidades”, Observe que en el caso cuantitativo, el “Objeto” tiene un conjunto infinito de valores que oscilan dentro del intervalo [0 1]. En el caso Cualitativo el conjunto es finito, y cada valor que pertenece a este conjunto finito es una “característica” del “Objeto”. Cada elemento de este conjunto finito recibe el nombre de “Modalidad”. A cada “Modalidad” del “atributo” correspondiente a un “Objeto”, se le asigna una ponderación. Para hallar los parámetros iniciales del conjunto total de “Modalidades”, hallamos a partir de la razón entre la unidad y el número de “Modalidades” que existen en cada determinado “atributo” de cada determinado “Objeto”. Este vector de parámetros a lo largo de la ejecución de LAMDA es constante y representa los parámetros de la “Clase” NIC.

IEL2-I-04-12

Page 23: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

23

ii

iK

MMi

i

xatributodelalidadesdeNumeroKatributodelalidadeslasTodasdeConjuntox

objetodichodeocualitativatributounxobjetounxsea

mod:mod:

,

1, =

[5]

Para el algoritmo de programación de la metodología LAMDA que se explicó anteriormente (Pasos 1 al 4), el primer paso (el cálculo del “Grado Marginal de Pertenencia” de un “atributo” cualitativo), se modifica de la siguiente forma: Paso 1. Considere una función χ(xi), siendo xi el “atributo” cualitativo a analizar. Considere a la vez que xi representa a un conjunto de una serie finita de “Modalidades” como las descritas al principio de la página:

⎩⎨⎧

≠=

=MjsiMjsi

x ji ,0,1

)( ,χ [5]

M representa el índice de la respectiva “Modalidad” del conjunto de “Modalidades”, con que una “Modalidad” esté presente en un “atributo” en un instante de tiempo, esta hace que el resto de “Modalidades” en el mismo instante de tiempo evaluadas en la función χ(xi) sean iguales a cero. Para inicializar los parámetros de los “n” “atributos” y considerando que hay para cada “atributo” “mi” “Modalidades” en el caso cualitativo para el vector de parámetros de la “Clase” NIC se tiene:

⎥⎦

⎤⎢⎣

⎡=

nmmmm1,...,1,1,1

3210ρ [5]

Observar que en el caso cuantitativo, el número de “Modalidades” es dos, es decir que el vector de parámetros de la “Clase” NIC la cual como se explicó antes, es constante a lo largo de la ejecución del algoritmo LAMDA, permitiendo el modelamiento del concepto de “Homogeneidad” para facilitar la creación de nuevas “Clases”

⎥⎦⎤

⎢⎣⎡=

21,...,

21,

21

0ρ [5]

Para el cálculo del “Grado Marginal de Pertenencia” de los “atributos” cualitativos, se procede primero a evaluar la función χ(xi,j), para así identificar la “Modalidad” que está activa (pues su valor no es cero) en un determinado instante de tiempo. Una vez asignado el

IEL2-I-04-12

Page 24: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

24

“Objeto” a una determinada “Clase”, el algoritmo cuenta el número de “Objetos” que han sido asignados a la “Clase” en cuestión, procediendo luego a evaluar los parámetros de las “Modalidades”, de la misma forma como se evalúa la evolución de los parámetros cuantitativos explicados en el macroalgoritmo de programación numeral 4.2.1. El resultado de estos parámetros. El algoritmo de Programación Completo queda de la siguiente manera:

1. Dado un “Objeto”, calcular los “Grados Marginales de Pertenencia” de todos los “atributos” que posea dicho objeto, determinando primero si dichos atributos son cuantitativos o cualitativos. (LAMDA considera “Objetos” cuantitativos de empezar con signo, punto o número, y cualitativo de lo contrario):

oCualitativCasotN

txtt

CClasevoCuantitatiCasottt

C

jKijij

KijKi

K

txiKi

txiKiKi

;1)(

)1()()1()(

,;))(1(*)()(

,,,,

)(1,

)(,,

+−−

+−=

−= −

µχµµ

ρρµ

ocualitativesatributoelSijKiKi ,,, µµ =

“j” representa la “modalidad” activa de algún “atributo” cualitativo presente en un determinado “Objeto”. 2. Dados los “Grados Marginales de Pertenencia” calcular los “Grados

Globales de Pertenencia” (GAD).

KiiKiiKGAD ,, max*)1(min* µαµα −+= .

3. Una vez hallados los GAD asignar una determinada “Clase” al “Objeto” de

análisis, escogiendo el máximo GAD.

KKKCGADMxR == max)/(

4. Pueden Ocurrir dos Posibilidades: 4.1. Modo de Reconocimiento. El “Objeto” analizado es clasificado a una “Clase” donde el GAD es el máximo entre el conjunto de “Clases”. De ser asignado el “Objeto” a la “Clase” NIC, se dice que dicho “Objeto” no fue reconocido. 4.2. Modo de Formación Conceptual sea “Supervisada” o “No Supervisada”, existen dos Posibilidades: 4.2.1. GADK y por ende CK, No corresponde a la “Clase” NIC. El “Objeto” analizado es asignado a la clase donde el GAD fue el mayor. Los parámetros de

IEL2-I-04-12

Page 25: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

25

aquellos “atributos” que son cuantitativos, se hallan de la misma forma que se explicó anteriormente; Los parámetros de aquellos “atributos” que son cualitativos, hay que modificarlos de la misma manera que en el numeral 1 del presente algoritmo, es decir hallando la “Modalidad” activa, y modificando los parámetros de cada “Modalidad”. De hecho con hacer el paso 1, no es necesario calcular la evolución de parámetros de los “atributos” cualitativos, porque su parámetro es el mismo “Grado Marginal de Pertenencia”. Los parámetros de los “atributos” cuantitativos son necesario hallarlos, y por ende presentamos a continuación la forma como se calcula la evolución de los parámetros:

KClase

osCualitativParametrostN

xtt

KjvosCuantitatiParametrostt

KjvosCuantitatiParametrostN

txtt

C

jKijij

KijKi

jj

C

jjj

;,1)(

)()1()(

.;),1()(

;,1)(

)1()1()(

,,,, +

−+−=

≠−=

=+−−

+−=

µχµµ

ρρ

ρρρ

No hay que olvidar calcular la evolución de los parámetros de TODAS las “Modalidades” de los “atributos” cualitativos, teniendo en cuenta que la función χ(xi,j) es uno cuando la “modalidad” del atributo está activa, y es cero cuando la “Modalidad” esta inactiva. 4.2.2. GADK y por ende CK corresponden a la “Clase” NIC. El “Objeto” pasa a ser nuevo miembro de una nueva “Clase”.

osCualitativparámetrosysModalidadetN

xt

vosCuantitatiParametrostN

xt

C

jijij

ijNi

CN

,1)(

)()(

.,1)(

)(

0,,0,1,

001

+−

=

+−

+=

+

+

µχµµ

ρρρ

nuevamente calculando los parámetros de TODAS las “Modalidades” de los “atributos” cualitativos presentes en los “Objetos”, para la nueva “Clase” que se creó. Como se puede observar, los parámetros de la nueva “Clase” van a ser muy dependientes del nuevo “Objeto” que no pudo ser asignado a ninguna de las “Clases” anteriormente creadas. Se puede observar a su vez que cuando un “Objeto” es asignado a una “Clase” ya preestablecida, dicho objeto va a modificar los parámetros de pertenencia de la “Clase”.

IEL2-I-04-12

Page 26: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

26

2.5. Objetivos y Procedimiento para creación de Estados Funcionales. LAMDA durante la etapa de entrenamiento, crea “Clases”, que posteriormente el experto operador va a mapearlas en “Estados Funcionales”. El objetivo del presente algoritmo es el de obtener una descripción por medio de “Estados Finitos” o “Estados Funcionales” de algún proceso desconocido o difícil de caracterizar. El experto operador puede no estar familiarizado con la dinámica del sistema que se está diagnosticando en el sentido en que pueda que no conozca las ecuaciones diferenciales de estado que describen y gobiernan la planta. Sin embargo, el operador debe estar familiarizado con los “Estados” de la planta, y LAMDA le sirve como ayuda para la identificación de estos. Las “Clases” son formadas de manera incremental, es decir que la “Clase 1” es formada antes que la “Clase 2”, y así sucesivamente. Cada “Clase” es disparada a otra por medio de una transición, o un “atributo” significativo en la formación de una nueva “Clase”; Por ejemplo cuando el nivel de agua en un tanque baja debido a alguna fuga presente en el proceso, LAMDA forma una nueva “Clase” y la transición se debió a la baja del nivel de agua en el tanque. Finalmente una vez creadas las “Clases” que el operador considera las adecuadas del proceso, se termina de modelar el sistema por medio de una descripción de “Estados Finitos”, o por medio de una red de Petri, donde las etapas son las “Clases”, y las transiciones son los “atributos” significativos que han contribuido a la formación de dichas “Clases”. El los “Estados Funcionales” son un nivel mas alto de descripción, y corresponderían al maestro de la red de Petri que se formó con las “Clases”.

IEL2-I-04-12

Page 27: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

27

3. Modelaje del Módulo de Tanques Acoplados. Se utilizó un reservoir el cual servía para almacenar el agua que iba a ser succionada por la bomba. Se utilizaron dos Tanques acoplados por medio de un tubo de PVC. Se utilizó una bomba de agua cuyo caudal es proporcional al voltaje que se le aplique. Se utilizaron dos válvulas que simulaban fugas en los tanques. Para la instrumentación de la planta se dispusieron de dos sensores MPX2010GP de presión diferencial los cuales medían la altura del nivel de agua en cada uno de los Tanques, dos amplificadores de instrumentación los cuales amplifican la señal que emiten los sensores. Un Controlador Lógico Programable (PLC), que recibe y emite las señales del y para el proceso. 3.1. Tanques. El primer Tanque es lineal, es decir que su área transversal no cambia con el tiempo. El segundo Tanque es no-lineal, poseyendo cuatro zonas de operación, dos zonas de las cuales son lineales (área transversal del tanque constante), y dos zonas de las cuales el área transversal va cambiando linealmente en función de la altura de la columna de agua. 3.1.1. Tanque Lineal. Este es el tanque donde la bomba va a mandar el agua proveniente del Reservoir. Tiene un área transversal constante de 110.25 cm2, y una altura total de 60 cm. La altura total se tiene en cuenta para escalar el sensor que mide la altura de la columna de agua. El agua es bombeada hacia la parte superior del tanque lineal porque para la bomba es mas sencillo tener que bombear hacia una zona donde la presión de salida es la atmosférica, y no por el contrario, si se hubiera bombeado en la zona inferior, la bomba tendría que superar la presión ejercida por la columna de agua.

Figura 4. Tanque Lineal. El área del tubo de PVC que comunica la bomba con el Tanque lineal es de 0.307cm2

IEL2-I-04-12

Page 28: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

28

3.1.2. Tanque No-Lineal. El tanque Lineal va a enviarle agua a este tanque por medio de un tubo de PVC como acople. La longitud de este tubo de PVC es de 10cm, y su área transversal es de 0.307 cm2; El área transversal de la columna de agua varía en función de la altura de la columna de agua debido a la no linealidad del recipiente o Tanque. La altura total del tanque no-lineal es de 40cm, la cual se tiene nuevamente en cuenta para el escalamiento del segundo sensor de presión diferencial que mide la altura de este tanque. El sumidero del Tanque (el consumo o demanda de agua) es acoplado por medio de otro tubo de PVC, cuya área transversal es de 0.173cm2, y manda agua al reservoir de la planta.

Figura 5. Tanque No-Lineal

⎪⎪⎪

⎪⎪⎪

>

<<⎭⎬⎫

⎩⎨⎧ −−

<<⎭⎬⎫

⎩⎨⎧ −+

<<

=

cmh

cmhcmh

cmhcmh

cmh

hA

27,75.225

275.17,)5.17(5.9

205.41*5.10

5.178,)8(5.9

205.21*5.10

80,25.110

)(

Se observa que hay cuatro zonas de operación del tanque, dos de ellas tienen área constante, y en las otras dos el área transversal es función de la altura de la columna de agua. La presión con que el agua entra al tanque no-lineal tiene que superar la presión ejercida por la columna de agua de este. Por esta razón la altura de la columna de agua del Tanque lineal debe ser mayor a la altura de la columna de agua del Tanque no-lineal, de lo contrario

IEL2-I-04-12

Page 29: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

29

el agua fluiría hacia el Tanque lineal, y no se podría controlar la altura del Tanque no-lineal. 3.2. Bomba de Agua. Al aplicarle un voltaje, la bomba emite un caudal hacia el Tanque lineal, el cual es aproximadamente proporcional al voltaje que se le aplica. El consumo de corriente de la bomba para un voltaje de 12Volt es de 500mA. El PLC no aguanta tal consumo, razón por la cual se tuvo que acondicionar la señal del PLC, con el motivo de acoplar impedancias y soportar el consumo de potencia demandado por la Bomba.

Figura 6. Circuito de acondicionamiento Señal hacia la Bomba. Ref[1].

Se hicieron una serie de pruebas con el propósito de caracterizar la dinámica de la bomba de agua. Las pruebas consistieron en llenar el Tanque lineal con todos sus orificios tapados mediante un barrido en el voltaje aplicado sobre la bomba. Se hicieron diez barridos, entre 1V y 10V, midiendo para cada voltaje el tiempo que se demora el llenar el Tanque. Dividiendo el volumen total del tanque entre el tiempo total de llenado del tanque se obtiene el caudal que arroja la bomba para cada voltaje que se le aplicó. Teniendo 10 datos (voltajes entre 1V y 10V), se hace una regresión lineal entre el caudal y el voltaje. Estas pruebas se hicieron mediante el PLC y WINCC; en WINCC mediante una rutina se le indicaba al PLC cuanto era el voltaje que se deseaba caracterizar el caudal, el PLC tenía cargado un programa que escalaba y desescalaba los datos que se le arrojaban al proceso. Para ver mas información sobre la programación del PLC se sugiere ver la referencia [1]. El valor de la pendiente de la regresión lineal sirvió para modelar la bomba como una ganancia que amplifica la señal de voltaje. Simplemente se modeló como una ganancia porque su tiempo de respuesta (100 ms) es mucho menor al tiempo de respuesta de la planta en general (5 min).

IEL2-I-04-12

Page 30: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

30

Voltaje Caudal(cm3/seg)

1V 3.88 2V 7.90 3V 12.00 4V 17.60 5V 19.50 6V 24.06 7V 27.23 8V 32.00 9V 36.09 10V 38.80

Bomba

0

10

20

30

40

50

1 2 3 4 5 6 7 8 9 10

Voltaje

Cau

dal

Serie2

Nota: Para determinar el caudal se midió el tiempo que demoraba la bomba en llenar el tanque lineal con todos los orificios tapados, dividiendo el volumen total del Tanque entre el tiempo tomado por la bomba:

tiempoVolumenQ =

La pendiente de la gráfica anterior es de aproximadamente 4. En la dinámica de la planta la bomba se modeló como una ganancia de 4, para la posterior sintonización del PID discreto que controla el nivel del tanque no-lineal.

IEL2-I-04-12

Page 31: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

31

3.3. Válvulas On-Off. Se necesitaron de dos electro válvulas para simular fugas en los tanques. Se encuentran en dos posiciones las cuales son totalmente abierta y totalmente cerradas. Es necesario alimentarlas con 110Vac, y controlar sus estados por medio de relays de estado sólido, enviando 5Vdc en caso de que se desee abrirlas al 100%, y 0Vdc en caso de que se desee cerrarlas (0% de apertura).

Figura 7. Electro válvula. Ref [1].

3.4. Sensores MPX2010GP. Sensores utilizados para la medición de altura de las columnas de agua en los tanques lineal y no lineal. Son sensores que miden presión diferencial entre la columna de agua y la presión atmosférica.

Figura 8. Circuito Acondicionamiento señal sensores. Ref[1].

IEL2-I-04-12

Page 32: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

32

La altura máxima de la columna de agua del tanque lineal es de 60cm, mientras que la altura máxima de la columna de agua del tanque no-lineal es de 40cm. Tienen la especial característica de que el voltaje de salida es muy lineal y proporcional a la presión que se mide del proceso. Para calibrarlo basta con llenar ambos tanques hasta el 100%, y acomodar la ganancia (por medio del trimmer o resistencia variable) para que en el 100% de altura hallan 10Vdc a la entrada del PLC, por supuesto al 0% de llenado de cada uno de los tanques habrá 0Vdc a la entrada del PLC. 3.5. Controlador Lógico Programable (PLC).

Figura 9. PLC.

Encargado de adquirir los datos del proceso además de interactuar con este. Se utilizan entonces tres señales análogas (Voltaje sobre la Bomba, Nivel del Tanque Lineal, Nivel del Tanque no-Lineal), y dos señales digitales (Las dos válvulas de fuga) jerarquizadas de la siguiente forma: Entrada:

• Análoga o PEW 128 (nivel del Tanque Lineal) o PEW 130 (nivel del Tanque no-Lineal)

Salidas: o Análoga:

o PAW 128 (Voltaje sobre la Bomba) o Digital:

IEL2-I-04-12

Page 33: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

33

o A 124.0 (Válvula de Fuga Tanque Lineal) o A 124.3 (Válvula de Fuga Tanque No-Lineal).

El PLC se encarga de la adquisición de datos, además de ser un actuador, para los algoritmos de programación para el control de la planta se utilizó WINCC, una herramienta de SIMATIC que emula la interfaz hombre-máquina. 3.6. Modelo matemático de la unión de Componentes de la Planta.

Figura 10. Plano de Tanques Acoplados. Todos los tubos a excepción del tubo de consumo, tienen un área transversal de 0.307cm2. El tubo de consumo tiene un área transversal de 0.173cm2. El modelo de la planta es de segundo orden, y no se tuvo en cuenta la resistencia del tubo que comprende la bomba y el Tanque Lineal. Para modelar la dinámica del sistema se utilizaron las ecuaciones de la mecánica de fluidos de Bernoulli, las cuales tienen un comportamiento cuadrático que contribuyen a la no linealidad del sistema así ambos tanques fueran lineales. La bomba como se dijo anteriormente se modeló por medio de una ganancia. Las válvulas de fuga se modelaron como perturbaciones del sistema, que en condiciones normales de operación no estrían presentes. Para el modelamiento de la planta se utilizó además el principio de conservación de la Energía y la materia. Al haber dos elementos acumuladores de materia (agua), el modelo de la planta resulta ser de segundo orden. No se tuvieron en cuenta efectos de turbulencia por posible filtración de aire en los tubos. Las fallas que supuestamente suceden inesperadamente se simulan en el presente modelo para describir lo que sucede en situaciones fuera de lo común, sin embargo como se trata de análisis y clasificación de “Estados Funcionales” de la presente planta, se creó un

IEL2-I-04-12

Page 34: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

34

benchmark para la simulación así como la clasificación tanto de estados en modo de operación normal, como estados de falla en el sistema de tanques acoplados.

1. El cambio en el volumen de agua que se acumula en el Tanque Lineal es proporcional al caudal de entrada menos el caudal de salida que comprende tanto la fuga como la salida de agua al Tanque no-Lineal.

.:tan:tan:

:.tan:

,0,1

2*)(*2

2

1

1211

tubosltransversaareaAlinealnoqueAlturah

lienalqueAlturahBombadeentradaCaudalq

linealqueltransversaareaAFalsoleaksi

Verdaderoleaksileak

ghAleakhhgAqdtdhA

t

i

tti

⎩⎨⎧

==

=

−−−=

2. El cambio de volumen de agua que se acumula en el Tanque no-Lineal es

proporcional al caudal de entrada menos el caudal de salida, que comprende tanto la fuga como la salida de agua para el consumo. El área transversal del tubo de consumo es de 0.173cm2.

.:tan:)(

27,75.225

275.17,)5.17(5.9

205.415.10

5.178,)8(5.9

205.215.10

80,25.110

)(

2*2)(2)(

2

2

22

22

2

2

22212

2

consumodetuboltransversaareaAlinealnoqueltransversaareahA

cmh

cmhcmh

cmhcmh

cmh

hA

ghAleakghAhhgAdt

dhhA

p

tpt

⎪⎪⎪

⎪⎪⎪

>

<<⎭⎬⎫

⎩⎨⎧ −−

<<⎭⎬⎫

⎩⎨⎧ −+

<<

=

−−−=

IEL2-I-04-12

Page 35: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

35

Uniendo las dos ecuaciones diferenciales anteriores, teniendo en cuenta que el área transversal de los tubos es At = 0.307cm2 , que el área transversal del tubo de consumo es Ap=0.173cm2, que el área transversal del tanque lineal es A = 110.25cm2, y que todas las unidades van a ser trabajadas en Centímetros, las ecuaciones diferenciales que describen la dinámica del proceso quedan:

2

2

2

2

21

2

2

1211

1960)(307.0*1960*

)(173.0)(*1960

)(307.0

*1960307.0*)(*1960002785.000907.0

hhA

leakhhA

hhhAdt

dh

hleakhhqdtdh

i

−−−=

−−−=

3.6.1. Control de La Planta. El control de la planta se ejecuta por medio de un controlador tipo PID. Para el diseño de los parámetros del controlador, se procedió a linealizar la planta, posteriormente se halló una ecuación diferencial de segundo orden para el nivel del tanque no-lineal, finalmente hallando la función de transferencia. Se utilizó la herramienta de MATLAB® para hallar el lugar de las raíces ubicando los polos y ceros de la función de transferencia junto con los polos y ceros del PID. Luego de hallar los parámetros del PID contínuo, se discretizó debido a que la planta estaba siendo controlada por medio de un computador, el operador que se utilizó para la discretización del PID fue el operador bilineal [6]. Antes de escoger el punto de operación de estabilidad para la planta, se consideró el área transversal del Tanque no-lineal como constante siendo esta constante el promedio de las áreas transversales en función de la altura. Dicho promedio es A(h2) = 257.25cm2. Para encontrar un punto de operación de estabilidad para la planta, se tuvo en cuenta que en el equilibrio toda la dinámica es igual a cero.

2010

2212

319.1

1960000674.0)(1960001193.00

hh

hhhdt

dh

=

−−==

Luego expandiendo las dos ecuaciones diferenciales anteriores en series de Taylor alrededor de h20=17.5cm, se tiene la linealización de la planta.

)(026092.0)(026092.0)(00907.0 20210101 hhhhqq

dtdh

ii −+−−−=

La segunda ecuación diferencial también se aproxima por expansión en series de Taylor alrededor del punto h20=17.5cm, teniendo la siguiente expresión:

IEL2-I-04-12

Page 36: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

36

)(01474.0)(011181.0 2021012 hhhh

dtdh

−−−=

Observe que no se tuvo en cuenta para la linealización y el diseño del PID, la parte de las fugas en los tanques, porque son perturbaciones inesperadas probabilísticas y no controlables. Escogiendo variables de estado x1 = (h1-h10) y x2 = (h2-h20), y una entrada u = (qi – qi0), se tienen las siguientes ecuaciones de estado:

21

*

2

21

*

1

01474.0011181.0

26092.0026092.000907.0

xxx

xxux

−=

+−=

Solucionando y despejando para x2 se llega a la siguiente función de transferencia:

000102.0043521.0000147.0009975.0)(

)()(

2

2

+++

==ss

ssTsusx

Para el diseño del PID, se utilizó el método del lugar de las raíces, utilizando la herramienta que posee el programa MATLAB® para dibujar el lugar de las raíces. El controlador tiene la siguiente función de transferencia:

ssKPI )001265.0( +

=

el cual colocado en cascada con la función de transferencia de la planta tiene la siguiente función de transferencia de lazo abierto:

sssesssG

000102.0043521.086.100016.0009975.0)(

23

72

++++

=−

La realimentación es unitaria, y la dan los sensores MPX2210GP, particularmente el sensor que mide la altura de la columna de agua del Tanque no-Lineal, tanque al cual se le está controlando el nivel de agua donde se desee. Con base en lo anterior, se dispuso de la herramienta de MATLAB® para el trazo del lugar de las raíces, el cual toma como función de transferencia la descrita por G(s) que es igual a la multiplicación entre la función de transferencia de la planta T(s) y la función de transferencia del controlador PI(s). Se escogió el método del lugar de las raíces, porque todos los polos del sistema eran reales y tendían para ganancias en el infinito hacia la estabilidad, también por ser un sistema de segundo orden facilitaba el diseño del PID por este método mas que por cualquier otro.

IEL2-I-04-12

Page 37: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

37

Métodos como Ziegler-Nichols y Modelo Interno en lo personal no han funcionado satisfactoriamente; los controladores que mejor desempeño han tenido en mi corta experiencia son los que se acomodan al modelo matemático y de raciocinio físico que se haga con respecto a la planta. El presente proyecto de Grado confirma aún mas mis creencias. El lugar de las raíces de la planta con el controlador PI es el siguiente:

Figura 11. Lugar de Las Raíces de Planta.

Observando que el polo dominante del sistema viene dado por la tercera rama del lugar de las raíces (la rama mas cercana al eje imaginario), se escoge una ganancia arbitraria, Para la planta se escogió una que hiciera que el polo dominante no estuviera tan cercano al eje imaginario por motivos de estabilidad. La ganancia escogida fue de K=1.05, y la función de transferencia del controlador PI(s) sin tener en cuenta la ganancia de la bomba de agua queda así:

sssPI )0012.0(05.1)( +

=

teniendo en cuenta que la ganancia de la bomba de agua es de 4, y que la traza que MATLAB® hace es con una ganancia unitaria del sistema, la ganancia del controlador va a ser Kp = 0.2625, y la constante integradora del controlador va a ser igual a Ti = 790.663. Con los ajustes anteriores el controlador PI(s) queda como sigue:

IEL2-I-04-12

Page 38: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

38

⎟⎠⎞

⎜⎝⎛ +=

ssPI

663.790112625.0)(

3.6.2. Discretización del PID. Debido a que la planta va a ser controlada por medio de un computador (WINCC) y un Controlador Lógico Programable (PLC), es recomendable discretizar el controlador. El operador de discretización que se utilizó fue el diferencial Trapezoidal [6], el cual mapea el lugar de las raíces en contínuo exactamente en el circulo unitario de estabilidad del lugar de las raíces en discreto.

muestreodetiempoTz

zTz

Tsz

zT

s

:121

12

1112

1

1

⎟⎠⎞

⎜⎝⎛

−+⎟

⎠⎞

⎜⎝⎛

−=⇒⎟

⎠⎞

⎜⎝⎛

+−

≡−

El tiempo de muestreo utilizado para la planta fue de 2seg. La ejecución del algoritmo de control del controlador PI(s) fue programada en WINCC, transformando PI(s) a PI(z) y posteriormente a el controlador en tiempo discreto:

∑ ∑=

=++=

⎟⎠⎞

⎜⎝⎛

−+⎟

⎠⎞

⎜⎝⎛

−+=

K

i

K

ii

P

i

PP

i

P

i

PP

ieTTKie

TTKkeKkPI

zz

TTK

zTTKKzPI

0

1

0)(

2)(

2)()(

1211

2)(

Observar que la función en tiempo discreto no es recursiva, sin embargo WINCC permite archivar datos pasados, lo cual facilita el ir acumulando el error haciendo que la función PI(z) pasada a tiempo discreto sea fácil de programar. Recordar los siguientes parámetros para controlar la planta:

Parámetro Valor Kp 0.2625 Ti 790.663seg T 2seg La explicación sobre el algoritmo de programación para el controlador se explicará mas adelante, también se recomienda ver los anexos del presente trabajo donde se dan los códigos de programación en el lenguaje C++®, para un mayor entendimiento del sistema de control.

IEL2-I-04-12

Page 39: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

39

3.7. Resultados del Controlador. A continuación se presenta el diagrama de bloques del Módulo de Tanques Acoplados en lazo cerrado, mediante la herramienta SIMULINK de MATLAB®, y sus respectivos resultados en simulación. Si desea observar los resultados del controlador del proceso en tiempo real, se sugiere ver los posteriores apartados, o ir personalmente a la planta ubicada en el edificio W, laboratorio de eléctrica, salón de máquinas.

Figura 12. Modelo Tanques Acoplados.

El bloque “Tanque Lineal” contiene las ecuaciones diferenciales dinámicas que gobiernan al Tanque Lineal. El bloque “Tanque No-Lineal” contiene a las ecuaciones diferenciales que gobiernan al Tanque no-Lineal. “Leak1” contiene la programación de las inesperadas fugas en el Tanque Lineal, y “Leak2” contiene la programación de las inesperadas fugas en el Tanque no-Lineal. El modelo de Tanques Acoplados grafica los niveles de los dos tanques, controla el nivel en el Tanque no-Lineal mediante un PID. Obsérvese también que la bomba fue modelada como una ganancia igual a 4. El PID utilizado en la simulación es contínuo, y sus parámetros son iguales a los hallados anteriormente (Kp = 0.2625, Ti = 790.663). Para el presente Proyecto de Grado era necesario una buena sintonización del controlador PID, porque de lo que se trata es de emitir un buen diagnóstico por medio del LAMDA al operador sobre la planta. De no haber sido sintonizado correctamente, LAMDA estaría creando “Estados Funcionales” de una planta mal controlada, resultando en clasificaciones erróneas, siendo catastrófico para la emisión de los diagnósticos en tiempo real. El controlador tanto aplicado en el proceso físico real, como en la simulación fue satisfactorio, y su señal servirá de gran ayuda mas adelante para el entrenamiento del algoritmo LAMDA. El modelo se asemejó al sistema físico, facilitando el diseño del controlador PID en la práctica, y su acción de control fue satisfactoria, porque se logró un control suave en todo el rango posible de operación (para la altura del Tanque no-Lineal desde 0cm hasta 40cm). A continuación se presentan internamente los Bloques “Tanque Lineal”, “Tanque No-Lineal”, “leak1”, y “leak2”, los cuales contienen la dinámica del sistema de tanques acoplados con sus respectivas e inesperadas fugas en las válvulas.

IEL2-I-04-12

Page 40: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

40

Figura 13. Modelo Tanques Acoplados/ “Tanque Lineal”.

Figura 14. Modelo de Tanques Acoplados / “Tanque No-Lineal”.2

2 A(h2): Input Vector=[0 8 17.5 27]; Output Vector=[110.25 110.25 435.75 225.75]

IEL2-I-04-12

Page 41: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

41

Figura 15. Modelo Tanques Acoplados / Leak1(izquierda), Leak2(derecha)3

Figura 16. Resultados Simulación Modelo Tanques Acoplados.

En la figura 16 se presentan los resultados de la simulación de los Tanques Acoplados. La gráfica verde representa la evolución en el tiempo del nivel de la columna de agua en el Tanque no-Lineal. La gráfica azul representa la evolución en el tiempo del nivel de la columna de agua en el Tanque Lineal. Obsérvese que el nivel en el Tanque Lineal tiene que ser mayor al del No-Lineal o de lo contrario el agua fluiría del segundo tanque al primero, sin poder controlar el nivel de agua del segundo tanque. Los dos baches presentes en las dos curvas alrededor del instante t = 25000seg se deben a la simulación de apertura en las dos válvulas acopladas tanto al Tanque Lineal como al Tanque No-Lineal. Hacia t = 25000seg se simula una apertura en la válvula acoplada en el Tanque Lineal, con una duración de 40seg abierta, haciendo que se baje tanto el nivel en el primer tanque como en el segundo. Hacia t = 25020seg, se simula otra apertura en la válvula acoplada esta vez al Tanque no-Lineal, con una duración también de 40seg. Los niveles en los dos tanques bajan de manera mas abrupta cuando ambas válvulas estén abiertas es decir alrededor de t = 25020seg y t = 25040seg.

3 Leak1/step1:initial time=25000seg, Leak1/step2:initial time=25040seg; Leak2/step1:initial time=25020seg, Leak2/Step2: initial time=25060seg.

IEL2-I-04-12

Page 42: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

42

4.Programación del Proyecto. Para la obtención de datos del proceso en tiempo real, se contó con las herramientas industriales de SIMATIC STEP7, y SIMATIC WINCC. Con la primera herramienta se programó el acondicionamiento de las señales en nivel Assembler; Con la segunda herramienta se programaron la interfaz hombre-máquina, los algoritmos de control, y los algoritmos de comunicación entre WINCC y SALSA.

Figura 17. Diagrama de Bloques del Proyecto.

La información que de la planta físicamente se puede extraer, es la referente a la altura de los niveles de agua por medio de los sensores de presión diferencial MPX2210GP, y el voltaje sobre la Bomba de agua. Estas tres variables son las que se escalan (para el caso de los niveles de las columnas de agua de los tanques), y se desescalan (para el caso del voltaje sobre la bomba), mediante el PLC. El resto de las variables se extraen a partir de los algoritmos de control que se programan en WINCC.

4.1. Programación del PLC.

STEP7 programa el PLC bajo tres lenguajes de programación; AWL (programación Assembler), KOP (Lenguaje de contactos), y FUP (Lenguaje de Diagrama de Bloques). Para este proyecto de grado, se utilizó el lenguaje AWL. AWL posee varias funciones estándar, entre ellas se utilizaron únicamente dos funciones estándar, las cuales son SCALE la cual escala los datos adquiridos desde la planta o proceso, y UNSCALE la cual desescala los datos para controlar el proceso o planta. Las funciones estándar de AWL simplemente de parametrizan. El programa utilizado contiene bloques maestro-esclavo, El “maestro” llama al “esclavo” para que ejecute una determinada función. Las instrucciones en AWL del bloque “maestro” se ejecutan en forma secuencial, así como las instrucciones en AWL de los bloques “esclavo” que también se ejecutan en forma secuencial. El PLC contiene un buffer para que todos los datos cargados desde el proceso, y datos para controlar el proceso sean enviados en paralelo, además de poseer

IEL2-I-04-12

Page 43: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

43

LATCHES para mantener el último estado en el que se encontraba el controlador. Es decir si por ejemplo en un instante de tiempo existe una señal de 10V y la fuente que generaba dicha señal desaparece, el PLC mantiene los 10V del último instante de tiempo que se observó la señal.

• SCALE o IN: Se ingresa la señal análoga de entrada para nuestra aplicación serán

PEW128 y PEW130. o HI-LIM: Se ingresa el nivel máximo de la señal; para nuestra aplicación es

de 10V. o LO-LIM: Se ingresa el nivel mínimo de la señal; para nuestra aplicación es

de 0V. o BIPOLAR: Se decide si se quiere una señal con voltajes negativos; Para

nuestra aplicación es FALSE. o RET_VAL : Se indica la variable para almacenar la detección de errores

durante la ejecución de la acción (MW33(PEW128) y MW43(PEW130), variable cualquiera).

o OUT: Se ingresa la variable de salida (MD12 o MD22). • UNSCALE

o IN: Se ingresa la variable de entrada (MD55). o HI-LIM: Se ingresa el nivel máximo de la señal (10V). o LO-LIM: Se ingresa el nivel mínimo de la señal (0V). o BIPOLAR: Se decide señal con eje negativo.(FALSE). o RET_VAL: (MW53(PAW128)) o OUT: Se ingresa la variable de salida (PAW128).

Las señales que se utilizaron para la interacción con el proceso son:

• Tank1 (PEW128). • Tank2 (PEW130). • Bomba (PAW128).

4.2. Programación de WINCC.

WINCC es la interfaz hombre-máquina que se comunica con el programa cargado en el PLC. Para la comunicación adecuada con el módulo PLC, es necesario cargar el paquete “SIMATIC S7 PROTOCOL SUITE”, este paquete define el protocolo de comunicación entre la interfaz y el módulo. Para un mayor detalle sobre las conexiones necesarias y los pasos a seguir para definir una aplicación en WINCC, se sugiere ver la referencia: “Kobold Franky P.H, Sáenz Ayala D. Integración Vertical Hacia Arriba del Control de un Proceso Industrial con los Niveles de una Empresa: Módulo de Tanques Acoplados. Universidad de Los Andes, 2004.” En WINCC se programaron los algoritmos necesarios y se crearon las variables necesarias para llevar a cabo el control del proceso y la comunicación con el nuevo software SALSA; Los algoritmos se programaron en lenguaje C++®, los cuales son los de interés particular

IEL2-I-04-12

Page 44: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

44

para los usuarios de SALSA porque a partir de estos programas se lleva a cabo la comunicación con el software, así como el control del proceso.

Nombre Dirección Función

Inicio Variable Interna binaria Iniciar la aplicación Online Variable Interna binaria Comunicación con SALSA

ONLINE. FaultS Variable Interna binaria Cargar el escenario de fallas

en la planta Disp Variable Interna binaria Da inicio a la creación de un

nuevo archivo *.dat para SALSA OFFLINE.

tiempo Variable Interna Análoga Cuenta el tiempo para repetir el escenario de fallas en caso en que FaultS sea TRUE.

Referencia Variable Interna Análoga El operador define el Set-Point del nivel de la columna de agua en la Planta.

Tank1 MD12 Captura los datos correspondientes al nivel de la columna de agua en tanque no lineal.

error Variable Interna Análoga Error = referencia – tank1 errant Variable Interna Análoga Es el error en un instante de

tiempo anterior. eantant Variable Interna Análoga Es el error pero en un

instante de tiempo anterior al anterior.

P Variable Interna Análoga Banda proporcional del controlador PID.

I Variable Interna Análoga Banda integradora del controlador PID

D Variable Interna Análoga Banda Derivativa del controlador PID.

interr Variable Interna Análoga Integra el error a lo largo del recorrido del tiempo.

interrant Variable Interna Análoga Integración del error a lo largo del recorrido del tiempo en un instante anterior.

control Variable Interna Análoga Señal de control dependiente del error y de las señales interr e interrant.

Bomba MD55 Bomba = control + 1.3V Tank2 MD22 Captura los datos del nivel de

agua en tanque lineal.

IEL2-I-04-12

Page 45: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

45

Nombre Dirección Función Tank1ant Variable Interna Análoga Datos del nivel de la

columna de agua en un instante de tiempo anterior.

Controlant Variable Interna Análoga Señal de control en un instante de tiempo anterior

Dtank1 Variable Interna Análoga Derivada de la señal Tank1, a partir de la señal Tank1ant, sacando pendiente cada 60 segundos.

Dcontrol Variable Interna Análoga Derivada de la señal control, a partir de la señal controlant, sacando pendiente cada 60 segundos.

Daltura Carácter Clasificación cualitativa de la derivada de la altura (dtank1) tiene dos modalidades a y b.

Dcont Carácter Clasificación cualitativa de la derivada del control (control), tiene tres modalidades a,b,c.

Zona Carácter Clasificación cualitativa de la altura (tank1), tiene cuatro modalidades a,b,c,d.

Vcons A124.0 Simula fugas inesperadas en el Tanque no lineal.

Leak1 A124.3 Simula fugas inesperadas en el Tanque lineal

El anterior es el listado de variables que se utilizaron para la elaboración del Proyecto de Grado. A continuación se presente el Diagrama de Flujo de la jerarquía de los Programas de WINCC.

IEL2-I-04-12

Page 46: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

46

Figura18. Esquema de Ejecución de Tareas.

Figura 19. Esquema de Tareas de la Función LAMDA

IEL2-I-04-12

Page 47: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

47

Los Programas utilizados para el control de la planta y la comunicación con la planta son: Programa Tipo Función

Derivadas Acción del Proyecto Calcula las derivadas del nivel del tanque no lineal y de la variable de control.

Prueba Acción del Proyecto Emite la señal de control hacia el proceso.

Archivador Acción del Proyecto Crea archivos *.dat y *.txt a partir de los valores adquiridos del proceso que se almacenan en el TagLoggin de WINCC

PID Función del Proyecto Controla la planta, es llamado por la rutina Prueba, cuando el operador le indique al sistema que desea iniciar o arrancar la planta.

Lamda Función del Proyecto Es llamado por la rutina Archivador.

Programa Tipo Función Archivar Función del Proyecto Crea archivos *.txt para

llevar un conteo del tiempo transcurrido.

FaultS Función del Proyecto Carga el escenario de fallas inesperadas. Llamado por la rutina archivador.

Los programas cuya jerarquía era la mas alta, fueron aquellos que podían ejecutar acciones sobre el proceso. Dichas acciones eran ejecutadas cíclicamente; “Prueba” y “Archivador” eran ejecutadas cada dos segundos. “Derivadas” se ejecutaba cada minuto, pues al ser la señal tan ruidosa, el cálculo de las pendientes no era el óptimo, pues así la media de la señal tuviera una tendencia al seguimiento de la señal de referencia o set-point, la señal oscilaba dentro de una vecindad alrededor de una media. Sin embargo los problemas de ruido fueron solucionados.

4.3. Atributos Escogidos.

En el curso de Seminario de Control, se presentaron las diferentes clasificaciones de LAMDA, y se me hicieron recomendaciones sobre los posibles atributos que debería escoger. Fue un ensayo de prueba y error para escoger los atributos mas adecuados para la clasificación y el posterior diagnóstico. Particularmente hubo un archivo generado por datos históricos de la planta que a mi concepto tuvo los mejores resultados. Durante el proceso de selección de atributos, también hubo un archivo determinante en la elección de los atributos del archivo cuyos resultados fueron los mas satisfactorios a mi concepto. Este lo Presento a Continuación.

IEL2-I-04-12

Page 48: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

48

Figura 19. Clasificación LAMDA. Para la solucionar los problemas de ruido a partir de las muestras que se tomaban de la planta se procedió a aumentar el tiempo de muestreo desde un segundo hasta dos segundos, pues el tiempo de respuesta de la planta era de cinco minutos. La recomendación que se hace para el muestreo de este tipo de plantas es que sea cada tiempo de respuesta cincuentavos, el muestreo daba entonces de 5 segundos, sin embargo simulando el proceso en MATLAB, se observaba que la señal de control era muy lenta, es decir en caso de que suceda un evento inesperado, como una fuga en alguno de los tanques, cada que se aumente el tiempo de muestreo, la representación de la falla que se observa en el nivel de los tanques se ve mas marcada cuando el muestreo es mas grande.

IEL2-I-04-12

Page 49: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

49

Figura 20. Clasificación LAMDA Sin embargo la Clasificación que hacía LAMDA sobre la población no era de mi satisfacción, pero me di cuenta de:

• La derivada de la señal de control no cambia tan abruptamente cuando hay presencia de una fuga de agua, mientras que si cambia abruptamente cuando hay un cambio en el punto de operación.

• La derivada de la señal de nivel del tanque no lineal es negativa cuando hay presencia de una falla, o cuando el punto de operación cambia a un set-point menor.

• Las derivadas se deben sacar cada 60 segundos para filtrar efectos de ruido. • Los datos cualitativos pueden representar conceptos mas claros que los cualitativos,

luego se clasificaron las derivadas en datos cualitativos también. Finalmente se escogieron los siguientes atributos:

1. tank1 : nivel del Tanque no-lineal. 2. tank2 : nivel del Tanque lineal. 3. Bomba: Señal de voltaje hacia la bomba. 4. dtank1: Derivada del nivel del tanque no-lineal. 5. dcontrol: Derivada del control o voltaje hacia la bomba. 6. zona: Clasificación cualitativa del nivel del Tanque no-lineal (4 Modalidades) 7. daltura: Clasificación cualitativa de la derivada del tanque no-lineal (2

Modalidades)

IEL2-I-04-12

Page 50: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

50

8. dcont: Clasificación cualitativa de la derivada de la señal de control (3 Modalidades).

Los Resultados Finales fueron los Siguientes:

Figura21. Clasificación LAMDA II.

Figura 22. Clasificación LAMDA III.

IEL2-I-04-12

Page 51: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

51

4.4. Simulación de Simulink en MATLAB.

Figura 23. Simulación en Simulink

Figura 24. Clasificación LAMDA. Datos Simulados.

IEL2-I-04-12

Page 52: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

52

Figura 25. Clasificación LAMDA, datos simulados cualitativos.

Los datos de resultados de la planta fueron similares a los datos obtenidos en la simulación Para la clasificación que LAMDA hace a los “Objetos” que observamos en las figuras anteriores, hay que tener en cuenta que el archivo de datos creado en MATLAB® es el doble de grande que el archivo creado en WINCC, para esto basta con observar en la escala del tiempo el número de muestras que cada archivo tiene. El archivo generado en MATLAB tiene 5000 muestras, mientras que el archivo de WINCC tiene 2500 muestras. LAMDA crea “Clases” que posteriormente en el presente trabajo van a ser mapeadas en “Estados Funcionales”, para que el software pueda trabajar en línea con el proceso. En la interfaz gráfica que WINCC tiene con el operador, este debe seleccionar trabajar en línea, al habilitar el BIT “Online”, de lo contrario trabajará fuera de línea. El alcance del presente proyecto de grado está en mapear las “Clases” en “Estados Funcionales”, para que el software SALSA04V1 emita un diagnóstico en tiempo real sobre la situación de la planta. Para poder observar el correcto desempeño del programa se sugiere habilitar la rutina de faltas (FaultS, con faulthab = TRUE), para simular las fugas con las que se entrenó al algoritmo durante la fase OFFLINE, dichas simulaciones de fuga se ejecutan cada mil segundos, y el tiempo de duración de la falla será un número aleatorio entre 20 segundos y 1 minuto veinte segundos, tiempos dentro de los cuales se puede simular tanto fugas que pueda que no detecte LAMDA (fugas cercanas a los 20 segundos), como fugas que de seguro las va a detectar (mayores a 30 segundos).

IEL2-I-04-12

Page 53: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

53

Durante la fase de entrenamiento, se observó que la planta era algo lenta (tiempo de respuesta de 5 minutos), en donde al simular fugas menores a 10 segundos, dichas señales de perturbación no alcanzaban a ser detectadas por el sistema, pues el nivel en los tanques no bajaba significativamente, al igual que la señal de control que tampoco subía significativamente, este tipo de fugas no van a ser reconocidas por Salsa04v1 como tal, sino que van a ser filtradas, así el índice de exigencia α sea cercano a 1, es decir van a ser reconocidas como un modo de operación estable o normal. Para poner en marcha el proyecto, se necesita que se abra el programa de SIMATIC WINCC, el cual funciona como un explorador de archivos ejecutables. En caso de que el archivo “Fandnop” no esté abierto, buscarlo dentro del explorador. Una vez este abierto este archivo, proceda a ejecutarlo, de la forma como lo explican en la sección de “Puesta en Marcha de WINCC” de la referencia [1]. Esto hará que actúen el PLC y el computador en sincronismo, para las respectivas ejecuciones de tareas que se hacen sobre el Sistema de Tanques Acoplados. Una vez puesto en marcha el proyecto, el operador dispone de dos imágenes. En la primera imagen (Tanques) se cargan los mímicos de la planta, dinamizando los niveles de agua del Sistema de Tanques Acoplados, y a su vez viendo el valor actual de estos niveles; En la segunda imagen (Gráficos) se cargan los datos relevantes en tiempo real de la planta en gráficos, y los datos del lazo de control que se tiene sobre la planta es decir los parámetros del PID que controlará el nivel en el Tanque No-Lineal, y la referencia a la cual se quiere controlar el nivel de agua en este tanque. Para iniciar la puesta en marcha de la Planta, se debe oprimir sobre el botón de “Inicio”, una vez puesto en ejecución el archivo “Fandnop” de WINCC. Para controlar el proceso se debe de oprimir sobre el botón “Gráficos” que hará cambiar a la pantalla de control al operador; En la pantalla de control el operador introducirá tanto los parámetros del PID, como la referencia de nivel de agua a la cual quiere llevar a la planta. En esta misma pantalla se disponen de dos botones los cuales son “FaultS” quien cargará el escenario de fallas sobre la planta mediante la apertura y cierre de válvulas y “online” quien se comunicará con el software Salsa04v1 en tiempo real, este último será el encargado de la emisión del respectivo diagnóstico que se tenga sobre la planta. Salsa04v1 cuando trabaja en tiempo real, sólo está en capacidad de “reconocer”, es decir que ninguna “Clase” nueva va a ser formada cuando se trabaje en tiempo real; Cuando el software se encuentra en presencia de un “Objeto” desconocido, el algoritmo asignará a dicho “Objeto” a la “Clase NIC” o “Non Informative Class”.

IEL2-I-04-12

Page 54: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

54

5. Software Salsa04v1.

Salsa04v1 es un software de imposición cualitativa de situaciones dado un proceso industrial, pues en cada instante se muestrean “Objetos” y en cada instante se asignan estos “Objetos” a “Estados Funcionales”. Este software provee las vías para la construcción de sistemas de clasificación para la fase OFFLINE o de caracterización, y la identificación en tiempo real de los estados funcionales del proceso por medio de una técnica de clasificación de aprendizaje, utilizando información cuantitativa y cualitativa de las variables del proceso, y del conocimiento del experto u operador. El software Salsa04v1 fue desarrollado por el grupo DISCO del instituto LAAS-CNRS teniendo estos últimos todas los derechos reservados; La versión es el resultado de la actualización hecha en enero del 2004. La principal tarea que hace SALSA es la de identificar en una forma cualitativa, el actual “Estado Funcional” de un proceso supervisado, utilizando datos tanto cualitativos como cuantitativos. Para desempeñarlo, SALSA posee dos etapas; La etapa OFFLINE corresponde a una etapa de aprendizaje en la cual dado un conjunto de “Objetos” se generan “Clases” asignando “Estados Funcionales” a estas “Clases”, por medio de un constante diálogo con el experto. Durante esta etapa de aprendizaje, existe el proceso de generación de “Clases”, y un proceso de asignación o Mapeo de estas “Clases” a lo que el experto considere como “Estado Funcional” de un proceso; La etapa ONLINE es una etapa de reconocimiento en donde durante la operación de la planta se genera el actual “Estado Funcional” del proceso supervisado utilizando datos en tiempo real. 5.3.Instalación[7].

1. En el fólder de instalación InstallSALSA04vbat, hacer doble clic en el archivo “Setup.exe”.

2. Una vez instalado SALSA, verificar que el directorio Salsa04v1 halla sido creado. 3. Verificar a su vez que el sub – directorio \\DataTr halla sido creado; este último es

donde se debe cargar el archivo de datos que se genere en la aplicación en tiempo real, para el caso del proyecto de grado desde WINCC.

El software SALSA está sujeto a cambios, pues se ha venido desarrollando constantemente, si se dispone de una nueva versión de SALSA, por favor seguir las instrucciones indicadas en aquel manual. Esto fue extraído de la referencia [7], haciendo uso de la última actualización de enero del 2004. 5.4.Uso de Salsa04v1. Una vez instalado SALSA, aparecerá una ventana que da tres opciones de operación. La opción OFFLINE, la opción ONLINE, y la opción QUIT. La primera se utiliza durante la etapa de aprendizaje entre el algoritmo LAMDA y el proceso industrial; La segunda opción se utiliza durante la etapa del reconocimiento, leyendo el archivo en tiempo real que se genera de la aplicación o proceso industrial; La tercera opción se utiliza para salir si se desea no observar mas el diagnóstico que emite el software en caso de que se estuviera

IEL2-I-04-12

Page 55: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

55

operando bajo la opción ONLINE, o si se desea terminar con el aprendizaje en el caso de la opción OFFLINE. QUIT solamente aparece en la ventana principal de menú, y si se quiere salir de SALSA, primero se tiene que cerrar la aplicación u opción que se esté utilizando.

Figura 26. Referencia [7]. Plataforma Salsa04v1.

5.4.1. SALSA OFF-LINE. Etapa de aprendizaje de LAMDA. En esta etapa se debe de cargar una “Población” o conjunto de “Objetos” para la formación de “Clases”. A partir de esta etapa, se puede identificar cualitativamente el proceso industrial que se esté controlando. Tanto en lazo abierto en donde se tendría un modelo cualitativo a base de estados finitos del sistema físico sin controlar, y una nueva aproximación al modelaje de la planta; como en lazo cerrado en donde nuevamente se tendría un modelo cualitativo de estados finitos de la planta controlada, para así dar un diagnóstico sobre el lazo de control de la planta y que el supervisor del proceso pueda hacer los respectivos correctivos. Para el Sistema de Tanques Acoplados utilizados en el Proyecto de Grado, se utilizó SALSA para la identificación de “Estados Funcionales” del lazo cerrado de control del proceso, debido a que el objetivo es el de emitir un diagnóstico en cada instante de tiempo para que el supervisor de la planta decida sobre las acciones de control a tomar sobre la planta. Aunque se hubiera podido hacer sin ningún problema la identificación cualitativa de la planta a través de “Estados Funcionales” finitos, no se hizo porque ya se disponía de un modelo matemático, resultando la identificación cualitativa poco útil comparada con el modelo matemático que se dispone de la planta. Para casos donde no se cuente con información alguna sobre el proceso, la identificación cualitativa del sistema de lazo abierto sería de mucha utilidad pues se reconocerían las diferentes zonas o puntos de operación de la planta, y se dispondría de un diagrama de estados como modelo del sistema. Para controlar el proceso desconocido se procedería a sintonizar un PID por el método de Ziegler Nichols, y la identificación de los “Estados Funcionales” del sistema en lazo cerrado servirían para crear un nuevo diagrama de estados que involucrarían al controlador y al proceso. Se reitera nuevamente que para la identificación del proceso se utiliza la malla abierta, mientras que para el diagnóstico del proceso se utiliza la malla cerrada.

IEL2-I-04-12

Page 56: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

56

Figura 27. Referencia [7]. Opción OFFLINE de SALSA. Formato : El formato de los archivos de entrenamiento debe contener un “Contexto” y una “Población”; el “Contexto” define el número, así como los nombres y el tipo de datos que tienen los “atributos”; la “Población” es un conjunto de “Objetos” con “atributos” tanto cuantitativos como cualitativos. El archivo de entrenamiento debe ser uno de texto con extensión *.DAT. En la primera línea de este archivo de texto se carga el “Contexto” y debe de estar precedido al principio de esta línea por el caracter ‘&’. En caso de que se disponga de un “Contexto” en otro archivo diferente al *.DAT, dicho archivo debe estar bajo la extensión *.CON, sin embargo lo mas común es que tanto el “Contexto” como la “Población” estén en el mismo archivo de texto, siendo la primera línea la descripción del “Contexto”; El “Contexto” no es mas que la descripción de los “atributos” que se van a utilizar para la etapa de aprendizaje. Si se decide que estos son los “atributos” suficientes y necesarios, se deberá salvar el “Contexto” en la aplicación OFFLINE; para esto en el espacio donde dice “Context” se oprime sobre el botón “Save”, y salvará el contexto con una extensión *.CON. En las filas subsiguientes del archivo de texto (*.DAT), se cargan los “Objetos” cuya colección va a determinar la “Población”. En los objetos dependiendo del tipo de “atributos” se cargan datos tanto cuantitativos como cualitativos. El número de “atributos” que se cargan de los “Objetos” deberá ser el mismo número de “atributos” que se cargan del “Contexto”, además deberá seguir el mismo orden o de lo contrario Salsa04v1 emitirá un mensaje de error, o hará una clasificación indeseada. En las Clasificaciones SALSA crea “Clases”, y para salvar una clasificación deseada, se oprime sobre el espacio de “Classification” en el botón de “Save”, el archivo con que será salvado será de extensión

IEL2-I-04-12

Page 57: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

57

*.CLA. Este archivo se deberá cargar en la fase ONLINE para el “reconocimiento”, o también en el “modo de reconocimiento” OFFLINE. Tipo de Dato: Un “atributo” o “Descriptor”, se asumirá cuantitativo, cuando este empiece por número, un punto, signo menos o un signo mas. En caso contrario se asumirá que el “atributo” es cualitativo. Nombre de la Variable: El “Contexto” como se dijo anteriormente debe estar precedido del carácter ‘&’, al principio de la línea, y cada “atributo” deberá estar separado por un espacio en blanco de teclado uno de otro. Si se carga un vector fila de “atributos” solo basta con colocar el carácter ‘&’ al principio de la línea; si por el contrario se carga un vector columna de “atributos” en cada línea hay que colocar el carácter ‘&’. Clases Pre – Definidas: El espacio adicional del archivo de texto (*.DAT.) se reserva para el caso en que se desee que se haga un aprendizaje en “modo Supervisado”, e indica la “Clase” donde el “Individuo” u “Objeto” debe ser asignado. El algoritmo LAMDA de SALSA espera que esta asignación de “Clases” se haga de una forma semiordenada, es decir que una “Clase n” de mayor grado (siendo n el grado de la “Clase”) debe aparecer después de haber aparecido la “Clase n-1”. Cuando los números (grado n) son mayores que cero, los “Objetos” serán asignados a dicha “Clase”, en caso de que los números sean iguales a cero, quiere decir que se hará una clasificación posterior sobre aquellos “Objetos” cuya clasificación tenga reservado en su última columna el número 0.

Figura 28. Formato de Archivo de Datos *.DAT

El archivo de la figura anterior no tiene “Clases” pre definidas, debido a la extensión y al no conocimiento previo sobre la clasificación que el software SALSA haría sobre los “Objetos”; Se puede observar que cada fila representa un “Objeto”, y que cada columna de

IEL2-I-04-12

Page 58: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

58

valores representa un “atributo”. También en la primera fila se da una descripción de los atributos a utilizar, lo que define el “Contexto” con el cual se referencia al algoritmo LAMDA, también obsérvese que la primera línea está precedida del caracter ‘&’, como se explicó anteriormente. Como Cargar un Archivo de Entrenamiento: El usuario puede seleccionar “Nuevo Contexto”, o “Nueva Población”, desde la aplicación OFFLINE; Se puede cargar el archivo de entrenamiento de las dos formas, y para el presente Proyecto se cargo el archivo a partir de “Nueva Población”.

Figura 29. Referencia [7]. Cargada de Archivo de entrenamiento I.

Como Cargar el “Contexto”: El archivo de “Contexto”, normalmente contiene el número y el tipo de “atributos”. Puede ser inducido a partir del archivo de texto *.DAT a partir de la primera línea, como se ve en la figura 28, o puede ser cargado como un archivo independiente *.CON a partir de la selección de “Nuevo Contexto”. Si se decide cargar el “Contexto” a partir del archivo de texto *.DAT, es decir si se desea cargar el archivo de entrenamiento directamente de la “Población”, SALSA le preguntará al usuario si quiere cargar el “Contexto” correspondiente al archivo *.DAT.

Figura 30. Referencia[7]. Cargada de Archivo de Entrenamiento II. Como Cargar la “Población”: A partir de un archivo *.DAT. Este archivo puede cargar como se mencionó anteriormente directamente el “Contexto” del aprendizaje. El archivo de “Población” contiene los “Objetos” que van a ser usados para el entrenamiento y aprendizaje de LAMDA. Dicho archivo deberá tener el mismo número y tipo de “atributos” que los cargados en el “Contexto”; puede contener un espacio adicional donde se colocarán las “Clases” preestablecidas según una previa clasificación, o según sea el concepto del experto u operador. Existe una posibilidad que SALSA ofrece al cargar el archivo de entrenamiento, hay un par de ventanas de diálogo que le preguntan al usuario primero si desea editar la población, y segundo le pregunta al usuario si la última columna de su archivo de datos corresponde a la columna de clasificación. Cuando se desea editar la población se oprime sobre el botón de afirmación, editando la población en un editor de texto. Dado el caso de que se desee que halla un “aprendizaje

IEL2-I-04-12

Page 59: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

59

supervisado”, hay que presionar el botón de afirmación en la ventana de diálogo que le pregunta al usuario si la última columna corresponde a una clasificación previa.

Figura 31. Referencia[7]. Cargada de Archivo de Entrenamiento III.

Selección del Algoritmo de Clasificación: Para que el software SALSA ejecute el algoritmo LAMDA, se debe seleccionar el tipo de cálculo que se ejecutará para la clasificación y creación de “Clases”.

Figura 32. Referencia[7]. Selección de Clasificación.

( )

( )

( )

( )( ) ( )

( )

( )

σσ

ρρρρρρ

ρ

ρρ

ρρ

ρρ

ρ

ρρ

ρρ

σ

µ

σ

µ

022

2

22

2

111

1

1

1

1

,:2

:1

1121

log,1:4

1:312

1log

,1:2

1:1

=

−−−−

⎟⎟⎠

⎞⎜⎜⎝

⎛−

=−

⎟⎟⎠

⎞⎜⎜⎝

⎛−

=−

−−

−−−

−−−

−−−

KKeGauss

eGauss

KKLamda

Lamda

KKLamda

Lamda

x

x

cccc

cxcx

cxcx

xx

xx

IEL2-I-04-12

Page 60: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

60

Entre mas se suba el grado de la clasificación, siendo el grado mas alto el Gaussiano, también será menos sensible a crear nuevas “Clases” el algoritmo. Esto contribuye a la estabilidad en la creación de “Clases” para que no sean desmesuradas y difíciles de ser mapeadas en “Estados Funcionales”. Selección de los Conectores y del Nivel de Exigencia: A partir del parámetro α el usuario de Salsa puede escoger el operador de cálculo del “Grado Global de Pertenencia” (GAD), entre un operador de conjunción (operador “y” lógico) y un operador de disyunción (operador “o” lógico), pudiendo estar en un nivel intermedio es decir combinando ambos operadores, como se explicó en el capítulo 2. Para la selección de los conectores, es decir el tipo de operación que se va a realizar con los operadores “o” lógico e “y” lógico, el usuario puede escoger entre funciones probabilísticas, o utilizando los operadores mínimo y máximo que se explicaron anteriormente en el capítulo 2.

Figura 33. Referencia[7]. Selección de Nivel exigencia y Conectores.

Selección del Modo de Clasificación: La selección del modo de clasificación solamente se puede hacer en el modo OFFLINE de Salsa. Cuando un archivo de entrenamiento halla sido cargado durante la fase de aprendizaje OFFLINE, el modo de clasificación que utiliza Salsa deberá ser seleccionado de acuerdo con las características del archivo, y de la preferencia del operador. Existen tres modos de operación con los cuales se puede operar Salsa durante su aprendizaje y son: “aprendizaje no Supervisado”, “aprendizaje Supervisado”, y “Reconocedor de Patrones”.

Figura 34. Referencia[7]. Selección de Modo Clasificación.

Aprendizaje No Supervisado(Self Learning): El archivo de entrenamiento no tiene “Clases” preestablecidas, por ende no hay conocimiento preliminar sobre el proceso dispuesto a ser diagnosticado; En este modo de clasificación Salsa crea un conjunto de “Clases” usando como base los valores tanto cualitativos como cuantitativos de los “atributos” de los “Objetos” de la “Población” o archivo que halla sido cargado. En el software existen dos selectores que pueden ser cambiados a gusto del operador solamente bajo este modo. Estos selectores se llaman “máximo porcentaje de variabilidad”, y “máximo número de iteraciones”, son necesarios debido a que los parámetros de las “Clases” en una clasificación donde no se tenga conocimiento previo sobre el proceso varían; La clasificación sobre un archivo se hace cierto número de veces definido por el “máximo número de iteraciones”, o por el “máximo porcentaje de variabilidad” de alcanzar cierta estabilidad en los valores de los parámetros de una clasificación a otra. El número de iteraciones con que se

IEL2-I-04-12

Page 61: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

61

procesa un archivo o “Población”, depende de cuan ruidosos estén los datos de prueba que se cargan en el archivo, como se aprecia en la figura 19.

Figura 35. Referencia[7]. Aprendizaje no Supervisado.

Aprendizaje Supervisado: El archivo de entrenamiento debe tener un campo extra además de los atributos que se cargan en el “Contexto” correspondiente a la “Clase” de un “Objeto”. Esta opción permite imponer condiciones iniciales sobre la creación de “Clases” (aprendiendo de un conjunto inicial de “Clases”), este aprendizaje se lleva a cabo a partir de la adición de nuevas “Clases” además de las ya impuestas en la última columna o campo, de la modificación de las “Clases” que fueron impuestas en el último campo, y de la ejecución de ambas tareas (modificación y creación de “Clases”).

Figura 36. Referencia[7]. Aprendizaje Supervisado.

Reconocimiento de Patrones: Esta opción le permite al usuario escoger entre dos opciones las cuales consisten en decidir si permitirle al algoritmo clasificar los “Objetos” no reconocidos en la “Clase NIC”, o no permitírselo, forzando a los “Objetos” a pertenecer a “Clases” diferentes a la “Clase NIC” que pueda que realmente no correspondan.

Figura 37. Referencia [7]. Reconocimiento.

Visualización y Tratamiento de la Población:

• Una vez el “Contexto” y la “Población” hallan sido cargados en Salsa por los métodos descritos anteriormente, Salsa identifica el número de “atributos” de cada “Objeto”, así como su significado, Si los valores de los “atributos” son cuantitativos, el software normaliza los valores entre 0 y 1.

• Para hacer posible una Asignación entre los “Objetos” y las “Clases”, es necesario

que los “atributos” utilizados para la realización de observaciones sean del mismo

IEL2-I-04-12

Page 62: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

62

número y orden del “Contexto”. Cuando el número de “atributos” así como el significado de cada uno de estos difiere de los “atributos” supuestamente cargados en el “contexto”, el problema es reportado en un archivo de error. El error es especificado en este archivo generado por Salsa cuando un error de “desacople”4 ocurre. Un mensaje en la pantalla es mostrado al usuario para notificarlo de que se ha cometido un error.

• El usuario de Salsa puede observar los valores historiales de cada “atributo” de cada

“Objeto” por separado en una forma detallada. Es posible para el usuario cambiar los “atributos” seleccionando en cada uno de ellos si desea que estén activos o inactivos, para ser o no ser tenidos en cuenta respectivamente en la clasificación.

Figura 38. Atributo Tank1 y daltura (cuantitativo y cualitativo respectivamente).

En los “atributos” cuantitativos se muestra el historial normalizado de valores que se extrajeron del proceso, los “atributos” cualitativos muestra un histograma indicando el número de muestras que corresponde a cada “Modalidad” de cada “atributo”. Además de poder ver los “atributos” por separado, existe una ventana de texto la cual le permite al usuario observar la totalidad de “atributos” el tipo de cada “atributo” (cuantitativo o cualitativo), el valor máximo entre todas las muestras de cada “atributo” en caso de ser cuantitativo. Obsérvese que cada muestra representa a un “Objeto” el cual es una colección de “atributos”. La ventana de texto presenta una por una las muestras tomadas ya sea a partir de un simulador (MATLAB®), o a partir de datos históricos del proceso que se está controlando (WINCC)

4 missmatch

IEL2-I-04-12

Page 63: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

63

Figura 39. Ventana de Texto, muestra 556.

• Oprimiendo el botón “View Population” todos los descriptores que el usuario decidió que estuvieran activos en el momento de la clasificación, serán mostrados en pantalla, separados los cualitativos de los cuantitativos. Para observar los valores de los descriptores o “atributos” cualitativos, se oprime el botón “View qualitative”, y se mostrará la modalidad desplegada en cada muestra (Téngase en cuenta que una muestra significa lo mismo que un “Objeto” o “Individuo”). Como se explicó anteriormente en previos capítulos, un “Objeto” se trata como un concepto individual, contrario a otros algoritmos de agrupamiento donde un grupo de objetos forman un concepto; En la parte superior de la aplicación se puede observar no solo las “Clases” creadas durante el entrenamiento, sino la clasificación correspondiente a cada muestra, “Individuo” u “Objeto”. Resumiendo en la pantalla superior se muestra lo que corresponde a la clasificación en “Clases” de cada muestra, y en la pantalla inferior se muestra lo que corresponde a los valores tanto cuantitativos como cualitativos de los “atributos” que describen a un “Objeto” típico de una “Población”.

En la pantalla inferior izquierda se muestra el color de los “atributos” para observarlos, ya sean cualitativos o cuantitativos. Aquellos “atributos” que sean cualitativos van a ser mostrados de diferente color, y para cada “Modalidad” de algún atributo cualitativo va a ser mostrada con una tonalidad diferente de las otras “Modalidades” conjunto que conforma el “atributo” cualitativo y bajo un color similar.

IEL2-I-04-12

Page 64: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

64

Figura 40. Ventana Cuantitativa

Figura 41. Ventana Cualitativa.

IEL2-I-04-12

Page 65: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

65

Clasificación, Resultados y Visualización. Después de haber cargado la “Población” (archivo *.DAT), y de haber cargado el “Contexto” (archivo *.CON, o *.DAT), se prenden los LED verdes que se observan tanto en la figura 40, como en la figura 41. En caso de que los LED no se observen de color verde significa o que no se ha cargado o la “Población” o el “Contexto”, o simplemente que hubo un error al cargar los datos, y deberá revisar el archivo que generó. Para poner el algoritmo LAMDA a trabajar, basta con oprimir sobre el botón “Classify” y se iniciará la clasificación de cada uno de los “Objetos” en las diferentes “Clases” creadas por Salsa, según el grado de exigencia que el usuario halla escogido, y según lo estable de los valores de los “atributos” de cada “Objeto”. Una vez que se halla hecho la clasificación, Salsa muestra gráficamente la clase asignada a cada “Individuo” (cada muestra); para observar el perfil de cada “Clase”, para una posterior compresión en el análisis y la Asignación de las “Clases” en “Estados Funcionales”, se oprime sobre el botón de “Class Profile”.

Figura 42. Perfil Clasificación Gráfico.

Se observa que cada descriptor esta representado por medio de un color diferente; En los descriptores cuantitativos, se calcula el “Grado Marginal de Pertenencia”(MAD) por medio del algoritmo de clasificación que se halla escogido (sección “Selección del Algoritmo de Clasificación”). En los descriptores cualitativos, cada “Modalidad” esta graficada en el perfil con un color diferente junto con su frecuencia de ocurrencia. Nótese que para el caso de “atributos” cualitativos, la suma de la frecuencia de ocurrencia de cada “Modalidad” siempre es uno. Es posible también mostrar los perfiles de cada “Clase” en texto, es decir que además de observar los perfiles de las “Clases” gráficamente, para la obtención de una mayor comprensión se sugiere también observar el texto, donde se detallan los valores precisos.

IEL2-I-04-12

Page 66: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

66

Además de mostrarse el número de “Objetos” que fueron asignados a una determinada “Clase”. En el caso cuantitativo se puede extraer para un posterior análisis el MAD que se observa en cada “Clase”, es decir que una vez normalizados los valores numéricos de los “atributos” cuantitativos, y una vez clasificados los “Objetos” en “Clases”, en cada “Clase” los valores numéricos de los “atributos” de los “Objetos” clasificados, que aparecen en la ventana de texto representan los ρ o parámetros de cada descriptor; El MAD se calcula conforme se escoja el algoritmo de clasificación (Sección “Selección del Algoritmo de Clasificación”). En el caso cualitativo en vez de hallar un valor numérico representante de una magnitud física, se halla la frecuencia con la que una “Modalidad” pertenece a una “Clase”, notando que la suma de las frecuencias de las “Modalidades” de cada “atributo” cualitativo dan uno.

Figura 43. Perfil Clasificación Texto Reconocimiento. Cuando el modo OFFLINE de Salsa opera como “reconocimiento”, se procede de la misma forma que en los casos de “Aprendizaje Supervisado” y “Aprendizaje no Supervisado”. En dado caso en que el archivo o “Población” de entrenamiento contenga un campo adicional dedicado a la clasificación, una ventana de resultados se desplegará, informándole al usuario primero el porcentaje de “Objetos” que no lograron ser reconocidos, el número de “Objetos” con clases predefinidas, el porcentaje y el número de individuos que LAMDA

IEL2-I-04-12

Page 67: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

67

los considera como mal reconocidos, además del despliegue de una lista indicando las muestras a las cuales LAMDA considera que están mal clasificadas.

Figura 44. Referencia[7]. Reconocimiento de Individuos Preclasificados.

Salsa automáticamente crea un archivo de resultados (*.RES) donde guardará la información de cada muestra junto con su respectiva asignación a alguna “Clase”. Además de crear el archivo de resultados, el software da la opción de salvar la clasificación en dado caso en que el operador considere que hallan suficientes “Clases” para encontrar un modelo de estados finitos (“Estados Funcionales”) oprimiendo el botón “Save” ubicado en el espacio de clasificación (ver figura 40 o figura 41). Una vez salvado el archivo cuya extensión será *.CLA, se podrá retomar dicho archivo como referencia para posteriores y nuevas cargas de “Población”, o incluso para operar en tiempo real (Salsa ONLINE). El botón de análisis (“Analyse”, figura 40 o figura 41), despliega una matriz de pertenencia en donde las filas corresponden a los individuos u “Objetos” y las columnas corresponden a las “Clases” creadas durante la clasificación. En la intersección entre las filas y las columnas de la matriz se observan los “Grados Globales de Pertenencia” (GAD) de cada Individuo sobre cada una de las Clases. Esta matriz se puede salvar utilizando un formato *.CSV al oprimir el botón de exportar “Export”. Además de la pantalla donde se observa gráficamente la clasificación, Salsa puede desplegar una pantalla de texto donde describe en forma similar a la pantalla gráfica, las “Clases” junto con las muestras que clasificaron en cada una de las “Clases”, con el fin de tener un análisis detallado sobre la clasificación y el reconocimiento. Una vez salvado el archivo de clasificación *.CLA, para realizar las operaciones de reconocimiento OFFLINE, se carga primero la “Población” y el “Contexto” de la misma forma como se explicó anteriormente, y luego en el campo de clasificación, se oprime sobre el botón “Retrieve” (Ver figura 40 o figura 41), y se busca el archivo de extensión *.CLA de resultados del aprendizaje previo ya sea “Supervisado” o “no Supervisado”. Se escoge el modo de operación como “Reconocimiento”, y luego se oprime sobre el botón “Classify”, el software le preguntará al usuario si le permite la clasificación de Individuos no reconocidos dentro de la “Clase NIC”, o si forza a los “Objetos” no reconocidos a ser

IEL2-I-04-12

Page 68: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

68

clasificados dentro de las clases ya creadas, al final Salsa arroja la ventana de la figura 44, describiendo cuales fueron los individuos mal clasificados, y por ende el número de “Objetos” que no lograron ser reconocidos.

Figura 45. Matriz de Pertenencia.

IEL2-I-04-12

Page 69: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

69

Figura 46. Clasificación Modo Reconocimiento. Asignación de Clases a Estados Funcionales.

Cuando el aprendizaje se considera ya terminado, en esta fase es donde viene a interactuar el experto u operador, para la emisión del posterior diagnóstico. En esta etapa el usuario deberá asignar las diferentes “Clases” creadas por el software, en “Estados Funcionales” significativos. Oprimiendo el botón “mapping to states”, localizado en la parte inferior derecha de la gráfica de clasificación, se empieza con la creación de estos estados finitos. El usuario primero deberá crear la lista de todos los estados finitos que considere sean significativos en el momento de la descripción de la planta, pudiendo adicionar o quitar de la lista estados que no considere representativos. Después de que la lista de estados se considere finalizada, se mapearan las “Clases” creadas por Salsa, en “Estados Funcionales”, siendo estos estados los creados por el experto. Es por esto que se necesita de una contínua interacción entre el software y el operador, para que el diagnóstico sea el correcto.

IEL2-I-04-12

Page 70: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

70

Figura 47. Asignación a Estados Funcionales.

Para empezar se oprime sobre el botón “Create List of States”, para adicionar estados de la planta que el experto considere pertinentes para ser tenidos en cuenta. En caso en que ya se hallan creado estados finitos en esta lista, el botón cambiará de nombre a “Edit List of States”, sin embargo la adición de nuevas etapas serán llevadas a cabo de la misma forma que si se estuviera empezando a crear la lista de “Estados Funcionales”.

IEL2-I-04-12

Page 71: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

71

Figura 48. Asignación a Estados Funcionales II.

Se abrirá una ventana como la mostrada en la figura 48; En esta ventana se podrán añadir nuevos estados sobre el modelo, primero digitando el nombre del estado, y posteriormente oprimiendo sobre el botón de añadir (“Add”). Una vez creados todos los estados, el usuario se debe de devolver a la ventana de la figura 47, y asociar cada “Clase” a un “Estado Funcional” creado en la ventana que se muestra en la figura 48.

Figura 49. Asignación a Estados Funcionales III.

IEL2-I-04-12

Page 72: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

72

Salsa permite salvar los resultados de la clasificación inclusive del experto, es decir que no solo se guardarán las “Clases” creadas por LAMDA sino también se salvarán el Mapeo de las “Clases” a los “Estados Funcionales” que el experto halla creado. 5.4.2. Salsa ONLINE. Esta es la aplicación del software Salsa04v1 que se utiliza para interactuar en tiempo real con la aplicación que está controlando la planta. Durante la fase OFFLINE se entrenó al algoritmo hasta llegar a la Asignación de las “Clases” en “Estados Funcionales”, habiendo salvado la clasificación final en un archivo de extensión *.CLA.

Figura 50. Referencia [7]. Plataforma Salsa ONLINE.

Como puede apreciarse en la figura 50, el botón “Online Configuration” es el único activo en el inicio de la aplicación ONLINE. Esto porque aún no se ha configurado el sistema para que interactúe en tiempo real con la aplicación que esta controlando al proceso. Para empezar la configuración deberá oprimir el botón “Online Configuration”, en donde se abrirá una nueva ventana cuyo único comando activo es “LOAD CONTEXT”, al oprimir sobre este botón, deberá cargar el archivo de “Contexto” (*.CON) que previamente se salvó en la etapa OFFLINE de Salsa. Dicho archivo cargará el número de “atributos” además del tipo, si cuantitativos o cualitativos. En este archivo estarán cargadas todas las características sobre los “Objetos” que componen la “Población”. Una vez cargado el “Contexto”, se habilitará el comando “LOAD CLASSIFICATION”, en el cual el usuario deberá cargar el archivo de clasificación de extensión *.CLA, que previamente se salvó en la etapa OFFLINE de Salsa. En dicho archivo se guarda la información sobre el algoritmo seleccionado para la clasificación (lamda 1, lamda 2, gauss

IEL2-I-04-12

Page 73: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

73

1 etc), información sobre el nivel de exigencia (parámetro α), y sobre los conectores que se utilizaron (si probabilísticos o el método de mínimo-máximo).

Figura 51. Referencia [7]. Configuración ONLINE.

Una vez configurada la gestión de recibo de datos en línea, se presiona sobre el comando o botón “OK” para proseguir con la aplicación ONLINE. Conexión en Tiempo Real. Una vez configurada la conexión, el usuario podrá observar en la ventana inferior izquierda de la figura 50 los “atributos” cuantitativos de los “Objetos”, además de tener la opción de observar los “atributos” cualitativos, si se oprime sobre el comando “view qualitative”.

Figura 52. Referencia [7]. Salsa ONLINE.

En la plataforma de Salsa ONLINE que se observa en la figura 49, se habilita el comando o botón de “Send Configuration”, el cual le permitirá a Salsa referenciarse con la aplicación que se esté diagnosticando en ese momento, mediante los archivos de “Contexto” y “Población” que se cargaron en la etapa de configuración.

Figura 53. Referencia [7]. Salsa ONLINE II.

IEL2-I-04-12

Page 74: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

74

Seleccionando el comando “Send Configuration”, se activará el comando “Get Data” el cual sincronizará la aplicación que controla el proceso o la planta, y la aplicación ONLINE de Salsa, recibiendo esta última un archivo de datos *.DAT, de una única línea, donde esta última representa una muestra “Objeto” o “Individuo” en un determinado instante de tiempo.

Figura 54. Referencia [7]. Salsa ONLINE III.

Salsa empezará revisando cuando un nuevo mensaje, conteniendo un “Objeto” llega a la aplicación ONLINE. El comando “Get Data” se habilita, Salsa mostrará la carpeta donde se está guardando el archivo de la aplicación en tiempo real. Durante la instalación como se explicó anteriormente, debió haberse creado una carpeta llamada “DataTr”, y la aplicación que controla al proceso deberá enviarle mensajes a este y solo este directorio. El nombre del archivo de mensaje debe ser “d_in.DAT”, conteniendo una sola línea de valores tanto numéricos como de modalidad de los “atributos” cuantitativos y cualitativos respectivamente. Una vez que Salsa lee el archivo mensaje, lo destruye y por tanto la aplicación que esté controlando el proceso deberá crear un nuevo mensaje cada vez que se muestree una señal de la planta, destruyendo la muestra anterior. Cuando el proceso de “Reconocimiento” se lleva a cabo mediante este archivo mensaje, Salsa genera un archivo de salida llamado “d_out.DAT”, la aplicación que controla la planta deberá destruir este archivo de salida, y crear un nuevo archivo mensaje “d_in.DAT”.

Figura 55. Referencia [7]. Salsa ONLINE IV.

Si la configuración no tuvo problemas, Salsa desplegará el camino por donde se está llevando a cabo la comunicación entre el software y la aplicación de control (en caso del presente proyecto de grado es WINCC). En la figura 55 se muestran primero el archivo mensaje, y luego el archivo de salida que utiliza Salsa para la comunicación. Cuando se desee terminar con la aplicación, el usuario deberá oprimir el comando “Stop Data” activado después de haber oprimido el botón “Get Data”. Luego de activar el último comando, en la aplicación ONLINE de Salsa, se oprime sobre el botón “Exit” que finalizará con la sección de diagnóstico en tiempo real. Para el caso de procesos industriales, esta aplicación se deberá correr indefinidamente hasta que halla una parada de mantenimiento de los equipos que conforman el proceso industrial. La aplicación del presente proyecto de

IEL2-I-04-12

Page 75: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

75

grado es académica, y el tiempo de ejecución de Salsa ONLINE es limitado, sin embargo el software se puede utilizar como ya se mencionó en procesos industriales mas complejos, si se desea describirle un diagnóstico al operador de la planta industrial. Recibo de Datos en línea (ONLINE). La pantalla ONLINE, ubicada en la parte superior derecha de la plataforma Salsa ONLINE, (figura 50), visualiza los valores de los “atributos” de las muestras, en forma normalizada, es decir que la magnitud física no se presenta sino la magnitud en p.u. Se pueden recibir datos tanto cuantitativos como cualitativos, en el caso de los datos cualitativos, para visualizarlos se activa el comando “view qualitative” de la misma forma como se activa para ver estos datos en la fase OFFLINE. Un cuadro en la parte superior izquierda indicando el “Estado Funcional” actual (ver figura 50), y una barra debajo de la ventana ONLINE, donde se muestra en un intervalo de tiempo los “Estados Funcionales” históricos que ha tenido la planta. Debajo de esta barra también se puede apreciar el histórico de los “Estados Funcionales” con la fecha y hora donde ocurrió el evento para cambiar de estado la planta.

Figura 56. Referencia [7]. Salsa ONLINE V.

En el paquete del software Salsa viene consigo la instalación de Salsa04v1 y la instalación de FileGenerator, se recomienda instalar ambas aplicaciones, pues la primera es por donde se visualiza el diagnóstico, y la segunda es la que recibe el archivo de mensaje y genera el archivo de salida. Si llega a faltar la aplicación de FileGenerator, la plataforma Salsa ONLINE no funcionará.

IEL2-I-04-12

Page 76: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

76

6. Análisis de Resultados. El modelo que se planteará en el presente proyecto de grado forma parte de una aproximación desarrollada por el equipo de investigación LAAS sobre supervisión, monitoreo y control en procesos industriales. El objetivo es el de construir un sistema de control que mejore las condiciones de confiabilidad y dependencia de los procesos, utilizando el algoritmo LAMDA. La estrategia del sistema de control consiste en tres bloques funcionales, los cuales se intercomunican de tal forma que se pueda actuar sobre el proceso en una forma sincronizada y eficaz. El acomodamiento del control conforme se vallan presentando las fallas encontradas tanto dentro de la plataforma histórica, como las inesperadas, es un medio para lograr un alto grado de reactividad ante las mencionadas adversidades. El problema principal a atacar en una buena estrategia de control es el de una activa acomodación de los controladores a los diferentes estados en los que se encuentre la planta. El sistema multinivel y modular de monitoreo y control en tiempo real propuesto por el instituto LAAS, consiste solamente en tener en cuenta fallas en los procesos (fugas que se presentan en el Sistema de Tanques Acoplados).

Figura 57. Referencia [8]. Estrategia de Control

El bloque de “Adquisición y Enrutamiento”, toma los datos del proceso físico, y los datos de control del bloque de “Modelo de Tratamiento de Fallas”, para enrutarlos hacia alguno de los tres sub-bloques del bloque de “Control” teniendo la posibilidad de tomar acciones sobre la planta en caso de que se encuentre en algún “Estado Funcional” fuera del normal. Esta estrategia de control está basada en el monitoreo y la supervisión de los sistemas cuya reacción depende no solamente en las fallas detectadas sino también en los recursos de los que se vale la planta para controlar a bajo nivel o Nivel Piso [1].

IEL2-I-04-12

Page 77: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

77

El presente proyecto caracterizará un modelo a base de “Estados Funcionales” contribuyendo a la formación del bloque de “Adquisición y Enrutamiento” de la figura 57, específicamente enrutando los datos de la planta hacia el sub-bloque que realiza las funciones de monitoreo, en cuanto a detección, seguimiento y diagnóstico del bloque principal de “Control”; La herramienta escogida para la adquisición y el enrutamiento es la clasificación inteligente de los estados de la planta, involucrando los otros dos niveles de integración vertical de una empresa que son el MES donde se adquieren los datos, y el nivel ERP donde se detecta, sigue y diagnostica el sistema de control. 6.3. Análisis de Clases Creadas por Salsa. Para la clasificación y el agrupamiento, se escogió un nivel de exigencia de α = 0.7 junto con el algoritmo de clasificación “lamda1”. Como se observó en la sección 4 los resultados arrojados por el simulador (MATLAB) y el sistema de tiempo real (WINCC) fueron similares mas no iguales. Esto se debe a la presencia de ruido en los acondicionadores de señal. Se escogieron dos conjuntos de “atributos”, el primero con descriptores cualitativos, y el segundo sin descriptores cualitativos. Los “atributos” del primer conjunto de población que se escogieron fueron:

• tank1: Dato cuantitativo, describe el nivel del tanque no-lineal. • tank2: Dato cuantitativo, describe el nivel del tanque lineal. • Bomba: Dato cuantitativo, describe el voltaje o la señal de control. • Zona: Dato cualitativo, tiene cuatro modalidades dependiendo de la zona de

operación en que se encuentre el nivel de agua del tanque no lineal. • Dtank1: Dato cuantitativo, describe la derivada del nivel del tanque no lineal. • Daltura: Dato cualitativo, tiene dos modalidades (Positiva o Negativa), describe la

derivada del nivel del tanque no lineal. • Dcontrol: Dato cuantitativo, describe la derivada de la señal de control. • Dcont: Dato cualitativo, tiene tres modalidades, describe la derivada de la señal de

control. Las fallas se programaron de la misma forma como se explica en la sección cuatro. Con el parámetro α, los “atributos” utilizados para describir los Individuos de la “Población”, y las fallas representadas en fugas en las válvulas, se lograron identificar 11 “Clases” que describen y caracterizan la situación de la planta en tiempo real cuando se trabaja con la plataforma ONLINE de Salsa, El perfil de cada “Clase” se presenta a continuación teniendo un total de 2812 muestras “Individuos” u “Objetos”:

• Clase 1: o Número de Individuos Asignados a la Clase : 27 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.021 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.043 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.358 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.974 Frecuencia modalidad 2: 0.009

IEL2-I-04-12

Page 78: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

78

Frecuencia modalidad 3: 0.009 Frecuencia modalidad 4: 0.009

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.626 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.982 Frecuencia modalidad 2: 0.018

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.099 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.976 Frecuencia modalidad 2: 0.012 Frecuencia modalidad 3: 0.012

• Clase 2: o Número de Individuos Asignados a la Clase : 30 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.046 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.136 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.562 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.976 Frecuencia modalidad 2: 0.008 Frecuencia modalidad 3: 0.008 Frecuencia modalidad 4: 0.008

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.805 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.016 Frecuencia modalidad 2: 0.984

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.984 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.011 Frecuencia modalidad 2: 0.978 Frecuencia modalidad 3: 0.011

• Clase 3: o Número de Individuos Asignados a la Clase : 400 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.246 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.338 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.543 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 1.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000 Frecuencia modalidad 4: 0.000

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.801 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.001 Frecuencia modalidad 2: 0.999

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.085 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

IEL2-I-04-12

Page 79: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

79

Frecuencia modalidad 1: 1.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000

• Clase 4: o Número de Individuos Asignados a la Clase : 1131 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.487 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.564 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.614 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.000 Frecuencia modalidad 2: 1.000 Frecuencia modalidad 3: 0.000 Frecuencia modalidad 4: 0.000

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.709 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.000 Frecuencia modalidad 2: 1.000

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.082 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 1.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000

• Clase 5: o Número de Individuos Asignados a la Clase : 150 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.500 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.557 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.569 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.002 Frecuencia modalidad 2: 0.994 Frecuencia modalidad 3: 0.002 Frecuencia modalidad 4: 0.002

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.578 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.997 Frecuencia modalidad 2: 0.003

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.098 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.996 Frecuencia modalidad 2: 0.002 Frecuencia modalidad 3: 0.002

• Clase 6: o Número de Individuos Asignados a la Clase : 30 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.442 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.520 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.649

IEL2-I-04-12

Page 80: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

80

o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades Frecuencia modalidad 1: 0.008 Frecuencia modalidad 2: 0.976 Frecuencia modalidad 3: 0.008 Frecuencia modalidad 4: 0.008

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.210 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.983 Frecuencia modalidad 2: 0.017

o Descriptor 7 (dcontrol): Tipo Cuantitativo; Frecuencia : 0.207 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.011 Frecuencia modalidad 2: 0.011 Frecuencia modalidad 3: 0.978

• Clase 7: o Número de Individuos Asignados a la Clase : 30 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.525 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.670 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.975 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.008 Frecuencia modalidad 2: 0.976 Frecuencia modalidad 3: 0.008 Frecuencia modalidad 4: 0.008

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.701 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.016 Frecuencia modalidad 2: 0.984

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.684 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.011 Frecuencia modalidad 2: 0.978 Frecuencia modalidad 3: 0.011

• Clase 8: o Número de Individuos Asignados a la Clase : 2 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.646 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.733 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.761 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.083 Frecuencia modalidad 2: 0.083 Frecuencia modalidad 3: 0.751 Frecuencia modalidad 4: 0.083

o Descriptor 5(dtank1): Tipo Cuantitativo; Valor Medio : 0.813 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.167

IEL2-I-04-12

Page 81: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

81

Frecuencia modalidad 2: 0.833 o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.190 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.778 Frecuencia modalidad 2: 0.111 Frecuencia modalidad 3: 0.111

• Clase 9:

o Número de Individuos Asignados a la Clase : 682 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.896 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.925 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.716 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000 Frecuencia modalidad 4: 1.000

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.756 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.000 Frecuencia modalidad 2: 1.000

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.099 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 1.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000

• Clase 10: o Número de Individuos Asignados a la Clase : 300 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.931 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.922 o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.650 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.000 Frecuencia modalidad 2: 0.000 Frecuencia modalidad 3: 0.000 Frecuencia modalidad 4: 1.000

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.572 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.998 Frecuencia modalidad 2: 0.002

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.091 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.998 Frecuencia modalidad 2: 0.001 Frecuencia modalidad 3: 0.001

IEL2-I-04-12

Page 82: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

82

• Clase 11: o Número de Individuos Asignados a la Clase : 30 o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.797 o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.799 o Descriptor 3(bomba): Tipo cuantitativo; ρ : 0.757 o Descriptor 4(Zona) : Tipo cualitativo; 4 modalidades

Frecuencia modalidad 1: 0.008 Frecuencia modalidad 2: 0.008 Frecuencia modalidad 3: 0.008 Frecuencia modalidad 4: 0.976

o Descriptor 5(dtank1): Tipo Cuantitativo; ρ : 0.016 o Descriptor 6(daltura): Tipo Cualitativo; 2 modalidades.

Frecuencia modalidad 1: 0.984 Frecuencia modalidad 2: 0.016

o Descriptor 7 (dcontrol): Tipo Cuantitativo; ρ : 0.248 o Descriptor 8 (dcont): Tipo Cualitativo; 3 modalidades:

Frecuencia modalidad 1: 0.011 Frecuencia modalidad 2: 0.011 Frecuencia modalidad 3: 0.978

El proceso de aprendizaje que se hizo sobre la planta fue “no-Supervisado”, es por esto que la creación de las “Clases” se hizo de forma incremental, y la transición de estado se hace en forma semi – incremental.

Figura 58. Identificación de Clases de LAMDA.

IEL2-I-04-12

Page 83: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

83

Figura 58. Identificación de Clases de LAMDA II. En la figura 58 se muestra la clasificación de las 2812 muestras de la población. Se identificaron 11 “Clases” bajo la descripción del perfil de cada “Clase” presentada anteriormente. Como se observa en la figura 58, debido a los datos cualitativos, el algoritmo LAMDA para el primer punto de operación (h = 15cm) oscila entre dos “Clases” (Clases 4 y 5), contribuyendo a una inestabilidad en la identificación de “Clases”; esto puede confundir al operador, pues puede creer que existe una fuga en alguno de los tanques, cuando la verdad es que no la hay. Si por el contrario se toma como Estado de Falla la “Clase 6”, y como Estado Transitorio la “Clase 5”, además de no estarse detectando a tiempo la falla (retardo de 10 muestras), haría pensar al operador, que el regulador de nivel de agua del tanque no lineal es oscilatorio, pues se oscila entre las “Clases” 4 y 5, la “Clase 4” representando un Estado Estacionario, y la “Clase 5” representando un Estado Transitorio. Cuando las señales alcanzan la estabilidad, se observa una oscilación entre la “Clase 4” y la “Clase 5” para el primer punto de operación (h = 15cm). Para el segundo punto de operación (h = 25cm) se observa la misma oscilación que en la primera referencia, (oscilación entre “Clase 9” y “Clase 10”), llegando a la conclusión que los descriptores cualitativos, en vez de estar ayudando al experto a la identificación de Estados Funcionales, lo esta confundiendo; Se optó por suprimir los descriptores cualitativos, dejando solamente los descriptores cuantitativos.

IEL2-I-04-12

Page 84: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

84

Los “Atributos” de la segunda “Población” fueron : • Tank1 : Descriptor cuantitativo nivel tanque no lineal. • Tank2 : Descriptor cuantitativo nivel tanque lineal. • Bomba : Descriptor cuantitativo voltaje sobre la bomba de agua. • Dtank1 : Descriptor cuantitativo, derivada de nivel de tanque no lineal. • Dcontrol : Descriptor cuantitativo, derivada de voltaje sobre la bomba de agua.

Los cuales describen a una “Población” cuyos “Individuos” tienen en su totalidad características cuantitativas. Este cambio en descriptores se utilizó con el objetivo de mejorar los problemas de ruido que hacían que LAMDA oscilara entre dos “Clases” en los puntos de estabilidad. La Población creada con los anteriores descriptores, tiene un total de 3650 muestras. Se operó la planta para que mantuviera dos niveles en el tanque no lineal (h = 15cm, y h = 25cm). Se simuló fugas sobre el sistema, generando dos números aleatorios que durante la prueba representaron el tiempo de duración de una fuga (84 segundos para h = 15cm, 80 segundos para h = 25cm); La secuencia de apertura en las válvulas consistió en abrir primero la válvula del tanque lineal por el tiempo establecido por el número aleatorio, la siguiente etapa de este escenario de fallas consistió en cerrar la válvula del tanque lineal y abrir la válvula del tanque no lineal por el tiempo establecido, en la tercera etapa se abren ambas válvulas por el tiempo establecido. La primera falla tuvo una duración de 252seg, y la segunda falla tuvo una duración de 240seg. )(#*3 Aleatoriofalladetiempo = A continuación se presenta el perfil de cada Clase:

• Clase 1: o Número de Individuos Asignados a la Clase : 3. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.866. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.784. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.125. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.527. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.447.

• Clase 2:

o Número de Individuos Asignados a la Clase : 6. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.072. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.073. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.071. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.531. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.447.

• Clase 3:

o Número de Individuos Asignados a la Clase : 675. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.236.

IEL2-I-04-12

Page 85: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

85

o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.200. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.580. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.775. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.455.

• Clase 4:

o Número de Individuos Asignados a la Clase : 1502. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.349. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.268. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.523. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.568. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.429.

• Clase 5:

o Número de Individuos Asignados a la Clase : 238. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.401. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.275. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.756. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.115. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.493.

• Clase 6:

o Número de Individuos Asignados a la Clase : 10. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.435. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.373. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.902. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.776. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.802.

• Clase 7:

o Número de Individuos Asignados a la Clase : 331. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.575. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.383. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.787. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.809. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.401.

• Clase 8:

o Número de Individuos Asignados a la Clase : 179. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.655. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.383. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.648. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.615. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.419.

IEL2-I-04-12

Page 86: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

86

• Clase 9:

o Número de Individuos Asignados a la Clase : 301. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.647. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.369. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.634. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.498. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.430.

• Clase 10:

o Número de Individuos Asignados a la Clase : 61. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.591. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.319. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.369. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.631. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.202.

• Clase 11:

o Número de Individuos Asignados a la Clase : 343. o Descriptor 1(tank1) : Tipo cuantitativo; ρ : 0.473. o Descriptor 2(tank2) : Tipo cuantitativo; ρ : 0.273. o Descriptor 3(bomba): Tipo cuantitativo; ρ: 0.441. o Descriptor 4(dtank1): Tipo Cuantitativo; ρ : 0.349. o Descriptor 5 (dcontrol): Tipo Cuantitativo; ρ : 0.441.

Figura 59. Perfil de Clase Población Cuantitativa.

IEL2-I-04-12

Page 87: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

87

La clasificación que Salsa hizo con este último archivo de prueba fue:

Figura 60. Clasificación LAMDA Población Cuantitativa.

En donde claramente se observa en la figura 60 que hay mas estabilidad en la creación de “Clases”, pues no hay oscilación de estas en los puntos de estabilidad donde se llevó el sistema a operar. Las “Clases” 4 y 9 representan entonces una operación en Estado Estacionario Normal de la planta. Se concluye entonces que de las dos mejores poblaciones que se obtuvieron de los diferentes escenarios de prueba, la Población Cuantitativa superó en desempeño a la Población mixta (la primera que se presentó), debido a que hay una mayor estabilidad en la creación de “Clases”. Las causas del mejor desempeño en la segunda población son que el sistema posee ruido inducido por las fuentes de alimentación, por los sensores, y por los mismos amplificadores de instrumentación, esto hace que la adquisición de datos no sea suave aún haciéndose todos los esfuerzos por disminuir el ruido. Los atributos cualitativos eran descripciones sobre los “atributos”; el atributo “zona” era una descripción cualitativa sobre el atributo “Tank1”, el atributo “dcont” era una descripción cualitativa del atributo “dcontrol”, y el atributo “daltura” era una descripción cualitativa del atributo “dtank1”. Sumadas las condiciones anteriores (las de ruido, y la presencia de los descriptores cualitativos), se concluyó que en vez de estar aportando positivamente a la creación de “Clases”, estaban perjudicando al algoritmo LAMDA en la creación de “Clases”, haciéndolo oscilar entre dos “Clases” en los puntos de estabilidad.

IEL2-I-04-12

Page 88: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

88

Las pruebas sin embargo se realizaron con ambos conjuntos de atributos, y como se puede observar, el mejor desempeño se logró con la Población cuantitativa en su totalidad, porque la otra (La población mixta) estaba añadiendo mas ruido del que poseía la planta. La Asignación a estados funcionales se realizó con el segundo conjunto de atributos (Población cuantitativa). 6.4.Asignación de Clases a Estados Funcionales. Observando la figura 60, se mapearon las 11 Clases creadas en 4 Estados Funcionales a criterio del “Experto” quien experimentó con ella por 4 meses:

• Clase 1: Sistema Inicialmente Inerte. • Clase 2: Estado Transitorio de la Planta. • Clase 3: Estado Transitorio de la Planta. • Clase 4: Estado Estacionario (Operación Normal) • Clase 5: Estado de Falla (Fuga de 252 segundos, y 240 segundos en primer y

segundo escenario de fallas). • Clase 6: Estado Transitorio de la Planta. • Clase 7: Estado Transitorio de la Planta. • Clase 8: Estado Transitorio de la Planta. • Clase 9: Estado Estacionario (Operación Normal). • Clase 10: Estado Transitorio de la Planta. • Clase 11: Estado Transitorio de la Planta.

Como se observa en el perfil, las 27 primeras muestras u “Objetos” que se tomaron del proceso, correspondían a un sistema que estaba inicialmente inerte (no había nivel de agua en ninguno de los tanques, y el voltaje sobre la bomba era cero). Posteriormente el sistema fue reaccionando al caudal que se le inyectaba y se observa en la figura 60 que hubo un cambio de Clase, la variable a controlar estaba ascendiendo y buscando la referencia que le introdujo el operador. Cuando la variable a controlar (nivel de agua en el tanque no-lineal) junto con la variable de control y el observador de nivel de agua sobre el tanque lineal alcanzaron la estabilidad, se cambió de “Clase” nuevamente. Las fallas se programaron para que ocurrieran en puntos de estabilidad y no en muestras donde todavía hubiera algún transiente, con el objetivo de identificar propiamente una falla. Sin embargo si se presentase una fuga en un estado transitorio sobre la planta, el sistema la reconocería porque los niveles de agua en ambos tanques caerían, y la señal que controla el caudal ascendería tratando de controlar el nivel del tanque no lineal. Por ende se concluye que en estados transitorios el comportamiento de la planta es similar que en estados estacionarios en el momento en que se presente una fuga, debido al largo tiempo de establecimiento del proceso. Otra característica del proceso, es que la señal de control se estabiliza mas rápido que las señales de los niveles en los tanques, lo que contribuye aún mas a que el sistema tenga un comportamiento similar en los estados Estacionarios y Transitorios. A continuación se presenta el Mapeo que hizo el “experto” a Estados Funcionales.

IEL2-I-04-12

Page 89: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

89

Figura 61. Asignación de Clases a Estados Funcionales.

6.5.Modelaje de Planta en Eventos Discretos.

Figura 62. Estados Discretos del Sistema de Tanques Acoplados.

IEL2-I-04-12

Page 90: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

90

Transición 1-2: El sistema pasa de un estado Inicialmente inerte a un estado transitorio; El posible síntoma que hace que se lleve a cabo esta transición, es el aumento abrupto en la señal de regulación (Voltaje sobre la bomba, señal “bomba”), así como en la derivada de la señal de regulación (señal “dcontrol”). Los niveles en los tanques aún no han sobresalido como para ser considerados dentro de esta transición de estado. Transición 2-3: Como se observa en las figuras 60 y 61, la señal de regulación (“bomba”) se estabiliza primero que las señales de nivel (agua en el tanque lineal y tanque no lineal). Por ende la derivada sobre esta señal de regulación es cero, y en consecuencia la transición de la Clase 2 a la Clase 3 no dependen de las señales de control contrario a la transición 1-2. El síntoma identificado en esta transición es el ascenso exponencial de los niveles de agua tanto en el tanque lineal, como en el tanque no lineal (señales tank2 y tank1 respectivamente), sin aún haber alcanzado el punto de estabilidad o set – point. Transición 3-4: En esta transición se observa que se alcanza el primer punto de estabilidad ordenado por el operador. La señal de regulación (“bomba”), ya se había estabilizado desde el estado o “Clase” 2, por ende ni esta señal ni su derivada (“dcontrol”) influyen en la presente transición de estado. Se Observa una estabilidad en las señales de nivel de agua (tank1 en el tanque no lineal, y tank2 en el tanque lineal) lo mismo pasa con la derivada de la señal de nivel del tanque no lineal (dtank1) que se hace cero (no hay mas ascenso sostenido en los niveles de agua en los tanques). El síntoma entonces que lleva a cabo la transición 3-4 es una estabilización en las señales tank1 y tank2, junto con una aproximación de la derivada de la señal de nivel del tanque no lineal (dtank1) a cero. Transición 4-6: Esta transición tiene similares características que la transición 1-2. Solo que el sistema pasa de un Estado Estacionario a un estado Transitorio. El síntoma que hace que se lleve a cabo esta transición, es el aumento abrupto en la señal de regulación (bomba), junto con la derivada de esta señal (dcontrol), No existe en esta transición un cambio significativo en los niveles de agua en los tanques, luego estos no son considerados eventos representativos para la transición de estado. Un aumento abrupto en “Bomba” y “dcontrol” son los síntomas identificados que hacen que la transición de estado se lleve a cabo. Transición 6-7: Debido a que hubo un cambio en el punto de operación (cambio en el set - point), se observa que hay un ascenso exponencial en las señales de nivel en los tanques (tank1 tanque no lineal, y tank2 tanque lineal), por ende la derivada del nivel del tanque no lineal va descendiendo suavemente. En cuanto a la señal de control (bomba), esta va descendiendo exponencialmente hasta encontrar un punto de estabilidad que probablemente va a ser cercano al primero (5.6V). Los síntomas identificados que hacen que se lleve a cabo esta transición son entonces un decrecimiento suave en la señal de derivada de nivel (dtank1), junto con un decrecimiento suave en la derivada de la señal de regulación (dcontrol), que hace que la variable controlada tenga un ascenso exponencial. Transición 7-8: El descenso sostenido en la señal de derivada de nivel (dtank1), junto con el de la señal de derivada de regulación (dcontrol), se hace mas evidente en esta clase, y van alcanzando una estabilización alrededor de cero. Por esta razón este no es un síntoma significativo para la transición de estado. Sin embargo se observa también un acercamiento

IEL2-I-04-12

Page 91: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

91

de las señales tank1, tank2 y bomba a su punto de estabilidad, estando la variable controlada (tank1) cercana a el nuevo set – point que le define el operador en la aplicación programada. Los síntomas que hacen entonces que la transición de estado se lleve a cabo son el acercamiento de las señales tank1 a su set – point y tank2 y bomba a sus puntos de estabilidad que mantienen la variable controlada en su set – point. Transición 8-9: En esta transición se observa que se alcanza el segundo punto de estabilidad ordenado por el operador. La señal de regulación (bomba) se estabiliza totalmente, y por ende su derivada (dcontrol) se hace cero. La señal de nivel del tanque lineal (tank2) se estabiliza totalmente también. La señal de nivel del tanque no lineal (tank1) se estabiliza y por ende su derivada (dtank1) se hace cero. El síntoma que lleva a cabo esta transición es que las cinco señales alcanzan su punto de estabilidad. Transición 4-5: Esta transición pasa de un estado de operación normal, ya sea transitoria o estacionaria, a un estado de falla o alerta. Se observa que hay un descenso en los niveles de los tanques (lineal y no lineal), junto con un ascenso en la señal de regulación. El síntoma que caracteriza esta transición de estado está en una derivada del nivel del tanque no lineal negativa (dtank1 < 0), un descenso en la señal de nivel del tanque lineal (tank2), un ascenso suave de la señal de regulación (bomba), y una derivada de la señal de regulación positiva (dcontrol > 0). Transición 9-5: Esta transición pasa de un estado de operación normal, ya sea transitoria o estacionaria, a un estado de falla o alerta. Tiene características similares al de la transición 4-5, porque el sistema se encuentra en otro nuevo punto de operación. Se observa un descenso en los niveles de los tanques (lineal y no lineal), junto con un ascenso en la señal de regulación. El síntoma es el mismo que el de la transición 4-5, una derivada de la señal de nivel negativa (dtank1 < 0), un descenso en la señal de nivel del tanque lineal (tank2), un ascenso suave de la señal de regulación (bomba), y una derivada de la señal de regulación positiva (dcontrol > 0). Transición 5-3. En esta transición se pasa de un estado de falla o alerta, a un estado normal de operación transitorio. La variable controlada ha descendido muy por debajo del punto de operación establecido por el operador. Sin embargo se ha corregido la fuga cerrando las válvulas, y se observa un descenso suave en la señal de regulación (bomba). Se observa a la vez un ascenso en las señales de nivel de los tanques, tratando de recuperar la referencia establecida por el operador. El síntoma identificado que caracteriza esta transición de estado es una derivada de la señal de nivel positiva (dtank1 > 0), junto con una derivada en la señal de regulación negativa suave (dcontrol < 0). Transición 5-7: En esta transición se pasa de un estado de falla o alerta, a un estado normal de operación transitorio. El nivel en el tanque no lineal no descendió mucho comparado con la referencia establecida por el operador, y por ende no ocurre una transición 5-6 (puede darse el caso con una duración mayor de la falla programada). Se ha corregido la fuga cerrando las válvulas, observando un descenso suave en la señal de regulación (bomba), junto con un ascenso en las señales de nivel de los tanques tratando de recuperar la referencia establecida por el operador. El síntoma está dado por una derivada de la señal de

IEL2-I-04-12

Page 92: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

92

nivel del tanque no lineal positiva (dtank1 > 0), junto con una derivada en la señal de regulación negativa suave (dcontrol < 0). Transición 9-10: Sucede que el operador quería pasar a un punto de operación mas bajo que en el que se encontraba operando la planta. Se cambió la referencia de nivel de h = 25cm hasta h = 15cm. Se pasa de un estado estacionario de operación a un estado transitorio de operación. Se observa un descenso abrupto en la señal de regulación (bomba), por ende la derivada de la señal de regulación (dcontrol) es negativa. El síntoma de esta transición de estado está en las características de las señales “bomba” y “dcontrol” señaladas anteriormente. Transición 10-11: Se está llegando al antiguo punto de operación o referencia. Se observa que el descenso abrupto que se presencia en la señal de regulación (bomba), viene seguido de un descenso en las señales de nivel de ambos tanques. Se observa también que el algoritmo LAMDA no cae en la trampa de identificar la “Clase 11” como “Clase 5”, gracias los descriptores “Bomba” y “dcontrol”. El síntoma identificado para llevar a cabo esta transición de estado está en un descenso ahora exponencial de las señales de nivel de agua en los tanques lineal y no lineal (tank2 y tank1 respectivamente), junto con el ascenso exponencial en la señal de regulación (bomba), las cuales hacen que se llegue al antiguo set – point establecido por el operador. Transición 11-4: Se llega a la antigua referencia, estabilizando todas las señales o descriptores utilizados. La señal de control (bomba) llega a su punto de equilibrio (5.6V), la señal de nivel del tanque lineal (tank2) llega a su punto de equilibrio (2 cm por encima del nivel del tanque no lineal), y la señal de nivel del tanque no lineal (tank1) llega a su punto de operación o referencia. El síntoma que hace que se lleve a cabo esta transición de estado está en que las señales de derivada del nivel del tanque no lineal (dtank1) se hace cero después de haber estado negativa, que la derivada de la señal de regulación (dcontrol) se hace cero después de haber estado negativa, y que la señal de la variable controlada (nivel del tanque no lineal, tank1) llega a su referencia o set – point. Transición 5-10: Con esta transición no se experimentó, es decir que esta transición no se logra inferir a partir de una lectura de la figura 60, sino que intuitivamente se sacó a partir de la sensibilidad que fue adquiriendo el “experto” a lo largo sus cuatro meses de interpretación y análisis de los resultados que LAMDA arrojaba. Esta transición ocurrirá si el nivel de agua del tanque no lineal es superior al set – point que le indique el operario en un instante de tiempo. Por ejemplo si ocurre una fuga cuando el sistema esta estacionario en h = 25cm, los niveles en ambos tanques descienden y dado el caso en que el operador decida por algún motivo mantener una referencia mas baja que el nivel actual en el tanque no lineal, por ejemplo h = 15cm, ocurre esta transición de estado. El síntoma que caracteriza esta transición entonces es un descenso abrupto en la señal de regulación (bomba), junto con una derivada negativa de la señal de regulación (dcontrol). Tener en cuenta que esta transición solo ocurre si el nivel en el tanque no lineal está por encima de la nueva referencia5 que le indique el operador. 5 Referencia es lo mismo que set – point

IEL2-I-04-12

Page 93: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

93

Transición 8-10: Con esta transición no se experimentó tampoco, y fue una conclusión intuitiva del “experto”. Sin embargo es lógico pensar que en el Estado o la “Clase 8” se está alcanzando el punto de estabilidad el cual se termina de alcanzar en la “Clase 9”. Por ende si el operador decide que hay que establecer una nueva referencia para el sistema en este Estado que se encuentra dentro del grupo transitorio, la señal de regulación irá a descender abruptamente al igual que la transición 9-10. El síntoma que caracteriza esta transición es una caída abrupta en la señal de regulación (bomba) junto con una derivada de la señal de regulación negativa fuerte (dcontrol < 0). Transición 7-11: Con esta transición no se experimentó, siendo también una conclusión intuitiva del “experto”. Es lógico haber razonado en que en la “Clase 7” aún no se ha alcanzado el punto de estabilidad, y los niveles de agua en ambos tanques (tanque lineal y tanque no lineal) están ascendiendo en forma exponencial, estando muy cercanos al primer punto de operación o referencia. El control no alcanza a reaccionar en forma abrupta como sí lo hace en las transiciones 9-10 y 8-10, precisamente porque en los estados 8 y 9 se ha alcanzado el nuevo punto de estabilidad. La señal de regulación en vez de descender en forma abrupta, lo hará en forma suave y exponencial, haciendo descender los niveles en los tanques en forma suave y exponencial al antiguo punto de operación o set – point. El posible síntoma que caracterice esta transición de estado está en un descenso suave y exponencial de la señal de regulación (bomba), junto con una derivada de la señal de regulación negativa suave (dcontrol < 0). Transición 6-11: Con esta transición no se experimentó tampoco, siendo nuevamente una conclusión intuitiva del “experto”. Esta transición es muy parecida a la transición 7-11, pues los niveles de agua de los tanques no han alcanzado a reaccionar al cambio de referencia. El control bajará en forma menos suave que en la transición 7-11, es decir que experimentará un “Impulso”, primero ascendiendo en forma abrupta para alcanzar la nueva referencia, y segundo descendiendo en la misma forma para mantenerse en la antigua referencia. El síntoma que caracteriza esta transición es un descenso abrupto de la señal de regulación (bomba), junto con una derivada de la señal de regulación negativa fuerte (dcontrol < 0), esto hace que se filtre la perturbación de haber cambiado el set – point por un corto lapso de tiempo, y se mantenga la antigua referencia en la variable controlada (tank1). La anterior es una descripción de lo que puede ocurrir en la planta al cargar el escenario de fallas implementado, sin embargo se pueden cargar mas tipos de fallas, junto con mas puntos de operación, y el modelo de eventos discretos crecerá en forma indefinida, siéndole complicado al “experto” mapear dichas “Clases” en “Estados Funcionales”, y aún mas identificando posibles síntomas que hagan que halla una transición de estado. El diagrama de estados que se observa en la figura 62, se puede perfectamente mapear en un diagrama de estados de mas alto nivel (no es maestro - esclavo) agrupando cada “Clase” creada por el algoritmo LAMDA en conjuntos que definan similitudes entre las diferentes “Clases”; el “experto” logró identificar 4 macro estados en la planta, siendo importante hacer cluster sobre cada macro estado para poder identificar el tipo o “Clase” y tener un mejor análisis dentro del proceso de producción. A continuación se presenta el diagrama de macro estados que se intuyó, y concluyó sobre la planta:

IEL2-I-04-12

Page 94: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

94

Figura 63. Diagrama de Macro estados de la Planta. Para pasar del estado inerte al estado normal, es necesario primero pasar por el estado transiente. Se puede pasar de un estado de operación estacionaria o normal a un estado de fuga pero no viceversa porque primero se tendrá que pasar por un estado transitorio. Para pasar de un estado Normal a un estado Transiente se puede o cambiar la referencia o punto de operación de la planta, o que se presentase una fuga (falla) y se corrija a tiempo. Del Estado transitorio se puede volver al estado inicialmente inerte solamente si se quiere hacer una parada técnica sobre el Sistema de Tanques Acoplados.

IEL2-I-04-12

Page 95: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

95

7. CONCLUSIONES.

• LAMDA tiene la capacidad de reconocer Poblaciones mixtas (cualitativas + cuantitativas), haciendo el algoritmo flexible para un buen entrenamiento, permitiendo observar y concluir mediante la gráfica de curvas cuales “Atributos” o descriptores son los que están añadiéndole ruido al sistema, y cuales no están aportando mayor relevancia a la formación de conceptos.

• Es necesario hacer una buena escogencia de descriptores, con el fin de que el

software Salsa04v1 sea una útil herramienta para el “experto”, de lo contrario se crearían “Clases” fuera de contexto que ni el “experto” podrá identificar.

• El “Aprendizaje no Supervisado” permite crear variedad de “Clases” en forma

incremental, es decir que una “Clase” de grado superior no podrá ser creada antes de una “Clase” de grado inferior (e.g. “Clase 4” no puede ser creada antes de “Clase 3”); En este modo de aprendizaje el único diálogo con el experto está en mapear las “Clases” creadas por el algoritmo en “Estados Funcionales”.

• El “Aprendizaje Supervisado” permite añadirle a la “Población” un campo extra que

incluya la “clasificación inicial” de cada “Objeto” de la Población. Estas Clases deberán presentarse en forma semi incremental es decir que deberán estar semi ordenadas en cuanto a que una Clase superior para poder existir debió haberse presentado antes una Clase inferior. Al clasificar la “Población” LAMDA crea nuevas “Clases” así como modifica las “Clases” que considere estén mal clasificadas, siendo una herramienta muy útil para el “experto”.

• LAMDA se puede complementar con métodos estadísticos de detección de fallas,

porque reconoce nuevos elementos en los espacios muestrales (e.g. Sistema de Tanques Acoplados), que no halla identificado el “Experto”, Clasificando los “Objetos” que no reconoce en la “Clase NIC”. Llevando una buena estadística sobre estos espacios muestrales, habrá una activa interacción entre el “experto” y el algoritmo, permitiendo flexibilidad de encontrarse nuevas fallas que no las reconozca ni el “experto” ni LAMDA clasificándolas en NIC.

• El sistema SCADA utilizado, junto con la programación del proyecto

implementada, posee flexibilidad al poder interactuar con el software de diagnóstico Salsa04v1 en dos modos ONLINE y OFFLINE, permitiendo un entrenamiento en todo instante, e identificar nuevos escenarios de fallas mediante el Aprendizaje tanto Supervisado como no – Supervisado.

• El Proyecto de Grado contribuyó para futuras Tesis, con la formación del Bloque de

Monitoreo, Supervisión y Diagnóstico que propone el grupo de investigación LAAS, ya que se logró el objetivo de comunicar el sistema SCADA con el software de diagnóstico en tiempo real Salsa04v1.

IEL2-I-04-12

Page 96: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

96

• Sería interesante trabajar con el diagrama de bloques presentado en la figura 57

(Estrategia de Control del Instituto LAAS), continuando con el Sistema de Tanques Acoplados, para realizar y sintetizar sistemas de control adaptativos y robustos que funcionen en cualquier Estado Funcional.

• Sería interesante confrontar los “Estados Funcionales” que el “Experto” realizó

sobre la Planta, con otro “Experto” que halla trabajado sobre esta, siendo recomendado utilizar métodos estadísticos con el objetivo de identificar en su totalidad el espacio muestral de fallas que pueda tener el Sistema de Tanques Acoplados, así como el espacio muestral de puntos de operación donde se quiera operar la planta.

• Con la actual configuración del Sistema de Tanques Acoplados, se le puede

programarlo como un servomecanismo es decir simularle además de diversas fallas, diversos puntos de operación a los cuales se quiera operar la planta, con el fin de simular la demanda de caudal de agua que se requiere de este sistema. Por ejemplo a diversas horas se le pueden programar diversas demandas de caudal, manteniendo los niveles de agua en los tanques en diversas alturas. LAMDA como se pudo observar hace cluster sobre diversos puntos de operación donde se operó la planta, y sería interesante clasificarlos.

• Si se desea implementar este sistema de tipo académico en uno de tipo industrial, se

hace muy importante el uso de métodos estadísticos sobre la demanda de caudal que requieren los usuarios de un Sistema de Tanques Acoplados. Estos métodos estadísticos ayudarían a la programación de diferentes niveles de agua a diferentes horas, interactuando el “experto” con LAMDA en la Clasificación y clustering de los distintos puntos de operación para que el diagnóstico sea mas completo.

• Se lograron los objetivos planteados al inicio del proyecto, complementando así el

sistema de tanques acoplados, ayudando con el aprendizaje en los sistemas de control de la Universidad de Los Andes.

IEL2-I-04-12

Page 97: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

97

8. BIBLIOGRAFÍA.

1. Sáenz, Daniel, Kobold, Paul Hans, INTEGRACIÓN VERTICAL HACIA ARRIBA DEL CONTROL DE UN PROCESO INDUSTRIAL CON LOS NIVELES DE UNA EMPRESA: MODULO DE TANQUES ACOPLADOS, Bogotá, Enero de 2003. Proyecto de Grado (Ingeniería Electrónica), Universidad de Los Andes.

2. Piera N., Desroches P., Aguilar Martín J., LAMDA: AN INCREMENTAL

CONCEPTUAL CLUSTERING METHOD, Touluse, Diciembre de 1989. Reporte LAAS-CNRS No 89420.

3. Aguilar Martín J., López de Mantaras R., THE PROCESS OF

CLASSIFICATION AND LEARNING THE MEANING OF LINGUISTIC DESCRIPTORS OF CONCEPTS, Approximate Reasoning in Decision Analysis, p 165-175, Touluse 1982. Artículo LAAS I.P. 157.253.18.4.

4. Kempowsky T, Aguilar J, Subias A, Le Lann M, “Learning Methodology for a

Supervision System Using LAMDA Classification Method”, Paper LAAS CNRS, 2000.

5. Aguado J.C., A MIXED QUALITATIVE QUANTITATIVE SELF

LEARNING CLASSIFICATION TECHNIQUE APPLIED TO SITUATION ASSESMENT IN INDUSTRIAL PROCESS CONTROL, Catalunya, Junio de 1998, Proyecto de Grado (Ph.D.), Universidad Politécnica de Catalunya.

6. Gauthier A, Duque M, CONTROL POR COMPUTADOR, “Control de

Procesos Continuos Utilizando un Sistema Digital”, Bogotá, Marzo de 1999. Universidad de Los Andes.

7. Kempowsky T., Aguilar Martín J., SITUATION ASSESMENT USING

LAMDA CLASSIFICATION METHOD, Toulusse, Enero de 2004. Manual de Usuario, LAAS-CNRS.

IEL2-I-04-12

Page 98: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

98

9. ANEXOS. ANEXO1: Algoritmo de Detección de Fallas. void archivador(FILE *cfPtr, float bomba1, float tanque1, float referencia,float error, float muestra) //carga variables de punto flotante float tanque2,tiempo; //Establece el path y el archivo donde se guarda el historial de la falla. cfPtr = fopen("c:\\carpeta pruebas\\nivel1.txt","a"); bomba1=GetTagFloat("bomba"); tanque1=GetTagFloat("tank1"); tanque2=GetTagFloat("tank2"); referencia=GetTagFloat("referencia"); error=GetTagFloat("error"); tiempo=GetTagFloat("tiempo"); muestra=GetTagFloat("muestra"); fprintf(cfPtr,"%.3f %.3f\n",tiempo, muestra); fclose(cfPtr); Guarda en un archivo de texto el historial de las fallas que han ocurrido en la planta junto con el identificador de muestra.

IEL2-I-04-12

Page 99: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

99

ANEXO 2: Algoritmo de Simulación de Fallas. void FaultS(void) //Carga Variables Booleanas. BOOL faulthab; //Carga Variables de punto Flotante float tiempo, randf, randf1; faulthab=GetTagBit("faulthab"); //Evalua si escenario de fallas habilitado. if (faulthab==FALSE) SetTagBit("leak1",FALSE); SetTagBit("Vcons",FALSE); SetTagFloat("tiempo",0); else tiempo=GetTagFloat("tiempo"); randf1=GetTagFloat("randf"); //Secuencia de Escenario de Fallas. if (tiempo<=1000) randf=20+rand()%80; SetTagFloat("randf",randf); else if (tiempo>1000 && (tiempo<=(1000+randf1))) SetTagBit("leak1",TRUE); SetTagBit("Vcons",FALSE); else if ((tiempo>(1000+randf1)) && (tiempo<=(1000+2*randf1))) SetTagBit("leak1",FALSE); SetTagBit("Vcons",TRUE); else if ((tiempo>(1000+2*randf1)) && (tiempo<=(1000+3*randf1))) SetTagBit("leak1",TRUE); SetTagBit("Vcons",TRUE); else SetTagBit("leak1",FALSE); SetTagBit("Vcons",FALSE); SetTagFloat("tiempo",0); tiempo=0; tiempo=tiempo+2; SetTagFloat("tiempo",tiempo);

IEL2-I-04-12

Page 100: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

100

ANEXO 3: Algoritmo de Comunicación con Diagnosticador. void lamda(float bomba, float tank1, float tank2, float error, float errant, float eantant) //Función para cargar datos cualitativos. Si se quieren datos cualitativos en el contexto de LAMDA void zone(char altura[5], float tank1, float dcontrol, float dtank1, char daltura[5], char dcont[5]); //Carga Variables Booleanas BOOL online , disp; //Carga apuntador a archivo. Se comunica la aplicación por medio de archivos. FILE *dfPtr; //Carga variables de tipo caracter. char zona[5], daltura[5], dcont[5]; //Carga Variables de coma flotante float dcontrol, dtank1; online=GetTagBit("online"); disp=GetTagBit("disp"); //Evalua si desea trabajar en linea o no con LAMDA. if (online==FALSE) dfPtr=fopen("c:\\carpeta pruebas\\Tesis\\Trainer\\fin5.dat","a"); //Carga el contexto de la Población if (disp==FALSE) fprintf(dfPtr,"%s %s %s %s %s\n","&tank1","tank2","bomba","dtank1","dcontrol"); SetTagBit("disp",TRUE); else bomba=GetTagFloat("bomba"); tank1=GetTagFloat("tank1"); tank2=GetTagFloat("tank2"); dcontrol=GetTagFloat("dcontrol"); dtank1=GetTagFloat("dtank1"); zone(zona,tank1,dcontrol,dtank1,daltura,dcont); fprintf(dfPtr,"%.3f %.3f %.3f %.3f %.3f\n",tank1, tank2, bomba, dtank1,dcontrol); fclose(dfPtr); //Función de Tiempo Real. Comunicación aplicación con LAMDA en Tiempo Real. else dfPtr=fopen("c:\\SALSA04v1\\DataTr\\d_in.dat","w"); bomba=GetTagFloat("bomba"); tank1=GetTagFloat("tank1"); tank2=GetTagFloat("tank2"); dcontrol=GetTagFloat("dcontrol"); dtank1=GetTagFloat("dtank1"); zone(zona,tank1,dcontrol,dtank1,daltura,dcont); SetTagBit("disp",FALSE);

IEL2-I-04-12

Page 101: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

101

fprintf(dfPtr,"%.3f %.3f %.3f %.3f %.3f\n",tank1, tank2, bomba, dtank1,dcontrol); remove("c:\\SALSA04v1\\DataTr\\d_out.dat"); fclose(dfPtr); ANEXO 4: Algoritmo de Regulación PID. void PID(float eantant, float errant, float error, float referencia, float control, float tank1) //Variables de punto flotante //Rutina del PID. float P,I,D, interr, interrant; eantant=GetTagFloat("errant"); errant=GetTagFloat("error"); interrant=GetTagFloat("interr"); referencia=GetTagFloat("referencia"); P = GetTagFloat("P"); I = GetTagFloat("I"); D = GetTagFloat("D"); tank1 = GetTagFloat("tank1"); error = referencia - tank1; interr = interrant + (error + errant)/2; control = GetTagFloat("P")*error+ GetTagFloat("I")*(interrant + interr); if (control<0) control=0; if (control>=8.7) control=8.7; if (tank1>=37) control=0; SetTagFloat("control",control); SetTagFloat("bomba",control+1.3); SetTagFloat("error",error); SetTagFloat("errant",errant); SetTagFloat("eantant",eantant); SetTagFloat("interrant",interrant); SetTagFloat("interr",interr);

IEL2-I-04-12

Page 102: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

102

ANEXO 5: Ejecutor de Algoritmo de Detección de Fallas. #include "apdefap.h" int gscAction( void ) BOOL ini; float tank2, bomba1,referencia,error,errant, eantant, tank1,muestra, tiempo; //Variable de apuntador a archivo FILE *cfPtr; ini=GetTagBit("inicio"); if (ini==FALSE) else muestra=GetTagFloat("muestra")+1; SetTagFloat("muestra",muestra); //ejecuta la detección de fallas archivador(cfPtr,bomba1,tank2,referencia,error,muestra); //ejecuta la comunicación con LAMDA lamda(bomba1, tank1, tank2, error, errant, eantant); return 0;

IEL2-I-04-12

Page 103: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

103

ANEXO 6: Ejecutor de Algoritmo de Control. #include "apdefap.h" int gscAction( void ) //Variables Booleanas BOOL ini , online; //Variables de punto flotante float referencia, tank1, tank2, eantant, errant, error, bomba, control; float bomb1; ini=GetTagBit("inicio"); online=GetTagBit("online"); //Se evalua la condición de puesta en marcha de la planta if(ini==FALSE) SetTagFloat("control",0); SetTagFloat("referencia",0); SetTagFloat("bomba",0); SetTagFloat("P",0); SetTagFloat("I",0); SetTagFloat("D",0); SetTagFloat("interr",0); SetTagFloat("interrant",0); SetTagBit("V1_2",FALSE); SetTagBit("Vcons",FALSE); SetTagBit("leak1",FALSE); SetTagBit("leak2",FALSE); else //Ejecución de algoritmo de regulación y escenario de Fallas. PID(eantant, errant, error, referencia,control,tank1); FaultS(); return 0;

IEL2-I-04-12

Page 104: METODO LAMDA PARA CLASIFICACION DE ESTADOS …

104

ANEXO 7: Algoritmo Extraedor de Derivadas. #include "apdefap.h" int gscAction( void ) //Variables Booleanas BOOL ini; //Variables de punto flotante float controlant, tank1ant, dcontrol, dtank1; ini=GetTagBit("inicio"); //Evalua la condición de puesta en marcha de la planta if (ini==FALSE) SetTagFloat("dcontrol",0); SetTagFloat("dtank1",0); SetTagFloat("controlant",0); SetTagFloat("tank1ant",0); else //Ejecuta el algoritmo que extrae derivadas del proceso cada 60 segundos. dtank1= (GetTagFloat("tank1") - GetTagFloat("tank1ant"))/60; dcontrol=(GetTagFloat("control") - GetTagFloat("controlant"))/60; tank1ant=GetTagFloat("tank1"); SetTagFloat("tank1ant",tank1ant); controlant=GetTagFloat("control"); SetTagFloat("controlant",controlant); SetTagFloat("dtank1",dtank1); SetTagFloat("dcontrol",dcontrol); return 0;

IEL2-I-04-12