You are on page 1of 243

SISTEMA EXPERTO EoS: Gestin de fallas con

diagnstico experto para turbocompresores


utilizados en la extraccin de petrleo
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 construccin y la informacin
recolectada y estudiada. Se describen los mdulos que conforman el sistema experto, como se
implementaron y sus especificaciones. Se incluyen las bases que se tuvieron en cuenta para su
construccin, las caractersticas del programa utilizado y la adquisicin de la informacin que lo
alimenta.
SISTEMA EXPERTO EoS: GESTIN DE FALLAS CON DIAGNSTICO
EXPERTO PARA TURBOCOMPRESORES UTILIZADOS EN LA
EXTRACCIN DE PETRLEO

VIVIANA ESPINOSA ROJAS


GINA PAOLA PULIDO URIZA

Trabajo de grado para optar por el ttulo de


Ingeniero Electrnico

Director
Ingeniero Adolfo Len Recio Vlez M.Sc

PONTIFICIA UNIVERSIDAD JAVERIANA


FACULTAD DE INGENIERA, DEPARTAMENTO DE ELECTRNICA
BOGOT, D. C.
2004

1
ARTICULO 23 DE LA RESOLUCIN No 13 DE JUNIO DE 1946

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

Slo velar porque no se publique nada contrario al dogma y la moral catlica y porque los trabajos
no contengan ataques o polmicas puramente personales. Antes bien, que se vea en ellos el anhelo
de buscar la verdad y la justicia".

2
PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERA

CARRERA DE INGENIERA ELECTRNICA

RECTOR MAGNFICO: R. P. GERARDO REMOLINA VARGAS, S. J.

DECANO ACADMICO: 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 LEN RECIO VLEZ M.Sc

3
A Dios, a mi pap Roberto, mi mam Flor Mara 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

4
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 compaera y AMIGA, por los momentos difciles 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 realizacin 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 elaboracin de este proyecto y al tiempo que nos dedicaron en sacarlo adelante, en
especial al Ingeniero Rubn Soler y al Ingeniero Oscar Prez.

Gracias a Cesar Bustacara por su tiempo, dedicacin, paciencia y disponibilidad por ayudarnos y
colaborarnos cuando ms lo necesitbamos, y a Jose Fernando Vega por su disposicin y ayuda. A
nuestro director, Adolfo Recio, gracias por los nimos y la asesora que nos brind, y a Alejandro
Forero, por su asesoria, dedicacin y compromiso con nuestro trabajo.

GINA PAOLA PULIDO URIZA

5
La elaboracin de este trabajo de grado fue posible gracias al apoyo incondicional de mi pap, mi
mam y mi hermano. Dios fue mi gua 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 Electrnico Adolfo Len Recio, por su
tiempo y dedicacin, a nuestro asesor el Ingeniero Electrnico Alejandro Forero por sus valiosos
aportes y ayuda, al profesor Cesar Bustacara por su apoyo y consejo incondicional.

Le doy mi ms profundo a agradecimiento a Felipe Bayon, Gerente de Unidad de Desempeo 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, Rubn Soler y Oscar Prez,
quienes siempre estuvieron prestos a colaborarnos y son parte del desarrollo de este proyecto, a
ellos muchas gracias.

Finalmente agradezco a mi compaera 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 pudiramos
terminar con xito nuestro proyecto.

VIVIANA ESPINOSA ROJAS

6
TABLA DE CONTENIDO

TABLA DE CONTENIDO ...................................................................................... 7


LISTA DE FIGURAS ............................................................................................... 8
LISTA DE ANEXOS ................................................................................................ 8
INTRODUCCIN ..................................................................................................... 9
1. MARCO TERICO............................................................................................. 11
2. ESPECIFICACIONES......................................................................................... 12
2.1 REQUERIMIENTOS DEL SISTEMA EXPERTO EoS ................................. 12
2.2 ENTRADAS Y SALIDAS DEL SISTEMA.................................................... 13
2.3 MDULOS DEL SISTEMA EXPERTO EoS ................................................ 14
2.3.1 Mdulo de Filtraje........................................................................................ 16
2.3.2 Mdulo de Captura de Datos ....................................................................... 16
2.3.3 Mdulo de Base de Hechos.......................................................................... 16
2.3.4 Mdulo de Base del Conocimiento .............................................................. 17
2.3.5 Mdulo del Mecanismo de Inferencia.......................................................... 17
2.3.6 Mdulo de Explicacin ................................................................................ 17
2.3.7 Mdulo de Interfaz Grfica.......................................................................... 18
3. DESARROLLO ................................................................................................... 19
3.1 MDULO / FASE DE FILTRAJE .................................................................. 20
3.2 MDULO / FASE DE CAPTURA DE DATOS............................................. 22
3.3 MDULO / FASE DE BASE DE HECHOS .................................................. 23
3.4 MDULO / FASE DE BASE DEL CONOCIMIENTO ................................. 28
3.5 MDULO / FASE DE MECANISMO DE INFERENCIA ............................ 30
3.6 MDULO / FASE DE EXPLICACIN ......................................................... 33
3.7 MDULO / FASE DE INTERFAZ GRFICA .............................................. 35
4. ANLISIS DE RESULTADOS .......................................................................... 37
4.1 ALCANCE DEL SISTEMA EXPERTO EoS ................................................. 37
4.2 HERRAMIENTAS DE SOFTWARE UTILIZADAS..................................... 39
4.3 DESEMPEO DEL PROGRAMA DESARROLLADO EN CLIPS.............. 40
4.4 FUNCIONAMIENTO DE LA INTERFAZ GRFICA ELABORADA EN
VISUAL BASIC.NET ................................................................................................. 41
4.5 RESULTADOS DE LA COMPARACIN DEL PROCESO REALIZADO
ANTES Y REALIZADO AHORA.............................................................................. 42
4.6 FACTIBILIDAD DE LA APLICACIN DE LOS CONCEPTOS DE
GESTIN DE FALLAS EN EL SISTEMA EXPERTO EoS ..................................... 45
4.7 ANLISIS DE COSTOS................................................................................. 47
5. CONCLUSIONES ............................................................................................... 50
6. GLOSARIO ......................................................................................................... 52
BIBLIOGRAFA ..................................................................................................... 58

7
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 comparacin y archivos resultado cuando el SISTEMA EXPERTO EoS
realiza el filtraje de las alarmas............................................................................................... 22
Figura 5.Estructura de programacin de CLIPS......................................................................... 26
Figura 6 Fragmento de un rbol de Conocimiento utilizado en la elaboracin del SISTEMA
EXPERTO EoS. ...................................................................................................................... 29
Figura 7: Pantalla principal del SISTEMA EXPERTO EoS. ............................................................ 35

LISTA DE ANEXOS

ANEXO A: TEORA DE GESTIN


ANEXO B: PETRLEO 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

8
INTRODUCCIN

Dentro de las principales necesidades de las empresas petroleras est el mantener constante la
produccin de petrleo en sus yacimientos, puesto que una parada en la produccin representa
grandes prdidas de dinero. Para BP Exploration Company Colombia Ltda1 y Equipo de Servicios
Petroleros Ltda2 los turbocompresores resultan ser uno de los equipos ms importantes para la
inyeccin de gas al pozo dentro del proceso de extraccin de petrleo, ya que si un
turbocompresor falla, la produccin de crudo se interrumpe generando prdidas de produccin
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
lder en la extraccin de petrleo, encuentra interesante disponer de un mecanismo que
relacione y analice fallas para hacer ms eficiente, rpida y menos dispendiosa la interpretacin
manual de la informacin de los eventos cuando ocurre una falla en alguno de los
turbocompresores, y de esta forma facilitar al ingeniero experto en fallas la valoracin del
problema y el diagnstico 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 ocurra una falla en alguno de los turbocompresores de BP
Exploration Company Colombia Ltda el proceso se deba 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 valoracin del problema, diagnosticaba sus causas y
propona soluciones, con el fin de restablecer el proceso lo antes posible. Sin embargo, esta
interpretacin manual de la informacin poda ser ms eficiente, rpida y menos dispendiosa
para la persona experta si dispona de un mecanismo prctico que relacionara y analizara fallas,
facilitando la valoracin del problema y el diagnstico 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 inyeccin de gas
de BP Exploration Company Colombia LTDA en Cusiana, y las presenta al usuario por medio de
una interfaz grfica.

1
BP Exploration Company Colombia Ltda. es la empresa lder en la extraccin de petrleo 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 produccin de
petrleo, particularmente de BP Exploration Company Colombia Ltda.

9
Este prototipo de sistema experto, denominado SISTEMA EXPERTO EoS, resuelve problemas
como un especialista humano y permite emular por medio de un sistema de cmputo la
habilidad de toma de decisiones mediante relaciones, segn los indicadores de alarmas que
intervienen en el proceso y las respuestas de los usuarios durante la ejecucin del programa. El
SISTEMA EXPERTO EoS sigue los conceptos de la teora de Gestin de Fallas3 los cuales son la
base para justificar la construccin 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 evalen la
factibilidad de posteriores desarrollos que extiendan el alcance del SISTEMA EXPERTO EoS y
puedan utilizarse para un nmero elevado de equipos.

El desarrollo del SISTEMA EXPERTO EoS, se realiz como trabajo de grado titulado Gestin
de fallas con diagnstico experto para turbocompresores utilizados en la extraccin
de petrleo, por las Ingenieras Electrnicas 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, asesora y
requerimientos del Ingeniero Carlos Olarte y el Ingeniero Rubn Soler. Su instalacin 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 construccin y la
informacin recolectada y estudiada, as como los aportes de los ingenieros expertos. Se
describen los mdulos que conforman el sistema experto, como se implementaron, sus
especificaciones y como es la interaccin con la interfaz grafica. Se incluye, las bases que se
tuvieron en cuenta para construir el sistema experto, las caractersticas del programa utilizado y
la adquisicin de la informacin que lo alimenta. Se expone una descripcin del funcionamiento
de los turbocompresores en el proceso de extraccin de petrleo, se explican los conceptos
principales de la teora de gestin de fallas y se evala su aplicacin en procesos petroleros,
basados en las pruebas realizadas en Cusiana. Como complemento a la informacin 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 Tcnico de
Usuario, el cual incluye la estructura de programacin y modo de alimentar el sistema experto,
y el Cdigo de programacin del SISTEMA EXPERTO EoS, en el cual se encuentra todo el cdigo
fuente del programa.

3
Gestin de Fallas: Para ms informacin remtase al Anexo A de este documento.

10
MARCO TERICO

Los temas que sirvieron como base terica al SISTEMA EXPERTO EoS y fueron punto de partida
para su desarrollo son:

Teora de Gestin: Se presentan algunos de los conceptos de Gestin de Red, que


estn definidos para el sector de las telecomunicaciones pero que son vlidos en otros
sectores y tipos de empresas4 como lo es la petrolera, adaptando los conceptos a
aplicaciones especficas. Ver Anexo A de este documento.

Petrleo y Turbocompresores: Se refiere a las generalidades del proceso de


extraccin de petrleo 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 terica, componentes y fundamentacin de los sistemas


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

La comprensin y manejo de estos temas es necesaria para entender la informacin que


contiene este documento.

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

11
ESPECIFICACIONES

1.1.1. REQUERIMIENTOS DEL SISTEMA


EXPERTO EOS

El SISTEMA EXPERTO EoS est soportado bajo ambiente Windows, por lo tanto para su
correcta ejecucin se necesita un computador personal con las siguientes caractersticas
mnimas:

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 composicin, est dividido en dos programas:

1. Interfaz grfica: Es el programa con el que el usuario interacta, y donde se


muestra la informacin de inters para ste. La interfaz grfica 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 sincrnica con la interfaz


grfica. Realiza el proceso de inferencia y genera la informacin que se muestra al
usuario.

Para el desarrollo del SISTEMA EXPERTO EoS se utiliz la versin 6.21 de CLIPS del 15
de junio de 2003.

5
Herramienta especializada de software para la elaboracin 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 extraccin de petrleo 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 grfica del SISTEMA EXPERTO
EoS. Para ms informacin remtase a la seccin 2.1 del Manual Tcnico de Usuario o a la seccin 1.1
del Manual de Usuario.

12
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
simultneamente 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 dems
salidas: Proceso EoS.

7
Alarma de Disparo: Es la alarma que est directamente relacionada con la parada de un
turbocompresor. Para ms informacin, remtase a la seccin 1 del Manual de Usuario, o a la seccin 2
del Manual Tcnico de Usuario.

13
Archivo de Entrada: Causas
Archivo de texto que SISTEMA
genera el Sistema de EXPERTO EoS Recomendaciones
Captura y Filtraje.
Proceso

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

La informacin adicional que se muestra al usuario es:

Informacin referente a la Alarma de Disparo: Informacin 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 informacin de entrada, salida y adicional. Este reporte se genera en


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

1.1.3. MDULOS DEL SISTEMA EXPERTO EOS

A continuacin se describen las especificaciones de cada uno de los siete (7) mdulos que
componen el SISTEMA EXPERTO EoS:

Mdulo de filtraje

Mdulo de Captura

Mdulo de Base de Hechos

Mdulo de Base del Conocimiento

Mdulo de Mecanismo de Inferencia

Mdulo de explicacin

Mdulo de Interfaz Grfica

El diagrama de flujo se muestra en la Figura 3, y cada uno de los mdulos se detalla con un
color diferente.

14
ENTRADA AL SISTEMA MODULO DE FILTRAJE
MDULO DE CAPTURA.
Archivo de Entrada: Archivo Seleccin y filtraje de las alarmas
de texto que genera el Sistema que se encuentran en el Archivo de Captura las alarmas previamente
de Captura y Filtraje. Entrada. Se determinan: filtradas, y las ubica en los
- Alarmas de Disparo archivos binarios:
- Alarmas Secundarias - Primarias.bin
- Otras alarmas. - Secundarias.bin,
Ubicados en C:/EJERVG, para que
CLIPS y Visual Basic.NET puedan
BASE HECHOS. tener acceso a ellas.
Lista de alarmas.
BASE DEL CONOCIMIENTO
Informacin
Comparacin Son las reglas que contienen el
suministrada por el
de patrones de conocimiento especializado
usuario.
reglas con suministrado por la persona
hechos experta en el dominio, las cuales se
Conclusiones
representan en rboles de
intermedias de la
Conocimiento.
ejecucin.
Las reglas son:
- Reglas de produccin.
- Metarreglas.
- Reglas con prioridad
Nuevas conclusiones durante la
Informacin suministrada ejecucin.
por el usuario.
Respuesta a las preguntas AGENDA
formuladas por el sistema
SALIDA DEL SISTEMA La regla pasa a la
experto.
agenda.
Genera el Reporte EoS.Txt, y lo
almacena en la carpeta ReportesEoS Las reglas estn en orden
segn prioridad.
Formula preguntas al usuario y
le permite indicar la respuesta. Actualizacin de la
Almacena o lee informacin de agenda.
inters, ubicada en C;\EJEVG: Elimina o adiciona.
INTERFAZ CON EL - Causas.Txt
USUARIO. - Recomendaciones.bin
Dispara reglas por orden
SALIDA DEL SISTEMA - Pta.bin
de prioridad.
- Rta.bin
Presenta al usuario: - Simulacion.bin Ejecucin de acciones de
- Causas EoS la consecuencia (Lado
- Recomendaciones derecho) de la regla
EoS disparada.
MDULO DE EXPLICACIN.
- Proceso EoS
- Informacin de la Almacena las conclusiones Elimina las reglas ya
Alarma de Disparo intermedias. Al final del proceso las disparadas.
- Historial de preguntas guarda en el archivo Proceso.bin que
y respuestas se encuentra en C:\EJERVG.

*ENTRADA AL SISTEMA. *BASE DE HECHOS. *MDULO DE EXPLICACIN.


*MDULO DE FILTRAJE *BASE DE CONOCIMIENTO. *INTERFAZ GRFICA.
*MDULO DE CAPTURA. *MECANISMO DE INFERENCIA. *SALIDA DEL SISTEMA.

Figura 3: Diagrama de flujo del SISTEMA EXPERTO EoS.

15
1.1.4. MDULO DE FILTRAJE

Se encarga de la seleccin 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 comn 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 comn 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. MDULO 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. MDULO DE BASE DE HECHOS

Se desarrolla sobre el CLIPS y se compone de:

Listado de alarmas que provienen del Mdulo de Captura de Datos.

Informacin suministrada por el usuario durante el proceso de inferencia.

Conclusiones intermedias generadas durante la ejecucin.

8
Tag: Cdigo para identificar la instrumentacin 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 ms informacin remtase a la seccin 3.2 del Manual Tcnico de Usuario.

16
1.1.7. MDULO 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 programacin directamente sobre Clips. Se compone de:

Reglas de produccin: Son las que alimentan la base de conocimiento. Se elaboran


con la informacin 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 ests reglas se les asignara prioridad con el fin de que se
disparen antes que otras.

1.1.8. MDULO DEL MECANISMO DE


INFERENCIA

Tiene una Agenda compuesta por la coleccin de las reglas activadas, las cuales
manejan las prioridades asignadas en el mdulo de base de conocimiento.

Opera en ciclos hasta obtener respuesta al anlisis de causas de fallas.

De acuerdo con las reglas activadas almacena o lee informacin de inters de los
archivos Causas.bin, Recomendaciones.bin, Pta.bin, Rta.bin y Simulacion.bin, ubicados
en C;\EJEVG.

Genera un reporte con la informacin 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. MDULO DE EXPLICACIN

El sistema almacena secuencialmente las conclusiones intermedias del anlisis de


causas de falla, con las respectivas hiptesis y recomendaciones, y al final del proceso
las guarda en el archivo Proceso.bin que se encuentra en C:\EJERVG.

12
Para ms informacin remtase al Anexo C de este documento.
13
Reportes EoS: Para ms informacin remtase a la seccin 14 del Manual de Usuario.

17
1.1.10. MDULO DE INTERFAZ GRFICA

La interfaz grfica 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 travs del proceso de anlisis.14

El ambiente de trabajo del programa se encuentra en espaol.

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

Para una correcta visualizacin, se debe usar una resolucin de pantalla de 768 pxeles
mximo.

Permite seleccionar un archivo de texto, para realizar Anlisis de Eventos16.

Muestra los resultados intermedios y finales del anlisis 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 dems
salidas: Proceso EoS.

Informacin referente a la Alarma de Disparo: Informacin 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 ms informacin remtase a la seccin 3.4 del Manual Tcnico de Usuario o a la seccin 13 del
Manual de Usuario.
15
Para ms informacin remtase a la seccin 3.7 del Manual Tcnico de Usuario o a la seccin 7 del
Manual de Usuario.
16
Analisis de Eventos: Remtase a la seccin 13 del Manual de Usuario.
17
Para ms informacin remtase a las secciones 6, 8, 9, 10 y 11 del Manual de Usuario

18
DESARROLLO

El SISTEMA EXPERTO EoS se desarroll bajo el lenguaje de programacin 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. Adems ofrece
los elementos bsicos 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 ejecucin de las reglas.

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

Para el desarrollo de la interfaz grfica se utiliz Visual Basic.NET, debido a que varios de los
desarrollos que se encuentran en el Control Room de Cusiana20 estn implementados en esta
herramienta de programacin, entre ellos el Sistema de Captura y Filtraje21, con el cual el
SISTEMA EXPERTO EoS comparte la interfaz grfica.

El SISTEMA EXPERTO EoS consta de siete mdulos 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 inyeccin de gas al pozo en BP Exploration Company Colombia Ltda en Cusiana, y
los presenta al usuario por medio de la interfaz grfica.

A continuacin se har una descripcin general de cada uno de los mdulos y fases que
conforman el sistema, basados en el diagrama de flujo que se muestra en la Figura 3. En cada
uno de los mdulos y fases se incluir una porcin del cdigo desarrollado, sin embargo el

18
CLIPS: Para ms informacin remtase 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 extraccin de petrleo 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 grfica del
SISTEMA EXPERTO EoS. Para ms informacin remtase a la seccin 2.1 del Manual Tcnico de
Usuario o a la seccin 1.1 del Manual de Usuario.

19
cdigo completo del SISTEMA EXPERTO EoS se encuentra en el archivo Cdigo de
programacin del SISTEMA EXPERTO EoS, que se incluye en el CD del SISTEMA EXPERTO EoS.

1.1.11. MDULO / FASE DE FILTRAJE

Se encarga de la seleccin y filtraje de las alarmas que se encuentran en el Archivo de Entrada


y que sirven para identificar y disparar el proceso de bsqueda 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
informacin de la Alarma de Disparo.

Cada uno de los tags de las alarmas que hay en el Archivo de Entrada se compara con la
informacin que se encuentra en el archivo ListaPrimarias.Txt23, (como se ilustra en el cdigo
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
comparacin 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 informacin que se encuentra en el archivo ListaSecundarias.Txt25, (como se
ilustra en el cdigo 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 informacin 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 anlisis para hallar las causas de la falla relacionada con ese tag.
25
ListaSecundarias.Txt se encuentra en C:/EJERVG.

20
no son Alarmas de Disparo pero estn 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
comparacin sin tener en cuenta espacios ni maysculas

Las alarmas del Archivo de Entrada que no son Alarmas de Disparo ni Alarmas Secundarias28
NO las tiene en cuenta para el resto del anlisis.

A continuacin se presenta un esquema de la comparacin 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 ms informacin remtase a la seccin 3.2 del Manual Tcnico de Usuario.

21
ListaPrimarias.Txt:
Contiene la lista con todos los tags de
Archivo de entrada: Alarmas de Disparo.
ArchivoHyp.Txt Esta lista es creada por el Usuario
C
O Experto, y debe coincidir con la
Contiene la informacin de las M informacin que contiene CLIPS.
P
alarmas que se generan cuando A
ocurre una falla que ocasiona la R
ListaSecundarias.Txt:
parada en un turbocompresor. A
C Contiene la lista con todos los tags de las
I Alarmas Secundarias
Se especifica la informacin de las Esta lista es creada por el Usuario
alarmas que sucedieron sesenta (60) N
Experto, y contiene los tags de las
minutos antes y un (1) minuto
alarmas relacionadas con los
despus de la Alarma de Disparo.
turbocompresores que intervienen en el
proceso de inferencia que realiza CLIPS.

Primarias.bin: Contiene el tag Sacundarias.bin: Contiene el


de la Alarma de Disparo en tag de la Alarmas Secundarias
comn. en comn.

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

1.1.12. MDULO / FASE DE CAPTURA DE DATOS

De acuerdo con el resultado del Mdulo 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 comparacin del Archivo de Entrada
con ListaPrimarias.Txt resulta exitosa, se crea un archivo denominado Primarias.bin con el tag
de la alarma en comn, como se muestra a continuacin.

'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 comparacin del Archivo de Entrada con ListaSecuntarias.Txt resulta exitosa, se crea un


archivo denominado Secundarias.bin con los tags de las alarmas en comn, como se indica a
continuacin.

22

ATxt2.FEscribirArchivos("c:\ejervg\Secundarias.bin",
TodosRenglonesSecundariasHyp) 'Crea un archivo Secundarias.bin,
donde almacena el tag de las alarmas secundarias que estn 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 tambin 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. MDULO / FASE DE BASE DE HECHOS

Se desarrolla en CLIPS y se compone del listado de alarmas que provienen del Mdulo de
Captura de Datos, de las conclusiones intermedias generadas durante la ejecucin del
programa, y de la informacin 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 Mdulo 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 anlisis slo
cuando una Alarma de Disparo corresponde al Nodo Raz de los rboles de Conocimiento29 que
alimentan el sistema.

Para ello, se defini que cada proceso de anlisis se encontrara en CLIPS en un archivo *.CLP
diferente, de manera que el sistema pudiera ser modular y fcil de alimentar30. As, se

29
Nodo Raz de los rboles de Conocimiento: Para ms informacin remtase al Anexo C de este
documento.
30
Alimentar el SISTEMA EXPERTO EoS: Agregar informacin de procesos nuevos para que el
sistema sea ms completo y robusto. A cargo del Usuario Experto.

23
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 programacin realizada en CLIPS cuenta con un archivo denominado


PROGRAMAGLOBAL.CLP,33 el cual contiene el cdigo que permite determinar cul 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
cdigo 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:

;*** 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))

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 anlisis de las causas de falla.

En CLIPS, los archivos tienen un numero mximo de renglones de cdigo 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 cdigo para que continen con un proceso determinado.
Estos archivos de continuacin 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 estn asociados al rbol Transmisores de
campo.35

31
Para ms informacin sobre los nombres de los archivos utilizados en la programacin de CLIPS,
remtase a la seccin 3.3 6.1 del Manual Tcnico 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.

24
Por ejemplo, dentro del cdigo del archivo ALARMAM11-PT1801.CLP se hace el llamado a los
archivos necesarios para proseguir el anlisis como se muestra a continuacin: (solo si se
supera el nmero de lneas permitidas de cdigo.)

;*********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 continuacin de
Transmisoresdecampo
(run)

Como se puede observar, al final del cdigo 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 anlisis de causas de falla.

A continuacin se presenta la estructura de programacin utilizada en CLIPS para desarrollar el


SISTEMA EXPERTO EoS.

25
PROGRAMAGLOBAL.CLP:
Contiene el cdigo que permite
determinar cul Proceso de
Inferencia debe seguir el
Primarias.bin: Contiene el SISTEMA EXPERTO EoS.
tag de la Alarma de Disparo Ejemplo:
en comn entre M12-L45FTT_ALM
ArchivoHyp.Txt y PP-L28FDB4
ListaPrimarias.Txt. M11-LCLFDEN_ALM
Ejemplo: M11-LCLFDEN_ALM M11-L3NZFLT

M11-LCLFDEN_ALM.CLP:
Contiene el cdigo 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 continuacin del cdigo del Proceso de Inferencia
asociado con la Alarma de Disparo M11-LCLFDEN_ALM.

TransmisoresdecampoPARTE2.CLP:
Contiene la continuacin del cdigo del Proceso de Inferencia
asociado con la Alarma de Disparo M11-LCLFDEN_ALM.

Figura 5.Estructura de programacin 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 cdigo 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 ejecucin del programa son hechos que se
originan a partir de la informacin suministrada por el usuario a travs de sus respuestas al
sistema experto y de las Alarmas Secundarias que estn relacionadas con el anlisis respectivo.

del usuario, cada una de ellas en un rengln diferente. Ver el cdigo a continuacin.

26
(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)
Para realizar preguntas al usuario y presentarlas en la interfaz grfica, 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
grfica lee la informacin 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


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

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

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

27
...
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 esperndola
else
(remove "c:/EJERVG/Rta.bin") ;Si encontr respuesta tmela como
nuevo hecho (monitor *aux2*: donde aux2=respuesta usuario =
(SI/NO))y borre archivo de respuestas de usuario (Rta vacio)
(bind ?*var* (+ ?*var* 1))))
...

El nmero de consultas realizadas por el SISTEMA EXPERTO EoS para verificar si existen
Alarmas Secundarias y el nmero de preguntas realizadas al usuario, depende de la magnitud y
complejidad del rbol de Conocimiento relacionado con la Alarma de Disparo.

1.1.14. MDULO / FASE DE BASE DEL


CONOCIMIENTO

En este mdulo 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 programacin directamente sobre Clips.

Los rboles de Conocimiento son estructuras jerrquicas de datos conformadas por nodos que
almacenan conocimiento y ramas que conectan de manera lgica los nodos. Son
representaciones grficas y lgicas 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 actuacin;
de acuerdo con el anlisis y estado de los equipos relacionados con los turbocompresores. Estas
preguntas se realizan en medio de la ejecucin del programa usando la interfaz grfica y son un
insumo para llegar a las posibles causas de fallas.

28
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 elaboracin del SISTEMA EXPERTO


EoS.

Los especialistas en el tema fueron los responsables de suministrar la informacin para la


creacin 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 cdigo
equivalente al formato SIENTONCES (IFTHEN.)

A continuacin 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

29
ENTONCES (THEN)Escriba como antecedente en el archivo correspondiente:
Presencia de alta temperatura

El cdigo que corresponde a la regla anterior es:

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


?f31 <- (M11-L26BA1H) ;Si alarma de alta temperatura
=>
(assert (RESULTADO(HIPOTESIS(Deteccin 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 ))

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 cul regla disparar y evitar conflictos debido a activaciones simultneas de reglas con
igual prioridad, cuando alguna regla es ms relevante que otra. Para ello, se usa la instruccin
Salience en CLIPS, como se muestra a continuacin.

(defrule salir
(declare (salience 30)) ;Prioridad 30 (mayor que las reglas que por
defecto tienen prioridad 0)
?salir <-(SALIR) ;Si Usuario habilita la opcin SALIR
=>
(retract ?salir) ; Se elimina el hecho salir de la base de
hechos

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 anlisis
en particular.

1.1.15. MDULO / 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 solucin, es decir, hace inferencias al decidir cuales reglas satisfacen
los hechos para dar el diagnstico de la causa de la falla. El lenguaje que se utiliza para el

30
desarrollo del sistema experto es CLIPS ya que cumple con las caractersticas 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 ejecucin. Las tareas de un ciclo tpico
para CLIPS, son las mismas que se usan en el SISTEMA EXPERTO EoS:

Resolucin de conflicto: Si hay activaciones de reglas, entonces selecciona aquella


con la prioridad ms alta.

Acto: Ejecuta en forma secuencial las acciones de las consecuencias de la activacin 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


estn 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 interacta con el usuario para
que ste le suministre la informacin requerida en caso de que sea necesario para
continuar con el ciclo de ejecucin. En caso de que el ciclo haya finalizado no habr
necesidad de introducir informacin 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 informacin


referente a las Causas y Recomendaciones. Al final del proceso, esta informacin se enva a
archivos binarios denominados Causas.bin y Recomendaciones.bin, respectivamente, como se
muestra a continuacin

36
Agenda: Est compuesta por la coleccin de las reglas activadas, las cuales tendrn prioridades
asignadas para que se disparen de acuerdo su prioridad.
37
Deftemplates: Son arreglos donde se almacena informacin, como matrices de datos. Para mas
informacin remtase a los manuales de CLIPS que se adjuntan en el CD de instalacin del SISTEMA
EXPERTO EoS: Gua del Usuario, Gua Bsica de programacin y Gua Avanzada de Programacin.

31

(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

Para mostrar estos resultados al usuario, la interfaz grfica lee la informacin que se encuentra
en los archivos de texto y la presenta al usuario en su ventana principal. Ver cdigo a
continuacin.


SalidaFLeerArchivosCausas =
LECausas.FLeerArchivos("c:\ejervg\Causas.txt") 'Lee
Causas.Txt...

SalidaFLeerArchivosRecomendaciones =
LERecomendaciones.FLeerArchivos("c:\ejervg\Recomendaciones.bin")
'Lee Proceso.bin...

Durante el Proceso de Inferencia, el SISTEMA EXPERTO EoS almacena informacin y al


terminar genera automticamente un REPORTE en formato texto (*.Txt) en el cual se detalla
toda la informacin relacionada con la Alarma de Disparo y el proceso ejecutado.

'Se AGRUPA en una sola variable toda la informacin importante para el


Reporte Eos
Public Function FAgruparTodaInf() As String

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.

Informacin correspondiente a la Alarma de Disparo del proceso.

38
Para ms informacin remtase a la seccin 14 del MANUAL DE USUARIO.

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

Informacin detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS.

Nombre del archivo que el usuario utiliz para realizar el anlisis del evento.

1.1.16. MDULO / FASE DE EXPLICACIN

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


que si se quiere saber cmo se lleg a una conclusin, el mdulo presenta la secuencia
completa del procedimiento del anlisis. Esta posibilidad de explicacin 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 despus mostrarlas al usuario.

Cada regla del SISTEMA EXPERTO EoS est diseada para guardar la informacin de
antecedentes, causas y recomendaciones especficas en diferentes Deftemplates. A
continuacin 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 grfica.

39
Deftemplates: Son arreglos donde se almacena informacin, como matrices de datos. Para mas
informacin remtase a los manuales de CLIPS que se adjuntan en el CD de instalacin del SISTEMA
EXPERTO EoS: Gua del Usuario, Gua Bsica de programacin y Gua Avanzada de Programacin

33
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
trmico compartimiento acople.
RESULTADO HIPOTESIS: Falla en lazos de deteccin compartimiento acople. Resistencia
diferente a abierto con detector desconectado.
RECOMENDACIN CORRECTIVA: Falla en detectores de incremento trmico ->
Reemplazar los dos sensores de incremento trmico con baja impedancia

Cdigo correspondiente a la regla descrita anteriormente:


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

Al final del proceso, el sistema guarda la informacin que se encuentra en los Deftemplates en
el archivo Proceso.bin que se encuentra en C:\EJERVG.


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

Visual Basic.NET lee la informacin del archivo Proceso.bin y la imprime en pantalla para
mostrrsela al usuario, como se muestra a continuacin.

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

34
1.1.17. MDULO / FASE DE INTERFAZ GRFICA

La Interfaz Grfica permite la comunicacin entre el usuario y el sistema experto facilitando el


intercambio de informacin entre ambas partes. Est desarrollada en Visual Basic.NET 6.0
puesto que es un lenguaje de programacin orientado a objetos, con herramientas de diseo
que permite una buena visualizacin para el usuario.

Figura 7: Pantalla principal del SISTEMA EXPERTO EoS.

Es la encargada de mostrar los resultados finales e intermedios del anlisis de causas de falla,
la lista correspondiente a las hiptesis verificables intermedias que hicieron posible llegar a la
conclusin correspondiente, y una lista de posibles recomendaciones especficas en caso de que
existan.

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


sistema plantea a travs del proceso de anlisis.40

El ambiente de trabajo del programa se encuentra en espaol.

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

40
Para ms informacin remtase a la seccin 3.4 del Manual Tcnico de Usuario o a la seccin 13 del
Manual de Usuario.
41
Para ms informacin remtase a la seccin 3.7 del Manual Tcnico de Usuario o a la seccin 7 del
Manual de Usuario.

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

Para una correcta visualizacin, se debe usar una resolucin de pantalla de 768 pxeles
mximo.

Permite seleccionar un archivo de texto, para realizar Anlisis de Eventos42.

Muestra los resultados intermedios y finales del anlisis 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 dems
salidas: Proceso EoS.

Informacin referente a la Alarma de Disparo: Informacin 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: Remtase a la seccin 13 del Manual de Usuario.
43
Para ms informacin remtase a las secciones 6, 8, 9, 10 y 11 del Manual de Usuario

36
ANLISIS DE RESULTADOS

Para realizar el anlisis de resultados se evaluaron los siguientes aspectos del SISTEMA
EXPERTO EoS:

Alcance del Sistema Experto EoS.

Herramientas de software utilizadas.

Desempeo del programa desarrollado en CLIPS.

Funcionamiento de la interfaz grfica, elaborada en Visual Basic.NET.

Resultados de la comparacin del proceso realizado antes y realizado ahora.

Factibilidad de la aplicacin de los conceptos de Gestin de Fallas en el SISTEMA


EXPERTO EoS.

Anlisis de costos.

1.1.18. ALCANCE DEL SISTEMA EXPERTO EOS

Para determinar el alcance del proyecto se realiz un estudio del nmero de alarmas que se
reportaban en el Control Room de Cusiana y a las cuales era necesario realizarles un anlisis
minucioso para hallar las causas de la falla. De esto, se concluy que el nmero de alarmas de
todos los equipos era bastante elevado44 para que todas ellas abarcaran el sistema experto que
se desarrollara como trabajo de grado de modo que se defini enfocar el desarrollo del
prototipo del sistema experto en el equipo que reportara mayores perdidas econmicas y que
generar el efecto ms traumtico dentro de la planta cuando se detena 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 produccin.

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

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

38
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 seleccin 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 requeran para desarrollar el
SISTEMA EXPERTO EoS puesto que cuenta con los elementos necesarios que permitan el
desarrollo y programacin del prototipo del sistema experto46. Adicionalmente, no existan
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 econmico para fines
comerciales. El contrato de licencia se encuentra en el ANEXO E de este documento.

Visual Basic.NET permite el desarrollo de interfaces grficas con un nmero elevado de


herramientas y opciones para el programador y el usuario. Para la seleccin de la herramienta
de software que sirviera como interfaz grfica del SISTEMA EXPERTO EoS, fue necesario tener
en cuenta los lenguajes de programacin que utilizan los ingenieros del Control Room de
Cusiana cuando realizan desarrollos propios. En su mayora los desarrollos se han realizado en

46
Para ms informacin sobre las caractersticas de CLIPS, remtase al Anexo C de este documento.

39
Visual Basic 6.0 sin embargo estn 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 grfica. En cuanto a costos, no es necesario adquirir la licencia del programa, puesto
que el SISTEMA EXPERTO EoS es un ejecutable.

1.1.20. DESEMPEO DEL PROGRAMA


DESARROLLADO EN CLIPS

Durante la construccin del SISTEMA EXPERTO EoS se realizaron pruebas de trabajo para
observar el funcionamiento y desarrollo evolutivo del sistema a medida que se introducan 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 introducan manualmente las alarmas al sistema y se
respondan 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 cumpla los
requerimientos necesarios para instalarse en el CPF48 de Cusiana, puesto que hacia
corresponder las Alarmas de Disparo, las Alarmas Secundarias y las hiptesis a las causas y
recomendaciones asociadas, segn los rboles de Conocimiento.

Despus de confirmar los resultados de las simulaciones y de tener un nmero adecuado de


reglas en la Base de Conocimiento, se efectuaron las primeras pruebas en campo. El 7 de
Agosto de 2004, se realiz la unin del Sistema de Captura y Filtraje con el SISTEMA EXPERTO
EoS y se realizaron las pruebas correspondientes, con el fin de evaluar la interaccin 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

40
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 verificacin de las reglas que se extrajeron
de los rboles de Conocimiento y se confirm la validez de la informacin 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 versin final del SISTEMA EXPERTO EoS, la cual fue aceptada a
satisfaccin. En el Anexo F, se encuentra la carta que el Ingeniero de Control de Cusiana
envi, manifestando la aprobacin del SISTEMA EXPERTO EoS, en cuanto que cumpla con los
propsitos 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


GRFICA ELABORADA EN VISUAL BASIC.NET

Durante el tiempo de desarrollo del SISTEMA EXPERTO EoS y de acuerdo con los avances
presentados en la interfaz grfica, los ingenieros de control de Cusiana manifestaron sus
opiniones y sugerencias en cuanto a la presentacin y herramientas que se deban incluir y
mostrar al usuario en la interfaz grfica.

Atendiendo a sus solicitudes, se desarroll una interfaz grfica 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 presentarn al usuario por medio un men de
seleccin. Adicionalmente, se present la informacin 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 informacin de forma rpida y sencilla.

41
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
pequeos ajustes de forma, en cuanto a la presentacin grfica de la interfaz. El 4 de Octubre
de 2004 se manifest la aprobacin del proyecto y se confirm que el SISTEMA EXPERTO EoS
cumpla con los propsitos trazados desde el inicio.

1.1.22. RESULTADOS DE LA COMPARACIN DEL


PROCESO REALIZADO ANTES Y REALIZADO
AHORA

El proceso de identificacin de fallas que se realiza sin el uso del SISTEMA EXPERTO EoS no
tiene un modelo especfico de los pasos a seguir, porque depende de la naturaleza y
caractersticas de la falla especfica, sin embargo se puede resumir en cuatro (4) pasos o
actividades generales:

1. Los operadores filtran y consiguen la informacin que pueda servir para empezar a
hacer el anlisis adecuado y obtener las causas de la falla. Esta informacin
generalmente es la que se encuentra en:

a. El Sistema de Captura y Filtraje donde estn las alarmas que se registraron.


b. Un segundo registro de alarmas que se obtiene directamente de algunas
mquinas.
c. Un registro de tendencias de diferentes variables.

2. Un grupo de expertos realiza el anlisis correspondiente con la informacin que se tiene


de acuerdo con las caractersticas 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 hiptesis entre
las personas que hacen el anlisis 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 anlisis verifica las hiptesis anteriormente


formuladas por medio de diferentes actividades como lo son pruebas en la mquina,
bsqueda de informacin en manuales y planos, experimentos especficos, etc hasta
obtener conclusiones al respecto de la falla.

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


funcionamiento el turbocompresor lo antes posible. Finalizado el proceso de anlisis, el

42
operador del cuarto de control construye un reporte de los hechos en aproximadamente
un (1) da 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. Despus de
aproximadamente cinco (5) das se obtiene el reporte final del anlisis de causas de
falla.

Se puede observar que en el paso 2 pueden generarse un gran nmero de hiptesis ya que
cada falla puede llegar a ser nueva para los expertos que tratan de encontrar sus causas,
haciendo que se gaste ms tiempo, recursos y esfuerzos para obtener un resultado eficiente.
Adems de esto, finalizado un anlisis se debe hacer un reporte con el mayor nmero 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 rpidamente,
pudindose olvidar detalles del anlisis que no se reportaron.

Se debe tener en cuenta que los expertos que realizan el proceso de anlisis de las causas de
fallas rotan peridicamente49, y un inconveniente palpable del proceso actual es que las
lecciones aprendidas por un grupo de expertos que participaron en el anlisis de una falla
especfica no son aprendidas por el otro grupo, y si sucede una falla de las mismas
caractersticas 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 identificacin de fallas es ms rpido y
proporciona algunas facilidades antes no obtenidas:

1. El SISTEMA EXPERTO EoS dispara un proceso de anlisis inmediatamente detecta una


Alarma de Disparo la cual indica una falla en un turbocompresor, siempre y cuando
tenga informacin de la misma en su base de conocimiento. Al disparar un proceso
procede a hacer preguntas al operador y/o ingeniero proporcionando una gua 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 despus50 ocurrida la Alarma de Disparo y
las suministra ya filtradas al usuario. Los dems registros que el operador necesite de

49
El personal de BP Exploration Company Colombia Ltda, trabaja por turnos de 15 das
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 anlisis de fallas. Este criterio fue suministrado
por los Ingenieros de Control de Cusiana.

43
acuerdo con el tipo de falla, se obtienen directamente de las mquinas y en registros
de tendencias de diferentes variables.

2. Un grupo de expertos realiza el anlisis correspondiente con la informacin que se tiene


de acuerdo con las caractersticas de la falla, ayudado por la gua del proceso a seguir
que proporciona el SISTEMA EXPERTO EoS, para encontrar las causas de la falla por
medio de la formulacin de hiptesis 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 anlisis comprueba las hiptesis 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
verificacin 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 correccin y a poner en


funcionamiento el turbocompresor lo antes posible. Al terminar el proceso de anlisis
del SISTEMA EXPERTO EoS, ste genera un reporte con las causas inmediatas, los
resultados de las hiptesis, las recomendaciones correctivas, las alarmas filtradas que
intervinieron en el anlisis, los hechos registrados de acuerdo con las respuestas
introducidas por el usuario segn 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 anlisis de casos histricos que
pueden volver a ocurrir pero se desconocen u olvidaron. Entre tanto, cada vez que el sistema
obtiene conclusiones intermedias genera ideas que guan a los operadores en el proceso de
anlisis, 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 anlisis se obtenga instantneamente un reporte detallado
del proceso que se sigui para hallar las causas de la falla.

44
1.1.23. FACTIBILIDAD DE LA APLICACIN DE
LOS CONCEPTOS DE GESTIN DE FALLAS EN EL
SISTEMA EXPERTO EOS

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


incluye funciones de Gestin de Fallas, las cuales se nombran a continuacin51:

Lectura e interpretacin 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.

Anlisis del estado y comportamiento de los factores relacionados con una falla
determinada, facilitando la obtencin de datos para el proceso de Anlisis de Causa
Raz de Falla52, e indicndole 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
despus de hacer los anlisis adecuados cuando ocurre una falla.

Se compone de un conjunto de facilidades y herramientas que permiten la deteccin,


identificacin y correccin 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 diagnstico constituido por cuatro pasos que se repiten
hasta hallar la causa del problema, los cuales son los mismos que siguen los sistemas de
Gestin de Fallas: observacin de sntomas, elaboracin de hiptesis, verificacin de hiptesis y
conclusiones.

1. Observacin de sntomas: A partir de las Alarmas de Disparo y las Alarmas Secundarias que
recibe el Sistema de Captura y Filtraje, y de la informacin de las respuestas de los usuarios a
las preguntas de verificacin de eventos, se recoge la mayor cantidad de informacin posible de
la falla, basndose en diferentes aspectos:

Clasificacin de las alarmas dependiendo de la naturaleza de la falla.

51
Teora deGestin y Gestin de Fallas: Para ms informacin remtase al Anexo A de este documento.
52
RCFA: Anlisis de Causa Raz de Falla. Proceso especfico y minucioso que utilizan en Equipo de
Servicios Petroleros Ltda para hallas la causa raz de las fallas que se presentan en los equipos de BP
Exploration Company Colombia Ltda.

45
Registro de antecedentes y pasos del proceso realizado, para conservar un reporte
histrico secuencial de los eventos y coleccionar datos de hechos correlacionados.

Reduccin de la redundancia de hiptesis por medio de la identificacin de relaciones


de hechos individuales.

Correlacin 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. Elaboracin de hiptesis: Las realiza la Base de Conocimiento del SISTEMA EXPERTO EoS,
puesto que ella contiene la experiencia y conocimientos del Usuario Experto. La elaboracin de
las hiptesis durante la ejecucin de un proceso se basa en:

Diagnstico de causas de fallas por medio de anlisis de rboles de Conocimiento.

Interpretacin y relacin de los resultados intermedios durante la ejecucin del anlisis,


para determinar las causas de falla.

3. Verificacin de hiptesis: La realiza el Motor de Inferencia del SISTEMA EXPERTO EoS,


cuando valida o descarta cada una de las reglas relacionadas con un proceso especfico, de
manera que se pueda determinar si las hiptesis 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


informacin 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 anlisis de fallas.

As, vemos que el SISTEMA EXPERTO EoS permite llevar a cabo las tareas correspondientes a la
Gestin 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.

46
Una vez que una falla es detectada, la determinacin de las causas debe preceder el proceso de
reparacin, 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 reparacin rpida del recurso que fall.
De est forma se facilita que la solucin 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 informacin relacionada con el proceso ejecutado, de manera que se crean
archivos que permiten llevar un histrico de los procesos, fallas y causas que se hayan
desarrollado, y se tengan datos verdicos y suficientes que permitan el anlisis de medidas de
efectividad de Gestin de la Falla en trminos de la interrupcin del servicio y los costos de
reparacin.

1.1.24. ANLISIS 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
traduccin de la informacin 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 ms 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 ms esfuerzo. El nmero real de horas de trabajo con
ellos fue aproximadamente de 100, de manera que el tiempo estimado en la adquisicin del
conocimiento aument un 122% al que se tena estimado.

A continuacin se presenta un cuadro comparativo con los costos estimados y los costos reales
del proyecto:

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

47
Horas Costo total
Precio hora Horas totales Real
Costos personales Costo total Estimado totales
aproximado estimadas
reales
Director del
proyecto54 50.000,00 92 4.600.000,00 92 4.600.000,00
Asesores16 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,00
Total Costos Personales 92.000.000,00 92.000.000,00

Actividades y
elementos Nmero Nmero
Costo por unidad Costo total
financiados por Unidades Unidades Costo Total Rea
aproximado estimado
"BP Colombia estimadas reales
LTDA"
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,00
2. VISITAS A CAMPO (CUSIANA)
Pasajes 199.500,00 12 2.394.000,00 12 2.394.000,00
Habitacin Hotel 3
das 210.000,00 6 1.260.000,00 6 1.260.000,00
Alimentacin 3 das 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 matrcula, sern facilitados por el departamento de
Electrnica de la Pontificia Universidad Javeriana.
55
En este computador se utiliz para la instalacin del Sistema Experto EoS.
18
Se usar una aplicacin de software libre.

48
Total Costos Financiacion Propia 1.595.000,00

TOTAL DEL PROYECTO 105.772.000,00

49
CONCLUSIONES

Fue posible la elaboracin 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 propsitos trazados, ya que las pruebas
realizadas en campo mostraron buenos resultados.

Se reconoci la importancia de utilizar una interfaz grfica 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
grfica 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 anlisis
de causas de falla de los turbocompresores de BP Exploration Company Colombia Ltda.

La adquisicin e interpretacin del conocimiento del experto fue la fase ms demorada,


dispendiosa y de mayor cuidado, puesto que la informacin no se encontraba
centralizada en cabeza de una persona, sino que eran varios los expertos que ayudaban
en la construccin del conocimiento y posteriormente se deba transmitir la informacin
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 histrico de las
causas y fallas ocurridas, permitiendo tener la informacin completa para futuras
correcciones de problemas, sin embargo se logr centralizar esta informacin en los
rboles de Conocimiento.

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


Gestin e incluye funciones de Gestin de Fallas, mostrando que es viable la aplicacin
de los conceptos de Gestin, definidos para empresas de telecomunicaciones, en
empresas petroleras como BP Exploration Company Colombia Ltda. El sistema sigue un
proceso de diagnstico de fallas igual al que siguen los sistemas de Gestin de Fallas.

50
El SISTEMA EXPERTO EoS permitir realizar procesos posteriores de Gestin dentro de
la compaa, de manera que se pueda aumentar la productividad y disminuir los
tiempos de parada de produccin.

El SISTEMA EXPERTO EoS se puede expandir para ser utilizado para hallar las causas a
un nmero mayor de fallas que se presenten en los turbocompresores de BP
Exploration Company Colombia Ltda, y a un nmero mayor y ms diverso de equipos
adicionales de los turbocompresores.

El SISTEMA EXPERTO EoS permite a los usuarios expertos ampliar la informacin y


conocimiento que ste contiene, de manera que su aplicabilidad sea ms amplia y
efectiva dentro de la planta de BP Exploration Company Colombia Ltda. Adems, 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 produccin.

51
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 estn relacionadas con los turbocompresores.

ALIMENTAR EL SISTEMA EXPERTO EoS: Agregar informacin de procesos nuevos para que
el sistema sea ms completo y robusto. A cargo del Usuario Experto.

ANLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el


usuario puede ingresar la informacin con las alarmas que generan los equipos y realizar
manualmente un proceso.

RBOL DE CONOCIMIENTO: Representaciones grficas y lgicas 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 informacin 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


informacin de las alarmas con la que desea realizar el Anlisis de Eventos. Debe tener las
mismas caractersticas del Archivo de Entrada.

ARCHIVOHYP.TXT: Archivo de texto con la informacin 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 CONTINUACIN: Archivos con cdigo en CLIPS, que tienen la continuacin


de un proceso determinado, cuando los archivos donde est la informacin se le terminan los

52
renglones permitidos de escritura. Estos archivos de continuacin llevan el nombre del rbol de
Estudio asociado al anlisis 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 produccin de petrleo 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 informacin 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 supervisin de la presin, 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 sincrnica con la Interfaz Grfica, es
el que realiza el proceso de inferencia y genera la informacin que se muestra al usuario.
Herramienta especializada para el desarrollo de sistemas expertos.

CDIGO DE PROGRAMACIN DEL SISTEMA EXPERTO EoS: Archivo donde se encuentra


el cdigo de programacin 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 petrleo de BP Exploration


Company Colombia Ltda.

53
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 informacin. Similares a matrices


de datos.

EXPERTO HUMANO: Quien posee el conocimiento especializado.

GESTIN: Habilidad para interpretar correctamente una situacin y ejercer las acciones
apropiadas.

GESTIN DE FALLAS: Conjunto de facilidades que permiten la deteccin, identificacin y


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

INFORMACIN DE LA ALARMA DE DISPARO: Es la informacin referente a la Alarma de


Disparo: tag de la alarma, descripcin 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 GRFICA: Es el programa con el que el usuario interacta, y donde se muestra la


informacin de inters para ste. La interfaz grfica 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 INYECCIN DE GAS: Proceso de inyectar gas al pozo de


forma que ejerza presin 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.

54
LISTASECUNDARIAS. TXT: Contiene una lista con todos los tags de las alarmas que no son
Alarmas de Disparo pero estn 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 TCNICO DE USUARIO: Es en el que se encuentra el cdigo fuente de los


programas y aspectos ms especficos del funcionamiento del SISTEMA EXPERTO EoS.

MARK V: Software encargado del monitoreo, control y proteccin 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.

MDULO DE ADQUISICIN DEL CONOCIMIENTO: Componente de los sistemas expertos.


Permite aadir, eliminar o modificar elementos de conocimiento (en la mayora de los casos,
reglas.)

MDULO DE EXPLICACIN: Es el que le aclara al usuario el razonamiento seguido en el


proceso de inferencia.

MONITORIZACIN: Se ocupa de la observacin, anlisis de estado y comportamiento de los


recursos gestionados para la obtencin 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 comparacin 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 dems salidas.

55
PROCESO.BIN: Archivo donde se almacena la secuencia de pasos realizados por el SISTEMA
EXPERTO EoS para generar las dems salidas. Se encuentra en C:\EJERVG.

PSI: Libras por pulgada cuadrada. Es una medida de presin.

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 GESTIN: La administracin, supervisin, control y organizacin de los elementos de


la red gestionada.

RED: Conjunto de elementos interconectados

REPORTE EoS: Es el reporte con la informacin 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 comparacin entre
ArchivoHyp.Txt con ListaSecuntarias.Txt. Se encuentra en C:\EJERVG.

SHELLS: Lenguajes de programacin que se utilizan como herramienta para la creacin 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 extraccin de petrleo 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 Grfica del SISTEMA EXPERTO EoS.

TAG: Cdigo para identificar la instrumentacin y variables de un proceso determinado.

TMN: Telecommunications Management Network.

56
TURBOCOMPRESORES: Son equipos que aumentan la presin 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.

57
BIBLIOGRAFA

1. AIDAROUS PLEVYAK, Salah, Thomas, Telecomunications Network Management into the 21st
century. New York: IEEE , 1994. 426p.

2. BARBA MARTI, Antoni, Gestin de red. Mxico: Alfaomega, 2001. 231p

3. BP EXPLORATION COMPANY, Pgina web oficial. En:


http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

4. GIARRATANO, Joseph y RILEY, Gary. Sistemas Expertos, Principios y programacin. Mexico


: International Thomson Editores, 2001. 596p

5. Informacin 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, Representacin 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 Aplicacin. 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 POLITCNICA DE MADRID, Direccin estratgica en tecnologas de la


informacin y las comunicaciones (TIC). Madrid: universidad Politcnica de Madrid, 2000.
135p.

58
ANEXO A: TEORA DE GESTIN

Es necesario tener una idea general de la teora de Gestin de Red y Gestin de Fallas para
entender porque estos conceptos son la base de la razn de desarrollar una herramienta que
facilite el anlisis de las fallas en los procesos de extraccin de petrleo.

Se presentan los siguientes temas:

1 DEFINICIN DE GESTIN
2 MODELO TMN
3 GESTIN DE RED
4 GESTIN DE FALLAS
5 TAREAS PRINCIPALES DE LA GESTIN DE FALLAS
6 BIBLIOGRAFA

Los conceptos de Gestin de Red que se presentan a continuacin estn definidos para el
sector de las telecomunicaciones, sin embargo son vlidos en otros sectores y tipos de
empresas56 como lo es la petrolera, adaptando los conceptos a aplicaciones especficas.

1 DEFINICIN DE GESTIN

El trmino Gestin en su acepcin ms amplia se refiere a la habilidad para interpretar


correctamente una situacin y ejercer las acciones apropiadas. Se entiende como Red, un
conjunto de elementos interconectados y como Red de Gestin la administracin, supervisin,
control y organizacin de los elementos de la red gestionada, es decir, la red de gestin 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 Gestin con una estructura que
permite conectividad y comunicacin a travs de redes de telecomunicaciones y sistemas
operativos, proporcionando una arquitectura organizada para la interconexin 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.

1
sistemas de operaciones y equipos de telecomunicaciones para el intercambio de informacin
de gestin.

La estructura general del modelo TMN cuenta con una arquitectura en capas que sigue una
estructura jerrquica, cuyas capas cubren diferentes aspectos dependiendo de su funcionalidad,
complementndose unos con otros. Estos niveles son:59

Gestin de
Negocio

Gestin de
Servicio

Gestin de Red

Gestin de Elemento de Red

Elemento de Red

Figura 8: Estructura jerrquica de la TMN.


Gestin de negocio (BML60): Maneja funciones para el desarrollo de estrategias y
polticas para el control y operacin de servicios.

Gestin de servicios (SML61): Responsable del mantenimiento y gestin del propio


servicio, as como la interaccin con el cliente y otros servicios.

Gestin de red (NML62): Se encarga del control y coordinacin 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 visin 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

2
Gestin de elementos de red (NEML63): Maneja el mantenimiento, control y
coordinacin de un conjunto de elementos de red.

Elementos de red (NEL64): Est conformado por las funciones especficas de cada
elemento de red.

3 GESTIN DE RED

El nivel de gestin de red65 tiene como funcin garantizar un adecuado nivel de ejecucin de
procesos a un costo determinado, orientado hacia la cooperacin entre la gestin de sistemas
individuales para conseguir un efecto coordinado y mejorar la disponibilidad, rendimiento y
efectividad de los elementos del sistema.

Los sistemas de gestin de red se basan en dos procedimientos bsicos de actuacin: la


monitorizacin y el control. La monitorizacin se ocupa de la observacin, anlisis de estado y
comportamiento de los recursos gestionados para la obtencin de datos; y los procedimientos
de control se encargan de modificar parmetros e invocar acciones sobre el comportamiento de
los componentes.

4 GESTIN DE FALLAS

La ISO66 clasific las tareas de los sistemas de Red de Gestin en cinco reas funcionales:

Gestin de configuracin: Permite identificar, recoger y proporcionar datos a objetos


gestionados, para aumentar su capacidad de control.

Gestin de prestaciones: Se encarga del mantenimiento del nivel de servicio


proporcionando calidad y asegurando su correcto y eficiente comportamiento.

Gestin de seguridad: Ofrece mecanismos que facilitan el mantenimiento de polticas


de seguridad, las cuales estn dirigidas a proteger los recursos del sistema.

Gestin de contabilidad: Recoleccin de estadsticas que reflejen el uso de los


recursos, de forma que se pueda hacer una asignacin ms eficiente de estos.

63
NEML: Network Element Management layer
64
NEL: Network Element Layer
65
BARBA MARTI, Antoni. Gestin de red
66
ISO: International Organization for Standarization.

3
Gestin de fallas: Conjunto de facilidades que permiten la deteccin, identificacin y
correccin de fallas.

La Gestin de Fallas conforma mecanismos para detectar, localizar, aislar y corregir fallas en la
red. Tiene diversas metas que se enumeran a continuacin:

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
reparacin rpida, mientras que una proactiva se enfatiza en aislar y reemplazar rpidamente el
recurso que fall por recursos de ms.

2. Identificacin de la causa raz de la falla: Una vez que una falla sea detectada, la
determinacin de la causa raz debe preceder el proceso de reparacin. La localizacin rpida
de una causas-raz depende de las previas acciones de deteccin, diagnstico y prueba.

3. Reparacin de la falla: La reparacin de la falla debe ser eficiente y oportuna, conservando


los costos dentro de los lmites del trabajo, sumando el costo de las partes de ms, mano de
obra, y el costo asociado con la no disposicin del recurso para su uso hasta que sea reparado.

4. Medida de la efectividad: Se deben llevar reportes histricos debidamente documentados


para tener datos verdicos y suficientes que permitan el anlisis de medidas de efectividad de
gestin de la falla en trminos de la interrupcin del servicio y los costos de reparacin.

5 TAREAS PRINCIPALES DE LA GESTIN DE


FALLAS 67

Muchas de las funciones de Gestin de Fallas involucra anlisis, correlacin, reconocimiento de


patrones y procesos similares, para poder realizar sus tareas principales: deteccin e
identificacin de las fallas y, si es posible su reparacin.

1. DETECCIN E IDENTIFICACIN DE LAS FALLAS

Para detectar e identificar las fallas en una red, los sistemas de Gestin de Fallas siguen un
proceso de diagnstico constituido por cuatro pasos que se repiten hasta hallar la causa del

67
Universidad Politcnica de Madrid. Direccin estratgica en tecnologas de la informacin y las
comunicaciones. DGRS. GESTION DE REDES Y SERVICIOS.

4
problema: observacin de sntomas, elaboracin de hiptesis, verificacin de hiptesis y
conclusiones.

a) Observacin de sntomas: Recoleccin de eventos por medio de la vigilancia de alarmas para


recoger la mayor informacin posible de la falla. Se basa en:

- Clasificacin de las alarmas dependiendo de la naturaleza de la falla.

- Registro de alarmas en orden cronolgico para conservar un reporte histrico 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.

- Reduccin de la redundancia de alarmas por medio de la identificacin de sndromes de


eventos de mltiples alarmas asociadas con fallas individuales.

- Correlacin de alarmas debido a que una falla puede generar muchas alarmas en distintas
partes del equipo distribuidas en tiempo y espacio.

b) Elaboracin de hiptesis: Se realiza en base a los conocimientos y experiencia de la persona


experta, y a la informacin conocida. Se basa en:

- Diagnsticos por medio de anlisis de rboles de causa-raz de fallas.

- Corrimiento de diagnsticos.

- Correlacin de los resultados para determinar la causa-raz de la falla.

c) Verificacin de hiptesis: Elaboracin de un conjunto de pruebas cuyo resultado confirme si


la hiptesis es acertada, o al menos, descartable.

d) Conclusiones: Se debe tener un resultado especfico. Si se llega a un resultado sin hiptesis


vlida, se debe decidir qu acciones tomar para aislar el problema y luego corregirlo.

2. CORRECCIN DEL PROBLEMA

Resolver el problema por medio de acciones correctoras para la reparacin de la falla.


Posteriormente se debe comprobar el reestablecimiento efectivo del servicio dentro de los
parmetros adecuados y hacer una medida de la efectividad.

5
6 BIBLIOGRAFA

12. AIDAROUS PLEVYAK, Salah, Thomas, Telecomunications Network Management into the 21st
century. New York: IEEE, 1994. 426p.

13. BARBA MARTI, Antoni, Gestin de red. Mxico: Alfaomega, 2001. 231p

14. TELEMANAGEMENT FORUM. Telecom Operations Map, NMF, GB910, Approved Version 2.1,
March 2000.

15. UNIVERSIDAD POLITCNICA DE MADRID, Direccin estratgica en tecnologas de la


informacin y las comunicaciones (TIC). Madrid: universidad Politcnica de Madrid, 2000.
135p.

6
ANEXO B: PETRLEO Y TURBINAS

Se presentan los siguientes temas:

1. PETRLEO
1.1 GENERALIDADES
1.2 EXTRACCIN DE PETRLEO EN BP EXPLORATION COMPANY COLOMBIA LTDA
2. TURBOCOMPRESORES
2.1 GENERALIDADES
2.2 SISTEMAS DE MONITOREO DE LOS TURBOCOMPRESORES
3. BIBLIOGRAFA

1. PETRLEO

1.1 GENERALIDADES

La exploracin petrolera consiste en ubicar los sitios del subsuelo donde pueda existir petrleo.
El proceso se inicia con un estudio geolgico y sismolgico del terreno seleccionado para
determinar el potencial petrolero de una zona determinada. Si existe suficiente informacin que
determine que el terreno tiene un yacimiento se procede a la perforacin.

Despus de finalizar la perforacin de un pozo se contina con la extraccin del gas, agua y
crudo que se encuentran a altas presiones, permitiendo que el petrleo fluya y salga a la
superficie; sin embargo esta presin disminuye a medida que el yacimiento se agota y resulta
necesario utilizar algunos mtodos de bombeo. BP Exploration Company Colombia Ltda utiliza el
mtodo de levantamiento por gas o inyeccin de gas que consiste en inyectar gas natural
comprimido al pozo de tal forma que con la presin que ste ejerce haga subir la columna de
crudo a la superficie. Para llevar a cabo este mtodo, 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.

1
1.2 EXTRACCIN DE PETRLEO EN BP
EXPLORATION COMPANY COLOMBIA LTDA

BP Exploration Company Colombia Ltda es una empresa petrolera dedicada a la exploracin y


extraccin de petrleo en Colombia. Actualmente tiene cuatro yacimientos en nuestro territorio,
Cusiana, Cupiagua, Florea 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 produccin total de crudo del pas.68

En los campos petroleros de Cusiana, el proceso de produccin de petrleo empieza extrayendo


del subsuelo la mezcla de crudo, agua y gas a la superficie y transportndola a la CPF (Central
Production Facilities), es decir a las plantas de tratamiento de Cusiana a travs de una lnea de
flujo. Estando all se realiza la separacin de productos, de forma que el agua es tratada e
inyectada al subsuelo, el crudo se transporta al puerto de Cobeas para ser vendido y el gas se
somete a un aumento de presin usando TURBOCOMPRESORES para ser inyectado a la
formacin de forma que ejerza presin en el pozo permitiendo fluir la mezcla de gas, agua y
crudo a la superficie.

En el proceso de inyeccin 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 produccin total.

68
Tomado de: BP EXPLORATION COMPANY, Pgina web oficial. En:
http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

2
Lnea de flujo
SEPARACIN

AGUA CRUDO
P P P
E E E
R R R
F F F
O O O
R R R
A A A Es tratada e inyectada al Se traslada a Cobeas
C C C subsuelo. para exportarlo
I I I
O O O
N N N
E E E
S S S
Se somete a altas presiones
para ser inyectado al subsuelo
GAS

500 PSI
GAS

CRUDO Turbina-Compresor Turbina-Compresor Turbina-Compresor

AGUA
1700 PSI

Turbina-Compresor Turbina-Compresor Turbina-Compresor

5000 PSI

Figura 9: Proceso de extraccin de petrleo 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 mquina de transformacin de energa, donde se utiliza la energa


cintica de algn fluido, en este caso gases de combustin, para la realizacin de trabajo
mecnico, es decir convierte energa qumica en potencia mecnica. Los elementos principales
de una turbina de gas de ciclo abierto son el compresor, la cmara de combustin y la turbina.
El ciclo que sigue la turbina a gas es el ciclo Joule o Brayton.

3
Figura 10: Ciclo de Joule o Brayton. a) Grfica de presin vs volumen; b) Ciclo de Brayton ilustrado con
diagrama de bloques.

En el punto 1 de la figura anterior, el aire tomado de la atmsfera es comprimido hasta 2 a


travs de las diferentes etapas del compresor axial. Luego el aire comprimido se introduce a
una cmara de combustin donde se le agrega una cierta cantidad de combustible y se quema.
Al producirse la combustin se realiza la transicin de 2 a 3. La temperatura en el punto 3 es
crtica puesto que corresponde a la mayor temperatura y presin del ciclo. A continuacin viene
la expansin de los gases usando las turbinas hasta llegar a la presin ambiente. Esta
expansin se puede dividir en dos fases. En la primera (de 3 a 3') el trabajo de expansin sirve
para accionar el compresor de entrada. En la segunda fase (de 3' a 4) el trabajo de expansin
se convierte en fuerza mecnica para impulsar la carga o compresor de salida. En el punto 4 los
gases de combustin se evacuan a la atmsfera. La evolucin 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 presin (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 presin (LP Low
pressure) que abarca desde la turbina hasta el compresor de gas, en la que el rotor mueve el
eje del compresor de inyeccin de gas (es decir el de salida). El propsito por el cual los dos

4
compresores no estn acoplados mecnicamente es permitirle a los dos ejes operar a diferentes
velocidades. Esta turbina est diseada para operar solo con gas combustible.

T
U
R
B
I
N
A

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 presin atmosfrica es aspirado por el compresor axial y conducido a las cmaras de
combustin (C.B) donde se le adiciona combustible a alta presin para que una buja 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 cundo la presin se comienza a incrementar el
rotor de la turbina de baja presin comienza a girar de forma que ambos ejes se aceleran hasta
la velocidad normal de operacin (5100 RPM69 para el eje de alta y 4670 RPM para el eje de
baja.)

La seccin del compresor axial consiste del rotor y el estator, el cual incluye 16 etapas de
compresin y cada etapa incrementa la presin una determinada cantidad. Los alabes del rotor
suministran la fuerza necesaria para comprimir el aire en cada etapa y los alabes del estator
guan 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 guas de entrada, que
regulan la cantidad de aire de entrada. El compresor axial tiene una capacidad 978000 Lb/Hora,

69
RPM: Revoluciones por minuto.

5
de los cuales el 20% es empleado para combustin y el restante 80% para los diferentes
circuitos de refrigeracin.

La seccin de combustin de la turbina de gas esta compuesta por 12 cmaras de


combustin externas, 12 quemadores y 2 bujas. El combustible es alimentado a cada una de
los quemadores y la combustin de la mezcla de gas y aire es encendida por las bujas. Solo
dos bujas son instaladas en dos cmaras de combustin, las cmaras restantes, que no tienen
bujas, son encendidas con la llama que proviene de las cmaras encendidas a travs de los
tubos cruza llama que son las que las interconectan.

Durante la secuencia de arranque, es esencial que la indicacin de presencia o ausencia de


llama sea transmitida al sistema de control. Por esta razn, un sistema de monitoreo de llama
es usado y se muestra en el panel de control Mark V.70

La seccin de turbina es donde los gases a alta temperatura y presin provenientes de la


seccin de combustin son convertidos en potencia mecnica, es decir la energa trmica es
convertida en energa mecnica. Una etapa de turbina est montada en el eje de alta presin y
la otra etapa est en el de baja presin para impulsar la carga. Aproximadamente el 60% de la
energa generada en la turbina se requiere para manejar el compresor axial y otro 35% est
disponible para la carga, como energa til. Los gases de combustin son descargados por el
exhosto.

2.2 SISTEMAS DE MONITOREO DE LOS


TURBOCOMPRESORES

Las turbinas y los compresores estn 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 caractersticas diferentes en estos equipos y reporta alarmas y
observaciones relacionadas con estos.

70
Para ms informacin sobre el Mark V, cuyo fabricante es General Electric, remtase a la seccin 2.2 de
este documento.
71
C.C.C: Centrifugal and Compressor Controller, cuyo fabricante es Compressor Control Corporation..

6
El sistema de control MARK V es el software encargado del monitoreo, control y proteccin 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 supervisin de la presin, 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, supervisin, control e
indicaciones del Mark V.

Turbina
Compresor

Mark V Bently Nevada C.C.C.


Sistema de
Control del
Mark V

DCS.

Figura 12: Diagrama de los sistemas de control de los turbocompresores

Todos estos sistemas de control (los cuatro anteriores) estn 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 estn llegando en formato de texto a un computador
ubicado en el Control Room73 de Cusiana.

3. BIBLIOGRAFA

1 BP EXPLORATION COMPANY, Pgina web oficial. En:


http://www.bp.com/sectiongenericarticle.do?categoryId=454&contentId=2000603#top

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

7
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 PRODUCCIN DE REGLAS
6 REPRESENTACIN DEL CONOCIMIENTO
7 CLIPS
8 BIBLIOGRAFA

1 GENERALIDADES

La Inteligencia Artificial (AI) es una ciencia nacida en los aos 60 que intenta que los
computadores simulen en cierta manera la inteligencia humana. Segn Shapiro se define AI
como un campo de la ciencia y de la ingeniera que se ocupa de la comprensin a travs de la
computadora de lo que comnmente llamamos comportamiento inteligente y de la creacin de
herramientas que exhiben tal comportamiento.74 Se acude a sus tcnicas cuando es necesario
incorporar en un sistema informtico, conocimiento o caractersticas propias del ser humano.

La inteligencia artificial se compone de varias tcnicas de estudio como sistemas expertos, vida
artificial, algoritmos genticos, computacin molecular o redes neuronales. En este caso, el
estudio se centrar en sistemas expertos (SE), los cuales son una aplicacin informtica que
simula el conocimiento de un experto humano, en un rea de especializacin dada. Debe ser
capaz de procesar y memorizar informacin, 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
informacin, interpretarla y proporcionar una recomendacin 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 clsico abarca conocimiento no escrito que debe obtenerse del especialista
a travs de entrevistas con el ingeniero del conocimiento, es decir quien desarrolla el sistema
experto. Al proceso de construir un sistema experto se le llama ingeniera del conocimiento y

74 Tomado de MORALES, Eduardo y SUCAR Enrique, Representacin de Conocimiento. En:


http://w3.mor.itesm.mx/~rdec/principal.html.

1
consiste en la adquisicin de conocimiento a partir de un especialista humano o de otra fuente
y su codificacin en el sistema experto.

2 VENTAJAS Y DESVENTAJAS

Algunas de las ventajas de utilizar sistemas expertos son:

Resuelve y decide los problemas ms rpidamente que un humano.

Se pueden utilizar personas no especializadas para resolver problemas. Los sistemas


expertos se pueden considerar como medio de ejecucin y transmisin del
conocimiento.

Proporciona soluciones ms confiables debido al tratamiento de los datos y experiencia


mltiple, 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 montonas, aburridas e incmodas para los humanos.

Puede explicar clara y detalladamente los pasos de su razonamiento para llegar a una
conclusin, tal como un especialista humano lo hara.

Predicen resultados futuros a partir del conocimiento que tienen.

Algunas limitaciones son:

La programacin es ms 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 informacin no estructurada, especialmente la


incompleta, inconsistente o errnea. Si un problema sobrepasa la competencia de un
sistema experto, sus prestaciones se degradan de forma notable.

Se pueden generar resultados errneos si existe desacuerdo entre los especialistas


humanos a la hora de tomar decisiones para la solucin de problemas.

2
3 DIFERENCIA ENTRE UN SISTEMA EXPERTO Y
UNO TRADICIONAL

Un aspecto fundamental de los sistemas expertos es que tienen una metodologa 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 solucin est dada por un algoritmo. La solucin depende de las reglas y la inferencia.
La salida no contiene errores. Puede contener errores a la salida, puesto que
esta vara con el problema
El sistema funciona solamente cuando est Puede funcionar con algunas reglas.
completo.
Una entrada inesperada es difcil o imposible de Tiene gran capacidad de respuesta para entradas
tratar. inesperadas.
Representa y usa datos Representa y usa conocimiento
Est controlado por el orden del programa, es Lo controla el mecanismo de inferencia, usa las
secuencial. reglas necesarias oportunamente.
No explica el procedimiento usado. Contiene un mdulo de explicacin.
El programa tiene un diseo estructurado. El diseo 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 adquisicin del conocimiento es una de las actividades ms 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 programacin.
Mexico : International Thomson Editores.

3
Usuario del
Sistema

Experto Ingeniero del


Humano conocimiento

Figura 13: Elementos principales para el desarrollo de un sistema experto.

La colaboracin de estos tres elementos es una de las partes ms importantes en el desarrollo


de un sistema experto, puesto que requiere dedicacin, 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.

Ing. del conocimiento

Motor de inferencia

Usuario del sistema


Experto humano

Mdulo de
adquisicin Interfaz de
del usuario
conocimiento Base de Base del Mdulo de
datos o conocimient explicacin
hechos. o (Reglas)

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
extrado de la persona experta en el dominio. El mtodo ms comn para representar el
conocimiento es mediante reglas de produccin, donde cada una consta de una parte
denominada condicin (IF) y otra parte denominada accin (THEN.) Los especialistas en el

4
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 carcter transitorio se almacenan en la
base de hechos.

Tambin contendr reglas de produccin 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 solucin. 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 creacin
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 atrs) el sistema comienza a deducir el objetivo a partir de
los datos, es decir se prueba una hiptesis partiendo de los hechos contenidos en la base de
datos.

El mecanismo o motor de inferencia tiene las siguientes funciones y caractersticas:

Controlar la ejecucin de las reglas.

Realizar el proceso de inferencia visto como un espacio de bsqueda 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 coleccin de las reglas activadas, las cuales
tendrn prioridades asignadas para que se disparen de acuerdo a su prioridad.

Permitir que el usuario suministre la informacin requerida por medio de la interfaz


grfica 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

5
inferencia se dar cuenta de que ste satisface la condicin de la regla y la pondr en su
Agenda, teniendo presente que si una regla tiene varias condiciones todos ellas deben
satisfacerse de manera simultnea 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 tambin se dejarn en la Agenda a menos que hayan sido desactivadas
porque sus condiciones no se hayan satisfecho; as el nmero de activaciones en la Agenda
variar mientras procede la ejecucin. El mecanismo de inferencia ejecuta las acciones con
mayor prioridad de activacin en la Agenda, luego, la siguiente en grado de prioridad y as
sucesivamente hasta que no quede ninguna activacin de alguna regla.

El mdulo de adquisicin del conocimiento permite aadir, eliminar o modificar elementos de


conocimiento (en la mayora 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 va para que el usuario pueda introducir
conocimiento al sistema sin tener al ingeniero del conocimiento para que lo incorpore
explcitamente l.

El mdulo de explicacin aclara al usuario el razonamiento seguido en el proceso de


inferencia, de forma que si se quiere saber cmo se ha llegado a una conclusin, este mdulo
le presenta la secuencia completa de reglas usada.

La interfaz con el usuario Es el mecanismo que permite la comunicacin entre el usuario y el


sistema experto proporcionando intercambio de informacin entre ambas partes.

5 SISTEMAS DE PRODUCCIN DE REGLAS

Los sistemas expertos basados en reglas son los que se desarrollan comnmente 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 programacin es que el

76
Este procedimiento se denomina Algoritmo de Rete.

6
programador por medio de diferentes reglas o pequeas conclusiones que enuncia
explcitamente pueda lograr que el sistema infiera un resultado.

6 REPRESENTACIN 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
representacin se mide el desarrollo, eficiencia, velocidad y mantenimiento de un sistema
experto.

Para el desarrollo del SISTEMA EXPERTO EoS, se utiliz el mtodo de rboles de Conocimiento,
los cuales son estructuras jerrquicas de datos conformadas por nodos que almacenan
conocimiento y ramas que conectan de manera lgica los nodos. Al nodo con mayor jerarqua
se le denomina nodo raz, y a los de menor jerarqua se les llama hojas.

Nodo raz

Rama

Nodo Nodo Nodo

Hoja Hoja Nodo Hoja Hoja Hoja

Hoja Hoja Hoja

Figura 15: Estructura de un rbol de conocimiento.

De esta forma un rbol es un esquema de representacin del conocimiento y un mtodo 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.

7
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 propsitos especiales llamadas Shells, los cuales fueron
diseadas para construir sistemas expertos con cierto tipo de aplicaciones en las que el usuario
slo debe proporcionar la Base de Conocimiento.77

CLIPS78 es un shell para el desarrollo de sistemas expertos, puesto que soporta la programacin
basada en reglas y orientada a objetos o por procedimientos; sin embargo el enfoque est en la
programacin orientada en reglas. Se dise utilizando el lenguaje de programacin C en el
centro espacial Johnson de la NASA, con el propsito especfico de proporcionar una gran
capacidad de transporte, bajo costo y fcil integracin.

Los componentes principales de CLIPS son los elementos bsicos 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 ejecucin 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 ejecucin a travs del motor de
inferencia79, el cual decide cules y cuando de ejecutan las reglas.

Los manuales Gua del usuario, Gua bsica de programacin, Gua avanzada de
programacin, y Gua de Interfases, que hacen parte de la documentacin de CLIPS y se
incluyen en la documentacin del SISTEMA EXPERTO EoS, contienen las especificaciones,
caractersticas, comandos, procedimientos y funciones de CLIPS. El Manual Tcnico de
Usuario proporciona una cobertura detallada de algunas funciones y caractersticas de CLIPS.

77
Base del Conocimiento: Remtase a la seccin 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.

8
8 BIBLIOGRAFA

1 GIARRATANO, Joseph y RILEY, Gary. Sistemas Expertos, Principios y programacin. Mexico:


International Thomson Editores, 2001. 596p.

2 Inteligencia Artificial. En: http://ciberconta.unizar.es/LECCION/IA/INICIO.HTML.

3 MORALES, Eduardo y SUCAR Enrique, Representacin 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 Aplicacin. En:


http://www.geocities.com/SiliconValley/Way/7788/SISEXP.HTM#refs

9
ANEXO D: RBOLES DE CONOCIMIENTO

A continuacin 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 representacin grfica.

NOMBRE DEL RBOL DE CONOCIMIENTO ALARMAS RELACIONADAS

M12-L45FTT_ALM

M13-L45FTT_ALM

M14-L45FTT_ALM

Deteccin de fuego
M15-L45FTT_ALM

M16-L45FTT_ALM

M17-L45FTT_ALM

Bleed Valve M12-L86CBT_ALM

M13-L86CBT_ALM

M14-L86CBT_ALM

M15-L86CBT_ALM

1
M16-L86CBT_ALM

M17-L86CBT_ALM

M12-LCLFEN_ALM

M13-LCLFEN_ALM

M14-LCLFEN_ALM

Clutch
M15-LCLFEN_ALM

M16-LCLFEN_ALM

M17-LCLFEN_ALM

M12-L3NZFLT

M13-L3NZFLT

M14-L3NZFLT

IGV o Nozzles
M15-L3NZFLT

M16-L3NZFLT

M17-L3NZFLT

2
Transmisores 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

3
M16-TT2902

M17-PT3004

M17-PT3007

M17-TT3002

M12-L39VCT_ALM

M13-L39VCT_ALM

M14-L39VCT_ALM

Vibracin
M15-L39VCT_ALM

M16-L39VCT_ALM

M17-L39VCT_ALM

4
DETECCIN DE FUEGO
Alarma: M12-L45FTT_ALM M13-L45FTT_ALM M14-L45FTT_ALM M15-L45FTT_ALM
M16-L45FTT_ALM M17-L45FTT_ALM Deteccion de la alarma:
ALARMA M12-L45CP_ALM? SI Presencia de CO2

En cual modulo detonador esta


Fuego por fuga prendido el LED?
de aceite por
acople Zona 2-B Zona 2-A
R/Normalizar Zona 1-B Zona 1-A
reset de la zona Inspeccion visual de evidencias de Fuego por fuga Push Botton activo
Inspeccion visual del
SI

Fuego por fuga


rastros de aceite .Verificar si la de aceite por
de aceite en Push-Botton Esta activo ? SI R/Normalizar la
alarma fue real.Hay rastros de Inspeccion visual de evidencias compartimento Inspeccion visual de evidencias zona
accesorios
aceite que indiquen que la alarma de rastros de aceite .Verificar si turbina de rastros de aceite .Verificar si

NO
R/Normalizar
fue real ? la alarma fue real. Hay rastros R/Normalizar la alarma fue real.Hay rastros

SI

SI
Desconectar resistencia de Falla en el

NO
reset de la zona
de aceite que indiquen que la reset de la zona de aceite que indiquen que la fin de linea. Megguear en cableado
alarma fue real ? alarma fue real ?

NO

NO
Aterrizamiento Desconectar resistencia de IJB-9 Bornera 7-8 hacia SI R/Reemplazar
del cable fin de linea. Megguear en acople.Hacia tierra. La tramo de cable
Falla en cableado
Desconectar resistencia de Aterrizamiento Desconectar resistencia de resistencia es infinita ? pelado
R/Reemplazar NO IJB-3 Bornera 11-12 hacia detectores 600

NO
tramo de cable acople. Hacia tierra. La fin de linea. Megguear en del cable fin de linea. Megguear en
grados
pelado resistencia es infinita ? IJB-2 Bornera 1-2 hacia NO R/Reemplazar
R/Reemplazar NO IJB-3 Bornera 7-8 hacia Push Botton en
SI acople, hacia tierra. La tramo de cable
tramo de cable
tierra. La resistencia es Hay corto entre los cables? SI mal estado
resistencia es infinita ? pelado infinita ?
pelado

SI
SI
Hay corto entre los cables?
Hay corto entre los cables?

NO
Hay corto entre los cables? Desconectar cables a Posible falla en el
Cable en mal Cable en mal Cable en mal
meguear. Meguear en modulo
estado estado estado
R/Reemplazar SI SI R/Reemplazar R/Reemplazar SI XXXXX hacia el sistema Fire NO R/Evalue el

SI
SI & Gas Detronix El cable cambio del
SI

los cables los cables los cables Desconectar detector


Desconectar detector Desconectar detector se encuentra abierto ? modulo
(sensor) de 600 grados.
(sensor). Continua corto (sensor). Continua corto
Continua corto entre los
entre los cables ? entre los cables ? Falla en Falla en SI Presencia de alarmas
cables ?
Falla en detectores de detectores de
NO NO secundarias Cuales se
detectores de incremento incremento NO
NO

detectaron?
incremento SI SI termico 600

NO
Meguear el detector Meguear el detector termico
Meguear detectores

SI
termico (sensor). Los sensores (sensor). Los sensores R/Reemplazar grados
R/Reemplazar R/Reemplazar (sensores) de 600 grados.
estan en corto ? estan en corto ? los dos (2)
los dos (2) los dos (2) Los sensores estan en
sensores de
sensores de sensores de corto ?
incremento
incremento incremento
Desconectar cables a Desconectar cables a ALARMA
termico
meguear. Meguear en meguear. Meguear en Desconectar resistencia de M11-L26BA1H
XXXXX hacia el sistema Fire XXXXX hacia el sistema Fire Posible falla en el fin de linea. Megguear en
& Gas Detronix El cable & Gas Detronix El cable modulo Falla en cableado IJB-3 Bornera 3-4 hacia

NO
Posible falla en el se encuentra abierto ? se encuentra abierto ? R/Evalue el detectores 450 tierra. La resistencia es
modulo cambio del grados infinita ? Bajo nivel de overhead tank.
NO modulo R/Reemplazar Fuga por gas en tanque de aceite
R/Evalue el NO

SI
cambio del SI Presencia de alarmas tramo de cable
modulo secundarias Cuales se pelado
detectaron? Hay corto entre los cables?
ALARMA Bajo nivel de overhead tank.
Desconectar detectores M11-L45HTA Fuga por gas en tanque de aceite
Cable en mal estado (sensores) de 450 grados.
ALARMA ALARMA R/Reemplazar los cables SI Continua corto entre los SI
M11-L71PSAL M11-L45HTA cables ? ALARMA Bajo nivel de overhead tank.
M11-L71PSAL Fuga por gas en tanque de aceite
NO
Falla en detectores de incremento Meguear detectores
Bajo nivel de overhead tank. termico 450 grados (sensores) de 450 grados.
Fuga por gas en tanque de aceite Gas presente R/Reemplazar los dos (2) SI Los sensores estan en
Fuego por fuga de gas sensores de incremento termico corto ? NO
Desconectar cables a
Posible falla en el
meguear. Meguear en XXXXX
modulo
NO

hacia el sistema Fire & Gas


R/Evalue el cambio
Detronix El cable se
del modulo
encuentra abierto ?

5
BLEED VALVE
Alarma: M12-L86CBT_ALM M13-L86CBT_ALM M14-L86CBT_ALM
M15-L86CBT_ALM M16-L86CBT_ALM M17-L86CBT_ALM

Forzar en Mark V y espera


L33CB20 o L33CB10.
La electrovalvula actua?

NO
Electrovalvula NO actua

Verificar que el embolo Desconectar los cables de Forzar en Mark V las Verificar actuaciOn de la
como tal no toca el limit los terminales y medir en seales L20CB1X. Verificar solenoide desconectando El fusible presenta
switch. El embolo toca el los cables de campo. el voltaje en los terminales tubing hacia la Bleed Valve. problemas?
limit switch? Tienen 200 ohmios ? TB10 22-23.P Hay voltaje? Esta pegada la
electrovalvula?
SI

SI
NO

SI
SI

SI

Pruebas de
Problemas de la La electrovalvula esta
arranque. Falla de
Bobina abierta salida del Mark V pegada. Plan de
Falla en el switch alimentacin por
R/Cambiar la bobina R/Cambiar canal de mantenimiento
fusible
salida inadecuado
R/Reemplazar
fusible por uno
NO adecuado sino tenia
NO NO el del diseo
NO

Actuador atascado
R/Verificar estado de la
empaquetadura

6
CLUTCH
Alarma LCLFDEN_ALM

Mark V no coloca voltaje Medir voltaje en L20CS1X en TB2


Medir solenoide abriendo los
Solenoide abierta 14,15. El voltaje es menor de 24
cables en marshalling
R/Reemplazar la SI TB10(10,11). Es Forzar seal L20CS1X y medir voltaje en borbonera voltios ?
solenoide
aproximadamente 200 ohmios ? de la solenoide Llegan a 24 VDC ?
Buscar el rung correspondiente a la logica de
L20CS1X y verificar. Falta un permisivo?

SI
Cableado Abierto
Verificar borneras en JB2 1,2. Lazo del solenoide del
SI NO

SI
R/Cambiar borneras o
Cableado abierto ? clutch abierto Falla en salida de la tarjeta
cables a spare
TCDA
Condiciones en la logica R/Cambiar tarjeta TCDA
incompletas

NO
R/Corrija el permisivo faltante
Medir resistencia fusible. El fusible

NO
esta abierto?

SI
SI

Mecanismo atascado
Megguear cableado entre
solenoide y MP. Baja
resistencia a tierra ?
Inspeccion visual. Verificar
Forzar L20CS1X. Verificar
SI

Inspeccion visual. Hay dezplazamiento suave usando accesorio


calibracion. Hay
deformacion de vastago de gatos mecanico. Encuentra desgaste en
desplazamiento de balinera de
hidraulicos ? estrias en eje de convertidor de torque o
mordaza de convertidor ?
Cable aterrizado en mordazas ?

SI

SI
NO

NO
Golpe o Maltrato.

SI
Tiempo de servicio.
Deformacion de vastago de
Dezplazamiento de balinera
gatos hidraulicos
de mordaza convertidor

NO
R/Cambiar cilindro afectado
R/Calibrar clutch de Desgaste en estrias en eje
Fallas en la bomba o acuerdo a especificacion
En manometro presion menor de de convertidor de torque o
fallas en la regulacion SI 1200 psi? SOM02882 en mordazas
de presion
R/Cambio de mordaza

Sistema hidrulico no eleva la


presin o no le llega al clutch
Taponamiento en
circuito hidraulico. Colocar manometro a la entrada de
Residuos de orings o los cilindros. Verificar presion. La
empaquetaduras SI presion es mucho menor de 1200 psi
R/Cambio de valvula a la entrada de los cilindros?
solenoide

Mecanismo de la SI Medir presion en gatos


electrovalvula atascado hidraulicos. Medida correcta?

7
IGV o NOZZLES
Alarma: M12-L3NZFLT M13-L3NZFLT M14-L3NZFLT M15-L3NZFLT
M16-L3NZFLT M17-L3NZFLT

Simular la seal en el servo Al hacer las simulaciones el


correspondiente desde ACALIB. servo se mueve, pero la
El mecanismo se mueve ? realimentacion permanece igual ?

NO

SI
Mecanismo no se mueve Realimentacion de LVDT no
corresponde con posicion fisica
del mecanismo

Posible taponamiento en filtros


hidraulicos.Taponamiento en Intenta moverse Simular la seal en el servo
correspondiente desde ACALIB.
internos del servo por suciedad o Como observa movimiento del
en el aceite
R/Reemplazar el servo
Movimiento abrupto servo ? Compare la lectura contra
Descalibracion
indicacion mecanica de la
posicion. El error es maximo 2 NO R/Realizar el procedimiento
Posible taponamiento en el de calibracion de LVDT
grados ?
servo. Taponamiento en
internos del servo por suciedad No se mueve
en el aceite
es tado

R/Reemplazar el servo
otro

Desacoplar la LVDT y verificar


Falla del nucleo movil del
que el vastago se mueva
Falla en las bobinas del libremente. La varilla del SI LVDT
Simular la seal en el servo correspondiente desde R/Reemplazar la LVDT
servo nucleo esta doblada ?
R/Cambiar el servo en caso NO ACALIB. Observa un cambio en el sentido de la
de encontrar bobinas corriente de las tres selenoides ?
abiertas Sulfatacion o borboneras
Inspeccion en Junction Box 4.
flojas
SI

Se encuentra sulfatacion o SI R/Reapretar o cambiar


borboneras flojas ?
Falla bomba principal o borboneras si estan daadas
La presion en el manometro es
valvula de alivio NO aproximadamente 1000 psi ?
R/ Check list de stat-up
SI

Barreras de seguridad
Medir el voltaje antes y despues
intrinseca defectuosa
Mark V no coloca voltaje de la barrera. Se tumba
El voltaje en los terminales es aproximadamente la mitad del NO R/Reemplazar barrera si
R/Verificar activacion de los SI cero (0V) ? esta defectuosa. Por
reles de suicidio voltaje ?
condicion
NO

Perdida de presion

8
TRANSMISORES
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

Verificar la tendencia de la seal en el IMS del


Incremento del proceso NO Falla en el sistema operativo
instrumento evaluando discrepancia. El incremento
real y NO simultaneo en los NO del proceso fue real y simultaneo en los dos SI R/Corregir sistema operativo o
dos transmisores de ajuste del proceso
transmisores ?
Medir fusible en Fusible abierto por rating
salida del inadecuado
Medir voltaje en
Graficar en estacion de operacion la La lectura del transmisor que causo el trip bornera de salida en
No llega marshalling
SI R/Realizar cambio de fusible
variable Encuentra seal inestable ? esta en cero (0v) ? SI marshalling. La NO voltaje al panel. El segun planos as built
transmisor fusible se
medida es 24V ? NO
Cableado de control encuentra

NO
junto de potencia SI abierto?

SI
R/Independizar los
circuitos de control con Seal inestable Simular presion y verificar Cableado de borneras
Llega Revise bornera.
los de potencia. En calibracion. Esta calibrado ? desajustado
voltaje al El cableado esta SI R/Ajustar cableado de

NO
caso de no ser posible

SI
transmisor desajustado ?
SI

utilizar cable borneras


Inspeccionar nuevos
apantallado para el TX Calibrado Medir voltaje de
cableados. Se han Realizar la calibracion
La indicacion se Sacar el Desajuste del retorno entre o.25 y
hecho nuevos adecuada. Despues de llevar
arreglo?
cableados que no acabo la calibracion , continua SI instrumento de conversor 1.25 VDC, y entre
cumplan con la descalibrado ? servicio.Verificar analogo-digital. 1 y 5 VDC La
La valvula de venteo

SI
salida de 4mA.
norma ? esta cerrada ? NO Valvula abierta Piernas muertas indicacion se

NO
La salida es por la condicin corrigio ?
diferente de 4mA ? de montaje del
SI Valvula cerrada Revisar historia de mantenimiento del instrumento de

NO
Mirar historicos instrumento.Ultima calibracion no debe servicio.
Inestabilidad Verificar que no haya R/Realizar un
para inspeccion de
NO

en el proceso fugas por racores, ser superior a un (1) ao. La ultima


la estabilidad del Fuga por racores ZERO TRIM al
calibracion es superior a un (1) ao ?
NO

R/ Evaluar tubing, o conectores. R/Asegurar una buena Rama


solucion SI proceso. Se
Hay fugas por
TX
Comun
SI
conexion y apriete de
presenta NO R/Realizar

NO
La indicacion racores,tubing y/o los racores Tiempo de servicio NO superior

NO
inestabilidad en el cambio de la
se arreglo? conectores ? Fuga por tubing al MTBF unidad
proceso ?

SI
debidas a vibracion R/Reportar al sistema de gestion secundaria
NO

R/ Colocar anclajes al de mantenimiento electronica en


tubing caso de no recibir
Rama NO Despues de haber Tiempo de servicio superior el ajuste de cero
Comun realizado las al MTBF
acciones debidas R/Cambiar el instrumento
NO responder La Despues de haber realizado
Problemas en los dispositivos
Instalar un medidor indicacion se las acciones debidas
electronicos
druck y comparar arreglo ? responder: La indicacin
NO R/Reemplazar unidad electronica
Rama lectura con se arreglo ?
Comun transmisor. Es
NO

NO
igual a la toma de Obstruccion de la toma de proceso
.Problema de la valvula de corte. Rama
proceso ? Comun NO
Taponamiento por residuos en tubing o
toma de proceso R/Realizar limpieza Realizar diagnostico utilizando el
SI del tubing y toma del instrumento handheld HART segun manual del
Hacer simulacion 4-20 mA en Posible conversor analogo-digital en
NO mal estado (DCS)
equipo. Evaluar y ejecutar la
campo. Revisar borneras y solucion del problema segun
cableado. Medir continuidad del R/Evaluar reemplazo de tarjeta

NO
Cableado abierto R/ Reemplazar cable por spare manual referente. Se corrigio la
cable. Es menor a 50 omhios? indicacion ?
SI

NO Revisar tarjeta de PLC simulando Despues de realizar las acciones


Realizar meggueo del cable. La impedancia Despues de haber realizado las corriente (i) al DCS a la tarjeta. corespondientes: La indicacion NO
debe ser mayor a 10 Momhios . Medir Cable aterrizado acciones debidas responder La La simulacion es correcta ? se corrigio ?
impedancia con respecto a tierra. El valor indicacion se arreglo ?
medido es infinito ? SI
SI
SI NO
Borneras de IJB en mal estado por humedad
Inspeccin visual borneras IJB. R/Realizar cambio de borneras. Asegurar que
Borneras en IJB en mal estado por las borneras no esten en contacto con el riel
humedad ?

NO

9
VIBRACIN
Alarma: M12-L39VCT_ALM M13-L39VCT_ALM M14-L39VCT_ALM M15-L39VCT_ALM
M16-L39VCT_ALM M17-L39VCT_ALM

Como esta el estado de Leds de


Led Frontal en System Monitor
Dual Vibration Monitor: LED OK y Indicacin erratica en el display ?
Apagado ?
LED BYPASS ? (Ruido)
Leds : Leds diferente de :

SI
LED OK Apagado LED OK Apagado

SI
Falla en fuente o LED BYPASS encendido LED BYPASS encendido
System Monitor
El LED OK esta:___________? Ruido en la seal
Los siete (7) leds El LED BYPASS esta:_________?
internos de System Desconectar el
Monitor estan conector miniatura
Falla interna en APAGADOS ? del cable coaxial LED OK apagado Falla interna irrecuperable Cables sueltos
System Monitor carga del cable de LED BYPASS apagado R/Reemplazar el modulo R/Reapretar
breaker.
SI

Estan las borneras de las borboneras


R/Retirar todas las
extension del
lazo bien apretadas y no NO en todo el lazo
proximitor. LED OK apagado
tarjetas del rack. Falla alimentacin de Asegurar que los sulfatadas ?
LED BYPASS encendido
Reemplazar el fusible 110VAC conectores se
y empezar a insertar encuentren en Cables con
SI

tarjetas hasta que se buen estado y Falla en fuente de monitor o aterrizamiento


identifique la que falla limpios. Con un modulo de rele de la Inspeccion visual de inadecuado. Las
Desconectar cables del sensor
Fusible abierto y 110 entrada. pantallas de cableado. pantallas expuestas en
VAC presentes DC ?
multimetro medir en falla y medir voltaje. Es SI R/Reemplazar el modulo. Estan aisladas en lado NO lado proximitor
la resistencia entre menor a 23 voltios?
los conductores Si continua bajo reemplazar campo? R/Aislar las pantallas
externos e internos el modulo rele que esten expuestas y
del conjunto probe Desconectar el cable en los aterrizandose en campo
Falla externa dos extremos (lado Cableado aterrizado
y cable de Inspeccion de juntas de
en 110VAC proximitor y lado monitor) SI R/Reemplazar el cable por
Hay voltaje en breaker extension teniendo exhosto. Le pegan
R/Verificar NO de alimentacin ? en cuenta que el Aplicar megger. La medida un spare gases calientes a las
estado de la es menor a 100K ? Alta temperatura en
valor de la junction box?
UPS proximitor. Gases

SI
resistencia Medir voltaje en Proximitor. calientes le pegan a las
depende del tipo de Proximitor aterrizado.
Verificar modulo y cableado. NO R/Reemplazar el proximitor
junction box
sonda y la longitud Mide 24VDC ? R/Corregir las fugas de
del cable de gases calientes por la
ALGUN Led interno en extension. La junta del exhosto
resistencia esta Falla interna.
System Monitor esta LED OK titila Verificar codigo de barra haciendo
apagado ? entre 7 y 11
ohmios ? LED BYPASS apagado corto entre ST.
Codigo en barra =___________?
SI
NO

Corto en modulos Dual


Vibration Monitor cargan al
Falla en la ROM
System Monitor Codigo en barra = 2
R/ Reemplace el modulo
Posible falla en
proximitor
Falla en la EEPROM
R/.Realizar Codigo en barra = 3
Retire todas las tarjetas R/Reemplazar el modulo
pruebas de
Modulo en falla (excepto fuente y System laboratorio con
R/Reemplazar el Monitor). Insertar una a una el equipo
mdulo que carga SI y determinar estado de los 7.5V nodo fuera de rango
especializado Codigo en barra = 5
la fuente leds. Se encuentra algun R/Reemplazar el modulo
led apagado ?
MVREF nodo fuera de
Falla en cable Codigo en barra = 8 rango
proximitor R/ Reemplazar el modulo
Retire todas las R/Reemplazar
Fuente del el cable coaxial
tarjetas (excepto fuente
rack en falla
R/Cambiar la SI y system monitor). (sensor-proxi
Persiste led mitor)
fuente
apagado?

10
ANEXO E: LICENCIA DE FUNCIONAMIENTO DE CLIPS

A continuacin se presenta la informacin referente a la licencia, e informacin de CLIPS, que


se encuentra en la pgina 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

1
CLIPS User Registration

Please take a few minutes to register CLIPS by sending email to clipsYYYY@ghg.net


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

2
ANEXO F: CARTAS ADJUNTAS

A continuacin 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 aprobacin del SISTEMA EXPERTO EoS, en cuanto


que cumpla con los propsitos trazados desde el inicio del proyecto.

1
Bogot, Agosto 29 de 2004.

Ingeniero,
RUBN 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:
Gestin de fallas con diagnstico experto para turbocompresores utilizados en la
extraccin de petrleo, el cual se desarrolla en conjunto con BP Exploration
Company Colombia Ltda. y Equipo de Servicios Petroleros Ltda.

A partir de la fecha de instalacin, el SISTEMA EXPERTO EoS permanecer en


periodo de prueba durante 1 (uno) mes.

Cordialmente,

GINA PAOLA PULIDO URIZA


C.C. 52809846 de Bogot
Estudiante Ingeniera Electrnica.

VIVIANA ESPINOSA ROJAS


C.C. 52805772 de Bogot
Estudiante de Ingeniera Electrnica.

2
Bogot, Octubre 3 de 2004.

Seoritas,
VIVIANA ESPINOSA R
GINA P PULIDO U
Pontificia Universidad Javeriana
E. S. M.

Respetadas seoritas,

Como Ingeniero de Control de Cusiana, y persona a cargo del desarrollo y supervisin


del SISTEMA EXPERTO EoS en la planta, manifiesto mi aceptacin 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 diseado.

Cordialmente,

RUBN DARO SOLER


Ingeniero de Control.
Equipo de Servicios Petroleros Ltda.
Telfono: (1) 6284700 Ext 6383.
CPF Cusiana, Casanare.

3
ANEXO G: REPORTES EoS

A continuacin 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 Anlisis de Eventos: Se utiliz como Archivo de entrada un archivo de


texto con las caractersticas requeridas y se realiz el anlisis 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 reciba 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 realizacin.

9 REPORTE EoS: MODO ANLISIS 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)

1
(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

2
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

3
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

4
MANUAL DE USUARIO: Sistema Experto EoS

Esta gua 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 informacin, opciones y facilidades que brinda el sistema. Este manual hace
referencia detallada de la funcin y operacin de cada una de las partes que componen el
SISTEMA EXPERTO EoS.
TABLA DE CONTENIDO

TAB L A DE CONTENIDO .......................................................................................1


LISTA DE FIGURAS ..............................................................................................2
INTR ODUC C IN ....................................................................................................4
1. FU N C IO N AM IE N T O GE N E R AL D E L S I ST E M A E X PER TO E o S ................5
1.1 SISTEMA DE CAPTURA Y FILTRAJE ...............................................................5
1.2 SISTEMA EXPERTO EoS .................................................................................6
2. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS ................................................8
3. INSTALACIN Y EJECUCIN 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. INFORMACIN 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 ANLISIS 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 DINMICA DEL SISTEMA EXPERTO EoS..........................................38
18. GLOSARIO ..................................................................................................39

1
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, descripcin 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: Ubicacin de la carpeta EJERVG en C\ ............................................................9
Figura 5: Pantalla de instalacin de Framework.exe. .....................................................10
Figura 6: Archivo de texto DataPathAlarms, ubicado en C:, el cual contiene la ruta de
acceso donde se crearn 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 cdigo para activar el programa CLIPS............................................11
Figura 10: Pantalla con cdigo 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: Indicacin del estado de CLIPS.....................................................................14
Figura 15: Mensaje de error que indica al usuario que los componentes del SISTEMA
EXPERTO EoS NO estn trabajando correctamente......................................................14
Figura 16: Seal en la ventana principal del SISTEMA EXPERTO EoS, que indica
cuando se est ejecutando un proceso.............................................................................15
Figura 17: Informacin de la alarma de disparo. Se muestra cuando el sistema inicia un
proceso. ...........................................................................................................................16
Figura 18: Informacin cuando no hay Alarmas de Disparo en el Archivo de Entrada. 16
Figura 19: Presentacin de las preguntas que formula el SISTEMA EXPERTO EoS al
usuario. ............................................................................................................................17
Figura 20: Seal 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 accin
requerida por el usuario...................................................................................................18
Figura 22: Historial de preguntas y respuestas que se crea a medida que transcurre el
proceso. ...........................................................................................................................19
Figura 23: Presentacin de CAUSAS EoS .....................................................................20
Figura 24: Presentacin de RECOMENDACIONES EoS. ............................................21
Figura 25: Presentacin 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 botn FINALIZAR se muestra intermitente despus de haberse concluido
el proceso. Permite al usuario ingresar la informacin de nombre y observaciones
adicionales.......................................................................................................................24
Figura 29: Para analizar eventos de manera manual.......................................................25

2
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 anlisis.
.........................................................................................................................................26
Figura 32: Botn de Reportes. ........................................................................................27
Figura 33: Botn detener.................................................................................................30
Figura 34: Detener el proceso utilizando el men Archivo. ...........................................30
Figura 35: Botn Guardar. ..............................................................................................31
Figura 36: Guardar la informacin 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
informacin referente al proceso.....................................................................................31
Figura 38: Botn Borrar ..................................................................................................32
Figura 39: Borrar la informacin relacionada con el el proceso utilizando el men
Archivo............................................................................................................................32
Figura 40: Botn 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: Botn Ocultar EoS.........................................................................................33
Figura 44: Ocultar la ventana principal del SISTEMA EXPERTO EoS utilizando el
men Archivo..................................................................................................................34
Figura 45: Submens del men preferencias. .................................................................35
Figura 46: Ventana que permite cambiar el tipo, tamao y estilo de letra de los
diferentes cuadros de texto..............................................................................................35
Figura 47: Presentacin de una ventana despus 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: Presentacin de una ventana despus de haber personalizado el Color de la
Fuente..............................................................................................................................36
Figura 50: Presentacin de una ventana despus de haber personalizado el Color de
Fondo. .............................................................................................................................37
Figura 51: Submens del men Ayuda. ..........................................................................37
Figura 52: Modo para acceder a este MANUAL DE USUARIO en formato digital. ....37
Figura 53: Informacin de ayuda para el usuario, en la que se indica la funcin de cada
control. (En este caso se muestra la funcin de la ventana inferior derecha que revela el
estado de CLIPS.) ...........................................................................................................38

3
INTRODUCCIN

Bienvenidos al SISTEMA EXPERTO EoS, un programa fcil 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 gua 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
informacin, opciones y facilidades que brinda el sistema.

Este manual hace referencia detallada de la funcin y operacin de cada una de las partes que
componen el SISTEMA EXPERTO EoS. Es adecuado familiarizarse previamente con la operacin
del programa, para conocer y manejar de forma apropiada las opciones que tiene y la
informacin que genera.

Acerca de

El desarrollo del SISTEMA EXPERTO EoS, se realiz como tesis de grado titulada Gestin de
fallas con diagnstico experto para turbocompresores utilizados en la extraccin de
petrleo, por las Ingenieras Electrnicas Viviana Espinosa Rojas y Gina Paola Pulido Uriza, de
la Pontificia Universidad Javeriana, bajo la direccin del Ingeniero Adolfo Len Recio y la
asesora del Ingeniero Jose Fernando Vega y el Ingeniero Alejandro Forero Guzmn. Se
desarroll en las empresas BP Exploration Company Colombia Ltda Y Equipo De Servicios
Petroleros Ltda bajo el conocimiento, asesora y requerimientos del Ingeniero Carlos Olarte,
Superintendente (R) de operaciones de Cusiana de BP Exploration Company Colombia Ltda. y
el Ingeniero Rubn Soler, seccin de Control en Cusiana de Equipo de Servicios Petroleros
Ltda. Su instalacin se realiz en BP Exploration Company Colombia Ltda en Cusiana, Casanare
en octubre de 2004.

Para conocer la estructura de programacin, modo de alimentar el sistema experto y aspectos


ms especficos del funcionamiento del SISTEMA EXPERTO EoS remtase al Manual Tcnico De
Usuario. El cdigo fuente del programa se encuentra en el archivo Cdigo de programacin del
SISTEMA EXPERTO EoS.

80
CPF de Cusiana: Central Production Facilities. Planta de extraccin de petrleo ubicada en Cusiana,
Casanare.

4
FUNCIONAMIENTO GENERAL DEL SISTEMA EXPERTO
EoS

El SISTEMA EXPERTO EoS interacta 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 extraccin de petrleo 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, descripcin 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 informacin 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 informacin 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.

5
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, tambin analiza las alarmas que
se encuentran en el Archivo de Entrada del sistema, que no son Alarmas de Disparo83 pero
estn 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. (Seccin 0 de este manual.)

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS. (Seccin 0


de este manual.)

Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las dems
salidas: Proceso EoS. (Seccin 0 de este manual.)

82
El archivo al que se refiere la Figura 17.
83
Alarma de Disparo: Remtase a la seccin 0. de este Manual.

6
Archivo de Entrada:
Causas
SISTEMA
Archivo de texto que
genera el Sistema de EXPERTO EoS Recomendacio
Captura y Filtraje. Proceso

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

La informacin adicional que el SISTEMA EXPERTO EoS presenta al usuario, como parte del
anlisis que realiza es:

Informacin referente a la Alarma de Disparo: Informacin de la alarma de


disparo. (Seccin 0 de este manual.)

Historial de preguntas realizadas por el SISTEMA EXPERTO EoS y respuestas dadas por
el usuario: Historial de preguntas y respuestas. (Seccin 0 de este manual.)

Reporte con la informacin de entrada, salida y adicional. Este reporte se genera en


formato de texto (*.Txt) al terminar el proceso: Reporte EoS. (Seccin 0 de este
manual.)

7
REQUERIMIENTOS DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS est soportado bajo ambiente Windows, por lo tanto para su
correcta ejecucin se necesita un computador personal con las siguientes caractersticas:

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
simultneamente con el Sistema de Captura y Filtraje y con CLIPS.

Para una correcta visualizacin, se debe usar una resolucin de pantalla de 768 pxeles mximo.

Tenga presente que:

En algunos casos el SISTEMA EXPERTO EoS no presenta al usuario las palabras con
tildes, para evitar errores de caligrafa.

Algunas palabras que contienen la letra , se presentarn con la letra n.

84
CLIPS: Herramienta especializada de software para la elaboracin de sistemas expertos.

8
INSTALACIN Y EJECUCIN DEL SISTEMA

El SISTEMA EXPERTO EoS, en su composicin, est dividido en dos programas:

3. Interfaz grfica: Es el programa con el que el usuario interacta, y donde se


muestra la informacin de inters para ste. La interfaz grfica la comparte con el
Sistema de Captura y Filtraje.

4. CLIPS: Es un programa que trabaja de manera regular y sincrnica con la interfaz


grfica. Realiza el proceso de inferencia y genera la informacin 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
simultneamente y de manera correcta como se indica a continuacin.

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. Asegrese que las carpetas NO sean de solo lectura.

Figura 19: Ubicacin 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 instalacin del SISTEMA EXPERTO EoS

9
Figura 20: Pantalla de instalacin 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 utilizarn
posteriormente durante la ejecucin 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
crearn las carpetas Eventos y Reportes SisExpEoS.

INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS

Copiar el archivo SISTEMA EXPERTO EoS.exe86 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

10
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 lnea de comando de la ventana de CLIPS:

(batch C:\EJERVG\PROGRAMAGLOBAL.CLP)

Figura 24: Linea de cdigo para activar el programa CLIPS.


Presione la tecla Enter. Observar en pantalla algunas lneas de cdigo como las que se
muestran a continuacin.

11
Figura 25: Pantalla con cdigo 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 continuacin se


mostrar la ventana con el MEN PRINCIPAL.

12
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 estarn funcionando simultneamente, sin importar la
ventana que escoja el usuario para mostrar en pantalla.

Haga clic sobre SISTEMA EXPERTO EoS. A continuacin se mostrar la ventana


principal de EoS.

Figura 28: Ventana principal del SISTEMA EXPERTO EoS.


La instalacin del SISTEMA EXPERTO EoS ha terminado.

13
MODO DE PRUEBA DE CLIPS

Para comprobar que el programa CLIPS est funcionando de manera regular y sincrnica con la
interfaz grfica, el SISTEMA EXPERTO EoS presenta al usuario en la esquina inferior derecha de
la ventana principal una indicacin con el estado del programa.

Figura 29: Indicacin 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
grfica y CLIPS) estn trabajando correctamente.

REINICIAR: Indica que los dos componentes del SISTEMA EXPERTO EoS (Interfaz
grfica y CLIPS) NO estn trabajando correctamente y por lo tanto es necesario cerrar
ambos programas y posteriormente volver a abrirlos. (Es decir realizar la seccin 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 estn 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 interaccin de los programas.

14
ESTADO DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS, empieza un proceso cuando el Archivo de Entrada87 contiene la


informacin 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 ms de una (1) Alarma de Disparo, el SISTEMA EXPERTO EoS
solamente interpretar la primera, como Alarma de Disparo y las dems no las tendr en
cuenta en el anlisis de Causas de Falla88.

Para visualizar esto, el SISTEMA EXPERTO EoS tiene una indicacin en la parte superior de su
ventana principal que indica si hay o no un proceso en curso.

Figura 31: Seal 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 accin 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 accin, se deben reiniciar los dos programas (la interfaz grfica 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 slo 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 informacin
adicional al proceso.

15
INFORMACIN DE LA ALARMA DE DISPARO

Cuando se inicia un proceso, el SISTEMA EXPERTO EoS muestra en la ventana principal la


informacin relacionada con la Alarma de Disparo, la cual es la misma que se lee del Archivo de
Entrada.89

Figura 32: Informacin de la alarma de disparo. Se muestra cuando el sistema inicia un proceso.

La informacin mostrada es:

Tag: Es el cdigo que utilizan en el CPF de Cusiana para identificar cada una de las
alarmas relacionadas con los equipos de extraccin de petrleo.

Descripcin: Es una breve descripcin de la Alarma de Disparo.

Estado: Indica el estado de la alarma, complementando la descripcin 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: Informacin cuando no hay Alarmas de Disparo en el Archivo de Entrada.

89
Archivo de entrada: El que se refiere la .Figura 17.

16
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: Presentacin 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 seal 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: Seal 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 indicacin y esta se
mostrar. Cuando el mensaje PREGUNTA NO se encuentra intermitente ni resaltado en algn
color, indica que el SISTEMA EXPERTO EoS no ha formulado alguna pregunta ni requiere de
ninguna accin por parte del usuario.

En algunos casos, la pregunta que realiza el SISTEMA EXPERTO EoS va antecedida por una
accin que el usuario debe realizar para poder dar respuesta a la formulacin.

17
Ejemplo: ACCIN: Inspeccin visual de pantallas de cableado PREGUNTA: Estn aisladas
en lado campo?

Figura 36: Ejemplo de una pregunta formulada al usuario, antecedida por una accin requerida por el
usuario.

18
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 nmero de la pregunta y la pregunta realizada por el SISTEMA EXPERTO EoS.

El nmero de la respuesta y la respuesta dada por el usuario con la hora en que


ocurri.

El nmero 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 pestaa MOSTRAR HISTORIAL y sta se mostrar.

19
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: Presentacin 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 grficas y lgicas 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 ms informacin remtase a la seccin 6 del ANEXO C del libro SISTEMA EXPERTO
EoS: Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin de
petrleo, o a su seccin 3.6.

20
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: Presentacin 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 (recomendacin 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 grficas y lgicas 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 ms informacin remtase a la seccin 6 del ANEXO C del libro SISTEMA EXPERTO
EoS: Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin de
petrleo, o a su seccin 3.6.

21
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: Presentacin 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 hiptesis 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 grficas y lgicas 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 ms informacin remtase a la seccin 6 del ANEXO C del libro SISTEMA EXPERTO
EoS: Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin de
petrleo, o a su seccin 3.6.

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

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 estn habilitados cuando el
sistema esta en proceso (es decir, cuando la seal 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 caligrafa en el reporte que se genera automticamente 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
Remtase a la seccin 0 de este Manual.
97
REPORTES: Se refiere a los REPORTES EoS. (Seccin 0 de este Manual.)
98
REPORTES: Se refiere a los REPORTES EoS. (Seccin 0 de este Manual.)

23
En este momento el SISTEMA EXPERTO EoS termina el proceso, (es decir, el mensaje EoS
EN PROCESO cambia su presentacin y no se muestra resaltado en ningn color99), lo cual
indica que si hay un nuevo Archivo de Entrada se generar un proceso nuevo.

El reporte automtico que se genera contiene la informacin que se encuentra en pantalla


excluyendo la del nombre y observaciones del usuario. Para incluir esta informacin al
reporte el usuario debe oprimir el botn FINALIZAR cuando ste se encuentre
habilitado.

Cuando el botn 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 botn FINALIZAR se muestra intermitente despus de haberse concluido el proceso.
Permite al usuario ingresar la informacin de nombre y observaciones adicionales.

99
Remtase a la seccin 0 de este Manual.

24
MODO ANLISIS DE EVENTOS

El SISTEMA EXPERTO EoS permite analizar eventos, de forma que el usuario puede ingresar la
informacin con las alarmas que generan los equipos y realizar manualmente un proceso.

Figura 44: Para analizar eventos de manera manual.

Al oprimir el botn ANALIZAR, el usuario debe seleccionar un archivo de texto previamente


creado (al que denominaremos Archivo de Eventos) con la informacin de las alarmas que
desea analizar y las mismas caractersticas 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 mximo quinientos (500) renglones y debe cumplir con:

Campo Columna Columna Descripcin


inicial final
Tag 4 27 Cdigo para identificar las alarmas.
Descripcin 28 48 Breve descripcin de la Alarma de Disparo.
Estado de 49 60 Estado de referencia de la alarma,
referencia complementa la descripcin de la misma.
Estado 61 76 Estado de la alarma, complementa la
descripcin 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: Caractersticas del archivo con el que el usuario analizara eventos.

100
Archivo de Entrada: Al que se refiere la Figura 17.
101
DataPathAlarms.Txt: Remtase a la seccin 0 de este Manual.

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

Cuando se est realizando un Anlisis de Evento, el SISTEMA EXPERTO EoS NO est recibiendo
informacin 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.

26
REPORTES EoS

Al terminar cada proceso, el SISTEMA EXPERTO EoS genera automticamente un REPORTE en


formato texto (*.Txt) en el cual se detalla toda la informacin 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: Botn de Reportes.

Si el REPORTE es resultado de un Anlisis 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 AnalisisEventosAo-Mes-DaHora;Minutos;Segundos.Txt

Ejemplo: M12-L45FTT_ALM--AnalisisEventos--2004-8-22--19;54;34.Txt

Si el REPORTE NO es resultado de un Anlisis 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 - Ao-Mes-Da 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: Explicacin 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: Remtase a la seccin 0 de este Manual.
103
Acceder a los Reportes EoS: Para ms informacin remtase a la seccin 0 de este Manual.
104
Archivo de Eventos: Remtase a la seccin 0 de este Manual.
105
Archivo de Entrada: Remtase a la seccin 0 y 0 de este Manual.

27
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 dems a
Alarmas Secundarias que intervinieron en el proceso.107

Ejemplo: M12-L45FTT_ALM
(SS-L28FDB5)
(SS-L28FDB2)
(SS-L28FDB3)
(SS-L28FDB7)
(SS-L28FDB8)
Informacin correspondiente a la Alarma de Disparo del proceso: Detalla la informacin
que se refiere a la Alarma de Disparo. (Seccin 0 de este Manual.)

Causas generadas por el SISTEMA EXPERTO EoS: Se refiere a la informacin que se


presenta en el cuadro de texto CAUSAS EoS (Seccin 0 de este Manual.)

Proceso ejecutado por el SISTEMA EXPERTO EoS para hallar las causas de la falla: Se
refiere a la informacin que se presenta en el cuadro de texto PROCESO EoS (Seccin 0
de este Manual.)

Recomendaciones correctivas sugeridas por el SISTEMA EXPERTO EoS: Se refiere a la


informacin que se presenta en el cuadro de texto RECOMENDACIONES EoS (Seccin 0
de este Manual.)

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


usuario: Se refiere a la informacin que se presenta en el cuadro de texto HISTORIAL
DE PREGUNTAS Y RESPUESTAS (Seccin 0 de este Manual.)

Observaciones adicionales al proceso, proporcionadas por el usuario: Se refiere a la


informacin que se presenta en el cuadro de texto OBSERVACIONES DEL USUARIO
(Seccin 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)

Informacin detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS:
Es la informacin del Archivo de Entrada o del Archivo de Evento que se analiz.
(Seccin 0 0 de este Manual.)

106
Remtase a la seccin 0 de este Manual.
107
Alarmas secundarias: Son las que se encuentran en el Archivo de Entrada, que no son Alarmas de
Disparo pero estn relacionadas con los turbocompresores. (Remtase a la seccin 0 de este Manual.)
108
Remtase a la seccin 0 de este Manual.

28
Nombre del archivo que el usuario utiliz para realizar el anlisis del evento: (Solo
cuando el usuario hace Anlisis de Eventos.) Es la ruta de acceso y nombre del archivo
con el que se realiz el anlisis. (Seccin 0 de este Manual.)

29
BARRA DE HERRAMIENTAS

La funcionalidad de los botones y la barra de herramientas se detalla a continuacin:

DETENER

Seleccionando el icono DETENER de la barra de herramientas, el SISTEMA EXPERTO EoS


permite al usuario detener la ejecucin de un proceso. Para esto es necesario que el usuario
confirme su solicitud.

Figura 48: Botn detener.

Desde el men Archivo, o con la combinacin de teclas CRTL +D se logra el mismo efecto de
detener el proceso.

Figura 49: Detener el proceso utilizando el men Archivo.

Esta accin 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 informacin relacionada con
un proceso, es decir la misma informacin que contiene el REPORTE EoS.110

109
Remtase a la seccin 0 de este Manual.
110
Remtase a la seccin 0 de este Manual.

30
Figura 50: Botn Guardar.

Desde el men Archivo, o con la combinacin de teclas CRTL +G se logra el mismo efecto de
guardar la informacin del proceso.

Figura 51: Guardar la informacin relacionada con el el proceso utilizando el men Archivo.

Para esto, el usuario debe escoger la ruta de acceso donde desea almacenar la informacin y
luego hacer clic en GUARDAR.

Figura 52: Ventana para escoger la ruta de acceso donde el usuario desea guardar la informacin
referente al proceso.

Esta accin 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 ningn color.111)

BORRAR

Seleccionando el icono BORRAR de la barra de herramientas, el SISTEMA EXPERTO EoS permite


al usuario borrar la informacin relacionada con un proceso, es decir la informacin que se
encuentra en pantalla. Para esto es necesario que el usuario confirme su solicitud.

111
Remtase a la seccin 0 de este Manual.

31
Figura 53: Botn Borrar

Desde el men Archivo, o con la combinacin de teclas CRTL +B se logra el mismo efecto de
borrar la informacin del proceso.

Figura 54: Borrar la informacin relacionada con el el proceso utilizando el men Archivo.

Esta accin 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 ningn 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: Botn de Reportes.

El usuario debe seleccionar el archivo con el Reporte EoS que desea ver y seleccionar ACEPTAR.

112
Remtase a la seccin 0 de este Manual.
113
Reportes EoS: Para ms informacin remtase a la seccin 0 de este Manual.

32
Figura 56: Ventana para escoger el archivo del Reporte EoS que el usuario desea ver.

Desde el men Archivo, o con la combinacin 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 vera la ventana de Sistema de
Captura y Filtraje.

Figura 58: Botn Ocultar EoS

Desde el men Archivo, o con la combinacin de teclas CRTL +O se logra el mismo efecto de
ocultar la ventana principal del SISTEMA EXPERTO EoS.

33
Figura 59: Ocultar la ventana principal del SISTEMA EXPERTO EoS utilizando el men Archivo.

34
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 seccin 0 de esta Manual.

MEN PREFERENCIAS

Tiene cuatro (4) submens, en los cuales el usuario tiene la posibilidad de cambiar las
preferencias de la pantalla.

Figura 60: Submens del men preferencias.

ESTILO FUENTE

Al hacer clic sobre esta opcin (o con la combinacin de teclas CRTL + E), el usuario podr
cambiar el tipo, tamao y estilo de letra de los cuadros de texto de Causas Eos, Proceso Eos,
Recomendaciones Eos, Historial De Preguntas Y Respuestas, Observaciones Del Usuario,
Informacin de la Alarma de Disparo y Nombre Del Archivo en Analizar Eventos.

Figura 61: Ventana que permite cambiar el tipo, tamao y estilo de letra de los diferentes cuadros de
texto.

35
Figura 62: Presentacin de una ventana despus de haber personalizado el Estilo de la Fuente.

COLOR FUENTE

Al hacer clic sobre esta opcin (o con la combinacin 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,
Informacin 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: Presentacin de una ventana despus de haber personalizado el Color de la Fuente.

COLOR FONDO

Al hacer clic sobre esta opcin (o con la combinacin 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,
Informacin de la Alarma de Disparo y Nombre Del Archivo en Analizar Eventos.

36
Figura 65: Presentacin de una ventana despus de haber personalizado el Color de Fondo.

VALORES PREDETERMINADOS

Al hacer clic sobre esta opcin (o con la combinacin de teclas CRTL + V), el usuario podr
recuperar los valores predeterminados de tipo, tamao, 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, Informacin de la Alarma de Disparo y Nombre Del
Archivo en Analizar Eventos.

MEN AYUDA

Tiene dos (2) submens que proporcionan ayuda e informacin sobre el SISTEMA EXPERTO
EoS:

Figura 66: Submens 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 informacin referente a los autores del SISTEMA EXPERTO EoS.

37
AYUDA DINMICA 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 botn de
la aplicacin.

Figura 68: Informacin de ayuda para el usuario, en la que se indica la funcin de cada control. (En este
caso se muestra la funcin de la ventana inferior derecha que revela el estado de CLIPS.)

Esta informacin 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 algn control.

38
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 estn relacionadas con los turbocompresores.

ANLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el


usuario puede ingresar la informacin con las alarmas que generan los equipos y realizar
manualmente un proceso.

RBOL DE CONOCIMIENTO: Representaciones grficas y lgicas 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 informacin 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


informacin de las alarmas con la que desea realizar el Anlisis de Eventos. Debe tener las
mismas caractersticas 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 sincrnica con la interfaz grfica, es el
que realiza el proceso de inferencia y genera la informacin 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 extraccin de petrleo ubicada en Cusiana,


Casanare.

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

INFORMACIN DE LA ALARMA DE DISPARO: Es la informacin referente a la Alarma de


Disparo: tag de la alarma, descripcin 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 GRFICA: Es el programa con el que el usuario interacta, y donde se muestra la


informacin de inters para este. La interfaz grfica la comparte con el Sistema de Captura y
Filtraje.

MANUAL TCNICO DE USUARIO: Es en el que se encuentra el cdigo fuente de los


programas y aspectos ms especficos 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 dems salidas.

RECOMENDACIONES EoS: Es una salida del SISTEMA EXPERTO EoS. Son las
recomendaciones correctivas de la falla

REPORTE EoS: Es el reporte con la informacin 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 extraccin de petrleo 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 grfica del SISTEMA EXPERTO EoS.

SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico experto para


turbocompresores utilizados en la extraccin de petrleo: Libro donde se da a conocer
la forma como se cumplieron los objetivos propuestos inicialmente, dada la estructura del
prototipo del sistema experto, su construccin y la informacin recolectada y estudiada. Se
incluye en le CD del SISTEMA EXPERTO EoS.

TAG: Es el cdigo que utilizan en el CPF de Cusiana para identificar cada una de las alarmas
relacionadas con los equipos de extraccin de petrleo.

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

41
MANUAL TCNICO DE USUARIO: Sistema
Experto EoS

El presente documento est dirigido a personas con conocimientos en el rea de programacin que
deseen interactuar con la estructura interna del SISTEMA EXPERTO EoS, para modificarlo o
introducir nuevo conocimiento segn la funcin especfica 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
elaboracin del SISTEMA EXPERTO EoS.
TABLA DE CONTENIDO

T ABL A DE CO NTE NIDO .............................................................................................. 1


L IST A DE FIGURA S ..................................................................................................... 3
INTRO DU CCI N .......................................................................................................... 5
1. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS......................................................... 6
2. COMPOSICIN DEL SISTEMA EXPERTO EoS .............................................................. 7
2.1 SISTEMA DE CAPTURA Y FILTRAJE ....................................................................... 7
2.2 SISTEMA EXPERTO EoS........................................................................................ 8
2.2.1 Interfaz grfica ................................................................................................ 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 COMPARACIN 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: FINALIZACIN DEL PROCESO Y PRESENTACIN DE LOS RESULTADOS EN
PANTALLA..................................................................................................................... 21
3.6 PASO 6: RECOPILACIN DE INFORMACIN PARA EL REPORTE EoS ...................... 22
3.7 OTRO PASO: MODO ANLISIS DE EVENTOS ........................................................ 23
4 INSTALACIN Y EJECUCIN DEL SISTEMA .............................................................. 25
4.1 PASOS PRELIMINARES ....................................................................................... 25
4.2 INSTALAR Y EJECUTAR EL SISTEMA EXPERTO EoS............................................... 26
5 PROGRAMACIN 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 informacin en CLIPS........................................................................ 31
5.1.4 Ejecucin de un programa .............................................................................. 32
5.1.5 Carga de comandos desde archivos ................................................................. 32
5.2 VARIABLES Y FUNCIONES .................................................................................. 33
5.2.1 Definicin de variables.................................................................................... 33
5.2.2 Suma de nmeros.......................................................................................... 34
5.2.3 Comparar igualdad......................................................................................... 35
5.3 HECHOS............................................................................................................ 35
5.3.1 Campos que componen los hechos .................................................................. 36
5.3.2 Adicin de hechos .......................................................................................... 36
5.3.3 Asignacin de un hecho a una variable ............................................................ 37
5.3.4 Eliminacin 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: Funcin Load-Facts .............................................................. 42
5.5.2 Almacenamiento de hechos: Funcin Save-Facts .............................................. 43
5.5.3 Almacenar un valor en una variable: Funcin Bind ............................................ 44
5.5.4 Abrir archivos de lectura y escritura: Funcin Open........................................... 45

1
5.5.5 Cerrar un archivo: Funcin Close ..................................................................... 45
5.5.6 Borrar un archivo: Funcin Remove ................................................................. 46
5.5.7 Escritura en un archivo: Funcin Printout ......................................................... 46
5.5.8 Entrada de informacin: Funcin Read-ReadLine .............................................. 47
5.5.9 Rengln vaco................................................................................................ 48
5.6 FUNCIONES DE PROCEDIMIENTOS ..................................................................... 49
5.6.1 La funcin if .................................................................................................. 49
5.6.2 La funcin While ............................................................................................ 51
5.7 VENTANAS DE CLIPS.......................................................................................... 53
5.7.1 Dialog Window .............................................................................................. 53
5.7.2 Ventana de edicin ........................................................................................ 53
6 ESTRUCTURA Y PROGRAMACIN DEL SISTEMA EXPERTO EoS EN CLIPS ................... 56
6.1 NOMBRE DE LOS ARCHIVOS DE CLIPS ................................................................ 56
6.2 RBOLES DE CONOCIMIENTO ............................................................................ 58
6.3 EXPLICACIN DEL CDIGO DE UN RBOL DE CONOCIMIENTO............................. 59
7 GLOSARIO ............................................................................................................ 60

2
LISTA DE FIGURAS

Figura 1. Esquema de la composicin 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, descripcin 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 caractersticas que debe tener el ArchivoHyp.Txt. ........................ 12
Figura 5. Esquema que indica la creacin 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 comparacin de ListaPrimarias.Txt y el
Archivo de Entrada. ............................................................................................................. 15
Figura 8. Informacin de la Alarma de Disparo. Se muestra cuando el sistema inicia un
proceso. ................................................................................................................................ 15
Figura 9. Esquema de comparacin y archivos resultado cuando el SISTEMA EXPERTO
EoS empieza un proceso. ..................................................................................................... 16
Figura 10.Estructura de programacin de CLIPS. ............................................................... 18
Figura 11. Formato que usa CLIPS para formular preguntas al usuario usando el archivo
Pta.bin. ................................................................................................................................. 19
Figura 12. Presentacin de la pregunta realizada al usuario por medio de la interfaz grfica.
.............................................................................................................................................. 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. Ubicacin de la carpeta EJERVG en C\ ............................................................. 25
Figura 16: Pantalla de instalacin de Framework.exe. ........................................................ 26
Figura 17: Archivo de texto DataPathAlarms, ubicado en C:, el cual contiene la ruta de
acceso donde se crearn 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: Lnea de cdigo para activar el programa CLIPS............................................... 27
Figura 21: Pantalla con cdigo 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: Presentacin del puntero de CLIPS, despus de haber instalado correctamente el
programa .............................................................................................................................. 31
Figura 26: Ventana Dialog Window en CLIPS. .................................................................. 53
Figura 27: Ventana de edicin de CLIPS, y ubicacin del comando New. ......................... 54
Figura 28: Comando Select All de CLIPS. .......................................................................... 54

3
Figura 29: Lista de archivos con extensin *.CLP, ubicados en C:\EJERVG, donde se
encuentra al cdigo que alimenta el SISTEMA EXPERTO EoS. ....................................... 56
Figura 30: Fragmento de un rbol de Conocimiento utilizado en la elaboracin del
SISTEMA EXPERTO EoS. ................................................................................................. 59

4
INTRODUCCIN

Bienvenidos al SISTEMA EXPERTO EoS, un programa fcil 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 programacin que
deseen interactuar con la estructura interna del SISTEMA EXPERTO EoS, para modificarlo o
introducir nuevo conocimiento segn la funcin especfica 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
elaboracin del SISTEMA EXPERTO EoS.

En este documento encontrar algunas funciones y procedimientos elaborados en CLIPS, al igual


que algunas variables utilizadas, la descripcin del proceso realizado, y la informacin que alimenta
la base de conocimiento del SISTEMA EXPERTO EoS; mostrando la implementacin de uno de los
casos especficos de anlisis de fallas que lo conforman.

Acerca de

El desarrollo del SISTEMA EXPERTO EoS, se realiz como tesis de grado titulada Gestin de
fallas con diagnstico experto para turbocompresores utilizados en la extraccin de
petrleo, por las Ingenieras Electrnicas Viviana Espinosa Rojas y Gina Paola Pulido Uriza, de la
Pontificia Universidad Javeriana, bajo la direccin del Ingeniero Adolfo Len Recio y la asesora del
Ingeniero Jose Fernando Vega y el Ingeniero Alejandro Forero Guzmn. Se desarroll en las
empresas BP Exploration Company Colombia Ltda Y Equipo De Servicios Petroleros Ltda bajo el
conocimiento, asesora y requerimientos del Ingeniero Carlos Olarte, Superintendente (R) de
operaciones de Cusiana de BP Exploration Company Colombia Ltda. y el Ingeniero Rubn Soler,
seccin de Control en Cusiana de Equipo de Servicios Petroleros Ltda. Su instalacin 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 funcin y
operacin de cada una de sus partes remtase al MANUAL DE USUARIO.

114
CPF de Cusiana: Central Production Facilities. Planta de extraccin de petrleo ubicada en Cusiana,
Casanare.

5
2. REQUERIMIENTOS DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS est soportado bajo ambiente Windows, por lo tanto para su correcta
ejecucin se necesita un computador personal con las siguientes caractersticas:

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 visualizacin, se debe usar una resolucin de pantalla de 768 pxeles mximo.

Tenga presente que:

En algunos casos el SISTEMA EXPERTO EoS no presenta al usuario las palabras con tildes,
para evitar errores de caligrafa.

Algunas palabras que contienen la letra , se presentarn con la letra n.

6
3. COMPOSICIN DEL SISTEMA EXPERTO EoS

El SISTEMA EXPERTO EoS interacta 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 grfica.

Sistema de Captura y Filtraje

Interaccin

SISTEMA EXPERTO EoS

Interfaz grfica CLIPS

Figura 69. Esquema de la composicin 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 extraccin de petrleo 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.

7
Figura 70. Lista de alarmas que se muestra en la interfaz del Sistema de Captura y Filtraje. Se detalla: Tag de
la alarma, descripcin 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 composicin, 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 simultneamente y de manera
correcta.

2.2.1 Interfaz grfica

Es el programa con el que el usuario interacta, y donde se muestra la informacin de inters para
ste:

Posibles causas que generaron la falla: Causas EoS.116

Posibles recomendaciones correctivas a la falla: Recomendaciones EoS.117

116
Para ms informacin, remtase a la seccin 9 del MANUAL DE USUARIO.
117
Para ms informacin, remtase a la seccin 10 del MANUAL DE USUARIO.

8
Secuencia de pasos realizados por el SISTEMA EXPERTO EoS para generar las dems
salidas: Proceso EoS.118

Informacin referente a la Alarma de Disparo: Informacin 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 informacin 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 sincrnica con la Interfaz Grfica. Es el que
realiza el Proceso de Inferencia122 para hallar las causas de la falla, y genera la informacin 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 especficamente para el desarrollo de
sistemas expertos, en la cual se especifican con cdigo de programacin los siguientes
elementos:123

a. Base de hechos: Donde se almacenan las alarmas de los equipos que intervienen en el
proceso de produccin de petrleo 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 informacin 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 ms informacin, remtase a la seccin 11 del MANUAL DE USUARIO.
119
Para ms informacin, remtase a la seccin 6 del MANUAL DE USUARIO.
120
Para ms informacin, remtase a la seccin 8 del MANUAL DE USUARIO.
121
Para ms informacin, remtase a la seccin 14 del MANUAL DE USUARIO.
122
Proceso de Inferencia: Para ms informacin, remtase al libro SISTEMA EXPERTO EoS: Gestin de
fallas con diagnstico experto para turbocompresores utilizados en la extraccin de petrleo
123
Para conocer con ms detalle el modo de funcionamiento de los sistemas expertos, remtase al libro
SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico experto para turbocompresores utilizados en la
extraccin de petrleo

9
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. Mdulo de adquisicin del conocimiento: Permite aadir, eliminar o modificar elementos de


conocimiento (en la mayora de los casos, reglas.)

124
Agenda: Donde se almacenan las reglas disparadas. Para ms informacin, remtase al libro SISTEMA
EXPERTO EoS: Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin
de petrleo

10
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 continuacin, 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 extraccin de petrleo en Cusiana, y las muestra de
manera detallada en la pantalla, como lo indica la Figura 70.

Cuando recibe la informacin 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 informacin 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 interacta con el SISTEMA EXPERTO EoS, pero no
hace parte de l. Fue desarrollado previamente en Cusiana, por el Ingeniero de Control. Para ms informacin
remtase a la seccin 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 instalacin del SISTEMA EXPERTO EoS.

11
El ArchivoHyp.Txt debe tener mximo quinientos (500) renglones y debe cumplir con:

Campo Columna Columna Descripcin


inicial final
Tag128 4 27 Cdigo para identificar las alarmas.
Descripcin 28 48 Breve descripcin de la Alarma de Disparo.
Estado de 49 60 Estado de referencia de la alarma, complementa
referencia la descripcin de la misma.
Estado 61 76 Estado de la alarma, complementa la
descripcin 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: Caractersticas del ArchivoHyp.Txt.

Figura 72. Detalle de las caractersticas que debe tener el ArchivoHyp.Txt.

Adicionalmente, el Sistema de Captura y Filtraje, crea archivos de texto con las mismas
caractersticas del ArchivoHyp.Txt (a los que denominaremos Archivos de Eventos) y los almacena
en la carpeta Eventos. En estos archivos se almacena la informacin de las alarmas que se
presentaron despus de la Alarma de Disparo (y que no se encuentran registradas en el
ArchivoHyp.Txt) que estn 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 cdigo que utilizan en Cusiana para identificar cada una de las alarmas relacionadas con los
equipos de extraccin de petrleo.

12
PARADA DE
LA TURBINA.

Tiempo
Se crea el archivo Se crea el archivo Se crea el archivo

ArchivoHyp.Txt:
Contiene la Alarma de Disparo
que causo la parada en los
turbocompresores.

Archivo de Evento1.Txt: Archivo de Evento2.Txt: Archivo de Evento3.Txt:


Contiene la misma informacin Contiene alguna Alarma Contiene alguna Alarma
de ArchivoHyp.Txt, es decir, de Disparo, pero no la que de Disparo, pero no la
contiene la Alarma de Disparo causo la parada en los que causo la parada en los
que causo la parada en los turbocompresores. turbocompresores.
turbocompresores.)

Figura 73. Esquema que indica la creacin de archivos en el tiempo, desde que se presenta la parada de un
turbocompresor.

Estos Archivos de Evento se utilizarn posteriormente para realizar Anlisis de Eventos.129

3.2 PASO 2: ENTRADA DE DATOS Y COMPARACIN 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 informacin de la Alarma de Disparo.

Si el Archivo de Entrada contiene ms de una (1) Alarma de Disparo, el SISTEMA EXPERTO EoS
solamente interpretar la primera como Alarma de Disparo y las dems no las tendr en cuenta en
el anlisis de Causas de Falla130.

Cada uno de los tags131 de las alarmas que hay en el Archivo de Entrada se compara con la
informacin que se encuentra en el archivo ListaPrimarias.Txt132, el cual contiene una lista con

129
Anlisis de Eventos: Se explican en detalle en la seccin 3.7 de este Manual.
130
Esto se debe a que slo 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 informacin al proceso.

13
todos los tags de Alarmas de Disparo.133 Cada tag del archivo ListaPrimarias.Txt debe estar escrito
en un rengln 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 informacin 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 estn relacionadas con los
turbocompresores, (a estas las llamaremos Alarmas secundarias.)135 Cada tag del archivo
ListaSecuntarias.Txt debe estar escrito en un rengln diferente, como en ListaPrimarias.Txt.

Si la comparacin con ListaPrimarias.Txt resulta exitosa, se crea un archivo denominado


Primarias.bin con el tag de la alarma en comn.

131
Tag: Es el cdigo que utilizan en el CPF de Cusiana para identificar cada una de las alarmas relacionadas
con los equipos de extraccin de petrleo
132
ListaPrimarias.Txt se encuentra en C:/EJERVG.
133
Esta lista es creada por el Usuario Experto, y debe coincidir con la informacin 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 anlisis 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.

14
Figura 75: Tag de la alarma que result de la comparacin de ListaPrimarias.Txt y el Archivo de Entrada.

La informacin correspondiente a ese tag, es decir los dems datos que se obtuvieron del
ArchivoHyp.Txt, se presenta al usuario en la ventana principal del SISTEMA EXPERTO EoS, como
Informacin de la Alarma de Disparo.136

Figura 76. Informacin de la Alarma de Disparo. Se muestra cuando el sistema inicia un proceso.

Si la comparacin con ListaSecuntarias.Txt resulta exitosa, se crea un archivo denominado


Secundarias.bin con los tags de las alarmas en comn.

A continuacin se presenta un esquema de la comparacin que el SISTEMA EXPERTO EoS realiza:

136
Informacin de la alarma de disparo: Es la informacin adicional, relacionada con la Alarma de
Disparo que se obtiene del ArchivoHyp.Txt.

15
ListaPrimarias.Txt:
Contiene la lista con todos los tags de
Archivo de entrada: Alarmas de Disparo.
ArchivoHyp.Txt Esta lista es creada por el Usuario
C
O Experto, y debe coincidir con la
Contiene la informacin de las M informacin que contiene CLIPS.
P
alarmas que se generan cuando A
ocurre una falla que ocasiona la R
ListaSecundarias.Txt:
parada en un turbocompresor. A
C Contiene la lista con todos los tags de las
I Alarmas Secundarias
Se especifica la informacin de las Esta lista es creada por el Usuario
alarmas que sucedieron sesenta (60) N Experto, y contiene los tags de las
minutos antes y un (1) minuto
alarmas relacionadas con los
despus de la Alarma de Disparo.
turbocompresores que intervienen en el
proceso de inferencia que realiza CLIPS.

Primarias.bin: Contiene el tag Secundarias.bin: Contiene el


de la Alarma de Disparo en tag de la Alarmas Secundarias
comn. en comn.

Figura 77. Esquema de comparacin 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 programara en un
archivo *.CLP diferente, de manera que el sistema fuera modular y fcil 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 informacin de procesos nuevos para que el sistema
sea ms completo y robusto. A cargo del Usuario Experto.
138
Ver figura 10, cuadro azul oscuro.

16
En CLIPS, los archivos tienen un numero mximo de renglones de cdigo 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 cdigo para que continen con un proceso determinado. Estos
archivos de continuacin 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 estn asociados al rbol Transmisores de campo.141

La estructura de programacin realizada en CLIPS cuenta con un archivo denominado


PROGRAMAGLOBAL.CLP,142 el cual contiene el cdigo que permite determinar cul 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 cdigo
con el nombre del tag de la Alarma de Disparo que est en Primarias.bin.143

A continuacin se presenta la estructura de programacin utilizada en CLIPS para desarrollar el


SISTEMA EXPERTO EoS.

139
El nmero de caracteres permitidos en un rengln de cdigo elaborado en CLIPS es ilimitado.
140
rbol de Conocimiento: Representaciones grficas y lgicas 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 ms informacin remtase a la seccin 6 del ANEXO C del libro SISTEMA EXPERTO EoS:
Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin de petrleo, o a
su seccin 3.6.
141
Ver figura 10, cuadros azul claro.
142
PROGRAMAGLOBAL.CLP se encuentra en C:/EJERVG.
143
Ver figura 10, cuadro naranja.

17
PROGRAMAGLOBAL.CLP:
Contiene el cdigo que permite
determinar cul Proceso de
Inferencia debe seguir el
Primarias.bin: Contiene el SISTEMA EXPERTO EoS.
tag de la Alarma de Disparo Ejemplo:
en comn entre M12-L45FTT_ALM
ArchivoHyp.Txt y PP-L28FDB4
ListaPrimarias.Txt. M11-LCLFDEN_ALM
Ejemplo: M11-LCLFDEN_ALM M11-L3NZFLT

M11-LCLFDEN_ALM.CLP:
Contiene el cdigo 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 continuacin del cdigo del Proceso de Inferencia
asociado con la Alarma de Disparo M11-LCLFDEN ALM.

TransmisoresdecampoPARTE2.CLP:
Contiene la continuacin del cdigo del Proceso de Inferencia
asociado con la Alarma de Disparo M11-LCLFDEN ALM.

Figura 78.Estructura de programacin 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 cdigo 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 mtodos de trabajo en el Proceso de Inferencia145 que
realiza:

144
Para ms informacin al respecto de los nombres de los archivos, remtase a la seccin 6.1 de este Manual.
145
Para ms informacin, remtase al libro SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico
experto para turbocompresores utilizados en la extraccin de petrleo.

18
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 estn 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 grfica, 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 rengln diferente. CLIPS queda en espera de alguna
respuesta para continuar con el proceso, mientras la interfaz grfica lee la informacin 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.

19
Figura 80. Presentacin de la pregunta realizada al usuario por medio de la interfaz grfica.

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


denominado Rta.bin, el cual es ledo por CLIPS de manera que le permite continuar con el proceso.

El nmero de consultas realizadas por el SISTEMA EXPERTO EoS para verificar si existen Alarmas
Secundarias y el nmero 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 ms detalles sobre el Historial de Preguntas y Respuestas, remtase a la seccin 8 del Manual de
Usuario.

20
3.5 PASO 5: FINALIZACIN DEL PROCESO Y
PRESENTACIN DE LOS RESULTADOS EN
PANTALLA

A medida que transcurre el Proceso de Inferencia, CLIPS va almacenando en Deftemplates147 la


informacin referente a las Causas, Recomendaciones y Proceso EoS. Al final del proceso, esta
informacin se enva a archivos binarios denominados Causas.Bin, Recomendaciones.bin y
Proceso.bin, respectivamente.

Para mostrar estos resultados al usuario, la interfaz grfica lee la informacin 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 dems
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 accin, se deben reiniciar los dos programas (la interfaz grfica y CLIPS), para
que el sistema quede nuevamente en espera.

147
Deftemplates: Son arreglos donde se almacena informacin, como matrices de datos. Para mas
informacin remtase a los manuales de CLIPS que se adjuntan en el CD de instalacin del SISTEMA
EXPERTO EoS: Gua del Usuario, Gua Bsica de programacin y Gua Avanzada de Programacin.
148
Para ms informacin, remtase a la seccin 9 del MANUAL DE USUARIO.
149
Para ms informacin, remtase a la seccin 10 del MANUAL DE USUARIO.
150
Para ms informacin, remtase a la seccin 11 del MANUAL DE USUARIO.
151
Para ms informacin remtase a la seccin 0 del MANUAL DE USUARIO.

21
3.6 PASO 6: RECOPILACIN DE INFORMACIN PARA
EL REPORTE EoS

Al terminar cada proceso, el SISTEMA EXPERTO EoS genera automticamente un reporte en


formato texto (*.Txt) en el cual se detalla toda la informacin 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 acumulacin


de informacin a lo largo del desarrollo del proceso, que permite al SISTEMA EXPERTO EoS
presentar al final, toda la informacin 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.

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

Informacin detallada de las alarmas que interactuaron con el SISTEMA EXPERTO EOS.

Nombre del archivo que el usuario utiliz para realizar el anlisis 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 ms informacin remtase a la seccin 3.1 del MANUAL DE
USUARIO.
153
Para ms informacin remtase a la seccin 14 del MANUAL DE USUARIO.

22
3.7 OTRO PASO: MODO ANLISIS DE EVENTOS

El SISTEMA EXPERTO EoS permite Analizar Eventos, de forma que el usuario puede ingresar la
informacin con las alarmas que generan los equipos y realizar manualmente un proceso de
simulacin.

Para ello, se utilizan los Archivos de Eventos que genera el Sistema de Captura y Filtraje.154 Estos
archivos tienen las mismas caractersticas de formato que el ArchivoHyp.Txt, y tambin 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 mximo quinientos (500) renglones y debe cumplir con:

Campo Columna Columna Descripcin


inicial final

Tag156 4 27 Cdigo para identificar las alarmas.

Descripcin 28 48 Breve descripcin de la Alarma de Disparo.

Estado de 49 60 Estado de referencia de la alarma, complementa


referencia la descripcin de la misma.

Estado 61 76 Estado de la alarma, complementa la


descripcin 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: Caractersticas del archivo con el que el usuario analizara eventos.

154
Archivos de Eventos: Ver seccin 3.1 de este manual.
155
DataPathAlarms.Txt: Para ms informacin remtase a la seccin 3.1 del MANUAL DE USUARIO.
156
Tag: Es el cdigo que utilizan en Cusiana para identificar cada una de las alarmas relacionadas con los
equipos de extraccin de petrleo.

23
Figura 82: Ejemplo de un Archivo de Eventos.

Cuando se realiza el Anlisis 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
informacin de l, de forma que NO disparar un proceso nuevo cuando suceda una Alarma
de Disparo REAL que se reporte en el ArchivoHyp.Txt.

24
4 INSTALACIN Y EJECUCIN 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. Ubicacin 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
158
ListaSecundarias.Txt coincidan con la informacin que tiene el CLIPS en sus programas.

El usuario no debe modificar ninguno de los dems archivos que se encuentran en


EJERVG o SistemaExperto, ni DataPathAlarms.Txt puesto que puede afectar el correcto
funcionamiento del sistema. Asegrese 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 instalacin del SISTEMA EXPERTO EoS
158
ListaPrimarias.Txt, ListaSecundarias.Txt: Para ms informacin vea la seccin 3.2 de este manual.

25
Figura 84: Pantalla de instalacin 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 utilizarn
posteriormente durante la ejecucin 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
crearn 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.

26
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 lnea de comando de la ventana de CLIPS:

(batch C:\EJERVG\PROGRAMAGLOBAL.CLP)

Figura 88: Lnea de cdigo para activar el programa CLIPS.

Presione la tecla Enter. Observar en pantalla algunas lneas de cdigo como las que se
muestran a continuacin.

27
Figura 89: Pantalla con cdigo 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 continuacin se mostrar
la ventana con el MEN PRINCIPAL.

28
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 estarn funcionando simultneamente, sin importar la ventana que
escoja el usuario para mostrar en pantalla.

Haga clic sobre SISTEMA EXPERTO EoS. A continuacin se mostrar la ventana principal de
EoS.

Figura 92: Ventana principal del SISTEMA EXPERTO EoS.


La instalacin del SISTEMA EXPERTO EoS ha terminado.

29
5 PROGRAMACIN Y ESTRUCTURA GENERAL DE CLIPS

A continuacin se describen las funciones generales que se utilizan para alimentar el SISTEMA
EXPERTO EoS, y se hace una descripcin especfica 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 comprensin del cdigo de programacin.
Encontrar la descripcin 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.

Notacin utilizada

La notacin que se utiliza en este manual para describir la sintaxis de CLIPS es:

Los smbolos y caracteres que se encuentran entre parntesis ( ) generalmente son


comandos, e indican que deben introducirse tal y como aparecen. Ejemplo:

(run)

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 informacin que se debe introducir. Por ejemplo:

< entero >

significa que debe hacerse una sustitucin por un entero real. La sintaxis seria:

(assert <entero>)

podra reemplazarse por:

(assert 5 ) o (assert -5 ) o (assert 589 ) , etc

159
Para mas informacin remtase a los manuales de CLIPS que se adjuntan en el CD de instalacin del
SISTEMA EXPERTO EoS: Gua del Usuario, Gua Bsica de programacin y Gua Avanzada de
Programacin.

30
5.1 COMANDOS

5.1.1 Entrada

Despus de instalar CLIPSWIN160 y activar el modo de ejecucin apropiado, el puntero de la


ventana Dialog Window debe mostrarse en pantalla as:

Figura 93: Presentacin del puntero de CLIPS, despus 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:

(exit)

5.1.3 Borrar la informacin 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:

(clear)

CLIPS> (clear)
Ejemplo:

160
Para realizar la programacin del cdigo que alimenta el sistema, se trabajar con CLIPSWIN, el cual es la
versin para Windows de CLIPS. El programa se encuentra en la carpeta EJERVG la cual se incluye en el CD
de instalacin del SISTEMA EXPERTO EoS. Para su ejecucin haga doble clic sobre el cono CLIPSWIN.

31
5.1.4 Ejecucin de un programa

Es posible hacer que un programa de CLIPS se ejecute con el comando run que tiene la siguiente
sintaxis:

(run)

Despus de tener el cdigo correspondiente a diferentes reglas en un programa, dicho programa se


ejecutar al aplicar el comando (run) al final del cdigo que se desea ejecutar.

El SISTEMA EXPERTO EoS utiliza el comando (run) en cada uno de los archivos, al final de cada
cdigo de programacin, para que se pueda efectuar su ejecucin.

5.1.5 Carga de comandos desde archivos

Para cargar un archivo de CLIPS (*.CLP) que tiene comandos y cdigo de programacin, se utiliza
el comando batch. Su sintaxis es la siguiente:

(batch <ruta del archivo>)

donde < ruta del archivo> corresponde al archivo que se desea cargar en CLIPS incluyendo la
informacin de su ruta de acceso en el computador, es decir, el directorio donde se encuentra el
archivo. Por ejemplo:

(batch c:/EJERVG/PROGRAMAGLOBAL.CLP)

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 segn 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 ms informacin remtase a la seccin 3.3 de este Manual.

32
PT1801.CLP, donde est el cdigo de programacin correspondiente al anlisis de causas de falla
de la alarma M11-PT1801. A continuacin se muestra la regla que ilustra ste caso la cual se
encuentra en PROGRAMAGLOBAL.CLP:

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

5.2 VARIABLES Y FUNCIONES

Las variables que se utilizan en CLIPS se escriben con un signo de interrogacin seguido de un
nombre de campo simblico. Se debe tener en cuenta que NO debe haber espacio entre el signo de
interrogacin y el nombre. Ejemplo:

?a0
?prueba
?e21

5.2.1 Definicin de variables

Para definir una variable global con un valor predeterminado se utiliza el comando defglobal, asi:

(defglobal ?*<nombre de la variable >* = <valor de la variable >)

donde <nombre de la variable > puede ser cualquier palabra o nmero que representa la variable y
la cual inicia en el <valor de la variable > el cual puede ser un nmero entero (5, 8, 1,etc.) vaco
(" ") Por ejemplo:

(defglobal ?*var* = 1)
(defglobal ?*hecho* = "")

33
significa que la variable var inicia en 1 y la variable hecho esta vaca, es decir, no tiene ningn
carcter o string asociado.

5.2.2 Suma de nmeros

La sintaxis para sumar dos nmeros es:

(+ <nmero 1> <nmero 2> )

De modo que el resultado ser la suma del <nmero 1> ms el <nmero 2>.

En el siguiente ejemplo:

(+ 3 4 )

el resultado de la suma es 7, porque 3+4=7.

Si se desea sumar un nmero y una variable que representa un valor numrico, la sintaxis es la
siguiente:

(+ <variable> <numero>)

donde el resultado es la suma del <nmero> ms la <variable> que representa el valor numrico.

En el siguiente ejemplo se define la variable ?*var*:

(defglobal ?*var* = 1)

la cual tiene el valor de 1. Si se realiza la siguiente suma:

(+ ?*var* 5)

el resultado ser 6 porque la suma es 5 + 1 =6 donde el nmero 1 corresponde al valor de la


variable ?*var*.

34
5.2.3 Comparar igualdad

Para comparar una variable y un nmero y afirmar que son o no iguales, se utiliza la funcin eq.

La sintaxis de la funcin eq es la siguiente:

(eq <variable> <simbolo>)

La <variable> y el <simbolo> son los dos valores que se comparan para verificar su igualdad. Por
ejemplo:

(defglobal ?*var* = 1)
.
.
.
(eq ?*var* 1)

Se define la variable ?*var* igual a 1 y luego, dentro del programa, se compara el valor de ?*var*
con el nmero 1, si es verdadero se cumplir la sentencia y se convierte en una afirmacin
verdadera.162

5.3 HECHOS

Los hechos son fragmentos de informacin 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 travs de la ejecucin de un anlisis.

Formato de las alarmas que llegan a CLIPS:

(M12-L39VCT)

La palabra que hace referencia al tag de la alarma va dentro de parntesis.

162
Ver ejemplo de la seccin 5.6.1 de este Manual.
163
Para ms informacin sobre el Archivo de Entrada y Alarma de Disparo, remtase a la seccin 3.1 de este
Manual.

35
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 mximo por dos
campos, es decir dos palabras, debido a que las reglas se disparan nicamente con dos campos.

Por ejemplo:

(alarma M11-PT1801)
(M12-L39VCT)
(realtmisor NO)

Si un hecho est compuesto por ms de dos campos, CLIPS slo 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:

(realtmisor NO Esta)

la regla asociada se dispara nicamente con los dos primeros campos, es decir:

(defrule transmisor-malo
?hecho <- (realtmisor NO)

=>
.
.
(retract ?hecho))

NO se permite usar la en las palabras que componen los campos de un hecho.

5.3.2 Adicin de hechos

Para agregar las conclusiones intermedias se utiliza el comando assert, el cual agrega hechos que
representan informacin a la Lista de Hechos. La sintaxis del comando assert se muestra a
continuacin:

164
Para ms informacin remtase al libro SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico
experto para turbocompresores utilizados en la extraccin de petrleo.

36
(assert <hecho>)

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
duplicacin de hechos y conflictos en el proceso de anlisis.

Ejemplo:

(assert (alarma M11-L86CBT_ALM))

Se observa que el nuevo hecho es alarma M11-L86CBT_ALM.

5.3.3 Asignacin de un hecho a una variable

Para manipular un hecho dentro de una regla, se debe asignar a una variable utilizando el operador
de unin de patrones <- como se muestra a continuacin:

?prueba <- (PRUEBA CLIPS)

donde ?prueba representa el hecho (PRUEBA CLIPS), es decir el valor de ?prueba es (PRUEBA
CLIPS)

5.3.4 Eliminacin de hechos

La eliminacin de hechos se realiza con el comando retract. Su sintaxis se muestra a continuacin:

(retract <hecho-numero>)

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 ejecucin de
CLIPS): PRUEBAPROCESO"))) ;Se escribe el proceso
seguido
(retract ?prueba)) ;Se elimina el hecho

37
El hecho (PRUEBA CLIPS) es asignado a la variable ?prueba, para que despus 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 ejecucin.

5.3.5 Plantillas de hechos

Los grupos de hechos que comparten el mismo hecho de relacin y tienen informacin comn se
pueden describir utilizando plantillas de definicin o deftemplates, los cuales son arreglos de
variables y/o hechos.

El formato de la plantilla de definicin utilizada es la siguiente:

(deftemplate <nombre del deftemplate>


(multislot <nombre de los campos del deftemplate>))

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 ms 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 Hiptesis (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:

(deftemplate RESULTADO
(multislot HIPOTESIS))

Se observa que el <nombre del deftemplate> es RESULTADO y <nombre de los campos del
deftemplate> es HIPOTESIS.

38
Para el deftemplates de Causas se tiene:

(deftemplate CAUSA
(multislot INMEDIATAS))

Formato para las recomendaciones correctivas de las fallas:

(deftemplate RECOMENDACION
(multislot CORRECTIVA))

5.4 REGLAS

El SISTEMA EXPERTO EoS est conformado por diferentes archivos que contienen el cdigo de
programacin de las reglas de los procesos de anlisis especficos, los cuales se cargan a CLIPS
dependiendo de la Alarma de Disparo que se haya activado. Cada proceso de anlisis 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 ejecucin165

Las reglas son el conocimiento y se represen en un pseudocdigo equivalente al formato SI


ENTONCES ... expresada en sintaxis de CLIPS.

El formato general de una regla es el siguiente:

( defrule <nombre de la regla>


<patrones> ; lado izquierdo
de la regla
=>
<acciones> ; lado derecho
de la regla
La regla completa debe ponerse entre parntesis al igual que cada uno de sus patrones y acciones,
los cuales pueden ser mltiples.

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

165
Para ms informacin remtase a la seccin 5.5.1 y 5.5.2 de este Manual.

39
Despus del encabezado de la regla sigue cero o ms elementos condicionales que son los
<patrones>, es decir, corresponden a uno o ms 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 ejecucin, y

Las conclusiones intermedias que genera CLIPS a travs del anlisis 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 smbolo => 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 despus 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
ejecutarn cuando se dispare la regla como respuesta a los patrones. El trmino disparar significa
que CLIPS ejecuta las acciones de la regla en la Agenda.

Por ejemplo, el siguiente pseudocdigo 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 aaden comentarios explicativos


de cada rengln:

; Encabezado de la regla: Donde transmisores es el nombre de la regla

((defrule transmisores

166
Agenda: Coleccin de reglas activadas, donde puede haber cero o ms reglas. Para ms informacin
remtase al libro SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico experto para
turbocompresores utilizados en la extraccin de petrleo.

40
; Patrones: Hechos por los cuales la regla se dispara. El hecho es (M11-PT1801) y se le asigna a la
variable ?a4

?a4 <-(M11-PT1801)

; Flecha equivalente a ENTONCES

=>

; Acciones: Respuestas que se emprendern 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)

(assert (RESULTADO(HIPOTESIS "(Transmisores): ALARMA


M11-PT1801 . Falla en Transmisores de campo ")))
(assert (alarma M11-PT1801))
(retract ?a4))

5.4.1 Prioridad de las reglas

En algunos casos las reglas tienen mayor prioridad que otras debido a que tienen en s informacin
ms 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 segn
su prioridad definiendo explcitamente la prioridad de una regla dentro del rango de 10000 hasta
10000.

Es importante tener en cuenta no usar en exceso la asignacin 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,
tambin 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 declaracin de valores de prioridad se hace de la
siguiente manera:

(declare (salience <rango de prioridad>))

41
donde <rango de prioridad> es el valor de prioridad que se debe asignar y puede ser cualquier
valor entre 10000 y 10000. Ejemplo:

(declare (salience 30))

La prioridad de una regla se define dentro de su estructura como se muestra a continuacin:

(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

5.5 FUNCIONES

5.5.1 Carga de hechos: Funcin 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:

(load-facts <nombre del archivo>)

La funcin load-facts carga un grupo de hechos almacenados en un archivo de texto llamado


<nombre del archivo> incluyendo la informacin de su ruta de acceso en el computador. Los
hechos que se cargan deben estar en el formato estndar de un hecho. Por ejemplo,

(load-facts c:/EJERVG/Primarias.bin)

carga los hechos que estn en el archivo binario Primarias.bin, los cuales cumplen el siguiente
formato:

(M12-L39VCT)
(M11-LCLFDEN_ALM)

El SISTEMA EXPERTO EoS utiliza la funcin load-facts para cargar la Alarma de Disparo y las
Alarmas Secundarias cuando se requiera.

167
Se pueden cargar tambin archivos con otra extensin, como *.DOC, *.BIN, etc.

42
5.5.2 Almacenamiento de hechos: Funcin 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:

(save-facts <nombre del archivo> <mbito guardado>


<nombre del deftemplate> )

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 slo lo que se encuentra en el deftemplate169 especfico
llamado <nombre del deftemplate>. Ejemplo:

(save-facts c:/EJERVG/Causas.Bin local CAUSA)

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:

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

Observe que inicialmente el deftemplate CAUSA tuvo que haber sido definido. Cuando la regla
vlvula-venteo se dispara se agregan a la Lista de Hechos tres (3) hechos:

168
Se pueden guardar tambin archivos con otra extensin, como *.DOC, *.BIN, etc.
169
Deftemplates: Son arreglos donde se almacena informacin, como matrices de datos. Para mas
informacin remtase a los manuales de CLIPS que se adjuntan en el CD de instalacin del SISTEMA
EXPERTO EoS: Gua del Usuario, Gua Bsica de programacin y Gua Avanzada de Programacin.

43
1. (CAUSA(RAIZ "(Transmisores): VALVULA DE VENTEO
ABIERTA"))
2. (CAUSAS(ANTECEDENTES "(Transmisores): Verificacion de
estado de la valvula de venteo > Valvula abierta"))
sin embargo la instruccin (save-facts c:/EJERVG/Causas.Bin local CAUSA) slo guardara en el
archivo Causas.Bin el primer hecho

(CAUSA(RAIZ "(Transmisores): VALVULA DE VENTEO ABIERTA"))

el cual corresponde al deftemplate CAUSA.

5.5.3 Almacenar un valor en una variable: Funcin


Bind

Para almacenar un valor en una variable temporal se utiliza la funcin bind. La sintaxis
utilizada es la siguiente:

(bind <variable> <valor de la variable>)

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:

(bind ?*var* (+ 0 1))

A la variable ?*var se le asigna el valor de 0+1, es decir, 1. Es necesario tener en cuenta que la
funcin bind SIEMPRE se utiliza al lado derecho de una regla, es decir donde se encuentran las
acciones. Por ejemplo:

(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

La variable ?*var* slo ser 1 si se dispara la regla alarma-principal, de lo contrario seguir siendo
0 como inicialmente se defini.

44
5.5.4 Abrir archivos de lectura y escritura: Funcin
Open

Para leer un archivo texto o poder escribir en l, se necesita abrir con la funcin open. La sintaxis
de la funcin open es:

(open <nombre del archivo><nombre lgico del


archivo><acceso al archivo>)

El <nombre del archivo> es el nombre del archivo que se desea abrir incluyendo la informacin de
su ruta de acceso en el computador. Cada archivo debe tener un nombre lgico asociado, que es el
<nombre lgico 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 lgico 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 slo lectura

Modo w para acceso de slo escritura

A continuacin se muestra un ejemplo.

(open "c:/EJERVG/Rta.bin" respuesta "r")

El archivo que se va abrir es "c:/EJERVG/Rta.bin". El nombre lgico que se la asocia al archivo es


respuesta, y "r" significa que el archivo se va abrir para acceso de slo lectura.

Se debe tener en cuenta que si el archivo que se desea abrir no existe, la funcin open lo crear
instantneamente.

5.5.5 Cerrar un archivo: Funcin Close

Cuando se termine de utilizar un archivo, se debe cerrar con la funcin close. La sintaxis es:

(close <nombre lgico del archivo >)

donde <nombre lgico del archivo> especifica el nombre lgico del archivo a cerrarse. Por ejemplo:

(close respuesta)

45
cerrar el archivo conocido por CLIPS con el nombre lgico respuesta.

Es importante recordar que NO deben quedar archivos abiertos.

5.5.6 Borrar un archivo: Funcin Remove

Para borrar un archivo se utiliza la funcin remove. La sintaxis es:

(remove <nombre-ruta del archivo >)

donde <nombre-ruta del archivo> especifica el nombre y ruta especfica del archivo que se desea
borrar. En el siguiente ejemplo:

(remove "c:/EJERVG/Primarias.bin")

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: Funcin Printout

Para imprimir informacin en un archivo, es decir, para escribir informacin en un archivo se utiliza
la funcin printout. La sintaxis es la siguiente:

(printout <nombre lgico del archivo > "<texto escrito>")

El <nombre lgico del archivo > es el nombre lgico del archivo donde se va a escribir el "<texto
escrito>", el cual va entre comillas. Por ejemplo:

(printout pregunta "La lectura del transmisor que causo el trip esta en cero (0v) ? ")

significa que en el archivo especificado con el nombre lgico 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 funcin open en modo de acceso de
escritura, escribirlo con la funcin printout, y cerrarlo con la funcin close. Ejemplo:

46
(open "c:/EJERVG/Pta.bin" pregunta "w")
(printout pregunta "La lectura del transmisor que causo el trip esta en cero (0v) ? )

(close pregunta)

Si se desea escribir ms de un rengln en el archivo se utiliza el comando crlf el cual acta como
enter170 en el archivo, haciendo que el cursor se ubique en el rengln siguiente del archivo.
Ejemplo:

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

En este caso, se imprimir la informacin en el archivo Pta.bin de la siguiente manera:

La lectura del transmisor que causo el trip esta en cero (0v)?


SI
NO

5.5.8 Entrada de informacin: Funcin Read-


ReadLine

Para leer informacin que esta en un archivo de texto se utiliza la funcin read .La sintaxis es la
siguiente:

(read <nombre lgico del archivo >)

donde <nombre lgico del archivo > es el nombre lgico del archivo del que se lee la informacin.

Para recuperar valores que estn escritos en un archivo de binario (.bin), primero se abre dicho
archivo con acceso de solo lectura, se utiliza la funcin 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:

(open "c:/EJERVG/Rta.bin" respuesta "r")


(bind ?*si5* (read respuesta))
(close respuesta)

170
Enter: Salto de lnea.

47
En el caso anterior, se abre el archivo Rta.bin en acceso de slo lectura r. Una vez abierto se usa
la funcin read para recuperar el valor escrito el cual es la palabra NO que esta en el archivo
asociado con el nombre lgico respuesta (Rta.bin ). Para no perder este valor se utiliza la funcin
bind171 , la cual le asigna a la variable ?*si5* el valor que se ley (la palabra NO). Finalmente el
archivo se cierra con la funcin close172; pero el valor no se pierde porque est almacenado en la
variable ?*si5*.

La funcin read slo leer el primer campo de un rengln, es decir, si se tiene la siguiente entrada
en el archivo que se va a leer:

BANDERA INICIO

Utilizando la funcin read, slo se leer el primer campo: BANDERA.

Para leer una lnea completa de entrada se utiliza la funcin readline. Su sintaxis es:

(readline <nombre lgico del archivo >)

Se utiliza de la misma manera que la funcin read con al nica diferencia que lee ms de un
campo. Por ejemplo, si el archivo Primarias.bin tiene escrito las palabras BANDERA INICIO:

(open "c:/EJERVG/Primarias.bin" primarias "r")


(bind ?*hecho* (readline primarias))
(close primarias)

en la variable ?*hecho se almacenan las palabras BANDERA INICIO.

5.5.9 Rengln vaco

El smbolo EOF (End Of File, final del archivo), es el valor que CLIPS retorna a las funciones de
entrada cuando se intenta leer ms all del final de un archivo, es decir, cuando ya no hay ms
datos en un archivo.

Si se verifica el valor que retorna la funcin read o readline, es posible determinar el momento en
que ya no hay ms datos en el archivo. Por ejemplo:

171
Para ms detalles, remtase a la seccin 5.5.3 de este Manual.
172
Para ms detalles, remtase a la seccin 5.5.5 de este Manual.

48
(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 lnea leda
en el archive primarias, a la variable hecho
(close primarias) ;Se cierra el archivo
(if (eq ?*hecho* EOF) ;Cuando no hayan ms 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

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 lnea del archivo con la funcin readline. El valor
ledo se guarda en la variable ?*hecho* por medio de la funcin bind y se evala la siguiente regla:

Si1 la variable ?*hecho* es igual al smbolo EOF, es decir si es vaco (es final
del archivo y el rengln es vaco),

Entonces la variable ?*var* es igual a la variable ?*var* ms cero.

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 ejecucin de acciones en el lado derecho de
algunas reglas, teniendo presente que slo estn 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 propsito
del uso de un programa basado en reglas173 como lo es el SISTEMA EXPERTO EoS.

5.6.1 La funcin if

La sintaxis de la funcin if se muestra a continuacin:

173
Para ms informacin sobre programacin basada en reglas remtase al libro SISTEMA EXPERTO EoS:
Gestin de fallas con diagnstico experto para turbocompresores utilizados en la extraccin de petrleo.

49
(If <expresion-condicion>
then <expresion-accion-caso-condicion>
else <expresion-accion-caso-segunda-condicion >)

donde <expresion-condicion> es una expresin simple (como una funcin) que expresa una
condicin. 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 evalan con base en
el valor de devolucin de la evaluacin de <expresion-condicion>

En una funcin if, lo primero que se evala es la condicin que representa <expresion-condicion>
para determinar si se ejecutan las acciones de la clusula then o de la clusula else. Es decir, si se
cumple la condicin descrita en <expresion-condicion> se ejecutan las acciones de la clusula then
correspondientes a <expresion-accion-caso condicion >, si por el contrario, NO se cumple la
condicin descrita en <expresion-condicion> se ejecutan las acciones de la clusula else
correspondientes a <expresion-accion-caso segundo condicion >

La funcin if se utiliza en el lado derecho de una regla. En el siguiente ejemplo se muestra el uso
de la funcin if dentro de 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 lnea del archivo
(close primarias) ;Se cierra el archivo
(if (eq ?*hecho* EOF) ;Se hay un fin de lnea
then(bind ?*var* (+ ?*var* 0)) ;Asignele 0 a var
else ;si no es asi
(bind ?*var* (+ ?*var* 1)))) ;Asgnele 1 a var
( ?f01 )) li i l i bl

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
funcin 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 continuacin se explica detalladamente las acciones que se ejecutan en el
ejemplo anterior al dispararse la regla alarma-principal:

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

5.6.2 La funcin While

La sintaxis de la funcin while se muestra a continuacin:

(while <expresion-condicion>
do <expresiones-acciones- condicion >
)

donde <expresion-condicion> es una expresin simple (como una funcin) que expresa una
condicin. Las <expresiones-acciones-condicion > que sigue a la palabra do, son cero o ms
expresiones que se evalan con base en el valor de devolucin de la evaluacin 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 funcin while.

51
Lo primero que se evala en un funcin while es la condicin que representa <expresion-
condicion> para determinar si se ejecutan las acciones del cuerpo correspondientes a las
<expresiones-acciones-condicion > las cuales van despus de la clusula do. La condicin de la
funcin while (<expresion-condicion>) se revisar cada vez que se ejecute el cuerpo
(<expresiones-acciones-condicion >) para determinar si debe ejecutarse otra vez.

La funcin while se utiliza en el lado derecho de una regla. En el siguiente ejemplo se muestra el
uso de la funcin while dentro de la regla alarma-principal

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

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 funcin 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 continuacin 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))

52
(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 ))

5.7 VENTANAS DE CLIPS

5.7.1 Dialog Window

La ventana llamada Dialog Window es la que permite realizar la compilacin del cdigo de
programacin.

Figura 94: Ventana Dialog Window en CLIPS.

5.7.2 Ventana de edicin

En la ventana de edicin se permite escribir, modificar y guardar el cdigo de programacin, para


posteriormente simularlo en la ventana Dialow Window.

Igualmente se puede abrir el nmero de ventanas que se desee.

Para escribir el cdigo primero se debe abrir una ventana de edicin con el comando New.

53
Figura 95: Ventana de edicin de CLIPS, y ubicacin del comando New.

La ventana de edicin se llama Untitled pero el usuario le puede asignar el nombre que desea
cuando la guarde con el comando Save.

En la ventana de edicin se escribe el cdigo de programacin para despus simularlo en la


ventana de dilogo llamada Dialog Window.

Se debe tener en cuenta que la ventana de edicin tiene un nmero mximo de renglones para
escribir cdigo, es decir no se pueden escribir ms de 470 lneas de cdigo en una ventana.

Para compilar el programa, se debe seleccionar la parte de cdigo que se desea compilar, hacer clic
en el botn derecho del ratn y escoger el comando Select All.

Figura 96: Comando Select All de CLIPS.

Luego de haber seleccionado el cdigo que se desea compilar, se compila trasladndolo a la


ventana Dialog Window presionando simultneamente las teclas Crtl +M.

54
Cuando el cdigo 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 descripcin de los comentarios de errores se encuentran en el Apndice G de la Gua Bsica de
Programacin de CLIPS, el cual se incluye en el CD de instalacin del SISTEMA EXPERTO EoS.

55
6 ESTRUCTURA Y PROGRAMACIN DEL SISTEMA EXPERTO
EoS EN CLIPS

A continuacin se presenta la estructura general y el cdigo de programacin utilizados para


alimentar el SISTEMA EXPERTO EoS. Encontrar la representacin de los rboles de Conocimiento
utilizados para la desarrollo del sistema y las aclaraciones pertinentes al modo de programacin del
SISTEMA EXPERTO EoS en CLIPS.

El cdigo de programacin referente a la informacin que alimenta al SISTEMA EXPERTO EoS se


guarda en diferentes archivos en la carpeta EJERVG que se encuentra en C:/

Los archivos con extensin *.CLP que se encuentran en la carpeta EJERVG son los archivos que
CLIPS utiliza, dependiendo del caso, para poder hacer el proceso de anlisis de causa de falla.

Figura 97: Lista de archivos con extensin *.CLP, ubicados en C:\EJERVG, donde se encuentra al cdigo
que alimenta el SISTEMA EXPERTO EoS.

6.1 NOMBRE DE LOS ARCHIVOS DE CLIPS

La estructura de programacin realizada en CLIPS cuenta con un archivo denominado


PROGRAMAGLOBAL.CLP,175 el cual contiene el cdigo de programacin que permite determinar
cul 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 ms archivos en CLIPS, cuyos nombres hacen referencia a:

175
PROGRAMAGLOBAL.CLP se encuentra en C:/EJERVG.

56
El tag de la Alarma de Disparo con la cual se hace el anlisis,

El caso de rbol de Conocimiento que se analiza.

Es decir, cada anlisis de causa de falla consta usualmente176 de dos archivos, uno llamado segn
el tag de la Alarma de Disparo que se analiza y los dems nombrados segn el rbol de falla de
anlisis de causa que contienen.

En el archivo llamado PROGRAMAGLOBAL.CLP es dnde 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 lneas de cdigo que se estudian al
presentarse la Alarma de Disparo respectiva. Si el cdigo que contiene este archivo supera las 470
lneas177 se realiza el llamado al archivo cuyo nombre corresponde al rbol de Conocimiento, el cual
contiene la continuacin del cdigo.

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:

;*** 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))

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 anlisis de las causas de falla. Dentro del
cdigo del archivo ALARMAM11-PT1801.CLP se hace el llamado a los archivos necesarios para
proseguir el anlisis como se muestra a continuacin: (solo si se supera el nmero de lneas
permitidas de cdigo.)

176
El nmero de archivos puede ser mayor o menor de acuerdo al caso de estudio, su complejidad y cantidad
de informacin.
177
Recuerde que en CLIPS los archivos tienen un numero mximo de renglones de cdigo permitido, por lo
tanto, en algunos casos es necesario hacer llamados a otros archivos para continuar con el cdigo.

57
;*********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 continuacin de
Transmisoresdecampo
Como se puede observar, al final del cdigo 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 anlisis de causas de falla.

6.2 RBOLES DE CONOCIMIENTO

Los rboles de Conocimiento son representaciones grficas y lgicas 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 actuacin; de
acuerdo al anlisis y estado de los equipos relacionados con los turbocompresores. Estas preguntas
se realizan en medio de la ejecucin del programa usando la interfaz grfica y son un insumo para
llegar a las posibles causas de fallas.

A continuacin se presenta un fragmento del rbol de Conocimiento de Deteccin de Fuego


utilizado para alimentar el SISTEMA EXPERTO EoS.

58
Figura 98: Fragmento de un rbol de Conocimiento utilizado en la elaboracin del SISTEMA EXPERTO
EoS.

Los especialistas en el tema fueron los responsables de suministrar la informacin para la creacin
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 pseudocdigo equivalente al
formato SI ENTONCES (IFTHEN.)

6.3 EXPLICACIN DEL CDIGO DE UN RBOL DE


CONOCIMIENTO

En el Anexo A de este documento se presenta de manera detalla y explicativa el cdigo de


programacin elaborado en CLIPS del rbol de Conocimiento Deteccin de Fuego.

59
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 estn relacionadas con los turbocompresores.

ALIMENTAR EL SISTEMA EXPERTO EoS: Agregar informacin de procesos nuevos para que el
sistema sea ms completo y robusto. A cargo del Usuario Experto.

ANLISIS DE EVENTO: Es un modo de trabajo del SISTEMA EXPERTO EoS en el que el usuario
puede ingresar la informacin con las alarmas que generan los equipos y realizar manualmente un
proceso.

RBOL DE CONOCIMIENTO: Representaciones grficas y lgicas 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 informacin 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


informacin de las alarmas con la que desea realizar el Anlisis de Eventos. Debe tener las mismas
caractersticas del Archivo de Entrada.

ARCHIVOHYP.TXT: Archivo de texto con la informacin 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 CONTINUACIN: Archivos con cdigo en CLIPS, que tienen la continuacin de


un proceso determinado, cuando los archivos donde est la informacin se le terminan los

60
renglones permitidos de escritura. Estos archivos de continuacin llevan el nombre del rbol de
Estudio asociado al anlisis 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 produccin de petrleo 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 informacin 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 sincrnica con la Interfaz Grfica, es el
que realiza el proceso de inferencia y genera la informacin 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 extraccin de petrleo ubicada en Cusiana, Casanare.

DEFTEMPLATES: Son arreglos donde se almacena informacin. 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.

INFORMACIN DE LA ALARMA DE DISPARO: Es la informacin referente a la Alarma de


Disparo: tag de la alarma, descripcin 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.

61
INTERFAZ GRFICA: Es el programa con el que el usuario interacta, y donde se muestra la
informacin de inters para ste. La interfaz grfica 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 estn 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.

MDULO DE ADQUISICIN DEL CONOCIMIENTO: Componente de los sistemas expertos.


Permite aadir, eliminar o modificar elementos de conocimiento (en la mayora 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 comparacin 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 dems salidas.

PROCESO.BIN: Archivo donde se almacena la secuencia de pasos realizados por el SISTEMA


EXPERTO EoS para generar las dems 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.

62
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 informacin 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 comparacin 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 extraccin de petrleo
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 Grfica del SISTEMA EXPERTO EoS.

SISTEMA EXPERTO EoS: Gestin de fallas con diagnstico experto para


turbocompresores utilizados en la extraccin de petrleo: Libro donde se da a conocer la
forma como se cumplieron los objetivos propuestos inicialmente, dada la estructura del prototipo
del sistema experto, su construccin y la informacin recolectada y estudiada. Se incluye en le CD
del SISTEMA EXPERTO EoS.

TAG: Es el cdigo que utilizan en el CPF de Cusiana para identificar cada una de las alarmas
relacionadas con los equipos de extraccin de petrleo.

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.

63
ANEXOS
ANEXO A: EXPLICACIN DEL CDIGO DE
PROGRAMACIN DEL RBOL DE CONOCIMIENTO
DETECCIN DE FUEGO

A continuacin se presenta de manera detallada y explicativa el cdigo de programacin


elaborado en CLIPS del rbol de Conocimiento Deteccin de Fuego. Se incluye la descripcin
del archivo PROGRAMAGLOBAL.CLP.

ARCHIVO PROGRAMAGLOBAL.CLP

En este archivo se encuentra el cdigo de CLIPS, en donde se hace el llamado del archivo
correspondiente para hacer el anlisis segn 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. Definicin 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. Definicin 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

1
Alarmas de Disparo. La regla que se dispara al detectar el hecho (BANDERA INICIO) se
muestra a continuacin:

(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 Deteccin 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 especfico segn 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 cdigo inicial
del anlisis del rbol Deteccin de Fuego. Al mismo tiempo, se afirma como antecedente la
presencia de una alarma que avisa deteccin 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)

2
?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 especfico segn
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)

3
?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 cdigo anteriormente descrito se ejecute se utiliza el


comando (run).

Sin embargo, inmediatamente despus que finaliza un anlisis completo, se siguen las
instrucciones que estn despus de ese comando:

;***PARA VISUALIZAR CAUSAS Y PROCESO


(run)

10. Las instrucciones a seguir despus de finalizado un anlisis son guardar las causas
inmediatas, resultados hiptesis, y recomendaciones correctivas que se generaron en
todo el proceso de anlisis, en los archivos correspondientes para despus 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 anlisis

4
(save-facts c:/EJERVG/Recomendaciones.bin local RECOMENDACION) ; Se guarda en
el archivo Recomendaciones.txt todas las Recomendaciones generadas en el
proceso de anlisis

(save-facts c:/EJERVG/Proceso.bin local CAUSAS) ; Se guarda en el archivo


Proceso.txt todas los resultados de las hiptesis generados en el proceso de
anlisis

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 anlisis 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. Definicin 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 segn el led:

(defrule alarma-deteccion-fuego
(declare (salience 20))
?f02 <- (alarma M12-L45FTT_ALM) ;Alarma principal de disparo

5
=>
(open "c:/EJERVG/Rta.txt" respuesta "w");Creacin 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 cdigo necesario para continuar con el
proceso de anlisis:

;***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)

6
17. El primer archivo que se carga es DetecciondefuegoZONA1A.CLP.

ARCHIVO DETECCIONDEFUEGOZONA1A.CLP

18. Definicin 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:

7
;**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. Definicin 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:

8
;**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. Definicin 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

9
24. Definicin 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 daado. 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. Definicin 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 daado
=>
(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. Definicin de algunas variables y regla para el hecho (continuacorto600 NO), el cual se
afirma si no continua el corto entre los cables:

10
;***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 dao 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:Dao 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. Definicin de algunas variables y regla para el hecho (cortosensores600 SI), el cual se
afirma si los sensores estn en corto:

;**DEDUCCIONES SI los sensores estan en corto:

(defrule falla600-detector600 ;Regla para (cortosensores600 SI)


?f29 <-(cortosensores600 SI) ;Si dao 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. Definicin de algunas variables y regla para el hecho (cortocables600 NO ), el cual se


afirma si NO hay corto entre los cables:

11
;***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 ))

12
30. Definicin 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. Definicin 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
=>

13
(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 daado. 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 daado
=>
(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 dao en los sensores
=>

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: 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:Dao 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 estn en
corto:

;**DEDUCCIONES SI los sensores estan en corto:

(defrule falla450-detector450 ;Regla para (cortosensores450 SI)


?f36 <-(cortosensores450 SI) ;Si dao 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)
=>

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: 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:Dao 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 segn 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;

16
(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 tambin 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 Deteccin de Fuego para asegurar que las alarmas secundarias hacen referencia
al anlisis de deteccin de fuego, ya que la alarma se podra 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 deteccin 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)

17
?f40d <- (M16-L45HTA)
?f40d <- (M17-L45HTA))
?f40e <- (auxiliar M11-TFT) ;y auxiliar = M11-TFT. Arbol deteccin 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 deteccin 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 cdigo 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. Definicin 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 ********

18
;***** 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

19
42. Definicin 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. Definicin 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")))

20
(assert (RECOMENDACION(CORRECTIVA "(Deteccion de fuego): Aterrizamiento del
cable -> Reemplazar tramo de cable pelado ")))
(retract ?f48 ))

44. Definicin 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. Definicin 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
=>

21
(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 daado. 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. Definicin 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 daado
=>
(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. Definicin 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 dao en los sensores
=>
(open "c:/EJERVG/Rta.bin" respuesta "w"); Crea archivo Rta para escribir la
respuesta

22
(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:Dao 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 estn en
corto:

;**DEDUCCION SI los sensores estan en corto:

(defrule falla1B-detector1B ;Regla para (cortosensores1B SI)


?f54 <-(cortosensores1B SI) ;Si dao 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. Definicin 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)

23
(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 segn 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

24
(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 tambin 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 Deteccin de Fuego para asegurar que las Alarmas Secundarias hacen referencia
al anlisis de Deteccin de Fuego, ya que la alarma se podra 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 deteccin 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 deteccin 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)

25
?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 deteccin 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 cdigo 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. Definicin 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

26
(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. Definicin 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

27
(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)

28
(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))))

29
(assert (continuacorto2B ?*si2a*)) ;Si respuesta es SI:cable daado. 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 daado
=>
(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 dao 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:Dao en sensores.
;Nuevo hecho:(continuacorto2B ?*si2*)
(SI/NO)

30
(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 dao 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")))

31
(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. Definicin 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))))

32
(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. Definicin 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))))

33
(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. Definicin 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. Definicin 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))))

34
(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. Definicin 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. Definicin 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)

35
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:Dao 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)

36

You might also like