Você está na página 1de 24

UNIVERSIDAD MAYOR DE SAN SIMN FACULTAD DE CIENCIAS Y TECNOLOGA CARRERA DE INGENIERA DE SISTEMAS

NOMBRES: BARRIENTOS JALDIN DIEGO COCA VARGAS MANUEL RODRIGO FLORES SORIA MIRIAN DOCENTE: LIC. CARMEN ROSA GARCIA PEREZ MATERIA: SISTEMAS EXPERTOS INFORME 3

Abril, 26 de 2013 1

ndice de contenido
1. INTRODUCCIN.................................................................................................................................3 2. DESCRIPCIN DEL PROBLEMA......................................................................................................3 3. OBJETIVOS..........................................................................................................................................3 Objetivo General...................................................................................................................................3 Objetivos Especficos............................................................................................................................3 4. ADQUISICIN DE CONOCIMIENTO................................................................................................4 Determinacin de los Sntomas de una Falla .......................................................................................4 Ubicacin del Problema dentro de una Unidad Funcional o Mdulo ..................................................4 Aislamiento del Problema dentro de un Circuito .................................................................................5 Localizacin Especfica del Problema .................................................................................................5 5. METODOLOGA DE DESARROLLO.................................................................................................6 6. ESTRUCTURA DE LA BASE DE CONOCIMIENTO........................................................................6 Reglas de problemas de encendido.......................................................................................................6 Reglas de problemas de imagen............................................................................................................7 Reglas de problemas de sonido...........................................................................................................11 7. DESARROLLO DE LA METODOLOGA........................................................................................12 8. CONCLUSIONES...............................................................................................................................12 9. BASE DE CONOCIMIENTO Y CONEXIN JAVA-JESS................................................................12 Base de conocimiento..........................................................................................................................12 Conexin JAVA-JESS.........................................................................................................................23

1. INTRODUCCIN La reparacin de un televisor queda limitada a aquellos que tengan un buen conocimiento de electrnica, adems de contar con las herramientas adecuadas, pudiendo adems ser peligroso para los que no conozcan bien el tema, ya que algunas partes de la TV soportan tensiones muy altas (de ms de 20.000 voltios) y componentes que, aunque desconectemos el monitor de la corriente elctrica, permanecen cargados durante bastante tiempo. Es decir, se necesita de un experto en este tema que sepa paso a paso cmo se debe proceder y que indique los cuidados que se deben tener. Por ese motivo se desarrollar un Sistema Experto en el Control de Fallas. Un Sistema Experto de Control participa en la realizacin de las tareas de interpretacin, diagnstico y reparacin de forma secuencial. Con ello se consigue guiar un proceso. Los Sistemas de Control son complejos debido al nmero de funciones que deben manejar y el gran nmero de factores que deben considerar; esta complejidad creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto de los Sistemas Expertos. 2. DESCRIPCIN DEL PROBLEMA A menudo nos encontramos con problemas de televisores que no encienden, la imagen no se ve correctamente, no hay sonido y lo que normalmente se hace es: Revisar el cable de alimentacin Comprobar los fusibles Observar los transistores Chequear los capacitores Examinar el diodo Zener Verificar los parlantes Inspeccionar el yugo Buscar los falsos contactos o soldadura fra El sistema propuesto trata de dar solucin a los problemas ms comunes con los que nos encontramos en los televisores. Por ello est basado en diagnsticos y revisin de algunos componentes para detectar exactamente donde est la falla. 3. OBJETIVOS Objetivo General Desarrollar un Sistema Experto de Control de Fallas para Televisores que colabore en la reparacin de desperfectos ms comunes que se dan en las televisiones. Objetivos Especficos Realizar consultas con el experto humano para adquirir conocimiento acerca de los desperfectos ms comunes en los televisores, los pasos a seguir y los cuidados que se deben tener a la hora de repararlos. Disear la base de conocimiento de nuestro sistema experto, utilizando el motor de inferencia JESS y la herramienta JAVA. Desarrollar la interfaz de usuario con JAVA, que muestre las fallas ms comunes en cuanto a imagen. Desarrollar un prototipo sin interfaz grfica de usuario. Realizar pruebas al sistema experto. 3

4. ADQUISICIN DE CONOCIMIENTO Determinacin de los Sntomas de una Falla Determinar los sntomas significa que se debe saber qu es lo que hace el equipo cuando opera en forma normal y, ms importante an, que es capaz de reconocer cuando el trabajo normal no se est realizando. La mayor parte de los equipos o sistemas electrnicos tienen controles de operacin, instrumentos indicativos u otras ayudas integradas para evaluar su funcionamiento. Debe analizar los sntomas, normales y anormales, que producen los indicadores integrados del equipo, con el fin de formularse las preguntas siguientes: que se supone que haga el equipo?, Hasta qu punto se est realizando el trabajo?, En qu parte del equipo puede estar el problema que produce tales sntomas? Desde luego, estas preguntas se modifican d acuerdo con la situacin prctica. La determinacin del sntoma no significa que deba atacar al equipo con un destornillador o herramienta de soldar, tampoco utilizar exhaustivamente el instrumento de pruebas. Por el contrario, este primer paso en la correccin de fallas se refiere en principio a su habilidad y sentido de observacin (incluida una inspeccin visual del equipo y, para cierta clase de mecanismos complejos, el empleo de un conjunto de instrumentos que permitan observar formas de onda de entrada y salida, medicin de corriente, etc.), as como de sus conocimientos de lo que se supone hace el equipo y la forma como funciona. En general, para sistemas o aparatos menos complejos, el paso de determinacin de los sntomas representa advertir las indicaciones de funcionamiento, tanto normales como anormales, manipulando los controles de operacin para obtener informacin y correlacionar los sntomas. Al final de este paso, ya se sabe de cierto que algo est mal y tiene idea clara de cul es el problema, aunque no sabe con exactitud el rea en donde est el defecto. Esto se determina en el siguiente paso de la correccin de fallas. Ubicacin del Problema dentro de una Unidad Funcional o Mdulo Una vez confirmados y analizados los sntomas, el siguiente paso consiste en ubicar el problema en la unidad funcional ms apropiada del equipo. Aun los dispositivos electrnicos sencillos pueden subdividirse en unidades o reas que tienen un propsito o funcin definido. El trmino funcin se emplea aqu para indicar una operacin electrnica que se realiza en un rea especifica del equipo o sistema. En el caso de aparatos ms complejos, como televisores, las funciones pueden subdividirse en audio, video, sintonizacin, imagen y fuente de alimentacin. Estas funciones, al combinarse, constituyen el conjunto de un equipo completo que permite se realice el propsito electrnico para el cual fue diseado. Para localizar problemas de manera sistemtica y lgica, debe conocer las unidades funcionales del equipo y correlacionar todos los sntomas determinados con anterioridad para dichas unidades. De hecho, se hace una estimacin vlida del rea en la que puede estar el problema, a partir de los sntomas. En un principio, puede seleccionar como el rea probable del problema diversas posibilidades de precisin tcnica.

Aislamiento del Problema dentro de un Circuito Despus de localizar el problema dentro de un rea funcional, el paso siguiente consiste en aislar el problema dentro de un circuito en el rea de la falla. Para ello, concntrese en los circuitos del rea que pudieran causar el problema e ignore los restantes. El paso de aislamiento comprende la utilizacin de instrumentos de pruebas como medidores, osciloscopios y generadores de seales para el rastreo de seal y la sustitucin de seal en el rea donde se sospecha que est la falla, se puede mediante estimaciones precisas y el empleo de los diagramas correspondientes, tcnicas de encasillamiento, rastreo y sustitucin de seales, aislar el problema en un solo circuito defectuoso. Las herramientas y tcnicas de reparacin no se emplean sino hasta despus de localizar y verificar el problema especfico. Esto es, que en este punto usted an no invade el aparato con equipo de soldar y pinzas. En vez de ello, est tratando de aislar el problema en un circuito defectuoso determinado, de manera que una vez aislado pueda proceder a la reparacin. Localizacin Especfica del Problema Aunque este paso en la correccin de fallas se refiere slo a la localizacin del problema especfico, incluye tambin un anlisis final o revisin del procedimiento completo y el empleo de tcnicas de reparacin para remediar el problema. Este anlisis le permite determinar si algn otro mal funcionamiento ocasion la falla del componente localizado o si es la causa real del problema. La inspeccin por medio de los sentidos vista, olfato, odo y tacto, resulta muy til cuando se pretende localizar un problema. Normalmente, esta inspeccin se realiza en primer lugar, para reunir informacin que pueda conducir con mayor rapidez a la parte defectuosa. (Aunque abarca todos los sentidos, esta inspeccin se denomina a menudo en los manuales de servicio inspeccin visual). Entre otros aspectos a buscar durante la como inspeccin visual, se encuentran los componentes quemados, carbonizados o sobre calentados, arcos voltaicos en los circuitos y partes quemadas. En aparatos donde el acceso a los circuitos es relativamente fcil, debe efectuarse primero una rpida inspeccin visual. Despus se revisa el dispositivo activo transistor o circuito integrado. Siempre se recomienda una inspeccin visual como primer paso en todo aparato. Como posible excepcin, est aquellos cuyo acceso a la mayor parte de los circuitos es muy difcil; pero contienen ciertos componentes (normalmente dispositivos activos como transistores o circuitos integrados), que pueden retirarse y probarse (o reemplazarse) con facilidad. Ntese que en la mayor parte de los manuales de servicio de hoy en da, los voltajes (y tal vez las resistencias) se presentan a menudo en los diagramas esquemticos, aunque esta informacin puede aparecer tambin en forma de tabla. No importa la informacin que est disponible ni la presentacin que tenga, se debe ser capaz de aplicar el equipo de pruebas, para llevar a cabo las mediciones. Despus de localizar el problema, debe realizarse el anlisis final del procedimiento completo de correccin de fallas para constatar el problema. Hecho esto, podr reparar la falla y comprobar que el aparato opere bien.

5. METODOLOGA DE DESARROLLO Metodologa de Brul Muchos de los trabajos en Sistemas Expertos no son dirigidos correctamente. En la mayora de los casos el problema se encuentra en la construccin del software y no en la adquisicin del conocimiento. La caracterstica ms importante de esta metodologa es el desarrollo de un SE temprano, que incrementalmente converge al Sistema Experto final. Estructura 1. Pre-planeamiento 2. Diseo y especificacin 3. Desarrollo temprano 4. Implementacin 5. Evaluacin 6. Supervisin 7. Mantenimiento Se ha seleccionado esta metodologa principalmente por el tiempo disponible, la claridad de la estructura, tambin porque es incremental y en el desarrollo se hace uso de prototipos. 6. ESTRUCTURA DE LA BASE DE CONOCIMIENTO Reglas de problemas de encendido IF el televisor no enciende THEN revisar la tensin del filtro principal IF revisar la tensin del filtro principal AND no es la tensin del filtro principal THEN verifique si estn abiertos el puente rectificador, la resistencia fusistora y el fusible de lnea IF revisar la tensin del filtro principal AND s es la tensin del filtro principal THEN revisar las tensiones de conmutacin IF revisar las tensiones de conmutacin AND no son las tensiones de conmutacin THEN verifique las tensiones de las etapas secundarias IF revisar las tensiones de conmutacin AND si son las tensiones de conmutacin THEN revisar las tensiones del flyback IF revisar las tensiones del flyback AND s son las tensiones del flyback THEN El problema est en el flyback 6

IF revisar las tensiones del flyback AND no son las tensiones del flyback THEN revisar que el oscilador est siendo alimentado IF revisar que el oscilador est siendo alimentado AND oscilador no est siendo alimentado THEN revise la tensin en el microprocesador IF revisar que el oscilador est siendo alimentado AND oscilador s est siendo alimentado THEN revisar la tensin en el transformador driver IF revisar la tensin en el transformador driver AND s existe tensin en el transformador driver THEN El problema es el transformador driver IF revisar la tensin en el transformador driver AND no existe tensin en el transformador driver THEN revisar la tensin en el resonador cermico IF revisar la tensin en el resonador cermico AND no existe tensin en el resonador cermico THEN compruebe el estado del bobinado secundario del transformador driver y compruebe si el transistor de salida horizontal est abierto IF revisar la tensin en el resonador cermico AND s existe tensin en el resonador cermico THEN El problema est en el resonador cermico y en el integrado oscilador Reglas de problemas de imagen IF el televisor s enciende THEN revisar problemas de imagen IF revisar problemas de imagen AND s hay problemas de imagen THEN revisar problemas del vertical IF revisar problemas del vertical AND s hay problemas del vertical THEN revise el circuito de deflexin vertical IF revisar problemas del vertical AND no hay problemas del vertical THEN revisar la ausencia del vertical 7

IF revisar la ausencia del vertical AND s hay ausencia del vertical THEN mida los voltajes y compruebe la seal IF revisar la ausencia del vertical AND no hay ausencia del vertical THEN revisar la ausencia del vertical con onda IF revisar la ausencia del vertical con onda AND s hay ausencia del vertical con onda THEN revise las bobinas verticales del yugo IF revisar la ausencia del vertical con onda AND no hay ausencia del vertical con onda THEN revisar el efecto bandera IF revisar el efecto bandera AND s hay efecto bandera THEN revise el regulador de voltaje +B IF revisar el efecto bandera AND no hay efecto bandera THEN revisar problemas del horizontal IF revisar problemas del horizontal AND s existen problemas del horizontal THEN revise los circuitos horizontales y el yugo IF revisar problemas del horizontal AND no existen problemas del horizontal THEN revisar el efecto cojn-barril IF revisar el efecto cojn-barril AND s existe el efecto cojn-barril THEN revise el circuito de correccin este-oeste IF revisar el efecto cojn-barril AND no existe el efecto cojn-barril THEN revisar el sincronismo vertical IF revisar el sincronismo vertical AND s existe sincronismo vertical THEN revise el oscilador IF revisar el sincronismo vertical AND no existe sincronismo vertical THEN revisar la forma de trapecio 8

IF revisar la forma de trapecio ANF s hay forma de trapecio THEN revise si hay espiras en corto en alguna de las bobinas del yugo IF revisar la forma de trapecio ANF no hay forma de trapecio THEN revisar imagen reducida IF revisar imagen reducida AND la imagen s est reducida THEN revise la fuente y el regulador de voltaje +B IF revisar imagen reducida AND la imagen no est reducida THEN revisar las lneas de retraso IF revisar las lneas de retraso AND s existen lneas de retraso THEN revise la polarizacin del TRC y verifique el circuito de borrado IF revisar las lneas de retraso AND no existen lneas de retraso THEN revisar imagen negativa IF revisar imagen negativa AND la imagen s est negativa THEN revise la seal de luminancia F revisar imagen negativa AND la imagen no est negativa THEN revisar imagen blanco y negro IF revisar imagen blanco y negro AND la imagen s est en blanco y negro THEN revise los circuitos de croma IF revisar imagen blanco y negro AND la imagen no est en blanco y negro THEN revisar los problemas de color IF revisar los problemas de color AND s existen problemas de color THEN revise el circuito de croma del color correspondiente y el TRC IF revisar los problemas de color AND no existen problemas de color THEN revisar franjas y manchas 9

IF revisar franjas y manchas AND s existen franjas y manchas THEN revise la mscara de sombra del TRC IF revisar franjas y manchas AND no existen franjas y manchas THEN revisar el efecto cometa IF revisar el efecto cometa AND s existe el efecto cometa THEN revise el TRC y los amplificadores de video IF revisar el efecto cometa AND no existe el efecto cometa THEN revisar si est oscuro o hay mucho brillo IF revisar si est oscuro o hay mucho brillo AND est oscuro o hay mucho brillo THEN revise el TRC, los circuitos de video y el ABL IF revisar si est oscuro o hay mucho brillo AND no est oscuro o ni hay mucho brillo THEN revisar imagen desenfocada IF revisar imagen desenfocada AND la imagen s est desenfocada THEN revise el foco del TRC IF revisar imagen desenfocada AND la imagen no est desenfocada THEN revisar mala seal IF revisar mala seal AND s existe mala seal THEN revise el sintonizador, la entrada de la antena y el AGC IF revisar mala seal AND no existe mala seal THEN revisar que no hay video y pero que s hay trama IF revisar que no hay video y pero que s hay trama AND no hay video pero s hay trama THEN revise los circuitos de video IF revisar que no hay video y pero que s hay trama AND no hay video y no hay trama THEN revisar que no hay trama 10

IF revisar que no hay trama AND no hay trama THEN revise los circuitos de video y el voltaje del TRC IF revisar que no hay trama AND s hay trama THEN consulte a un experto humano Reglas de problemas de sonido IF revisar problemas de imagen AND no hay problemas de imagen THEN revisar problemas de sonido IF revisar problemas de sonido AND no hay problemas de sonido THEN Usted no tiene problemas con su televisor IF revisar problemas de sonido AND s hay problemas de sonido THEN revisar procesador con voltajes IF revisar procesador con voltajes AND procesador sin voltajes THEN El problema est en el circuito integrado procesador de audio IF revisar procesador con voltajes AND procesador con voltajes THEN revisar comunicacin procesador-micro IF revisar comunicacin procesador-micro AND no hay comunicacin procesador-micro THEN Hay una falla entre la comunicacin del procesador de audio y el micro IF revisar comunicacin procesador-micro AND s hay comunicacin procesador-micro THEN revisar pin correcto IF revisar pin correcto AND el pin no es el correcto THEN El problema es que el procesador de audio no recibe la FI por el pin respectivo IF revisar pin correcto AND el pin s es el correcto THEN compruebe que la configuracin del setup sea la correcta 11

7. DESARROLLO DE LA METODOLOGA 1. Pre-planeamiento Investigacin sobre la deteccin de fallas en los televisores en libros e Internet, y consultando a un experto humano Elaboracin de un cronograma de actividades 2. Diseo y especificacin Designacin de tareas Diseo de la Base de Conocimiento Esbozos de la Interfaz Grfica de Usuario 3. Desarrollo temprano Desarrollo del prototipo del Sistema Experto (sin interfaz grfica) 4. Implementacin Desarrollo del Sistema Experto con Interfaz Grfica de Usuario incluida 5. Evaluacin Realizacin de pruebas y validacin al Sistema Experto. 8. CONCLUSIONES Para el diseo de la Base de Conocimiento existen herramientas de apoyo muy tiles como los Diagramas de Flujo de Datos. La Metodologa de Brul es sencilla de aplicar y ayud en la organizacin de todo el proceso de desarrollo. JESS es un potente motor de inferencia en el que es posible crear plantillas, funciones, reglas y mdulos para la estructuracin del sistema experto. El proceso de traducir el conocimiento del experto humano a una base de conocimiento es un proceso muy delicado en el que hay que tener mucho cuidado porque, por ejemplo, los expertos humanos no siempre son cooperativos e incluso no saben cmo explicar los procedimientos que ellos siguen. Las ventajas de extraer conocimiento de una fuente escrita es que no se depende del tiempo disponible de una persona y que el conocimiento est ms estructurado en un libro. La evaluacin y validacin del sistema experto es un proceso largo y tedioso si no se cuenta con una herramienta de automatizacin. 9. BASE DE CONOCIMIENTO Y CONEXIN JAVA-JESS Base de conocimiento ;;;;;;;;;;;;;;;;;;;;;;; ;;REGLAS DE ENCENDIDO;; ;;;;;;;;;;;;;;;;;;;;;;; (defrule MAIN::revisar-tension-filtro-principal (declare (auto-focus TRUE)) (respuesta (id problemas-encendido) (texto no)) => (assert (revisar tension-filtro-principal))) 12

(defrule MAIN::rectificador-fusistor-fusible (declare (auto-focus TRUE)) (revisar tension-filtro-principal) (respuesta (id tension-filtro-principal) (texto no)) => (recomendar-accion "verifique si estn abiertos el puente rectificador, la resistencia fusistora y el fusible de lnea") (halt)) (defrule MAIN::revisar-tensiones-conmutacion (declare (auto-focus TRUE)) (revisar tension-filtro-principal) (respuesta (id tension-filtro-principal) (texto si)) => (assert (revisar tensiones-conmutacion))) (defrule MAIN::tensiones-etapas-secundarias (declare (auto-focus TRUE)) (revisar tensiones-conmutacion) (respuesta (id tensiones-conmutacion) (texto no)) => (recomendar-accion "verifique las tensiones de las etapas secundarias") (halt)) (defrule MAIN::revisar-tensiones-flyback (declare (auto-focus TRUE)) (revisar tensiones-conmutacion) (respuesta (id tensiones-conmutacion) (texto si)) => (assert (revisar tensiones-flyback))) (defrule MAIN::error-flyback (declare (auto-focus TRUE)) (revisar tensiones-flyback) (respuesta (id tensiones-flyback) (texto si)) => (printout t "El problema est en el flyback" crlf) (halt)) (defrule MAIN::revisar-oscilador-alimentado (declare (auto-focus TRUE)) (revisar tensiones-flyback) (respuesta (id tensiones-flyback) (texto no)) => 13

(assert (revisar oscilador-alimentado))) (defrule MAIN::tension-microprocesador (declare (auto-focus TRUE)) (revisar oscilador-alimentado) (respuesta (id oscilador-alimentado) (texto no)) => (recomendar-accion "revise la tensin en el microprocesador") (halt)) (defrule MAIN::revisar-tension-transformador-driver (declare (auto-focus TRUE)) (revisar oscilador-alimentado) (respuesta (id oscilador-alimentado) (texto si)) => (assert (revisar tension-transformador-driver))) (defrule MAIN::error-transformador-driver (declare (auto-focus TRUE)) (revisar tension-transformador-driver) (respuesta (id tension-transformador-driver) (texto si)) => (printout t "El problema es el transformador driver" crlf) (halt)) (defrule MAIN::revisar-tension-resonador-ceramico (declare (auto-focus TRUE)) (revisar tension-transformador-driver) (respuesta (id tension-transformador-driver) (texto no)) => (assert (revisar tension-resonador-ceramico))) (defrule MAIN::bobinado-secundario-transformador-driver (declare (auto-focus TRUE)) (revisar tension-resonador-ceramico) (respuesta (id tension-resonador-ceramico) (texto no)) => (recomendar-accion "compruebe el estado del bobinado secundario del transformador driver y compruebe si el transistor de salida horizontal est abierto") (halt)) (defrule MAIN::error-resonador-ceramico (declare (auto-focus TRUE)) (revisar tension-resonador-ceramico) (respuesta (id tension-resonador-ceramico) (texto si)) => 14

(printout t "El problema est en el resonador cermico y" crlf "en el integrado oscilador" crlf) (halt)) ;;;;;;;;;;;;;;;;; ;;REGLAS IMAGEN;; ;;;;;;;;;;;;;;;;; (defrule MAIN::revisar-problemas-imagen (declare (auto-focus TRUE)) (respuesta (id problemas-encendido) (texto si)) => (assert (revisar problemas-imagen))) (defrule MAIN::revisar-sintomas-vertical (declare (auto-focus TRUE)) (revisar problemas-imagen) (respuesta (id problemas-imagen) (texto si)) => (assert (revisar problemas-vertical))) (defrule MAIN::circuito-deflexion-vertical (declare (auto-focus TRUE)) (revisar problemas-vertical) (respuesta (id problemas-vertical) (texto si)) => (recomendar-accion "revise el circuito de deflexin vertical") (halt)) (defrule MAIN::revisar-ausencia-vertical (declare (auto-focus TRUE)) (revisar problemas-vertical) (respuesta (id problemas-vertical) (texto no)) => (assert (revisar ausencia-vertical))) (defrule MAIN::voltajes-comprobar-inyectar-senal (declare (auto-focus TRUE)) (revisar ausencia-vertical) (respuesta (id ausencia-vertical) (texto si)) => (recomendar-accion "mida los voltajes y compruebe la seal") (halt)) (defrule MAIN::revisar-ausencia-vertical-onda (declare (auto-focus TRUE)) (revisar ausencia-vertical) 15

(respuesta (id ausencia-vertical) (texto no)) => (assert (revisar ausencia-vertical-onda))) (defrule MAIN::bobinas-verticales-yugo (declare (auto-focus TRUE)) (revisar ausencia-vertical-onda) (respuesta (id ausencia-vertical-onda) (texto si)) => (recomendar-accion "revise las bobinas verticales del yugo") (halt)) (defrule MAIN::revisar-efecto-bandera (declare (auto-focus TRUE)) (revisar ausencia-vertical-onda) (respuesta (id ausencia-vertical-onda) (texto no)) => (assert (revisar efecto-bandera))) (defrule MAIN::regulador-voltaje-b (declare (auto-focus TRUE)) (revisar efecto-bandera) (respuesta (id efecto-bandera) (texto si)) => (recomendar-accion "revise el regulador de voltaje +B") (halt)) (defrule MAIN::revisar-problemas-horizontal (declare (auto-focus TRUE)) (revisar efecto-bandera) (respuesta (id efecto-bandera) (texto no)) => (assert (revisar problemas-horizontal))) (defrule MAIN::circuitos-horizontales-yugo (declare (auto-focus TRUE)) (revisar problemas-horizontal) (respuesta (id problemas-horizontal) (texto si)) => (recomendar-accion "revise los circuitos horizontales y el yugo") (halt)) (defrule MAIN::revisar-efecto-cojin-barril (declare (auto-focus TRUE)) (revisar problemas-horizontal) (respuesta (id problemas-horizontal) (texto no)) 16

=> (assert (revisar efecto-cojin-barril))) (defrule MAIN::circuito-correccion-este-oeste (declare (auto-focus TRUE)) (revisar efecto-cojin-barril) (respuesta (id efecto-cojin-barril) (texto si)) => (recomendar-accion "revise el circuito de correccin esteoeste") (halt)) (defrule MAIN::revisar-sincronismo-vertical (declare (auto-focus TRUE)) (revisar efecto-cojin-barril) (respuesta (id efecto-cojin-barril) (texto no)) => (assert (revisar sincronismo-vertical))) (defrule MAIN::oscilador (declare (auto-focus TRUE)) (revisar sincronismo-vertical) (respuesta (id sincronismo-vertical) (texto si)) => (recomendar-accion "revise el oscilador") (halt)) (defrule MAIN::revisar-forma-trapecio (declare (auto-focus TRUE)) (revisar sincronismo-vertical) (respuesta (id sincronismo-vertical) (texto no)) => (assert (revisar forma-trapecio))) (defrule MAIN::espiras-en-corto (declare (auto-focus TRUE)) (revisar forma-trapecio) (respuesta (id forma-trapecio) (texto si)) => (recomendar-accion "revise si hay espiras en corto en alguna de las bobinas del yugo") (halt)) (defrule MAIN::revisar-imagen-reducida (declare (auto-focus TRUE)) (revisar forma-trapecio) (respuesta (id forma-trapecio) (texto no)) 17

=> (assert (revisar imagen-reducida))) (defrule MAIN::fuente-regulador-voltaje-b (declare (auto-focus TRUE)) (revisar imagen-reducida) (respuesta (id imagen-reducida) (texto si)) => (recomendar-accion "revise la fuente y el regulador de voltaje +B") (halt)) (defrule MAIN::revisar-lineas-retraso (declare (auto-focus TRUE)) (revisar imagen-reducida) (respuesta (id imagen-reducida) (texto no)) => (assert (revisar lineas-retraso))) (defrule MAIN::polarizacion-trc-circuito-borrado (declare (auto-focus TRUE)) (revisar lineas-retraso) (respuesta (id lineas-retraso) (texto si)) => (recomendar-accion "revise la polarizacin del TRC y verifique el circuito de borrado") (halt)) (defrule MAIN::revisar-imagen-negativa (declare (auto-focus TRUE)) (revisar lineas-retraso) (respuesta (id lineas-retraso) (texto no)) => (assert (revisar imagen-negativa))) (defrule MAIN::senal-luminancia (declare (auto-focus TRUE)) (revisar imagen-negativa) (respuesta (id imagen-negativa) (texto si)) => (recomendar-accion "revise la seal de luminancia") (halt)) (defrule MAIN::revisar-blanco-negro (declare (auto-focus TRUE)) (revisar imagen-negativa) (respuesta (id imagen-negativa) (texto no)) 18

=> (assert (revisar blanco-negro))) (defrule MAIN::circuitos-croma (declare (auto-focus TRUE)) (revisar blanco-negro) (respuesta (id blanco-negro) (texto si)) => (recomendar-accion "revise los circuitos de croma") (halt)) (defrule MAIN::revisar-problemas-color (declare (auto-focus TRUE)) (revisar blanco-negro) (respuesta (id blanco-negro) (texto no)) => (assert (revisar problemas-color))) (defrule MAIN::circuito-croma-trc (declare (auto-focus TRUE)) (revisar problemas-color) (respuesta (id problemas-color) (texto si)) => (recomendar-accion "revise el circuito de croma del color correspondiente y el TRC") (halt)) (defrule MAIN::revisar-franjas-manchas (declare (auto-focus TRUE)) (revisar problemas-color) (respuesta (id problemas-color) (texto no)) => (assert (revisar franjas-manchas))) (defrule MAIN::mascara-sombra-trc (declare (auto-focus TRUE)) (revisar franjas-manchas) (respuesta (id franjas-manchas) (texto si)) => (recomendar-accion "revise la mscara de sombra del TRC") (halt)) (defrule MAIN::revisar-efecto-cometa (declare (auto-focus TRUE)) (revisar franjas-manchas) (respuesta (id franjas-manchas) (texto no)) => 19

(assert (revisar efecto-cometa))) (defrule MAIN::trc-amplificadores-video (declare (auto-focus TRUE)) (revisar efecto-cometa) (respuesta (id efecto-cometa) (texto si)) => (recomendar-accion "revise el TRC y los amplificadores de video") (halt)) (defrule MAIN::revisar-oscuro-brillo (declare (auto-focus TRUE)) (revisar efecto-cometa) (respuesta (id efecto-cometa) (texto no)) => (assert (revisar oscuro-brillo))) (defrule MAIN::trc-circuitos-video-abl (declare (auto-focus TRUE)) (revisar oscuro-brillo) (respuesta (id oscuro-brillo) (texto si)) => (recomendar-accion "revise el TRC, los circuitos de video y el ABL") (halt)) (defrule MAIN::revisar-imagen-desenfocada (declare (auto-focus TRUE)) (revisar oscuro-brillo) (respuesta (id oscuro-brillo) (texto no)) => (assert (revisar imagen-desenfocada))) (defrule MAIN::foco-trc (declare (auto-focus TRUE)) (revisar imagen-desenfocada) (respuesta (id imagen-desenfocada) (texto si)) => (recomendar-accion "revise el foco del TRC") (halt)) (defrule MAIN::revisar-mala-senal (declare (auto-focus TRUE)) (revisar imagen-desenfocada) (respuesta (id imagen-desenfocada) (texto no)) => 20

(assert (revisar mala-senal))) (defrule MAIN::sintonizador-entrada-antena-agc (declare (auto-focus TRUE)) (revisar mala-senal) (respuesta (id mala-senal) (texto si)) => (recomendar-accion "revise el sintonizador, la entrada de la antena y el AGC") (halt)) (defrule MAIN::revisar-si-trama (declare (auto-focus TRUE)) (revisar mala-senal) (respuesta (id mala-senal) (texto no)) => (assert (revisar si-trama))) (defrule MAIN::circuitos-video (declare (auto-focus TRUE)) (revisar si-trama) (respuesta (id si-trama) (texto si)) => (recomendar-accion "revise los circuitos de video") (halt)) (defrule MAIN::revisar-no-trama (declare (auto-focus TRUE)) (revisar si-trama) (respuesta (id si-trama) (texto no)) => (assert (revisar no-trama))) (defrule MAIN::circuitos-video-voltaje-trc (declare (auto-focus TRUE)) (revisar no-trama) (respuesta (id no-trama) (texto si)) => (recomendar-accion "revise los circuitos de video y el voltaje del TRC") (halt)) (defrule MAIN::error (declare (auto-focus TRUE)) (revisar no-trama) (respuesta (id no-trama) (texto no)) => 21

(printout t "consulte a un experto humano" crlf) (halt)) ;;;;;;;;;;;;;;;;; ;;REGLAS SONIDO;; ;;;;;;;;;;;;;;;;; (defrule MAIN::revisar-problemas-sonido (declare (auto-focus TRUE)) (revisar problemas-imagen) (respuesta (id problemas-imagen) (texto no)) => (assert (revisar problemas-sonido))) (defrule MAIN::fin (declare (auto-focus TRUE)) (revisar problemas-sonido) (respuesta (id problemas-sonido) (texto no)) => (printout t "Usted no tiene problemas con su televisor" crlf) (halt)) (defrule MAIN::revisar-procesador-con-voltajes (declare (auto-focus TRUE)) (revisar problemas-sonido) (respuesta (id problemas-sonido) (texto si)) => (assert (revisar procesador-con-voltajes))) (defrule MAIN::error-procesador-audio (declare (auto-focus TRUE)) (revisar procesador-con-voltajes) (respuesta (id procesador-con-voltajes) (texto no)) => (printout t "El problema est en el circuito integrado procesador de audio" crlf) (halt)) (defrule MAIN::revisar-comunicacion-procesador-micro (declare (auto-focus TRUE)) (revisar procesador-con-voltajes) (respuesta (id procesador-con-voltajes) (texto si)) => (assert (revisar comunicacion-procesador-micro))) (defrule MAIN::error-comunicacion-procesador-micro (declare (auto-focus TRUE)) 22

(revisar comunicacion-procesador-micro) (respuesta (id comunicacion-procesador-micro) (texto no)) => (printout t "Hay una falla entre la comunicacin" crlf "del procesador de audio y el micro" crlf) (halt)) (defrule MAIN::revisar-pin-correspondiente (declare (auto-focus TRUE)) (revisar comunicacion-procesador-micro) (respuesta (id comunicacion-procesador-micro) (texto si)) => (assert (revisar pin-correspondiente))) (defrule MAIN::error-pin-correspondiente (declare (auto-focus TRUE)) (revisar pin-correspondiente) (respuesta (id pin-correspondiente) (texto no)) => (printout t "El problema es que el procesador de audio" crlf "no recibe la FI por el pin respectivo" crlf) (halt)) (defrule MAIN::correcta-configuracion-setup (declare (auto-focus TRUE)) (revisar pin-correspondiente) (respuesta (id pin-correspondiente) (texto si)) => (recomendar-accion "compruebe que la configuracin del setup sea la correcta") (halt)) Conexin JAVA-JESS ;;;;;;;;;;;;;;;;;;;; ;;INTERFAZ GRAFICA;; ;;;;;;;;;;;;;;;;;;;; (import javax.swing.*) (import java.awt.*) (import java.awt.event.*) ;Ventana; (defglobal ?*ventana* = (new JFrame "Sistema Experto en Control de Fallas para TV")) (?*ventana* setDefaultCloseOperation (get-member JFrame EXIT_ON_CLOSE)) 23

(?*ventana* setVisible TRUE) ;Area pregunta; (defglobal ?*areaPregunta* = (new JTextArea 5 40)) (bind ?scroll (new JScrollPane ?*areaPregunta*)) ((?*ventana* getContentPane) add ?scroll (get-member BorderLayout NORTH)) (?*areaPregunta* setText "Espere por favor...") (?*areaPregunta* setEditable FALSE) ;Area imagen; (defglobal ?*imagen* = (new JLabel (new ImageIcon "imagenes/tv-noenciende.jpg"))) ((?*ventana* getContentPane) add ?*imagen* (get-member BorderLayout CENTER)) ;Area respuesta; (defglobal ?*panel* = (new JPanel)) (defglobal ?*combo* = (new JComboBox (create$ "s" "no"))) (defglobal ?*aceptar* = (new JButton "Aceptar")) (defglobal ?*campo* = (new JTextField 40)) (defglobal ?*campo-aceptar* = (new JButton "Aceptar")) (?*panel* add ?*combo*) (?*panel* add ?*aceptar*) ((?*ventana* getContentPane) add ?*panel* (get-member BorderLayout SOUTH)) (?*ventana* pack) (?*ventana* validate) (?*ventana* repaint) ;Eventos; (deffunction leer-entrada (?EVENT) (assert (pedido::entrada-usuario (sym-cat (?*campo* getText))))) (bind ?controlador (new jess.awt.ActionListener leer-entrada (engine))) (?*campo-aceptar* addActionListener ?controlador) (deffunction combo-entrada (?EVENT) (assert (pedido::entrada-usuario (sym-cat (?*combo* getSelectedItem))))) (bind ?controlador (new jess.awt.ActionListener combo-entrada (engine))) (?*aceptar* addActionListener ?controlador)

24

Você também pode gostar