243
SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo En este documento se da a conocer la forma como se cumplieron los objetivos propuestos inicialmente, dada la estructura del prototipo del sistema experto, su construcción y la información recolectada y estudiada. Se describen los módulos que conforman el sistema experto, como se implementaron y sus especificaciones. Se incluyen las bases que se tuvieron en cuenta para su construcción, las características del programa utilizado y la adquisición de la información que lo alimenta.

SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores

utilizados en la extracción de petróleo En este documento se da a conocer la forma como se cumplieron los objetivos propuestos

inicialmente, dada la estructura del prototipo del sistema experto, su construcción y la información

recolectada y estudiada. Se describen los módulos que conforman el sistema experto, como se

implementaron y sus especificaciones. Se incluyen las bases que se tuvieron en cuenta para su

construcción, las características del programa utilizado y la adquisición de la información que lo

alimenta.

Page 2: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

SISTEMA EXPERTO EoS: GESTIÓN DE FALLAS CON DIAGNÓSTICO EXPERTO PARA TURBOCOMPRESORES UTILIZADOS EN LA

EXTRACCIÓN DE PETRÓLEO

VIVIANA ESPINOSA ROJAS GINA PAOLA PULIDO URIZA

Trabajo de grado para optar por el título de Ingeniero Electrónico

Director Ingeniero Adolfo León Recio Vélez M.Sc

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA, DEPARTAMENTO DE ELECTRÓNICA

BOGOTÁ, D. C. 2004

Page 3: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

ARTICULO 23 DE LA RESOLUCIÓN No 13 DE JUNIO DE 1946

"La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus

proyectos de grado.

Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque los trabajos

no contengan ataques o polémicas puramente personales. Antes bien, que se vea en ellos el anhelo

de buscar la verdad y la justicia".

Page 4: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA ELECTRÓNICA

RECTOR MAGNÍFICO: R. P. GERARDO REMOLINA VARGAS, S. J.

DECANO ACADÉMICO: ING. ROBERTO ENRIQUE MONTOYA VILLA

DECANO DEL MEDIO UNIVERSITARIO: R. P. ANTONIO JOSÉ SARMIENTO NOVA, S. J.

DIRECTOR DE CARRERA: ING. JUAN CARLOS GIRALDO CARVAJAL

DIRECTOR DEL PROYECTO: ING. ADOLFO LEÓN RECIO VÉLEZ M.Sc

Page 5: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

A Dios, a mi papá Roberto, mi mamá Flor María y mi hermano Juancho, porque siempre estuvieron

a mi lado incondicionalmente y me brindaron la fortaleza para poder culminar con éxito este

proyecto.

VIVIANA ESPINOSA ROJAS

Page 6: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

AGRADECIMIENTOS

Antes que nada, gracias a Dios por la oportunidad que nos brindo.

En una larga lista de agradecimientos quiero resaltar el apoyo de mis padres y hermanas quienes

fueron incondicionales en el camino que recorrí durante el desarrollo de este trabajo.

A Viviana, mi compañera y AMIGA, por los momentos difíciles y gratificantes que pasamos

desarrollando este trabajo y por su incondicional amistad y apoyo.

A BP Exploration Company Colombia Ltda y Equipo de Servicios Petroleros Ltda por el apoyo que

nos brindó en la realización de este trabajo, en especial al Ingeniero Gabriel Combariza y al

Ingeniero Carlos Olarte quienes creyeron en nosotras. Gracias al equipo de Cusiana que nos

colaboró en la elaboración de este proyecto y al tiempo que nos dedicaron en sacarlo adelante, en

especial al Ingeniero Rubén Soler y al Ingeniero Oscar Pérez.

Gracias a Cesar Bustacara por su tiempo, dedicación, paciencia y disponibilidad por ayudarnos y

colaborarnos cuando más lo necesitábamos, y a Jose Fernando Vega por su disposición y ayuda. A

nuestro director, Adolfo Recio, gracias por los ánimos y la asesoría que nos brindó, y a Alejandro

Forero, por su asesoria, dedicación y compromiso con nuestro trabajo.

GINA PAOLA PULIDO URIZA

Page 7: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

La elaboración de este trabajo de grado fue posible gracias al apoyo incondicional de mi papá, mi

mamá y mi hermano. Dios fue mi guía en todo momento y le agradezco a Él poder culminar con

éxito este trabajo de grado.

Agradezco a nuestro director de trabajo de grado el Ingeniero Electrónico Adolfo León Recio, por su

tiempo y dedicación, a nuestro asesor el Ingeniero Electrónico Alejandro Forero por sus valiosos

aportes y ayuda, al profesor Cesar Bustacara por su apoyo y consejo incondicional.

Le doy mi más profundo a agradecimiento a Felipe Bayon, Gerente de Unidad de Desempeño de

BP, y a los ingenieros de BP Gabriel Combariza y Carlos Olarte quienes creyeron en nosotras y en

nuestra propuesta y aceptaron desarrollar este proyecto para su empresa.

No hubiera sido posible elaborar este trabajo de grado sin la ayuda y los conocimientos de los

Ingenieros de Control de Equipo de Servicios Petroleros, en Cusiana, Rubén Soler y Oscar Pérez,

quienes siempre estuvieron prestos a colaborarnos y son parte del desarrollo de este proyecto, a

ellos muchas gracias.

Finalmente agradezco a mi compañera de Trabajo de grado y mi mejor amiga Gina Pulido y a todos

aquellos que tal vez no nombro pero nos tendieron su mano para hacer posible que pudiéramos

terminar con éxito nuestro proyecto.

VIVIANA ESPINOSA ROJAS

Page 8: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

TABLA DE CONTENIDO

TABLA DE CONTENIDO ...................................................................................... 7 LISTA DE FIGURAS............................................................................................... 8 LISTA DE ANEXOS ................................................................................................ 8 INTRODUCCIÓN ..................................................................................................... 9 1. MARCO TEÓRICO............................................................................................. 11 2. ESPECIFICACIONES......................................................................................... 12 2.1 REQUERIMIENTOS DEL SISTEMA EXPERTO EoS ................................. 12 2.2 ENTRADAS Y SALIDAS DEL SISTEMA.................................................... 13 2.3 MÓDULOS DEL SISTEMA EXPERTO EoS ................................................ 14 2.3.1 Módulo de Filtraje........................................................................................ 16 2.3.2 Módulo de Captura de Datos ....................................................................... 16 2.3.3 Módulo de Base de Hechos.......................................................................... 16 2.3.4 Módulo de Base del Conocimiento .............................................................. 17 2.3.5 Módulo del Mecanismo de Inferencia.......................................................... 17 2.3.6 Módulo de Explicación ................................................................................ 17 2.3.7 Módulo de Interfaz Gráfica.......................................................................... 18 3. DESARROLLO ................................................................................................... 19 3.1 MÓDULO / FASE DE FILTRAJE.................................................................. 20 3.2 MÓDULO / FASE DE CAPTURA DE DATOS............................................. 22 3.3 MÓDULO / FASE DE BASE DE HECHOS .................................................. 23 3.4 MÓDULO / FASE DE BASE DEL CONOCIMIENTO ................................. 28 3.5 MÓDULO / FASE DE MECANISMO DE INFERENCIA ............................ 30 3.6 MÓDULO / FASE DE EXPLICACIÓN ......................................................... 33 3.7 MÓDULO / FASE DE INTERFAZ GRÁFICA .............................................. 35 4. ANÁLISIS DE RESULTADOS .......................................................................... 37 4.1 ALCANCE DEL SISTEMA EXPERTO EoS ................................................. 37 4.2 HERRAMIENTAS DE SOFTWARE UTILIZADAS..................................... 39 4.3 DESEMPEÑO DEL PROGRAMA DESARROLLADO EN CLIPS.............. 40 4.4 FUNCIONAMIENTO DE LA INTERFAZ GRÁFICA ELABORADA EN VISUAL BASIC.NET ................................................................................................. 41 4.5 RESULTADOS DE LA COMPARACIÓN DEL PROCESO REALIZADO ANTES Y REALIZADO AHORA.............................................................................. 42 4.6 FACTIBILIDAD DE LA APLICACIÓN DE LOS CONCEPTOS DE GESTIÓN DE FALLAS EN EL SISTEMA EXPERTO EoS ..................................... 45 4.7 ANÁLISIS DE COSTOS................................................................................. 47 5. CONCLUSIONES ............................................................................................... 50 6. GLOSARIO ......................................................................................................... 52 BIBLIOGRAFÍA ..................................................................................................... 58

Page 9: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

LISTA DE FIGURAS

Figura 1: Archivo de Entrada del SISTEMA EXPERTO EoS.......................................................... 13 Figura 2: Esquema de entradas y salidas del SISTEMA EXPERTO EoS......................................... 14 Figura 3: Diagrama de flujo del SISTEMA EXPERTO EoS. .......................................................... 15 Figura 4. Esquema de comparación y archivos resultado cuando el SISTEMA EXPERTO EoS realiza el filtraje de las alarmas............................................................................................... 22 Figura 5.Estructura de programación de CLIPS......................................................................... 26 Figura 6 Fragmento de un Árbol de Conocimiento utilizado en la elaboración del SISTEMA EXPERTO EoS. ...................................................................................................................... 29 Figura 7: Pantalla principal del SISTEMA EXPERTO EoS. ............................................................ 35

LISTA DE ANEXOS

ANEXO A: TEORÍA DE GESTIÓN ANEXO B: PETRÓLEO Y TURBINAS ANEXO C: SISTEMAS EXPERTOS ANEXO D: ÁRBOLES DE CONOCIMIENTO ANEXO E: LICENCIA DE FUNCIONAMIENTO DE CLIPS ANEXO F: CARTAS PRESENTADAS A EQUIPO DE SERVICIOS PETROLEROS LTDA ANEXO G: REPORTES EoS

Page 10: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

INTRODUCCIÓN

Dentro de las principales necesidades de las empresas petroleras está el mantener constante la

producción de petróleo en sus yacimientos, puesto que una parada en la producción representa

grandes pérdidas de dinero. Para BP Exploration Company Colombia Ltda1 y Equipo de Servicios

Petroleros Ltda2 los turbocompresores resultan ser uno de los equipos más importantes para la

inyección de gas al pozo dentro del proceso de extracción de petróleo, ya que si un

turbocompresor falla, la producción de crudo se interrumpe generando pérdidas de producción

y dinero, hasta que el problema sea solucionado y el turbocompresor pueda operar nuevamente

en condiciones normales. Por ello, BP Exploration Company Colombia Ltda, siendo una empresa

líder en la extracción de petróleo, encuentra interesante disponer de un mecanismo que

relacione y analice fallas para hacer más eficiente, rápida y menos dispendiosa la interpretación

manual de la información de los eventos cuando ocurre una falla en alguno de los

turbocompresores, y de esta forma facilitar al ingeniero experto en fallas la valoración del

problema y el diagnóstico de las causas de las mismas, proporcionando soluciones en menor

tiempo con el fin de restablecer el proceso lo antes posible.

Hasta hace unos meses, cuando ocurría una falla en alguno de los turbocompresores de BP

Exploration Company Colombia Ltda el proceso se debía detener, e inmediatamente se

analizaban manualmente el listado de alarmas de falla relacionadas con el equipo, con lo que el

ingeniero experto en fallas realizaba una valoración del problema, diagnosticaba sus causas y

proponía soluciones, con el fin de restablecer el proceso lo antes posible. Sin embargo, esta

interpretación manual de la información podía ser más eficiente, rápida y menos dispendiosa

para la persona experta si disponía de un mecanismo práctico que relacionara y analizara fallas,

facilitando la valoración del problema y el diagnóstico de las causas de la falla, y así

solucionarlas en menos tiempo para restablecer el proceso lo antes posible. Para atender este

problema, se diseñó un prototipo de un sistema experto que diagnostica las causas de las fallas

que se presentan en los turbocompresores que intervienen en el proceso de inyección de gas

de BP Exploration Company Colombia LTDA en Cusiana, y las presenta al usuario por medio de

una interfaz gráfica.

1 BP Exploration Company Colombia Ltda. es la empresa líder en la extracción de petróleo de Colombia. Sus yacimientos petroleros se encuentran en el Casanare, y el principal de ellos es el CPF (Central Production Facilities),) de Cusiana. 2 Equipo de Servicios Petroleros Ltda. es una empresa de servicios de la industria de producción de petróleo, particularmente de BP Exploration Company Colombia Ltda.

Page 11: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

10

Este prototipo de sistema experto, denominado SISTEMA EXPERTO EoS, resuelve problemas

como un especialista humano y permite emular por medio de un sistema de cómputo la

habilidad de toma de decisiones mediante relaciones, según los indicadores de alarmas que

intervienen en el proceso y las respuestas de los usuarios durante la ejecución del programa. El

SISTEMA EXPERTO EoS sigue los conceptos de la teoría de Gestión de Fallas3 los cuales son la

base para justificar la construcción y desarrollo de este sistema experto.

Se espera que el SISTEMA EXPERTO EoS sea una muestra para que BP Exploration Company

Colombia Ltda, junto con su outsourcing Equipo de Servicios Petroleros Ltda evalúen la

factibilidad de posteriores desarrollos que extiendan el alcance del SISTEMA EXPERTO EoS y

puedan utilizarse para un número elevado de equipos.

El desarrollo del SISTEMA EXPERTO EoS, se realizó como trabajo de grado titulado “Gestión

de fallas con diagnóstico experto para turbocompresores utilizados en la extracción

de petróleo”, por las Ingenieras Electrónicas Viviana Espinosa Rojas y Gina Paola Pulido Uriza,

de la Pontificia Universidad Javeriana. Se desarrolló en las empresas “BP Exploration Company

Colombia Ltda” Y “Equipo De Servicios Petroleros Ltda” bajo el conocimiento, asesoría y

requerimientos del Ingeniero Carlos Olarte y el Ingeniero Rubén Soler. Su instalación se realizó

en BP Exploration Company Colombia Ltda en Cusiana, Casanare en octubre de 2004.

En este documento se da a conocer la forma como se cumplieron los objetivos propuestos

inicialmente, dada la estructura del prototipo del sistema experto, su construcción y la

información recolectada y estudiada, así como los aportes de los ingenieros expertos. Se

describen los módulos que conforman el sistema experto, como se implementaron, sus

especificaciones y como es la interacción con la interfaz grafica. Se incluye, las bases que se

tuvieron en cuenta para construir el sistema experto, las características del programa utilizado y

la adquisición de la información que lo alimenta. Se expone una descripción del funcionamiento

de los turbocompresores en el proceso de extracción de petróleo, se explican los conceptos

principales de la teoría de gestión de fallas y se evalúa su aplicación en procesos petroleros,

basados en las pruebas realizadas en Cusiana. Como complemento a la información que se

encuentra en este documento, el SISTEMA EXPERTO EoS cuenta con el Manual de Usuario, en

el que se detalla el modo de uso y las funcionalidades del sistema; el Manual Técnico de

Usuario, el cual incluye la estructura de programación y modo de alimentar el sistema experto,

y el Código de programación del SISTEMA EXPERTO EoS, en el cual se encuentra todo el código

fuente del programa.

3 Gestión de Fallas: Para más información remítase al Anexo A de este documento.

Page 12: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

11

MARCO TEÓRICO

Los temas que sirvieron como base teórica al SISTEMA EXPERTO EoS y fueron punto de partida

para su desarrollo son:

Teoría de Gestión: Se presentan algunos de los conceptos de Gestión de Red, que

están definidos para el sector de las telecomunicaciones pero que son válidos en otros

sectores y tipos de empresas4 como lo es la petrolera, adaptando los conceptos a

aplicaciones específicas. Ver Anexo A de este documento.

Petróleo y Turbocompresores: Se refiere a las generalidades del proceso de

extracción de petróleo utilizado por BP Exploration Company Colombia Ltda en Cusiana,

y la importancia de los turbocompresores dentro del proceso. Ver Anexo B de este

documento.

Sistemas Expertos: Base teórica, componentes y fundamentación de los sistemas

expertos para el desarrollo del SISTEMA EXPERTO EoS. Ver Anexo C de este

documento.

La comprensión y manejo de estos temas es necesaria para entender la información que

contiene este documento.

4 Tomado de TeleManagement Forum Telecom Operations Map, NMF, GB910.

Page 13: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

12

ESPECIFICACIONES

1.1.1. REQUERIMIENTOS DEL SISTEMA EXPERTO EOS

El SISTEMA EXPERTO EoS está soportado bajo ambiente Windows, por lo tanto para su

correcta ejecución se necesita un computador personal con las siguientes características

mínimas:

Hardware: Procesador Pentium II® o superior.

RAM: 128 MB o superior.

Disco duro: 12 GB o superior.

Software: Windows 98 o superior.

CLIPS.5

El SISTEMA EXPERTO EoS, en su composición, está dividido en dos programas:

1. Interfaz gráfica: Es el programa con el que el usuario interactúa, y donde se

muestra la información de interés para éste. La interfaz gráfica la comparte con el

Sistema de Captura y Filtraje 6 y está desarrollada en Visual Basic.NET 6.0.

2. CLIPS: Es un programa que trabaja de manera regular y sincrónica con la interfaz

gráfica. Realiza el proceso de inferencia y genera la información que se muestra al

usuario.

Para el desarrollo del SISTEMA EXPERTO EoS se utilizó la versión 6.21 de CLIPS del 15

de junio de 2003.

5 Herramienta especializada de software para la elaboración de sistemas expertos. 6 Sistema de Captura y Filtraje: Es el sistema que se encarga de recibir constantemente las alarmas que generan los diferentes equipos que intervienen en el proceso de extracción de petróleo en Cusiana y mostrarlas de manera detallada en pantalla. Las alarmas se reciben por puerto serial y se presentan al usuario utilizando este sistema que fue desarrollado e instalado previamente en el Control Room de Cusiana; donde trabajan de forma coordinada y bajo la misma interfaz gráfica del SISTEMA EXPERTO EoS. Para más información remítase a la sección 2.1 del Manual Técnico de Usuario o a la sección 1.1 del Manual de Usuario.

Page 14: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

13

El correcto funcionamiento de cada uno de ellos hace que el SISTEMA EXPERTO EoS trabaje

adecuadamente, de forma que es indispensable que ambos programas se ejecuten

simultáneamente y de manera correcta.

1.1.2. ENTRADAS Y SALIDAS DEL SISTEMA

El SISTEMA EXPERTO EoS tiene como entrada el archivo de texto que genera el Sistema de

Captura y Filtraje cuando ocurre una Alarma de Disparo7. Este archivo lo llamaremos Archivo de

Entrada. Este archivo se denomina ArchivoHyp.Txt y se encuentra en C:\EJERVG.

Figura 1: Archivo de Entrada del SISTEMA EXPERTO EoS.

Las salidas del SISTEMA EXPERTO EoS son:

Las posibles causas que generaron la falla: Causas EoS.

Las posibles recomendaciones correctivas a la falla: Recomendaciones EoS.

La secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS.

7 Alarma de Disparo: Es la alarma que está directamente relacionada con la parada de un turbocompresor. Para más información, remítase a la sección 1 del Manual de Usuario, o a la sección 2 del Manual Técnico de Usuario.

Page 15: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

14

Figura 2: Esquema de entradas y salidas del SISTEMA EXPERTO EoS.

La información adicional que se muestra al usuario es:

Información referente a la Alarma de Disparo: Información de la Alarma de

Disparo.

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por

el usuario: Historial de preguntas y respuestas.

Reporte con la información de entrada, salida y adicional. Este reporte se genera en

formato de texto (*.Txt) al culminar el proceso: Reporte EoS.

1.1.3. MÓDULOS DEL SISTEMA EXPERTO EOS

A continuación se describen las especificaciones de cada uno de los siete (7) módulos que

componen el SISTEMA EXPERTO EoS:

Módulo de filtraje

Módulo de Captura

Módulo de Base de Hechos

Módulo de Base del Conocimiento

Módulo de Mecanismo de Inferencia

Módulo de explicación

Módulo de Interfaz Gráfica

El diagrama de flujo se muestra en la Figura 3, y cada uno de los módulos se detalla con un

color diferente.

SISTEMA EXPERTO EoS

Archivo de Entrada: Archivo de texto que genera el Sistema de Captura y Filtraje.

Causas

Recomendaciones

Proceso

Page 16: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

15

Figura 3: Diagrama de flujo del SISTEMA EXPERTO EoS.

Son las reglas que contienen el conocimiento especializado suministrado por la persona experta en el dominio, las cuales se representan en Árboles de Conocimiento. Las reglas son:

- Reglas de producción. - Metarreglas. - Reglas con prioridad

BASE DEL CONOCIMIENTO

Información suministrada por el usuario.

Respuesta a las preguntas formuladas por el sistema

experto.

Comparación de patrones de

reglas con hechos

AGENDA

La regla pasa a la agenda.

Las reglas están en orden

según prioridad.

Actualización de la agenda.

Elimina o adiciona.

Dispara reglas por orden de prioridad.

Ejecución de acciones de la consecuencia (Lado derecho) de la regla disparada.

Elimina las reglas ya disparadas.

Nuevas conclusiones durante la ejecución.

MÓDULO DE EXPLICACIÓN.

Almacena las conclusiones intermedias. Al final del proceso las guarda en el archivo Proceso.bin que se encuentra en C:\EJERVG.

Formula preguntas al usuario y le permite indicar la respuesta.

MODULO DE FILTRAJE

Selección y filtraje de las alarmas que se encuentran en el Archivo de Entrada. Se determinan:

- Alarmas de Disparo - Alarmas Secundarias - Otras alarmas.

MÓDULO DE CAPTURA.

Captura las alarmas previamente filtradas, y las ubica en los archivos binarios:

- Primarias.bin - Secundarias.bin,

Ubicados en C:/EJERVG, para que CLIPS y Visual Basic.NET puedan tener acceso a ellas.

ENTRADA AL SISTEMA

Archivo de Entrada: Archivo de texto que genera el Sistema de Captura y Filtraje.

BASE HECHOS.

Lista de alarmas.

Información suministrada por el

usuario.

Conclusiones intermedias de la

ejecución.

Almacena o lee información de interés, ubicada en C;\EJEVG:

- Causas.Txt - Recomendaciones.bin - Pta.bin - Rta.bin - Simulacion.bin

Genera el Reporte EoS.Txt, y lo almacena en la carpeta ReportesEoS

SALIDA DEL SISTEMA

INTERFAZ CON EL USUARIO.

Presenta al usuario: - Causas EoS - Recomendaciones

EoS - Proceso EoS - Información de la

Alarma de Disparo - Historial de preguntas

y respuestas

SALIDA DEL SISTEMA

*ENTRADA AL SISTEMA. *MÓDULO DE FILTRAJE *MÓDULO DE CAPTURA.

*MÓDULO DE EXPLICACIÓN. *INTERFAZ GRÁFICA. *SALIDA DEL SISTEMA.

*BASE DE HECHOS. *BASE DE CONOCIMIENTO. *MECANISMO DE INFERENCIA.

Page 17: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

16

1.1.4. MÓDULO DE FILTRAJE

Se encarga de la selección y filtraje de las alarmas que se encuentran en el Archivo de Entrada

y que sirven para identificar y llevar a cabo el proceso de reconocimiento de las causas de la

falla.

Compara los tags8 de las alarmas que encuentran en el Archivo de Entrada, con los de

las del archivo ListaPrimarias.Txt,9 y si existe alguno en común lo almacena en el

archivo Primarias.bin, el cual es un archivo que hace parte del funcionamiento interno

del sistema. Estas alarmas se denominan Alarmas de Disparo.

Compara los tags de las alarmas que encuentran en el Archivo de Entrada, con los de

las del archivo ListaSecundarias.Txt,10 y si existe por lo menos uno en común los

almacena en el archivo Secundarias.bin, el cual es un archivo que hace parte del

funcionamiento interno del sistema. A estas alarmas las denominaremos Alarmas

Secundarias.

Deshecha las alarmas del Archivo de Entrada que no son Alarmas de Disparo ni Alarmas

Secundarias.11

1.1.5. MÓDULO DE CAPTURA DE DATOS

Captura las alarmas previamente filtradas, y las ubica en los archivos binarios

Primarias.bin y Secundarias.bin, ubicados en C:/EJERVG, para que CLIPS y Visual

Basic.NET puedan tener acceso a ellas.

1.1.6. MÓDULO DE BASE DE HECHOS

Se desarrolla sobre el CLIPS y se compone de:

Listado de alarmas que provienen del Módulo de Captura de Datos.

Información suministrada por el usuario durante el proceso de inferencia.

Conclusiones intermedias generadas durante la ejecución.

8 Tag: Código para identificar la instrumentación y variables de un proceso determinado. 9 ListaPrimarias.Txt: Archivo que contiene una lista con todos los tags de Alarmas de Disparo. 10 ListaSecundarias.Txt: Archivo que contiene una lista con todos los tags de Alarmas Secundarias. 11 Para más información remítase a la sección 3.2 del Manual Técnico de Usuario.

Page 18: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

17

1.1.7. MÓDULO DE BASE DEL CONOCIMIENTO

Son las reglas que contienen el conocimiento especializado suministrado por la persona experta

en el dominio, las cuales se representan en Árboles de Conocimiento12, y se escriben en

lenguaje de programación directamente sobre Clips. Se compone de:

Reglas de producción: Son las que alimentan la base de conocimiento. Se elaboran

con la información obtenida de los Árboles de Conocimiento construidos por los

ingenieros expertos y los ingenieros del conocimiento.

Metarreglas: Son reglas sobre otras reglas.

Adicionalmente, a algunas de estás reglas se les asignara prioridad con el fin de que se

disparen antes que otras.

1.1.8. MÓDULO DEL MECANISMO DE INFERENCIA

Tiene una Agenda compuesta por la colección de las reglas activadas, las cuales

manejan las prioridades asignadas en el módulo de base de conocimiento.

Opera en ciclos hasta obtener respuesta al análisis de causas de fallas.

De acuerdo con las reglas activadas almacena o lee información de interés de los

archivos Causas.bin, Recomendaciones.bin, Pta.bin, Rta.bin y Simulacion.bin, ubicados

en C;\EJEVG.

Genera un reporte con la información de entrada y salida del sistema. Este reporte se

genera en formato de texto (*.Txt) al culminar el proceso: Reporte EoS.13

1.1.9. MÓDULO DE EXPLICACIÓN

El sistema almacena secuencialmente las conclusiones intermedias del análisis de

causas de falla, con las respectivas hipótesis y recomendaciones, y al final del proceso

las guarda en el archivo Proceso.bin que se encuentra en C:\EJERVG.

12 Para más información remítase al Anexo C de este documento. 13 Reportes EoS: Para más información remítase a la sección 14 del Manual de Usuario.

Page 19: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

18

1.1.10. MÓDULO DE INTERFAZ GRÁFICA

La interfaz gráfica está desarrollada en Visual Basic.NET y es la que permite al usuario

interactuar con el sistema.

Permite al usuario ingresar las respuestas correspondientes a las preguntas que el

sistema plantea a través del proceso de análisis.14

El ambiente de trabajo del programa se encuentra en español.

Permite simular eventos de falla, para evaluar los resultados de un conjunto de posibles

alarmas.15

En algunos casos no presenta al usuario las palabras con tildes, para evitar errores de

caligrafía.

Para una correcta visualización, se debe usar una resolución de pantalla de 768 píxeles

máximo.

Permite seleccionar un archivo de texto, para realizar Análisis de Eventos16.

Muestra los resultados intermedios y finales del análisis de causas de la falla, es decir:17

Posibles causas que generaron la falla: Causas EoS.

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS.

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS.

Información referente a la Alarma de Disparo: Información de la Alarma de Disparo.

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por

el usuario: Historial de preguntas y respuestas.

14 Para más información remítase a la sección 3.4 del Manual Técnico de Usuario o a la sección 13 del Manual de Usuario. 15 Para más información remítase a la sección 3.7 del Manual Técnico de Usuario o a la sección 7 del Manual de Usuario. 16 Analisis de Eventos: Remítase a la sección 13 del Manual de Usuario. 17 Para más información remítase a las secciones 6, 8, 9, 10 y 11 del Manual de Usuario

Page 20: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

19

DESARROLLO

El SISTEMA EXPERTO EoS se desarrolló bajo el lenguaje de programación CLIPS18 debido a que

es una herramienta de software libre19 que se encuentra en Internet, lo cual es importante ya

que se puede desarrollar un producto de buena calidad a un costo razonable. Además ofrece

los elementos básicos de un sistema experto:

Base de hechos y de instancias que corresponden a la memoria global.

Base de conocimiento que contiene las reglas.

Mecanismo de inferencia que controla la ejecución de las reglas.

El contrato de licencia de CLIPS se encuentra en el ANEXO E de este documento.

Para el desarrollo de la interfaz gráfica se utilizó Visual Basic.NET, debido a que varios de los

desarrollos que se encuentran en el Control Room de Cusiana20 están implementados en esta

herramienta de programación, entre ellos el Sistema de Captura y Filtraje21, con el cual el

SISTEMA EXPERTO EoS comparte la interfaz gráfica.

El SISTEMA EXPERTO EoS consta de siete módulos y fases de trabajo que al integrarse

correctamente forman el prototipo del sistema experto que diagnostica causas y propone

recomendaciones a las fallas que se presentan en los turbocompresores que intervienen en el

proceso de inyección de gas al pozo en BP Exploration Company Colombia Ltda en Cusiana, y

los presenta al usuario por medio de la interfaz gráfica.

A continuación se hará una descripción general de cada uno de los módulos y fases que

conforman el sistema, basados en el diagrama de flujo que se muestra en la Figura 3. En cada

uno de los módulos y fases se incluirá una porción del código desarrollado, sin embargo el

18 CLIPS: Para más información remítase al Anexo C de este documento. 19 Software libre: Que no tiene costo para fines educativos y/o empresariales. La licencia de CLIPS se encuentra en el ANEXO E de este documento. 20 Control Room: Es el cuarto de control donde se reportan las alarmas de los equipos que se encuentran en el CPF de Cusiana, Casanare. 21 Sistema de Captura y Filtraje: Es el sistema que se encarga de recibir constantemente las alarmas que generan los diferentes equipos que intervienen en el proceso de extracción de petróleo en Cusiana y mostrarlas de manera detallada en pantalla. El sistema fue desarrollado e instalado previamente en el Control Room de Cusiana; donde trabajan de forma coordinada y bajo la misma interfaz gráfica del SISTEMA EXPERTO EoS. Para más información remítase a la sección 2.1 del Manual Técnico de Usuario o a la sección 1.1 del Manual de Usuario.

Page 21: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

20

código completo del SISTEMA EXPERTO EoS se encuentra en el archivo Código de

programación del SISTEMA EXPERTO EoS, que se incluye en el CD del SISTEMA EXPERTO EoS.

1.1.11. MÓDULO / FASE DE FILTRAJE

Se encarga de la selección y filtraje de las alarmas que se encuentran en el Archivo de Entrada

y que sirven para identificar y disparar el proceso de búsqueda de las causas de la falla.

El SISTEMA EXPERTO EoS empieza un proceso cuando se reporta la parada de una turbina, es

decir cuando se crea el archivo ArchivoHyp.Txt,22 o Archivo de Entrada, el cual contiene la

información de la Alarma de Disparo.

Cada uno de los tags de las alarmas que hay en el Archivo de Entrada se compara con la

información que se encuentra en el archivo ListaPrimarias.Txt23, (como se ilustra en el código

siguiente) el cual contiene una lista con todos los tags de Alarmas de Disparo24 que reconoce el

SISTEMA EXPERTO EoS.

For J = 0 To ContadorRenglonesVectorListaPrimarias 'Compara cada una de los tags de ArchivoHyp con la lista predeterminada de alarmas primarias, es decir con ListaPrimarias.Txt If UCase(Trim(VectorTodosTagsAlarmas(I))) = UCase(Trim(VectorListaPrimarias(J))) And UCase(Trim(Mid(ContadorEspecial1, 61, 16))) = "ON" Then 'Hace la comparación del TAG de la alarma y del estado ON

De igual manera, cada uno de los tags de las alarmas que hay en el Archivo de Entrada se

compara con la información que se encuentra en el archivo ListaSecundarias.Txt25, (como se

ilustra en el código siguiente) el cual contiene una lista con todos los tags de las alarmas que

22 ArchivoHyp.Txt o Archivo de entrada: Al que se refiere la Figura 1 de este documento. 23 ListaPrimarias.Txt se encuentra en C:/EJERVG. 24 Esta lista es creada por el Usuario Experto, y debe coincidir con la información que contiene CLIPS, es decir para cada tag que exista en el archivo ListaPrimarias.Txt, debe existir un programa en CLIPS, con el desarrollo del análisis para hallar las causas de la falla relacionada con ese tag. 25 ListaSecundarias.Txt se encuentra en C:/EJERVG.

Page 22: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

21

no son Alarmas de Disparo pero están relacionadas con los turbocompresores, (a las

denominamos “Alarmas secundarias”)26 que reconoce el SISTEMA EXPERTO EoS.27

'Compara VectorTodosTagsAlarmas con VectorListaSecundarias, y las que sean iguales las almacena en SECUNDARIAS.BIN For I = 0 To ContadorTagsAlarmasDepuradas ''ContadorRenglonesHyperterminal For J = 0 To ContadorRenglonesVectorListaSecundarias If UCase(Trim(ListaVectorTodosTagsAlarmas2(I))) = UCase(Trim(ListaVectorListaSecundarias(J))) Then 'Hace la comparación sin tener en cuenta espacios ni mayúsculas

Las alarmas del Archivo de Entrada que no son Alarmas de Disparo ni Alarmas Secundarias28

NO las tiene en cuenta para el resto del análisis.

A continuación se presenta un esquema de la comparación que el SISTEMA EXPERTO EoS

realiza:

26 Esta lista es creada por el Usuario Experto, y contiene los tags de las alarmas relacionadas con los turbocompresores que intervienen en el proceso de inferencia que realiza CLIPS. 27 La lista con los Tags de las Alarmas de Disparo y las Alarmas Secundarias fue suministrada por los Ingenieros Expertos de Cusiana. 28 Para más información remítase a la sección 3.2 del Manual Técnico de Usuario.

Page 23: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

22

Figura 4. Esquema de comparación y archivos resultado cuando el SISTEMA EXPERTO EoS realiza el filtraje de las alarmas.

1.1.12. MÓDULO / FASE DE CAPTURA DE DATOS

De acuerdo con el resultado del Módulo de Filtraje, el sistema captura las alarmas y las ubica en

los archivos binarios Primarias.bin y Secundarias.bin, ubicados en C:/EJERVG para que CLIPS y

Visual Basic.NET puedan tener acceso a ellas; es decir, si la comparación del Archivo de Entrada

con ListaPrimarias.Txt resulta exitosa, se crea un archivo denominado Primarias.bin con el tag

de la alarma en común, como se muestra a continuación.

'ATxt1.FEscribirArchivos("c:\ejervg\Primarias.bin", "(" + UCase(Trim(VectorListaPrimarias(J))) + ")") 'Crea un archivo Primarias.bin, donde almacena el tag de la alarma primaria que está en Archivohyp.Txt

Si la comparación del Archivo de Entrada con ListaSecuntarias.Txt resulta exitosa, se crea un

archivo denominado Secundarias.bin con los tags de las alarmas en común, como se indica a

continuación.

Archivo de entrada: ArchivoHyp.Txt Contiene la información de las alarmas que se generan cuando ocurre una falla que ocasiona la parada en un turbocompresor. Se especifica la información de las alarmas que sucedieron sesenta (60) minutos antes y un (1) minuto después de la Alarma de Disparo.

ListaPrimarias.Txt: Contiene la lista con todos los tags de Alarmas de Disparo. Esta lista es creada por el Usuario Experto, y debe coincidir con la información que contiene CLIPS.

ListaSecundarias.Txt: Contiene la lista con todos los tags de las Alarmas Secundarias Esta lista es creada por el Usuario Experto, y contiene los tags de las alarmas relacionadas con los turbocompresores que intervienen en el proceso de inferencia que realiza CLIPS.

COMPARACIÓN

Primarias.bin: Contiene el tag de la Alarma de Disparo en común.

Sacundarias.bin: Contiene el tag de la Alarmas Secundarias en común.

Page 24: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

23

ATxt2.FEscribirArchivos("c:\ejervg\Secundarias.bin", TodosRenglonesSecundariasHyp) 'Crea un archivo Secundarias.bin, donde almacena el tag de las alarmas secundarias que están en Archivohyp.Txt …

En el momento en que CLIPS encuentra en Primarias.bin el tag de una Alarma de Disparo la

ubica en su Base de Hechos y empieza un Proceso de Inferencia: y si el proceso lo requiere,

accede también al archivo Secundarias.bin donde se encuentran las Alarmas Secundarias.

Al finalizar un proceso, es decir cuando CLIPS emite las conclusiones del procedimiento, los

hechos almacenados en la Base de Hechos son borrados, al igual que los archivos Primarias.bin

y Secundarias.bin, de manera el sistema se reinicia quedando en espera de una nueva Alarma

de Disparo.

1.1.13. MÓDULO / FASE DE BASE DE HECHOS

Se desarrolla en CLIPS y se compone del listado de alarmas que provienen del Módulo de

Captura de Datos, de las conclusiones intermedias generadas durante la ejecución del

programa, y de la información suministrada por el usuario durante del proceso de inferencia, es

decir de las respuestas a las preguntas formuladas por el sistema experto.

La lista de alarmas que provienen del Módulo de Captura de Datos se encuentran ubicadas en

los archivos binarios Primarias.bin y Secundarias.bin. CLIPS entiende como un nuevo hecho

cada una de estas alarmas, teniendo presente que dispara un nuevo proceso de análisis sólo

cuando una Alarma de Disparo corresponde al Nodo Raíz de los Árboles de Conocimiento29 que

alimentan el sistema.

Para ello, se definió que cada proceso de análisis se encontraría en CLIPS en un archivo *.CLP

diferente, de manera que el sistema pudiera ser modular y fácil de alimentar30. Así, se

29 Nodo Raíz de los Árboles de Conocimiento: Para más información remítase al Anexo C de este documento. 30 Alimentar el SISTEMA EXPERTO EoS: Agregar información de procesos nuevos para que el sistema sea más completo y robusto. A cargo del Usuario Experto.

Page 25: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

24

determinó que el nombre31 de cada archivo relacionado con un Proceso de Inferencia seria el

del tag de la Alarma de Disparo.CLP. Ejemplo: M11-LCLFDEN_ALM.CLP.32

La estructura de programación realizada en CLIPS cuenta con un archivo denominado

PROGRAMAGLOBAL.CLP,33 el cual contiene el código que permite determinar cuál Proceso de

Inferencia debe seguir el SISTEMA EXPERTO EoS para hallar las causas de la falla de acuerdo

con la Alarma de Disparo que haya en Primarias.bin, es decir es donde se escoge el archivo de

código con el nombre del tag de la Alarma de Disparo que está en Primarias.bin.34

Por ejemplo, si la Alarma de Disparo que se activó es M11-PT1801, CLIPS la detecta por medio

de la siguiente regla que se encuentra en el archivo PROGRAMAGLOBAL.CLP:

Donde se observa que, al dispararse la regla debido a la presencia de la alarma (M11-PT1801)

se hace el llamado del archivo ALARMAM11-PT1801.CLP, el cual lleva el nombre de la Alarma

de Disparo, donde se encuentran las primeras reglas para el análisis de las causas de falla.

En CLIPS, los archivos tienen un numero máximo de renglones de código permitido, por lo

tanto, en algunos casos es necesario hacer llamados, desde el archivo con el nombre de la

Alarma de Disparo, a otros archivos de código para que continúen con un proceso determinado.

Estos “archivos de continuación” llevan el nombre del Árbol de Conocimiento al que se asocia la

Alarma de Disparo. Ejemplo: Transmisoresdecampo.CLP y TransmisoresdecampoPARTE2.CLP,

los cuales se nombran de esta manera porque están asociados al árbol “Transmisores de

campo.”35

31 Para más información sobre los nombres de los archivos utilizados en la programación de CLIPS, remítase a la sección 3.3 ó 6.1 del Manual Técnico de Usuario. 32 Ver Figura 5, cuadro azul oscuro. 33 PROGRAMAGLOBAL.CLP se encuentra en C:/EJERVG. 34 Ver Figura 5, cuadro naranja. 35 Ver figura Figura 5, cuadros azul claro.

;*** ARBOL DE TRANSMISORES DE CAMPO: (defrule transmisores ; Se define una regla (declare (salience 20)) ; Se define la prioridad ?a4 <-(M11-PT1801) ;Alarma de disparo => (assert (RESULATADOS(HIPOTESIS"(Transmisores): ALARMA M11-PT1801 . Falla en Transmisores de campo "))) (assert (alarma M11-PT1801)) (batch c:/EJERVG/ALARMAM11-PT1801.CLP) ;Se carga el archivo ALARMAM11-PT1801.CLP ubicado en C:\EJERVG (retract ?a4))

Page 26: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

25

Por ejemplo, dentro del código del archivo ALARMAM11-PT1801.CLP se hace el llamado a los

archivos necesarios para proseguir el análisis como se muestra a continuación: (solo si se

supera el número de líneas permitidas de código.)

Como se puede observar, al final del código del archivo ALARMAM11-PT1801.CLP se cargan los

archivos Transmisoresdecampo.CLP y TransmisoresdecampoPARTE2.CLP cuyos nombres hacen

referencia a los Árboles de Estudio asociados con la Alarma de Disparo activada y contienen las

reglas restantes para poder realizar el análisis de causas de falla.

A continuación se presenta la estructura de programación utilizada en CLIPS para desarrollar el

SISTEMA EXPERTO EoS.

;*********A R B O L: TRANSMISORES DE CAMPO ****************** (defglobal ?*var* = 1) ;Se define como global una variable var . . . ;**PREGUNTAS si alarma de transmisores de campo ************* (defrule alarma-transmisores ;Se declara una regla (declare (salience 20)) ;Se define prioridad de la regla ?e1 <- (alarma M11-PT1801) ;Alarma principal de disparo => ... (batch c:/EJERVG/Transmisoresdecampo.CLP) (batch c:/EJERVG/TransmisoresdecampoPARTE2.CLP) ;se carga TransmisoresdecampoPARTE2 el cual es la continuación de Transmisoresdecampo (run)

Page 27: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

26

Figura 5.Estructura de programación de CLIPS.

En cada uno de los archivos denominados con el tag de la Alarma de Disparo, o el nombre del

Árbol de Conocimiento asociado, se encuentra el código que permite al SISTEMA EXPERTO EoS

encontrar las causas de falla, es decir es allí donde se realiza verdaderamente el Proceso de

Inferencia.

Las conclusiones intermedias generadas durante la ejecución del programa son hechos que se

originan a partir de la información suministrada por el usuario a través de sus respuestas al

sistema experto y de las Alarmas Secundarias que estén relacionadas con el análisis respectivo.

del usuario, cada una de ellas en un renglón diferente. Ver el código a continuación.

PROGRAMAGLOBAL.CLP: Contiene el código que permite determinar cuál Proceso de Inferencia debe seguir el SISTEMA EXPERTO EoS. Ejemplo: M12-L45FTT_ALM ó PP-L28FDB4 ó M11-LCLFDEN_ALM ó M11-L3NZFLT

Primarias.bin: Contiene el tag de la Alarma de Disparo en común entre ArchivoHyp.Txt y ListaPrimarias.Txt. Ejemplo: M11-LCLFDEN_ALM

M11-LCLFDEN_ALM.CLP: Contiene el código del Proceso de Inferencia asociado con esa Alarma de Disparo. M11-LCLFDEN_ALM está asociado con el Árbol de Conocimiento denominado Transmisores de campo

Transmisoresdecampo.CLP: Contiene la continuación del código del Proceso de Inferencia asociado con la Alarma de Disparo M11-LCLFDEN_ALM.

TransmisoresdecampoPARTE2.CLP: Contiene la continuación del código del Proceso de Inferencia asociado con la Alarma de Disparo M11-LCLFDEN_ALM.

Page 28: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

27

Para realizar preguntas al usuario y presentarlas en la interfaz gráfica, CLIPS crea un archivo

denominado Pta.bin, en el que almacena la pregunta que se va a formular y las posibles

respuestas por parte

CLIPS queda en espera de alguna respuesta para continuar con el proceso, mientras la interfaz

gráfica lee la información del archivo de texto y la muestra al usuario.

'Es el Timer que pregunta constantemente si hay alguna PREGUNTA en Pta.bin para mostrarsela al usuario, sino sigue preguntando. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick FLeerPta() 'Lee el archivo 'Pta.bin', y si No está vacío muestra la pregunta en el Form2.

Cuando el usuario selecciona la respuesta correcta el sistema la almacena en un archivo

denominado Rta.bin, como se indica a continuación.

Rta1.FEscribirArchivos("c:\ejervg\Rta.bin", BotonRta1.Text) 'Escriba en el archivo Rta.bin, el rotulo del botón, para que es usuario pueda responder

El archivo Rta.bin es leído por CLIPS de manera que le permite continuar con el proceso.

(open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Led Frontal en System Monitor Apagado ?"crlf"SI"crlf"NO"crlf) ;Se escriba la pregunta y sus posibles respuestas (close pregunta)

Page 29: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

28

El número de consultas realizadas por el SISTEMA EXPERTO EoS para verificar si existen

Alarmas Secundarias y el número de preguntas realizadas al usuario, depende de la magnitud y

complejidad del Árbol de Conocimiento relacionado con la Alarma de Disparo.

1.1.14. MÓDULO / FASE DE BASE DEL CONOCIMIENTO

En este módulo se almacenan las reglas que contienen el conocimiento especializado,

suministrado por la persona experta, las cuales se representan en Árboles de Conocimiento y se

escriben en lenguaje de programación directamente sobre Clips.

Los Árboles de Conocimiento son estructuras jerárquicas de datos conformadas por nodos que

almacenan conocimiento y ramas que conectan de manera lógica los nodos. Son

representaciones gráficas y lógicas del Proceso de Inferencia que realiza el SISTEMA EXPERTO

EoS con cada Alarma de Disparo para hallar las causas de la falla. Se utilizan para representar

el conocimiento de los expertos en fallas de BP Exploration Company Colombia Ltda. y Equipo

de Servicios Petroleros Ltda.

Para ello, tienen en medio de su cuerpo preguntas, posibles respuestas y modos de actuación;

de acuerdo con el análisis y estado de los equipos relacionados con los turbocompresores. Estas

preguntas se realizan en medio de la ejecución del programa usando la interfaz gráfica y son un

insumo para llegar a las posibles causas de fallas.

... do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*aux2* (read respuesta)) ;Asigna a aux2 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*aux2* EOF) ;Si no se encontró respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperándola else (remove "c:/EJERVG/Rta.bin") ;Si encontró respuesta tómela como nuevo hecho (monitor *aux2*: donde aux2=respuesta usuario = (SI/NO))y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) ...

Page 30: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

29

Los Árboles de Conocimiento utilizados en el desarrollo del SISTEMA EXPERTO EoS se

encuentran en el Anexo D de este documento.

Figura 6 Fragmento de un Árbol de Conocimiento utilizado en la elaboración del SISTEMA EXPERTO EoS.

Los especialistas en el tema fueron los responsables de suministrar la información para la

creación de los Árboles de Conocimiento de manera que tuvieran relaciones bien definidas,

explicadas y con validez.

Las reglas que conforman la base del conocimiento se expresan en un pseudo código

equivalente al formato SI…ENTONCES (IF…THEN.)

A continuación se muestra un ejemplo de una regla usando el tag de la alarma utilizada en el

programa:

REGLA: Alta-temperatura

SI (IF)…Se presenta alarma secundaria (Tag: M12-L26BA1H) de alta temperatura

Page 31: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

30

ENTONCES (THEN)…Escriba como antecedente en el archivo correspondiente:

Presencia de alta temperatura

El código que corresponde a la regla anterior es:

Por defecto, las reglas en CLIPS tienen la misma prioridad, por lo cual en algunos casos es

necesario definir su prioridad a medida que se elaboran en la Base de Conocimiento, para

decidir cuál regla disparar y evitar conflictos debido a activaciones simultáneas de reglas con

igual prioridad, cuando alguna regla es más relevante que otra. Para ello, se usa la instrucción

Salience en CLIPS, como se muestra a continuación.

Las reglas se elaboraron siguiendo los Árboles de Conocimiento detalladamente y teniendo en

cuenta los diversos casos de relaciones entre reglas que se pueden presentar en cada análisis

en particular.

1.1.15. MÓDULO / FASE DE MECANISMO DE INFERENCIA

Es el programa que controla el proceso de razonamiento que sigue el sistema experto,

recorriendo la Base del Conocimiento y haciendo uso de los datos suministrados por la Base de

Hechos para alcanzar una solución, es decir, hace inferencias al decidir cuales reglas satisfacen

los hechos para dar el diagnóstico de la causa de la falla. El lenguaje que se utiliza para el

(defrule alta-temperatura ;Regla para (MXX-L26BA1H)

?f31 <- (M11-L26BA1H) ;Si alarma de alta temperatura

=>

(assert (RESULTADO(HIPOTESIS(Detección de fuego):ALARMA M11-L26BA1H. Alta Temperatura"))) ; Coloque en archivo correspondiente a los antecedentes: disparo de la alarma M11-L26BA1H y el antecedente de alta temperatura

(retract ?f31 ))

(defrule salir

(declare (salience 30)) ;Prioridad 30 (mayor que las reglas que por defecto tienen prioridad 0)

?salir <-(SALIR) ;Si Usuario habilita la opción SALIR

=>

(retract ?salir) ; Se elimina el hecho salir de la base de hechos

Page 32: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

31

desarrollo del sistema experto es CLIPS ya que cumple con las características necesarias para

poder implementar el SISTEMA EXPERTO EoS.

El mecanismo de inferencia opera en ciclos, es decir, ejecuta repetitivamente un grupo de

tareas hasta que ciertos criterios causen el cese de la ejecución. Las tareas de un ciclo típico

para CLIPS, son las mismas que se usan en el SISTEMA EXPERTO EoS:

Resolución de conflicto: Si hay activaciones de reglas, entonces selecciona aquella

con la prioridad más alta.

Acto: Ejecuta en forma secuencial las acciones de las consecuencias de la activación de

la regla seleccionada. Se elimina de la Agenda36 las reglas activadas que se acaban de

disparar. Aquellas activaciones que cambian la Base de Hechos tienen un efecto

inmediato en este ciclo.

Correspondencia: Actualiza la Agenda revisando si las condiciones de cualquier regla

están satisfechas, de ser así, activa la regla correspondiente y elimina las acciones de

las reglas que no se satisfacen.

Aceptar las órdenes de usuario: El sistema experto interactúa con el usuario para

que éste le suministre la información requerida en caso de que sea necesario para

continuar con el ciclo de ejecución. En caso de que el ciclo haya finalizado no habrá

necesidad de introducir información en el sistema experto por lo cual la interfaz con el

usuario muestra los resultados obtenidos.

De acuerdo con las reglas activadas, CLIPS va almacenando en Deftemplates37 la información

referente a las Causas y Recomendaciones. Al final del proceso, esta información se envía a

archivos binarios denominados Causas.bin y Recomendaciones.bin, respectivamente, como se

muestra a continuación

36 Agenda: Está compuesta por la colección de las reglas activadas, las cuales tendrán prioridades asignadas para que se disparen de acuerdo su prioridad. 37 Deftemplates: Son arreglos donde se almacena información, como matrices de datos. Para mas información remítase a los manuales de CLIPS que se adjuntan en el CD de instalación del SISTEMA EXPERTO EoS: Guía del Usuario, Guía Básica de programación y Guía Avanzada de Programación.

Page 33: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

32

Para mostrar estos resultados al usuario, la interfaz gráfica lee la información que se encuentra

en los archivos de texto y la presenta al usuario en su ventana principal. Ver código a

continuación.

Durante el Proceso de Inferencia, el SISTEMA EXPERTO EoS almacena información y al

terminar genera automáticamente un REPORTE en formato texto (*.Txt) en el cual se detalla

toda la información relacionada con la Alarma de Disparo y el proceso ejecutado.

El Reporte EoS se almacena en la carpeta Reportes SisExpEOS y se compone de las siguientes

partes:38

Encabezado.

Nombre de la persona que realizo el proceso.

Tags de las alarmas relacionadas con el proceso realizado por el SISTEMA EXPERTO

EoS.

Información correspondiente a la Alarma de Disparo del proceso.

38 Para más información remítase a la sección 14 del MANUAL DE USUARIO.

… (save-facts c:/EJERVG/Causas.bin local CAUSA) ;Guarda lo que está en el Deftemplate CAUSA en el archivo Causas.bin (save-facts c:/EJERVG/Recomendaciones.bin local RECOMENDACION) Guarda lo que está en el Deftemplate RECOMENDACION en el archivo Recomendaciones.bin …

… SalidaFLeerArchivosCausas = LECausas.FLeerArchivos("c:\ejervg\Causas.txt") 'Lee Causas.Txt... … SalidaFLeerArchivosRecomendaciones = LERecomendaciones.FLeerArchivos("c:\ejervg\Recomendaciones.bin") 'Lee Proceso.bin... …

'Se AGRUPA en una sola variable toda la información importante para el Reporte Eos Public Function FAgruparTodaInf() As String …

Page 34: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

33

Causas generadas por el SISTEMA EXPERTO EoS.

Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla.

Recomendaciones correctivas sugeridas por el SISTEMA EXPERTO EoS.

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas del

usuario.

Observaciones adicionales al proceso, proporcionadas por el usuario.

Información detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS.

Nombre del archivo que el usuario utilizó para realizar el análisis del evento.

1.1.16. MÓDULO / FASE DE EXPLICACIÓN

El sistema muestra al usuario el razonamiento seguido en el Proceso de Inferencia; de forma

que si se quiere saber cómo se llegó a una conclusión, el módulo presenta la secuencia

completa del procedimiento del análisis. Esta posibilidad de explicación es indispensable cuando

se requiere tomar decisiones basados en el consejo y la experiencia del sistema experto y

cuando los usuarios requieren convertirse en especialistas de la materia.

CLIPS permite almacenar secuencialmente en Deftemplates,39 las conclusiones intermedias que

se generan en el proceso de inferencia para después mostrarlas al usuario.

Cada regla del SISTEMA EXPERTO EoS está diseñada para guardar la información de

antecedentes, causas y recomendaciones específicas en diferentes Deftemplates. A

continuación se puede observar un ejemplo del caso de una regla que guarda las causas, los

antecedentes y las recomendaciones, para que al finalizar el proceso se muestran al usuario por

medio de la interfaz gráfica.

39 Deftemplates: Son arreglos donde se almacena información, como matrices de datos. Para mas información remítase a los manuales de CLIPS que se adjuntan en el CD de instalación del SISTEMA EXPERTO EoS: Guía del Usuario, Guía Básica de programación y Guía Avanzada de Programación

Page 35: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

34

Código correspondiente a la regla descrita anteriormente:

Al final del proceso, el sistema guarda la información que se encuentra en los Deftemplates en

el archivo Proceso.bin que se encuentra en C:\EJERVG.

Visual Basic.NET lee la información del archivo Proceso.bin y la imprime en pantalla para

mostrársela al usuario, como se muestra a continuación.

… (save-facts c:/EJERVG/Proceso.bin local CAUSAS) …

... SalidaFLeerArchivosProceso = LEProceso.FLeerArchivos("c:\ejervg\Proceso.bin") 'Lee Proceso.bin... …

REGLA: Detector-incremento-termico

SI (IF)… Si Con detector desconectado resistencia da diferente a abierto

ENTONCES (THEN)… Registre: CAUSA INMEDIATA: Falla en detectores de incremento

térmico compartimiento acople.

RESULTADO HIPOTESIS: Falla en lazos de detección compartimiento acople. Resistencia

diferente a abierto con detector desconectado.

RECOMENDACIÓN CORRECTIVA: Falla en detectores de incremento térmico ->

Reemplazar los dos sensores de incremento térmico con baja impedancia

… (defrule detector-incremento-termico ;Regla para (rtadetector SI) ?f2 <-(rtadetector SI) ;Si Con detector desconectado resistencia da diferente a abierto => (assert (CAUSA(INMEDIATA "(Detección de fuego):FALLA EN DETECTORES DE INCREMENTO TERMICO COMPARTIMENTO ACOPLE"))) (assert (RESULTADO(HIPOTESIS "(Detección de fuego): Falla en lazos de detección compartimento acople"))) (assert (RESULTADO (HIPOTESIS "(Detección de fuego): Resistencia diferente a abierto con detector desconectado"))) (assert (RECOMENDACION(CORRECTIVA "(Detección de fuego): Falla en detectores de incremento térmico -> Reemplazar los dos sensores de incremento térmico con baja impedancia"))) (retract ?f2)) …

Page 36: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

35

1.1.17. MÓDULO / FASE DE INTERFAZ GRÁFICA

La Interfaz Gráfica permite la comunicación entre el usuario y el sistema experto facilitando el

intercambio de información entre ambas partes. Está desarrollada en Visual Basic.NET 6.0

puesto que es un lenguaje de programación orientado a objetos, con herramientas de diseño

que permite una buena visualización para el usuario.

Figura 7: Pantalla principal del SISTEMA EXPERTO EoS.

Es la encargada de mostrar los resultados finales e intermedios del análisis de causas de falla,

la lista correspondiente a las hipótesis verificables intermedias que hicieron posible llegar a la

conclusión correspondiente, y una lista de posibles recomendaciones específicas en caso de que

existan.

Permite al usuario ingresar las respuestas correspondientes a las preguntas que el

sistema plantea a través del proceso de análisis.40

El ambiente de trabajo del programa se encuentra en español.

Permite simular eventos de falla, para evaluar los resultados de un conjunto de posibles

alarmas.41

40 Para más información remítase a la sección 3.4 del Manual Técnico de Usuario o a la sección 13 del Manual de Usuario. 41 Para más información remítase a la sección 3.7 del Manual Técnico de Usuario o a la sección 7 del Manual de Usuario.

Page 37: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

36

En algunos casos no presenta al usuario las palabras con tildes, para evitar errores de

caligrafía.

Para una correcta visualización, se debe usar una resolución de pantalla de 768 píxeles

máximo.

Permite seleccionar un archivo de texto, para realizar Análisis de Eventos42.

Muestra los resultados intermedios y finales del análisis de causas de la falla, es decir:43

Posibles causas que generaron la falla: Causas EoS.

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS.

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS.

Información referente a la Alarma de Disparo: Información de la Alarma de Disparo.

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por

el usuario: Historial de preguntas y respuestas.

42 Analisis de Eventos: Remítase a la sección 13 del Manual de Usuario. 43 Para más información remítase a las secciones 6, 8, 9, 10 y 11 del Manual de Usuario

Page 38: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

37

ANÁLISIS DE RESULTADOS

Para realizar el análisis de resultados se evaluaron los siguientes aspectos del SISTEMA

EXPERTO EoS:

Alcance del Sistema Experto EoS.

Herramientas de software utilizadas.

Desempeño del programa desarrollado en CLIPS.

Funcionamiento de la interfaz gráfica, elaborada en Visual Basic.NET.

Resultados de la comparación del proceso realizado antes y realizado ahora.

Factibilidad de la aplicación de los conceptos de Gestión de Fallas en el SISTEMA

EXPERTO EoS.

Análisis de costos.

1.1.18. ALCANCE DEL SISTEMA EXPERTO EOS

Para determinar el alcance del proyecto se realizó un estudio del número de alarmas que se

reportaban en el Control Room de Cusiana y a las cuales era necesario realizarles un análisis

minucioso para hallar las causas de la falla. De esto, se concluyó que el número de alarmas de

todos los equipos era bastante elevado44 para que todas ellas abarcaran el sistema experto que

se desarrollaría como trabajo de grado de modo que se definió enfocar el desarrollo del

prototipo del sistema experto en el equipo que reportara mayores perdidas económicas y que

generará el efecto más traumático dentro de la planta cuando se detenía su funcionamiento.

Así, se decidió limitar el trabajo a los turbocompresores y las alarmas que reportaban

directamente la parada del equipo45 y por lo tanto de la producción.

El alcance que se determinó al proyecto, cubre el estudio y desarrollo de seis (6) Árboles de

Conocimiento diferentes para turbinas que tienen actualmente en Cusiana, lo cual equivale a

cuarenta y ocho (48) tags de alarmas diferentes. Estos casos son:

Deteccion de fuego:

44 El número de tags de alarmas diferentes es aproximadamente 100. 45 Las alarmas que reportan directamente la parada de un turbocompresor son las que denominamos Alarmas de Disparo.

Page 39: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

38

M12-L45FTT:_ALM: Turbine Enclosure Fire Turbina de baja, Tren 1 (MP1) M13-L45FTT:_ALM Turbine Enclosure Fire Turbina de alta, Tren 1 (HP1) M14-L45FTT:_ALM Turbine Enclosure Fire Turbina de baja, Tren 2 (MP2) M15-L45FTT:_ALM Turbine Enclosure Fire Turbina de alta, Tren 2 (HP2) M16-L45FTT:_ALM Turbine Enclosure Fire Turbina de baja, Tren 3 (MP3) M17-L45FTT:_ALM Turbine Enclosure Fire Turbina de alta, Tren 3 (HP3) Vibracion: M12-L39VCT_ALM: Process Comp Vibration Turbina de baja, Tren 1 (MP1) M13-L39VCT_ALM: Process Comp Vibration Turbina de alta, Tren 1 (HP1) M14-L39VCT_ALM: Process Comp Vibration Turbina de baja, Tren 2 (MP2) M15-L39VCT_ALM: Process Comp Vibration Turbina de alta, Tren 2 (HP2) M16-L39VCT_ALM: Process Comp Vibration Turbina de baja, Tren 3 (MP3) M17-L39VCT_ALM: Process Comp Vibration Turbina de alta, Tren 3 (HP3) IGV o Nozzles: M12-L3NZFLT: Nozzle Control Servo Turbina de baja, Tren 1 (MP1) M13-L3NZFLT: Nozzle Control Servo Turbina de alta, Tren 1 (HP1) M14-L3NZFLT: Nozzle Control Servo Turbina de baja, Tren 2 (MP2) M15-L3NZFLT: Nozzle Control Servo Turbina de alta, Tren 2 (HP2) M16-L3NZFLT: Nozzle Control Servo Turbina de baja, Tren 3 (MP3) M17-L3NZFLT: Nozzle Control Servo Turbina de alta, Tren 3 (HP3) Transmisores de Campo: M12-PT2606: T1 MP-AS Suction Press M12-PT2609: T1 MP-AS Disch Press M12-TT2602: T1 MP-AS Disch Temp M13-PT2704: T1 HP-AS Suction Press M13-PT2707: T1 HP-AS Disch Press M13-TT2702: T1 HP-AS Disch Temp M14-PT2656: T2 MP-AS Suction Press M14-PT2659: T2 MP-AS Disch Press M14-TT2652: T2 MP-AS Disch Temp M15-PT2754: T2 HP-AS Disch Temp M15-PT2757: T2 HP-AS Disch Press M15-TT2752: T2 HP-AS Disch Temp M16-PT2906: T3 MP-AS Suction Press M16-PT2909: T3 MP-AS Disch Press M16-TT2902: T3 MP-AS Disch Temp M17-PT3004: T3 HP-AS Disch Temp M17-PT3007: T3 HP-AS Disch Press M17-TT3002: T3 HP-AS Disch Temp Bleed Valve M12-L86CBT_ALM: Comp Bleed Val Pos Turbina de baja, Tren 1 (MP1) M13-L86CBT_ALM: Comp Bleed Val Pos Turbina de alta, Tren 1 (HP1) M14-L86CBT_ALM: Comp Bleed Val Pos Turbina de baja, Tren 2 (MP2) M15-L86CBT_ALM: Comp Bleed Val Pos Turbina de alta, Tren 2 (HP2)

Page 40: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

39

M16-L86CBT_ALM: Comp Bleed Val Pos Turbina de baja, Tren 3 (MP3) M17-L86CBT_ALM: Comp Bleed Val Pos Turbina de alta, Tren 3 (HP3) Clutch: M12-LCLFEN_ALM: Start Clutch Engage Turbina de baja, Tren 1 (MP1) M13-LCLFEN_ALM: Start Clutch Engage Turbina de alta, Tren 1 (HP1) M14-LCLFEN_ALM: Start Clutch Engage Turbina de baja, Tren 2 (MP2) M15-LCLFEN_ALM: Start Clutch Engage Turbina de alta, Tren 2 (HP2) M16-LCLFEN_ALM: Start Clutch Engage Turbina de baja, Tren 3 (MP3) M17-LCLFEN_ALM: Start Clutch Engage Turbina de alta, Tren 3 (HP3)

1.1.19. HERRAMIENTAS DE SOFTWARE UTILIZADAS

La selección de las herramientas de software que se utilizaron para el desarrollo del SISTEMA

EXPERTO EoS, se basó en tres factores:

La funcionalidad del programa y las utilidades para el buen desarrollo del sistema.

El costo de las licencias de los programas.

Las preferencias de software por parte de BP Exploration Company Colombia Ltda. y

Equipo de Servicios Petroleros Ltda.

CLIPS cumple con los requerimientos y funcionalidades que se requerían para desarrollar el

SISTEMA EXPERTO EoS puesto que cuenta con los elementos necesarios que permitían el

desarrollo y programación del prototipo del sistema experto46. Adicionalmente, no existían

preferencias de ninguna clase por parte de BP Exploration Company Colombia Ltda ni Equipo de

Servicios Petroleros Ltda en cuanto a utilizar esta herramienta de software. Referente a costos,

CLIPS es una herramienta que se encuentra en Internet y no tiene valor económico para fines

comerciales. El contrato de licencia se encuentra en el ANEXO E de este documento.

Visual Basic.NET permite el desarrollo de interfaces gráficas con un número elevado de

herramientas y opciones para el programador y el usuario. Para la selección de la herramienta

de software que sirviera como interfaz gráfica del SISTEMA EXPERTO EoS, fue necesario tener

en cuenta los lenguajes de programación que utilizan los ingenieros del Control Room de

Cusiana cuando realizan desarrollos propios. En su mayoría los desarrollos se han realizado en

46 Para más información sobre las características de CLIPS, remítase al Anexo C de este documento.

Page 41: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

40

Visual Basic 6.0 sin embargo están migrando e incursionado en Visual Basic.NET 6.047, de

manera que era recomendable utilizar esta herramienta de software para el desarrollo de la

interfaz gráfica. En cuanto a costos, no es necesario adquirir la licencia del programa, puesto

que el SISTEMA EXPERTO EoS es un ejecutable.

1.1.20. DESEMPEÑO DEL PROGRAMA DESARROLLADO EN CLIPS

Durante la construcción del SISTEMA EXPERTO EoS se realizaron pruebas de trabajo para

observar el funcionamiento y desarrollo evolutivo del sistema a medida que se introducían las

reglas, de manera que se pudiera evaluar su comportamiento y hacer los ajustes adecuados.

En principio dichas pruebas eran simulaciones manuales de las Alarmas de Disparo que se

pudieran presentar en campo, es decir, se introducían manualmente las alarmas al sistema y se

respondían las diferentes preguntas de acuerdo con los datos conocidos de los procesos

asociados a los Árboles de Conocimiento, simulando así el comportamiento real del proceso

para hallar las causas de falla en los turbocompresores.

Los resultados de las simulaciones mostraron que el SISTEMA EXPERTO EoS cumplía los

requerimientos necesarios para instalarse en el CPF48 de Cusiana, puesto que hacia

corresponder las Alarmas de Disparo, las Alarmas Secundarias y las hipótesis a las causas y

recomendaciones asociadas, según los Árboles de Conocimiento.

Después de confirmar los resultados de las simulaciones y de tener un número adecuado de

reglas en la Base de Conocimiento, se efectuaron las primeras pruebas en campo. El 7 de

Agosto de 2004, se realizó la unión del Sistema de Captura y Filtraje con el SISTEMA EXPERTO

EoS y se realizaron las pruebas correspondientes, con el fin de evaluar la interacción de las

herramientas y la respuesta del sistema a alarmas reales.

El 3 de Septiembre de 2004, se instaló el SISTEMA EXPERTO EOS en Cusiana, de manera que

se pudiera probar, por espacio de 2 meses aproximadamente, la respuesta de la herramienta al

uso continuo de los usuarios y a las alarmas reales que se reportan en el Control Room de

Cusiana. El resultado de ello, fue que el SISTEMA EXPERTO EoS se comportó de manera

estable, durante el tiempo de prueba sin presentar complicaciones de rendimiento, y reaccionó

47 Algunos programas elaborados por ellos ya se encuentran desarrollados en Visual Basic.NET 6.0, entre ellos, el Sistema de Captura y Filtraje. 48 CPF: Central Production Facilities

Page 42: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

41

de manera acorde a las Alarmas de Disparo que se simularon para generar eventos y probar la

correspondencia de las causas y recomendaciones, con la entrada.

En el Anexo F, se encuentra la carta que se le presentó al Ingeniero de Control en Cusiana en

la que se hace entrega del SISTEMA EXPERTO EoS para que permaneciera en periodo de

prueba en el Control Room.

A medida que las pruebas se realizaban, se hizo una verificación de las reglas que se extrajeron

de los Árboles de Conocimiento y se confirmó la validez de la información con los ingenieros

expertos. El 4 de Octubre de 2004 se realizó la última prueba en campo del sistema, en la que

se simulaba una alarma cuyo tag era M17-TESTLEVEL, de manera que se disparara el proceso y

se verificara su correcto funcionamiento. En el Anexo G se encuentra el Reporte EoS

relacionado con esta prueba.

En esa fecha, se presentó la versión final del SISTEMA EXPERTO EoS, la cual fue aceptada a

satisfacción. En el Anexo F, se encuentra la carta que el Ingeniero de Control de Cusiana

envió, manifestando la aprobación del SISTEMA EXPERTO EoS, en cuanto que cumplía con los

propósitos trazados desde el inicio del proyecto.

El 24 de Octubre de 2004 se realizó la entrega formal del SISTEMA EXPERTO EoS a ingenieros

de BP Exploration Company Colombia Ltda y Equipo de Servicios Petroleros Ltda de los pozos

de Cusiana y Cupiagua.

1.1.21. FUNCIONAMIENTO DE LA INTERFAZ GRÁFICA ELABORADA EN VISUAL BASIC.NET

Durante el tiempo de desarrollo del SISTEMA EXPERTO EoS y de acuerdo con los avances

presentados en la interfaz gráfica, los ingenieros de control de Cusiana manifestaron sus

opiniones y sugerencias en cuanto a la presentación y herramientas que se debían incluir y

mostrar al usuario en la interfaz gráfica.

Atendiendo a sus solicitudes, se desarrolló una interfaz gráfica que estuviera acoplada con el

Sistema de Captura y Filtraje, previamente desarrollado por los Ingenieros de Control de

Cusiana, de manera que ambos programas se presentarán al usuario por medio un menú de

selección. Adicionalmente, se presentó la información relacionada con el proceso realizado por

el SISTEMA EXPERTO EoS de manera centralizada en una sola pantalla, con el fin de que el

usuario pudiera acceder a la información de forma rápida y sencilla.

Page 43: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

42

Durante el tiempo que el SISTEMA EXPERTO EoS estuvo en prueba en el Control Room de

Cusiana, es decir, desde el 3 de Septiembre hasta el 17 de Octubre de 2004, se realizaron

pequeños ajustes de forma, en cuanto a la presentación gráfica de la interfaz. El 4 de Octubre

de 2004 se manifestó la aprobación del proyecto y se confirmó que el SISTEMA EXPERTO EoS

cumplía con los propósitos trazados desde el inicio.

1.1.22. RESULTADOS DE LA COMPARACIÓN DEL PROCESO REALIZADO ANTES Y REALIZADO AHORA

El proceso de identificación de fallas que se realiza sin el uso del SISTEMA EXPERTO EoS no

tiene un modelo específico de los pasos a seguir, porque depende de la naturaleza y

características de la falla específica, sin embargo se puede resumir en cuatro (4) pasos o

actividades generales:

1. Los operadores filtran y consiguen la información que pueda servir para empezar a

hacer el análisis adecuado y obtener las causas de la falla. Esta información

generalmente es la que se encuentra en:

a. El Sistema de Captura y Filtraje donde están las alarmas que se registraron.

b. Un segundo registro de alarmas que se obtiene directamente de algunas

máquinas.

c. Un registro de tendencias de diferentes variables.

2. Un grupo de expertos realiza el análisis correspondiente con la información que se tiene

de acuerdo con las características de la falla, ya que puede ser una falla evidente o no

evidente. En el caso de ser una falla no evidente se proceden a formular hipótesis entre

las personas que hacen el análisis que generalmente son los ingenieros de control,

operadores del cuarto de control e ingenieros del área implicada.

3. El grupo de expertos que hace el análisis verifica las hipótesis anteriormente

formuladas por medio de diferentes actividades como lo son pruebas en la máquina,

búsqueda de información en manuales y planos, experimentos específicos, etc hasta

obtener conclusiones al respecto de la falla.

4. Si son encontradas las causas de la falla se procede a su corrección y a poner en

funcionamiento el turbocompresor lo antes posible. Finalizado el proceso de análisis, el

Page 44: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

43

operador del cuarto de control construye un reporte de los hechos en aproximadamente

un (1) día y lo rota entre las diferentes personas que participaron en el proceso de

hallar las causas de la falla, para que estos lo complementen o corrijan. Después de

aproximadamente cinco (5) días se obtiene el reporte final del análisis de causas de

falla.

Se puede observar que en el paso 2 pueden generarse un gran número de hipótesis ya que

cada falla puede llegar a ser nueva para los expertos que tratan de encontrar sus causas,

haciendo que se gaste más tiempo, recursos y esfuerzos para obtener un resultado eficiente.

Además de esto, finalizado un análisis se debe hacer un reporte con el mayor número de

detalles del proceso que se realizó para encontrar las causas de la falla, lo que genera errores

humanos puesto que en su momento la prioridad era encontrar la falla rápidamente,

pudiéndose olvidar detalles del análisis que no se reportaron.

Se debe tener en cuenta que los expertos que realizan el proceso de análisis de las causas de

fallas rotan periódicamente49, y un inconveniente palpable del proceso actual es que las

lecciones aprendidas por un grupo de expertos que participaron en el análisis de una falla

específica no son aprendidas por el otro grupo, y si sucede una falla de las mismas

características en presencia del grupo que no la analizó anteriormente se vuelve a incurrir en

ella.

Con el uso del SISTEMA EXPERTO EoS el proceso de identificación de fallas es más rápido y

proporciona algunas facilidades antes no obtenidas:

1. El SISTEMA EXPERTO EoS dispara un proceso de análisis inmediatamente detecta una

Alarma de Disparo la cual indica una falla en un turbocompresor, siempre y cuando

tenga información de la misma en su base de conocimiento. Al disparar un proceso

procede a hacer preguntas al operador y/o ingeniero proporcionando una guía de

diferentes actividades para encontrar las causas de la falla. Al mismo tiempo en su

Modo de Captura y Filtraje registra las alarmas relacionadas con los turbocompresores,

sesenta (60) minutos antes y un (1) minuto después50 ocurrida la Alarma de Disparo y

las suministra ya filtradas al usuario. Los demás registros que el operador necesite de

49 El personal de BP Exploration Company Colombia Ltda, trabaja por turnos de 15 días aproximadamente. Existen dos personas que tienen el mismo cargo y cumplen las mismas funciones y actividades en tiempos diferentes. 50 Este tiempo de captura de alarmas es suficiente para los análisis de fallas. Este criterio fue suministrado por los Ingenieros de Control de Cusiana.

Page 45: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

44

acuerdo con el tipo de falla, se obtienen directamente de las máquinas y en registros

de tendencias de diferentes variables.

2. Un grupo de expertos realiza el análisis correspondiente con la información que se tiene

de acuerdo con las características de la falla, ayudado por la guía del proceso a seguir

que proporciona el SISTEMA EXPERTO EoS, para encontrar las causas de la falla por

medio de la formulación de hipótesis que éste genera de acuerdo con las conclusiones

intermedias que obtiene a partir de las respuestas que el experto introduce al contestar

las preguntas formuladas por el sistema.

3. El grupo de expertos que hace el análisis comprueba las hipótesis de acuerdo con las

verificaciones secuenciales que necesita el SISTEMA EXPERTO EoS para proseguir con

el proceso de inferencia y hallar las causas de la falla. A medida que se hace una nueva

verificación sugerida por el SISTEMA EXPERTO EoS se va respondiendo a preguntas

formuladas por el sistema hasta que obtienen conclusiones finales y se diagnostican las

causas de la falla. Al mismo tiempo el sistema almacena las preguntas y respuestas

introducidas en la medida que se generan.

4. Al ser encontradas las causas de la falla se procede a su corrección y a poner en

funcionamiento el turbocompresor lo antes posible. Al terminar el proceso de análisis

del SISTEMA EXPERTO EoS, éste genera un reporte con las causas inmediatas, los

resultados de las hipótesis, las recomendaciones correctivas, las alarmas filtradas que

intervinieron en el análisis, los hechos registrados de acuerdo con las respuestas

introducidas por el usuario según las verificaciones realizadas, las conclusiones

intermedias que se generaron, y las observaciones adicionales que el usuario introdujo.

El Reporte final lo elabora el SISTEMA EXPERTO EoS inmediatamente finaliza un

proceso.

De acuerdo con esto, el uso del SISTEMA EXPERTO EoS proporciona una ayuda para encontrar

las causas de las fallas basado en el conocimiento del ingeniero experto, el cual puede no

encontrarse en el momento de la falla, de manera que facilita el análisis de casos históricos que

pueden volver a ocurrir pero se desconocen u olvidaron. Entre tanto, cada vez que el sistema

obtiene conclusiones intermedias genera ideas que guían a los operadores en el proceso de

análisis, puesto que deben responder secuencialmente las preguntas formuladas por el

SISTEMA EXPERTO EoS para que se generen conclusiones y el sistema las vaya reportando con

el fin de que al final del proceso de análisis se obtenga instantáneamente un reporte detallado

del proceso que se siguió para hallar las causas de la falla.

Page 46: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

45

1.1.23. FACTIBILIDAD DE LA APLICACIÓN DE LOS CONCEPTOS DE GESTIÓN DE FALLAS EN EL SISTEMA EXPERTO EOS

El SISTEMA EXPERTO EoS es un desarrollo de software que aplica conceptos de Gestión e

incluye funciones de Gestión de Fallas, las cuales se nombran a continuación51:

Lectura e interpretación de las alarmas relacionadas con los turbocompresores, de

manera que se realiza un monitoreo constante del estado y comportamiento de las

turbinas, las cuales son el recurso gestionado.

Análisis del estado y comportamiento de los factores relacionados con una falla

determinada, facilitando la obtención de datos para el proceso de Análisis de Causa

Raíz de Falla52, e indicándole al usuario los pasos del proceso realizado y los

antecedentes generados para poder hallar las causas de la falla.

Sugerencias asociadas con acciones y procedimientos a realizar en los componentes

relacionados con los turbocompresores. Proporciona recomendaciones correctivas

después de hacer los análisis adecuados cuando ocurre una falla.

Se compone de un conjunto de facilidades y herramientas que permiten la detección,

identificación y corrección de fallas relacionadas con los turbocompresores.

Para detectar e identificar las fallas que se presentan en los turbocompresores, el SISTEMA

EXPERTO EoS sigue un proceso de diagnóstico constituido por cuatro pasos que se repiten

hasta hallar la causa del problema, los cuales son los mismos que siguen los sistemas de

Gestión de Fallas: observación de síntomas, elaboración de hipótesis, verificación de hipótesis y

conclusiones.

1. Observación de síntomas: A partir de las Alarmas de Disparo y las Alarmas Secundarias que

recibe el Sistema de Captura y Filtraje, y de la información de las respuestas de los usuarios a

las preguntas de verificación de eventos, se recoge la mayor cantidad de información posible de

la falla, basándose en diferentes aspectos:

Clasificación de las alarmas dependiendo de la naturaleza de la falla.

51 Teoría deGestión y Gestión de Fallas: Para más información remítase al Anexo A de este documento. 52 RCFA: Análisis de Causa Raíz de Falla. Proceso específico y minucioso que utilizan en Equipo de Servicios Petroleros Ltda para hallas la causa raíz de las fallas que se presentan en los equipos de BP Exploration Company Colombia Ltda.

Page 47: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

46

Registro de antecedentes y pasos del proceso realizado, para conservar un reporte

histórico secuencial de los eventos y coleccionar datos de hechos correlacionados.

Reducción de la redundancia de hipótesis por medio de la identificación de relaciones

de hechos individuales.

Correlación de alarmas y de hechos, debido a que una falla puede generar diferentes

hechos y muchas alarmas en distintas partes del equipo distribuidas en tiempo y

espacio.

2. Elaboración de hipótesis: Las realiza la Base de Conocimiento del SISTEMA EXPERTO EoS,

puesto que ella contiene la experiencia y conocimientos del Usuario Experto. La elaboración de

las hipótesis durante la ejecución de un proceso se basa en:

Diagnóstico de causas de fallas por medio de análisis de Árboles de Conocimiento.

Interpretación y relación de los resultados intermedios durante la ejecución del análisis,

para determinar las causas de falla.

3. Verificación de hipótesis: La realiza el Motor de Inferencia del SISTEMA EXPERTO EoS,

cuando valida o descarta cada una de las reglas relacionadas con un proceso específico, de

manera que se pueda determinar si las hipótesis planteadas son falsas o verdaderas, y se

eliminen o validen para continuar con el proceso.

4. Conclusiones: Al finalizar un proceso, el SISTEMA EXPERTO EoS proporciona al usuario la

información referente a:

Las posibles causas de la falla

Los antecedentes de la falla, es decir el proceso e historial de las preguntas realizadas

por el sistema y las respuestas suministradas por el usuario.

Las posibles recomendaciones correctivas sugeridas al usuario para que tome las

medidas necesarias y decida qué acciones tomar para solucionar el problema.

Reporte del proceso de análisis de fallas.

Así, vemos que el SISTEMA EXPERTO EoS permite llevar a cabo las tareas correspondientes a la

Gestión de Fallas y permite cumplir con las metas trazadas, al facilitar un conjunto de

herramientas para diagnosticar las causas de las fallas en los turbocompresores de BP

Exploration Company Colombia Ltda.

Page 48: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

47

Una vez que una falla es detectada, la determinación de las causas debe preceder el proceso de

reparación, donde se utilizan estrategias reactivas y proactivas para el reestablecimiento del

servicio. Ya que el SISTEMA EXPERTO EoS proporciona posibles recomendaciones correctivas y

los antecedentes que generaron la falla, contribuye a la reparación rápida del recurso que falló.

De está forma se facilita que la solución de la falla sea eficiente y oportuna, disminuyendo

costos de trabajo, mano de obra, y disponibilidad del recurso averiado.

El SISTEMA EXPERTO EoS genera al final de cada proceso el Reporte Eos en el cual se

almacena toda la información relacionada con el proceso ejecutado, de manera que se crean

archivos que permiten llevar un histórico de los procesos, fallas y causas que se hayan

desarrollado, y se tengan datos verídicos y suficientes que permitan el análisis de medidas de

efectividad de Gestión de la Falla en términos de la interrupción del servicio y los costos de

reparación.

1.1.24. ANÁLISIS DE COSTOS

Los costos definidos en el anteproyecto, se incrementaron debido al aumento del tiempo

invertido en el desarrollo del proyecto. Una de las mayores dificultades, se presentó en la

traducción de la información adquirida de los expertos, al formato de reglas, de forma que

quedara en un lenguaje comprensible para el Motor de Inferencia. Dentro del proceso de

desarrollo de la herramienta, esta fue una de las actividades más interesantes y que exigió

mayor esfuerzo.

Inicialmente se estimaron 45 horas de trabajo con los expertos53, sin embargo el tiempo

invertido con ellos fue mayor y requirió más esfuerzo. El número real de horas de trabajo con

ellos fue aproximadamente de 100, de manera que el tiempo estimado en la adquisición del

conocimiento aumentó un 122% al que se tenía estimado.

A continuación se presenta un cuadro comparativo con los costos estimados y los costos reales

del proyecto:

53 Esta fue la información estimada en el anteproyecto que se presentó al Comité de Trabajo de Grado de la Pontificia Universidad Javeriana en diciembre se 2003.

Page 49: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

48

Costos personales Precio hora aproximado

Horas totales estimadas Costo total Estimado

Horas totales reales

Costo total Real

Director del proyecto54 50.000,00 92 4.600.000,00 92 4.600.000,00Asesores16 50.000,00 276 13.800.000,00 276 13.800.000,00

Autores 20.000,00 3.680 73.600.000,00 3680 73.600.000,00Total Costos Personales 92.000.000,00 92.000.000,00

Actividades y

elementos financiados por "BP Colombia

LTDA"

Costo por unidad aproximado

Número Unidades estimadas

Costo total estimado

Número Unidades

reales Costo Total Rea

1. HARDWARE Computador17 2.000.000,00 1 2.000.000,00 1 2.000.000,00

S. SOFTWARE Licencia del Shell a

utilizar18 0.000.000,00 1 10.000.000,00 1 10.000.000,002. VISITAS A CAMPO (CUSIANA)

Pasajes 199.500,00 12 2.394.000,00 12 2.394.000,00 Habitación Hotel 3

días 210.000,00 6 1.260.000,00 6 1.260.000,00 Alimentación 3 días 111.000,00 6 666.000,00 6 666.000,00 3. ENTREVISTAS CON ESPECIALISTAS Hora de entrevista 50.000,00 45 2.250.000,00 100 5.000.000,00

4. COSTOS ADICIONALES

Imprevistos 857.000,00 857.000,00 Total Costos Financiados por "BP Colombia LTDA" 9.427.000,00 12.177.000,00

Componentes por financiacion propia Costo estimado($) Costo real($)

Alquiler del computador con Windows y Microsoft Office (46 semanas)16 600.000,00 600.000,00

Impresiones 400.000,00 400.000,00 Resma de papel 10.000,00 10.000,00

Caja de disquetes 10.000,00 10.000,00 Discos compactos 10.000,00 10.000,00

Quemado de discos compactos 20.000,00 20.000,00 Servicios 400.000,00 400.000,00

Imprevistos (10%) 145.000,00 145.000,00

54 Estos recursos, incluidos en el pago de la matrícula, serán facilitados por el departamento de Electrónica de la Pontificia Universidad Javeriana. 55 En este computador se utilizó para la instalación del Sistema Experto EoS. 18 Se usará una aplicación de software libre.

Page 50: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

49

Total Costos Financiacion Propia 1.595.000,00

TOTAL DEL PROYECTO 105.772.000,00

Page 51: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

50

CONCLUSIONES

Fue posible la elaboración del prototipo de un sistema experto que diagnosticara las

causas de las fallas que se presentan en los turbocompresores de BP Exploration

Company Colombia Ltda.

Las herramientas de software utilizadas para el desarrollo del SISTEMA EXPERTO EoS

fueron las adecuadas y permitieron alcanzar los propósitos trazados, ya que las pruebas

realizadas en campo mostraron buenos resultados.

Se reconoció la importancia de utilizar una interfaz gráfica que muestre al usuario los

resultados del proceso de forma clara y precisa, y le permita interactuar con el

SISTEMA EXPERTO EoS de manera sencilla e intuitiva. Se vio apropiado, por parte de

los expertos y operadores de Cusiana, la manera como está desarrollada la interfaz

gráfica del SISTEMA EXPERTO EoS.

Las relaciones y correspondencias realizadas por el SISTEMA EXPERTO EoS fueron

acertadas en las pruebas y simulaciones realizadas, ya que se logró interpretar y

transcribir a formato de reglas el conocimiento de las personas expertas en el análisis

de causas de falla de los turbocompresores de BP Exploration Company Colombia Ltda.

La adquisición e interpretación del conocimiento del experto fue la fase más demorada,

dispendiosa y de mayor cuidado, puesto que la información no se encontraba

centralizada en cabeza de una persona, sino que eran varios los expertos que ayudaban

en la construcción del conocimiento y posteriormente se debía transmitir la información

a los desarrolladores del sistema.

Los reportes que genera el SISTEMA EXPERTO EoS proporcionan un seguimiento

detallado del proceso realizado por el sistema y permiten llevar un histórico de las

causas y fallas ocurridas, permitiendo tener la información completa para futuras

correcciones de problemas, sin embargo se logró centralizar esta información en los

Árboles de Conocimiento.

El SISTEMA EXPERTO EoS es un desarrollo de software que aplica conceptos de

Gestión e incluye funciones de Gestión de Fallas, mostrando que es viable la aplicación

de los conceptos de Gestión, definidos para empresas de telecomunicaciones, en

empresas petroleras como BP Exploration Company Colombia Ltda. El sistema sigue un

proceso de diagnóstico de fallas igual al que siguen los sistemas de Gestión de Fallas.

Page 52: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

51

El SISTEMA EXPERTO EoS permitirá realizar procesos posteriores de Gestión dentro de

la compañía, de manera que se pueda aumentar la productividad y disminuir los

tiempos de parada de producción.

El SISTEMA EXPERTO EoS se puede expandir para ser utilizado para hallar las causas a

un número mayor de fallas que se presenten en los turbocompresores de BP

Exploration Company Colombia Ltda, y a un número mayor y más diverso de equipos

adicionales de los turbocompresores.

El SISTEMA EXPERTO EoS permite a los usuarios expertos ampliar la información y

conocimiento que éste contiene, de manera que su aplicabilidad sea más amplia y

efectiva dentro de la planta de BP Exploration Company Colombia Ltda. Además, puede

ser la base y punto de partida de posteriores desarrollos que permitan a BP Exploration

Company Colombia Ltda. y Equipo de Servicios Petroleros Ltda optimizar procesos y

aumentar su producción.

Page 53: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

52

GLOSARIO

AGENDA: Donde se almacenan las reglas disparadas.

ALARMA DE DISPARO: Es la alarma que está directamente relacionada con la parada de un

turbocompresor y se encuentran en el Archivo de Entrada.

ALARMAS SECUNDARIAS: Son las alarmas que se encuentran en el Archivo de Entrada que

no son Alarmas de Disparo pero están relacionadas con los turbocompresores.

ALIMENTAR EL SISTEMA EXPERTO EoS: Agregar información de procesos nuevos para que

el sistema sea más completo y robusto. A cargo del Usuario Experto.

ANÁLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el

usuario puede ingresar la información con las alarmas que generan los equipos y realizar

manualmente un proceso.

ÁRBOL DE CONOCIMIENTO: Representaciones gráficas y lógicas del Proceso de Inferencia

que realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la

falla. Se utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de

Conocimiento tiene un nombre asociado.

ARCHIVO DE ENTRADA: Es un archivo de texto con la información de los sesenta (60)

minutos anteriores y el (1) minuto posterior a la Alarma de Disparo. Es la entrada al SISTEMA

EXPERTO EoS.

ARCHIVO DE EVENTOS: Es un archivo de texto, previamente creado por el usuario, con la

información de las alarmas con la que desea realizar el Análisis de Eventos. Debe tener las

mismas características del Archivo de Entrada.

ARCHIVOHYP.TXT: Archivo de texto con la información de los sesenta (60) minutos

anteriores y el (1) minuto posterior a la Alarma de Disparo. Es el nombre del Archivo de

Entrada. Se encuentra en C:\EJERVG.

ARCHIVOS DE CONTINUACIÓN: Archivos con código en CLIPS, que tienen la continuación

de un proceso determinado, cuando los archivos donde está la información se le terminan los

Page 54: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

53

renglones permitidos de escritura. Estos archivos de continuación llevan el nombre del Árbol de

Estudio asociado al análisis de fallas.

BASE DE HECHOS: Componente de los sistemas expertos. Lugar donde se almacenan las

alarmas de los equipos que intervienen en el proceso de producción de petróleo en Cusiana.

Registra conclusiones intermedias y datos generados en el proceso de inferencia para explicar

las deducciones y el comportamiento del sistema.

BASE DEL CONOCIMIENTO: Componente de los sistemas expertos. Son las reglas que

contienen la información para que el SISTEMA EXPERTO EoS sepa como proceder en los

diferentes casos y determine las causas de falla de las alarmas que llegan a la Base de Hechos.

BENTLY NEVADA: Sistema de monitoreo encargado de las vibraciones que ocurren en la

turbina y el compresor.

C.C.C.: Sistema destinado al control y supervisión de la presión, flujo, potencia y temperatura

en el compresor.

CAUSAS EoS: Es una salida del SISTEMA EXPERTO EoS. Son las posibles causas que

generaron la falla.

CAUSAS.BIN: Archivo donde se almacenan las posibles causas que generaron la falla. Se

encuentra en C:\EJERVG.

CLIPS: Es un programa que trabaja de manera regular y sincrónica con la Interfaz Gráfica, es

el que realiza el proceso de inferencia y genera la información que se muestra al usuario.

Herramienta especializada para el desarrollo de sistemas expertos.

CÓDIGO DE PROGRAMACIÓN DEL SISTEMA EXPERTO EoS: Archivo donde se encuentra

el código de programación completo del SISTEMA EXPERTO EoS, Se incluye en el CD del

SISTEMA EXPERTO EoS.

CONTROL ROOM: Es el cuarto de control donde se reportan las alarmas de los equipos que se

encuentran en el CPF de Cusiana, Casanare.

CPF: Central Production Facilities. Planta de procesamiento de petróleo de BP Exploration

Company Colombia Ltda.

Page 55: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

54

DCS: Sistema de Control Distribuido. Sistema de control donde se reportan las alarmas de los

equipos de Cusiana.

DEFTEMPLATES: En CLIPS, son arreglos donde se almacena información. Similares a matrices

de datos.

EXPERTO HUMANO: Quien posee el conocimiento especializado.

GESTIÓN: Habilidad para interpretar correctamente una situación y ejercer las acciones

apropiadas.

GESTIÓN DE FALLAS: Conjunto de facilidades que permiten la detección, identificación y

corrección de fallas.

HISTORIAL DE PREGUNTAS Y RESPUESTAS: Es el historial de preguntas realizadas por el

SISTEMA EXPERTO EoS y respuestas dadas por el usuario en medio del proceso.

INFORMACIÓN DE LA ALARMA DE DISPARO: Es la información referente a la Alarma de

Disparo: tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado

de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma.

INGENIERO DEL CONOCIMIENTO: Quien utiliza el conocimiento del experto humano y lo

traduce en el programa de software.

INTERFAZ GRÁFICA: Es el programa con el que el usuario interactúa, y donde se muestra la

información de interés para éste. La interfaz gráfica la comparte con el Sistema de Captura y

Filtraje y está desarrollada en Visual Basic.NET 6.0.

ISO: International Organization for Standarization

ITU-T: International Telecommunications Union-Telecommunications

LEVANTAMIENTO POR GAS O INYECCIÓN DE GAS: Proceso de inyectar gas al pozo de

forma que ejerza presión en el pozo permitiendo fluir la mezcla de gas, agua y crudo a la

superficie.

LISTAPRIMARIAS.TXT: Contiene una lista con todos los tags de Alarmas de Disparo. Se

encuentra en C:\EJERVG.

Page 56: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

55

LISTASECUNDARIAS. TXT: Contiene una lista con todos los tags de las alarmas que no son

Alarmas de Disparo pero están relacionadas con los turbocompresores, es decir con las Alarmas

Secundarias.

MANUAL DE USUARIO: Detalla el modo de uso y las funcionalidades del SISTEMA EXPERTO

EoS.

MANUAL TÉCNICO DE USUARIO: Es en el que se encuentra el código fuente de los

programas y aspectos más específicos del funcionamiento del SISTEMA EXPERTO EoS.

MARK V: Software encargado del monitoreo, control y protección de la turbina, y todos los

elementos auxiliares que hacen parte de esta.

MENÚ PRINCIPAL: Es la ventana donde se puede seleccionar (para presentar en pantalla) el

SISTEMA EXPERTO EoS o el Sistema de Captura y Filtraje.

MÓDULO DE ADQUISICIÓN DEL CONOCIMIENTO: Componente de los sistemas expertos.

Permite añadir, eliminar o modificar elementos de conocimiento (en la mayoría de los casos,

reglas.)

MÓDULO DE EXPLICACIÓN: Es el que le aclara al usuario el razonamiento seguido en el

proceso de inferencia.

MONITORIZACIÓN: Se ocupa de la observación, análisis de estado y comportamiento de los

recursos gestionados para la obtención de datos

MOTOR DE INFERENCIA: Componente de los sistemas expertos. Es el programa que

controla el razonamiento o proceso de inferencia que sigue el sistema experto.

PRIMARIAS.BIN: Contiene los tags de las alarmas que resultan de la comparación entre

ArchivoHyp.Txt con ListaPrimarias.Txt. Se encuentra en C:\EJERVG.

PROCESO DE INFERENCIA: Es el programa que controla el razonamiento que sigue el

sistema experto, puesto que debe comparar los patrones de reglas con la lista de datos de la

Base de Hechos.

PROCESO EoS: Es una salida del SISTEMA EXPERTO EoS. Es la secuencia de pasos realizados

por el SISTEMA EXPERTO EoS para generar las demás salidas.

Page 57: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

56

PROCESO.BIN: Archivo donde se almacena la secuencia de pasos realizados por el SISTEMA

EXPERTO EoS para generar las demás salidas. Se encuentra en C:\EJERVG.

PSI: Libras por pulgada cuadrada. Es una medida de presión.

PTA.BIN: Archivo donde se almacena la pregunta que el sistema le formula al usuario. Se

encuentra en C:\EJERVG.

RECOMENDACIONES EoS: Es una salida del SISTEMA EXPERTO EoS. Son las

recomendaciones correctivas de la falla.

RECOMENDACIONES.BIN: Archivo donde se almacenan las recomendaciones correctivas de

la falla. Se encuentra en C:\EJERVG.

RED DE GESTIÓN: La administración, supervisión, control y organización de los elementos de

la red gestionada.

RED: Conjunto de elementos interconectados

REPORTE EoS: Es el reporte con la información de entrada, salida y adicional. Este reporte se

genera en formato de texto (*.Txt) al culminar el proceso.

RTA.BIN: Archivo donde se almacena la respuesta dada por el usuario al sistema. Se

encuentra en C:\EJERVG.

SECUNDARIAS.BIN: Contiene los tags de las alarmas que resultan de la comparación entre

ArchivoHyp.Txt con ListaSecuntarias.Txt. Se encuentra en C:\EJERVG.

SHELLS: Lenguajes de programación que se utilizan como herramienta para la creación de

sistemas expertos.

SISTEMA DE CAPTURA Y FILTRAJE: Es el sistema que se encarga de recibir

constantemente las alarmas que generan los diferentes equipos que intervienen en el proceso

de extracción de petróleo en Cusiana y mostrarlas de manera detallada en pantalla. El sistema

fue desarrollado e instalado previamente en el Control Room de Cusiana; donde trabajan de

forma coordinada y bajo la misma Interfaz Gráfica del SISTEMA EXPERTO EoS.

TAG: Código para identificar la instrumentación y variables de un proceso determinado.

TMN: Telecommunications Management Network.

Page 58: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

57

TURBOCOMPRESORES: Son equipos que aumentan la presión del gas que se inyecta al

subsuelo. Es el equipo que se escogió para realizar el estudio de las alarmas con las que se

activará el SISTEMA EXPERTO EoS.

USUARIO DEL SISTEMA: Quienes utilizan el sistema experto.

USUARIO EXPERTO: Quien posee el conocimiento especializado para alimentar el sistema

experto.

VENTANA PRINCIPAL: Ventana donde se presentan los controles y las salidas del SISTEMA

EXPERTO EoS.

Page 59: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

58

BIBLIOGRAFÍA

1. AIDAROUS PLEVYAK, Salah, Thomas, Telecomunications Network Management into the 21st

century. New York: IEEE , 1994. 426p.

2. BARBA MARTI, Antoni, Gestión de red. México: Alfaomega, 2001. 231p

3. BP EXPLORATION COMPANY, Página web oficial. En:

http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

4. GIARRATANO, Joseph y RILEY, Gary. Sistemas Expertos, Principios y programación. Mexico

: International Thomson Editores, 2001. 596p

5. Información adicional suministrada por “BP Colombia LTDA” y “Equipo de Servicios

Petroleros LTDA”

6. Inteligencia Artificial. En: http://ciberconta.unizar.es/LECCION/IA/INICIO.HTML.

7. MORALES, Eduardo y SUCAR Enrique, “Representación de Conocimiento”. En:

http://w3.mor.itesm.mx/~rdec/principal.html.

8. Sistemas expertos. El conocimiento al poder. En: http://www.psycologia.com/articulos/ar-

jsamper01.htm#indice

9. Sistemas Expertos: Áreas de Aplicación. En:

http://www.geocities.com/SiliconValley/Way/7788/SISEXP.HTM#refs

10. TELEMANAGEMENT FORUM. Telecom Operations Map, NMF, GB910, Approved Version 2.1,

March 2000.

11. UNIVERSIDAD POLITÉCNICA DE MADRID, Dirección estratégica en tecnologías de la

información y las comunicaciones (TIC). Madrid: universidad Politécnica de Madrid, 2000.

135p.

Page 60: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO A: TEORÍA DE GESTIÓN

Es necesario tener una idea general de la teoría de Gestión de Red y Gestión de Fallas para

entender porque estos conceptos son la base de la razón de desarrollar una herramienta que

facilite el análisis de las fallas en los procesos de extracción de petróleo.

Se presentan los siguientes temas:

1 DEFINICIÓN DE GESTIÓN 2 MODELO TMN 3 GESTIÓN DE RED 4 GESTIÓN DE FALLAS 5 TAREAS PRINCIPALES DE LA GESTIÓN DE FALLAS 6 BIBLIOGRAFÍA

Los conceptos de Gestión de Red que se presentan a continuación están definidos para el

sector de las telecomunicaciones, sin embargo son válidos en otros sectores y tipos de

empresas56 como lo es la petrolera, adaptando los conceptos a aplicaciones específicas.

1 DEFINICIÓN DE GESTIÓN

El término Gestión en su acepción más amplia se refiere a la habilidad para interpretar

correctamente una situación y ejercer las acciones apropiadas. Se entiende como Red, un

conjunto de elementos interconectados y como Red de Gestión la administración, supervisión,

control y organización de los elementos de la red gestionada, es decir, la red de gestión incluye

funciones requeridas para monitorear, interpretar y controlar las operaciones de los elementos

que se encuentran interconectados conformando la red.

2 MODELO TMN

La ITU-T57 ha definido la TMN58 como un modelo de Red de Gestión con una estructura que

permite conectividad y comunicación a través de redes de telecomunicaciones y sistemas

operativos, proporcionando una arquitectura organizada para la interconexión de varios tipos de

56 Tomado de TeleManagement Forum Telecom Operations Map, NMF, GB910. 57 ITU-T: International Telecommunications Union-Telecommunications. 58 TMN: Telecommunications Management Network.

Page 61: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

sistemas de operaciones y equipos de telecomunicaciones para el intercambio de información

de gestión.

La estructura general del modelo TMN cuenta con una arquitectura en capas que sigue una

estructura jerárquica, cuyas capas cubren diferentes aspectos dependiendo de su funcionalidad,

complementándose unos con otros. Estos niveles son:59

Figura 8: Estructura jerárquica de la TMN.

Gestión de negocio (BML60): Maneja funciones para el desarrollo de estrategias y

políticas para el control y operación de servicios.

Gestión de servicios (SML61): Responsable del mantenimiento y gestión del propio

servicio, así como la interacción con el cliente y otros servicios.

Gestión de red (NML62): Se encarga del control y coordinación de los elementos

gestionados dentro de su ámbito y dominio. Sus funciones las proporcionan los

sistemas operativos, y son usadas para dar soporte a las aplicaciones de la TMN que

requieren una visión extremo a extremo de la red.

59 Aidarous Salah, Plevyak Thomas. Telecomunications Network Management 60 BML:Business Management layer 61 SML:Service Management layer 62 NML:Network Management layer

Gestión de Servicio

Gestión de Negocio

Gestión de Red

Gestión de Elemento de Red

Elemento de Red

Page 62: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

Gestión de elementos de red (NEML63): Maneja el mantenimiento, control y

coordinación de un conjunto de elementos de red.

Elementos de red (NEL64): Está conformado por las funciones específicas de cada

elemento de red.

3 GESTIÓN DE RED

El nivel de gestión de red65 tiene como función garantizar un adecuado nivel de ejecución de

procesos a un costo determinado, orientado hacia la cooperación entre la gestión de sistemas

individuales para conseguir un efecto coordinado y mejorar la disponibilidad, rendimiento y

efectividad de los elementos del sistema.

Los sistemas de gestión de red se basan en dos procedimientos básicos de actuación: la

monitorización y el control. La monitorización se ocupa de la observación, análisis de estado y

comportamiento de los recursos gestionados para la obtención de datos; y los procedimientos

de control se encargan de modificar parámetros e invocar acciones sobre el comportamiento de

los componentes.

4 GESTIÓN DE FALLAS

La ISO66 clasificó las tareas de los sistemas de Red de Gestión en cinco áreas funcionales:

Gestión de configuración: Permite identificar, recoger y proporcionar datos a objetos

gestionados, para aumentar su capacidad de control.

Gestión de prestaciones: Se encarga del mantenimiento del nivel de servicio

proporcionando calidad y asegurando su correcto y eficiente comportamiento.

Gestión de seguridad: Ofrece mecanismos que facilitan el mantenimiento de políticas

de seguridad, las cuales están dirigidas a proteger los recursos del sistema.

Gestión de contabilidad: Recolección de estadísticas que reflejen el uso de los

recursos, de forma que se pueda hacer una asignación más eficiente de estos.

63 NEML: Network Element Management layer 64 NEL: Network Element Layer 65 BARBA MARTI, Antoni. Gestión de red 66 ISO: International Organization for Standarization.

Page 63: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

Gestión de fallas: Conjunto de facilidades que permiten la detección, identificación y

corrección de fallas.

La Gestión de Fallas conforma mecanismos para detectar, localizar, aislar y corregir fallas en la

red. Tiene diversas metas que se enumeran a continuación:

1. Reestablecimiento del servicio en la presencia de fallas: Utilizar estrategias reactivas y

proactivas para el reestablecimiento del servicio. Una estrategia reactiva se enfatiza en la

reparación rápida, mientras que una proactiva se enfatiza en aislar y reemplazar rápidamente el

recurso que falló por recursos de más.

2. Identificación de la causa raíz de la falla: Una vez que una falla sea detectada, la

determinación de la causa raíz debe preceder el proceso de reparación. La localización rápida

de una causas-raíz depende de las previas acciones de detección, diagnóstico y prueba.

3. Reparación de la falla: La reparación de la falla debe ser eficiente y oportuna, conservando

los costos dentro de los límites del trabajo, sumando el costo de las partes de más, mano de

obra, y el costo asociado con la no disposición del recurso para su uso hasta que sea reparado.

4. Medida de la efectividad: Se deben llevar reportes históricos debidamente documentados

para tener datos verídicos y suficientes que permitan el análisis de medidas de efectividad de

gestión de la falla en términos de la interrupción del servicio y los costos de reparación.

5 TAREAS PRINCIPALES DE LA GESTIÓN DE FALLAS67

Muchas de las funciones de Gestión de Fallas involucra análisis, correlación, reconocimiento de

patrones y procesos similares, para poder realizar sus tareas principales: detección e

identificación de las fallas y, si es posible su reparación.

1. DETECCIÓN E IDENTIFICACIÓN DE LAS FALLAS

Para detectar e identificar las fallas en una red, los sistemas de Gestión de Fallas siguen un

proceso de diagnóstico constituido por cuatro pasos que se repiten hasta hallar la causa del

67 Universidad Politécnica de Madrid. Dirección estratégica en tecnologías de la información y las comunicaciones. DGRS. GESTION DE REDES Y SERVICIOS.

Page 64: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

problema: observación de síntomas, elaboración de hipótesis, verificación de hipótesis y

conclusiones.

a) Observación de síntomas: Recolección de eventos por medio de la vigilancia de alarmas para

recoger la mayor información posible de la falla. Se basa en:

- Clasificación de las alarmas dependiendo de la naturaleza de la falla.

- Registro de alarmas en orden cronológico para conservar un reporte histórico secuencial de

los eventos, coleccionar datos de alarmas correlacionadas y deducir secuencias de alarmas que

predicen fallas.

- Reportes del estado de las alarmas de un conjunto de recursos relacionados.

- Reducción de la redundancia de alarmas por medio de la identificación de síndromes de

eventos de múltiples alarmas asociadas con fallas individuales.

- Correlación de alarmas debido a que una falla puede generar muchas alarmas en distintas

partes del equipo distribuidas en tiempo y espacio.

b) Elaboración de hipótesis: Se realiza en base a los conocimientos y experiencia de la persona

experta, y a la información conocida. Se basa en:

- Diagnósticos por medio de análisis de árboles de causa-raíz de fallas.

- Corrimiento de diagnósticos.

- Correlación de los resultados para determinar la causa-raíz de la falla.

c) Verificación de hipótesis: Elaboración de un conjunto de pruebas cuyo resultado confirme si

la hipótesis es acertada, o al menos, descartable.

d) Conclusiones: Se debe tener un resultado específico. Si se llega a un resultado sin hipótesis

válida, se debe decidir qué acciones tomar para aislar el problema y luego corregirlo.

2. CORRECCIÓN DEL PROBLEMA

Resolver el problema por medio de acciones correctoras para la reparación de la falla.

Posteriormente se debe comprobar el reestablecimiento efectivo del servicio dentro de los

parámetros adecuados y hacer una medida de la efectividad.

Page 65: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

6 BIBLIOGRAFÍA

12. AIDAROUS PLEVYAK, Salah, Thomas, Telecomunications Network Management into the 21st

century. New York: IEEE, 1994. 426p.

13. BARBA MARTI, Antoni, Gestión de red. México: Alfaomega, 2001. 231p

14. TELEMANAGEMENT FORUM. Telecom Operations Map, NMF, GB910, Approved Version 2.1,

March 2000.

15. UNIVERSIDAD POLITÉCNICA DE MADRID, Dirección estratégica en tecnologías de la

información y las comunicaciones (TIC). Madrid: universidad Politécnica de Madrid, 2000.

135p.

Page 66: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO B: PETRÓLEO Y TURBINAS

Se presentan los siguientes temas:

1. PETRÓLEO 1.1 GENERALIDADES 1.2 EXTRACCIÓN DE PETRÓLEO EN BP EXPLORATION COMPANY COLOMBIA LTDA 2. TURBOCOMPRESORES 2.1 GENERALIDADES 2.2 SISTEMAS DE MONITOREO DE LOS TURBOCOMPRESORES 3. BIBLIOGRAFÍA

1. PETRÓLEO

1.1 GENERALIDADES

La exploración petrolera consiste en ubicar los sitios del subsuelo donde pueda existir petróleo.

El proceso se inicia con un estudio geológico y sismológico del terreno seleccionado para

determinar el potencial petrolero de una zona determinada. Si existe suficiente información que

determine que el terreno tiene un yacimiento se procede a la perforación.

Después de finalizar la perforación de un pozo se continúa con la extracción del gas, agua y

crudo que se encuentran a altas presiones, permitiendo que el petróleo fluya y salga a la

superficie; sin embargo esta presión disminuye a medida que el yacimiento se agota y resulta

necesario utilizar algunos métodos de bombeo. BP Exploration Company Colombia Ltda utiliza el

método de levantamiento por gas o inyección de gas que consiste en inyectar gas natural

comprimido al pozo de tal forma que con la presión que éste ejerce haga subir la columna de

crudo a la superficie. Para llevar a cabo este método, se usan los TURBOCOMPRESORES

puesto que ellos son los que inyectan el gas al subsuelo, generando grandes presiones en el

pozo e impulsando la columna de crudo a la superficie. Un turbocompresor se compone de una

TURBINA y un COMPRESOR en serie, de forma tal, que la turbina le entrega la potencia

necesaria al compresor para que éste inyecte gas a altas presiones al pozo.

Page 67: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

1.2 EXTRACCIÓN DE PETRÓLEO EN BP EXPLORATION COMPANY COLOMBIA LTDA

BP Exploration Company Colombia Ltda es una empresa petrolera dedicada a la exploración y

extracción de petróleo en Colombia. Actualmente tiene cuatro yacimientos en nuestro territorio,

Cusiana, Cupiagua, Floreña y Recetor, todos ubicados en el piedemonte del Casanare.

La principal actividad petrolera se ha dado en Cusiana y Cupiagua a partir de su descubrimiento

en 1991 y 1993 respectivamente. BP Exploration Company Colombia Ltda con sus cuatro

yacimientos, maneja el 40% de la producción total de crudo del país.68

En los campos petroleros de Cusiana, el proceso de producción de petróleo empieza extrayendo

del subsuelo la mezcla de crudo, agua y gas a la superficie y transportándola a la CPF (Central

Production Facilities), es decir a las plantas de tratamiento de Cusiana a través de una línea de

flujo. Estando allí se realiza la separación de productos, de forma que el agua es tratada e

inyectada al subsuelo, el crudo se transporta al puerto de Cobeñas para ser vendido y el gas se

somete a un aumento de presión usando TURBOCOMPRESORES para ser inyectado a la

formación de forma que ejerza presión en el pozo permitiendo fluir la mezcla de gas, agua y

crudo a la superficie.

En el proceso de inyección de gas al pozo se usan seis turbocompresores distribuidos en tres

trenes en paralelo, cada uno con dos turbocompresores en serie, de forma que por cada uno

fluye un tercio de la producción total.

68 Tomado de: BP EXPLORATION COMPANY, Página web oficial. En: http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

Page 68: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

Figura 9: Proceso de extracción de petróleo realizado en Cusiana por BP Exploration Company Colombia Ltda. PSI: Libras por pulgada cuadrada.

Las turbinas que se emplean son modelo MS-5002-C y utilizan como carga compresores de gas,

formando así los TURBOCOMPRESORES.

2. TURBOCOMPRESORES

2.1 GENERALIDADES

La turbina a gas es una máquina de transformación de energía, donde se utiliza la energía

cinética de algún fluido, en este caso gases de combustión, para la realización de trabajo

mecánico, es decir convierte energía química en potencia mecánica. Los elementos principales

de una turbina de gas de ciclo abierto son el compresor, la cámara de combustión y la turbina.

El ciclo que sigue la turbina a gas es el ciclo Joule o Brayton.

P E R F O R A C I O N E S

P E R F O R A C I O N E S

P E R F O R A C I O N E S

Turbina-Compresor Turbina-CompresorTurbina-Compresor

Turbina-Compresor

500 PSI

AGUA

CRUDO

GAS

AGUA

Es tratada e inyectada al subsuelo.

CRUDO

Se traslada a Cobeñas para exportarlo

GAS

Turbina-Compresor Turbina-Compresor

1700 PSI

5000 PSI

Se somete a altas presiones para ser inyectado al subsuelo

SEPARACIÓNLínea de flujo

Page 69: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

Figura 10: Ciclo de Joule o Brayton. a) Gráfica de presión vs volumen; b) Ciclo de Brayton ilustrado con diagrama de bloques.

En el punto 1 de la figura anterior, el aire tomado de la atmósfera es comprimido hasta 2 a

través de las diferentes etapas del compresor axial. Luego el aire comprimido se introduce a

una cámara de combustión donde se le agrega una cierta cantidad de combustible y se quema.

Al producirse la combustión se realiza la transición de 2 a 3. La temperatura en el punto 3 es

crítica puesto que corresponde a la mayor temperatura y presión del ciclo. A continuación viene

la expansión de los gases usando las turbinas hasta llegar a la presión ambiente. Esta

expansión se puede dividir en dos fases. En la primera (de 3 a 3') el trabajo de expansión sirve

para accionar el compresor de entrada. En la segunda fase (de 3' a 4) el trabajo de expansión

se convierte en fuerza mecánica para impulsar la carga o compresor de salida. En el punto 4 los

gases de combustión se evacuan a la atmósfera. La evolución de 4 a 1 es virtual y corresponde

al enfriamiento de los gases hasta la temperatura ambiente.

La turbina MS-5002-C de dos ejes tiene dos rotores independientes, uno de primera etapa o

alta presión (HP High pressure) que abarca desde el compresor axial hasta la turbina (Ver

Figura 11) y mueve el rotor del compresor axial; y la segunda etapa o de baja presión (LP Low

pressure) que abarca desde la turbina hasta el compresor de gas, en la que el rotor mueve el

eje del compresor de inyección de gas (es decir el de salida). El propósito por el cual los dos

Page 70: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

compresores no están acoplados mecánicamente es permitirle a los dos ejes operar a diferentes

velocidades. Esta turbina está diseñada para operar solo con gas combustible.

Figura 11: Modelo de un turbocompresor de dos ejes.

El compresor axial es inicialmente llevado, por el sistema de arranque, al 20% de la velocidad.

El aire a presión atmosférica es aspirado por el compresor axial y conducido a las cámaras de

combustión (C.B) donde se le adiciona combustible a alta presión para que una bujía de alto

voltaje encienda la mezcla de aire / combustible. Los gases calientes, a la salida de la turbina,

incrementan la velocidad del compresor axial y cuándo la presión se comienza a incrementar el

rotor de la turbina de baja presión comienza a girar de forma que ambos ejes se aceleran hasta

la velocidad normal de operación (5100 RPM69 para el eje de alta y 4670 RPM para el eje de

baja.)

La sección del compresor axial consiste del rotor y el estator, el cual incluye 16 etapas de

compresión y cada etapa incrementa la presión una determinada cantidad. Los alabes del rotor

suministran la fuerza necesaria para comprimir el aire en cada etapa y los alabes del estator

guían el aire para que este entre a la siguiente etapa con el ángulo apropiado. En la entrada del

compresor axial se localiza el IGV (Inlet Guide Vane) persiana o venas guías de entrada, que

regulan la cantidad de aire de entrada. El compresor axial tiene una capacidad 978000 Lb/Hora,

69 RPM: Revoluciones por minuto.

TURBINA

Page 71: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

de los cuales el 20% es empleado para combustión y el restante 80% para los diferentes

circuitos de refrigeración.

La sección de combustión de la turbina de gas esta compuesta por 12 cámaras de

combustión externas, 12 quemadores y 2 bujías. El combustible es alimentado a cada una de

los quemadores y la combustión de la mezcla de gas y aire es encendida por las bujías. Solo

dos bujías son instaladas en dos cámaras de combustión, las cámaras restantes, que no tienen

bujías, son encendidas con la llama que proviene de las cámaras encendidas a través de los

tubos cruza llama que son las que las interconectan.

Durante la secuencia de arranque, es esencial que la indicación de presencia o ausencia de

llama sea transmitida al sistema de control. Por esta razón, un sistema de monitoreo de llama

es usado y se muestra en el panel de control Mark V.70

La sección de turbina es donde los gases a alta temperatura y presión provenientes de la

sección de combustión son convertidos en potencia mecánica, es decir la energía térmica es

convertida en energía mecánica. Una etapa de turbina está montada en el eje de alta presión y

la otra etapa está en el de baja presión para impulsar la carga. Aproximadamente el 60% de la

energía generada en la turbina se requiere para manejar el compresor axial y otro 35% está

disponible para la carga, como energía útil. Los gases de combustión son descargados por el

exhosto.

2.2 SISTEMAS DE MONITOREO DE LOS TURBOCOMPRESORES

Las turbinas y los compresores están monitoreados constantemente por diferentes sistemas que

indican su estado de funcionamiento y reportan avisos y alarmas sobre la actividad de los

equipos.

BP Exploration Company Colombia Ltda. y Equipo de Servicios Petroleros Ltda manejan tres

sistemas diferentes de monitoreo en los turbocompresores, Mark V, Bently Nevada y C.C.C,71

cada uno de los cuales controla características diferentes en estos equipos y reporta alarmas y

observaciones relacionadas con estos.

70 Para más información sobre el Mark V, cuyo fabricante es General Electric, remítase a la sección 2.2 de este documento. 71C.C.C: Centrifugal and Compressor Controller, cuyo fabricante es Compressor Control Corporation..

Page 72: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

El sistema de control MARK V es el software encargado del monitoreo, control y protección de

la turbina, y todos los elementos auxiliares que hacen parte de esta; el Bently Nevada es el

sistema de monitoreo encargado de las vibraciones que ocurren en la turbina y el compresor; y

el C.C.C. está destinado al control y supervisión de la presión, flujo, potencia y temperatura en

el compresor. Adicional a estos tres sistemas encargados directamente de los turbocompresores

existe un Sistema de Control del Mark V que se ocupa del monitoreo, supervisión, control e

indicaciones del Mark V.

Figura 12: Diagrama de los sistemas de control de los turbocompresores

Todos estos sistemas de control (los cuatro anteriores) están reportando constantemente datos

al DCS72 el cual es el sistema central de monitoreo y control donde se reciben las alarmas y

avisos. Todas las alarmas que se reportan están llegando en formato de texto a un computador

ubicado en el Control Room73 de Cusiana.

3. BIBLIOGRAFÍA

1 BP EXPLORATION COMPANY, Página web oficial. En:

http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

2 Información adicional suministrada por “BP Colombia LTDA” y “Equipo de Servicios

Petroleros LTDA”

72 DCS: Sistema de Control Distribuido. 73 Control Room: Cuarto de control donde se reportan las alarmas.

Turbina Compresor

Mark V Bently Nevada C.C.C. Sistema de Control del

Mark V

DCS.

Page 73: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO C: SISTEMAS EXPERTOS

Se presentan los siguientes temas:

1 GENERALIDADES 2 VENTAJAS Y DESVENTAJAS 3 DIFERENCIA ENTRE UN SISTEMA EXPERTO Y UNO TRADICIONAL 4 ELEMENTOS DE UN SISTEMA EXPERTO 5 SISTEMAS DE PRODUCCIÓN DE REGLAS 6 REPRESENTACIÓN DEL CONOCIMIENTO 7 CLIPS 8 BIBLIOGRAFÍA

1 GENERALIDADES

La Inteligencia Artificial (AI) es una ciencia nacida en los años 60 que intenta que los

computadores simulen en cierta manera la inteligencia humana. Según Shapiro se define AI

como “un campo de la ciencia y de la ingeniería que se ocupa de la comprensión a través de la

computadora de lo que comúnmente llamamos comportamiento inteligente y de la creación de

herramientas que exhiben tal comportamiento”.74 Se acude a sus técnicas cuando es necesario

incorporar en un sistema informático, conocimiento o características propias del ser humano.

La inteligencia artificial se compone de varias técnicas de estudio como sistemas expertos, vida

artificial, algoritmos genéticos, computación molecular o redes neuronales. En este caso, el

estudio se centrará en sistemas expertos (SE), los cuales son una aplicación informática que

simula el conocimiento de un experto humano, en un área de especialización dada. Debe ser

capaz de procesar y memorizar información, aprender y razonar, decidir cuestiones complejas

ofreciendo asesoramiento inteligente, justificar su comportamiento e incorporar nuevos

conocimientos.

La potencia de un sistema experto está en que es muy eficaz al analizar gran cantidad de

información, interpretarla y proporcionar una recomendación a partir de la misma. Difiere de los

algoritmos tradicionales en que se basa en el conocimiento y no en un programa deductivo

habitual. Un sistema clásico abarca conocimiento no escrito que debe obtenerse del especialista

a través de entrevistas con el ingeniero del conocimiento, es decir quien desarrolla el sistema

experto. Al proceso de construir un sistema experto se le llama ingeniería del conocimiento y

74 Tomado de MORALES, Eduardo y SUCAR Enrique, “Representación de Conocimiento”. En: http://w3.mor.itesm.mx/~rdec/principal.html.

Page 74: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

consiste en la adquisición de conocimiento a partir de un especialista humano o de otra fuente

y su codificación en el sistema experto.

2 VENTAJAS Y DESVENTAJAS

Algunas de las ventajas de utilizar sistemas expertos son:

Resuelve y decide los problemas más rápidamente que un humano.

Se pueden utilizar personas no especializadas para resolver problemas. Los sistemas

expertos se pueden considerar como medio de ejecución y transmisión del

conocimiento.

Proporciona soluciones más confiables debido al tratamiento de los datos y experiencia

múltiple, puesto que puede tener el conocimiento de varios expertos.

Pueden operar en ambientes peligrosos para seres humanos.

Permite que personal con poca experiencia pueda resolver problemas que requieren el

conocimiento de experto.

Pueden realizar operaciones monótonas, aburridas e incómodas para los humanos.

Puede explicar clara y detalladamente los pasos de su razonamiento para llegar a una

conclusión, tal como un especialista humano lo haría.

Predicen resultados futuros a partir del conocimiento que tienen.

Algunas limitaciones son:

La programación es más compleja de elaborar que la tradicional.

Tiene un costo inicial elevado puesto que se requiere tiempo y dinero para extraer el

conocimiento de los especialistas humanos.

Presenta dificultad para manipular información no estructurada, especialmente la

incompleta, inconsistente o errónea. Si un problema sobrepasa la competencia de un

sistema experto, sus prestaciones se degradan de forma notable.

Se pueden generar resultados erróneos si existe desacuerdo entre los especialistas

humanos a la hora de tomar decisiones para la solución de problemas.

Page 75: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

3 DIFERENCIA ENTRE UN SISTEMA EXPERTO Y UNO TRADICIONAL

Un aspecto fundamental de los sistemas expertos es que tienen una metodología diferente y en

algunos casos opuesta, a los programas tradicionales. Algunas de las diferencias se enuncian en

la siguiente tabla75.

SISTEMA TRADICIONAL SISTEMA EXPERTO

Es complicado realizar cambios al programa. Hacer cambios a las reglas no resulta ser tan

complicado.

La solución está dada por un algoritmo. La solución depende de las reglas y la inferencia.

La salida no contiene errores. Puede contener errores a la salida, puesto que

esta varía con el problema

El sistema funciona solamente cuando está

completo.

Puede funcionar con algunas reglas.

Una entrada inesperada es difícil o imposible de

tratar.

Tiene gran capacidad de respuesta para entradas

inesperadas.

Representa y usa datos Representa y usa conocimiento

Está controlado por el orden del programa, es

secuencial.

Lo controla el mecanismo de inferencia, usa las

reglas necesarias oportunamente.

No explica el procedimiento usado. Contiene un módulo de explicación.

El programa tiene un diseño estructurado. El diseño del programa es poco o nada

estructurado.

Algoritmos + estructura de datos=Programas Conocimiento + inferencia=Sistemas expertos

Tabla 1: Diferencia entre un sistema experto y uno tradicional.

4 ELEMENTOS DE UN SISTEMA EXPERTO

La adquisición del conocimiento es una de las actividades más complejas y fundamental dentro

del desarrollo de un sistema experto basado en reglas. Consta de tres elementos principales: el

Especialista o Experto Humano, quien posee el conocimiento; el Ingeniero del conocimiento,

quien extrae el conocimiento del experto humano y lo plasma en el programa de software y el

Usuario del Sistema, encargado de utilizar el sistema experto.

75 Tomado de GIARRATANO, Joseph y RILEY, Gary. Sistemas Expertos, Principios y programación. Mexico : International Thomson Editores.

Page 76: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

Figura 13: Elementos principales para el desarrollo de un sistema experto.

La colaboración de estos tres elementos es una de las partes más importantes en el desarrollo

de un sistema experto, puesto que requiere dedicación, esfuerzo y tiempo debido a los

diferentes lenguajes que manejan las distintas partes y las diferentes experiencias que tienen.

La estructura general de los sistemas expertos está compuesta por seis elementos

independientes que se complementan unos a otros, de manera que se alcancen los resultados

esperados.

Figura 14: Estructura de un sistema experto.

La base de hechos contiene los datos recibidos inicialmente sobre el caso concreto que se

trabaja y registra conclusiones intermedias y datos generados en el proceso de inferencia, es

decir es la memoria activa del sistema experto. Al memorizar todos los resultados intermedios,

conserva el rastro de los razonamientos efectuados y por lo tanto se puede utilizar para explicar

las deducciones y el comportamiento del sistema.

La base del conocimiento son las reglas que contienen el conocimiento especializado

extraído de la persona experta en el dominio. El método más común para representar el

conocimiento es mediante reglas de producción, donde cada una consta de una parte

denominada condición (IF) y otra parte denominada acción (THEN.) Los especialistas en el

Interfaz de usuario

Módulo de adquisición

del conocimiento Módulo de

explicación Base de datos o hechos.

Base del conocimiento (Reglas)

Motor de inferencia

Ing. del conocimiento

Usu

ario

del

sist

ema

Exp

erto

hum

ano

Experto Humano

Usuario del Sistema

Ingeniero del conocimiento

Page 77: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

tema son los responsables de suministrar una base de conocimiento ordenada y estructurada, y

un conjunto de relaciones bien definidas, explicadas y con validez. El conocimiento se almacena

en la base de conocimiento, y los datos y referencias de carácter transitorio se almacenan en la

base de hechos.

También contendrá reglas de producción que no pertenecen al dominio del problema llamadas

metarreglas, las cuales indican bajo qué condiciones deben considerarse unas reglas en vez de

otras, es decir, son reglas sobre otras reglas.

El motor de inferencia es el programa que controla el proceso de razonamiento que sigue el

sistema experto, recorriendo la base del conocimiento y haciendo uso de los datos

suministrados por la base de hechos para alcanzar una solución. El objetivo principal de este

componente es sacar conclusiones aplicando el conocimiento a los datos y dando prioridad a las

reglas. Existen lenguajes, llamados SHELLS, que se utilizan como herramienta para la creación

de sistemas expertos. La estrategia de control que manejan estos shells puede ser de

encadenamiento progresivo o regresivo. En el progresivo (o hacia delante) se comienza con los

hechos de la base de datos, y se buscan reglas que satisfagan esos datos. En el

encadenamiento regresivo (o hacia atrás) el sistema comienza a deducir el objetivo a partir de

los datos, es decir se prueba una hipótesis partiendo de los hechos contenidos en la base de

datos.

El mecanismo o motor de inferencia tiene las siguientes funciones y características:

Controlar la ejecución de las reglas.

Realizar el proceso de inferencia visto como un espacio de búsqueda AND/OR, siendo

los nodos AND todas las condiciones acciones que se tienen que cumplir y los nodos OR

las posibles reglas a considerar.

Crear una Agenda compuesta por la colección de las reglas activadas, las cuales

tendrán prioridades asignadas para que se disparen de acuerdo a su prioridad.

Permitir que el usuario suministre la información requerida por medio de la interfaz

gráfica cuando el mecanismo de inferencia lo necesite para obtener el conocimiento

necesario si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones.

El mecanismo de inferencia debe comparar los patrones de reglas con la lista de datos de la

base de hechos. Si todos los patrones de una regla coinciden con los hechos, la regla se activa

y se coloca en la Agenda, es decir, si hay un hecho en la base de hechos, el mecanismo de

Page 78: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

inferencia se dará cuenta de que éste satisface la condición de la regla y la pondrá en su

Agenda, teniendo presente que si una regla tiene varias condiciones todos ellas deben

satisfacerse de manera simultánea para que ésta pase a la Agenda, claro está que muchas

reglas activadas pueden estar en la Agenda al mismo tiempo, en cuyo caso el mecanismo de

inferencia debe seleccionar una sola regla de disparo usando un criterio de prioridades.

Varias reglas pueden activarse y pasar a la Agenda durante un ciclo, las activaciones de reglas

en ciclos previos también se dejarán en la Agenda a menos que hayan sido desactivadas

porque sus condiciones no se hayan satisfecho; así el número de activaciones en la Agenda

variará mientras procede la ejecución. El mecanismo de inferencia ejecuta las acciones con

mayor prioridad de activación en la Agenda, luego, la siguiente en grado de prioridad y así

sucesivamente hasta que no quede ninguna activación de alguna regla.

El módulo de adquisición del conocimiento permite añadir, eliminar o modificar elementos de

conocimiento (en la mayoría de los casos reglas) en el sistema experto. Controla el flujo del

nuevo conocimiento, es decir determina qué nuevo conocimiento se necesita, o si el

conocimiento recibido es en realidad nuevo. Es la vía para que el usuario pueda introducir

conocimiento al sistema sin tener al ingeniero del conocimiento para que lo incorpore

explícitamente él.

El módulo de explicación aclara al usuario el razonamiento seguido en el proceso de

inferencia, de forma que si se quiere saber cómo se ha llegado a una conclusión, este módulo

le presenta la secuencia completa de reglas usada.

La interfaz con el usuario Es el mecanismo que permite la comunicación entre el usuario y el

sistema experto proporcionando intercambio de información entre ambas partes.

5 SISTEMAS DE PRODUCCIÓN DE REGLAS

Los sistemas expertos basados en reglas son los que se desarrollan comúnmente debido a las

ventajas descritas anteriormente. El objetivo es crear un algoritmo que conozca todas las reglas

y pueda aplicar cualquiera de ellas y hacer relaciones entre las mismas sin tener que probar

cada una en forma secuencial,76 generando de este modo rapidez y eficacia a los sistemas

expertos al momento de generar soluciones. El fin de esta clase de programación es que el

76 Este procedimiento se denomina “Algoritmo de Rete.”

Page 79: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

programador por medio de diferentes reglas o pequeñas conclusiones que enuncia

explícitamente pueda lograr que el sistema infiera un resultado.

6 REPRESENTACIÓN DEL CONOCIMIENTO

Existen varias formas de representar el conocimiento para que un sistema experto pueda

interpretar las reglas y usarlas correctamente. Su importancia radica en que de acuerdo con esa

representación se mide el desarrollo, eficiencia, velocidad y mantenimiento de un sistema

experto.

Para el desarrollo del SISTEMA EXPERTO EoS, se utilizó el método de Árboles de Conocimiento,

los cuales son estructuras jerárquicas de datos conformadas por nodos que almacenan

conocimiento y ramas que conectan de manera lógica los nodos. Al nodo con mayor jerarquía

se le denomina nodo raíz, y a los de menor jerarquía se les llama hojas.

Figura 15: Estructura de un Árbol de conocimiento.

De esta forma un árbol es un esquema de representación del conocimiento y un método de

razonamiento del mismo. En este caso se utilizan árboles para representar el conocimiento de

los expertos en fallas de BP Exploration Company Colombia Ltda. y Equipo de Servicios

Petroleros Ltda.

Nodo raíz

Nodo

Rama

Nodo

Nodo

Nodo

Hoja

Hoja Hoja Hoja Hoja

Hoja

Hoja

Hoja

Page 80: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

7 CLIPS

Los lenguajes utilizados para implementar sistema expertos se concentran en proporcionar

formas robustas y flexibles de representar el conocimiento, por tal motivo existen herramientas

de lenguajes de alto nivel con propósitos especiales llamadas Shells, los cuales fueron

diseñadas para construir sistemas expertos con cierto tipo de aplicaciones en las que el usuario

sólo debe proporcionar la Base de Conocimiento.77

CLIPS78 es un shell para el desarrollo de sistemas expertos, puesto que soporta la programación

basada en reglas y orientada a objetos o por procedimientos; sin embargo el enfoque está en la

programación orientada en reglas. Se diseñó utilizando el lenguaje de programación C en el

centro espacial Johnson de la NASA, con el propósito específico de proporcionar una gran

capacidad de transporte, bajo costo y fácil integración.

Los componentes principales de CLIPS son los elementos básicos de un sistema experto:

Lista de hechos: Contiene los datos de los que se derivan las inferencias.

Base de conocimiento: Comprende todas las reglas.

Mecanismo de inferencia: Controla la ejecución global.

Un sistema experto basado en reglas escrito en CLIPS es un programa manejador de datos,

donde los hechos u objetos son los datos que simulan la ejecución a través del motor de

inferencia79, el cual decide cuáles y cuando de ejecutan las reglas.

Los manuales Guía del usuario, Guía básica de programación, Guía avanzada de

programación, y Guía de Interfases, que hacen parte de la documentación de CLIPS y se

incluyen en la documentación del SISTEMA EXPERTO EoS, contienen las especificaciones,

características, comandos, procedimientos y funciones de CLIPS. El Manual Técnico de

Usuario proporciona una cobertura detallada de algunas funciones y características de CLIPS.

77 Base del Conocimiento: Remítase a la sección 4 de este documento. 78 CLIPS: C Language Integrated Production System. 79 Motor de inferencia: Es el programa que controla el razonamiento o proceso de inferencia que sigue el sistema experto.

Page 81: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

8 BIBLIOGRAFÍA

1 GIARRATANO, Joseph y RILEY, Gary. Sistemas Expertos, Principios y programación. Mexico:

International Thomson Editores, 2001. 596p.

2 Inteligencia Artificial. En: http://ciberconta.unizar.es/LECCION/IA/INICIO.HTML.

3 MORALES, Eduardo y SUCAR Enrique, “Representación de Conocimiento”. En:

http://w3.mor.itesm.mx/~rdec/principal.html.

4 Sistemas expertos. El conocimiento al poder. En: http://www.psycologia.com/articulos/ar-

jsamper01.htm#indice

5 Sistemas Expertos: Áreas de Aplicación. En:

http://www.geocities.com/SiliconValley/Way/7788/SISEXP.HTM#refs

Page 82: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO D: ÁRBOLES DE CONOCIMIENTO

A continuación se presenta la lista con los Árboles de Conocimiento que hacen parte del SISTEMA EXPERTO EoS, las alarmas relacionadas con

cada uno de ellos, y su representación gráfica.

NOMBRE DEL ÁRBOL DE CONOCIMIENTO ALARMAS RELACIONADAS

M12-L45FTT_ALM

M13-L45FTT_ALM

M14-L45FTT_ALM

M15-L45FTT_ALM

M16-L45FTT_ALM

Detección de fuego

M17-L45FTT_ALM

M12-L86CBT_ALM

M13-L86CBT_ALM

M14-L86CBT_ALM

Bleed Valve

M15-L86CBT_ALM

Page 83: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

M16-L86CBT_ALM

M17-L86CBT_ALM

M12-LCLFEN_ALM

M13-LCLFEN_ALM

M14-LCLFEN_ALM

M15-LCLFEN_ALM

M16-LCLFEN_ALM

Clutch

M17-LCLFEN_ALM

M12-L3NZFLT

M13-L3NZFLT

M14-L3NZFLT

M15-L3NZFLT

M16-L3NZFLT

IGV o Nozzles

M17-L3NZFLT

Page 84: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

M12-PT2606

M12-PT2609

M12-TT2602

M13-PT2704

M13-PT2707

M13-TT2702

M14-PT2656

M14-PT2659

M14-TT2652

M15-PT2754

M15-PT2757

M15-TT2752

M16-PT2906

Transmisores

M16-PT2909

Page 85: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

M16-TT2902

M17-PT3004

M17-PT3007

M17-TT3002

M12-L39VCT_ALM

M13-L39VCT_ALM

M14-L39VCT_ALM

M15-L39VCT_ALM

M16-L39VCT_ALM

Vibración

M17-L39VCT_ALM

Page 86: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

Alarma: M12-L45FTT_ALM ó M13-L45FTT_ALM ó M14-L45FTT_ALM ó M15-L45FTT_ALMó M16-L45FTT_ALM ó M17-L45FTT_ALM

En cual modulo detonador estaprendido el LED?

Aterrizamientodel cable

R/Reemplazartramo de cable

pelado

¿Deteccion de la alarma:ALARMA M12-L45CP_ALM? Presencia de CO2

Zona 2-B

SI

Zona 1-B Zona 1-A

Zona 2-A

Inspeccion visual delPush-Botton ¿Esta activo ?

Push Botton activoR/Normalizar la

zonaSI

Desconectar resistencia defin de linea. Megguear enIJB-9 Bornera 7-8 haciaacople.Hacia tierra. ¿ Laresistencia es infinita ?

NO Falla en elcableado

R/Reemplazartramo de cable

pelado

SI

Hay corto entre los cables?

NO

Push Botton enmal estadoSI

Desconectar cables ameguear. Meguear en

XXXXX hacia el sistema Fire& Gas Detronix ¿ El cable

se encuentra abierto ?

NO Posible falla en elmodulo

R/Evalue elcambio del

modulo

NO

Inspeccion visual de evidencias derastros de aceite .Verificar si laalarma fue real.¿Hay rastros deaceite que indiquen que la alarma

fue real ?

Desconectar resistencia defin de linea. Megguear enIJB-3 Bornera 11-12 haciaacople. Hacia tierra. ¿ Laresistencia es infinita ?

Hay corto entre los cables?

Desconectar detector(sensor). ¿Continua corto

entre los cables ?

Fuego por fugade aceite por

acopleR/Normalizar

reset de la zona SI

NO

NO

SI

SI

Cable en malestado

R/Reemplazarlos cables

SI

Meguear el detector(sensor). ¿Los sensores

estan en corto ?

NOFalla endetectores deincremento

termicoR/Reemplazar

los dos (2)sensores deincremento

SI

Desconectar cables ameguear. Meguear en

XXXXX hacia el sistema Fire& Gas Detronix ¿ El cable

se encuentra abierto ?

NO

Posible falla en elmodulo

R/Evalue elcambio del

modulo

NO

Inspeccion visual de evidenciasde rastros de aceite .Verificar sila alarma fue real. ¿Hay rastros

de aceite que indiquen que laalarma fue real ?

Desconectar resistencia defin de linea. Megguear enIJB-2 Bornera 1-2 haciaacople, hacia tierra. ¿Laresistencia es infinita ?

Hay corto entre los cables?

Desconectar detector(sensor). ¿Continua corto

entre los cables ?

Meguear el detector(sensor). ¿Los sensores

estan en corto ?

Desconectar cables ameguear. Meguear en

XXXXX hacia el sistema Fire& Gas Detronix ¿ El cable

se encuentra abierto ?

Fuego por fugade aceite poraccesorios

R/Normalizarreset de la zonaSI

NO

Aterrizamientodel cable

R/Reemplazartramo de cable

pelado

NO

SISI

Cable en malestado

R/Reemplazarlos cables

SI

NOFalla en

detectores deincremento

termicoR/Reemplazar

los dos (2)sensores deincremento

SI

Posible falla en elmodulo

R/Evalue elcambio del

moduloNOSI Presencia de alarmassecundarias ¿Cuales se

detectaron?

ALARMAM11-L71PSAL

ALARMAM11-L45HTA

Bajo nivel de overhead tank.Fuga por gas en tanque de aceite Gas presente

Fuego por fuga de gas

Inspeccion visual de evidenciasde rastros de aceite .Verificar sila alarma fue real.¿Hay rastrosde aceite que indiquen que la

alarma fue real ?

Desconectar resistencia defin de linea. Megguear enIJB-3 Bornera 7-8 hacia

tierra. ¿ La resistencia esinfinita ?

Hay corto entre los cables?

Desconectar detector(sensor) de 600 grados.¿Continua corto entre los

cables ?

NOSI

SI

Meguear detectores(sensores) de 600 grados.¿Los sensores estan en

corto ?

NO

Desconectar resistencia defin de linea. Megguear enIJB-3 Bornera 3-4 hacia

tierra. ¿ La resistencia esinfinita ?

NO

Fuego por fugade aceite en

compartimentoturbina

R/Normalizarreset de la zona

SI

Falla en cableadodetectores 600

gradosR/Reemplazartramo de cable

pelado

NO

Cable en malestado

R/Reemplazarlos cables SI

Falla endetectores deincrementotermico 600

gradosR/Reemplazar

los dos (2)sensores deincremento

termico

SI

Hay corto entre los cables?

Desconectar detectores(sensores) de 450 grados.¿Continua corto entre los

cables ?

SICable en mal estadoR/Reemplazar los cables SI

Meguear detectores(sensores) de 450 grados.¿ Los sensores estan en

corto ?

NOFalla en detectores de incrementotermico 450 grados

R/Reemplazar los dos (2)sensores de incremento termico

SI

Desconectar cables ameguear. Meguear enXXXXXhacia el sistema Fire & Gas

Detronix ¿ El cable seencuentra abierto ?

Posible falla en elmodulo

R/Evalue el cambiodel modulo

NO

Falla en cableadodetectores 450

gradosR/Reemplazartramo de cable

pelado

NO

SI

SI Presencia de alarmassecundarias ¿Cuales se

detectaron?

ALARMAM11-L26BA1H

ALARMAM11-L45HTA

ALARMAM11-L71PSAL

Bajo nivel de overhead tank.Fuga por gas en tanque de aceite

Bajo nivel de overhead tank.Fuga por gas en tanque de aceite

Bajo nivel de overhead tank.Fuga por gas en tanque de aceite

NO

DETECCIÓN DE FUEGO

Page 87: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

Alarma: M12-L86CBT_ALM ó M13-L86CBT_ALM ó M14-L86CBT_ALM óM15-L86CBT_ALM ó M16-L86CBT_ALM ó M17-L86CBT_ALM

Forzar en Mark V y esperaL33CB20 o L33CB10.

¿La electrovalvula actua?

Electrovalvula NO actua

NO

Verificar que el embolocomo tal no toca el limit

switch. ¿ El embolo toca ellimit switch?

Desconectar los cables delos terminales y medir en

los cables de campo.¿Tienen 200 ohmios ?

Forzar en Mark V lasseñales L20CB1X. Verificarel voltaje en los terminales

TB10 22-23.P ¿Hay voltaje?

Verificar actuaciOn de lasolenoide desconectando

tubing hacia la Bleed Valve.¿ Esta pegada laelectrovalvula?

El fusible presentaproblemas?

Falla en el switch Bobina abiertaR/Cambiar la bobina

Problemas de lasalida del Mark V

R/Cambiar canal desalida

La electrovalvula estapegada. Plan demantenimientoinadecuado

Pruebas dearranque. Falla dealimentación por

fusibleR/Reemplazarfusible por uno

adecuado sino teniael del diseño

SI SI

NO SI

SISI

NONO

NO

NO

Actuador atascadoR/Verificar estado de la

empaquetadura

BLEED VALVE

Page 88: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

Alarma LCLFDEN_ALM

Medir voltaje en L20CS1X en TB214,15. ¿ El voltaje es menor de 24

voltios ?

Buscar el rung correspondiente a la logica deL20CS1X y verificar. ¿Falta un permisivo?

Forzar señal L20CS1X y medir voltaje en borbonerade la solenoide ¿ Llegan a 24 VDC ?

Condiciones en la logicaincompletas

R/Corrija el permisivo faltante

Falla en salida de la tarjetaTCDA

R/Cambiar tarjeta TCDA

SI

Medir solenoide abriendo loscables en marshallingTB10(10,11). ¿ Es

aproximadamente 200 ohmios ?

Medir resistencia fusible. ¿El fusibleesta abierto?

Verificar borneras en JB2 1,2.¿Cableado abierto ?

Mark V no coloca voltaje

SI

NO

NO

Mecanismo atascado

NOLazo del solenoide delclutch abierto

Solenoide abiertaR/Reemplazar la

solenoide

Cableado AbiertoR/Cambiar borneras o

cables a spare

SI

SI

Megguear cableado entresolenoide y MP. ¿Bajaresistencia a tierra ?

SI

Cable aterrizado

SI

Inspeccion visual. Verificardezplazamiento suave usando accesorio

mecanico. ¿Encuentra desgaste enestrias en eje de convertidor de torque o

en mordazas ?

Forzar L20CS1X. Verificarcalibracion. ¿ Hay

desplazamiento de balinera demordaza de convertidor ?

Inspeccion visual. ¿Haydeformacion de vastago de gatos

hidraulicos ?

Desgaste en estrias en ejede convertidor de torque o

en mordazasR/Cambio de mordaza

Tiempo de servicio.Dezplazamiento de balinera

de mordaza convertidorR/Calibrar clutch de

acuerdo a especificacionSOM02882

Golpe o Maltrato.Deformacion de vastago de

gatos hidraulicosR/Cambiar cilindro afectado

SI

SISI

NO

Sistema hidráulico no eleva lapresión o no le llega al clutch

NONO

En manometro presion menor de1200 psi?

Colocar manometro a la entrada delos cilindros. Verificar presion. ¿ Lapresion es mucho menor de 1200 psi

a la entrada de los cilindros?

Medir presion en gatoshidraulicos. ¿Medida correcta?

Fallas en la bomba ofallas en la regulacion

de presion

Taponamiento encircuito hidraulico.

Residuos de orings oempaquetaduras

R/Cambio de valvulasolenoide

Mecanismo de laelectrovalvula atascado

SI

SI

SI

SI

CLUTCH

Page 89: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

Alarma: M12-L3NZFLT ó M13-L3NZFLT ó M14-L3NZFLT ó M15-L3NZFLT óM16-L3NZFLT ó M17-L3NZFLT

Simular la señal en el servocorrespondiente desde ACALIB.

¿El mecanismo se mueve ?

¿Al hacer las simulaciones elservo se mueve, pero la

realimentacion permanece igual ?

Simular la señal en el servocorrespondiente desde ACALIB.¿Como observa movimiento del

servo ?

Simular la señal en el servo correspondiente desdeACALIB. ¿ Observa un cambio en el sentido de la

corriente de las tres selenoides ?

La presion en el manometro esaproximadamente 1000 psi ?

El voltaje en los terminales escero (0V) ?

Realimentacion de LVDT nocorresponde con posicion fisica

del mecanismo

Compare la lectura contraindicacion mecanica de la

posicion. ¿El error es maximo 2grados ?

Desacoplar la LVDT y verificarque el vastago se mueva

libremente. ¿La varilla delnucleo esta doblada ?

Inspeccion en Junction Box 4.¿ Se encuentra sulfatacion o

borboneras flojas ?

Mecanismo no se mueve

Medir el voltaje antes y despuesde la barrera. ¿Se tumba

aproximadamente la mitad delvoltaje ?

NO SI

Posible taponamiento en elservo. Taponamiento en

internos del servo por suciedaden el aceite

R/Reemplazar el servo

Posible taponamiento en filtroshidraulicos.Taponamiento en

internos del servo por suciedaden el aceite

R/Reemplazar el servo

Intenta moverseo

Movimiento abrupto

No se mueve

Falla en las bobinas delservo

R/Cambiar el servo en casode encontrar bobinas

abiertas

NO

Falla bomba principal ovalvula de alivio

R/ Check list de stat-upNO

Mark V no coloca voltajeR/Verificar activacion de los

reles de suicidioSI

SI

SINO

otro

esta

do

Perdida de presion

DescalibracionR/Realizar el procedimiento

de calibracion de LVDT

Falla del nucleo movil delLVDT

R/Reemplazar la LVDT

Sulfatacion o borbonerasflojas

R/Reapretar o cambiarborboneras si estan dañadas

Barreras de seguridadintrinseca defectuosa

R/Reemplazar barrera siesta defectuosa. Por

condicion

NO

SI

SI

NO

IGV o NOZZLES

Page 90: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

Alarma: M12-PT2606 ó M12-PT2609 ó M12-TT2602 ó M13-PT2704 ó M13-PT2707 ó M13-TT2702 ó M14-PT2656 ó M14-PT2659 ó M14-TT2652 óM15-PT2754 ó M15-PT2757 ó M15-TT2752 ó M16-PT2906 ó M16-PT2909 ó M16-TT2902 ó M17-PT3004 ó M17-PT3007 ó M17-TT3002

Incremento del proceso NOreal y NO simultaneo en los

dos transmisores

Falla en el sistema operativoR/Corregir sistema operativo o

de ajuste del proceso

Fusible abierto por ratinginadecuado

R/Realizar cambio de fusiblesegun planos as built

Verificar la tendencia de la señal en el IMS delinstrumento evaluando discrepancia. ¿El incremento

del proceso fue real y simultaneo en los dostransmisores ?

SINO

Graficar en estacion de operacion lavariable ¿Encuentra señal inestable ?

La lectura del transmisor que causo el tripesta en cero (0v) ?

Medir voltaje enbornera de salida enmarshalling. ¿Lamedida es 24V ?

SINo llegavoltaje al

transmisorNO

Medir fusible ensalida del

marshallingpanel. ¿Elfusible seencuentraabierto?

SI

Llegavoltaje al

transmisor

SI

Revise bornera. ¿El cableado estadesajustado ?

Medir voltaje deretorno entre o.25 y1.25 VDC, y entre

1 y 5 VDC Laindicacion se

corrigio ?

Cableado de bornerasdesajustado

R/Ajustar cableado deborneras

SI

NO

RamaComun

NO

Mirar historicospara inspeccion dela estabilidad delproceso. ¿Se

presentainestabilidad en el

proceso ?

Inspeccionar nuevoscableados. ¿ Se han

hecho nuevoscableados que nocumplan con la

norma ?

Señal inestable

SICableado de controljunto de potencia

R/Independizar loscircuitos de control con

los de potencia. Encaso de no ser posible

utilizar cableapantallado para el TX

¿La indicacion searreglo?

Inestabilidaden el procesoR/ Evaluarsolucion

¿La indicacionse arreglo?

SI

SI

RamaComun

NO

NO

Simular presion y verificarcalibracion. Esta calibrado ?

NO

NO

NO

Calibrado Realizar la calibracionadecuada. Despues de llevaracabo la calibracion , continua

descalibrado ?

NO

Sacar elinstrumento de

servicio.Verificarsalida de 4mA.La salida es

diferente de 4mA ?

Revisar historia de mantenimiento delinstrumento.Ultima calibracion no debeser superior a un (1) año. La ultimacalibracion es superior a un (1) año ?

SI

La valvula de venteoesta cerrada ?

Verificar que no hayafugas por racores,

tubing, o conectores.¿Hay fugas por

racores,tubing y/oconectores ?

Instalar un medidordruck y comparar

lectura contransmisor. ¿Esigual a la toma de

proceso ?

NO

Despues de haber realizadolas acciones debidas

responder: ¿La indicaciónse arreglo ?

Desajuste delconversor

analogo-digital.Piernas muertaspor la condiciónde montaje delinstrumento de

servicio.R/Realizar unZERO TRIM al

TXR/Realizarcambio de la

unidadsecundaria

electronica encaso de no recibirel ajuste de cero

SISI

Tiempo de servicio NO superioral MTBF

R/Reportar al sistema de gestionde mantenimiento

Tiempo de servicio superioral MTBF

R/Cambiar el instrumento

SINO

NO NOValvula abierta

Valvula cerrada

Fuga por racoresR/Asegurar una buenaconexion y apriete de

los racoresFuga por tubing

debidas a vibracion R/ Colocar anclajes al

tubing

NO

SI

SI

Obstruccion de la toma de proceso.Problema de la valvula de corte.

Taponamiento por residuos en tubing otoma de procesoR/Realizar limpieza

del tubing y toma del instrumentoSI

Despues de haberrealizado las

acciones debidasresponder ¿Laindicacion se

arreglo ?

NO

NO

RamaComun

NO

NO

RamaComun

Hacer simulacion 4-20 mA encampo. Revisar borneras y

cableado. Medir continuidad delcable. ¿Es menor a 50 omhios?

Realizar meggueo del cable. La impedanciadebe ser mayor a 10 Momhios . Medir

impedancia con respecto a tierra. ¿El valormedido es infinito ?

Inspección visual borneras IJB.¿ Borneras en IJB en mal estado por

humedad ?

Cableado abierto R/ Reemplazar cable por spare

Cable aterrizado

Borneras de IJB en mal estado por humedadR/Realizar cambio de borneras. Asegurar quelas borneras no esten en contacto con el riel

Despues de haber realizado lasacciones debidas responder ¿La

indicacion se arreglo ?

SI

SI

NO

NO

NO

SI

Revisar tarjeta de PLC simulandocorriente (i) al DCS a la tarjeta.¿La simulacion es correcta ?

Posible conversor analogo-digital enmal estado (DCS)

R/Evaluar reemplazo de tarjeta

Despues de realizar las accionescorespondientes: ¿La indicacion

se corrigio ?

SINO

NO

Realizar diagnostico utilizando elhandheld HART segun manual del

equipo. Evaluar y ejecutar lasolucion del problema segun

manual referente. ¿Se corrigio laindicacion ?

NO

Problemas en los dispositivoselectronicos

R/Reemplazar unidad electronica

NO

TRANSMISORES

Page 91: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

10

Alarma: M12-L39VCT_ALM ó M13-L39VCT_ALM ó M14-L39VCT_ALM ó M15-L39VCT_ALMó M16-L39VCT_ALM ó M17-L39VCT_ALM

Led Frontal en System MonitorApagado ?

¿Estan las borneras delazo bien apretadas y no

sulfatadas ?

Como esta el estado de Leds deDual Vibration Monitor: LED OK y

LED BYPASS ?Indicación erratica en el display ?

(Ruido)

Inspeccion de juntas deexhosto. ¿Le pegangases calientes a las

junction box?

Inspeccion visual depantallas de cableado.

¿Estan aisladas en ladocampo?

Ruido en la señalSI

Cables sueltosR/Reapretar

las borbonerasen todo el lazo

Cables conaterrizamientoinadecuado. Las

pantallas expuestas enlado proximitor

R/Aislar las pantallasque esten expuestas y

aterrizandose en campo

Alta temperatura enproximitor. Gases

calientes le pegan a lasjunction box

R/Corregir las fugas degases calientes por la

junta del exhosto

NO

NO

SI

Falla en fuente oSystem Monitor

Los siete (7) ledsinternos de System

Monitor estanAPAGADOS ?

ALGUN Led interno enSystem Monitor esta

apagado ?

SI

Falla alimentación de110VAC

Fusible abierto y 110VAC presentes DC ?

Leds :LED OK Apagado

LED BYPASS encendido

Leds diferente de :LED OK Apagado

LED BYPASS encendido

SI

Hay voltaje en breakerde alimentación ?

Falla interna enSystem Monitor carga

breaker.R/Retirar todas lastarjetas del rack.

Reemplazar el fusibley empezar a insertartarjetas hasta que seidentifique la que falla

Falla externaen 110VACR/Verificarestado de la

UPS

SI

NO

Corto en modulos DualVibration Monitor cargan al

System Monitor

Retire todas las tarjetas(excepto fuente y System

Monitor). Insertar una a unay determinar estado de losleds. ¿Se encuentra algun

led apagado ?

Retire todas lastarjetas (excepto fuente

y system monitor).¿ Persiste led

apagado?

Modulo en fallaR/Reemplazar elmódulo que carga

la fuente

Fuente delrack en falla

R/Cambiar lafuente

SI

SI

Desconectar el cable en losdos extremos (lado

proximitor y lado monitor)Aplicar megger. ¿La medida

es menor a 100K ?

LED OK titilaLED BYPASS apagado

Falla interna.Verificar codigo de barra haciendo

corto entre ST.Codigo en barra =___________?

Desconectar elconector miniaturadel cable coaxial

del cable deextension delproximitor.

Asegurar que losconectores seencuentren enbuen estado y

limpios. Con unmultimetro medirla resistencia entre

los conductoresexternos e internosdel conjunto probe

y cable deextension teniendoen cuenta que el

valor de laresistencia

depende del tipo desonda y la longitud

del cable deextension. ¿Laresistencia esta

entre 7 y 11ohmios ?

NOSI

Falla en cableproximitor

R/Reemplazarel cable coaxial(sensor-proxi

mitor)

Posible falla enproximitorR/.Realizarpruebas de

laboratorio conel equipo

especializado

El LED OK esta:___________?El LED BYPASS esta:_________?

LED OK apagadoLED BYPASS apagado

LED OK apagadoLED BYPASS encendido

Falla interna irrecuperableR/Reemplazar el modulo

Proximitor aterrizado.R/Reemplazar el proximitor

Cableado aterrizadoR/Reemplazar el cable por

un spare

Falla en fuente de monitor omodulo de rele de la

entrada.R/Reemplazar el modulo.

Si continua bajo reemplazarel modulo rele

Medir voltaje en Proximitor.Verificar modulo y cableado.

¿ Mide 24VDC ?

Desconectar cables del sensoren falla y medir voltaje. ¿Es

menor a 23 voltios?SI

SI

NO

Codigo en barra = 2

Codigo en barra = 3

Codigo en barra = 5

Codigo en barra = 8

Falla en la ROMR/ Reemplace el modulo

Falla en la EEPROMR/Reemplazar el modulo

7.5V nodo fuera de rangoR/Reemplazar el modulo

MVREF nodo fuera derango

R/ Reemplazar el modulo

VIBRACIÓN

Page 92: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO E: LICENCIA DE FUNCIONAMIENTO DE CLIPS

A continuación se presenta la información referente a la licencia, e información de CLIPS, que

se encuentra en la página de Internet http://www.ghg.net/clips/Download.html.

CLIPS Download Area This is the primary site for obtaining the latest release of CLIPS. The current release is CLIPS 6.2 and is available in the the Download Area.

CLIPS License Information

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

CLIPS is released as public domain software and as such you are under no obligation to pay for its use. However, if you derive commercial or monetary benefit from use of the software or just want to show support, please consider making a voluntary payment based on the worth of the software to you as compensation for the time and effort required to develop and maintain CLIPS. Payments can be made online at http://order.kagi.com/?JKT.

Enter Download Area

Page 93: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

CLIPS User Registration

Please take a few minutes to register CLIPS by sending email to [email protected] where YYYY is the current year (for example, 2004). Include the words 'CLIPS REGISTRATION' in your subject line. Indicate your company/government/university affiliation (if any), what version of CLIPS you are using, the source of your copy (CLIPS web site, textbook, etc.), and any other information you'd like to provide about your use of CLIPS.

Downloaded File Types

Most of the documentation at this site is stored in Portable Document Format (PDF) which requires Adobe Acrobat Reader. This program can be downloaded from http://www.adobe.com/prodindex/acrobat/readstep.html. Compressed files at the CLIPS web set are stored in several formats: zip (primarily for PC users), sit.hqx (for MacOS users), and tar.Z (for Unix users). If your web browser does not automatically unzip any downloaded zip files, utilities for performing this task can be found at http://www.shareware.com/. Select the appropriate operating system and search for unzip. For sit.hqx files, select Macintosh and search for stuffit-expander. For Unix users, the Unix uncompress and tar commands should be used for extracting files from tar.Z archives.

Other Sources for Obtaining CLIPS

Expert Systems: Principles and Programming, 3rd Edition, by Giarratano and Riley (ISBN 0-534-95053-1 from Thomson Learning) comes with a CD-ROM containing CLIPS 6.05 executables, source code, and documentation. The first half of the book is theory oriented and the second half covers rule-based programming using CLIPS.

Back to CLIPS Home Page.

Last Update May 22, 2004 Gary Riley

Page 94: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO F: CARTAS ADJUNTAS

A continuación se adjunta una copia de:

La carta que se le presentó al Ingeniero de Control en Cusiana, en la que se hace

entrega del SISTEMA EXPERTO EoS para que permanezca en periodo de prueba en el

Control Room.

La carta en la que se manifiesta la aprobación del SISTEMA EXPERTO EoS, en cuanto

que cumplía con los propósitos trazados desde el inicio del proyecto.

Page 95: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

Bogotá, Agosto 29 de 2004. Ingeniero, RUBÉN SOLER Ingeniero de Control Cusiana EQUIPO DE SERVICIOS PETROLEROS LTDA..

Estimado Ruben,

Hacemos entrega del SISTEMA EXPERTO EoS, con el fin de que sea instalado en el

Control Room de Cusiana, para realizar las pruebas del trabajo de grado titulado:

“Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la

extracción de petróleo”, el cual se desarrolla en conjunto con BP Exploration

Company Colombia Ltda. y Equipo de Servicios Petroleros Ltda.

A partir de la fecha de instalación, el SISTEMA EXPERTO EoS permanecerá en

periodo de prueba durante 1 (uno) mes.

Cordialmente,

GINA PAOLA PULIDO URIZA C.C. 52809846 de Bogotá Estudiante Ingeniería Electrónica. VIVIANA ESPINOSA ROJAS C.C. 52805772 de Bogotá Estudiante de Ingeniería Electrónica.

Page 96: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

Bogotá, Octubre 3 de 2004. Señoritas, VIVIANA ESPINOSA R GINA P PULIDO U Pontificia Universidad Javeriana E. S. M.

Respetadas señoritas,

Como Ingeniero de Control de Cusiana, y persona a cargo del desarrollo y supervisión

del SISTEMA EXPERTO EoS en la planta, manifiesto mi aceptación al proyecto e

informo que recibo a conformidad el SISTEMA EXPERTO EoS, previas correcciones

definidas, para ser presentado de manera formal el 17 de Octubre de 2004 en el CPF

de Cusiana.

El sistema contiene las herramientas y funcionalidades que se definieron al momento

de formular el proyecto, y suple las necesidades para las cuales está diseñado.

Cordialmente,

RUBÉN DARÍO SOLER Ingeniero de Control. Equipo de Servicios Petroleros Ltda. Teléfono: (1) 6284700 Ext 6383. CPF Cusiana, Casanare.

Page 97: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO G: REPORTES EoS

A continuación se presentan los reportes generados por el SISTEMA EXPERTO EoS al realizar

las últimas pruebas en campo (Cusiana) el 4 de Octubre de 2004.

Se realizaron dos pruebas:

1. En modo Análisis de Eventos: Se utilizó como Archivo de entrada un archivo de

texto con las características requeridas y se realizó el análisis del evento. El tag de la

Alarma de Disparo que se utilizó fue M17-TESTLEVEL y el estado de disparo fue

ALARM. A esta alarma se asoció el Árbol de Conocimiento IGV o Nozzless.

El nombre del archivo donde se almaceno el Reporte EoS es:

M17-TESTLEVEL--AnalisisEventos--2004-10-3--16;33;22.Txt

2. En modo Real: Se simuló una alarma cuyo tag y estado de disparo eran M17-

TESTLEVEL y ALARM respectivamente. El Sistema de Captura y Filtraje la recibía por

puerto serial y generaba el archivo que era la entrada del SISTEMA EXPERTO EoS. A

esta alarma se asoció el Árbol de Conocimiento IGV o Nozzless.

El nombre del archivo donde se almaceno el Reporte EoS es:

M17-TESTLEVEL--2004-10-3--16;37;36.Txt

De esta prueba se efectuó un video en el cual se muestra el modo de su realización.

9 REPORTE EoS: MODO ANÁLISIS DE EVENTOS

SISTEMA EXPERTO EOS. ANALISIS DE EVENTOS realizados por el usuario. 1. No se ingreso el nombre de la persona que realizo el proceso. 2. Tags de las alarmas relacionadas con el proceso realizado por el SISTEMA EXPERTO EoS. El primer tag corresponde a la Alarma de Disparo del proceso, y los demas a las Alarmas Secundarias. M17-TESTLEVEL (SS-L28FDB5) (SS-L28FDB2) (SS-L28FDB3)

Page 98: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

(SS-L28FDB7) (SS-L28FDB8) 3. Informacion correspondiente a la Alarma de Disparo del proceso: TAG DE LA ALARMA DE DISPARO: M17-TESTLEVEL DESCRIPCION DE LA ALARMA DE DISPARO: TB 1StgProcGCompFlt ESTADO DE LA ALARMA DE DISPARO: Alarm alarm FECHA DE LA ALARMA DE DISPARO: 10/3/2004 HORA DE LA ALARMA DE DISPARO: 4:33:04 PM 4. El SISTEMA EXPERTO EoS no encontro causas de la falla. 5. Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla: ALARMA DE DISPARO: M17-TESTLEVEL 10/3/2004 4:33:22 PM (CAUSAS (ANTECEDENTES "(IGV o Nozzles): ALARMA IGV o Nozzles ")) (CAUSAS (ANTECEDENTES "(IGV o Nozzles): IGV o Nozzles no se mueven")) 6. El SISTEMA EXPERTO EOS no genero recomendaciones correctivas. 7. Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas del usuario: ALARMA DE DISPARO: M17-TESTLEVEL 10/3/2004 4:33:06 PM PREGUNTA 1: ACCION: Simular la seNal en el servo correspondiente desde ACALIB. PREGUNTA: El mecanismo se mueve ? RESPUESTA 1: SI (4:37:26 PM) PREGUNTA 2: Al hacer las simulaciones el servo se mueve, pero la realimentacion permanece igual ? RESPUESTA 2: NO (4:37:36 PM) Numero de preguntas realizadas por el sistema experto en el proceso: 2 8. No hay observaciones adicionales realizadas por el usuario. 9. Informacion detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS. (Tag de la alarma, Descripcion de la alarma, Estado de la alarma, Fecha en que ocurrio la alarma, Hora en que ocurrio la alarma.) SS-L28FDB1 Flash Gas Drum MV < L1 40.00 psig 04-01-31 00:26:07:649 L U1-TIC5409 T1 Teg Super Heater MV > H1 440.00 degF 04-01-31 00:26:37:234 L M13-L28FDB Flame - Chamber #3 Status Off 04-01-31 00:27:34:375 L U1-TIC5409 T1 Teg Super Heater MV > H1 440.00 degF 04-01-31 00:36:58:234 L SS-L28FDB5 T1 Teg Super Heater MV > H1 440.00 degF 04-01-31 00:37:59:234 L M13-L28FDB Flame - Chamber #3 Status On 04-01-31 00:38:46:375 L M17-TESTLEVEL TB 1StgProcGCompFlt Alarm alarm 04-01-31 00:38:18:078 L SS-L28FDB2 Flame - Chamber #3 Status Off 04-01-31 00:39:10:375 L P1-LI4204 P1-V-42001 LEVEL LALL Normal 04-01-31 00:39:38:531 L M11-L3NZFLT TA MpSep Oil/H2o Lvl MV > H1 60.00 % 04-01-31 00:40:07:234 L SS-L28FDB3 TA 2StgDiscClr Out MV < L1 100.00 degF 04-01-31 00:40:48:229 L P1-XA2454 TB 1StgProcGCompFlt Alarm Active 04-01-31 00:40:51:442 L M13-L28FDB Flame - Chamber #3 Status On 04-01-31 00:42:47:375 L SS-L28FDB7 cM1 RTU Door Status Open 04-01-31 00:41:42:416 L PP-L28FDB2 T1 Teg Super Heater MV > H1 440.00 degF 04-01-31 00:42:38:239 L

Page 99: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

M13-L28FDB Flame - Chamber #3 Status Off 04-01-31 00:43:34:375 L W168XA27x20 cM1 RTU Door Status Closed 04-01-31 00:42:34:416 L SS-L28FDB8 T1 Teg Super Heater MV > H1 440.00 degF 04-01-31 00:43:42:234 L U1-XA5426 T3 Burner Management SHUTDOWN Cleared 04-01-31 01:18:53:118 L 11. Nombre del archivo que el usuario utilizo para realizar el ANALISIS DE EVENTO. C:\SistemaExperto\Eventos\Evento1.txt

10 REPORTE EoS: MODO REAL

SISTEMA EXPERTO EOS. 1. No se ingreso el nombre de la persona que realizo el proceso. 2. Tags de las alarmas relacionadas con el proceso realizado por el SISTEMA EXPERTO EoS. El primer tag corresponde a la Alarma de Disparo del proceso, y los demas a las Alarmas Secundarias. M17-TESTLEVEL 3. Informacion correspondiente a la Alarma de Disparo del proceso: TAG DE LA ALARMA DE DISPARO: M17-TESTLEVEL DESCRIPCION DE LA ALARMA DE DISPARO: ESTADO DE LA ALARMA DE DISPARO: LALL Alarm FECHA DE LA ALARMA DE DISPARO: 3/10/2004 HORA DE LA ALARMA DE DISPARO: 11:34:55 AM 4. El SISTEMA EXPERTO EoS no encontro causas de la falla. 5. Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla: ALARMA DE DISPARO: M17-TESTLEVEL 10/3/2004 4:37:36 PM (CAUSAS (ANTECEDENTES "(IGV o Nozzles): ALARMA IGV o Nozzles ")) (CAUSAS (ANTECEDENTES "(IGV o Nozzles): IGV o Nozzles no se mueven")) 6. El SISTEMA EXPERTO EOS no genero recomendaciones correctivas. 7. Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas del usuario: ALARMA DE DISPARO: M17-TESTLEVEL 10/3/2004 4:37:02 PM PREGUNTA 1: ACCION: Simular la seNal en el servo correspondiente desde ACALIB. PREGUNTA: El mecanismo se mueve ? RESPUESTA 1: SI (4:37:26 PM) PREGUNTA 2: Al hacer las simulaciones el servo se mueve, pero la realimentacion permanece igual ? RESPUESTA 2: NO (4:37:36 PM) Numero de preguntas realizadas por el sistema experto en el proceso: 2

Page 100: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

8. No hay observaciones adicionales realizadas por el usuario. 9. Informacion detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS. (Tag de la alarma, Descripcion de la alarma, Estado de la alarma, Fecha en que ocurrio la alarma, Hora en que ocurrio la alarma.) "M17-L3VMTM_ALM Vib/Temp Monitor Device Normal 3/10/2004 4:21:48 AM ","M17-L28FD_ALM Flame Detector Status Normal 3/10/2004 4:30:21 AM ","M17-L28FDC Flame - Chamber #10 Status Off 3/10/2004 4:30:21 AM ","M17-SFog_LowFlow_SD Shutdown Package Tripped 3/10/2004 4:59:36 AM ","M17-L28FDB Flame - Chamber #3 Status On 3/10/2004 5:46:40 AM ","M17-L28FD_ALM Flame Detector Status Alarm 3/10/2004 5:47:00 AM ","M17-L28FDC Flame - Chamber #10 Status On 3/10/2004 5:47:00 AM ","M17-L28FDB Flame - Chamber #3 Status Off 3/10/2004 5:47:00 AM ","M17-L28FDB Flame - Chamber #3 Status On 3/10/2004 5:58:55 AM ","M17-L28FDB Flame - Chamber #3 Status Off 3/10/2004 5:59:06 AM ","M17-SFog_LowFlow_SD Shutdown Package Normal 3/10/2004 6:50:05 AM ","M17-L18VGA_ALM Gear Box Acceleratn Alarm Normal 3/10/2004 6:57:11 AM ","C3-TI3006 T3 HpCompDiscClr Out TAL Normal 3/10/2004 9:15:09 AM ","M17-TESTLEVEL LALL Normal 3/10/2004 11:32:06 AM ","M17-TESTLEVEL LALL Alarm 3/10/2004 11:34:55 AM ","M17-TESTLEVEL LALL Normal 3/10/2004 11:36:46 AM ","M17-TESTLEVEL LALL Alarm 3/10/2004 11:37:42 AM ","M17-TESTLEVEL LALL Normal 3/10/2004 11:46:43 AM ","M17-TESTLEVEL LALL Alarm 3/10/2004 11:48:24 AM ","M17-TESTLEVEL LALL Normal 3/10/2004 3:37:19 PM ","M17-TESTLEVEL LALL Alarm 3/10/2004 3:37:54 PM ","M17-TESTLEVEL LALL Normal 3/10/2004 3:39:42 PM ","M17-TESTLEVEL LALL Alarm 3/10/2004 4:18:38 PM ","M17-TESTLEVEL LALL Normal 3/10/2004 4:20:43 PM ","M17-TESTLEVEL LALL Alarm 3/10/2004 4:22:28 PM ","M17-TESTLEVEL LALL Normal 3/10/2004 4:24:36 PM ","M17-TESTLEVEL LALL Alarm 3/10/2004 4:29:18 PM ","M17-TESTLEVEL LALL Normal 3/10/2004 4:29:42 PM ","M17-TESTLEVEL LALL Alarm 3/10/2004 4:32:06 PM

Page 101: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

MANUAL DE USUARIO: Sistema Experto EoS

Esta guía le ayudará a usar de manera correcta el SISTEMA EXPERTO EoS, partiendo desde

como instalarlo y ejecutarlo, hasta aprender a conocer los usos y la manera de interpretar

correctamente la información, opciones y facilidades que brinda el sistema. Este manual hace

referencia detallada de la función y operación de cada una de las partes que componen el

SISTEMA EXPERTO EoS.

Page 102: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

TABLA DE CONTENIDO

TABLA DE CONTENIDO .......................................................................................1 LISTA DE FIGURAS ..............................................................................................2 INTRODUCCIÓN ....................................................................................................4 1. FUNCIONAMIENTO GENERAL DEL SISTEMA EXPERTO EoS ................5 1.1 SISTEMA DE CAPTURA Y FILTRAJE ...............................................................5 1.2 SISTEMA EXPERTO EoS .................................................................................6 2. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS ................................................8 3. INSTALACIÓN Y EJECUCIÓN DEL SISTEMA .......................................................9 3.1 PASOS PRELIMINARES ..................................................................................9 3.2 INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS .....................................10 4. MODO DE PRUEBA DE CLIPS ...........................................................................14 5. ESTADO DEL SISTEMA EXPERTO EoS ..............................................................15 6. INFORMACIÓN DE LA ALARMA DE DISPARO ..................................................16 7. PREGUNTAS FORMULADAS POR EL SISTEMA EXPERTO EoS............................17 8. HISTORIAL DE PREGUNTAS Y RESPUESTAS ....................................................19 9. CAUSAS EoS....................................................................................................20 10. RECOMENDACIONES EoS ............................................................................21 11. PROCESO EoS ..............................................................................................22 12. OBSERVACIONES DEL USUARIO .................................................................23 13. MODO ANÁLISIS DE EVENTOS ....................................................................25 14. REPORTES EoS ............................................................................................27 15. BARRA DE HERRAMIENTAS ........................................................................30 15.1 DETENER ....................................................................................................30 15.2 GUARDAR...................................................................................................30 15.3 BORRAR .....................................................................................................31 15.4 REPORTES...................................................................................................32 15.5 OCULTAR EoS .............................................................................................33 16. BARRA DE MENÚ DEL SISTEMA EXPERTO EoS ............................................35 16.1 MENÚ ARCHIVO..........................................................................................35 16.2 MENÚ PREFERENCIAS.................................................................................35 16.2.1 ESTILO FUENTE ......................................................................................35 16.2.2 COLOR FUENTE.......................................................................................36 16.2.3 COLOR FONDO........................................................................................36 16.2.4 VALORES PREDETERMINADOS ...............................................................37 16.3 MENÚ AYUDA.............................................................................................37 16.3.1 MANUAL DE USUARIO ............................................................................37 16.3.2 ACERCA DEL SISTEMA EXPERTO EoS…...................................................37 17. AYUDA DINÁMICA DEL SISTEMA EXPERTO EoS..........................................38 18. GLOSARIO ..................................................................................................39

Page 103: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

LISTA DE FIGURAS

Figura 1: Lista de alarmas que se muestra en la interfaz del Sistema de Captura y Filtraje. Se detalla: Tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma................................................................................................................................5 Figura 2: Archivo de Entrada del SISTEMA EXPERTO EoS. ........................................6 Figura 3: Esquema de entradas y salidas del SISTEMA EXPERTO EoS........................7 Figura 4: Ubicación de la carpeta EJERVG en C\ ............................................................9 Figura 5: Pantalla de instalación de Framework.exe. .....................................................10 Figura 6: Archivo de texto DataPathAlarms, ubicado en C:, el cual contiene la ruta de acceso donde se crearán las carpetas Eventos y Reportes SisExpEoS............................10 Figura 7: Icono del SISTEMA EXPERTO EoS. ............................................................10 Figura 8: Ventana del Sistema de Captura y Filtraje y ventana de CLIPS. ...................11 Figura 9: Linea de código para activar el programa CLIPS............................................11 Figura 10: Pantalla con código en CLIPS. ......................................................................12 Figura 11: Minimizar la ventana de CLIPS. ...................................................................12 Figura 12: Ventana MENÚ PRINCIPAL. ......................................................................13 Figura 13: Ventana principal del SISTEMA EXPERTO EoS. .......................................13 Figura 14: Indicación del estado de CLIPS.....................................................................14 Figura 15: Mensaje de error que indica al usuario que los componentes del SISTEMA EXPERTO EoS NO están trabajando correctamente......................................................14 Figura 16: Señal en la ventana principal del SISTEMA EXPERTO EoS, que indica cuando se está ejecutando un proceso.............................................................................15 Figura 17: Información de la alarma de disparo. Se muestra cuando el sistema inicia un proceso. ...........................................................................................................................16 Figura 18: Información cuando no hay Alarmas de Disparo en el Archivo de Entrada. 16 Figura 19: Presentación de las preguntas que formula el SISTEMA EXPERTO EoS al usuario. ............................................................................................................................17 Figura 20: Señal en la ventana principal del SISTEMA EXPERTO EoS, que indica cuando hay una pregunta activa, es decir cuando se está en espera de la respuesta del usuario. ............................................................................................................................17 Figura 21: Ejemplo de una pregunta formulada al usuario, antecedida por una acción requerida por el usuario...................................................................................................18 Figura 22: Historial de preguntas y respuestas que se crea a medida que transcurre el proceso. ...........................................................................................................................19 Figura 23: Presentación de CAUSAS EoS .....................................................................20 Figura 24: Presentación de RECOMENDACIONES EoS. ............................................21 Figura 25: Presentación de PROCESO EoS. ..................................................................22 Figura 26: El usuario puede ingresar su nombre y las observaciones adicionales, que considere convenientes....................................................................................................23 Figura 27: Mensaje que se muestra al usuario al finalizar el proceso.............................23 Figura 28: El botón FINALIZAR se muestra intermitente después de haberse concluido el proceso. Permite al usuario ingresar la información de nombre y observaciones adicionales.......................................................................................................................24 Figura 29: Para analizar eventos de manera manual.......................................................25

Page 104: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

Figura 30: Ejemplo de un Archivo de Eventos. ..............................................................26 Figura 31: Ruta de acceso y nombre del archivo con el que se está realizando el análisis..........................................................................................................................................26 Figura 32: Botón de Reportes. ........................................................................................27 Figura 33: Botón detener.................................................................................................30 Figura 34: Detener el proceso utilizando el menú Archivo. ...........................................30 Figura 35: Botón Guardar. ..............................................................................................31 Figura 36: Guardar la información relacionada con el el proceso utilizando el menú Archivo............................................................................................................................31 Figura 37: Ventana para escoger la ruta de acceso donde el usuario desea guardar la información referente al proceso.....................................................................................31 Figura 38: Botón Borrar ..................................................................................................32 Figura 39: Borrar la información relacionada con el el proceso utilizando el menú Archivo............................................................................................................................32 Figura 40: Botón de Reportes. ........................................................................................32 Figura 41: Ventana para escoger el archivo del Reporte EoS que el usuario desea ver. 33 Figura 42: Ver los Reportes utilizando el menú Archivo ...............................................33 Figura 43: Botón Ocultar EoS.........................................................................................33 Figura 44: Ocultar la ventana principal del SISTEMA EXPERTO EoS utilizando el menú Archivo..................................................................................................................34 Figura 45: Submenús del menú preferencias. .................................................................35 Figura 46: Ventana que permite cambiar el tipo, tamaño y estilo de letra de los diferentes cuadros de texto..............................................................................................35 Figura 47: Presentación de una ventana después de haber personalizado el Estilo de la Fuente..............................................................................................................................36 Figura 48: Ventana que permite cambiar el color de letra de los diferentes cuadros de texto.................................................................................................................................36 Figura 49: Presentación de una ventana después de haber personalizado el Color de la Fuente..............................................................................................................................36 Figura 50: Presentación de una ventana después de haber personalizado el Color de Fondo. .............................................................................................................................37 Figura 51: Submenús del menú Ayuda. ..........................................................................37 Figura 52: Modo para acceder a este MANUAL DE USUARIO en formato digital. ....37 Figura 53: Información de ayuda para el usuario, en la que se indica la función de cada control. (En este caso se muestra la función de la ventana inferior derecha que revela el estado de CLIPS.) ...........................................................................................................38

Page 105: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

INTRODUCCIÓN

Bienvenidos al SISTEMA EXPERTO EoS, un programa fácil de usar que le ayudará a

diagnosticar, y hallar las causas de algunas fallas que se presentan en los turbocompresores de

“BP Exploration Company” Colombia Ltda ubicados en el CPF80 de Cusiana, Casanare.

Esta guía le ayudará a usar de manera correcta el programa, desde como instalarlo y

ejecutarlo, hasta aprender a conocer los usos y la manera de interpretar correctamente la

información, opciones y facilidades que brinda el sistema.

Este manual hace referencia detallada de la función y operación de cada una de las partes que

componen el SISTEMA EXPERTO EoS. Es adecuado familiarizarse previamente con la operación

del programa, para conocer y manejar de forma apropiada las opciones que tiene y la

información que genera.

Acerca de…

El desarrollo del SISTEMA EXPERTO EoS, se realizó como tesis de grado titulada “Gestión de

fallas con diagnóstico experto para turbocompresores utilizados en la extracción de

petróleo”, por las Ingenieras Electrónicas Viviana Espinosa Rojas y Gina Paola Pulido Uriza, de

la Pontificia Universidad Javeriana, bajo la dirección del Ingeniero Adolfo León Recio y la

asesoría del Ingeniero Jose Fernando Vega y el Ingeniero Alejandro Forero Guzmán. Se

desarrolló en las empresas “BP Exploration Company Colombia Ltda” Y “Equipo De Servicios

Petroleros Ltda” bajo el conocimiento, asesoría y requerimientos del Ingeniero Carlos Olarte,

Superintendente (R) de operaciones de Cusiana de “BP Exploration Company Colombia Ltda.” y

el Ingeniero Rubén Soler, sección de Control en Cusiana de “Equipo de Servicios Petroleros

Ltda.” Su instalación se realizó en BP Exploration Company Colombia Ltda en Cusiana, Casanare

en octubre de 2004.

Para conocer la estructura de programación, modo de alimentar el sistema experto y aspectos

más específicos del funcionamiento del SISTEMA EXPERTO EoS remítase al Manual Técnico De

Usuario. El código fuente del programa se encuentra en el archivo Código de programación del

SISTEMA EXPERTO EoS.

80 CPF de Cusiana: Central Production Facilities. Planta de extracción de petróleo ubicada en Cusiana, Casanare.

Page 106: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

FUNCIONAMIENTO GENERAL DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS interactúa con el Sistema de Captura y Filtraje de las alarmas,

previamente desarrollado e instalado en el Control Room81 de Cusiana; donde trabajan de

forma coordinada y bajo la misma interfaz.

SISTEMA DE CAPTURA Y FILTRAJE

Se encarga de recibir constantemente las alarmas que generan los diferentes equipos que

intervienen en el proceso de extracción de petróleo en Cusiana, Casanare y mostrarlas de

manera detallada en pantalla.

Figura 16: Lista de alarmas que se muestra en la interfaz del Sistema de Captura y Filtraje. Se detalla: Tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma.

Cuando recibe la información de una alarma que está directamente relacionada con la parada

de un turbocompresor, (a la que denominaremos “Alarma de disparo”) el sistema genera un

archivo de texto con la información de los sesenta (60) minutos anteriores y el (1) minuto

posterior a la alarma. Este archivo será la entrada del SISTEMA EXPERTO EoS.

81 Control Room: Es el cuarto de control donde se reportan las alarmas de los equipos que se encuentran en el CPF de Cusiana, Casanare.

Page 107: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

Figura 17: Archivo de Entrada del SISTEMA EXPERTO EoS.

SISTEMA EXPERTO EoS

Tiene como entrada el archivo de texto que genera el Sistema de Captura y Filtraje cuando

ocurre una Alarma de Disparo82. Este archivo lo llamaremos Archivo de Entrada.

Cuando el SISTEMA EXPERTO EoS empieza un nuevo proceso, también analiza las alarmas que

se encuentran en el Archivo de Entrada del sistema, que no son Alarmas de Disparo83 pero

están relacionadas con los turbocompresores, (a las que denominaremos “Alarmas

secundarias”); y formula una serie de preguntas al usuario con las que realiza el proceso de

inferencia, el cual arroja como resultado las siguientes salidas:

Posibles causas que generaron la falla: Causas EoS. (Sección 0 de este manual.)

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS. (Sección 0

de este manual.)

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS. (Sección 0 de este manual.)

82 El archivo al que se refiere la Figura 17. 83 Alarma de Disparo: Remítase a la sección 0. de este Manual.

Page 108: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

Figura 18: Esquema de entradas y salidas del SISTEMA EXPERTO EoS.

La información adicional que el SISTEMA EXPERTO EoS presenta al usuario, como parte del

análisis que realiza es:

Información referente a la Alarma de Disparo: Información de la alarma de

disparo. (Sección 0 de este manual.)

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por

el usuario: Historial de preguntas y respuestas. (Sección 0 de este manual.)

Reporte con la información de entrada, salida y adicional. Este reporte se genera en

formato de texto (*.Txt) al terminar el proceso: Reporte EoS. (Sección 0 de este

manual.)

SISTEMA EXPERTO EoS

Archivo de Entrada: Archivo de texto que genera el Sistema de Captura y Filtraje.

CausasRecomendacioProceso

Page 109: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

REQUERIMIENTOS DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS está soportado bajo ambiente Windows, por lo tanto para su

correcta ejecución se necesita un computador personal con las siguientes características:

Hardware: Procesador Pentium II® o superior.

RAM: 128 MB o superior.

Disco duro: 12 GB o superior.

Software: Windows 98 o superior.

CLIPS.84

Para el correcto funcionamiento del SISTEMA EXPERTO EoS es necesario que trabaje

simultáneamente con el Sistema de Captura y Filtraje y con CLIPS.

Para una correcta visualización, se debe usar una resolución de pantalla de 768 píxeles máximo.

Tenga presente que:

En algunos casos el SISTEMA EXPERTO EoS no presenta al usuario las palabras con

tildes, para evitar errores de caligrafía.

Algunas palabras que contienen la letra ñ, se presentarán con la letra n.

84 CLIPS: Herramienta especializada de software para la elaboración de sistemas expertos.

Page 110: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

INSTALACIÓN Y EJECUCIÓN DEL SISTEMA

El SISTEMA EXPERTO EoS, en su composición, está dividido en dos programas:

3. Interfaz gráfica: Es el programa con el que el usuario interactúa, y donde se

muestra la información de interés para éste. La interfaz gráfica la comparte con el

Sistema de Captura y Filtraje.

4. CLIPS: Es un programa que trabaja de manera regular y sincrónica con la interfaz

gráfica. Realiza el proceso de inferencia y genera la información que se muestra al

usuario.

El correcto funcionamiento de cada uno de ellos hace que el SISTEMA EXPERTO EoS trabaje

adecuadamente, de forma que es indispensable que ambos programas se ejecuten

simultáneamente y de manera correcta como se indica a continuación.

PASOS PRELIMINARES

Copiar la carpeta EJERVG,y SistemaExperto, y el archivo de texto DataPathAlarms.Txt85

en el disco duro C:\ de su computador. El usuario NO debe modificar ninguno de los

archivos que allí se encuentran puesto que puede afectar el correcto funcionamiento

del sistema. Asegúrese que las carpetas NO sean de solo lectura.

Figura 19: Ubicación de la carpeta EJERVG en C\

Ejecutar el archivo “FrameWork.exe” que se encuentra en la carpeta C:\EJERVG, e

instalar el componente en su computador.

85 Los tres elementos se encuentran en el CD de instalación del SISTEMA EXPERTO EoS

Page 111: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

10

Figura 20: Pantalla de instalación de Framework.exe.

El archivo de texto ubicado en C:\ denominado “DataPathAlarms.Txt”, especifica la ruta

donde se crean las carpetas Eventos y Reportes SisExpEOS que se utilizarán

posteriormente durante la ejecución del programa. La ruta de acceso será

C:\SistemaExperto\

Figura 21: Archivo de texto DataPathAlarms, ubicado en C:\, el cual contiene la ruta de acceso donde se crearán las carpetas Eventos y Reportes SisExpEoS.

INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS

Copiar el archivo “SISTEMA EXPERTO EoS.exe”86 en su disco duro (se recomienda el

escritorio), puesto que es el que se usará en situaciones posteriores cuando se requiera

abrir nuevamente el sistema.

Figura 22: Icono del SISTEMA EXPERTO EoS.

86 Sistema Experto EoS.exe se encuentra en C:\EJERVG\SistemaExperto

Page 112: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

11

En la pantalla se mostrará la ventana del Sistema de Captura y Filtraje y la ventana de

CLIPS trabajando sobre DOS.

Figura 23: Ventana del Sistema de Captura y Filtraje y ventana de CLIPS.

Escriba en la línea de comando de la ventana de CLIPS:

(batch C:\EJERVG\PROGRAMAGLOBAL.CLP)

Figura 24: Linea de código para activar el programa CLIPS.

Presione la tecla Enter. Observará en pantalla algunas líneas de código como las que se

muestran a continuación.

Page 113: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

12

Figura 25: Pantalla con código en CLIPS.

Minimice la ventana de CLIPS.

Figura 26: Minimizar la ventana de CLIPS.

Haga doble clic sobre el icono de “SISTEMA EXPERTO EoS.exe.” A continuación se

mostrará la ventana con el MENÚ PRINCIPAL.

Page 114: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

13

Figura 27: Ventana MENÚ PRINCIPAL.

Esta permite seleccionar entre el Sistema de Captura y Filtraje, el SISTEMA EXPERTO EoS, y

salir del programa. Ambos sistemas estarán funcionando simultáneamente, sin importar la

ventana que escoja el usuario para mostrar en pantalla.

Haga clic sobre SISTEMA EXPERTO EoS. A continuación se mostrará la ventana

principal de EoS.

Figura 28: Ventana principal del SISTEMA EXPERTO EoS.

La instalación del SISTEMA EXPERTO EoS ha terminado.

Page 115: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

14

MODO DE PRUEBA DE CLIPS

Para comprobar que el programa CLIPS está funcionando de manera regular y sincrónica con la

interfaz gráfica, el SISTEMA EXPERTO EoS presenta al usuario en la esquina inferior derecha de

la ventana principal una indicación con el estado del programa.

Figura 29: Indicación del estado de CLIPS.

Existen dos posibles estados que indican el comportamiento de CLIPS:

Trabajando: Indica que los dos componentes del SISTEMA EXPERTO EoS (Interfaz

gráfica y CLIPS) están trabajando correctamente.

REINICIAR: Indica que los dos componentes del SISTEMA EXPERTO EoS (Interfaz

gráfica y CLIPS) NO están trabajando correctamente y por lo tanto es necesario cerrar

ambos programas y posteriormente volver a abrirlos. (Es decir realizar la sección 0 de

este manual.) Adicionalmente, se le indica al usuario por medio de un mensaje de

texto.

Figura 30: Mensaje de error que indica al usuario que los componentes del SISTEMA EXPERTO EoS NO están trabajando correctamente.

La fecha y hora que se encuentran a la derecha del estado de CLIPS, indican la última prueba

que realizó el sistema para comprobar la interacción de los programas.

Page 116: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

15

ESTADO DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS, empieza un proceso cuando el Archivo de Entrada87 contiene la

información referente a una Alarma de Disparo, es decir cuado se genera una alarma

relacionada directamente con la falla de un turbocompresor. A partir de este momento, se

desarrollan una serie de acciones que le indican al usuario que el sistema se encuentra EN

PROCESO.

Si el Archivo de Entrada contiene más de una (1) Alarma de Disparo, el SISTEMA EXPERTO EoS

solamente interpretará la primera, como Alarma de Disparo y las demás no las tendrá en

cuenta en el análisis de Causas de Falla88.

Para visualizar esto, el SISTEMA EXPERTO EoS tiene una indicación en la parte superior de su

ventana principal que indica si hay o no un proceso en curso.

Figura 31: Señal en la ventana principal del SISTEMA EXPERTO EoS, que indica cuando se está ejecutando un proceso.

Cuando el mensaje EoS EN PROCESO se encuentra resaltado en color azul, indica que el

SISTEMA EXPERTO EoS está actualmente ejecutando un proceso, y por lo tanto el usuario debe

estar pendiente para responder las preguntas que formula el sistema. Cuando el mensaje EoS

EN PROCESO NO se encuentra resaltado en azul, indica que el SISTEMA EXPERTO EoS está

en espera de una Alarma de Disparo, es decir, no se encuentra ejecutando un proceso y el

sistema no requiere de ninguna acción por parte del usuario.

Tenga en cuenta que el SISTEMA EXPERTO EoS siempre debe terminar los procesos, lo que

indica que si el mensaje EoS EN PROCESO se encuentra resaltado en azul y el sistema NO está

realizando ninguna acción, se deben reiniciar los dos programas (la interfaz gráfica y CLIPS),

para que el sistema quede nuevamente en espera.

87 Archivo de entrada: Es el archivo al que se refiere la Figura 17. 88 Esto se debe a que sólo la primera Alarma de Disparo es la que realmente reporta la falla, las otras alarmas que suceden en el (1) minuto siguiente, son producto de la primera y NO suministran información adicional al proceso.

Page 117: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

16

INFORMACIÓN DE LA ALARMA DE DISPARO

Cuando se inicia un proceso, el SISTEMA EXPERTO EoS muestra en la ventana principal la

información relacionada con la Alarma de Disparo, la cual es la misma que se lee del Archivo de

Entrada.89

Figura 32: Información de la alarma de disparo. Se muestra cuando el sistema inicia un proceso.

La información mostrada es:

Tag: Es el código que utilizan en el CPF de Cusiana para identificar cada una de las

alarmas relacionadas con los equipos de extracción de petróleo.

Descripción: Es una breve descripción de la Alarma de Disparo.

Estado: Indica el estado de la alarma, complementando la descripción de la misma.

Fecha: Indica la fecha en que ocurrió la Alarma de Disparo.

Hora: Indica la hora en que ocurrió la Alarma de Disparo.

Si en el Archivo de Entrada no se encuentra ninguna alarma relacionada directamente con los

turbocompresores, es decir no se encuentra una Alarma de Disparo, se indicará de la siguiente

manera:

Figura 33: Información cuando no hay Alarmas de Disparo en el Archivo de Entrada.

89 Archivo de entrada: El que se refiere la .Figura 17.

Page 118: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

17

PREGUNTAS FORMULADAS POR EL SISTEMA EXPERTO EoS

Durante el proceso, el SISTEMA EXPERTO EoS formula preguntas al usuario con el fin de

conocer el estado actual de los diferentes equipos e instrumentos que se encuentran en la

planta y puedan estar relacionados con los turbocompresores y la falla que se generó.

Figura 34: Presentación de las preguntas que formula el SISTEMA EXPERTO EoS al usuario.

Cada una de las preguntas que se formulan al usuario se presenta con las posibles respuestas,

de manera que él debe seleccionar la correcta y hacer clic sobre ella. No existe la posibilidad

de no escoger alguna de las respuestas indicadas.

Existe una señal en la parte superior de la ventana principal del SISTEMA EXPERTO EoS, en la

que se indica al usuario cuando hay una pregunta activa.

Figura 35: Señal en la ventana principal del SISTEMA EXPERTO EoS, que indica cuando hay una pregunta activa, es decir cuando se está en espera de la respuesta del usuario.

Cuando el mensaje PREGUNTA se encuentra intermitente (se resalta en color azul y rojo),

indica que el SISTEMA EXPERTO EoS formuló una pregunta al usuario y está en espera de su

respuesta. Si el usuario no visualiza la pregunta, podrá hacer clic sobre la indicación y esta se

mostrará. Cuando el mensaje PREGUNTA NO se encuentra intermitente ni resaltado en algún

color, indica que el SISTEMA EXPERTO EoS no ha formulado alguna pregunta ni requiere de

ninguna acción por parte del usuario.

En algunos casos, la pregunta que realiza el SISTEMA EXPERTO EoS va antecedida por una

acción que el usuario debe realizar para poder dar respuesta a la formulación.

Page 119: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

18

Ejemplo: “ACCIÓN: Inspección visual de pantallas de cableado PREGUNTA: Están aisladas

en lado campo?

Figura 36: Ejemplo de una pregunta formulada al usuario, antecedida por una acción requerida por el usuario.

Page 120: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

19

HISTORIAL DE PREGUNTAS Y RESPUESTAS

A medida que el SISTEMA EXPERTO EoS formula preguntas y el usuario las responde, se va

creando un HISTORIAL que almacena la pregunta y respuesta con la hora en que ocurrió cada

una de ellas.

Figura 37: Historial de preguntas y respuestas que se crea a medida que transcurre el proceso.

En el HISTORIAL DE PREGUNTAS Y RESPUESTAS se detalla:

El tag de la Alarma de Disparo que generó el proceso.

El número de la pregunta y la pregunta realizada por el SISTEMA EXPERTO EoS.

El número de la respuesta y la respuesta dada por el usuario con la hora en que

ocurrió.

El número total de preguntas realizadas por el SISTEMA EXPERTO EoS en el proceso.

Si el usuario no visualiza el HISTORIAL DE PREGUNTAS Y RESPUESTAS, podrá hacer clic sobre

la pestaña MOSTRAR HISTORIAL y ésta se mostrará.

Page 121: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

20

CAUSAS EoS

Al terminar el proceso, el SISTEMA EXPERTO EoS presenta las CAUSAS EoS90, las cuales son las

posibles causas que generaron que la Alarma de Disparo se presentara, es decir, son las causas

de la falla que se presentó en los turbocompresores.

Figura 38: Presentación de CAUSAS EoS

En CAUSAS EoS se detalla:

El tag de la Alarma de Disparo que generó el proceso.

La fecha en la que el SISTEMA EXPERTO EoS presentó al usuario las CAUSAS EoS.

La hora en la que el SISTEMA EXPERTO EoS presentó al usuario las CAUSAS EoS.

El listado con las causas de la falla, indicando el Árbol de Conocimiento91 al que se

asocia el proceso que se realizó.

Si no se encuentran las causas que generaron la Alarma de Disparo, no se indica nada en el

cuadro de CAUSAS EoS.

90 Causas EoS: Es una de las salidas del sistema. 91 Árbol de Conocimiento: Representaciones gráficas y lógicas del Proceso de Inferencia que realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la falla. Se utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de Conocimiento tiene un nombre asociado. Para más información remítase a la sección 6 del ANEXO C del libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo”, o a su sección 3.6.

Page 122: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

21

RECOMENDACIONES EoS

Al terminar el proceso, el SISTEMA EXPERTO EoS presenta las RECOMENDACIONES EoS92, las

cuales son las posibles recomendaciones que se proponen para solucionar la falla que se

presentó en los turbocompresores.

Figura 39: Presentación de RECOMENDACIONES EoS.

En RECOMENDACIONES EoS se detalla:

El tag de la Alarma de Disparo que generó el proceso.

La fecha en la que el SISTEMA EXPERTO EoS presentó al usuario las

RECOMENDACIONES EoS.

La hora en la que el SISTEMA EXPERTO EoS presentó al usuario las

RECOMENDACIONES EoS.

El listado con las recomendaciones de la falla, indicando el Árbol de Conocimiento93 al

que se asocia el proceso que se realizó.

Ejemplo: “Aterrizamiento del cable (problema detectado o causa) -> Reemplazar tramo

de cable pelado (recomendación para solucionar el problema que se indica).”

Si no se encuentran recomendaciones para la falla ocurrida, no se indica nada en el cuadro de

RECOMENDACIONES EoS.

92 Recomendaciones EoS: Es una de las salidas del sistema. 93 Árbol de Conocimiento: Representaciones gráficas y lógicas del Proceso de Inferencia que realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la falla. Se utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de Conocimiento tiene un nombre asociado. Para más información remítase a la sección 6 del ANEXO C del libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo”, o a su sección 3.6.

Page 123: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

22

PROCESO EoS

Al terminar el proceso, el SISTEMA EXPERTO EoS presenta el PROCESO EoS94, en el cual se

indican los pasos y la manera en la que el sistema procedió para hallar las causas y

recomendaciones que generó.

Figura 40: Presentación de PROCESO EoS.

En PROCESO EoS se detalla:

El tag de la Alarma de Disparo que generó el proceso.

La fecha en la que el SISTEMA EXPERTO EoS presentó al usuario el PROCESO EoS.

La hora en la que el SISTEMA EXPERTO EoS presentó al usuario el PROCESO EoS.

El listado con los pasos que siguió el sistema para realizar el proceso, es decir los

resultados de las hipótesis intermedias, indicando el Árbol de Conocimiento95 al que se

asocia el proceso que se realizó.

94 Proceso EoS: Es una de las salidas del sistema. 95 Árbol de Conocimiento: Representaciones gráficas y lógicas del Proceso de Inferencia que realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la falla. Se utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de Conocimiento tiene un nombre asociado. Para más información remítase a la sección 6 del ANEXO C del libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo”, o a su sección 3.6.

Page 124: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

23

OBSERVACIONES DEL USUARIO

El SISTEMA EXPERTO EoS permite al usuario ingresar el nombre de la persona que se

encuentra a cargo del proceso y las observaciones que él considere convenientes agregar al

análisis.

Figura 41: El usuario puede ingresar su nombre y las observaciones adicionales, que considere convenientes.

Los cuadros de texto para ingresar el nombre y las observaciones están habilitados cuando el

sistema esta en proceso (es decir, cuando la señal de EoS EN PROCESO está resaltada en

azul96.)

Se recomienda al usuario no utilizar la letra Ñ ni tildes al momento de ingresar el nombre o las

observaciones para evitar errores de caligrafía en el reporte que se genera automáticamente al

final del proceso97.

Al culminar el proceso, el SISTEMA EXPERTO EoS presenta un mensaje con la ruta y nombre

donde se almacenó el reporte generado por el sistema,98 e indica que se puede terminar de

completar los campos para el nombre y observaciones del usuario.

Figura 42: Mensaje que se muestra al usuario al finalizar el proceso.

96 Remítase a la sección 0 de este Manual. 97 REPORTES: Se refiere a los REPORTES EoS. (Sección 0 de este Manual.) 98 REPORTES: Se refiere a los REPORTES EoS. (Sección 0 de este Manual.)

Page 125: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

24

En este momento el SISTEMA EXPERTO EoS termina el proceso, (es decir, el mensaje EoS

EN PROCESO cambia su presentación y no se muestra resaltado en ningún color99), lo cual

indica que si hay un nuevo Archivo de Entrada se generará un proceso nuevo.

El reporte automático que se genera contiene la información que se encuentra en pantalla

excluyendo la del nombre y observaciones del usuario. Para incluir esta información al

reporte el usuario debe oprimir el botón FINALIZAR cuando éste se encuentre

habilitado.

Cuando el botón FINALIZAR se encuentre intermitente (se resalta en color azul y rojo) el

usuario podrá seguir completando los espacios para el nombre y las observaciones y luego

hacer clic sobre él.

Figura 43: El botón FINALIZAR se muestra intermitente después de haberse concluido el proceso. Permite al usuario ingresar la información de nombre y observaciones adicionales.

99 Remítase a la sección 0 de este Manual.

Page 126: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

25

MODO ANÁLISIS DE EVENTOS

El SISTEMA EXPERTO EoS permite analizar eventos, de forma que el usuario puede ingresar la

información con las alarmas que generan los equipos y realizar manualmente un proceso.

Figura 44: Para analizar eventos de manera manual.

Al oprimir el botón ANALIZAR, el usuario debe seleccionar un archivo de texto previamente

creado (al que denominaremos “Archivo de Eventos”) con la información de las alarmas que

desea analizar y las mismas características del Archivo de Entrada100, y seleccionar ABRIR.

El SISTEMA EXPERTO EoS crea una carpeta llamada Eventos, la cual se encuentra ubicada en la

ruta de acceso que el usuario indicó en el archivo DataPathAlarms.Txt101, para almacenar los

Archivos de Eventos en ella.

Este archivo debe tener máximo quinientos (500) renglones y debe cumplir con:

Campo Columna inicial

Columna final

Descripción

Tag 4 27 Código para identificar las alarmas. Descripción 28 48 Breve descripción de la Alarma de Disparo. Estado de referencia

49 60 Estado de referencia de la alarma, complementa la descripción de la misma.

Estado 61 76 Estado de la alarma, complementa la descripción de la misma.

Fecha 77 87 Fecha en que ocurrió la Alarma de Disparo. Hora 88 107 Hora en que ocurrió la Alarma de Disparo.

Tabla 2: Características del archivo con el que el usuario analizaría eventos.

100 Archivo de Entrada: Al que se refiere la Figura 17. 101 DataPathAlarms.Txt: Remítase a la sección 0 de este Manual.

Page 127: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

26

Figura 45: Ejemplo de un Archivo de Eventos.

Al seleccionar ABRIR, el SISTEMA EXPERTO EoS empezará el proceso. La ruta de acceso y

nombre del archivo que se está analizando se muestra en la ventana principal de EoS.

Figura 46: Ruta de acceso y nombre del archivo con el que se está realizando el análisis.

Cuando se está realizando un Análisis de Evento, el SISTEMA EXPERTO EoS NO está recibiendo

información del Archivo de Entrada, es decir NO disparará un proceso nuevo cuando

suceda una Alarma de Disparo REAL que se reporte en el Archivo de Entrada.

Page 128: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

27

REPORTES EoS

Al terminar cada proceso, el SISTEMA EXPERTO EoS genera automáticamente un REPORTE en

formato texto (*.Txt) en el cual se detalla toda la información relacionada con la Alarma de

Disparo y el proceso ejecutado.

El REPORTE EoS se almacena en la carpeta Reportes SisExpEOS, la cual se encuentra ubicada

en la ruta de acceso que el usuario indicó en el archivo DataPathAlarms.Txt102.

Para ver los reportes, seleccione el icono REPORTES de la barra de herramientas.103

Figura 47: Botón de Reportes.

Si el REPORTE es resultado de un Análisis de Evento realizado por el usuario, es decir, la

entrada al sistema fue el Archivo de Eventos,104 el nombre del archivo cumple con:

Tag de la Alarma – AnalisisEventos—Año-Mes-Día—Hora;Minutos;Segundos.Txt

Ejemplo: M12-L45FTT_ALM--AnalisisEventos--2004-8-22--19;54;34.Txt

Si el REPORTE NO es resultado de un Análisis de Evento realizado por el usuario, es decir, la

entrada al sistema fue el Archivo de Entrada,105 el nombre del archivo cumple con:

Tag de la Alarma –- Año-Mes-Día — Hora;Minutos;Segundos.Txt

Ejemplo: M12-L45FTT_ALM--2004-8-22--19;54;34.Txt

El REPORTE EoS se compone de las siguientes partes:

Encabezado: Explicación general de qué es y para qué es el REPORTE EoS.

Nombre de la persona que realizó el proceso: Se incluye el nombre de la persona que

tuvo a su cargo el proceso. (Solo si el usuario, al concluir el proceso, ingresó su nombre

y posteriormente seleccionó FINALIZAR.106) 102 DataPathAlarms.Txt: Remítase a la sección 0 de este Manual. 103 Acceder a los Reportes EoS: Para más información remítase a la sección 0 de este Manual. 104 Archivo de Eventos: Remítase a la sección 0 de este Manual. 105 Archivo de Entrada: Remítase a la sección 0 y 0 de este Manual.

Page 129: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

28

Tags de las alarmas relacionadas con el proceso realizado por el SISTEMA EXPERTO

EoS: Se detalla la lista de tags que hicieron parte en el proceso realizado por el

SISTEMA EXPERTO EoS. El primer tag corresponde a la Alarma de Disparo, los demás a

Alarmas Secundarias que intervinieron en el proceso.107

Ejemplo: M12-L45FTT_ALM (SS-L28FDB5) (SS-L28FDB2) (SS-L28FDB3) (SS-L28FDB7) (SS-L28FDB8)

Información correspondiente a la Alarma de Disparo del proceso: Detalla la información

que se refiere a la Alarma de Disparo. (Sección 0 de este Manual.)

Causas generadas por el SISTEMA EXPERTO EoS: Se refiere a la información que se

presenta en el cuadro de texto CAUSAS EoS (Sección 0 de este Manual.)

Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla: Se

refiere a la información que se presenta en el cuadro de texto PROCESO EoS (Sección 0

de este Manual.)

Recomendaciones correctivas sugeridas por el SISTEMA EXPERTO EoS: Se refiere a la

información que se presenta en el cuadro de texto RECOMENDACIONES EoS (Sección 0

de este Manual.)

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas del

usuario: Se refiere a la información que se presenta en el cuadro de texto HISTORIAL

DE PREGUNTAS Y RESPUESTAS (Sección 0 de este Manual.)

Observaciones adicionales al proceso, proporcionadas por el usuario: Se refiere a la

información que se presenta en el cuadro de texto OBSERVACIONES DEL USUARIO

(Sección 0 de este Manual.), es decir a las observaciones adicionales que el usuario

agregó al proceso. (Solo si el usuario, al concluir el proceso, ingresó observaciones y

posteriormente seleccionó FINALIZAR.108)

Información detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS:

Es la información del Archivo de Entrada o del Archivo de Evento que se analizó.

(Sección 0 ó 0 de este Manual.)

106 Remítase a la sección 0 de este Manual. 107 Alarmas secundarias: Son las que se encuentran en el Archivo de Entrada, que no son Alarmas de Disparo pero están relacionadas con los turbocompresores. (Remítase a la sección 0 de este Manual.) 108 Remítase a la sección 0 de este Manual.

Page 130: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

29

Nombre del archivo que el usuario utilizó para realizar el análisis del evento: (Solo

cuando el usuario hace Análisis de Eventos.) Es la ruta de acceso y nombre del archivo

con el que se realizó el análisis. (Sección 0 de este Manual.)

Page 131: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

30

BARRA DE HERRAMIENTAS

La funcionalidad de los botones y la barra de herramientas se detalla a continuación:

DETENER

Seleccionando el icono DETENER de la barra de herramientas, el SISTEMA EXPERTO EoS

permite al usuario detener la ejecución de un proceso. Para esto es necesario que el usuario

confirme su solicitud.

Figura 48: Botón detener.

Desde el menú Archivo, o con la combinación de teclas CRTL +D se logra el mismo efecto de

detener el proceso.

Figura 49: Detener el proceso utilizando el menú Archivo.

Esta acción solo está habilitada cuando el SISTEMA EXPERTO EoS se encuentra en proceso (es

decir cuando el mensaje EoS EN PROCESO se encuentra resaltado en color azul.109)

GUARDAR

Seleccionando el icono GUARDAR de la barra de herramientas, el SISTEMA EXPERTO EoS

permite al usuario guardar, en el lugar que desee del disco duro, la información relacionada con

un proceso, es decir la misma información que contiene el REPORTE EoS.110

109 Remítase a la sección 0 de este Manual. 110 Remítase a la sección 0 de este Manual.

Page 132: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

31

Figura 50: Botón Guardar.

Desde el menú Archivo, o con la combinación de teclas CRTL +G se logra el mismo efecto de

guardar la información del proceso.

Figura 51: Guardar la información relacionada con el el proceso utilizando el menú Archivo.

Para esto, el usuario debe escoger la ruta de acceso donde desea almacenar la información y

luego hacer clic en GUARDAR.

Figura 52: Ventana para escoger la ruta de acceso donde el usuario desea guardar la información referente al proceso.

Esta acción solo está habilitada cuando el SISTEMA EXPERTO EoS NO está en proceso (es decir

cuando el mensaje EoS EN PROCESO NO se encuentra resaltado en ningún color.111)

BORRAR

Seleccionando el icono BORRAR de la barra de herramientas, el SISTEMA EXPERTO EoS permite

al usuario borrar la información relacionada con un proceso, es decir la información que se

encuentra en pantalla. Para esto es necesario que el usuario confirme su solicitud.

111 Remítase a la sección 0 de este Manual.

Page 133: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

32

Figura 53: Botón Borrar

Desde el menú Archivo, o con la combinación de teclas CRTL +B se logra el mismo efecto de

borrar la información del proceso.

Figura 54: Borrar la información relacionada con el el proceso utilizando el menú Archivo.

Esta acción solo está habilitada cuando el SISTEMA EXPERTO EoS NO está en proceso (es decir

cuando el mensaje EoS EN PROCESO NO se encuentra resaltado en ningún color.112)

REPORTES

Seleccionando el icono REPORTES de la barra de herramientas, el SISTEMA EXPERTO EoS

permite al usuario seleccionar el Reporte EoS113 que desea ver.

Figura 55: Botón de Reportes.

El usuario debe seleccionar el archivo con el Reporte EoS que desea ver y seleccionar ACEPTAR.

112 Remítase a la sección 0 de este Manual. 113 Reportes EoS: Para más información remítase a la sección 0 de este Manual.

Page 134: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

33

Figura 56: Ventana para escoger el archivo del Reporte EoS que el usuario desea ver.

Desde el menú Archivo, o con la combinación de teclas CRTL +R se logra el mismo efecto de

ver los reportes generados por el SISTEMA EXPERTO EoS.

Figura 57: Ver los Reportes utilizando el menú Archivo

OCULTAR EOS

Seleccionando el icono OCULTAR EoS de la barra de herramientas, el usuario puede ocultar la

ventana principal del SISTEMA EXPERTO EoS, de forma que se vería la ventana de Sistema de

Captura y Filtraje.

Figura 58: Botón Ocultar EoS

Desde el menú Archivo, o con la combinación de teclas CRTL +O se logra el mismo efecto de

ocultar la ventana principal del SISTEMA EXPERTO EoS.

Page 135: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

34

Figura 59: Ocultar la ventana principal del SISTEMA EXPERTO EoS utilizando el menú Archivo.

Page 136: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

35

BARRA DE MENÚ DEL SISTEMA EXPERTO EoS

La BARRA DE MENÚ del SISTEMA EXPERTO EoS consta de:

MENÚ ARCHIVO

Sus funciones se describieron en la sección 0 de esta Manual.

MENÚ PREFERENCIAS

Tiene cuatro (4) submenús, en los cuales el usuario tiene la posibilidad de cambiar las

preferencias de la pantalla.

Figura 60: Submenús del menú preferencias.

ESTILO FUENTE

Al hacer clic sobre esta opción (o con la combinación de teclas CRTL + E), el usuario podrá

cambiar el tipo, tamaño y estilo de letra de los cuadros de texto de Causas Eos, Proceso Eos,

Recomendaciones Eos, Historial De Preguntas Y Respuestas, Observaciones Del Usuario,

Información de la Alarma de Disparo y Nombre Del Archivo en Analizar Eventos.

Figura 61: Ventana que permite cambiar el tipo, tamaño y estilo de letra de los diferentes cuadros de texto.

Page 137: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

36

Figura 62: Presentación de una ventana después de haber personalizado el Estilo de la Fuente.

COLOR FUENTE

Al hacer clic sobre esta opción (o con la combinación de teclas CRTL + C), el usuario podrá

cambiar el color de la letra de los cuadros de texto de Causas Eos, Proceso Eos,

Recomendaciones Eos, Historial De Preguntas Y Respuestas, Observaciones Del Usuario,

Información de la Alarma de Disparo y Nombre Del Archivo en Analizar Eventos.

Figura 63: Ventana que permite cambiar el color de letra de los diferentes cuadros de texto

Figura 64: Presentación de una ventana después de haber personalizado el Color de la Fuente.

COLOR FONDO

Al hacer clic sobre esta opción (o con la combinación de teclas CRTL + L), el usuario podrá

cambiar el color de fondo de los cuadros de texto de Causas Eos, Proceso Eos,

Recomendaciones Eos, Historial De Preguntas Y Respuestas, Observaciones Del Usuario,

Información de la Alarma de Disparo y Nombre Del Archivo en Analizar Eventos.

Page 138: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

37

Figura 65: Presentación de una ventana después de haber personalizado el Color de Fondo.

VALORES PREDETERMINADOS

Al hacer clic sobre esta opción (o con la combinación de teclas CRTL + V), el usuario podrá

recuperar los valores predeterminados de tipo, tamaño, estilo y color de fuente y fondo de los

cuadros de texto de Causas Eos, Proceso Eos, Recomendaciones Eos, Historial De Preguntas Y

Respuestas, Observaciones Del Usuario, Información de la Alarma de Disparo y Nombre Del

Archivo en Analizar Eventos.

MENÚ AYUDA

Tiene dos (2) submenús que proporcionan ayuda e información sobre el SISTEMA EXPERTO

EoS:

Figura 66: Submenús del menú Ayuda.

MANUAL DE USUARIO

Permite acceder a este MANUAL DE USUARIO en formato digital. (*.PDF.)

Figura 67: Modo para acceder a este MANUAL DE USUARIO en formato digital.

ACERCA DEL SISTEMA EXPERTO EoS…

Presenta la información referente a los autores del SISTEMA EXPERTO EoS.

Page 139: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

38

AYUDA DINÁMICA DEL SISTEMA EXPERTO EoS

A medida que el cursor se desplaza por los diferentes controles de la ventana principal, el

SISTEMA EXPERTO EoS indica al usuario la funcionalidad de cada cuadro de texto, y botón de

la aplicación.

Figura 68: Información de ayuda para el usuario, en la que se indica la función de cada control. (En este caso se muestra la función de la ventana inferior derecha que revela el estado de CLIPS.)

Esta información de ayuda para el usuario se muestra en la parte inferior izquierda de la

ventana principal cuando el cursor se detiene por lo menos un (1) segundo sobre algún control.

Page 140: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

39

GLOSARIO

ALARMA DE DISPARO: Es la alarma que está directamente relacionada con la parada de un

turbocompresor y se encuentran en el Archivo de Entrada.

ALARMAS SECUNDARIAS: Son las alarmas que se encuentran en el Archivo de Entrada que

no son Alarmas de Disparo pero están relacionadas con los turbocompresores.

ANÁLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el

usuario puede ingresar la información con las alarmas que generan los equipos y realizar

manualmente un proceso.

ÁRBOL DE CONOCIMIENTO: Representaciones gráficas y lógicas del Proceso de Inferencia

que realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la

falla. Se utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de

Conocimiento tiene un nombre asociado.

ARCHIVO DE ENTRADA: Es un archivo de texto con la información de los sesenta (60)

minutos anteriores y el (1) minuto posterior a la Alarma de Disparo. Es la entrada al SISTEMA

EXPERTO EoS.

ARCHIVO DE EVENTOS: Es un archivo de texto, previamente creado por el usuario, con la

información de las alarmas con la que desea realizar el Análisis de Eventos. Debe tener las

mismas características del Archivo de Entrada.

CAUSAS EoS: Es una salida del SISTEMA EXPERTO EoS. Son las posibles causas que

generaron la falla.

CLIPS: Es un programa que trabaja de manera regular y sincrónica con la interfaz gráfica, es el

que realiza el proceso de inferencia y genera la información que se muestra al usuario.

Herramienta especializada para el desarrollo de sistemas expertos.

CONTROL ROOM: Es el cuarto de control donde se reportan las alarmas de los equipos que se

encuentran en el CPF de Cusiana, Casanare.

CPF: (Central Production Facilities.) Planta de extracción de petróleo ubicada en Cusiana,

Casanare.

Page 141: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

40

HISTORIAL DE PREGUNTAS Y RESPUESTAS: Es el historial de preguntas realizadas por el

SISTEMA EXPERTO EoS y respuestas dadas por el usuario en medio del proceso.

INFORMACIÓN DE LA ALARMA DE DISPARO: Es la información referente a la Alarma de

Disparo: tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado

de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma.

INTERFAZ GRÁFICA: Es el programa con el que el usuario interactúa, y donde se muestra la

información de interés para este. La interfaz gráfica la comparte con el Sistema de Captura y

Filtraje.

MANUAL TÉCNICO DE USUARIO: Es en el que se encuentra el código fuente de los

programas y aspectos más específicos del funcionamiento del SISTEMA EXPERTO EoS.

MENÚ PRINCIPAL: Es la ventana donde se puede seleccionar (para presentar en pantalla) el

SISTEMA EXPERTO EoS o el Sistema de Captura y Filtraje.

PROCESO EoS: Es una salida del SISTEMA EXPERTO EoS. Es la secuencia de pasos realizados

por el SISTEMA EXPERTO EoS para generar las demás salidas.

RECOMENDACIONES EoS: Es una salida del SISTEMA EXPERTO EoS. Son las

recomendaciones correctivas de la falla

REPORTE EoS: Es el reporte con la información de entrada, salida y adicional. Este reporte se

genera en formato de texto (*.Txt) al culminar el proceso.

SISTEMA DE CAPTURA Y FILTRAJE: Es el sistema que se encarga de recibir

constantemente las alarmas que generan los diferentes equipos que intervienen en el proceso

de extracción de petróleo en Cusiana y mostrarlas de manera detallada en pantalla. El sistema

fue desarrollado e instalado previamente en el Control Room de Cusiana; donde trabajan de

forma coordinada y bajo la misma interfaz gráfica del SISTEMA EXPERTO EoS.

SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para

turbocompresores utilizados en la extracción de petróleo: Libro donde se da a conocer

la forma como se cumplieron los objetivos propuestos inicialmente, dada la estructura del

prototipo del sistema experto, su construcción y la información recolectada y estudiada. Se

incluye en le CD del SISTEMA EXPERTO EoS.

TAG: Es el código que utilizan en el CPF de Cusiana para identificar cada una de las alarmas

relacionadas con los equipos de extracción de petróleo.

Page 142: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

41

USUARIO EXPERTO: Quien posee el conocimiento especializado para alimentar el sistema

experto.

VENTANA PRINCIPAL: Ventana donde se presentan los controles y las salidas del SISTEMA

EXPERTO EoS.

Page 143: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

MANUAL TÉCNICO DE USUARIO: Sistema Experto EoS

El presente documento está dirigido a personas con conocimientos en el área de programación que

deseen interactuar con la estructura interna del SISTEMA EXPERTO EoS, para modificarlo o

introducir nuevo conocimiento según la función específica para la cual se utilice. Por tanto, se

mostrará las funciones utilizadas en el programa y los pasos que se siguieron en el proceso de

elaboración del SISTEMA EXPERTO EoS.

Page 144: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

TABLA DE CONTENIDO

TABLA DE CONTENIDO .............................................................................................. 1 LISTA DE FIGURAS ..................................................................................................... 3 INTRODUCCIÓN .......................................................................................................... 5 1. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS......................................................... 6 2. COMPOSICIÓN DEL SISTEMA EXPERTO EoS .............................................................. 7 2.1 SISTEMA DE CAPTURA Y FILTRAJE ....................................................................... 7 2.2 SISTEMA EXPERTO EoS........................................................................................ 8 2.2.1 Interfaz gráfica ................................................................................................ 8 2.2.2 Programa CLIPS............................................................................................... 9 3 MODO DE TRABAJO DEL SISTEMA EXPERTO EoS ..................................................... 11 3.1 PASO 1: CAPTURA Y FILTRAJE DE LAS ALARMAS ................................................. 11 3.2 PASO 2: ENTRADA DE DATOS Y COMPARACIÓN DE ALARMAS .............................. 13 3.3 PASO 3: NOMBRE DE LOS ARCHIVOS E INICIO DEL PROCESO DE INFERENCIA EN CLIPS 16 3.4 PASO 4: PROCESO DE INFERENCIA DE CLIPS ...................................................... 18 3.5 PASO 5: FINALIZACIÓN DEL PROCESO Y PRESENTACIÓN DE LOS RESULTADOS EN PANTALLA..................................................................................................................... 21 3.6 PASO 6: RECOPILACIÓN DE INFORMACIÓN PARA EL REPORTE EoS ...................... 22 3.7 OTRO PASO: MODO ANÁLISIS DE EVENTOS ........................................................ 23 4 INSTALACIÓN Y EJECUCIÓN DEL SISTEMA.............................................................. 25 4.1 PASOS PRELIMINARES ....................................................................................... 25 4.2 INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS............................................... 26 5 PROGRAMACIÓN Y ESTRUCTURA GENERAL DE CLIPS .............................................. 30 5.1 COMANDOS....................................................................................................... 31 5.1.1 Entrada......................................................................................................... 31 5.1.2 Salida ........................................................................................................... 31 5.1.3 Borrar la información en CLIPS........................................................................ 31 5.1.4 Ejecución de un programa .............................................................................. 32 5.1.5 Carga de comandos desde archivos ................................................................. 32 5.2 VARIABLES Y FUNCIONES .................................................................................. 33 5.2.1 Definición de variables.................................................................................... 33 5.2.2 Suma de números.......................................................................................... 34 5.2.3 Comparar igualdad......................................................................................... 35 5.3 HECHOS............................................................................................................ 35 5.3.1 Campos que componen los hechos .................................................................. 36 5.3.2 Adición de hechos.......................................................................................... 36 5.3.3 Asignación de un hecho a una variable ............................................................ 37 5.3.4 Eliminación de hechos .................................................................................... 37 5.3.5 Plantillas de hechos........................................................................................ 38 5.4 REGLAS ............................................................................................................ 39 5.4.1 Prioridad de las reglas .................................................................................... 41 5.5 FUNCIONES ...................................................................................................... 42 5.5.1 Carga de hechos: Función Load-Facts .............................................................. 42 5.5.2 Almacenamiento de hechos: Función Save-Facts .............................................. 43 5.5.3 Almacenar un valor en una variable: Función Bind ............................................ 44 5.5.4 Abrir archivos de lectura y escritura: Función Open........................................... 45

Page 145: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

5.5.5 Cerrar un archivo: Función Close..................................................................... 45 5.5.6 Borrar un archivo: Función Remove................................................................. 46 5.5.7 Escritura en un archivo: Función Printout ......................................................... 46 5.5.8 Entrada de información: Función Read-ReadLine .............................................. 47 5.5.9 Renglón vacío................................................................................................ 48 5.6 FUNCIONES DE PROCEDIMIENTOS ..................................................................... 49 5.6.1 La función if .................................................................................................. 49 5.6.2 La función While ............................................................................................ 51 5.7 VENTANAS DE CLIPS.......................................................................................... 53 5.7.1 Dialog Window .............................................................................................. 53 5.7.2 Ventana de edición ........................................................................................ 53 6 ESTRUCTURA Y PROGRAMACIÓN DEL SISTEMA EXPERTO EoS EN CLIPS ................... 56 6.1 NOMBRE DE LOS ARCHIVOS DE CLIPS ................................................................ 56 6.2 ÁRBOLES DE CONOCIMIENTO ............................................................................ 58 6.3 EXPLICACIÓN DEL CÓDIGO DE UN ÁRBOL DE CONOCIMIENTO............................. 59 7 GLOSARIO ............................................................................................................ 60

Page 146: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

LISTA DE FIGURAS

Figura 1. Esquema de la composición del SISTEMA EXPERTO EoS................................. 7 Figura 2. Lista de alarmas que se muestra en la interfaz del Sistema de Captura y Filtraje. Se detalla: Tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma ............. 8 Figura 3. Lista de alarmas que se encuentran en: C:/EJERVG/ArchivoHyp.Txt. ............... 11 Figura 4. Detalle de las características que debe tener el ArchivoHyp.Txt. ........................ 12 Figura 5. Esquema que indica la creación de archivos en el tiempo, desde que se presenta la parada de un turbocompresor. .............................................................................................. 13 Figura 6. Formato de los tags de las Alarmas de Disparo que debe tener el archivo ListaPrimarias.Txt. .............................................................................................................. 14 Figura 7: Tag de la alarma que resultó de la comparación de ListaPrimarias.Txt y el Archivo de Entrada. ............................................................................................................. 15 Figura 8. Información de la Alarma de Disparo. Se muestra cuando el sistema inicia un proceso. ................................................................................................................................ 15 Figura 9. Esquema de comparación y archivos resultado cuando el SISTEMA EXPERTO EoS empieza un proceso. ..................................................................................................... 16 Figura 10.Estructura de programación de CLIPS. ............................................................... 18 Figura 11. Formato que usa CLIPS para formular preguntas al usuario usando el archivo Pta.bin. ................................................................................................................................. 19 Figura 12. Presentación de la pregunta realizada al usuario por medio de la interfaz gráfica............................................................................................................................................... 20 Figura 13. Historial de preguntas y respuestas que se crea a medida que transcurre el proceso. ................................................................................................................................ 20 Figura 14: Ejemplo de un Archivo de Eventos. ................................................................... 24 Figura 15. Ubicación de la carpeta EJERVG en C\ ............................................................. 25 Figura 16: Pantalla de instalación de Framework.exe. ........................................................ 26 Figura 17: Archivo de texto DataPathAlarms, ubicado en C:, el cual contiene la ruta de acceso donde se crearán las carpetas Eventos y Repostes SisExpEoS. ............................... 26 Figura 18: Icono del SISTEMA EXPERTO EoS. ............................................................... 26 Figura 19: Ventana del Sistema de Captura y Filtraje y ventana de CLIPS ....................... 27 Figura 20: Línea de código para activar el programa CLIPS............................................... 27 Figura 21: Pantalla con código en CLIPS. ........................................................................... 28 Figura 22: Minimizar la ventana de CLIPS. ........................................................................ 28 Figura 23: Ventana MENÚ PRINCIPAL. ........................................................................... 29 Figura 24: Ventana principal del SISTEMA EXPERTO EoS. ............................................ 29 Figura 25: Presentación del puntero de CLIPS, después de haber instalado correctamente el programa .............................................................................................................................. 31 Figura 26: Ventana Dialog Window en CLIPS. .................................................................. 53 Figura 27: Ventana de edición de CLIPS, y ubicación del comando New. ......................... 54 Figura 28: Comando Select All de CLIPS. .......................................................................... 54

Page 147: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

Figura 29: Lista de archivos con extensión *.CLP, ubicados en C:\EJERVG, donde se encuentra al código que alimenta el SISTEMA EXPERTO EoS. ....................................... 56 Figura 30: Fragmento de un Árbol de Conocimiento utilizado en la elaboración del SISTEMA EXPERTO EoS. ................................................................................................. 59

Page 148: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

INTRODUCCIÓN

Bienvenidos al SISTEMA EXPERTO EoS, un programa fácil de usar que le ayudara a diagnosticar,

y hallar las causas de algunas fallas que se presentan en los turbocompresores de “BP Exploration

Company Colombia Ltda” ubicados en el CPF114 de Cusiana, Casanare.

El presente documento está dirigido a personas con conocimientos en el área de programación que

deseen interactuar con la estructura interna del SISTEMA EXPERTO EoS, para modificarlo o

introducir nuevo conocimiento según la función específica para la cual se utilice. Por tanto, se

mostrará las funciones utilizadas en el programa y los pasos que se siguieron en el proceso de

elaboración del SISTEMA EXPERTO EoS.

En este documento encontrará algunas funciones y procedimientos elaborados en CLIPS, al igual

que algunas variables utilizadas, la descripción del proceso realizado, y la información que alimenta

la base de conocimiento del SISTEMA EXPERTO EoS; mostrando la implementación de uno de los

casos específicos de análisis de fallas que lo conforman.

Acerca de…

El desarrollo del SISTEMA EXPERTO EoS, se realizó como tesis de grado titulada “Gestión de

fallas con diagnóstico experto para turbocompresores utilizados en la extracción de

petróleo”, por las Ingenieras Electrónicas Viviana Espinosa Rojas y Gina Paola Pulido Uriza, de la

Pontificia Universidad Javeriana, bajo la dirección del Ingeniero Adolfo León Recio y la asesoría del

Ingeniero Jose Fernando Vega y el Ingeniero Alejandro Forero Guzmán. Se desarrolló en las

empresas “BP Exploration Company Colombia Ltda” Y “Equipo De Servicios Petroleros Ltda” bajo el

conocimiento, asesoría y requerimientos del Ingeniero Carlos Olarte, Superintendente (R) de

operaciones de Cusiana de “BP Exploration Company Colombia Ltda.” y el Ingeniero Rubén Soler,

sección de Control en Cusiana de “Equipo de Servicios Petroleros Ltda.” Su instalación se realizó en

BP Exploration Company Colombia Ltda en Cusiana, Casanare en octubre de 2004.

Para conocer de manera detallada el modo de uso del SISTEMA EXPERTO EoS, y la función y

operación de cada una de sus partes remítase al MANUAL DE USUARIO.

114 CPF de Cusiana: Central Production Facilities. Planta de extracción de petróleo ubicada en Cusiana, Casanare.

Page 149: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

2. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS está soportado bajo ambiente Windows, por lo tanto para su correcta

ejecución se necesita un computador personal con las siguientes características:

Hardware: Procesador Pentium II® o superior.

RAM: 128 MB o superior.

Disco duro: 12 GB o superior.

Software: Windows 98 o superior.

CLIPS.

Para una correcta visualización, se debe usar una resolución de pantalla de 768 píxeles máximo.

Tenga presente que:

En algunos casos el SISTEMA EXPERTO EoS no presenta al usuario las palabras con tildes,

para evitar errores de caligrafía.

Algunas palabras que contienen la letra ñ, se presentarán con la letra n.

Page 150: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

3. COMPOSICIÓN DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS interactúa con el Sistema de Captura y Filtraje de las alarmas,

previamente desarrollado e instalado en el Control Room115 de Cusiana; donde trabajan de forma

coordinada y bajo la misma interfaz gráfica.

Figura 69. Esquema de la composición del SISTEMA EXPERTO EoS.

2.1 SISTEMA DE CAPTURA Y FILTRAJE

Se encarga de recibir constantemente las alarmas que generan los diferentes equipos que

intervienen en el proceso de extracción de petróleo en Cusiana, Casanare y mostrarlas de manera

detallada en pantalla.

115 Control Room: Es el cuarto de control donde se reportan las alarmas de los equipos que se encuentran en el CPF de Cusiana, Casanare.

Sistema de Captura y Filtraje

Interfaz gráfica CLIPS

SISTEMA EXPERTO EoS

Interacción

Page 151: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

Figura 70. Lista de alarmas que se muestra en la interfaz del Sistema de Captura y Filtraje. Se detalla: Tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado de la alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma

2.2 SISTEMA EXPERTO EOS

El SISTEMA EXPERTO EoS, en su composición, está dividido en dos programas. El correcto

funcionamiento de cada uno de ellos hace que el SISTEMA EXPERTO EoS trabaje adecuadamente,

de forma que, es indispensable que ambos programas se ejecuten simultáneamente y de manera

correcta.

2.2.1 Interfaz gráfica

Es el programa con el que el usuario interactúa, y donde se muestra la información de interés para

éste:

Posibles causas que generaron la falla: Causas EoS.116

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS.117

116 Para más información, remítase a la sección 9 del MANUAL DE USUARIO. 117 Para más información, remítase a la sección 10 del MANUAL DE USUARIO.

Page 152: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS.118

Información referente a la Alarma de Disparo: Información de la Alarma de Disparo.119

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por el

usuario: Historial de preguntas y respuestas.120

Reporte con la información de entrada, salida y adicional. Este reporte se genera en

formato de texto (*.Txt) al culminar el proceso: Reporte EoS.121

2.2.2 Programa CLIPS

Es un programa que trabaja de manera regular y sincrónica con la Interfaz Gráfica. Es el que

realiza el Proceso de Inferencia122 para hallar las causas de la falla, y genera la información que se

muestra al usuario.

Es una herramienta de software desarrollada por Software Technology Branch (STB) de

NASA/Lyndon B. Johnson Space Center, y fue creada específicamente para el desarrollo de

sistemas expertos, en la cual se especifican con código de programación los siguientes

elementos:123

a. Base de hechos: Donde se almacenan las alarmas de los equipos que intervienen en el

proceso de producción de petróleo en Cusiana. Registra conclusiones intermedias y datos

generados en el proceso de inferencia para explicar las deducciones y el comportamiento

del sistema.

b. Base del conocimiento: Son las reglas que contienen la información para que el SISTEMA

EXPERTO EoS sepa como proceder en los diferentes casos y determine las causas de falla

de las alarmas que llegan a la base de hechos.

118 Para más información, remítase a la sección 11 del MANUAL DE USUARIO. 119 Para más información, remítase a la sección 6 del MANUAL DE USUARIO. 120 Para más información, remítase a la sección 8 del MANUAL DE USUARIO. 121 Para más información, remítase a la sección 14 del MANUAL DE USUARIO. 122 Proceso de Inferencia: Para más información, remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo ” 123 Para conocer con más detalle el modo de funcionamiento de los sistemas expertos, remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo ”

Page 153: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

10

c. Motor de inferencia: Es el programa que controla el razonamiento o proceso de inferencia

que sigue el sistema experto, puesto que debe comparar los patrones de reglas con la lista

de datos de la base de hechos. Si todos los patrones de una regla coinciden con los

hechos, la regla se activa y se coloca en la agenda124.

d. Módulo de adquisición del conocimiento: Permite añadir, eliminar o modificar elementos de

conocimiento (en la mayoría de los casos, reglas.)

124 Agenda: Donde se almacenan las reglas disparadas. Para más información, remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo ”

Page 154: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

11

3 MODO DE TRABAJO DEL SISTEMA EXPERTO EoS

Los programas que componen el SISTEMA EXPERTO EoS trabajan de manera interactiva y

cooperativa entre ellos, de forma que es indispensable que todos funcionen correctamente para

que el sistema sea confiable.

A continuación, se describe de manera secuencial el modo de trabajo del SISTEMA EXPERTO EoS,

es decir cada uno de los pasos que realiza para su correcto funcionamiento.

3.1 PASO 1: CAPTURA Y FILTRAJE DE LAS ALARMAS

El Sistema de Captura y Filtraje125 recibe constantemente las alarmas que generan los diferentes

equipos que intervienen en el proceso de extracción de petróleo en Cusiana, y las muestra de

manera detallada en la pantalla, como lo indica la Figura 70.

Cuando recibe la información de una alarma que está directamente relacionada con la parada de un

turbocompresor126, (a la que denominaremos “Alarma de Disparo”) el sistema genera un archivo de

texto con la información de los sesenta (60) minutos anteriores y el (1) minuto posterior a la

alarma. Este archivo se denomina ArchivoHyp.Txt y se encuentra en C:/EJERVG127

Figura 71. Lista de alarmas que se encuentran en: C:/EJERVG/ArchivoHyp.Txt.

125 Sistema de Captura y Filtraje: Es un sistema que interactúa con el SISTEMA EXPERTO EoS, pero no hace parte de él. Fue desarrollado previamente en Cusiana, por el Ingeniero de Control. Para más información remítase a la sección 0 de este Manual. 126 Es decir, cuando ocurre una falla que genera que un turbocompresor PARE su actividad normal. 127 EJERVG se encuentra en el CD de instalación del SISTEMA EXPERTO EoS.

Page 155: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

12

El ArchivoHyp.Txt debe tener máximo quinientos (500) renglones y debe cumplir con:

Campo Columna inicial

Columna final

Descripción

Tag128 4 27 Código para identificar las alarmas. Descripción 28 48 Breve descripción de la Alarma de Disparo. Estado de referencia

49 60 Estado de referencia de la alarma, complementa la descripción de la misma.

Estado 61 76 Estado de la alarma, complementa la descripción de la misma.

Fecha 77 87 Fecha en que ocurrió la Alarma de Disparo. Hora 88 107 Hora en que ocurrió la Alarma de Disparo.

Tabla 3: Características del ArchivoHyp.Txt.

Figura 72. Detalle de las características que debe tener el ArchivoHyp.Txt.

Adicionalmente, el Sistema de Captura y Filtraje, crea archivos de texto con las mismas

características del ArchivoHyp.Txt (a los que denominaremos “Archivos de Eventos”) y los almacena

en la carpeta Eventos. En estos archivos se almacena la información de las alarmas que se

presentaron después de la Alarma de Disparo (y que no se encuentran registradas en el

ArchivoHyp.Txt) que están directamente relacionadas con los turbocompresores de Cusiana, pero

que NO causaron la parada de la turbina, es decir son archivos que contienen Alarmas de Disparo

pero NO la alarma que causó directamente la parada en los turbocompresores.

128 Tag: Es el código que utilizan en Cusiana para identificar cada una de las alarmas relacionadas con los equipos de extracción de petróleo.

Page 156: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

13

Figura 73. Esquema que indica la creación de archivos en el tiempo, desde que se presenta la parada de un turbocompresor.

Estos Archivos de Evento se utilizarán posteriormente para realizar Análisis de Eventos.129

3.2 PASO 2: ENTRADA DE DATOS Y COMPARACIÓN DE ALARMAS

El SISTEMA EXPERTO EoS empieza un proceso cuando se reporta la parada de una turbina, es

decir cuando se crea el archivo ArchivoHyp.Txt, (al que llamaremos Archivo de Entrada) el cual

contiene la información de la Alarma de Disparo.

Si el Archivo de Entrada contiene más de una (1) Alarma de Disparo, el SISTEMA EXPERTO EoS

solamente interpretará la primera como Alarma de Disparo y las demás no las tendrá en cuenta en

el análisis de Causas de Falla130.

Cada uno de los tags131 de las alarmas que hay en el Archivo de Entrada se compara con la

información que se encuentra en el archivo ListaPrimarias.Txt132, el cual contiene una lista con

129 Análisis de Eventos: Se explican en detalle en la sección 3.7 de este Manual. 130 Esto se debe a que sólo la primera Alarma de Disparo es la que realmente reporta la falla, las otras alarmas que suceden en el (1) minuto siguiente, son producto de la primera y NO suministran información al proceso.

Se crea el archivo…

Tiempo

PARADA DE LA TURBINA.

ArchivoHyp.Txt: Contiene la Alarma de Disparo que causo la parada en los turbocompresores.

Archivo de Evento1.Txt: Contiene la misma información de ArchivoHyp.Txt, es decir, contiene la Alarma de Disparo que causo la parada en los turbocompresores.)

Archivo de Evento2.Txt: Contiene alguna Alarma de Disparo, pero no la que causo la parada en los turbocompresores.

Archivo de Evento3.Txt: Contiene alguna Alarma de Disparo, pero no la que causo la parada en los turbocompresores.

Se crea el archivo… Se crea el archivo…

Page 157: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

14

todos los tags de Alarmas de Disparo.133 Cada tag del archivo ListaPrimarias.Txt debe estar escrito

en un renglón diferente, como se muestra en la Figura 74.

Figura 74. Formato de los tags de las Alarmas de Disparo que debe tener el archivo ListaPrimarias.Txt.

De igual manera, cada uno de los tags de las alarmas que hay en el Archivo de Entrada se compara

con la información que se encuentra en el archivo ListaSecundarias.Txt134, el cual contiene una lista

con todos los tags de las alarmas que no son Alarmas de Disparo pero están relacionadas con los

turbocompresores, (a estas las llamaremos “Alarmas secundarias.”)135 Cada tag del archivo

ListaSecuntarias.Txt debe estar escrito en un renglón diferente, como en ListaPrimarias.Txt.

Si la comparación con ListaPrimarias.Txt resulta exitosa, se crea un archivo denominado

Primarias.bin con el tag de la alarma en común.

131 Tag: Es el código que utilizan en el CPF de Cusiana para identificar cada una de las alarmas relacionadas con los equipos de extracción de petróleo 132 ListaPrimarias.Txt se encuentra en C:/EJERVG. 133 Esta lista es creada por el Usuario Experto, y debe coincidir con la información que contiene CLIPS, es decir para cada tag que exista en el archivo ListaPrimarias.Txt, debe existir un programa en CLIPS, con el desarrollo del análisis para hallar las causas de la falla relacionada con ese tag. 134 ListaSecundarias.Txt se encuentra en C:/EJERVG. 135 Esta lista es creada por el Usuario Experto, y contiene los tags de las alarmas relacionadas con los turbocompresores que intervienen en el proceso de inferencia que realiza CLIPS.

Page 158: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

15

Figura 75: Tag de la alarma que resultó de la comparación de ListaPrimarias.Txt y el Archivo de Entrada.

La información correspondiente a ese tag, es decir los demás datos que se obtuvieron del

ArchivoHyp.Txt, se presenta al usuario en la ventana principal del SISTEMA EXPERTO EoS, como

Información de la Alarma de Disparo.136

Figura 76. Información de la Alarma de Disparo. Se muestra cuando el sistema inicia un proceso.

Si la comparación con ListaSecuntarias.Txt resulta exitosa, se crea un archivo denominado

Secundarias.bin con los tags de las alarmas en común.

A continuación se presenta un esquema de la comparación que el SISTEMA EXPERTO EoS realiza:

136 Información de la alarma de disparo: Es la información adicional, relacionada con la Alarma de Disparo que se obtiene del ArchivoHyp.Txt.

Page 159: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

16

Figura 77. Esquema de comparación y archivos resultado cuando el SISTEMA EXPERTO EoS empieza un proceso.

3.3 PASO 3: NOMBRE DE LOS ARCHIVOS E INICIO DEL PROCESO DE INFERENCIA EN CLIPS

Cuando CLIPS encuentra el tag de alguna Alarma de Disparo en el archivo Primarias.bin empieza el

Proceso de Inferencia para hallar las causas de la falla.

Cada Alarma de Disparo tiene un Proceso de Inferencia asociado a ella, en el cual se determina la

causa por la que se presentó esa falla. Para ello, se definió que cada proceso se programaría en un

archivo *.CLP diferente, de manera que el sistema fuera modular y fácil de alimentar137. Así, se

determinó que el nombre de cada archivo relacionado con un Proceso de Inferencia seria el del tag

de la Alarma de Disparo.CLP. Ejemplo: M11-LCLFDEN_ALM.CLP.138

137 Alimentar el SISTEMA EXPERTO EoS: Agregar información de procesos nuevos para que el sistema sea más completo y robusto. A cargo del Usuario Experto. 138 Ver figura 10, cuadro azul oscuro.

Archivo de entrada: ArchivoHyp.Txt Contiene la información de las alarmas que se generan cuando ocurre una falla que ocasiona la parada en un turbocompresor. Se especifica la información de las alarmas que sucedieron sesenta (60) minutos antes y un (1) minuto después de la Alarma de Disparo.

ListaPrimarias.Txt: Contiene la lista con todos los tags de Alarmas de Disparo. Esta lista es creada por el Usuario Experto, y debe coincidir con la información que contiene CLIPS.

ListaSecundarias.Txt: Contiene la lista con todos los tags de las Alarmas Secundarias Esta lista es creada por el Usuario Experto, y contiene los tags de las alarmas relacionadas con los turbocompresores que intervienen en el proceso de inferencia que realiza CLIPS.

COMPARACIÓN

Primarias.bin: Contiene el tag de la Alarma de Disparo en común.

Secundarias.bin: Contiene el tag de la Alarmas Secundarias en común.

Page 160: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

17

En CLIPS, los archivos tienen un numero máximo de renglones de código permitido139, por lo tanto,

en algunos casos es necesario hacer llamados, desde el archivo con el nombre de la Alarma de

Disparo, a otros archivos de código para que continúen con un proceso determinado. Estos

“archivos de continuación” llevan el nombre del Árbol de Conocimiento140 al que se asocia la Alarma

de Disparo. Ejemplo: Transmisoresdecampo.CLP y TransmisoresdecampoPARTE2.CLP, los cuales se

nombran de esta manera porque están asociados al árbol “Transmisores de campo.”141

La estructura de programación realizada en CLIPS cuenta con un archivo denominado

PROGRAMAGLOBAL.CLP,142 el cual contiene el código que permite determinar cuál Proceso de

Inferencia debe seguir el SISTEMA EXPERTO EoS para hallar las causas de la falla de acuerdo con

la Alarma de Disparo que haya en Primarias.bin, es decir es donde se escoge el archivo de código

con el nombre del tag de la Alarma de Disparo que está en Primarias.bin.143

A continuación se presenta la estructura de programación utilizada en CLIPS para desarrollar el

SISTEMA EXPERTO EoS.

139 El número de caracteres permitidos en un renglón de código elaborado en CLIPS es ilimitado. 140 Árbol de Conocimiento: Representaciones gráficas y lógicas del Proceso de Inferencia que se realiza con cada Alarma de Disparo para hallar las causas de la falla. Cada Árbol de Conocimiento tiene un nombre asociado. Para más información remítase a la sección 6 del ANEXO C del libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo”, o a su sección 3.6. 141 Ver figura 10, cuadros azul claro. 142 PROGRAMAGLOBAL.CLP se encuentra en C:/EJERVG. 143 Ver figura 10, cuadro naranja.

Page 161: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

18

Figura 78.Estructura de programación de CLIPS.

En cada uno de los archivos denominados con el tag de la Alarma de Disparo, o el nombre del

Árbol de Conocimiento asociado, se encuentra el código que permite al SISTEMA EXPERTO EoS

encontrar las causas de falla, es decir es allí donde se realiza verdaderamente el Proceso de

Inferencia.144

3.4 PASO 4: PROCESO DE INFERENCIA DE CLIPS

El SISTEMA EXPERTO EoS, utiliza dos métodos de trabajo en el Proceso de Inferencia145 que

realiza:

144 Para más información al respecto de los nombres de los archivos, remítase a la sección 6.1 de este Manual. 145 Para más información, remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo.”

PROGRAMAGLOBAL.CLP: Contiene el código que permite determinar cuál Proceso de Inferencia debe seguir el SISTEMA EXPERTO EoS. Ejemplo: M12-L45FTT_ALM ó PP-L28FDB4 ó M11-LCLFDEN_ALM ó M11-L3NZFLT

Primarias.bin: Contiene el tag de la Alarma de Disparo en común entre ArchivoHyp.Txt y ListaPrimarias.Txt. Ejemplo: M11-LCLFDEN_ALM

M11-LCLFDEN_ALM.CLP: Contiene el código del Proceso de Inferencia asociado con esa Alarma de Disparo. M11-LCLFDEN_ALM está asociado con el Árbol de Conocimiento denominado Transmisores de campo

Transmisoresdecampo.CLP: Contiene la continuación del código del Proceso de Inferencia asociado con la Alarma de Disparo M11-LCLFDEN ALM.

TransmisoresdecampoPARTE2.CLP: Contiene la continuación del código del Proceso de Inferencia asociado con la Alarma de Disparo M11-LCLFDEN ALM.

Page 162: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

19

Preguntas realizadas al usuario: Durante el proceso que el sistema realiza, pregunta

constantemente al usuario sobre el estado de equipos e instrumentos relacionados con la

falla que se presentó, de manera que éste lo retroalimente y el sistema pueda hallar las

causas de la falla correctamente.

Existencia de Alarmas Secundarias que estén relacionadas con el proceso:

Durante el proceso que el sistema realiza, revisa en el archivo Secundarias.bin si existe una

Alarma Secundaria relacionada con el proceso que está desarrollando y de acuerdo a eso

asocia eventos y alarmas reportadas en otros equipos e instrumentos con la Alarma de

Disparo.

Para realizar preguntas al usuario y presentarlas en la interfaz gráfica, CLIPS crea un archivo

denominado Pta.bin, en el que almacena la pregunta que se va a formular y las posibles respuestas

por parte del usuario, cada una de ellas en un renglón diferente. CLIPS queda en espera de alguna

respuesta para continuar con el proceso, mientras la interfaz gráfica lee la información del archivo

de texto y la muestra al usuario.

Figura 79. Formato que usa CLIPS para formular preguntas al usuario usando el archivo Pta.bin.

El usuario debe responder cada una de las preguntas que se formulan, de manera que debe

seleccionar la respuesta correcta y hacer clic sobre ella. No existe la posibilidad de no elegir

alguna de las respuestas indicadas.

Page 163: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

20

Figura 80. Presentación de la pregunta realizada al usuario por medio de la interfaz gráfica.

Cuando el usuario selecciona la respuesta correcta el sistema la almacena en un archivo

denominado Rta.bin, el cual es leído por CLIPS de manera que le permite continuar con el proceso.

El número de consultas realizadas por el SISTEMA EXPERTO EoS para verificar si existen Alarmas

Secundarias y el número de preguntas realizadas al usuario, depende de la magnitud y complejidad

del Árbol de Trabajo relacionado con la Alarma de Disparo.

A medida que el sistema le formula preguntas al usuario, y este las responde, se va creando un

historial de Preguntas y Respuestas con la fecha y hora en que ocurrió cada una de ellas.146

Figura 81. Historial de preguntas y respuestas que se crea a medida que transcurre el proceso.

146 Para más detalles sobre el Historial de Preguntas y Respuestas, remítase a la sección 8 del Manual de Usuario.

Page 164: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

21

3.5 PASO 5: FINALIZACIÓN DEL PROCESO Y PRESENTACIÓN DE LOS RESULTADOS EN PANTALLA

A medida que transcurre el Proceso de Inferencia, CLIPS va almacenando en Deftemplates147 la

información referente a las Causas, Recomendaciones y Proceso EoS. Al final del proceso, esta

información se envía a archivos binarios denominados Causas.Bin, Recomendaciones.bin y

Proceso.bin, respectivamente.

Para mostrar estos resultados al usuario, la interfaz gráfica lee la información que se encuentra en

los archivos binarios y la presenta al usuario en su ventana principal. En este momento se termina

el proceso.

El SISTEMA EXPERTO EoS presenta al usuario los siguientes resultados:

Posibles causas que generaron la falla: Causas EoS.148

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS.149

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las demás

salidas: Proceso EoS.150

Tenga en cuenta que el SISTEMA EXPERTO EoS siempre debe terminar los procesos, lo que indica

que si el mensaje EoS EN PROCESO se encuentra resaltado en azul151 y el sistema NO está

realizando ninguna acción, se deben reiniciar los dos programas (la interfaz gráfica y CLIPS), para

que el sistema quede nuevamente en espera.

147 Deftemplates: Son arreglos donde se almacena información, como matrices de datos. Para mas información remítase a los manuales de CLIPS que se adjuntan en el CD de instalación del SISTEMA EXPERTO EoS: Guía del Usuario, Guía Básica de programación y Guía Avanzada de Programación. 148 Para más información, remítase a la sección 9 del MANUAL DE USUARIO. 149 Para más información, remítase a la sección 10 del MANUAL DE USUARIO. 150 Para más información, remítase a la sección 11 del MANUAL DE USUARIO. 151 Para más información remítase a la sección 0 del MANUAL DE USUARIO.

Page 165: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

22

3.6 PASO 6: RECOPILACIÓN DE INFORMACIÓN PARA EL REPORTE EoS

Al terminar cada proceso, el SISTEMA EXPERTO EoS genera automáticamente un reporte en

formato texto (*.Txt) en el cual se detalla toda la información relacionada con la Alarma de Disparo

y el proceso ejecutado.

El REPORTE EoS se almacena en la carpeta Reportes SisExpEoS152, y es producto de la acumulación

de información a lo largo del desarrollo del proceso, que permite al SISTEMA EXPERTO EoS

presentar al final, toda la información asociada con el proceso realizado.

El REPORTE EoS se compone de las siguientes partes:153

Encabezado.

Nombre de la persona que realizo el proceso.

Tags de las alarmas relacionadas con el proceso realizado por el SISTEMA EXPERTO EoS.

Información correspondiente a la Alarma de Disparo del proceso.

Causas generadas por el SISTEMA EXPERTO EoS.

Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla.

Recomendaciones correctivas sugeridas por el SISTEMA EXPERTO EoS.

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas del usuario.

Observaciones adicionales al proceso, proporcionadas por el usuario.

Información detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS.

Nombre del archivo que el usuario utilizó para realizar el análisis del evento.

152 Reportes del SISTEMA EXPERTO EoS: Se encuentra ubicada en la ruta de acceso que el usuario indicó en el archivo DataPathAlarms.Txt. Para más información remítase a la sección 3.1 del MANUAL DE USUARIO. 153 Para más información remítase a la sección 14 del MANUAL DE USUARIO.

Page 166: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

23

3.7 OTRO PASO: MODO ANÁLISIS DE EVENTOS

El SISTEMA EXPERTO EoS permite Analizar Eventos, de forma que el usuario puede ingresar la

información con las alarmas que generan los equipos y realizar manualmente un proceso de

simulación.

Para ello, se utilizan los Archivos de Eventos que genera el Sistema de Captura y Filtraje.154 Estos

archivos tienen las mismas características de formato que el ArchivoHyp.Txt, y también contienen

una Alarma de Disparo, pero no la que generó la parada de los turbocompresores.

El SISTEMA EXPERTO EoS crea una carpeta llamada Eventos, la cual se encuentra ubicada en la

ruta de acceso que el usuario indicó en el archivo DataPathAlarms.Txt155, para almacenar los

Archivos de Eventos en ella.

Este archivo debe tener máximo quinientos (500) renglones y debe cumplir con:

Campo Columna

inicial

Columna

final

Descripción

Tag156 4 27 Código para identificar las alarmas.

Descripción 28 48 Breve descripción de la Alarma de Disparo.

Estado de

referencia 49 60 Estado de referencia de la alarma, complementa

la descripción de la misma.

Estado 61 76 Estado de la alarma, complementa la

descripción de la misma.

Fecha 77 87 Fecha en que ocurrió la Alarma de Disparo.

Hora 88 107 Hora en que ocurrió la Alarma de Disparo.

Tabla 4: Características del archivo con el que el usuario analizaría eventos.

154 Archivos de Eventos: Ver sección 3.1 de este manual. 155 DataPathAlarms.Txt: Para más información remítase a la sección 3.1 del MANUAL DE USUARIO. 156 Tag: Es el código que utilizan en Cusiana para identificar cada una de las alarmas relacionadas con los equipos de extracción de petróleo.

Page 167: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

24

Figura 82: Ejemplo de un Archivo de Eventos.

Cuando se realiza el Análisis de Evento, el sistema toma como Archivo de Entrada el Archivo de

Evento que el usuario determine y deja de revisar el ArchivoHyp.Txt, es decir NO recibe

información de él, de forma que NO disparará un proceso nuevo cuando suceda una Alarma

de Disparo REAL que se reporte en el ArchivoHyp.Txt.

Page 168: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

25

4 INSTALACIÓN Y EJECUCIÓN DEL SISTEMA

4.1 PASOS PRELIMINARES

Copiar las carpetas EJERVG y SistemaExperto, y el archivo de texto DataPathAlarms.Txt,157

en el disco duro C:\ de su computador.

Figura 83. Ubicación de la carpeta EJERVG en C\

Verificar que los tags de las alarmas que se encuentran en ListaPrimarias.Txt sean tags de

Alarmas de Disparo y coincidan con los Procesos de Inferencia que CLIPS tiene

programados. Verificar que los tags de las alarmas que se encuentran en

ListaSecundarias.Txt coincidan con la información que tiene el CLIPS en sus programas.158

El usuario no debe modificar ninguno de los demás archivos que se encuentran en

EJERVG o SistemaExperto, ni DataPathAlarms.Txt puesto que puede afectar el correcto

funcionamiento del sistema. Asegúrese que las carpetas NO sean de solo lectura.

Ejecutar el archivo “FrameWork.exe” que se encuentra en la carpeta C:\EJERVG, e instalar

el componente en su computador.

157 Los tres componentes se encuentra en el CD de instalación del SISTEMA EXPERTO EoS 158 ListaPrimarias.Txt, ListaSecundarias.Txt: Para más información vea la sección 3.2 de este manual.

Page 169: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

26

Figura 84: Pantalla de instalación de Framework.exe.

El archivo de texto ubicado en C:\ denominado “DataPathAlarms.Txt”, especifica la ruta

donde se crean las carpetas Eventos y Reportes SisExpEOS que se utilizarán

posteriormente durante la ejecución del programa. La ruta de acceso será

C:\SistemaExperto\

Figura 85: Archivo de texto DataPathAlarms, ubicado en C:\, el cual contiene la ruta de acceso donde se crearán las carpetas Eventos y Repostes SisExpEoS.

4.2 INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS

Copiar el archivo “SISTEMA EXPERTO EoS.exe”, en su disco duro (se recomienda el

escritorio), puesto que es el que se usará en situaciones posteriores cuando se requiera

abrir nuevamente el sistema.

Figura 86: Icono del SISTEMA EXPERTO EoS.

Page 170: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

27

En la pantalla se mostrará la ventana del Sistema de Captura y Filtraje y la ventana de

CLIPS trabajando sobre DOS.

Figura 87: Ventana del Sistema de Captura y Filtraje y ventana de CLIPS

Escriba en la línea de comando de la ventana de CLIPS:

(batch C:\EJERVG\PROGRAMAGLOBAL.CLP)

Figura 88: Línea de código para activar el programa CLIPS.

Presione la tecla Enter. Observará en pantalla algunas líneas de código como las que se

muestran a continuación.

Page 171: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

28

Figura 89: Pantalla con código en CLIPS.

Minimice la ventana de CLIPS.

Figura 90: Minimizar la ventana de CLIPS.

Haga doble clic sobre el icono de “SISTEMA EXPERTO EoS.exe.” A continuación se mostrará

la ventana con el MENÚ PRINCIPAL.

Page 172: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

29

Figura 91: Ventana MENÚ PRINCIPAL.

Esta permite seleccionar entre el Sistema de Captura y Filtraje, el SISTEMA EXPERTO EoS, y salir

del programa. Ambos sistemas estarán funcionando simultáneamente, sin importar la ventana que

escoja el usuario para mostrar en pantalla.

Haga clic sobre SISTEMA EXPERTO EoS. A continuación se mostrará la ventana principal de

EoS.

Figura 92: Ventana principal del SISTEMA EXPERTO EoS.

La instalación del SISTEMA EXPERTO EoS ha terminado.

Page 173: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

30

5 PROGRAMACIÓN Y ESTRUCTURA GENERAL DE CLIPS

A continuación se describen las funciones generales que se utilizan para alimentar el SISTEMA

EXPERTO EoS, y se hace una descripción específica de la estructura de los diferentes archivos que

conforman el sistema. Es necesario que el usuario se remita a los manuales159 de CLIPS para poder

entender los comandos utilizados y tener una mejor comprensión del código de programación.

Encontrará la descripción de los comandos, funciones y condiciones que se deben tener presentes

para alimentar el SISTEMA EXPERTO EoS. En cada caso se muestra la sintaxis adecuada que se

debe utilizar.

Notación utilizada

La notación que se utiliza en este manual para describir la sintaxis de CLIPS es:

Los símbolos y caracteres que se encuentran entre paréntesis ( ) generalmente son

comandos, e indican que deben introducirse tal y como aparecen. Ejemplo:

significa que debe introducirse como se muestra, y hace referencia al comando run.

El contenido que se encuentre entre los caracteres menor que y mayor que, < >, hace

referencia al tipo de información que se debe introducir. Por ejemplo:

significa que debe hacerse una sustitución por un entero real. La sintaxis seria:

podría reemplazarse por:

159 Para mas información remítase a los manuales de CLIPS que se adjuntan en el CD de instalación del SISTEMA EXPERTO EoS: Guía del Usuario, Guía Básica de programación y Guía Avanzada de Programación.

(assert 5 ) o (assert -5 ) o (assert 589 ) , etc

(assert <entero>)

< entero >

(run)

Page 174: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

31

5.1 COMANDOS

5.1.1 Entrada

Después de instalar CLIPSWIN160 y activar el modo de ejecución apropiado, el puntero de la

ventana Dialog Window debe mostrarse en pantalla así:

Figura 93: Presentación del puntero de CLIPS, después de haber instalado correctamente el programa

En ese momento puede introducir los comandos directamente a CLIPS.

5.1.2 Salida

Para salir de CLIPS, use el comando exit:

5.1.3 Borrar la información en CLIPS

Para eliminar todas las construcciones contenidas en el entorno de CLIPS y todos los hechos de la

lista de hechos se utiliza el comando clear:

Ejemplo:

160 Para realizar la programación del código que alimenta el sistema, se trabajará con CLIPSWIN, el cual es la versión para Windows de CLIPS. El programa se encuentra en la carpeta EJERVG la cual se incluye en el CD de instalación del SISTEMA EXPERTO EoS. Para su ejecución haga doble clic sobre el ícono CLIPSWIN.

CLIPS> (clear)

(clear)

(exit)

Page 175: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

32

5.1.4 Ejecución de un programa

Es posible hacer que un programa de CLIPS se ejecute con el comando run que tiene la siguiente

sintaxis:

Después de tener el código correspondiente a diferentes reglas en un programa, dicho programa se

ejecutar al aplicar el comando (run) al final del código que se desea ejecutar.

El SISTEMA EXPERTO EoS utiliza el comando (run) en cada uno de los archivos, al final de cada

código de programación, para que se pueda efectuar su ejecución.

5.1.5 Carga de comandos desde archivos

Para cargar un archivo de CLIPS (*.CLP) que tiene comandos y código de programación, se utiliza

el comando batch. Su sintaxis es la siguiente:

donde < ruta del archivo> corresponde al archivo que se desea cargar en CLIPS incluyendo la

información de su ruta de acceso en el computador, es decir, el directorio donde se encuentra el

archivo. Por ejemplo:

en este caso se carga el archivo PROGRAMAGLOBAL.CLP que se encuentra en la carpeta EJERVG la

cual está dentro de C:/.

El SISTEMA EXPERTO EoS tiene un archivo principal llamado PROGRAMAGLOBAL.CLP el cual

contiene las reglas que indican cual archivo cargar según la Alarma de Disparo.161

Por ejemplo, si el SISTEMA EXPERTO EoS lee la alarma M11-PT1801 correspondiente al hecho

(M11-PT1801), la regla llamada transmisores se dispara y carga en CLIPS, el archivo ALARMAM11-

161 Para más información remítase a la sección 3.3 de este Manual.

(batch c:/EJERVG/PROGRAMAGLOBAL.CLP)

(batch <ruta del archivo>)

(run)

Page 176: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

33

PT1801.CLP, donde está el código de programación correspondiente al análisis de causas de falla

de la alarma M11-PT1801. A continuación se muestra la regla que ilustra éste caso la cual se

encuentra en PROGRAMAGLOBAL.CLP:

5.2 VARIABLES Y FUNCIONES

Las variables que se utilizan en CLIPS se escriben con un signo de interrogación seguido de un

nombre de campo simbólico. Se debe tener en cuenta que NO debe haber espacio entre el signo de

interrogación y el nombre. Ejemplo:

5.2.1 Definición de variables

Para definir una variable global con un valor predeterminado se utiliza el comando defglobal, asi:

donde <nombre de la variable > puede ser cualquier palabra o número que representa la variable y

la cual inicia en el <valor de la variable > el cual puede ser un número entero (5, 8, 1,etc.) ó vacío

(" ") Por ejemplo:

(defglobal ?*var* = 1) (defglobal ?*hecho* = "")

(defglobal ?*<nombre de la variable >* = <valor de la variable >)

?a0 ?prueba ?e21

(defrule transmisores ;Se define una regla de nombre transmisores (declare (salience 20)) ;se declara la prioridad ?a4 <-(M11-PT1801) => (assert (RESULTADO(HIPOTESIS "(Transmisores): ALARMA M11-PT1801 . Falla en Transmisores de campo "))) ;Se escribe el proceso que siguió el sistema (assert (alarma M11-PT1801)) ;Se define un hecho (batch c:/EJERVG/ALARMAM11-PT1801.CLP)

Page 177: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

34

significa que la variable var inicia en 1 y la variable hecho esta vacía, es decir, no tiene ningún

carácter o string asociado.

5.2.2 Suma de números

La sintaxis para sumar dos números es:

De modo que el resultado será la suma del <número 1> más el <número 2>.

En el siguiente ejemplo:

el resultado de la suma es 7, porque 3+4=7.

Si se desea sumar un número y una variable que representa un valor numérico, la sintaxis es la

siguiente:

donde el resultado es la suma del <número> más la <variable> que representa el valor numérico.

En el siguiente ejemplo se define la variable ?*var*:

la cual tiene el valor de 1. Si se realiza la siguiente suma:

el resultado será 6 porque la suma es 5 + 1 =6 donde el número 1 corresponde al valor de la

variable ?*var*.

(+ ?*var* 5)

(defglobal ?*var* = 1)

(+ <variable> <numero>)

(+ 3 4 )

(+ <número 1> <número 2> )

Page 178: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

35

5.2.3 Comparar igualdad

Para comparar una variable y un número y afirmar que son o no iguales, se utiliza la función eq.

La sintaxis de la función eq es la siguiente:

La <variable> y el <simbolo> son los dos valores que se comparan para verificar su igualdad. Por

ejemplo:

Se define la variable ?*var* igual a 1 y luego, dentro del programa, se compara el valor de ?*var*

con el número 1, si es verdadero se cumplirá la sentencia y se convierte en una afirmación

verdadera.162

5.3 HECHOS

Los hechos son fragmentos de información o datos que se le proporciona a CLIPS para que pueda

llevar a cabo el razonamiento. Los hechos que se introducen en el SISTEMA EXPERTO EoS son los

tags de las Alarmas de Disparo que se encuentran en el Archivo de Entrada,163 y las conclusiones

que se infieren a través de la ejecución de un análisis.

Formato de las alarmas que llegan a CLIPS:

La palabra que hace referencia al tag de la alarma va dentro de paréntesis.

162 Ver ejemplo de la sección 5.6.1 de este Manual. 163 Para más información sobre el Archivo de Entrada y Alarma de Disparo, remítase a la sección 3.1 de este Manual.

(M12-L39VCT)

(defglobal ?*var* = 1) . . . (eq ?*var* 1)

(eq <variable> <simbolo>)

Page 179: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

36

Las Alarmas de Disparo que lee CLIPS, se registran en la Base de Hechos,164 de donde

posteriormente las toma para activar las reglas relacionadas.

5.3.1 Campos que componen los hechos

En el SISTEMA EXPERTO EoS, los hechos deben estar compuestos preferiblemente máximo por dos

campos, es decir dos palabras, debido a que las reglas se disparan únicamente con dos campos.

Por ejemplo:

Si un hecho está compuesto por más de dos campos, CLIPS sólo entenderá los primeros dos

campos y la regla asociada con éste se disparará únicamente con los dos primeros campos. Por

ejemplo, si se define el hecho:

la regla asociada se dispara únicamente con los dos primeros campos, es decir:

NO se permite usar la ñ en las palabras que componen los campos de un hecho.

5.3.2 Adición de hechos

Para agregar las conclusiones intermedias se utiliza el comando assert, el cual agrega hechos que

representan información a la Lista de Hechos. La sintaxis del comando assert se muestra a

continuación:

164 Para más información remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo.”

(defrule transmisor-malo ?hecho <- (realtmisor NO)

=> . . (retract ?hecho))

(realtmisor NO Esta)

(alarma M11-PT1801) (M12-L39VCT) (realtmisor NO)

Page 180: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

37

Para el SISTEMA EXPERTO EoS, < hecho> se ha definido de dos campos (dos palabras) que

representan un hecho particular. Se debe tener en cuenta que éstos no se deben repetir para evitar

duplicación de hechos y conflictos en el proceso de análisis.

Ejemplo:

Se observa que el nuevo hecho es alarma M11-L86CBT_ALM.

5.3.3 Asignación de un hecho a una variable

Para manipular un hecho dentro de una regla, se debe asignar a una variable utilizando el operador

de unión de patrones “ <- ” como se muestra a continuación:

donde ?prueba representa el hecho (PRUEBA CLIPS), es decir el valor de ?prueba es (PRUEBA

CLIPS)

5.3.4 Eliminación de hechos

La eliminación de hechos se realiza con el comando retract. Su sintaxis se muestra a continuación:

donde < hecho-numero> corresponde a una variable que se le asigna a cada hecho en particular

cuando se dispara una regla. Por ejemplo, en la siguiente regla:

(defrule prueba-ejecucion ;se declara una regla y se le da nombre ?prueba <-(PRUEBA CLIPS) ;Se adiciona un hecho

=> (assert (RESULTADO(HIPOTESIS "(Prueba de ejecución de CLIPS): PRUEBAPROCESO"))) ;Se escribe el proceso seguido (retract ?prueba)) ;Se elimina el hecho

(retract <hecho-numero>)

?prueba <- (PRUEBA CLIPS)

(assert (alarma M11-L86CBT_ALM))

(assert <hecho>)

Page 181: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

38

El hecho (PRUEBA CLIPS) es asignado a la variable ?prueba, para que después de que se ejecute la

regla, el hecho pueda ser borrado de la Lista de Hechos y no genere un nuevo disparo de la regla,

es decir una nueva ejecución.

5.3.5 Plantillas de hechos

Los grupos de hechos que comparten el mismo hecho de relación y tienen información común se

pueden describir utilizando plantillas de definición o deftemplates, los cuales son arreglos de

variables y/o hechos.

El formato de la plantilla de definición utilizada es la siguiente:

El <nombre del deftemplate> es una palabra que se le asigna al deftemplate para poder

reconocerlo. Cada campo que pertenece a un deftemplate se llama slot, por tal motivo multislot

hace referencia a cero o más campos o valores que puede contener el deftemplate, de forma que el

deftemplate puede almacenar varias palabras.

El <nombre de los campos del deftemplate> es una palabra para llamar a los campos que contiene

el deftemplate.

El SISTEMA EXPERTO EoS tiene definidos tres (3) deftemplates, cada uno de ellos correspondiente

a las Causas Inmediatas, Resultados Hipótesis (es decir los pasos del proceso) y Recomendaciones

Correctivas respectivas; con el fin de agrupar las diferentes conclusiones de cada uno de estos

aspectos durante el proceso.

El formato para los Antecedentes de la causa, es decir los pasos que siguió el SISTEMA EXPERTO

EoS durante el proceso, es:

Se observa que el <nombre del deftemplate> es RESULTADO y <nombre de los campos del

deftemplate> es HIPOTESIS.

(deftemplate <nombre del deftemplate> (multislot <nombre de los campos del deftemplate>))

(deftemplate RESULTADO (multislot HIPOTESIS))

Page 182: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

39

Para el deftemplates de Causas se tiene:

5.4 REGLAS

El SISTEMA EXPERTO EoS está conformado por diferentes archivos que contienen el código de

programación de las reglas de los procesos de análisis específicos, los cuales se cargan a CLIPS

dependiendo de la Alarma de Disparo que se haya activado. Cada proceso de análisis para hallar las

causas de falla cuenta con uno o mas archivos que se cargan durante el proceso dependiendo de

los requerimientos que se generan en la ejecución165

Las reglas son el conocimiento y se represen en un pseudocódigo equivalente al formato SI

…ENTONCES ... expresada en sintaxis de CLIPS.

El formato general de una regla es el siguiente:

La regla completa debe ponerse entre paréntesis al igual que cada uno de sus patrones y acciones,

los cuales pueden ser múltiples.

La regla debe empezar con la palabra clave defrule, seguida por el <nombre de la regla> el cual es

el nombre que se le asigna para reconocerla, generalmente es un nombre asociado a su definición

y se utilizan palabras diferentes para cada una de ellas ya que no pueden existir reglas repetidas

(con el mismo nombre) en los diferentes procesos de análisis.

165 Para más información remítase a la sección 5.5.1 y 5.5.2 de este Manual.

( defrule <nombre de la regla> <patrones> ; lado izquierdo de la regla => <acciones> ; lado derecho de la regla

(deftemplate CAUSA (multislot INMEDIATAS))

Formato para las recomendaciones correctivas de las fallas:

(deftemplate RECOMENDACION

(multislot CORRECTIVA))

Page 183: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

40

Después del encabezado de la regla sigue cero o más elementos condicionales que son los

<patrones>, es decir, corresponden a uno o más hechos que hacen que se dispare la regla.

CLIPS compara los patrones de las reglas con los hechos de la Lista de Hechos, los cuales son:

Los hechos que obtuvo CLIPS correspondientes a las alarmas,

Las diferentes respuestas del usuario durante la ejecución, y

Las conclusiones intermedias que genera CLIPS a través del análisis que realiza.

Si todos los patrones de una regla coinciden con los hechos que se mencionaron anteriormente, la

regla se activa y se ubica en la agenda.166

Al símbolo => que sigue los patrones de una regla se le llama flecha, se forma al escribir el signo

de igual y luego el signo de mayor que y representa el principio de la parte ENTONCES de una

regla: “SI ... ENTONCES”, es decir: SI ..... => ENTONCES ...... A la parte de la regla que va antes

de la flecha se le llama lado izquierdo y a la parte que va después de la flecha se le llama lado

derecho.

La última parte de una regla son las <acciones> las cuales son la lista de acciones que se

ejecutarán cuando se dispare la regla como respuesta a los patrones. El término disparar significa

que CLIPS ejecuta las acciones de la regla en la Agenda.

Por ejemplo, el siguiente pseudocódigo de una regla

SI se detecta la alarma M11-PT1801

ENTONCES ocurre una falla en los transmisores de campo. Presencia de la alarma M11-

PT1801.

se expresa en la sintaxis de CLIPS de la siguiente forma donde se añaden comentarios explicativos

de cada renglón:

; Encabezado de la regla: Donde transmisores es el nombre de la regla

166Agenda: Colección de reglas activadas, donde puede haber cero o más reglas. Para más información remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo.”

((defrule transmisores

Page 184: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

41

; Patrones: Hechos por los cuales la regla se dispara. El hecho es (M11-PT1801) y se le asigna a la

variable ?a4

; Flecha equivalente a ENTONCES

=>

; Acciones: Respuestas que se emprenderán ante los hechos (patrones). En este caso, coloca como

resultado de las hipotesis “ALARMA M11-PT1801. Falla en los transmisores de campo”, adiciona a la

lista de hechos el nuevo hecho correspondiente a (alarma M11-PT1801) y elimina el hecho

asignado a la variable ?a4, el cual era (M11-PT1801)

5.4.1 Prioridad de las reglas

En algunos casos las reglas tienen mayor prioridad que otras debido a que tienen en sí información

más relevante que debe ser atendida antes que otras. Por defecto CLIPS asigna una prioridad a

todas las reglas de cero (0) pero el programador puede forzar a que las reglas se disparen según

su prioridad definiendo explícitamente la prioridad de una regla dentro del rango de –10000 hasta

10000.

Es importante tener en cuenta no usar en exceso la asignación de prioridades en las reglas ya que

puede forzar a que las reglas se disparen de forma secuencial.

Normalmente, el orden en que se disparan las reglas depende del orden en que se afirman los

hechos que satisfacen los patrones de la regla. Si se invierte el orden en que se afirman los hechos,

también se invertirá el orden en que se disparan las reglas.

Asignar la prioridad a una regla se utiliza para que a pesar del orden en que se afirman los hechos,

se disparen primero unas reglas que otras. La declaración de valores de prioridad se hace de la

siguiente manera:

(declare (salience <rango de prioridad>))

(assert (RESULTADO(HIPOTESIS "(Transmisores): ALARMA M11-PT1801 . Falla en Transmisores de campo "))) (assert (alarma M11-PT1801)) (retract ?a4))

?a4 <-(M11-PT1801)

Page 185: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

42

donde <rango de prioridad> es el valor de prioridad que se debe asignar y puede ser cualquier

valor entre –10000 y 10000. Ejemplo:

La prioridad de una regla se define dentro de su estructura como se muestra a continuación:

5.5 FUNCIONES

5.5.1 Carga de hechos: Función Load-Facts

El comando load-facts permite cargar hechos que se encuentran en archivo de texto (*.TXT) a

CLIPS167. La sintaxis del comando load-facts es:

La función load-facts carga un grupo de hechos almacenados en un archivo de texto llamado

<nombre del archivo> incluyendo la información de su ruta de acceso en el computador. Los

hechos que se cargan deben estar en el formato estándar de un hecho. Por ejemplo,

carga los hechos que están en el archivo binario Primarias.bin, los cuales cumplen el siguiente

formato:

El SISTEMA EXPERTO EoS utiliza la función load-facts para cargar la Alarma de Disparo y las

Alarmas Secundarias cuando se requiera.

167 Se pueden cargar también archivos con otra extensión, como *.DOC, *.BIN, etc.

(M12-L39VCT) (M11-LCLFDEN_ALM)

(load-facts c:/EJERVG/Primarias.bin)

(load-facts <nombre del archivo>)

(defrule transmisores ;Se define una regla (declare (salience 20)) ;Se define la prioridad

?a4 <-(M11-PT1801) ;Se incluye un hecho => (assert (RESULTADO(HIPOTESIS "(Transmisores): ALARMA M11-PT1801 . Falla en Transmisores de campo ")));Se escribe el proceso que lleva es sistema (assert (alarma M11-PT1801)) ;Se incluye un hecho (retract ?a4)) ;Se elimina una variable

(declare (salience 30))

Page 186: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

43

5.5.2 Almacenamiento de hechos: Función Save-Facts

El comando save-facts permite guardar hechos que se encuentran en la Lista de Hechos de CLIPS

a un archivo de texto (*.TXT)168. La sintaxis del comando save-facts es:

El <nombre del archivo> es el nombre del archivo texto donde se van a guardar los hechos de la

Lista de Hechos generados por CLIPS. El <ámbito guardado> en este caso es la palabra “local”

para especificar que se desea guardar sólo lo que se encuentra en el deftemplate169 específico

llamado <nombre del deftemplate>. Ejemplo:

En éste ejemplo se guarda en el archivo Causas.Bin, que se encuentra en la carpeta C:/EJERVG,

todos los hechos de la Lista de Hechos correspondientes al deftemplate CAUSA.

Si por ejemplo en el programa se encuentra lo siguiente:

Observe que inicialmente el deftemplate CAUSA tuvo que haber sido definido. Cuando la regla

válvula-venteo se dispara se agregan a la Lista de Hechos tres (3) hechos:

168 Se pueden guardar también archivos con otra extensión, como *.DOC, *.BIN, etc. 169 Deftemplates: Son arreglos donde se almacena información, como matrices de datos. Para mas información remítase a los manuales de CLIPS que se adjuntan en el CD de instalación del SISTEMA EXPERTO EoS: Guía del Usuario, Guía Básica de programación y Guía Avanzada de Programación.

((deftemplate CAUSA (multislot RAIZ)) (deftemplate CAUSAS

(multislot ANTECEDENTES)) (defrule valvula-venteo ?e23 <-(venteotmisor NO) => (assert (CAUSA(RAIZ "(Transmisores): VALVULA DE VENTEO ABIERTA"))) (assert (CAUSAS(ANTECEDENTES "(Transmisores): Verificacion de estado de la valvula de venteo -> Valvula abierta"))) (assert (continua erroneo)) (retract ?23 )) (save-facts c:/EJERVG/Causas.Bin local CAUSA) (run)

(save-facts c:/EJERVG/Causas.Bin local CAUSA)

(save-facts <nombre del archivo> <ámbito guardado> <nombre del deftemplate> )

Page 187: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

44

sin embargo la instrucción (save-facts c:/EJERVG/Causas.Bin local CAUSA) sólo guardara en el

archivo Causas.Bin el primer hecho

el cual corresponde al deftemplate CAUSA.

5.5.3 Almacenar un valor en una variable: Función Bind

Para almacenar un valor en una variable temporal se utiliza la función bind. La sintaxis

utilizada es la siguiente:

La <variable> es el nombre de la variable que previamente se inició y a la cual se le asigna el

<valor de la variable> .Ejemplo:

A la variable ?*var se le asigna el valor de 0+1, es decir, 1. Es necesario tener en cuenta que la

función bind SIEMPRE se utiliza al lado derecho de una regla, es decir donde se encuentran las

acciones. Por ejemplo:

La variable ?*var* sólo será 1 si se dispara la regla alarma-principal, de lo contrario seguirá siendo

0 como inicialmente se definió.

(defglobal ?*var* = 0) Se define una variable (defrule alarma-principal ;Se define una regla (declare (salience 20)) ;Se determina la prioridad ?f01 <- (BANDERA INICIO) ;Bandera de inicio principal => (bind ?*var* (+ 0 1)) Se almacena en una variable

(retract ?f01 )) Se elimina el hecho

(bind ?*var* (+ 0 1))

(bind <variable> <valor de la variable>)

(CAUSA(RAIZ "(Transmisores): VALVULA DE VENTEO ABIERTA"))

1. (CAUSA(RAIZ "(Transmisores): VALVULA DE VENTEO ABIERTA")) 2. (CAUSAS(ANTECEDENTES "(Transmisores): Verificacion de estado de la valvula de venteo > Valvula abierta"))

Page 188: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

45

5.5.4 Abrir archivos de lectura y escritura: Función Open

Para leer un archivo texto o poder escribir en él, se necesita abrir con la función open. La sintaxis

de la función open es:

El <nombre del archivo> es el nombre del archivo que se desea abrir incluyendo la información de

su ruta de acceso en el computador. Cada archivo debe tener un nombre lógico asociado, que es el

<nombre lógico del archivo> el cual es definido por el programador y es con el que se identifica el

archivo a lo largo del programa en CLIPS. Por ejemplo, se utiliza el nombre lógico “repuesta” para

hacer referencia al archivo Rta.bin. El argumento <acceso al archivo> representa los posibles

modos de acceso al archivo. El SISTEMA EXPERTO EoS utiliza dos accesos:

Modo “ r ” para acceso de sólo lectura

Modo “ w ” para acceso de sólo escritura

A continuación se muestra un ejemplo.

El archivo que se va abrir es "c:/EJERVG/Rta.bin". El nombre lógico que se la asocia al archivo es

respuesta, y "r" significa que el archivo se va abrir para acceso de sólo lectura.

Se debe tener en cuenta que si el archivo que se desea abrir no existe, la función open lo creará

instantáneamente.

5.5.5 Cerrar un archivo: Función Close

Cuando se termine de utilizar un archivo, se debe cerrar con la función close. La sintaxis es:

donde <nombre lógico del archivo> especifica el nombre lógico del archivo a cerrarse. Por ejemplo:

(close respuesta)

(close <nombre lógico del archivo >)

(open "c:/EJERVG/Rta.bin" respuesta "r")

(open <nombre del archivo><nombre lógico del archivo><acceso al archivo>)

Page 189: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

46

cerrará el archivo conocido por CLIPS con el nombre lógico respuesta.

Es importante recordar que NO deben quedar archivos abiertos.

5.5.6 Borrar un archivo: Función Remove

Para borrar un archivo se utiliza la función remove. La sintaxis es:

donde <nombre-ruta del archivo> especifica el nombre y ruta específica del archivo que se desea

borrar. En el siguiente ejemplo:

se borrará el archivo Primarias.bin que se que se encuentra dentro de la carpeta EJERVG que esta

en c:/.

5.5.7 Escritura en un archivo: Función Printout

Para imprimir información en un archivo, es decir, para escribir información en un archivo se utiliza

la función printout. La sintaxis es la siguiente:

El <nombre lógico del archivo > es el nombre lógico del archivo donde se va a escribir el "<texto

escrito>", el cual va entre comillas. Por ejemplo:

significa que en el archivo especificado con el nombre lógico pregunta se va a escribir el texto: “La

lectura del transmisor que causo el trip esta en cero (0v)?”

Para poder escribir en un archivo se necesita, abrirlo con la función open en modo de acceso de

escritura, escribirlo con la función printout, y cerrarlo con la función close. Ejemplo:

(printout pregunta "La lectura del transmisor que causo el trip esta en cero (0v) ? ")

(printout <nombre lógico del archivo > "<texto escrito>")

(remove "c:/EJERVG/Primarias.bin")

(remove “<nombre-ruta del archivo >”)

Page 190: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

47

Si se desea escribir más de un renglón en el archivo se utiliza el comando crlf el cual actúa como

enter170 en el archivo, haciendo que el cursor se ubique en el renglón siguiente del archivo.

Ejemplo:

En este caso, se imprimirá la información en el archivo Pta.bin de la siguiente manera:

5.5.8 Entrada de información: Función Read-ReadLine

Para leer información que esta en un archivo de texto se utiliza la función read .La sintaxis es la

siguiente:

donde <nombre lógico del archivo > es el nombre lógico del archivo del que se lee la información.

Para recuperar valores que están escritos en un archivo de binario (.bin), primero se abre dicho

archivo con acceso de solo lectura, se utiliza la función read y finalmente se cierra.

Suponga que dentro del archivo Rta.bin se encuentra escrita la palabra NO y tiene las siguientes

instrucciones en CLIPS:

170 Enter: Salto de línea.

(open "c:/EJERVG/Rta.bin" respuesta "r") (bind ?*si5* (read respuesta)) (close respuesta)

(read <nombre lógico del archivo >)

La lectura del transmisor que causo el trip esta en cero (0v)?

SI

NO

(open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta "La lectura del transmisor que causo el trip esta en cero (0v) ? "crlf"SI"crlf"NO"crlf)

(close pregunta)

(open "c:/EJERVG/Pta.bin" pregunta "w") (printout pregunta "La lectura del transmisor que causo el trip esta en cero (0v) ? )

(close pregunta)

Page 191: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

48

En el caso anterior, se abre el archivo Rta.bin en acceso de sólo lectura “r”. Una vez abierto se usa

la función read para recuperar el valor escrito el cual es la palabra NO que esta en el archivo

asociado con el nombre lógico respuesta (Rta.bin ). Para no perder este valor se utiliza la función

bind171 , la cual le asigna a la variable ?*si5* el valor que se leyó (la palabra NO). Finalmente el

archivo se cierra con la función close172; pero el valor no se pierde porque está almacenado en la

variable ?*si5*.

La función read sólo leerá el primer campo de un renglón, es decir, si se tiene la siguiente entrada

en el archivo que se va a leer:

BANDERA INICIO

Utilizando la función read, sólo se leerá el primer campo: BANDERA.

Para leer una línea completa de entrada se utiliza la función readline. Su sintaxis es:

Se utiliza de la misma manera que la función read con al única diferencia que lee más de un

campo. Por ejemplo, si el archivo Primarias.bin tiene escrito las palabras BANDERA INICIO:

en la variable ?*hecho se almacenan las palabras BANDERA INICIO.

5.5.9 Renglón vacío

El símbolo EOF (End Of File, final del archivo), es el valor que CLIPS retorna a las funciones de

entrada cuando se intenta leer más allá del final de un archivo, es decir, cuando ya no hay más

datos en un archivo.

Si se verifica el valor que retorna la función read o readline, es posible determinar el momento en

que ya no hay más datos en el archivo. Por ejemplo:

171 Para más detalles, remítase a la sección 5.5.3 de este Manual. 172 Para más detalles, remítase a la sección 5.5.5 de este Manual.

(open "c:/EJERVG/Primarias.bin" primarias "r") (bind ?*hecho* (readline primarias)) (close primarias)

(readline <nombre lógico del archivo >)

Page 192: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

49

El ejemplo anterior corresponde a la regla alarma-principal. Allí se observa que, cuando ésta se

dispara, se abre el archivo Primarias.bin y se lee la línea del archivo con la función readline. El valor

leído se guarda en la variable ?*hecho* por medio de la función bind y se evalúa la siguiente regla:

5.6 FUNCIONES DE PROCEDIMIENTOS

El SISTEMA EXPERTO EoS utiliza dos funciones de procedimiento, while e if que son

proporcionadas por CLIPS para controlar el flujo de ejecución de acciones en el lado derecho de

algunas reglas, teniendo presente que sólo están destinadas para realizar ciclos simples de control

en casos de fuerza mayor donde es prudente utilizarlas. Esto con el fin de de no anular el propósito

del uso de un programa basado en reglas173 como lo es el SISTEMA EXPERTO EoS.

5.6.1 La función if

La sintaxis de la función if se muestra a continuación:

173 Para más información sobre programación basada en reglas remítase al libro “SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para turbocompresores utilizados en la extracción de petróleo.”

Si1 la variable ?*hecho* es igual al símbolo EOF, es decir si es vacío (es final

del archivo y el renglón es vacío),

Entonces la variable ?*var* es igual a la variable ?*var* más cero.

(defrule alarma-principal ;Se define una regla ?f01 <- (BANDERA INICIO) ;Se asigna valor a una variable => (open "c:/EJERVG/Primarias.bin" primarias "r") ;Se abre un archivo (bind ?*hecho* (readline primarias)) Se asigna el valor de la línea leída en el archive primarias, a la variable hecho (close primarias) ;Se cierra el archivo (if (eq ?*hecho* EOF) ;Cuando no hayan más renglones… then(bind ?*var* (+ ?*var* 0)) Asigne el valor de 0 a var else (bind ?*var* (+ ?*var* 1)))) ;Asisgne el valor de 1 a var (retract ?f01 )) ;elimine la variable

Page 193: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

50

donde <expresion-condicion> es una expresión simple (como una función) que expresa una

condición. La <expresion-accion-caso condicion > que sigue a la palabra then y <expresion-accion-

caso segundo condicion > que sigue a la palabra else son expresiones que se evalúan con base en

el valor de devolución de la evaluación de <expresion-condicion>

En una función if, lo primero que se evalúa es la condición que representa <expresion-condicion>

para determinar si se ejecutan las acciones de la cláusula then o de la cláusula else. Es decir, si se

cumple la condición descrita en <expresion-condicion> se ejecutan las acciones de la cláusula then

correspondientes a <expresion-accion-caso condicion >, si por el contrario, NO se cumple la

condición descrita en <expresion-condicion> se ejecutan las acciones de la cláusula else

correspondientes a <expresion-accion-caso segundo condicion >

La función if se utiliza en el lado derecho de una regla. En el siguiente ejemplo se muestra el uso

de la función if dentro de la regla alarma-principal:

Donde (eq ?*hecho* EOF) corresponde a la <expresion-condicion>, (bind ?*var* (+ ?*var* 0) a la

<expresion-accion-caso condicion> que sigue a la palabra then y (bind ?*var* (+ ?*var* 1) a la

<expresion-accion-caso segundo condicion > que sigue a la palabra else. Se puede observar que la

función if está en el lado derecho de la regla alarma-principal. Esta regla se dispara con el hecho

(BANDERA INICIO), si éste hecho se encuentra en la Lista de Hechos la regla se dispara ejecutando

varias acciones, A continuación se explica detalladamente las acciones que se ejecutan en el

ejemplo anterior al dispararse la regla alarma-principal:

(defrule alarma-principal ;Se define una regla ?f01 <- (BANDERA INICIO) ;Se define una variable => (bind ?*var* (+ 0 1)) Se asigna 1 a var (open "c:/EJERVG/Primarias.bin" primarias "r") ;Se abre un archivo binario (bind ?*hecho* (readline primarias)) ;Se lee una línea del archivo (close primarias) ;Se cierra el archivo (if (eq ?*hecho* EOF) ;Se hay un fin de línea…

then(bind ?*var* (+ ?*var* 0)) ;Asignele 0 a var

else ;si no es asi… (bind ?*var* (+ ?*var* 1)))) ;Asígnele 1 a var ( ?f01 )) li i l i bl

(If <expresion-condicion> then <expresion-accion-caso-condicion> else <expresion-accion-caso-segunda-condicion >)

Page 194: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

51

5.6.2 La función While

La sintaxis de la función while se muestra a continuación:

donde <expresion-condicion> es una expresión simple (como una función) que expresa una

condición. Las <expresiones-acciones-condicion > que sigue a la palabra do, son cero o más

expresiones que se evalúan con base en el valor de devolución de la evaluación de <expresion-

condicion>. Estas expresiones componen el cuerpo del ciclo, ya que mientras la <expresion-

condicion> sea verdadera se sigue en un ciclo ejecutando las acciones correspondientes a las

<expresiones-acciones-condicion > hasta que la <expresion-condicion> deje de ser verdadera, en

ese momento, se sale del ciclo de la función while.

(while <expresion-condicion> do <expresiones-acciones- condicion > )

Asigna a la variable ?*var* la suma 1+0=1 :

(bind ?*var* (+ 0 1))

MIENTRAS la variable ?*var* sea igual a 1

(while (= ?*var* 1)

REALICE las siguientes acciones:

do

Abre un archivo llamado Primarias.bin para leerlo:

(open "c:/EJERVG/Primarias.bin" primarias "r")

Asigna a la variable ?*hecho* lo que lee de ese archivo :

(bind ?*hecho* (readline primarias))

Cierra el archivo primarias :

(close primarias)

Asigne a la variable ?*var* el valor de (?*var* + 1 )

(bind ?*var* (+ ?*var* 1))

Elimine el hecho (BANDERA INICIO):

(retract ?f01 ))

Page 195: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

52

Lo primero que se evalúa en un función while es la condición que representa <expresion-

condicion> para determinar si se ejecutan las acciones del cuerpo correspondientes a las

<expresiones-acciones-condicion > las cuales van después de la cláusula do. La condición de la

función while (<expresion-condicion>) se revisará cada vez que se ejecute el cuerpo

(<expresiones-acciones-condicion >) para determinar si debe ejecutarse otra vez.

La función while se utiliza en el lado derecho de una regla. En el siguiente ejemplo se muestra el

uso de la función while dentro de la regla “alarma-principal”

Donde (= ?*var* 1) corresponde a la <expresion-condicion>, y los cuatro renglones que siguen a

la palabra do son las (<expresiones-acciones-condicion>) Se puede observar que la función while

está en el lado derecho de la regla alarma-principal. Esta regla se dispara con el hecho (BANDERA

INICIO), si éste hecho se encuentra en la Lista de Hechos la regla se dispara ejecutando varias

acciones. A continuación se explica detalladamente las acciones que se ejecutan en el ejemplo

anterior al dispararse la regla alarma-principal.

Asigna a la variable ?*var* la suma 1+0=1 :

(bind ?*var* (+ 0 1))

MIENTRAS la variable ?*var* sea igual a 1

(while (= ?*var* 1)

REALICE las siguientes acciones:

do

Abre un archivo llamado Primarias.bin para leerlo:

(open "c:/EJERVG/Primarias.bin" primarias "r")

Asigna a la variable ?*hecho* lo que lee de ese archivo :

(bind ?*hecho* (readline primarias))

(defrule alarma-principal ?f01 <- (BANDERA INICIO) => (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Primarias.bin" primarias "r") (bind ?*hecho* (readline primarias)) (close primarias)

(bind ?*var* (+ ?*var* 0))

Page 196: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

53

5.7 VENTANAS DE CLIPS

5.7.1 Dialog Window

La ventana llamada Dialog Window es la que permite realizar la compilación del código de

programación.

Figura 94: Ventana Dialog Window en CLIPS.

5.7.2 Ventana de edición

En la ventana de edición se permite escribir, modificar y guardar el código de programación, para

posteriormente simularlo en la ventana Dialow Window.

Igualmente se puede abrir el número de ventanas que se desee.

Para escribir el código primero se debe abrir una ventana de edición con el comando New.

(bind ?*hecho* (readline primarias))

Cierra el archivo primarias :

(close primarias)

Asigne a la variable ?*var* el valor de (?*var* + 1 )

(bind ?*var* (+ ?*var* 1))

Elimine el hecho (BANDERA INICIO):

(retract ?f01 ))

Page 197: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

54

Figura 95: Ventana de edición de CLIPS, y ubicación del comando New.

La ventana de edición se llama Untitled pero el usuario le puede asignar el nombre que desea

cuando la guarde con el comando Save.

En la ventana de edición se escribe el código de programación para después simularlo en la

ventana de diálogo llamada Dialog Window.

Se debe tener en cuenta que la ventana de edición tiene un número máximo de renglones para

escribir código, es decir no se pueden escribir más de 470 líneas de código en una ventana.

Para compilar el programa, se debe seleccionar la parte de código que se desea compilar, hacer clic

en el botón derecho del ratón y escoger el comando Select All.

Figura 96: Comando Select All de CLIPS.

Luego de haber seleccionado el código que se desea compilar, se compila trasladándolo a la

ventana Dialog Window presionando simultáneamente las teclas Crtl +M.

Page 198: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

55

Cuando el código es compilado se puede detectar si simula bien o no, ya que en caso de errores

CLIPS arroja comentarios174 de error en la ventana Dialog Window.

174 La descripción de los comentarios de errores se encuentran en el Apéndice G de la Guía Básica de Programación de CLIPS, el cual se incluye en el CD de instalación del SISTEMA EXPERTO EoS.

Page 199: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

56

6 ESTRUCTURA Y PROGRAMACIÓN DEL SISTEMA EXPERTO EoS EN CLIPS

A continuación se presenta la estructura general y el código de programación utilizados para

alimentar el SISTEMA EXPERTO EoS. Encontrará la representación de los Árboles de Conocimiento

utilizados para la desarrollo del sistema y las aclaraciones pertinentes al modo de programación del

SISTEMA EXPERTO EoS en CLIPS.

El código de programación referente a la información que alimenta al SISTEMA EXPERTO EoS se

guarda en diferentes archivos en la carpeta EJERVG que se encuentra en C:/

Los archivos con extensión *.CLP que se encuentran en la carpeta EJERVG son los archivos que

CLIPS utiliza, dependiendo del caso, para poder hacer el proceso de análisis de causa de falla.

Figura 97: Lista de archivos con extensión *.CLP, ubicados en C:\EJERVG, donde se encuentra al código

que alimenta el SISTEMA EXPERTO EoS.

6.1 NOMBRE DE LOS ARCHIVOS DE CLIPS

La estructura de programación realizada en CLIPS cuenta con un archivo denominado

PROGRAMAGLOBAL.CLP,175 el cual contiene el código de programación que permite determinar

cuál Proceso de Inferencia debe seguir el SISTEMA EXPERTO EoS para hallar las causas de la falla

de acuerdo con la Alarma de Disparo que haya en Primarias.bin.

Adicionalmente, cada caso de estudio para hallar las causas de falla de una Alarma de Disparo, se

encuentra en uno (1) o más archivos en CLIPS, cuyos nombres hacen referencia a:

175 PROGRAMAGLOBAL.CLP se encuentra en C:/EJERVG.

Page 200: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

57

El tag de la Alarma de Disparo con la cual se hace el análisis,

El caso de Árbol de Conocimiento que se analiza.

Es decir, cada análisis de causa de falla consta usualmente176 de dos archivos, uno llamado según

el tag de la Alarma de Disparo que se analiza y los demás nombrados según el árbol de falla de

análisis de causa que contienen.

En el archivo llamado PROGRAMAGLOBAL.CLP es dónde se encuentran las reglas para cada una de

las Alarmas de Disparo, es decir es donde se hace el llamado al archivo cuyo nombre es el tag de la

Alarma de Disparo. Este archivo siempre existirá, puesto que es el que hace que empiece un

proceso en CLIPS y es el primer archivo que llama CLIPS al detectar una Alarma de Disparo.

Dentro de este archivo se encuentran las primeras reglas y líneas de código que se estudian al

presentarse la Alarma de Disparo respectiva. Si el código que contiene este archivo supera las 470

líneas177 se realiza el llamado al archivo cuyo nombre corresponde al Árbol de Conocimiento, el cual

contiene la continuación del código.

Por ejemplo, si la Alarma de Disparo que se activó es M11-PT1801, CLIPS la detecta por medio de

la siguiente regla que se encuentra en el archivo PROGRAMAGLOBAL.CLP:

Donde se observa que, al dispararse la regla debido a la presencia de la alarma (M11-PT1801) se

hace el llamado del archivo ALARMAM11-PT1801.CLP, el cual lleva el nombre de la Alarma de

Disparo, donde se encuentran las primeras reglas para el análisis de las causas de falla. Dentro del

código del archivo ALARMAM11-PT1801.CLP se hace el llamado a los archivos necesarios para

proseguir el análisis como se muestra a continuación: (solo si se supera el número de líneas

permitidas de código.)

176 El número de archivos puede ser mayor o menor de acuerdo al caso de estudio, su complejidad y cantidad de información. 177 Recuerde que en CLIPS los archivos tienen un numero máximo de renglones de código permitido, por lo tanto, en algunos casos es necesario hacer llamados a otros archivos para continuar con el código.

;*** ARBOL DE TRANSMISORES DE CAMPO: (defrule transmisores (declare (salience 20)) ?a4 <-(M11-PT1801) ;Alarma principal de disparo => (assert (CAUSAS(ANTECEDENTES "(Transmisores): ALARMA M11-PT1801 . Falla en Transmisores de campo "))) (assert (alarma M11-PT1801)) (batch c:/EJERVG/ALARMAM11-PT1801.CLP) (retract ?a4))

Page 201: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

58

Como se puede observar, al final del código del archivo ALARMAM11-PT1801.CLP se cargan los

archivos Transmisoresdecampo.CLP y TransmisoresdecampoPARTE2.CLP cuyos nombres hacen

referencia a los Árboles de Conocimiento asociados con la Alarma de Disparo activada y contienen

las reglas restantes para poder realizar el análisis de causas de falla.

6.2 ÁRBOLES DE CONOCIMIENTO

Los Árboles de Conocimiento son representaciones gráficas y lógicas del Proceso de Inferencia que

realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la falla. Se

utilizan para representar el conocimiento de los expertos en fallas de BP Exploration Company

Colombia Ltda. y Equipo de Servicios Petroleros Ltda.

Para ello, tienen en medio de su cuerpo preguntas, posibles respuestas y modos de actuación; de

acuerdo al análisis y estado de los equipos relacionados con los turbocompresores. Estas preguntas

se realizan en medio de la ejecución del programa usando la interfaz gráfica y son un insumo para

llegar a las posibles causas de fallas.

A continuación se presenta un fragmento del Árbol de Conocimiento de Detección de Fuego

utilizado para alimentar el SISTEMA EXPERTO EoS.

;*********A R B O L: TRANSMISORES DE CAMPO ****************** . . . (batch c:/EJERVG/Transmisoresdecampo.CLP) (batch c:/EJERVG/TransmisoresdecampoPARTE2.CLP) ;se carga TransmisoresdecampoPARTE2 el cual es la continuación de Transmisoresdecampo

Page 202: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

59

Figura 98: Fragmento de un Árbol de Conocimiento utilizado en la elaboración del SISTEMA EXPERTO EoS.

Los especialistas en el tema fueron los responsables de suministrar la información para la creación

de los Árboles de Conocimiento de manera que tuvieran relaciones bien definidas, explicadas y con

validez.

Las reglas que conforman la base del conocimiento se expresan en un pseudocódigo equivalente al

formato SI …ENTONCES (IF…THEN.)

6.3 EXPLICACIÓN DEL CÓDIGO DE UN ÁRBOL DE CONOCIMIENTO

En el Anexo A de este documento se presenta de manera detalla y explicativa el código de

programación elaborado en CLIPS del Árbol de Conocimiento Detección de Fuego.

Page 203: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

60

7 GLOSARIO

AGENDA: Donde se almacenan las reglas disparadas.

ALARMA DE DISPARO: Es la alarma que está directamente relacionada con la parada de un

turbocompresor y se encuentran en el Archivo de Entrada.

ALARMAS SECUNDARIAS: Son las alarmas que se encuentran en el Archivo de Entrada que no

son Alarmas de Disparo pero están relacionadas con los turbocompresores.

ALIMENTAR EL SISTEMA EXPERTO EoS: Agregar información de procesos nuevos para que el

sistema sea más completo y robusto. A cargo del Usuario Experto.

ANÁLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el usuario

puede ingresar la información con las alarmas que generan los equipos y realizar manualmente un

proceso.

ÁRBOL DE CONOCIMIENTO: Representaciones gráficas y lógicas del Proceso de Inferencia que

realiza el SISTEMA EXPERTO EoS con cada Alarma de Disparo para hallar las causas de la falla. Se

utilizan para representar el conocimiento de los expertos en fallas. Cada Árbol de Conocimiento

tiene un nombre asociado.

ARCHIVO DE ENTRADA: Es un archivo de texto con la información de los sesenta (60) minutos

anteriores y el (1) minuto posterior a la Alarma de Disparo. Es la entrada al SISTEMA EXPERTO

EoS.

ARCHIVO DE EVENTOS: Es un archivo de texto, previamente creado por el usuario, con la

información de las alarmas con la que desea realizar el Análisis de Eventos. Debe tener las mismas

características del Archivo de Entrada.

ARCHIVOHYP.TXT: Archivo de texto con la información de los sesenta (60) minutos anteriores y

el (1) minuto posterior a la Alarma de Disparo. Es el nombre del Archivo de Entrada. Se encuentra

en C:\EJERVG.

ARCHIVOS DE CONTINUACIÓN: Archivos con código en CLIPS, que tienen la continuación de

un proceso determinado, cuando los archivos donde está la información se le terminan los

Page 204: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

61

renglones permitidos de escritura. Estos archivos de continuación llevan el nombre del Árbol de

Estudio asociado al análisis de fallas.

BASE DE HECHOS: Componente de los sistemas expertos. Lugar donde se almacenan las alarmas

de los equipos que intervienen en el proceso de producción de petróleo en Cusiana. Registra

conclusiones intermedias y datos generados en el proceso de inferencia para explicar las

deducciones y el comportamiento del sistema.

BASE DEL CONOCIMIENTO: Componente de los sistemas expertos. Son las reglas que contienen

la información para que el SISTEMA EXPERTO EoS sepa como proceder en los diferentes casos y

determine las causas de falla de las alarmas que llegan a la Base de Hechos.

CAUSAS EoS: Es una salida del SISTEMA EXPERTO EoS. Son las posibles causas que generaron la

falla.

CAUSAS.BIN: Archivo donde se almacenan las posibles causas que generaron la falla. Se

encuentra en C:\EJERVG.

CLIPS: Es un programa que trabaja de manera regular y sincrónica con la Interfaz Gráfica, es el

que realiza el proceso de inferencia y genera la información que se muestra al usuario. Herramienta

especializada para el desarrollo de sistemas expertos.

CONTROL ROOM: Es el cuarto de control donde se reportan las alarmas de los equipos que se

encuentran en el CPF de Cusiana, Casanare.

CPF: Central Production Facilities. Planta de extracción de petróleo ubicada en Cusiana, Casanare.

DEFTEMPLATES: Son arreglos donde se almacena información. Similares a matrices de datos.

HISTORIAL DE PREGUNTAS Y RESPUESTAS: Es el historial de preguntas realizadas por el

SISTEMA EXPERTO EoS y respuestas dadas por el usuario en medio del proceso.

INFORMACIÓN DE LA ALARMA DE DISPARO: Es la información referente a la Alarma de

Disparo: tag de la alarma, descripción de la alarma, estado de referencia de la alarma, estado de la

alarma, fecha en que ocurrió la alarma, hora en que ocurrió la alarma.

Page 205: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

62

INTERFAZ GRÁFICA: Es el programa con el que el usuario interactúa, y donde se muestra la

información de interés para éste. La interfaz gráfica la comparte con el Sistema de Captura y

Filtraje y está desarrollada en Visual Basic.NET 6.0.

LISTAPRIMARIAS.TXT: Contiene una lista con todos los tags de Alarmas de Disparo. Se

encuentra en C:\EJERVG.

LISTASECUNDARIAS. TXT: Contiene una lista con todos los tags de las alarmas que no son

Alarmas de Disparo pero están relacionadas con los turbocompresores, es decir con las Alarmas

Secundarias.

MANUAL DE USUARIO: Detalla el modo de uso y las funcionalidades del SISTEMA EXPERTO EoS.

MENÚ PRINCIPAL: Es la ventana donde se puede seleccionar (para presentar en pantalla) el

SISTEMA EXPERTO EoS o el Sistema de Captura y Filtraje.

MÓDULO DE ADQUISICIÓN DEL CONOCIMIENTO: Componente de los sistemas expertos.

Permite añadir, eliminar o modificar elementos de conocimiento (en la mayoría de los casos,

reglas.)

MOTOR DE INFERENCIA: Componente de los sistemas expertos. Es el programa que controla el

razonamiento o proceso de inferencia que sigue el sistema experto.

PRIMARIAS.BIN: Contiene los tags de las alarmas que resultan de la comparación entre

ArchivoHyp.Txt con ListaPrimarias.Txt. Se encuentra en C:\EJERVG.

PROCESO DE INFERENCIA: Es el programa que controla el razonamiento que sigue el sistema

experto, puesto que debe comparar los patrones de reglas con la lista de datos de la Base de

Hechos.

PROCESO EoS: Es una salida del SISTEMA EXPERTO EoS. Es la secuencia de pasos realizados por

el SISTEMA EXPERTO EoS para generar las demás salidas.

PROCESO.BIN: Archivo donde se almacena la secuencia de pasos realizados por el SISTEMA

EXPERTO EoS para generar las demás salidas. Se encuentra en C:\EJERVG.

PTA.BIN: Archivo donde se almacena la pregunta que el sistema le formula al usuario. Se

encuentra en C:\EJERVG.

Page 206: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

63

RECOMENDACIONES EoS: Es una salida del SISTEMA EXPERTO EoS. Son las recomendaciones

correctivas de la falla.

RECOMENDACIONES.BIN: Archivo donde se almacenan las recomendaciones correctivas de la

falla. Se encuentra en C:\EJERVG.

REPORTE EoS: Es el reporte con la información de entrada, salida y adicional. Este reporte se

genera en formato de texto (*.Txt) al culminar el proceso.

RTA.BIN: Archivo donde se almacena la respuesta dada por el usuario al sistema. Se encuentra en

C:\EJERVG.

SECUNDARIAS.BIN: Contiene los tags de las alarmas que resultan de la comparación entre

ArchivoHyp.Txt con ListaSecuntarias.Txt. Se encuentra en C:\EJERVG.

SISTEMA DE CAPTURA Y FILTRAJE: Es el sistema que se encarga de recibir constantemente las

alarmas que generan los diferentes equipos que intervienen en el proceso de extracción de petróleo

en Cusiana y mostrarlas de manera detallada en pantalla. El sistema fue desarrollado e instalado

previamente en el Control Room de Cusiana; donde trabajan de forma coordinada y bajo la misma

Interfaz Gráfica del SISTEMA EXPERTO EoS.

SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico experto para

turbocompresores utilizados en la extracción de petróleo: Libro donde se da a conocer la

forma como se cumplieron los objetivos propuestos inicialmente, dada la estructura del prototipo

del sistema experto, su construcción y la información recolectada y estudiada. Se incluye en le CD

del SISTEMA EXPERTO EoS.

TAG: Es el código que utilizan en el CPF de Cusiana para identificar cada una de las alarmas

relacionadas con los equipos de extracción de petróleo.

USUARIO EXPERTO: Quien posee el conocimiento especializado para alimentar el sistema

experto.

VENTANA PRINCIPAL: Ventana donde se presentan los controles y las salidas del SISTEMA

EXPERTO EoS.

Page 207: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

ANEXOS

Page 208: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

1

ANEXO A: EXPLICACIÓN DEL CÓDIGO DE PROGRAMACIÓN DEL ÁRBOL DE CONOCIMIENTO

DETECCIÓN DE FUEGO

A continuación se presenta de manera detallada y explicativa el código de programación

elaborado en CLIPS del Árbol de Conocimiento Detección de Fuego. Se incluye la descripción

del archivo PROGRAMAGLOBAL.CLP.

ARCHIVO PROGRAMAGLOBAL.CLP

En este archivo se encuentra el código de CLIPS, en donde se hace el llamado del archivo

correspondiente para hacer el análisis según la alarma disparada.

1. Se asegura que se elimine todas las construcciones contenidas en el entorno de CLIPS

y todos los hechos de la lista de hechos:

(clear)

2. Definición de los deftemplates que se van a utilizar:

(deftemplate RESULTADO ;formato para los resultados de las hipotesis (multislot HIPOTESIS)) (deftemplate CAUSA ;formato para la causa inmediata de la falla (multislot INMEDIATA)) (deftemplate RECOMENDACION ;formato para las sugerencias de las fallas (multislot CORRECTIVA) ;****************************************

3. Definición de las variables utilizadas:

(defglobal ?*var* = 1) ;Se define como global una variable var (defglobal ?*hecho* = "") ;Se define como global una variable hecho

4. Se carga el archivo Inicio.bin donde se encuentra una bandera que permite arrancar el

programa, esa bandera es constante e inamovible:

(load-facts c:/EJERVG/Inicio.bin) ;Se carga la bandera para disparar el programa

5. La bandera que esta en el archivo Inicio.bin es el hecho (BANDERA INICIO), el cual

permite que se dispare el programa. Este hecho permite que el programa se mantenga

en proceso para poder leer constantemente el archivo Primarias.bin donde llegan las

Page 209: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

2

Alarmas de Disparo. La regla que se dispara al detectar el hecho (BANDERA INICIO) se

muestra a continuación:

(defrule alarma-principal (declare (salience 20)) ?f01 <- (BANDERA INICIO) ;Bandera de inicio principal => (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Primarias.bin" primarias "r") ;Abre Primarias para leer UNA alarma primaria (bind ?*hecho* (readline primarias)) ;Asigna a hecho UNA alarma primaria (close primarias) (if (eq ?*hecho* EOF) ;Si no se encontro UNA alarma primaria then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else ; Si encontró UNA alarma primaria (bind ?*var* (+ ?*var* 1)))) (load-facts c:/EJERVG/Primarias.txt) ;Carga la alarma principal (hecho) para empezar proceso de hallar la causa raiz (retract ?f01 )) ; Elimina hecho (BANDERA INICIO) de la lista de hechos

6. El hecho (PRUEBACLIPS) avisa si CLIPS se está ejecutando correctamente y no ha

ocurrido un error:

;****************PARA VERIFICAR FUNCIONAMIENTO DE CLIPS ************* (defrule prueba-ejecucion ; Regla para verificar que CLIPS se esté ejecutando (declare (salience 30)) ?prueba <-(PRUEBACLIPS) => (assert (CAUSAS(ANTECEDENTES "(Prueba de ejecucion de CLIPS): PRUEBAPROCESO"))) (retract ?prueba))

7. Regla para las alarmas primarias relacionadas con el árbol de Detección de Fuego:

M12-L45FTT_ALM, M12-L45FTT_ALM, M12-L45FTT_ALM, M12-L45FTT_ALM, M12-

L45FTT_ALM o M12-L45FTT_ALM.

Cada Alarma de Disparo tiene definida una regla que carga el archivo específico según la

alarma que se haya disparado, es decir, si la Alarma de Disparo es M12-L45FTT_ALM, ésta se

almacena en el archivo Primarias.bin donde se lee y permite que se dispare la regla deteccion-

fuego para cargar el archivo ALARMA-M12-L45FTT_ALM.CLP, que es donde esta el código inicial

del análisis del árbol Detección de Fuego. Al mismo tiempo, se afirma como antecedente la

presencia de una alarma que avisa detección de fuego.

;*** ARBOL DE DETECCION DE FUEGO: (defrule deteccion-fuego (declare (salience 20)) (or ?a0 <- (M12-L45FTT_ALM) ;Alarma principal de disparo ; ?a0 <- (M13-L45FTT_ALM) ?a0 <- (M14-L45FTT_ALM)

Page 210: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

3

?a0 <- (M15-L45FTT_ALM) ?a0 <- (M16-L45FTT_ALM) ?a0 <- (M17-L45FTT_ALM)) => (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Deteccion de fuego "))) (assert (alarma M12-L45FTT_ALM)) (batch c:/EJERVG/ALARMA-M12-L45FTT_ALM.CLP) (retract ?a0))

8. Cada Alarma de Disparo tiene definida una regla que carga el archivo específico según

la Alarma de Disparo que se haya activado.

;*** ARBOL DE VIBRACION : (defrule vibracion (declare (salience 20)) (or ?a1 <- (M12-L39VCT_ALM) ;Alarma principal de disparo ?a1 <- (M13-L39VCT_ALM) ?a1 <- (M14-L39VCT_ALM) ?a1 <- (M15-L39VCT_ALM) ?a1 <- (M16-L39VCT_ALM) ?a1 <- (M17-L39VCT_ALM)) => (assert (RESULTADO(HIPOTESIS "(Vibracion): ALARMA Vibracion "))) (assert (alarma M12-L39VCT_ALM)) (batch c:/EJERVG/ALARMA-M12-L39VCT_ALM.CLP) (retract ?a1)) ;*** ARBOL DE IGV o NOZZLES : (defrule igv12-nozzles12 (declare (salience 20)) (or ?a2 <- (M12-L3NZFLT) ;Alarma principal de disparo ; ?a2 <- (M13-L3NZFLT) ?a2 <- (M14-L3NZFLT) ?a2 <- (M15-L3NZFLT) ?a2 <- (M16-L3NZFLT) ?a2 <- (M17-L3NZFLT)) => (assert (RESULTADO(HIPOTESIS "(IGV o Nozzles): ALARMA IGV o Nozzles "))) (assert (alarma M12-L3NZFLT)) (batch c:/EJERVG/ALARMAM12-L3NZFLT.CLP) (retract ?a2)) ;*** ARBOL DE TRANSMISORES DE CAMPO : (defrule transmisores (declare (salience 20)) (or ?a4 <- (M12-PT2606) ;Alarma principal de disparo ; ?a4 <- (M12-PT2609) ?a4 <- (M12-TT2602) ?a4 <- (M13-PT2704) ?a4 <- (M13-PT2707) ?a4 <- (M13-TT2702) ?a4 <- (M14-PT2656) ?a4 <- (M14-PT2659) ?a4 <- (M14-TT2652) ?a4 <- (M15-PT2754) ?a4 <- (M15-PT2757) ?a4 <- (M15-TT2752) ?a4 <- (M16-PT2906) ?a4 <- (M16-PT2909) ?a4 <- (M16-TT2902)

Page 211: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

4

?a4 <- (M17-PT3004) ?a4 <- (M17-PT3007) ?a4 <- (M17-TT3002)) => (assert (RESULTADO(HIPOTESIS "(Transmisores): ALARMA de aviso de Falla en Transmisores de campo "))) (assert (alarma M12-PT2606)) (batch c:/EJERVG/ALARMAM12-PT2606.CLP) (retract ?a4)) ;*** ARBOL DE BLEED VALVE : (defrule bleed-valve (declare (salience 20)) (or ?a5 <- (M12-L86CBT_ALM) ;Alarma principal de disparo ; ?a5 <- (M13-L86CBT_ALM) ?a5 <- (M14-L86CBT_ALM) ?a5 <- (M15-L86CBT_ALM) ?a5 <- (M16-L86CBT_ALM) ?a5 <- (M17-L86CBT_ALM)) => (assert (RESULTADO(HIPOTESIS "(Bleed Valve): ALARMA Falla Bleed Valve "))) (assert (alarma M12-L86CBT_ALM)) (batch c:/EJERVG/ALARMAM12-L86CBTALM.CLP) (retract ?a5)) ;*** ARBOL DE CLUTCH: (defrule clutch (declare (salience 20)) (or ?a6 <- (M12-LCLFEN_ALM) ;Alarma principal de disparo ?a6 <- (M13-LCLFEN_ALM) ?a6 <- (M14-LCLFEN_ALM) ?a6 <- (M15-LCLFEN_ALM) ?a6 <- (M16-LCLFEN_ALM) ?a6 <- (M17-LCLFEN_ALM)) => (assert (RESULTADO(HIPOTESIS "(Clutch): ALARMA Falla en Clutch"))) (assert (alarma M12-LCLFEN_ALM)) (batch c:/EJERVG/ALARMA-M12-LCLFEN_ALM.CLP) (retract ?a6))

9. Para hacer posible que el código anteriormente descrito se ejecute se utiliza el

comando (run).

Sin embargo, inmediatamente después que finaliza un análisis completo, se siguen las

instrucciones que están después de ese comando:

;***PARA VISUALIZAR CAUSAS Y PROCESO (run)

10. Las instrucciones a seguir después de finalizado un análisis son guardar las causas

inmediatas, resultados hipótesis, y recomendaciones correctivas que se generaron en

todo el proceso de análisis, en los archivos correspondientes para después poder

mostrarlos al usuario:

(save-facts c:/EJERVG/Causas.bin local CAUSA) ; Se guarda en el archivo Causas.txt todas las causas generadas en el proceso de análisis

Page 212: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

5

(save-facts c:/EJERVG/Recomendaciones.bin local RECOMENDACION) ; Se guarda en el archivo Recomendaciones.txt todas las Recomendaciones generadas en el proceso de análisis (save-facts c:/EJERVG/Proceso.bin local CAUSAS) ; Se guarda en el archivo Proceso.txt todas los resultados de las hipótesis generados en el proceso de análisis

11. Se asegura que los archivos Secundarias.bin y Primarias.bin se limpien finalizado el

proceso:

(remove "c:/EJERVG/Secundarias.txt") ;Limpia archivo de alarmas secundarias (open "c:/EJERVG/Secundarias.txt" secundarias "w") (close secundarias) (remove "c:/EJERVG/Primarias.txt") ;Limpia archivo de alarmas primarias (open "c:/EJERVG/Primarias.txt" primarias "w") (close primarias)

12. Finalizado el proceso de análisis se vuelve a cargar el archivo PROGRAMAGLOBAL.CLP

para que se siga ejecutando reiteradamente hasta que se presente una nueva Alarma

de Disparo:

(batch c:/EJERVG/PROGRAMAGLOBAL.CLP) ;Carga el programa PROGRAMAGLOBAL.CLP y lo ejecuta (run)

Como se explico anteriormente, si la alarma que se disparó es M12-L45FTT_ALM, ésta se

almacena en el archivo Primarias.bin donde se lee y permite que se dispare la regla deteccion-

fuego para cargar el archivo ALARMA-M12-L45FTT_ALM.CLP.

ARCHIVO ALARMA-M12-L45FTT_ALM.CLP

13. Definición de las variables utilizadas:

;*********A R B O L: DETECCION DE FUEGO ****************** (defglobal ?*aux* = "") (defglobal ?*var* = 1)

14. Regla que se dispara con el hecho (alarma M12-L45FTT_ALM), el cual se afirma si el

sistema detecta la alarma M12-L45FTT_ALM o M13-L45FTT_ALM o M14-L45FTT_ALM o

M15-L45FTT_ALM o M16-L45FTT_ALM o M17-L45FTT_ALM:

;***PREGUNTA a que zona pertenece según el led: (defrule alarma-deteccion-fuego (declare (salience 20)) ?f02 <- (alarma M12-L45FTT_ALM) ;Alarma principal de disparo

Page 213: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

6

=> (open "c:/EJERVG/Rta.txt" respuesta "w");Creación del archivo Rta.txt (close respuesta) (open "c:/EJERVG/Pta.txt" pregunta "w") ;Abre un archivo Pta.Txt para escribir la pregunta (printout pregunta "En cual modulo detonador esta prendido el LED? "crlf"Zona1-A"crlf"Zona1-B"crlf"Zona2-A"crlf"Zona2-B") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1)

do (open "c:/EJERVG/Rta.txt" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*aux* (read respuesta)) ;Asigna a aux la respuesta (Rta) del usuario (close respuesta) (if (eq ?*aux* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.txt") ;Si encontro respuesta tomela como nuevo hecho (zona *aux*: donde aux=respuesta usuario =(1-A/1-B/2-A)) y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (zona ?*aux*)) ;Nuevo hecho (zona *aux*) (1-A/1-B/2-A) (assert (auxiliar M12-L45FTT_ALM)) ;variable alarma auxiliar =M12-L45FTT_ALM (retract ?f02 )) ;Elimina hecho (alarma M12-L45FTT_ALM) de la lista de hechos

15. Regla para el hecho (M12-L45CP_ALM), el cual se afirma si se detecta la alarma

secundaria M12-L45CP_ALM:

;***Alarma secundaria que puede estar presente: (defrule alarma-CO2 ;Regla para (MXX-L45CP_ALM) (or ?f02a <- (M12-L45CP_ALM) ;Si alarma de alarma-CO2 ?f02a <- (M13-L45CP_ALM) ?f02a <- (M14-L45CP_ALM) ?f02a <- (M15-L45CP_ALM) ?f02a <- (M16-L45CP_ALM) ?f02a <- (M17-L45CP_ALM)) => (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Presencia de CO2"))) (retract ?f02a ))

16. Carga de los archivos DetecciondefuegoZONA1A.CLP, DetecciondefuegoZONA1B.CLP y

DetecciondefuegoZONA2.CLP los cuales tiene el código necesario para continuar con el

proceso de análisis:

;***Carga de los archivos relacionados con la alarma M12-L45FTT_ALM o M13-L45FTT_ALM o M14-L45FTT_ALM o M15-L45FTT_ALM o M16-L45FTT_ALM o M17-L45FTT_ALM (batch c:/EJERVG/DetecciondefuegoZONA1A.CLP) (batch c:/EJERVG/DetecciondefuegoZONA1B.CLP) (batch c:/EJERVG/DetecciondefuegoZONA2.CLP) (run)

Page 214: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

7

17. El primer archivo que se carga es DetecciondefuegoZONA1A.CLP.

ARCHIVO DETECCIONDEFUEGOZONA1A.CLP

18. Definición de algunas de las variables que se utilizan:

;**** A R B O L: DETECCION DE FUEGO ******** ;*CASO 2: Zona 1-A Compartimento turbina (deteccion-fuego) (defglobal ?*si10* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado

19. Regla para el hecho (zona Zona1-A), el cual se afirma si el usuario observó encendido

el led de en modulo detonador zona 1-A. Las acciones de esta regla contiene varias

preguntas que el usuario responde para continuar con el proceso:

;***PREGUNTAS led en Zona 1-A ********** (defrule deteccion1A-fuego1A-compartimento1A-turbina1A ;Opcion zona 1-B ?f20 <- (zona Zona1-A) ;Si led en modulo detonador zona 1-A encendido => (load-facts c:/EJERVG/Secundarias.bin) (open "c:/EJERVG/Rta.bin" respuesta "w") ;Abre un archivo para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta "ACCION: Inspeccion visual de evidencias de rastros de aceite .Verificar si la alarma fue real. PREGUNTA: Hay rastros de aceite que indiquen que la alarma fue real ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si10* (read respuesta));Asigna a si la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si10* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (fuegoreal1A ?*si10*: donde *si10*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (fuegoreal1A ?*si10*)) ;Si la alarma fue real Nuevo hecho: (fuegoreal1A ?*si10*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Led Zona 1-A encendido -> Fuego en compartimento turbina "))) (assert (auxL45HTA 1A)) ; Auxiliar para reconocer a donde pertenece la alarma secundaria (retract ?f20)) ;Elimina hecho (zona Zona1-A) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

20. Regla para hecho (fuegoreal1A SI), el cual se afirma si la alarma fue real:

Page 215: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

8

;**DEDUCCION si alarma real en zona 1-A ************** (defrule fuga1A-aceite1A-turbina1A ;Regla para (fuegoreal1A SI) ?f21 <-(fuegoreal1A SI) ;Si alarma fue real en zona 1-A => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FUGA DE ACEITE EN COMPARTIMENTO TURBINA "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Presencia de fuego "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Evidencia visual de rastros de aceite -> Alarma real"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Fuego por fuga de aceite en compartimento turbina -> Normalizar reset de la zona "))) (retract ?f21)) (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

21. Definición de algunas variables utilizadas y reglas para el hecho (fuegoreal1A NO), el

cual se afirma si la alarma no es real:

;***PREGUNTAS si alarma NO es real en Zona 1-A ************** (defglobal ?*si11* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule resistencia600-infinita600 ;Regla para (fuegoreal1A NO) ?f23 <- (fuegoreal1A NO) ;Si alarma NO real => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar resistencia de fin de linea. Megguear en IJB-3 Bornera 7-8 hacia tierra. PREGUNTA: La resistencia es infinita ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si11* (read respuesta)) ;Asigna a s1 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si11* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (noaterrizadocable600 ?*si11*: donde *si11*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (noaterrizadocable600 ?*si11*)) ;Si respuesta es SI:NO aterrizamento del cable. Si respuesta es NO: SI aterrizamiento entre los cables .Nuevo hecho: (noaterrizadocable600 ?*si11*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): La alarma de deteccion de fuego no fue real "))) (retract ?f23)) ;Elimina hecho (fuegoreal1A NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

22. Regla para el hecho (noaterrizadocable600 NO), el cual se afirma si hay aterrizamiento

del cable:

Page 216: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

9

;**DEDUCCIONES si aterrizamiento del cable*** (defrule cable600-aterrizado600 ;Regla para (noaterrizadocable600 NO) ?f24 <-(noaterrizadocable600 NO) ;Si aterrizamiento del cable => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN CABLEADO DETECTORES 600 GRADOS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 7-8 -> Resistencia diferente a infinito"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Aterrizamiento del cable"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en cableado detectores 600 grados -> Reemplazar tramo de cable pelado "))) (retract ?f24 ))

23. Definición de algunas variables y Regla para el hecho (noaterrizadocable600 SI), el cual

se afirma si no hay aterrizamiento del cable:

;**DEDUCCIONES si NO aterrizamiento del cable*** (defglobal ?*si12* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;**PREGUNTAS si NO aterrizamiento del cable*** (defrule corto600-entre600-cables600 ;Regla para (noaterrizadocable600 SI) ?f25 <- (noaterrizadocable600 SI) ;Si NO aterrizamento del cable => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Hay corto entre los cables? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si12* (read respuesta)) ;Asigna a si12 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si12* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables600 ?*si12*: donde *si12*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortocables600 ?*si12*)) ;Si respuesta es SI:corto entre los cables .Si respuesta es NO:No hay corto entre los cables.Nuevo hecho:(cortocables600 ?*si12*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 3-4 -> Resistencia infinita"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El cable NO esta aterrizado"))) (retract ?f25)) ;Elimina hecho (noaterrizadocable600 SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

Page 217: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

10

24. Definición de algunas variables y regla para el hecho (cortocables600 SI), el cual se

afirma si hay corto entre los cables:

;***DEDUCCIONES si hay corto entre los cables**** (defglobal ?*si13* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;***PREGUNTAS si hay corto entre los cables**** (defrule revision600-sensores600 ;Regla para (cortocables600 SI) ?f26 <-(cortocables600 SI) ;Si corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar detector (sensor) de 600 grados. PREGUNTA: Continua corto entre los cables ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si13* (read respuesta)) ;Asigna a si13 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si13* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto ?*si13*: donde *si13*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (continuacorto600 ?*si13*)) ;Si respuesta es SI:cable dañado. Si respuesta es NO: revisar sensores. Nuevo hecho:(continuacorto600 ?*si13*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f26)) ;Elimina hecho (cortocables600 SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

25. Definición de algunas variables y Regla para el hecho (continuacorto600 SI), el cual se

afirma si continua el corto entre los cables:

;**DEDUCCION Si continua el corto entre los cables con detector desconectado: (defrule continua600-corto600 ;Regla para (continuacorto600 SI) ?f27 <-(continuacorto600 SI) ;Si cable dañado => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): CABLE EN MAL ESTADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> Continua corto entre los cables "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Cable en mal estado -> Reemplazar los cables"))) (retract ?f27 ))

26. Definición de algunas variables y regla para el hecho (continuacorto600 NO), el cual se

afirma si no continua el corto entre los cables:

Page 218: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

11

;***DEDUCCION Si NO continua el corto entre los cables con detector desconectado: (defglobal ?*si14* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule detectores-600grados ;Regla para (continuacorto600 NO) ?f28 <-(continuacorto600 NO) ;Si posible daño en los sensores => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Meguear detectores (sensores) de 600 grados. PREGUNTA: Los sensores estan en corto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si14* (read respuesta)) ;Asigna a si14 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si14* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortosensores600 ?*si14*: donde *si14*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortosensores600 ?*si14*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(cortosensores600 ?*si14*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> No hay corto entre los cables "))) (retract ?f28)) ;Elimina hecho (continuacorto600 NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

27. Definición de algunas variables y regla para el hecho (cortosensores600 SI), el cual se

afirma si los sensores están en corto:

;**DEDUCCIONES SI los sensores estan en corto: (defrule falla600-detector600 ;Regla para (cortosensores600 SI) ?f29 <-(cortosensores600 SI) ;Si daño en sensores de 600 grados => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN DETECTORES DE INCREMENTO TERMICO 600 GRADOS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Megueo de los detectores de 600 grados -> Los sensores estan en corto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en detectores de incremento termico 600 grados -> Reemplazar los dos (2) sensores de incremento termico"))) (retract ?f29 ))

28. Definición de algunas variables y regla para el hecho (cortocables600 NO ), el cual se

afirma si NO hay corto entre los cables:

Page 219: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

12

;***DEDUCCIONES si NO hay corto entre los cables: Revision detectores 450 grados**** (defglobal ?*si15* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule revision-detectores-450grados ;Regla para (cortocables600 NO) ?f30 <-(cortocables600 NO) ;Si NO hay corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar resistencia de fin de linea. Megguear en IJB-3 Bornera 3-4 hacia tierra. PREGUNTA: La resistencia es infinita ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si15* (read respuesta)) ;Asigna a si15 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si15* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (noaterrizadocable450 ?*si15*: donde *si15*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (noaterrizadocable450 ?*si15*)) ;Si respuesta es SI:NO aterrizamento del cable. Si respuesta es NO: SI aterrizamiento entre los cables ;Nuevo hecho: (noaterrizadocable450 ?*si11*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): No hay corto entre los cables en detectores 600 grados"))) (retract ?f30)) ;Elimina hecho (cortocables600 NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

29. Regla para el hecho (noaterrizadocable450 NO), el cual se afirma si hay aterrizamiento

del cable:

;**DEDUCCIONES si aterrizamiento del cable para detectores 450 grados*** (defrule cable450-aterrizado450 ;Regla para (noaterrizadocable450 NO) ?f31 <-(noaterrizadocable450 NO) ;Si aterrizamiento del cable => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN CABLEADO DETECTORES 450 GRADOS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 3-4 -> Resistencia diferente a infinito"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Aterrizamiento del cable"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en cableado detectores 450 grados -> Reemplazar tramo de cable pelado "))) (retract ?f31 ))

Page 220: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

13

30. Definición de algunas variables y regla para el hecho (noaterrizadocable450 SI), el cual

se afirma si no hay aterrizamiento del cable:

;**DEDUCCION si NO aterrizamiento del cable detectores 450 grados *** (defglobal ?*si16* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;**PREGUNTAS si NO aterrizamiento del cable*** (defrule corto450-entre450-cables450 ;Regla para (noaterrizadocable450 SI) ?f32 <- (noaterrizadocable450 SI) ;Si NO aterrizamento del cable => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Hay corto entre los cables? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si16* (read respuesta)) ;Asigna a si16 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si16* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables450 ?*si16*: donde *si16*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortocables450 ?*si16*)) ;Si respuesta es SI:corto entre los cables .Si respuesta es NO: No hay corto entre los cables ;Nuevo hecho:(cortocables450 ?*si16*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 3-4 -> Resistencia infinita"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El cable NO esta aterrizado"))) (retract ?f32)) ;Elimina hecho (noaterrizadocable450 SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

31. Definición de algunas variables y regla para el hecho (cortocables450 SI), el cual se

afirma si hay corto entre los cables:

;***DEDUCCIONES si hay corto entre los cables**** (defglobal ?*si17* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;***PREGUNTAS si hay corto entre los cables**** (defrule revision450-sensores450 ;Regla para (cortocables450 SI) ?f33 <-(cortocables450 SI) ;Si corto entre los cables =>

Page 221: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

14

(open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar detectores (sensores) de 450 grados. PREGUNTA: Continua corto entre los cables ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si17* (read respuesta)) ;Asigna a si17 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si17* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto450 ?*si17*: donde *si17*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (continuacorto450 ?*si17*)) ;Si respuesta es SI:cable dañado. Si respuesta es NO: revisar sensores ;Nuevo hecho:(continuacorto450 ?*si17*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f33)) ;Elimina hecho (cortocables450 SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

32. Regla para el hecho (continuacorto450 SI), el cual se afirma si continua corto entre los

cables:

;***DEDUCCION Si continua el corto entre los cables con detector desconectado: (defrule continua450-corto450 ;Regla para (continuacorto450 SI) ?f34 <-(continuacorto450 SI) ;Si cable dañado => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): CABLE EN MAL ESTADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> Continua corto entre los cables "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Cable en mal estado -> Reemplazar los cables"))) (retract ?f34 ))

33. Regla para el hecho (continuacorto450 NO), el cual se afirma si NO continua corto

entre los cables:

;***DEDUCCION Si NO continua el corto entre los cables con detector desconectado: (defglobal ?*si18* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule detectores-450grados ;Regla para (continuacorto450 NO) ?f35 <-(continuacorto450 NO) ;Si posible daño en los sensores =>

Page 222: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

15

(open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Meguear detectores (sensores) de 450 grados. PREGUNTA: Los sensores estan en corto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si18* (read respuesta)) ;Asigna a si18 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si18* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortosensores450 ?*si18*: donde *si18*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortosensores450 ?*si18*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(cortosensores450 ?*si18*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> No hay corto entre los cables "))) (retract ?f35)) ;Elimina hecho (continuacorto450 NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

34. Regla para el hecho (cortosensores450 SI), el cual se afirma si los sensores están en

corto:

;**DEDUCCIONES SI los sensores estan en corto: (defrule falla450-detector450 ;Regla para (cortosensores450 SI) ?f36 <-(cortosensores450 SI) ;Si daño en sensores de 450 grados => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN DETECTORES DE INCREMENTO TERMICO 450 GRADOS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Megueo de los detectores de 450 grados -> Los sensores estan en corto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en detectores de incremento termico 450 grados -> Reemplazar los dos (2) sensores de incremento termico"))) (retract ?f36 ))

35. Regla para el hecho (cortocables450 NO), el cual se afirma si NO hay corto entre los

cables (450 grados):

;***DEDUCCION si NO hay corto entre los cables en detectores 450 grados**** (defglobal ?*si19* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule cable1A-Fire1A-Gas1A ;Regla para (cortocables450 NO) ?f37 <-(cortocables450 NO) ;Si NO hay corto entre los cables (450 grados) =>

Page 223: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

16

(open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar cables a meguear. Meguear desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix PREGUNTA: El cable se encuentra abierto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si19* (read respuesta)) ;Asigna a si9 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si19* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cablefireandgas1A ?*si19*: donde *si19*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cablefireandgas1A ?*si19*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(cablefireandgas1A SI) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f37)) ;Elimina hecho (cortocables450 NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

36. Regla para el hecho (cablefireandgas1A NO), el cual se afirma si el cable NO esta

abierto en Fire & Gas:

;**DEDUCCIONES SI cable NO esta abierto en Fire & Gas zona 1-A: (defrule modulo1A-cablefg1A ;Regla para (cablefireandgas1A NO) ?f37a <-(cablefireandgas1A NO) ;Si cable NO abierto => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): POSIBLE FALLA EN EL MODULO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los cables a meguear. Megueo desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix -> El cable NO se encuentra abierto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Posible falla en el modulo -> Evalue el cambio del modulo"))) (retract ?f37a ))

37. Reglas para cada una de las alarmas secundarias que se pueden disparar, los hechos

que se afirman según el caso son:

(M12-L26BA1H) o (M13-L26BA1H) o (M14-L26BA1H) o (M15-L26BA1H) o (M16-L26BA1H) o

(M17-L26BA1H) si se presenta alarma de alta temperatura;

Page 224: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

17

(M12-L71PSAL_ALM) o (M13-L71PSAL_ALM) o (M14-L71PSAL_ALM) o (M15-L71PSAL_ALM)

o (M16-L71PSAL_ALM) o (M17-L71PSAL_ALM) si se presenta alarma de bajo nivel overhead

tank

(M12-L45HTA) o (M13-L45HTA) o (M14-L45HTA) o (M15-L45HTA) o (M16-L45HTA) o (M17-

L45HTA) si se presenta alarma de gas encendido.

Se debe observar que algunas de estas reglas se disparan si también está presente el hecho

(auxiliar M11-TFT), el cual se ubicó en la Lista de Hechos en el momento en se activó la Alarma

de Disparo de Detección de Fuego para asegurar que las alarmas secundarias hacen referencia

al análisis de detección de fuego, ya que la alarma se podría dispar por otras razones. Al mismo

tiempo, cada una de estas reglas solo se dispara si se confirma el hecho (auxL45HTA 1A), el

cual se afirma para especificar que se está haciendo referencia al caso cuando el led de la zona

1-A esta encendido.

;***Alarmas secundarias que pueden estar presentes: (defrule alta-temperatura ;Regla para (MXX-L26BA1H) (or ?f40 <- (M12-L26BA1H) ;Si alarma de alta temperatura ?f40 <- (M13-L26BA1H) ?f40 <- (M14-L26BA1H) ?f40 <- (M15-L26BA1H) ?f40 <- (M16-L26BA1H) ?f40 <- (M17-L26BA1H)) => (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Alta Temperatura"))) (retract ?f40 )) (defrule gas1A-tanque1A-aceite1A ;Regla para para alarma (MXX-L71PSAL) bajo nivel overhead tank zona 1-A (or ?f40a <- (M12-L71PSAL_ALM);Si alarma de bajo nivel overhead tank encendido ?f40a <- (M13-L71PSAL_ALM) ?f40a <- (M14-L71PSAL_ALM) ?f40a <- (M15-L71PSAL_ALM) ?f40a <- (M16-L71PSAL_ALM) ?f40a <- (M17-L71PSAL_ALM)) ?f40b<- (auxiliar M11-TFT) ;y alarma=M11-TFT. Arbol detección de fuego ?f40c <-(auxL45HTA 1A) ;y led zona 1-A => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR GAS EN TANQUE DE ACEITE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L71PSAL. Bajo nivel de overhead tank"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Alarma presente en Zona 1-A. Compartimento Turbina"))) (retract ?f40a ?f40b ?f40c)) (defrule fuga1A-de1A-gas1A ;Regla para alarma (MXX-L45HTA) gas presente (or ?f40d <- (M12-L45HTA) ;Si alarma de gas presente ?f40d <- (M13-L45HTA) ?f40d <- (M14-L45HTA) ?f40d <- (M15-L45HTA)

Page 225: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

18

?f40d <- (M16-L45HTA) ?f40d <- (M17-L45HTA)) ?f40e <- (auxiliar M11-TFT) ;y auxiliar = M11-TFT. Arbol detección de fuego ?f40f <-(auxL45HTA 1A) ;y led zona 1-A => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR FUGA DE GAS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L45HTA. Gas presente "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Alarma presente en Zona 1-A. Compartimento Turbina"))) (retract ?f40d ?f40e ?f40f)) (defrule fuego1A-turbina1A ;Regla para para alarmas(M11-L45HTA) Y (M11-L71PSAL) (declare (salience 10)) (or ?f40g <- (M12-L45HTA) ;Si alarma de gas presente ?f40g <- (M13-L45HTA) ?f40g <- (M14-L45HTA) ?f40g <- (M15-L45HTA) ?f40g <- (M16-L45HTA) ?f40g <- (M17-L45HTA)) (or ?f40h <- (M12-L71PSAL_ALM) ;Si alarma de bajo nivel overhead tank encendido ?f40h <- (M13-L71PSAL_ALM) ?f40h <- (M14-L71PSAL_ALM) ?f40h <- (M15-L71PSAL_ALM) ?f40h <- (M16-L71PSAL_ALM) ?f40h <- (M17-L71PSAL_ALM)) ?f40i <- (alarma M11-TFT) ;y alarma=M11-TFT. Arbol detección de fuego ?f40j <-(auxL45HTA 1A) ;y led zona 1-A => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR GAS EN TANQUE DE ACEITE - FUEGO POR FUGA DE GAS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L45HTA. Gas Presente"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L71PSAL. Bajo nivel de overhead tank"))) (retract ?f40g ?f40h ?f40i ?f40j))

38. Se compila el código del archivo DetecciondefuegoZONA1A.CLP

(run)

39. El segundo archivo que se llama desde ALARMA-M12-L45FTT_ALM.CLP es

DetecciondefuegoZONA1B.CLP.

ARCHIVO DETECCIONDEFUEGOZONA1B.CLP

40. Definición de algunas variables y regla para el hecho (zona Zona1-B), el cual se afirma

si el usuario observo encendido el led de en modulo detonador zona 1-B. Las acciones

de esta regla contiene varias preguntas que el usuario responde para continuar con el

proceso:

;**** A R B O L : DETECCION DE FUEGO ********

Page 226: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

19

;***** CASO 3 : Zona 1-B Compartimento accesorios (deteccion-fuego)*********** (defglobal ?*si20* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;** PREGUNTAS led en Zona 1-B ********** (defrule deteccion1B-fuego1B-compartimento1B-accesorios ;Opcion zona 1-B ?f45 <- (zona Zona1-B) ;Si led en modulo detonador zona 1-B encendido => (open "c:/EJERVG/Rta.bin" respuesta "w");Abre un archivo para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w");Abre un archivo para escribir la pregunta (printout pregunta "ACCION: Inspeccion visual de evidencias de rastros de aceite .Verificar si la alarma fue real. PREGUNTA: Hay rastros de aceite que indiquen que la alarma fue real ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si20* (read respuesta));Asigna a si20 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si20* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (fuegoreal1B ?*si20*: donde *si20*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (fuegoreal1B ?*si20*)) ;Si Respuesta es SI:alarma real. Si Respuesta es NO: alarma NO real ;Nuevo hecho: (fuegoreal1B ?*si20*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Led Zona 1-B encendido -> Fuego en compartimento accesorios "))) (assert (auxL45HTA 1A)) ; Auxiliar para despues reconocer a donde pertenece la alarma secundaria (retract ?f45)) ;Elimina hecho (zona Zona1-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

41. Regla para el hecho (fuegoreal1B SI), el cual se afirma si la alarma fue real:

;**DEDUCCION si alarma real en zona 1-B ************** (defrule fuga1B-aceite1B-accesorios1B ;Regla para (fuegoreal1B SI) ?f46 <-(fuegoreal1B SI) ;Si alarma real => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FUGA DE ACEITE POR ACCESORIOS "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Presencia de fuego "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Evidencia visual de rastros de aceite -> Alarma real"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Fuego por fuga de aceite por accesorios -> Normalizar reset de la zona "))) (retract ?f46)) (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado

Page 227: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

20

42. Definición de algunas variables y regla para el hecho (fuegoreal1B NO), el cual se

afirma si la alarma no fue real:

;**PREGUNTAS si alarma NO es real en Zona 1-B ************** (defglobal ?*si21* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule resistencia1B-infinita1B ;Regla para (fuegoreal1B NO) ?f47 <- (fuegoreal1B NO) ;Si alarma NO real => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar resistencia de fin de linea. Megguear en IJB-2 Bornera 1-2 hacia acople, hacia tierra. PREGUNTA: La resistencia es infinita ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si21* (read respuesta)) ;Asigna a si21 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si21* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (noaterrizadocable1B ?*si21*: donde *si21*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (noaterrizadocable1B ?*si21*)) ;Si respuesta es SI:NO aterrizamento del cable. Si respuesta es NO: SI aterrizamiento entre los cables ;Nuevo hecho: (noaterrizadocable1B ?*si21*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): La alarma de deteccion de fuego no fue real "))) (retract ?f47)) ;Elimina hecho (fuegoreal1B NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

43. Definición de algunas variables y regla para el hecho (noaterrizadocable1B NO), el cual

se afirma si hay aterrizamento del cable:

;**DEDUCCION si aterrizamiento del cable*** (defrule cable1B-aterrizado1B ;Regla para (noaterrizadocable1B NO) ?f48 <-(noaterrizadocable1B NO) ;Si aterrizamento del cable => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): ATERRIZAMIENTO DEL CABLE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Falla en lazos de deteccion compartimento acople"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-2 Bornera 1-2 -> Resistencia diferente a infinito")))

Page 228: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

21

(assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Aterrizamiento del cable -> Reemplazar tramo de cable pelado "))) (retract ?f48 ))

44. Definición de algunas variables y regla para el hecho (noaterrizadocable1B SI), el cual

se afirma si NO hay aterrizamento del cable:

;**DEDUCCIONES si NO aterrizamiento del cable*** (defglobal ?*si22* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;**PREGUNTAS si NO aterrizamiento del cable*** (defrule corto1B-entre1B-cables1B ;Regla para (noaterrizadocable1B SI) ?f49 <- (noaterrizadocable1B SI) ;Si NO aterrizamento del cable => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Hay corto entre los cables? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si22* (read respuesta)) ;Asigna a si22 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si22* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables1B ?*si22*: donde *si22*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortocables1B ?*si22*)) ;Si respuesta es SI:corto entre los cables .Si respuesta es NO:No hay corto entre los cables ;Nuevo hecho:(cortocables1B ?*si22*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-2 Bornera 1-2 -> Resistencia infinita"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El cable NO esta aterrizado"))) (retract ?f49)) ;Elimina hecho (zona Zona1-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

45. Definición de algunas variables y regla para el hecho (cortocables1B SI), el cual se

afirma si hay corto entre los cables:

;***DEDUCCION si hay corto entre los cables**** (defglobal ?*si23* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;***PREGUNTAS si hay corto entre los cables**** (defrule revision1B-sensores1B ;Regla para (cortocables1B SI) ?f50 <-(cortocables1B SI) ;Si corto entre los cables =>

Page 229: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

22

(open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar detectores (sensores). PREGUNTA: Continua corto entre los cables ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si23* (read respuesta)) ;Asigna a s23 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si23* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto1B ?*si23*: donde *si23*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (continuacorto1B ?*si23*)) ;Si respuesta es SI:cable dañado. Si respuesta es NO: revisar sensores ;Nuevo hecho:(continuacorto1B ?*si23*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f50)) ;Elimina hecho (zona Zona1-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

46. Definición de algunas variables y regla para el hecho (continuacorto1B SI), el cual se

afirma si continua corto entre los cables:

;***DEDUCCION Si continua el corto entre los cables : (defrule continua1B-corto1B ;Regla para (continuacorto1B SI) ?f52 <-(continuacorto1B SI) ;Si cable dañado => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): CABLE EN MAL ESTADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> Continua corto entre los cables "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Cable en mal estado -> Reemplazar los cables"))) (retract ?f52 ))

47. Definición de algunas variables y regla para el hecho (continuacorto1B NO), el cual se

afirma si NO continua corto entre los cables:

;***DEDUCCION Si NO continua el corto entre los cables : (defglobal ?*si24* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule detectores1B ;Regla para (continuacorto1B NO) ?f53 <-(continuacorto1B NO) ;Si posible daño en los sensores => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta

Page 230: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

23

(close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Meguear los detectores (sensores). PREGUNTA: Los sensores estan en corto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si24* (read respuesta)) ;Asigna a si24 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si24* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto ?*si24*: donde *si24*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortosensores1B ?*si24*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(continuacorto1B ?*si24*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> No hay corto entre los cables "))) (retract ?f53)) ;Elimina hecho (continuacorto1B NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

48. Regla para el hecho (cortosensores1B SI), el cual se afirma si los sensores están en

corto:

;**DEDUCCION SI los sensores estan en corto: (defrule falla1B-detector1B ;Regla para (cortosensores1B SI) ?f54 <-(cortosensores1B SI) ;Si daño en sensores => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN DETECTORES DE INCREMENTO TERMICO COMPARTIMENTO DE ACOPLE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Megueo los detectores -> Los sensores estan en corto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en detectores de incremento termico -> Reemplazar los dos (2) sensores de incremento"))) (retract ?f54 ))

49. Definición de algunas variables y regla para el hecho (cortocables1B NO) el cual se

afirma si no hay corto entre los cables:

;***DEDUCCION si NO hay corto entre los cables**** (defglobal ?*si25* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule cable1B-Fire1B-Gas1B ;Regla para (cortocables1B NO) ?f55 <-(cortocables1B NO) ;Si NO hay corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta)

Page 231: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

24

(open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar cables a meguear. Meguear desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix PREGUNTA: El cable se encuentra abierto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si25* (read respuesta)) ;Asigna a si25 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si25* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cablefireandgas1 ?*si25*: donde *si25*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cablefireandgas1B ?*si25*)) ;Si respuesta es SI:Cable abierto. Si Respuesta es NO: Cable NO abierto ;Nuevo hecho:(cablefireandgas1B SI) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): No hay corto entre los cables"))) (retract ?f55)) ;Elimina hecho (cortocables1B NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo Rta

50. Regla para el hecho (cablefireandgas1B NO), el cual se afirma si el cable NO se

encuentra abierto:

;**DEDUCCIONES SI cable NO esta abierto:

(defrule modulo1B-cablefg1B ;Regla para (cablefireandgas1B NO)

?f55a <-(cablefireandgas1B NO) ;Si cable NO abierto

=>

(assert (CAUSA(INMEDIATA "(Deteccion de fuego): POSIBLE FALLA EN EL MODULO")))

(assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los cables a meguear. Megueo desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix -> El cable NO se encuentra abierto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Posible falla en el modulo -> Evalue el cambio del modulo"))) (retract ?f55a ))

51. Reglas para cada una de las alarmas secundarias que se pueden disparar, los hechos

que se afirman según el caso son:

(M12-L71PSAL_ALM) o (M13-L71PSAL_ALM) o (M14-L71PSAL_ALM) o (M15-L71PSAL_ALM)

o (M16-L71PSAL_ALM) o (M17-L71PSAL_ALM) si se presenta alarma de bajo nivel overhead

tank

Page 232: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

25

(M12-L45HTA) o (M13-L45HTA) o (M14-L45HTA) o (M15-L45HTA) o (M16-L45HTA) o (M17-

L45HTA) si se presenta alarma de gas encendido.

Se debe observar que algunas de estas reglas se disparan si también esta presente el hecho

(auxiliar M11-TFT), el cual se ubicó en la Lista de Hechos en el momento en se activó la Alarma

de Disparo de Detección de Fuego para asegurar que las Alarmas Secundarias hacen referencia

al análisis de Detección de Fuego, ya que la alarma se podría dispara por otras razones.

Al mismo tiempo, cada una de estas reglas solo se dispara si se confirma el hecho (auxL45HTA

1B), el cual se afirma para especificar que se está haciendo referencia al caso cuando el led de

la zona 1-B esta encendido.

;***Alarmas secundarias que pueden estar presentes: (defrule gas1B-tanque1B-aceite1B ;Regla para para alarma (M11-L71PSAL) bajo nivel overhead tank zona 1-A (or ?f60a <- (M12-L71PSAL_ALM) ;Alarma principal de disparo ?f60a <- (M13-L71PSAL_ALM) ?f60a <- (M14-L71PSAL_ALM) ?f60a <- (M15-L71PSAL_ALM) ?f60a <- (M16-L71PSAL_ALM) ?f60a <- (M17-L71PSAL_ALM)) ?f60b<- (auxiliar M11-TFT) ;y alarma=M11-TFT. Arbol detección de fuego ?f60c <-(auxL45HTA 1B) ;y led zona 1-B => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR GAS EN TANQUE DE ACEITE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA que indica Bajo nivel de overhead tank"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Alarma presente en Zona 1-B. Compartimento Accesorios"))) (retract ?f60a ?f60b ?f60c)) (defrule fuga1B-de1B-gas1B ;Regla para alarma (M11-L45HTA) gas presente (or ?f60d <- (M12-L45HTA) ;Alarma principal de disparo ?f60d <- (M13-L45HTA) ?f60d <- (M14-L45HTA) ?f60d <- (M15-L45HTA) ?f60d <- (M16-L45HTA) ?f60d <- (M17-L45HTA)) ?f60e <- (auxiliar M11-TFT) ;y auxiliar = M11-TFT. Arbol detección de fuego ?f60f <-(auxL45HTA 1B) ;y led zona 1-B => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR FUGA DE GAS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L45HTA. Gas presente "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Alarma presente en Zona 1-B. Compartimento Accesorios"))) (retract ?f60d ?f60e ?f60f)) (defrule fuego1A-turbina1A ;Regla para para alarmas(Mxx-L45HTA) Y (Mxx-L71PSAL) (declare (salience 10)) (declare (salience 10)) (or ?f60g <- (M12-L71PSAL_ALM) ;Alarma principal de disparo ?f60g <- (M13-L71PSAL_ALM)

Page 233: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

26

?f60g <- (M14-L71PSAL_ALM) ?f60g <- (M15-L71PSAL_ALM) ?f60g <- (M16-L71PSAL_ALM) ?f60g <- (M17-L71PSAL_ALM)) (or ?f60h <- (M12-L45HTA) ;Alarma principal de disparo ?f60h <- (M13-L45HTA) ?f60h <- (M14-L45HTA) ?f60h <- (M15-L45HTA) ?f60h <- (M16-L45HTA) ?f60h <- (M17-L45HTA)) ?f40i <- (alarma M11-TFT) ;y alarma=M11-TFT. Arbol detección de fuego ?f40j <-(auxL45HTA 1A) ;y led zona 1-A => (assert (CAUSA(INMEDIATA"(Deteccion de fuego): FUEGO POR GAS EN TANQUE DE ACEITE - FUEGO POR FUGA DE GAS"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L45HTA. Gas Presente"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): ALARMA Mxx-L71PSAL. Bajo nivel de overhead tank"))) (retract ?f40g ?f40h ?f40i ?f40j))

52. Se compila el código del archivo DetecciondefuegoZONA1B.CLP:

(run)

53. El tercer archivo que fue llamado desde ALARMA-M12-L45FTT_ALM.CLP es

DetecciondefuegoZONA2.CLP.

ARCHIVO DETECCIONDEFUEGOZONA2.CLP

54. Definición de algunas variables y regla para el hecho (zona Zona2-B), el cual se afirma

si el usuario observo encendido el led de en modulo detonador zona 2-B. Las acciones

de esta regla contiene varias preguntas que el usuario responde para continuar con el

proceso:

;**** A R B O L : DETECCION DE FUEGO ******** ;************** CASO 1 : Zona 2-B Compartimento acople (deteccion-fuego)*********************** (defglobal ?*si* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;** PREGUNTAS si led en Zona 2-B ********** (defrule deteccion2B-fuego2B-compartimento2B-acople2B ;Opcion zona 2-B ?f1 <- (zona Zona2-B) ;Si led en modulo detonador zona 2-B encendido => (open "c:/EJERVG/Rta.bin" respuesta "w") ;Abre un archivo para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta

Page 234: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

27

(printout pregunta "ACCION: Inspeccion visual de evidencias de rastros de aceite .Verificar si la alarma fue real. PREGUNTA: Hay rastros de aceite que indiquen que la alarma fue real ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si* (read respuesta));Asigna a si la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (fuegoreal2B ?*si*: donde *si*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (fuegoreal2B ?*si*)) ;Si Respuesta es SI:alarma real. Si Respuesta es NO: alarma NO real ;Nuevo hecho: (fuegoreal2B ?*si*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Led Zona 2-B encendido -> Fuego en compartimento acople "))) (retract ?f1)) ;Elimina hecho (zona Zona2-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

55. Regla para el hecho (fuegoreal2B SI), el cual se afirma si la alarma fue real:

;**DEDUCCIONES si alarma real en zona 2-B ************** (defrule fuga2B-aceite2B-acople2B ;Regla para (fuegoreal2B SI) ?f2 <-(fuegoreal2B SI) ;Si alarma real => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FUGA DE ACEITE POR ACOPLE "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Presencia de fuego "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Evidencia visual de rastros de aceite -> Alarma real"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Fuego por fuga de aceite por acople -> Normalizar reset de la zona "))) (retract ?f2)) (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado

56. Definición de algunas variables y regla para el hecho (fuegoreal2B NO), el cual se

afirma si la alarma no fue real:

;**PREGUNTAS si alarma NO es real en Zona 2-B ************** (defglobal ?*si1* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule resistencia2B-infinita2B ;Regla para (fuegoreal2B NO) ?f3 <- (fuegoreal2B NO) ;Si alarma NO real => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta

Page 235: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

28

(printout pregunta " ACCION: Desconectar resistencia de fin de linea. Megguear en IJB-3 Bornera 11-12 hacia acople. Hacia tierra. PREGUNTA: La resistencia es infinita ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si1* (read respuesta)) ;Asigna a s1 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si1* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (noaterrizadocable2B ?*si1*: donde *si1*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (noaterrizadocable2B ?*si1*)) ;Si respuesta es SI:NO aterrizamento del cable. Si respuesta es NO: SI aterrizamiento entre los cables ;Nuevo hecho: (noaterrizadocable2B ?*si1*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): La alarma de deteccion de fuego no fue real "))) (retract ?f3)) ;Elimina hecho (zona Zona2-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

57. Regla para el hecho (noaterrizadocable2B NO), el cual se afirma si hay aterrizamiento

del cable:

;**DEDUCCIONES si aterrizamiento del cable*** (defrule cable2B-aterrizado2B ;Regla para (noaterrizadocable2B NO) ?f4 <-(noaterrizadocable2B NO) ;Si aterrizamento del cable => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): ATERRIZAMIENTO DEL CABLE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Falla en lazos de deteccion compartimento acople"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 11-12 -> Resistencia diferente a infinito"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Aterrizamiento del cable -> Reemplazar tramo de cable pelado "))) (retract ?f4 ))

58. Regla para el hecho (noaterrizadocable2B SI) el cual se afirma si NO hay aterrizamiento

del cable:

;**DEDUCCIONES si NO aterrizamiento del cable*** (defglobal ?*si2* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;**PREGUNTAS si NO aterrizamiento del cable*** (defrule corto2B-entre2B-cables2B ;Regla para ?f5 <- (noaterrizadocable2B SI) ;Si NO aterrizamento del cable => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta)

Page 236: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

29

(open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Hay corto entre los cables? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si2* (read respuesta)) ;Asigna a si2 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si2* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables2B ?*si2*: donde *si2*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortocables2B ?*si2*)) ;Si respuesta es SI:corto entre los cables .Si respuesta es NO:No hay corto entre los cables ;Nuevo hecho:cortocables2B ?*si2*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-3 Bornera 11-12 -> Resistencia infinita"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El cable NO esta aterrizado"))) (retract ?f5)) ;Elimina hecho (zona Zona2-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

59. Regla para el hecho (cortocables2B SI), el cual se afirma si hay corto entre los cables:

;***DEDUCCIONES si hay corto entre los cables**** (defglobal ?*si2a* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;***PREGUNTAS si hay corto entre los cables**** (defrule revision2B-sensores2B ;Regla para (cortocables2B SI) ?f6 <-(cortocables2B SI) ;Si corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar detector (sensor). PREGUNTA: Continua corto entre los cables ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si2a* (read respuesta)) ;Asigna a s2 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si2a* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto2B ?*si2a*: donde *si2a*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1))))

Page 237: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

30

(assert (continuacorto2B ?*si2a*)) ;Si respuesta es SI:cable dañado. Si respuesta es NO: revisar sensores ;Nuevo hecho:(continuacorto ?*si2a*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f6)) ;Elimina hecho (zona Zona2-B) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

60. Regla para el hecho (continuacorto2B SI), el cual se afirma SI continua corto entre los

cables:

;***Si continua el corto entre los cables : (defrule continua2B-corto2B ;Regla para (continuacorto2B SI) ?f7 <-(continuacorto2B SI) ;Si cable dañado => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): CABLE EN MAL ESTADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> Continua corto entre los cables "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Cable en mal estado -> Reemplazar los cables"))) (retract ?f7 ))

61. Regla para el hecho (continuacorto2B NO), el cual se afirma si NO continua corto entre

los cables:

;***DEDUCCIONES Si NO continua el corto entre los cables : (defglobal ?*si3* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule detectores2B ;Regla para (continuacorto2B NO) ?f8 <-(continuacorto2B NO) ;Si posible daño en los sensores => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Meguear el detector (sensor). PREGUNTA: Los sensores estan en corto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si3* (read respuesta)) ;Asigna a si3 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si3* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (continuacorto2B ?*si3*: donde *si3*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cortosensores2B ?*si3*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(continuacorto2B ?*si2*) (SI/NO)

Page 238: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

31

(assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los sensores -> No hay corto entre los cables "))) (retract ?f8)) ;Elimina hecho (continuacorto NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

62. Regla para el hecho (cortosensores2B SI), el cual se afirma SI continua corto entre los

cables:

;**DEDUCCION SI los sensores estan en corto: (defrule falla2B-detector2B ;Regla para (cortosensores2B SI) ?f9 <-(cortosensores2B SI) ;Si daño en sensores => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN DETECTORES DE INCREMENTO TERMICO COMPARTIMENTO DE ACOPLE"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Megueo del detector -> Los sensores estan en corto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Falla en detectores de incremento termico -> Reemplazar los dos (2) sensores de incremento"))) (retract ?f9 ))

63. Regla para el hecho (cortocables2B NO) el cual se afirma si no hay corto entre los

cables:

;***DEDUCCIONES si NO hay corto entre los cables**** (defglobal ?*si4* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule cable2B-Fire2B-Gas2B ;Regla para (cortocables2B NO) ?f10 <-(cortocables2B NO) ;Si NO hay corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar cables a meguear. Meguear desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix PREGUNTA: El cable se encuentra abierto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si4* (read respuesta)) ;Asigna a si4 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si4* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables2B ?*si4*: donde *si4*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cablefireandgas2B ?*si4*)) ;Si respuesta es SI:Cable abierto. Si Respuesta es NO: Cable NO abierto ;Nuevo hecho:(cablefireandgas2B SI) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): No hay corto entre los cables")))

Page 239: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

32

(retract ?f10)) ;Elimina hecho (cortocables2B NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

64. Regla para el hecho (cablefireandgas2B NO), el cual se afirma si el cable no esta

abierto:

;**DEDUCCIONES SI cable NO esta abierto: (defrule modulo2B-cablefg2B ;Regla para (cablefireandgas2B NO) ?f10a <-(cablefireandgas2B NO) ;Si cable NO abierto => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): POSIBLE FALLA EN EL MODULO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los cables a meguear. Megueo desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix -> El cable NO se encuentra abierto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Posible falla en el modulo -> Evalue el cambio del modulo"))) (retract ?f10a ))

65. Definición de algunas variables y regla para el hecho (zona Zona2-A), el cual se afirma

si el usuario observo encendido el led de en modulo detonador zona 2-A. Las acciones

de esta regla contiene varias preguntas que el usuario responde para continuar con el

proceso:

;************** CASO 2: Zona 2-A Push Button (deteccion-fuego)*********************** (defglobal ?*si5* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;** PREGUNTAS led en Zona 2-A ********** (defrule fuego-push-button ;Opcion zona 2-A ?f11 <- (zona Zona2-A) ;Si led en modulo detonador zona 2-B encendido => (open "c:/EJERVG/Rta.bin" respuesta "w") ;Abre un archivo para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta "ACCION: Inspeccion visual del Push-Botton PREGUNTA: Esta activo ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si5* (read respuesta)) ;Asigna a si5 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si5* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (fuego real ?*si*: donde *si*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1))))

Page 240: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

33

(assert (fuegopushbotton ?*si5*)) ;Si Respuesta es SI: Push Botton activado. Si Respuesta es NO: Push Botton NO activado ;Nuevo hecho: (fuegopushbotton ?*si5*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Led Zona 2-A encendido -> Push Botton "))) (retract ?f11)) ;Elimina hecho (zona Zona2-A) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

66. Regla para el hecho (fuegopushbotton SI), el cual se afirma si el Push Botton está

activo:

;**DEDUCCIONES si push botton activo ************** (defrule activo-pb ;Regla para (fuegopushbotton SI) ?f12 <-(fuegopushbotton SI) ;Si Push Botton activo => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): PUSH BOTTON ACTIVO "))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Inspeccion visual de Push Botton activo "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Push Botton activo -> Normalizar la zona "))) (retract ?f12))

67. Definición de algunas variables y regla para el hecho (fuegopushbotton NO) el cual se

afirma si el Push Botton NO esta activo:

;**PREGUNTAS si alarma NO push botton NO activo en Zona 2-B ************** ;...REVISAR JBxxxxxx} (defglobal ?*si6* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule resistencia2A-infinita2A ;Regla para (fuegopushbotton NO) ?f13 <- (fuegopushbotton NO) ;Si Push Botton NO activo => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar resistencia de fin de linea. Megguear en IJB-9 Bornera 7-8 hacia acople.Hacia tierra. PREGUNTA: La resistencia es infinita ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si6* (read respuesta)) ;Asigna a si6 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si6* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (noaterrizadocable2A ?*si6*: donde *si6*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1))))

Page 241: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

34

(assert (noaterrizadocable2A ?*si6*)) ;Si respuesta es SI:NO aterrizamento del cable. Si respuesta es NO:SI aterrizamiento entre los cables ;Nuevo hecho: (noaterrizadocable2A ?*si6*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El Push botton NO esta activo "))) (retract ?f13)) ;Elimina hecho (fuegopushbotton NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

68. Definición de algunas variables y regla para el hecho (noaterrizadocable2A NO), el cual

se afirma si hay aterrizamiento del cable:

;**DEDUCCION si aterrizamiento del cable*** (defrule cable2A-aterrizado2A ;Regla para (noaterrizadocable2A SI) ?f14 <-(noaterrizadocable2A NO) ;Si aterrizamento del cable => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): FALLA EN CABLEADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Aterrizamiento del cable"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-9 Bornera 7-8 -> Resistencia diferente a infinito"))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Aterrizamiento del cable -> Reemplazar tramo de cable pelado "))) (retract ?f14 ))

69. Definición de algunas variables y regla para el hecho (noaterrizadocable2A SI), el cual

se afirma si NO hay aterrizamiento del cable:

;**DEDUCCION si NO aterrizamiento del cable*** (defglobal ?*si7* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;**PREGUNTAS si NO aterrizamiento del cable*** (defrule corto2A-entre2A-cables2A ;Regla para (noaterrizadocable SI) ?f15 <- (noaterrizadocable2A SI) ;Si NO aterrizamento del cable => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " Hay corto entre los cables? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si7* (read respuesta)) ;Asigna a si7 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si7* EOF) ;Si no se encontro respuesta (Rta vacio) then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cortocables2A ?*si7*: donde *si7*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1))))

Page 242: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

35

(assert (cortocables2A ?*si7*)) ;Si respuesta es SI:corto entre los cables .Si respuesta es NO:No hay corto entre los cables ;Nuevo hecho:(cortocables2A ?*si7*) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de resistencia de fin de linea. Meggueo en IJB-9 Bornera 7-8 -> Resistencia infinita"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): El cable NO esta aterrizado"))) (retract ?f15)) ;Elimina hecho (aterrizadocable2A SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

70. Definición de algunas variables y regla para el hecho (cortocables2A SI), el cual se

afirma si hay corto entre los cables:

;***DEDUCCION si hay corto entre los cables**** (defglobal ?*si8* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado ;***PREGUNTAS si hay corto entre los cables**** (defrule revision2A-pushbotton ;Regla para (cortocables2A SI) ?f16 <-(cortocables2A SI) ;Si corto entre los cables => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): PUSH BOTTON EN MAL ESTADO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables "))) (retract ?f16)) ;Elimina hecho (cortocables2A SI) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

71. Definición de algunas variables y regla para el hecho (cortocables2A NO), el cual se

afirma si NO hay corto entre los cables:

;***DEDUCCION si NO hay corto entre los cables**** (defglobal ?*si9* = "") (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (remove "c:/EJERVG/Rta.bin") ; Asegura que Rta sea borrado (defrule cable2A-Fire2A-Gas2A ;Regla para (cortocables2A NO) ?f17 <-(cortocables2A NO) ;Si NO hay corto entre los cables => (open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la respuesta (close respuesta) (open "c:/EJERVG/Pta.bin" pregunta "w") ;Abre un archivo para escribir la pregunta (printout pregunta " ACCION: Desconectar cables a meguear. Meguear desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix PREGUNTA: El cable se encuentra abierto ? "crlf"SI"crlf"NO") (close pregunta) (bind ?*var* (+ 0 1)) (while (= ?*var* 1) do (open "c:/EJERVG/Rta.bin" respuesta "r") ;Abre Rta para leer la respuesta (bind ?*si9* (read respuesta)) ;Asigna a si9 la respuesta (Rta) del usuario (close respuesta) (if (eq ?*si9* EOF) ;Si no se encontro respuesta (Rta vacio)

Page 243: SISTEMA EXPERTO EoS: Gestión de fallas con diagnóstico

36

then(bind ?*var* (+ ?*var* 0)) ;Entonces siga esperandola else (remove "c:/EJERVG/Rta.bin") ;Si encontro respuesta tomela como nuevo hecho (cablefireandgas ?*si9*: donde *si9*=respuesta usuario = SI/NO),y borre archivo de respuestas de usuario (Rta vacio) (bind ?*var* (+ ?*var* 1)))) (assert (cablefireandgas2A ?*si9*)) ;Si respuesta es SI:Daño en sensores. ;Nuevo hecho:(cablefireandgas2A SI) (SI/NO) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Corto entre los cables"))) (retract ?f17)) ;Elimina hecho (continuacorto NO) de la base de hechos (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta (remove "c:/EJERVG/Rta.bin") ;Asegura que se borre archivo de Rta

72. Regla para el hecho (cablefireandgas2A NO) el cual se afirma si NO hay corto entre los

cables:

;**DEDUCCION SI cable NO esta abierto Fire & Gas: (defrule modulo2A-cablefg2A ;Regla para (cablefireandgas2A NO) ?f17a <-(cablefireandgas2A NO) ;Si cable NO abierto => (assert (CAUSA(INMEDIATA "(Deteccion de fuego): POSIBLE FALLA EN EL MODULO"))) (assert (RESULTADO(HIPOTESIS "(Deteccion de fuego): Desconexion de los cables a meguear. Megueo desde el instrumento o caja de paso hacia el sistema Fire & Gas Detronix -> El cable NO se encuentra abierto "))) (assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Posible falla en el modulo -> Evalue el cambio del modulo"))) (retract ?f17a )) (run)