Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MEXICO "' ,W • I ,,: IMPLEMENTACIÓN DE INTERFAZ DE COMUNICACION ENTRE CONTROLADOR Y ELEMENTOS DE UNA CELDA DE MANUFACTURA FLEXIBLE TESIS QUE PRESENTA EDGAR MORALES SARDANETA MAESTRIA EN CIENCIAS DE LA COMPUTACION MCCR93 DICIEMBRE, 1999 ;, ,_1:) INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MEXICO IMPLEMENTACIÓN DE INTERFAZ DE COMUNICACION ENTRE CONTROLADOR Y ELEMENTOS DE UNA CELDA DE MANUFACTURA FLEXIBLE Asesor: Jurado: TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS COMPUTACIONALES PRESENTA EDGAR MORALES SARDANETA Dr. Jesús Antonio Sánchez Velázquez Dr. Fabian García Nocetti M.C. Rafael San Vicente Cisneros Dr. Isaac Rudamin Goldberg Dr. Carlos Rodriguez Lucatero Dr. Jesús Antonio Sánchez Velázquez Dr. Fabian García Nocetti M.C. Rafael San Vicente Cisneros Presidente Secretario Vocal Vocal Vocal Atizapan de Zaragoza, Edo. de Méx., Diciembre 1999 A mi familia. RESUMEN En esta tesis se hace la implementación de una interfaz entre el controlador y los elementos de una Celda de Manufactura Flexible (CMF) que permite la tolerancia a fallas por medio de redundancia en hardware. Esta tesis forma parte del proyecto "Tecnologías de Comunicación Avanzadas en Robótica y Celdas Flexibles de Manufactura" el cual está financiado por la National Science Foundation (NSF) y el Consejo Nacional de Ciencia y Tecnología (CONACyT). Para poder realizar la tolerancia a fallas la implementación de la interfaz esta basada en el uso de switches. Lo anterior es posible gracias a que la interfaz hacia el robot tiene la característica de manejar dos enlaces a sus robots correspondientes y conmutar un enlace de un robot a otro por medio de una matriz de conexión 2x2. Debido a las características de la interfaz utilizada para la comunicación con los elementos de la celda, la parte de programación del sistema está hecha en lenguaje Occam, por lo que se proporciona además el código de los programas utilizados. CONTENIDO 1. INTRODUCCION ................................. .. ....................... ..... ... ............ ...... .. ..... ... ............... ... .. , ... . 5 1.1 CIM (Centro de Manufactura Integrada) ... ..... ...... .. .. .... .... ..... .. .... .... .... .. ... .. ...... .... .. .... ... ... ..... . 9 1.2 CMF (Celda de Manufactura Flexible) . ........................ .. ... ................. .. .. .. .. .................. .. .. ... 10 1.3 Antecedentes ................................ .... .. .. ................... .. ... ... .................. .. .. ......................... .. .. 10 1.4 Planteamiento del problema ............. ..... ......................... ............. .. .. .. ...... .. ... ... .. .......... .. ... .. 13 1.5 Justificación .. .... .. ....... ... ..... ..... .... .... .. ........ ... .. ... .... .. .. .. ..... ... ..... .. ....... ...... ..... ...... ................. 14 2. CARACTERISTICAS DE LOS ELEMENTOS DE LA CELDA DE MANUFACTURA. ...... .. ......... 16 2.1 Robot Mitsubishi. .. ........................... ......................... ... .... ................... ... ... .. .......... .. ...... .... .. 18 2.2 Robot Puma ........ .. ................................................................................. ... .... .............. .. ..... . 19 2.3 Robot Júpiter ...... ..... ..... ............................... .. ............ ...... .... .. .... ........ ... ..... ... .................. .... 20 2.4 Torno y Fresa ...... ...................... ............. .. ............. .......... .. ........... ......... ....... ..... .... ...... ...... . 20 2.5 AS/RS ................. ............................................................ .......................... .. .. ............... ...... 21 2.6 Comunicación con los elementos de la Celda ..................................................................... 21 2.7 Descripción del controlador PARDICO (PARallel and Distributed lntelligent Controller) ... ... 23 3. CARACTERÍSTICAS DE LOS ELEMENTOS A UTILIZAR CON EL CONTROLADOR. ......... .. . 25 3.1 Computadora huésped .. ............. ... ..... ...... ... ........ ..... .. ........................... ............................ .. 26 3.1.1 Características ............................................................................................................. 26 3.1.2 Elementos ... ... .. .... ........................... ........................ .. .......................... ... .............. .. ..... . 26 3.2 Módulos IMS 8426 (T805 - 25 MHz) . ........ ........... .. .. .. ...... ... ............................... .. ...... .. ...... 27 3.2.1 Descripción . ... ........ .. ... ... .... .. ....... ..... ..... ..... ... ... ... ... ..... ..... ...... .. ... .. ... ...... ... ... ... ............. 27 3.2.2 Características . .. .................... .. ... .. .......... .. ..... .... ..................... .. ........................ ... ..... ... 27 3.3 Tarjeta IMS 8008 ...... ..................... ........ ............................................... .... .......................... 28 3.4 Interfaz de comunicación 810232 . ....... ...... .. .... ... .... ...... .. .... ... ...... .. .. .. ................ ................. 31 3.4.1 Introducción .. ... .. ...... ... .................... .............. ......... .. .................. ........... ........................ 31 3.4.2 Instalación ... .. .... ..................... ..... .. ....... .. .. .... ................................... .... .. .. ... .... ... .. ... .. .. .. 32 3.5 Interfaz de comunicación 810422 ..................................... ... .. ....... .. .................................. .. 33 3.5.1 Introducción .... ... .. ..................... .... ......................................................... .................... ... 33 4. SOLUCION PROPUESTA. .... ....... ...... ........... .. .................................. .............. ... ............ ...... .... 35 2 4.1 Propuesta .......................................................... ................................................................ . 35 4.2 Conexión interfaz RS232 ... ................................................................. .......... .. ................... . 37 4.3 Conexión interfaz RS422 .................................................................................................... 38 4.4 Diseño e implementación convertidor RS422/RS232 ...................................................... ... . 39 Señal TTL H=5V, L=OV. ..................... .. ............................................................................. . 39 Señal Diferencial -+ 5V RS422 ...... .. .......................... .................................................... 40 Señal -+ 12V RS232 ...... ........ ........... ... .. .. ...................................................................... 40 4.4.1 Instalación ................................. .... ......................... ... ................................................... 41 4.4.2 Descripción del Hardware ........ .. ......................... ... .. ........................ ... .......................... 41 4.5 Tolerancia a fallas . .......................... .... ..................... .. ........................ ... .. .... ..... .............. .. .. 42 5. RESULTADOS ...................... ........................... .. ........ .. .... ..... .... .... .. .... .. ..... ..... ........... ... ... .. ...... 55 5.1 Prueba 1. Redundancia con dos procesadores ......................................................... .......... . 61 5.2 Prueba 2.Redundancia con dos Robots ....................... ... ........................ .. ... ...................... 61 6. CONCLUSIONES Y RECOMENDACIONES A FUTURO ........................... ........ ................. ... .. 68 6.1 Conclusiones .............................................................................................. ... ....... ..... ...... .. . 68 6.2 Recomendaciones . ... ...... ............. .... .... ........................................................................ .... .. . 69 7. 818LIOGRAFIA ................................................................................................. ... .................. .. 70 APENDICE A. DESCRIPCIÓN DE HARDWARE SIO RS232 Y/O SIO RS422 ............................ 72 A.1 Mapeo de la memoria del transputer. ....................................................... ...................... .. .. 72 A.1.1 Figura 3. 7 Configuración de la memoria del Transputer ........................................ 73 A.2 Conexión pinouts RS232 . .... .... .... .................. ..... .... ..... ... .......... .... .... ... .. ... .. .. ............. ... .... .. 74 A.2.1 Conector estándar 089 .......................................................................................... 75 A.3 Conexión pinouts 422 ......................................................................................................... 76 A.4 Registros de programación ..... ........................................................................... ...... ........... 77 A.5 Registros Internos del Duart ...................................... .. ............................................ ......... . 81 A.6 Descripción de los registros de lectura ................................................................................ 83 A.7 Descripción de los registros de escritura ...................................................... ....................... 85 APENDICE 8 . DESCRIPCIÓN DE SOFTWARE SIO RS232 Y/O SIO RS422 ... .. ......................... 88 8 .1 Protocolos de comunicación ......... .. ...... .. .. ........... ................ .. .... ... ... ..... ... .... ... .. ... .. ......... ... . 88 8.2 Comandos del controlador. ................................................................................................. 89 8.3 Protocolo de comando ....................................................................................................... 89 B.4 Descripción comando de configuración .. ............................................................................ 91 B.5 Comunicación del controlador. .................................................................... ...... ...... ......... .. 93 APENDICE C. REGISTROS DEL SI0232 y SI0422 ...... ........................................................ .. ... 95 APENDICE D PSEUDOCÓDIGOS Y PROGRAMAS .......... .. .. .. .... ........ .... .. .......... ... .......... .. .... .. . 108 Pseudocódigo y Programas ................... ...... ........................................................................... 108 D.1 Esquema 1. Un proceso controlador y dos elementos robot: ............................................ 108 ~ ·' D .1 .1 Archivo de Configuración .. ...... ..... ......... .... ... ..... .. ........ ........................................... 108 D.1.2 Proceso APLIC ............... ............. ....... ... ...... ....................................................... .. .. 111 Programa en Occam : ...................................................................... .... .. ...................... 111 Nodo en el archivo de configuración: ................. ... ........................... .......... ... ......... ...... 111 Descripción .. ..... ..... ...................................................................................................... 111 Flujo ............................ ........................................................................... .... ........ ..... .. ... 111 Código: .... .... .................................... .................................. .. ..... ....... .. ............ ........ ...... 113 Forma de compilarlo: .................................... .. ........ .................................................. ... 119 D.1.3 Proceso ENLACEO ......................................... .. ............................. .. ....... ... ..... .. .... . 120 Programa en Occam : ............. ...... .................. .. .... .. ... .................. ... .... .... ................ .. ... 120 Nodo en el archivo de configuración: .... ............. .... .... .. .............. ... ......... .. .... .. .............. 120 Descripción .... .. ........ ....... ............. ................ ....... .............................. ... .................... .... 120 Flujo ................. ....... ............ .. ... .. .... .................... ...... ...................... ...... ... ................ .... . 120 Código: .................................... .. ............... .. .......... ...... ............................................... .. 122 Forma de compilarlo: ................. ........................ ...... ......................... ... ..... ......... ..... .. ... 128 D.1.4 Proceso $10232.DRIVER .. ..... ........ ... .. .... .. ... ... .. ....... ... .............. ... .... ..... .. .......... ..... 128 Programa en Occam : ................................ ........... ... ....................... ... .... ................. ... .. 128 Nodo en el archivo de configuración: ......................................................................... .. 128 Descripción ..... ......................................................................................................... .... 128 Flujo ............................... .............................................................................................. 129 Codigo: .... ........ ........................... .............. ... .... ......... ........... .... .. ............................. ..... 131 Forma de compilarlo: ............ ....................................................................................... 152 D.1.5 Forma de Ejecutar el Programa: ............................................................................. 152 D.2 Esquema 2. Dos procesos controladores y un elemento robot: .. ........ ..... ... .... ... .. .... ... ... 153 D.2.1 Archivo de Configuración .. ............. ... ..................................................... ........... ..... 153 D.2.2 Proceso CONTROLADOR .. ..... ..................... .. .... ........................................... ..... .... 155 Descripción .. ...... ......................... ...................... ... ...... ....... .. ............ ............................. 155 D.2.3 Proceso CONTROLADOR Back ................... .... ....... .......................................... ... .. 155 Descripción ... .... ...................... ...... ..... .. ....... .................. ............................... ......... .. ..... 155 D.2.4 Proceso SIO .... ...... .... ... ....... ........ .. .... .. ...... ... ....... ............ ...... ................................. 156 Programa en Occam : .............. ...... .............................................................................. 156 Nodo en el archivo de configuración: .................. .... ... ....................... .. ... ...................... 156 Descripción ... .. ......... ........ .. ....... ....... ..... ...... ....... ......... .... ......................... ........ ............ 156 Flujo .. ............... ............. .. ... ...... ...... ... ..... ...... .... ........ .. ......... ...... ................... .. .............. 156 Código: ... .... .. .... .. .............. .. .... .. ..... ........ .... ..... ...... ......................................... .. ... .... ..... 157 Forma de compilarlo: ........... ...... ......................... ... .... .................................................. 163 D.2.5 Forma de Ejecutar el Programa: ... ........ ... ... .. ..... ....... .... .......................................... 164 APENDICE E. DOCUMENTACIÓN PROBLEMAS 810442 .. .. .. .................... .. ........ .................... 165 APENDICE F. ENCENDIDO, APAGADO Y COMANDOSBASICOS DEL ROBOT PUMA... 174 E4 LISTA DE FIGURAS Fig. Descripción Página 1.1 Esquema del CIM 10 1.2 Diagrama a bloques del Sistema 11 1.3 Celda de Manufacturas Flexible (CMF) 14 2.1 Esquema del CIM 18 2.2 Red de Interconexión dinámica del PARDICO 24 3.1 Vista del IMS 8426 y Pin's. 28 3.2 Tarjeta Madre IMS 8008 29 3.3 Enlaces y Switch C004 30 3.4 Distribución de los TRAMS T805 y SIO'S 31 3.5 Diagrama a bloques del Sf 0232 32 3.6 Vista superior del 810232 33 3.7 Diagrama a bloques del 810422 34 3.8 Vista superior del 810422 34 4.1 Interfaz 36 4.2 Cntrolador Paralelo Distribuido. 36 4.3 Configuración de pins entre dos PC 37 4.4 Conexión interfaz 232 38 4.5 Conexión interfaz 422 39 4.6 Tipos de señales 40 4.7 Procedimiento para cambiar de RS422 y RS232 41 (i 4.8 Convertidor 422/232 43 4.9 Descripción de Pins 43 4.10 Esquema de respaldo de 2 transputers-1 interfaz SIO en operación 44 normal 4.11 squema de respaldo de 2 transputers-1 interfaz SIO después de un 45 error 4.12 Envio de mensajes al robot utilizando el proceso activo 46 4.13 Envio de mensajes al robot utilizando el proceso respaldo 47 4.14 Esquema de respaldo de 2 robots-1 interfaz ISO en operación 48 normal 4.15 Esquema de respaldo de 2 robots-i interfaz SIO después de un 49 error 4.16 Envio de mensajes al robot en operación normal 50 4.17 Intercambio de mensajes en operación normal 50 4.18 Intercambio de mensajes con E I ror b,, :::i transmisión 51 4.19 Intercambio de mensajes con error en la recepción 52 4.20 Topología con Rutas Alternas, Canales Virtuales y elementos de la 54 Celda de Manufactura Flexible. 5.1 Distribución de los elementos de la celda y el controlador 56 5.2 Distribución de los procesadores y procesos en el controlador 56 5.3 Contenido del archivo log. txt 57 5.4 Archivos que contienen el plan de trabajo 57 5.5 Inicio de la aplicación 58 5.6 Ejecución de la aplicación 59 5.7 Ejecución de la aplicación e inducción de un error 60 5.8 Distribución de los elementos de la celda y el controlador 62 5.9 Distribución de los procesadores en el controlador 62 5.10 Mensajes de inicio del robot 63 5.11 Mensajes del robot 64 5.12 Flujo de información del controlador en operación normal 65 7 5.13 Flujo de información del controlador después de ocurrido un error 66 A.1 Configuración de la memoria del Transputer 73 A.2 Pinouts SI0232 76 A.3 Pinouts SI0422 77 A.5.1 Registros 82 A.5.2 Registros del Duart 82 0.1 Distribución de procesos según el archivo de configuración 110 0.2 Distribución de canales según el archivo de configuración 110 0.3 a Envío al robot y despliegue de contestacion del robot 111 0.3 b Recepción de comandos desde el host 112 0.3 c Fin del proceso Aplicación 112 0.4 a Proceso de enlace que envía comandos al sio 232 120 0.4 b Proceso de enlace que envía comandos al sio 232 121 0.4 c Proceso de enlace que recibe comandos del sio 232 121 0.5 a Definición de variables y configuración inicial dentro del driver SIO 129 D.5 b Atención a peticiones de transmisión e interrrupciones de eventos. 130 Lectura y escritura de los buffers de transmisión y recepción. 0.5 c Atención a interrupciones de lectura y escritura en puerto 130 0.5 d Envio de caracteres a la red de transputers. Recepción de 131 información de la red de transputers ( caracteres, comandos y configuración). 0.6 Distribución de procesos y canales según el archivo de 155 configuración D.7 a Proceso de SIO que recibe y envía comandos del controlador 156 principal al DRIVER 0.7 b Proceso de SIO que recibe y envía comandos del controlador de 157 respaldo al DRIVER 8 1. INTRODUCCION. La presente tesis es un trabajo dentro del proyecto "Tecnologías de comunicación Avanzadas en Robótica y Celdas Flexibles de Manufactura" (3] financiado por la National Science Foundation (NSF) y por el Consejo Nacional de Ciencia y Tecnología (CONACyT); en él participan los Campus Estado de México y Morelos del Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM), y la Universidad de Texas (UT) en Austin. El proyecto está estructurado de tal manera que la UT estudiará el problema de las comunicaciones dentro de robots inteligentes, mientras que el ITESM analizará el problema de comunicaciones entre los componentes de la celda de manufactura. El objetivo principal del proyecto consiste en contribuir a resolver el problema de las comunicaciones entre los elementos de una Celda de Manufactura Flexible, mejorar la flexibilidad en la planeación de tareas e implantar tolerancia a fallas. 9 tolerancia a fallas. La presente tesis está enfocada en lo relacionado a la capa física del modelo OSI (Open System lnterconection). Se pretende implementar un conmutador el cual interconectará a un controlador paralelo distribuido (red transputers) con la interfaz de los elementos (robots) de la Celda de Manufactura Flexible. 1.1 CIM (Centro de Manufactura Integrada). Un Centro de Manufactura Integrada por Computadora (CIM, ver figura 1.1 ), es un sistema basado en computadoras que controlan y supervisan una Celda de Manufactura, la cual consiste a su vez de un grupo de robots y máquinas que de manera coordinada fabrican productos. Si bien este tipo de centros existen en un buen número de fábricas en todo el mundo, empiezan a ser inadecuados para las necesidades actuales. Actualmente un CIM requiere no solamente ser capaz de producir partes sino ser flexible en cuanto a: * Planeación: habilidad de reconocer planes en varios formatos, y adaptarse a los cambios de ambiente o metas. * Reconfigurabilidad: habilidad de manufacturar nuevos productos o tolerancia a fallas. * Detección de fallas y aislamiento: habilidad de detectar, identificar y aislar fallas. CONTROL ASlRS CONTROL PUMA e 8 0 N i MOITSUBISHI ~- CONVEYOR CONTROLADOR Figura 1.1 Esquema del CIM 1.2 CMF (Celda de Manufactura Flexible). 10 Una Celda de Manufactura Flexible (CMF) responde a estos requerimientos. Específicamente, es una configuración controlada por computadora de lugares de trabajo que pueden ser adaptados a cambios en la producción (reconfiguración, detección de fallas) y un sistema de manejo de materiales para fabricar eficientemente más de un tipo de partes (flexibilidad de planeación) [3]. En este trabajo de tesis se pretende contribuir al mejoramiento de la flexibilidad del Centro de Manufactura del ITESM-CEM (figura 1) mediante la implantación de una arquitectura de comunicación entre los elementos de una CMF (robots), y su controlador. 1.3 ANTECEDENTES. El ITESM en sus Campus Estado de México (CEM) y Campus Morelos (CM) 11 tienen años de experiencia estudiando celdas de manufactura, enfocándose principalmente en el diseño de la estructura del hardware del control de la celda, del software operacional y de comunicaciones entre los elementos de la celda. Desde princ1p1os de los 90's el ITESM ha participado fuertemente en la automatización total de Celdas de Manufactura. Primero se trabajó en el diseño y construcción de un controlador de celda (ver figura 1.2)La figura 1.2 ilustra este controlador llamado MIP (Módulo de Interfaz). Una PC funge como control de Piso para que el usuario final pueda administrar al MIP y a los robots conectados a éste. El MIP está conformado por una tarjeta madre que se encarga de todas las funciones de multiplexión, y los UPl's que son dispositivos periféricos que se encargan de empaquetar los bytes que les mandan para ser transmitidos serialmente. Estos últimos tienen la capacidad de ser programables por el usuario para efectuar distintas operaciones[1] . MIP Taiieta; Perifericas RS232 RS232 PS232 RS232 Maquinas Ci.ticuui.a.ti Maho Figura 1.2 Diagrama a bloques del sistema Este diseño trajo consigo las siguientes limitaciones[1 ]: * Al utilizar una interfazRS232 entre la computadora (control de piso) y la tarjeta madre del controlador la cual se encarga de todas las comunicaciones, a 12 velocidades de 2400 bauds se creó un cuello de botella en la transferencia de datos. * El envío de información era demasiado lento debido a que la información tenia que fluir por tres interfaces: Computadora ----> Interfaz ----> Tarjeta Madre ----> Interfaz ----> UPl's ----> Interfaz----> Robots * La arquitectura diseñada no era tolerante a fallas debido a que existían tres puntos únicos de falla (interfaz) en los que si se generaba un error, producía un aislamiento en uno o varios elementos (robots). Tomando en cuenta las limitaciones anteriores se propuso en [3] que el controlador de la Celda de Manufactura Flexible (CMF) sea un sistema de procesamiento distribuido (ya que físicamente los componentes se encuentran físicamente distribuidos); paralelo (porque un grupo de procesadores trabajaran juntos para tener redundancia) y reconfigurable (para resolver el problema de tolerancia a fallas). El Centro de Tecnología de la Información del ITESM Campus Estado de México continuó con sus investigaciones y se desarrollaron prácticas con alumnos de Licenciatura en Ingeniería Electrónica, enfocadas al estudio de los transputers INMOS T805. Aprovechando el estudio realizado sobre los transputers, un grupo de alumnos de Licenciatura realizaron en Enero 1996 un sistema de Integración de la Celda de Manufactura que permitiría comunicar el transputer con un robot (en este caso fue con el robot IBM 7575). Sin embargo en este proyecto no se contempló que el sistema fuera tolerante a fallas [7]. 1.4 PLANTEAMIENTO DEL PROBLEMA. 1 ~ .1 En base a lo expuesto anteriormente se desea implementar una interfaz eficiente y tolerante a fallas entre el controlador y los elementos de una Celda de Manufactura Flexible. Esta implementación propondrá mejoras con respecto a los trabajos en [1 ], [7]. Esta propuesta de tesis está relacionada con la de Mima Salmerón [6], la cual estuvo enfocada en el estudio y diseño del controlador (transputers) a nivel de la capa física. Este trabajo de tesis estará enfocado en el estudio de los elementos de la celda (robots) y las interfaces entre robots y controlador. Conjuntando ambas tesis se logrará la integración de una Celda de Manufactura Flexible a nivel de capa física. La arquitectura del controlador estará conformada por transputers, montados en una tarjeta (IMS 8008), la cual se instalará en el bus de una computadora huésped. Vea el capítulo 3 para más detalles de la arquitectura del controlador. Cada transputer tiene cuatro enlaces de entrada/salida que proporcionan conexiones punto a punto hacia otros transputers. Esto permite tener sistemas basados en multi-transputers de varias topologías y tamaños. La arquitectura de multi-transputers del controlador asegurará un procesamiento en tiempo real, paralelo y tolerante a fallas [2]. Los elementos de la celda requerirán de una interfaz para comunicarse con el controlador (figura 1.3), debido a los requerimientos de tolerancia a fallas explicados en la sección 2.6. Para ello se estudiarán las características de 1-+ comunicación de los elementos de la Celda de Manufactura Flexible. Entre las características a examinar se tiene: la velocidad, señalización, tipo de transmisión, líneas de datos, líneas de control, protocolo de comunicación (RS232, RS422, RS449, Centronics, Cable Coaxial), etc [4]. c:::J Conmutadores •Inte~ CONTROLADOR ( / ......____ _ ___. AS~ TORNO CONVEYOR Figura 1.3 Celda de Manufactura Flexible (CMF). 1.5 JUSTIFICACIÓN. El ITESM ha realizado investigaciones sobre tecnología de transputers desde 1994. Entre los proyectos realizados se tuvo la integración de un sistema que permitiera comunicar el transputer con uno de los robots de la celda de manufactura del Campus Estado de México. La limitante que presentó esta investigación es que la comunicación se realizó por medio de mapeo de memoria y no se contempló el tener dentro de su sistema tolerancia a fallas[?]. También, se desarrolló una interfaz reconfigurable que permite realizar la comunicación entre los diferentes elementos que constituyen a la CFM, empleando para ello el transputer T805 de INMOS. La limitante que presentó este 15 sistema es que la reconfiguración de la red de transputers se hace por medio de alambrado de hardware y no dinámicamente. En esta tesis se pretende contribuir a la flexibilidad y robustez de la celda de Manufactura en los siguientes puntos: 1. Reconfigurabilidad: habilidad de manufacturar nuevos productos y tolerancia a fallas. 2. Detección de fallas y aislamiento: habilidad de detectar, identificar y aislar fallas. Mediante la interfaz que se implementará se dispondrán de caminos redundantes entre robots y controlador, los cuales ayudarán a implantar la tolerancia a fallas. Respecto a la interfaz con los robots, en esta fase del proyecto se pretende el uso de RS-232. Esto es porque es más simple y barato que otras interfaces, y la mayoría de los robots de los cuales está conformada la celda del ITESM-CEM utilizan dicha interfaz. El contenido por capítulos de la presente tesis es el siguiente: Capítulo 1. Se proporcionan los antecedentes, objetivo y justificación del trabajo de tesis. Capítulo 2. Se hace un estudio de los robots, que incluye la descripción de los mismos y sus características para poder interconectarlos con el controlador. Entre los robots a describir se tienen: Mitsubishi, Puma, Jupiter, etc. 1 (¡ Capítulo 3. Incluye el estudio y descripción de todos los elementos a utilizar con el controlador. Entre los elementos a mencionar se tienen: Tarjeta IMS 8008, TRAM 8426, Módulos de comunicación RS232 y RS422, etc. Capítulo 4. Se presenta la solución planteada en [3] a la problemática actual que presenta la Celda de Manufactura Flexible (CMF). Dicha solución incluye los dispositivos de comunicación entre los elementos y el controlador que incrementen la redundancia en hardware para la entrada y salida de información, así como todos los programas utilizados; estos programas fueron realizados en lenguaje Occam. Capítulo 5. Describe los trabajos realizados para obtener una interfaz reconfigurable y tolerante a fallas entre el controlador y los elementos de la Celda de Manufactura Flexible. Capítulo 6. Se proporcionan las conclusiones y recomendaciones a futuro, con base en las experiencias obtenidas durante el desarrollo de la tesis. 17 2. CARACTERISTICAS DE LOS ELEMENTOS DE LA CELDA DE MANUFACTURA. En este capítulo se estudian y describen los robots que conforman la Celda de Manufactura (CIM) del ITESM-CEM. Los robots se clasificaron en dos grupos: herramientas estándares y de control numérico. Existe otro conjunto de elementos llamado sistema de control que engloba aquellos programas utilizados por los robots, pero que tienen la deficiencia de operar independientemente. Esto es, no son programas capaces de controlar conjuntamente a todos los elementos de la celda. La celda de Manufactura del ITESM-CEM está compuesta de los siguientes elementos (ver figura 2.1) a) Herramientas estándares y de control numérico. Fresadora MAHO 700S Torno GRAZIANO GR300S b) Dispositivos para mover partes. Bandas transportadoras ( conveyor 2) Almacenamiento AS/RS Robot PUMA Robot Mitsubishi Robot Júpiter c) Sistema de control. 18 Conjunto de programas computacionales que permiten controlar la operación de cada una de las partes de la celda. Actualmente no coordinan a todos los elementos de la celda en conjunto; cada uno de ellos se programa de manera independiente para hacer tareas rutinarias, sin capacidad de tomar decisiones. ASIRS CONTROL ASfRS CONTROL PUMA MITSUBISHI OEl CONVEYOR CONTROLADOR Figura 2.1 Esquema del CIM La figura2.1 se diseñó en base a la distribución actual del CIM del Tecnológico de Monterrey Campus Estado de México. A continuación se hace una descripción general de los diferentes robots de la celda de manufactura [4]. 2.1 ROBOT MITSUBISHI. Este robot es de fabricación Japonesa, constituido por un total de cinco ejes de libertad servocontrolados y con un actuador final eléctrico; además es de tipo 19 esférico. El Mitsubishi utiliza como interfaz de comunicación tres diferentes tipos de conectores. Una interfaz paralela con un centronics, una interfaz serial con un RS-232-C y una interfaz con equipo externo 1/0. 2.2 ROBOT PUMA. Este robot es de fabricación sueca y tiene cinco ejes de libertad todos controlados por servomotores. El actuador es una tenaza de accionamiento neumático. Este robot es de tipo esférico y su función es interactuar con el torno y la fresa. Los componentes periféricos para el sistema del PUMA son usados para enviar y recibir información. Estos periféricos consisten de una terminal CRT y TIY, un teach pendant (control), disco duro, memoria adicional, y módulos de 1/0. La transmisión y recepción de datos es a través de la interfaz RS232. Descripción eléctrica. Tipo de transmisión Velocidad Stop bit Paridad Asíncrona: 8 bits 9600 1 ninguna Cada motor localizado en el Puma contiene un encoder incremental y un potenciómetro. Los potenciómetros (encoders análogos de nivel alto) son usados para inicializar el robot. Los encoders son montados en los ejes (shaft) de cada motor y proveen cambios de posición y señales de velocidad. Los motores servo para los ejes más importantes (Joints 1,2,3) están equipados con frenos electromagnéticos. Estos frenos son activados cuando la energía es retirada de los motores, así logrando bloquear el brazo en una posición estática. De esta manera se evita que el brazo colapse. A continuación se describen las características de cada eje. Cintura articulación 1 5.7 deg -320 a +320 rotación Hombro articulación2 3.3 deg -250 a + 250 rotación Codo articulación3 6.7 deg -270 a +270 rotación Muñeca articulación4 5.0 deg -200 a +200 rotación muñeca articulación5 4.6 deg -532 a +532 rotación 2.3 ROBOT JÚPITER. 20 Este robot es de fabricación Norteamericana, constituido por un total de cuatro ejes de libertad servocontrolados; además cada eje tiene consigo sensores inductivos para detectar metales ferrosos y no ferrosos hasta una distancia de 50 mm. El actuador es una tenaza de accionamiento neumático. El controlador servo robot (899-CC) puede comunicarse con otras computadoras a través del puerto de comunicaciones serial RS232-C, y la programación o control puede darse desde el Kit (825-TP). 2.4 TORNO Y FRESA. Son maquinas herrramientas de la celda que funcionan con un programa de control numérico computarizado. 21 2.5 AS/RS. Este robot es de fabricación Norteamericana. Todos sus movimientos con los ejes servo pueden ser descritos en el plano XY: X es la distancia horizontal entre compartimientos, mientras que Y es la distancia vertical entre compartimientos. Otros ejes que usa son Z y C. El primero indica movimientos lineales para desplazarse hacia el interior y exterior del compartimiento, mientras que el segundo es un movimiento de rotación para poner o quitar paletas en el compartimiento. 2.6 COMUNICACIÓN CON LOS ELEMENTOS DE LA CELDA. Debido a la necesidad de comunicación, se requiere de un dispositivo de comunicación entre el controlador y los elementos de la celda de Manufactura Flexible ( interfaz y/o conmutador). Para escoger el mejor dispositivo se realizó un estudio de las características de comunicación de los robots y de los dispositivos existentes en el mercado actual de Manufactura. Los elementos (robots), en su mayoría utilizan interfaz RS232, motivo por el cual el estudio del dispositivo se enfocó a RS232. A continuación se describen algunas opciones de dispositivos existentes en el mercado actual de Manufactura. Controladores de Línea Serie LO RS232 a RS422 Este controlador permite distancias de más de 50 pies entre una PC y cualquier dispositivo. Además convierte señales RS232 a señales estándares de la industria RS422 [12]. No ofrece tolerancia a fallas, porque su principal función esta enfocada a la conversión de señales de RS232 a RS422. 22 Conmutadores serie CA8 Este conmutador permite controlar a través de un dispositivo con interfaz R8232 diversos dispositivos. Este switch tiene excelentes características técnicas como: comunicación bidireccional, opción para interfaz R8422, switcheo rápido, etc., que pudieran ayudar a controlar una celda de manufactura(13]. Conmutadores serie MD8 Permite la conexión de múltiples dispositivos R8232. Interfaz 810232 y 810422 de INM08 Algunas de las características técnicas son: interfaz R8 232 y 422, protección de transmisión de datos en ambientes ruidosos utilizando R8 422, comunicación bidireccional, distancias mayores de 50 pies, tolerancia a fallas mediante el uso de caminos alternos, control de dos dispositivos a través de una interfaz, etc. Todos los conmutadores y controladores que se describieron requieren de algún tipo de adaptación para comunicarse con la tarjeta 8008. Esto es porque ninguno de ellos cuenta con un driver capaz de interactuar con la familia de Transputer Transtech, por lo que sería necesario adaptar un tipo de interfaz como la desarrollada en el trabajo de tesis (5). Los únicos que son completamente compatibles con la familia de transputers transtech son la interfaz 810232 y 810422. Además tienen la característica de poder conmutar como los dispositivos mencionados anteriormente. La interfaz 810232 así como el 810422 están compuestos de un transputer de 16 bits T2, memoria 64 Kbytes, y un DUART (Dual universal asyncrhronous -, ~ --' receiver/transmitter). El DUART proporciona dos canales de comunicación (transmisión y recepción) asíncronos bidireccionales que se comunican directamente con dispositivos RS232 como: monitores, impresoras, modems, instrumentos de laboratorio, etc. El transputer permite la comunicación con una red de transputers externa y aloja los drivers los cuales manejan las interrupciones y funciones que realizará el DUART para enviar información a los puertos de comunicación. 2.7 DESCRIPCIÓN DEL CONTROLADOR PARDICO (PARALLEL ANO DISTRIBUTED INTELLIGENT CONTROLLER). PARDICO es un controlador paralero distribuido para un celda de manufactura flexible, que consiste de varios robots y máquinas interactuando en la construcción de productos. Los objetivos de diseño de este controlador son: a) Flexibilidad en la planeación b) Reconfigurabilidad. c) Tolerancia a fallas. Para poder alcanzar los objetivos planeados, se propone el uso de una arquitectura reconfigurable basada en transputers T805.[2] Las redes dinámicas no tienen enlaces fijos sino conmutados conectando cualquier entrada con cualquier salida del conmutador. Las posiciones del conmutador se establecen con software, ya sea por datos o control de mensajes. Los conmutadores grandes son difíciles de construir por lo que se usan redes dinámicas hechas por conmutadores de 2x2. 2-l- Las redes dinámicas tienen dos ventajas sobre las redes estáticas. Primero, permite la reconfiguración que necesita la celda de manufactura flexible. Segundo, ayuda a aislar y recuperarse de fallas. Los enlaces de los transputers establecen comunicaciones punto a punto. Para lograr la reconfigurabilidad, el PARDICO usa el conmutador C004, que es un conmutador programable de 32x32 que nos permite construir una topología dinámica en la red de procesadores, como lo muestra la siguiente figura. Celda de Manufactura t i i Conmutador 1/0 G G i t t i I· ·I I· ·I I· -G 1 2 3 )111 i • • t C004 Figura 2.2 Red de interconexión dinámica del PARDICO 3. CARACTERÍSTICASDE LOS ELEMENTOS A UTILIZAR CON EL CONTROLADOR. 2:'i En este capítulo se estudian y describen todos los elementos que conforman al controlador. Los elementos son explicados e ilustrados detalladamente, para poder entender la tecnología que utiliza el controlador. Los elementos que utiliza el controlador son: Tarjeta IMS 8008, módulos TRAM's, y las interfaz 232 y 422. Estos elementos residen físicamente en una computadora llamada huésped. Esta computadora se encarga de centralizar toda la Información de la celda de Manufactura Flexible, y posteriormente distribuir todas las tareas a cada uno de los elementos correspondientes. Ver sección 3.1 características del huésped. El controlador se basa principalmente en una Tarjeta IMS 8008, la cual se encarga de realizar todas las conexiones de enlaces entre los módulos TRAM's formando una red de transputers redundante. Los módulos TRAM 's residen en la tarjeta, así como también los SIO 232 y 422 que se conectan a los elementos de la celda a través de un cable 089. Cada módulo SIO tiene la característica de tener integrado dos puertos seriales, y a cada uno se le conecta un robots. De esta manera cada SIO puede controlar dos robots al mismo tiempo. Cada transputer estará realizando diversas tareas específicas entre las cuales se tiene la asignación de funciones para los robots. Estas funciones son transmitidas 2 (¡ desde los transputers pasando por cualquiera de los SIO's, para finalmente llegar a los elementos de la celda de manufactura (robots); y viceversa. 3.1 COMPUTADORA HUÉSPED La computadora huésped está conformada de ciertas características y elementos que a continuación se listan. 3.1.1 CARACTERÍSTICAS Procesador: Monitor: Disco duro: Memoria: Pentium 166 MHz. SVGA. 1 GB. 24 MB RAM Sistema operativo: Windows 95 Software: Occam y C Tool Set El huésped utiliza Occam para los procesos que corren en los SIO's 232 y 422, mientras que C Tool Set es utilizado para los procesos que corren en la red de los transputers T805. Todos los procesos ya sean de "Occam" o "C" son llamados desde Occam 3.1.2 ELEMENTOS Tarjetas: Transputers: 4MB en RAM). Módulo: Módulo: IMS 8008 (Tarjeta Base para los transputers). 5-8 Módulos TRAM IMS 8426 (T805 - 25 MHz con ALX-232 conmutador para la interconexión. ALX-422 conmutador para la interconexión. Estos elementos serán descritos a detalle a continuación. 27 3.2 MÓDULOS IMS 8426 (T805 - 25 MHZ). 3.2.1 DESCRIPCIÓN. El transputer es un microprocesador para arquitecturas paralelas desarrollado por INMOS. El nombre de transputer se deriva de la palabra transistor y computadora (trans de transistor y puter de computer) [12]. El transputer es un microprocesador de propósito general que integra en un sólo circuito las facilidades de procesamiento, comunicaciones y memoria. Fue desarrollado en 1980, con un lenguaje de programación llamado OCCAM. Este microprocesador tiene características de concurrencia y sincronización. Los transputers son poderosos microprocesadores debido a su hardware, pues incluyen protocolos de comunicación que han sido incorporados en el circuito integrado. Los módulos IMS 8426 son TRAM's constituidos por un transputer T805 - 25 MHz con 4 M8 en RAM. Estos módulos se colocan en las ranuras (slots) de la tarjeta IMS 8008 descrita anteriormente. Dependiendo de su colocación dentro de la tarjeta madre, forman diferentes topologías de transputers. Los transputers una vez colocados en la tarjeta IMS, esta en conjunto con los transputers proporcionan las señales eléctricas necesarias, soporte mecánico y usualmente una interfaz con la tarjeta 8008. 3.2.2 CARACTERÍSTICAS. A continuación se muestra la configuración de los pines del módulo IMS 8426 y la descripción correspondiente de cada pin. o Lllk2out O Link2r, o vcc o Link101.1t o Link1 in o LinkSpeedA o LuSpeed8 o Oockln (5 MHi) Unk3in o Lir.k3out e Gf\O o LinkOin o LinkOout o notError o Res et O Anafyse O Figura 3.1 Vista del IMS 8426 y pin's. Pin In/Out Función Servicios del Sistema VCC,GND Fuente de alimenta v retorno Clockln in Señal de reloj 5 MHz Reset in Inicio del transputer Analvse in Análisis de error del transouter notError out Indicador de error del transouter Enlaces Linkln0-3 in Entradas enlace serie INMOS al Transputer Linkout0-3 out Salidas enlace serie INMOS del transputer LinkspeedA,B in Selección de velocidad del enlace del transouter Tabla 3.1 Descripción pines IMS 8426. 3.3 Tarjeta IMS 8008 28 No. Pin 3, 14 8 10 9 11 13,5,2, 16 12,4,1,15 6,7 La familia de transputers T805 son procesadores que físicamente pueden conectarse en las ranuras de una tarjeta madre de formato PC-AT llamada IMS 8008 (8]. Esta tarjeta soporta hasta 1 O transputers conectados en ranuras, cada una de las cuales tiene cuatro conexiones para enlaces INMOS. Estos enlaces son numerados de O a 3 y las ranuras son numeradas de O a 9 (ver figura 3.2). s 6 TRAM slots 2 o 4 7 Jumpers 3 8 Slot 9 Patch header socket, P1 Switches / D-type cónnector, P2 Figura 3.2 Tarjeta Madre IMS 8008 29 La comunicación entre los transputers es asíncrona, y punto a punto . Un enlace es una implementación física del concepto de Occam de un canal. Cada enlace es bidireccional, por lo que implementa dos canales con direcciones opuestas. Cada enlace consiste de dos pins, "out" y "in", logrando así la interconexión de transputers mediante el pin "out" de uno y el pin "in" de otro. La comunicación en los enlaces se lleva a cabo de acuerdo a un protocolo que nos dará una sincronización dinámica. La velocidad de un transputer es de 25 MHz y sus señalizaciones eléctricas en los enlaces corresponden a los estándares de TIL. :rn Las 1 O ranuras del IMS 8008 están conectadas en pipeline, de tal manera que el enlace 2 de la ranura O es conectado con enlace 1 de la ranura 1, y así sucesivamente con el resto de las ranuras. Los enlaces O y 3 de cada ranura están conectados al conmutador de enlace IMS C004, y éste a su vez es controlado por un transputer T225 que viene integrado en la tarjeta IMS 8008. o so al bus PC 1 T1 S1 [fü tfD S6 2 1 2 1 21 21 21 2 1 ...._. T3 ...._.SIO 2 º! !' o 3 :! 3 o t' º! t, ,t !' o 10 1 11 2 14 5 i15 6 16 IMSC004 Puntos de conexión del C004 Número del enlace correspondiente al transputer conectado en la ranura (slot) sx = número de la ranura (slot) en la tarjeta IMS 8008 Figura 3.3 Enlaces y Switch C004 S7 2 o 3 En el caso de que no hubiera algún procesador en alguna de las ranuras, se utilizan unos jumpers que permiten interconectar a las ranuras que se encuentran a los extremos de la ranura que no tiene procesador . El IMS C004 es un conmutador de enlace programable con 32 caminos en modo crossbar. Esto permite la configuración de los transputers en diferentes redes mediante el uso de un software. También estarán conectados a las ranuras de la tarjeta madre IMS 8008 las interfaces de comunicación SI0232 y 810422. Estas interfaces de comunicación se utilizarán para realizar la interconexión entre el controlador paralelo distribuido 31 y la interfaz de cada uno de los elementos de la celda. Ver figura 3.4 5 6 2 o 4 7 3 8 9 SI01 1 1 tJ 1805 1805 n tJtJ Figura 3.4 Distribución de los TRAM's T805 y SIO's. En la figura 3.4 se ilustra que los SIO's están conectados a los slots 1,5,6, y 2 respectivamente. 3.4 INTERFAZ DE COMUNICACIÓN 510232. 3.4.1 INTRODUCCIÓN. Esta interfaz permite realizar la conversión del enlace serial del transputer a un enlace serie estándar RS232. La interfaz se coloca dentro de las ranuras (slots) de la tarjeta base IMS 8008. Sus dimensiones son del tamaño de 2 TRAM (T805) por lo que ocupa dos ranuras de la tarjeta. El módulo está conformado por los siguientes elementos (ver figura 3.3). • Un TRAM (225)de 16 bits • 64 Kbytes SRAM • Dual Universal Asynchronous Receiver/transmiter (DUART). • Drivers • Puertos de comunicación de entrada y salida. 32 El OUART permite programar la velocidad de baudios, bits de paro, paridad, y tamaño de la palabra. Además provee dos canales asíncronos full-duplex (transmisión I recepción) que pueden conectarse directamente bajo estándares industriales con monitores, impresoras, modems o cual otro dispositivo RS-232. El SRAM permite que drivers, software y el OUART residan en el mismo TRAM. 16-Bit RS-232 Transputer Dual ú Driver - UART ~ RS-232 Driver 64 KBytes 1 SRAM . lnterrupt Controller Figura 3.5 Diagrama a bloques del 510232 3.4.2 INSTALACIÓN. La interfaz 810232 puede colocarse en cualquier tarjeta TRAM estándar. Para colocar la interfaz es necesario alinear la pestaña (un triángulo pequeño de color blanco cerca del conector J1) con una marca similar localizada en la tarjeta madre TRAM (ver figura 3.6). La tarjeta madre TRAM provee todas las señales necesarias para que el TRAM opere correctamente. Estas señales incluyen + 5 Volts y tierra, reloj de 5 Mhz, parámetros de velocidad de enlace y cuatro conexiones de enlace por TRAM. Los +- 12 Volts son generados por un convertidor OC a OC. JPS es una cabeza de dos pines usado para definir interrupción. Esta interrupción es programable para que sea positivo o negativo. El pin1 de la cabeza va conectado directamente al controlador de interrupción PAL el cual es conectado a un resistencia de 1 OK ohms. Pin2 es conectado directamente a tierra. I DC-DC CVTR ! !RS-232 DRIVER! ! RS-232 DRIVER! TRANSPUTER I J 1 6•1 PORT B 1 • • 1 JPS ""--- Pin 1 Figura 3.6 Vista superior del 510232 3.5 INTERFAZ DE COMUNICACIÓN 510422 3.5.1 INTRODUCCIÓN. Esta interfaz tiene algunas características diferentes a la interfaz RS232 descrita en la sección 3.4. A continuación se ilustra el diagrama a bloques del 810422. Esta figura muestra la diferencia entre el tipo de driver de la figura 3. 7 con la figura 3.4 de la sección 3.4. 16-Bit Transputer 64 KBytes SRAM Dual UART lnterrupt Controller RS-422 Driver RS-422 Driver Figura 3. 7 Diagrama a bloques del 510422 La instalación, descripción de hardware, mapeo de la memoria del transputer, programación de registros, registros del Duart, protocolo de comunicación, etc., son iguales a los del SI0232 descrito en la sección 3.4. A continuación se ilustra en la figura 3.5 una vista superior del SI0422, el cual varía en algunos de sus componentes en comparación con el SI0232. Ver figura 3.6 sección 3.4.1 para ver las diferencias entre los SIO's . ....-------.""l PORT 8 1 Address Decode I i:l D l 1nterrupt Control! [J D RS422 DRIVERS =ORT AD Pin1 tJ .. ~T-R_A_N-SP_l_lT-ER---, 1 • • 1 JPS ""-._ Pin 1 Figura 3.8 Vista superior del 510422 15 4. SOLUCION PROPUESTA. 4.1 PROPUESTA. En esta tesis se implementaron dispositivos de comunicación entre los elementos y el controlador que incrementan la redundancia en hardware para la entrada y salida de información. Estos dispositivos están basados en el uso de switches, y permitirán que la Celda de Manufactura Flexible (CMF) sea tolerante a fallas (ver figura 1.3). La figura siguiente muestra la interfaz propuesta. Es una arquitectura de conexión con una interfaz como dispositivo intermedio para el control de dos transputers con dos robots (ver figura 4.1 ). Esta arquitectura permite la reconfiguración dinámica. Esta configuración se lleva a cabo mediante los enlaces de los transputer, el switch C004 y las interfaces SIO's 232 y 422 utilizadas para la intercomunicación entre el controlador y los elementos de la celda de manufactura permitiendo recuperarse en caso de cualquier falla. Es importante hacer mención (sección 2.6) que las investigaciones realizadas anteriormente por el ITESM [1,5,7] no soportaban reconfiguración dinámica. Con esta nueva arquitectura propuesta se pueden recuperar las fallas, pues utilizando la red dinámica de los transputers y las interfaces SIO's, se tienen diversos 36 caminos entre los transputers y los elementos de la celda de manufactura, y así poder sobre pasar cualquier enlace o procesador que falle. CONTROLADOR TRANS1 TRANS2 CONMUT.11.DOR RS23.oRS422 ROBOT1 ROBOT2 e-= CELDA DE ROBOTS Figura 4.1 Interfaz La figura 4.2 muestra a detalle el controlador paralelo distribuido el cual incluye: a) Tarjeta base IM8 8008 (Arquitectura reconfigurable de t805). b) 810232 c) 810422. Las letras w. x, y, z representan a cualquier elemento de la celda, que se requiera conectar a las interfaces 810232 o 810422 (ver figura 4.2). Figura 4.2 Controlador paralelo distribuido. Las ventajas de este esquema es que cada transputer puede dedicarse a controlar un robot, además de que si un transputer falla entonces la interfaz permitirá que el otro transputer conectado se encargue de las tareas de los dos robots Por otro lado, se tiene el riesgo que si el switch 810232 o 810422 falla , ocasiona el aislamiento total de los robots con el controlador. Este último problema no será atacado en esta tesis, sino en una fase posterior del proyecto [3]. Una vez descritos los componentes principales que se utilizan en el desarrollo de esta tesis, a continuación explicaremos de qué manera se conectó el conmutador con los diferentes robots. 4.2 CONEXIÓN INTERFAZ RS232. Para la interconexión entre el controlador paralelo distribuido y los elementos de la celda se diseñaron cables con conectores 089 en sus extremos con la configuración especificada en la figura 4.3. PC 1 Pin Pin PC2 TX 3 2 RX RX 2 3 TX RT8 7 1 DCD CTS 8 D8R 6 4 DTR DCD 1 7 RTS 8 CT8 DTR 4 6 DSR Figura 4.3 Configuración de Pins entre dos PC's 38 Los Pin 7 y 8 se conectan entre ellos en cada uno de los conectores para completar las señales y no se queden los dispositivos (PC o robot) esperando una señal de RTS (Ready To Send). A continuación se muestra en la figura 4.4 la conexión física del controlador con 2 robots. ROBOT1 Puer1o A o DB9 PC IMS 8008 SI0232:~ Cable ROBOT2 o J DB9 PC Puerto B Figura 4.4 Conexión inteñaz 232. 4.3 CONEXIÓN INTERFAZ RS422. Debido a que en la Celda de Manufactura Flexible no existe actualmente ningún robot que maneje la interfaz RS422, se diseñaron cables con conectores 089 y un convertidor RS422/232 para la interconexión entre el controlador paralelo distribuido y los dispositivos ya sean Robots o Pc's, como se muestra en la figura 4.5. IMS 8008 089 089 PLlerto B Convertidor RS422 a RS232 Convertidor RS422 a RS232 Figura 4.5 Conexión interfaz 422. ROB011 o PC ROB012 o PC 4.4 DISEÑO E IMPLEMENTACIÓN CONVERTIDOR RS422/RS232 .19 El convertidor de RS422 a RS232 que se muestra en la figura 4.6, es una tarjeta que mide 4cm de largo x 3cm de ancho, la cual es utilizada para poder convertir las señalizaciones de la interfaz 422 a 232 . Las señales que se utilizarán son transmitidas mediante una comunicación digital ya sea paralela o serial. En este caso se uso la comunicación serial. Las señales que se utilizan son señales Diferencial, TTL (simple), y señal RS232. 5 1----+ o Señal TTL H=5V, L=OV .j.() 5 + o :1 >------+ 1 Señal Diferencial -+ SV RS422 +12 ---+------ -12 Señal -+ 12V RS232 Figura 4.6 Tipos de Señales. Debido a que el protocolo RS422 transmite señales diferenciales, es necesario covertirlas a señales TTL y después a señales RS232 (Figura 4. 7). Para ello, es necesario utilizar el convertidor RS422/RS232. Se utilizaron dos chips SN75176A Differential Bus Transceiver y un chip MAX232 Dual EIA-232 Driver/Receiver. -l-1 422 TX TTL 232 TX SN75176A MAX232 RX 1 1 TIL 1 RX / SN75176A \ I Señal Diferencial Señal Simple Señal RS232 Figura 4. 7 Procedimiento para cambiar de RS422 a RS232.4.4.1 INSTALACIÓN. El convertidor se instala de un extremo a una punta del cable 089 que esta conectado en el puerto A o 8 del 810422, y en el otro extremo se conecta directo a cualquier dispositivo externo (PC o robot). La figura 4.5 ilustra la instalación del convertidor. 4.4.2 DESCRIPCIÓN DEL HARDWARE. A continuación se describen los elementos que conforman al convertidor como se muestra en la figura 4.8. Cantidad 2 1 1 1 1 Descripción SN75176A Differential Bus Transceiver. MAX232 Dual EIA-232 Driver/Receiver. Eliminador de Baterías. Circuito Integrado 7805. Conector 089 conexión al módulo 422. 1 Conector DB9 conexión a la PC o Robot. El convertidor que se ilustra en la figura 4.8 tiene 6 pins en el lado izquierdo, los cuales se conectan a una punta del cable DB9 que esta conectado directamente al 810422. Así mismo del lado derecho hay 3 pins, los cuales se conectan directamente al puerto serial de un dispositivo externo (PC o Robot). En la figura 4. 9 se describen cada uno de los pins mencionados anteriormente y que se muestran en la figura 4.8. 4.5 TOLERANCIA A FALLAS. Para la implementación de Tolerancia a Fallas en la Celda de Manufactura Flexible, se proponen dos esquemas de redundancia en Hardware, es decir usando replicacion en alguno de los elementos de la celda. Para el primer esquema la redundancia se encuentra en los procesadores; existirán dos procesadores por cada robot . En el segundo esquema se hará la redundancia con ayuda de los elementos de la Celda de Manufactura (robots); existirán dos robots por cada procesador. A continuación se describen ambos casos. 4.5.1 REDUNDANCIA CON DOS PROCESADORES. Para resolver la falla de un procesador , se usa la redundancia en hardware mediante un procesador de respaldo. Dicho esquema ya fue probado en desarrollos anteriores[14]. En nuestro diseño, en caso de que falle un procesador, el procesador que está conectado a la misma interfaz puede tomar el lugar del otro, ejecutando el programa que estaba ejecutando el primero. Lo anterior es posible gracias a que la interfaz 810232 hacia el robot tiene la característica de manejar dos enlaces a sus robots correspondientes y conmutar un enlace de un robot a otro por medio de una matriz de conexión 2X2 [2]. Además, como el transputer puede ejecutar varios procesos de forma [ ·-·®· :J 12ov de Baterías o o = o 9\/ rn y Pins ~\ 7 PC X 2 8 o '.) ROBOT rn 2 9 e p E ºo Figura 4.8 Convertidor 422/232. Pin Descripción Pins conectados al puerto del cable 089 1 GND 2 Tx+A 3 Tx- B 4 Rx+ B 5 Rx- A 6 5 Volts Pins conectados al puerto serial (PC o Robot) 7 GND 8 Rx 9 Tx Figura 4.9 Descripción de Pins. concurrente, un solo procesador puede, de ser necesario, encargarse de manejar a dos elementos de la celda ejecutando dos procesos, uno primario ( operación normal) y uno secundario que sirva como respaldo de su procesador vecino.[14] T1 T8cri PROCESO . PROCESO PRINCIPAL ' RESPALDO DE T1 DE T2 ELEMENTO 1 T2 T8cri PROCESO : PROCESO PRINCIPAL ' RESPALDO DET2 : DET1 ; SIO 1 T225 ELEMENTO 2 Figura 4.1 O Esquema de respaldo de 2 transputers -1 interfaz 510 en operación normal Durante la operación normal (figura 4.1 O), cada proceso principal manda instrucciones a su elemento correspondiente de la celda, mientras los procesos de respaldo se encuentran en espera de un error. En el momento en que ocurre un error (figura 4.11) en el transputer T2, por ejemplo, el proceso en T1 que sirve como respaldo del proceso en T2 es notificado e inicia un proceso idéntico al que se encuentra en T2 , según el último estado válido en el que se quedó T2, y continúa enviando instrucciones al elemento de la celda que controlaba el transputer T2 antes de ocurrir el error . En la figura 4.11 puede observarse que el elemento de la celda sigue recibiendo instrucciones de forma transparente gracias a que la interfaz SIO 232 puede conmutar la fuente de donde recibe sus comandos [14]. T1 T805 PROCESO ; PROCESO PRINCIPAL ' RESPALDO DE T1 : DE T2 ' ¡ I _ J~-E-LE-M-1E-NT-O~ SIO 1 T2 T805 PROCESO : PROCESO PRINCIPAL , RESPALDO DE T2 : DE T1 T225 * ERROR i t t ELEMENTO 2 Figura 4.11 Esquema de respaldo de 2 transputers - 1 interfaz 510 después de un error Para la interacción entre la interfaz y la red de transputers se utilizó un proceso adicional, que llamaremos" proceso enlace". Dicho proceso está configurado para recibir instrucciones tanto del proceso activo como del proceso de respaldo y enviarlas de forma adecuada al driver, de tal forma que lleguen al puerto correspondiente del robot. En la figura 4.12 se ilustra el intercambio de mensajes en el caso en el cual el proceso activo envia comandos al elemento de la celda de Manufactura (robot). El proceso activo envía un carácter al proceso enlace, el proceso enlace agrega las etiquetas necesarias para construir un mensaje que será interpretado por el driver de tal forma que lo reenviará al puerto A como el caracter original para finalmente llegar al robot. Cuando el robot contesta se sigue el mismo intercambio de mensajes pero en sentido inverso; de tal forma que ahora el robot envía un caracter de regreso, el driver lo estructura para ser enviado al proceso enlace y finalmente el proceso activo recibe el caracter original. IU-:D DE TIUNSPl TERS SIO 232 ... - - . -~ - - -- .. - . : Tl 1 I Proceso Aceivo : T2 - . ' ' T225 ' . , _ 1 '¡ t ' , '', j Pl'Oceso EnJace i ,, ' , ' ' , ' . Puerto A: ca,·acter n L....J Puerto n: 1 , 1 ' ; o-- : [ ___ ----- -- ------- ----------------_: J PnK'.l'SO lh-spald«j ! D Robot Figura 4.12 Envio de mensajes al robot utilizando el proceso activo En el momento en que falla el proceso activo entrará en su lugar el proceso de respaldo usando el mismo intercambio de mensajes que se mencionó en el parrafo anterior. Esto es posible gracias a que el proceso enlace esta preparado para recibir información tanto del proceso activo como del proceso de respaldo y procesarla de tal forma que se puede seguir enviando mensajesa por medio del proceso driver al mismo puerto. Para el ejemplo ilustrado en la figura 4.12 y 4.13 se utiliza el puerto A. ( Ver Diagrama de Flujo y Pseudocódigo en APENDICE D) RED DE TIU\Sl'l ºTERS SIO 232 ----------- ----------, Tt . : - ---- - -- - - - - - -- ------- - - . -- - - -- - - -, l'ue110 B: () "----../ ·----- --- - - - - - - ------ - - - - - - - ------- Proceso Rcspahh Figura 4.13 Envio de mensajes al robot utilizando el proceso respaldo 4.5.2 REDUNDANCIA CON DOS ROBOTS. Para resolver la falla de un robot , se usa la redundancia en hardware mediante un robot de respaldo. En nuestro diseño, en caso de que falle un robot , otro robot con las mismas características del primero y conectado a la misma interfaz puede tomar su lugar, de tal manera que el proceso controlador del robot ejecuta el cambio de puerto del puerto principal al puerto secundario , para que el robot de respaldo pueda reemplazar al robot primario. Lo anterior también es posible gracias a que la interfaz SI0232 hacia el robot tiene la característica de manejar dos enlaces a sus robots correspondientes y conmutar un enlace de un robot a otro por medio de una matriz de conexión 2X2 [2]. 1 ____ , , __ T1 T805 8 • . . . . . . . . . ELEMENTO Robot 1 SIO 1 PC= Proceso Controlador T225 ELEMENTO Respaldo Figura 4.14. Esquema de respaldo de 2 Robots -1 interfaz 510 en operación normal Durante la operación normal (figura 4.14), el proceso controlador manda instrucciones a su elemento correspondiente de la celda (robot 1 ), mientras el elemento respaldo se encuentran en espera de un error. En el momento en que ocurre un error (figura 4.15) en el robot 1, el proceso controlador se percata de la falla y automáticamente cambiade puerto para asignar tareas al elemento de respaldo. ~----·-· I . . . _os 1 ~ 1 "-/ . X t * ELEMENTO Robot 1 SIO 1 T225 ¡ ELEMENTO Respaldo PC= Proceso Controlador Figura 4.15 Esquema de respaldo de 2 Robots - 1 interfaz 510 después de un error Para la interacción entre la interfaz y el transputer se utilizó un proceso adicional, también llamado " proceso enlace" el cual esta dividido en proceso de transmisión tx y proceso de recepción rx. Dicho proceso está configurado para recibir instrucciones del proceso controlador y enviarlas de forma adecuada al driver, de tal forma que lleguen al puerto correspondiente del robot. En la figura 4.16 y 4.17 se ilustra el intercambio de mensajes en el caso en el cual el proceso controlador envia comandos al elemento de la celda de Manufactura (robot). El proceso controlador envía un carácter al proceso enlace, el proceso enlace agrega las etiquetas necesarias para construir un mensaje que será interpretado por el driver de tal forma que lo reenviará al puerto A como el carácter original para finalmente llegar al robot. Cuando el robot contesta se sigue el mismo intercambio de mensajes pero en sentido inverso; de tal forma que ahora el robot envia un carácter de regreso, el driver lo estructura para ser enviado al proceso enlace y finalmente el proceso controlador recibe el carácter original. RED DE TRANSPUTERS SIO 232 r--·s----- · --- ------- ------ --. Tl : : T225 : 1' 1 1 1 : : a¿ T, ,__.:+t-iq,.....1..-e+--a-;c_a_r.acter Puerto A: 1 caracter 1 1 Robotl Proceso I G ' on1.-olado1· : R\ 4+--;-.~-- I I ~_'!_o~<'~ ~n~c~ _ J Proceso Driyer 0)--1 Robot2 I Puerto B: ' 1 '----- --------------- -- --------------- - . Figura 4.16 Envio de mensajes al robot en operación normal caracter en ter activar etiqueta;enter time out ack etiqueta; ack Proceso Tx Rx Controlador Proceso Enlace Proceso Enlace Proceso Driver ac Robot Figura 4.17 Intercambio de mensajes en operación normal 50 En el momento en que el caracter es enviado del proceso controlador al proceso enlace se inicia un temporizador el cual especifica que después de cierto tiempo si el proceso enlace "Tx" no puede transmitir entonces envia un mensaje de error al proceso controlador. El proceso controlador de inmediato cambia de puerto para enviar el caracter nuevamente. Ver figura 4.18. caracter time out cambio puerto caracter ca1·acte1· Proceso Tx Rx Controlador Proceso Enlace Proceso Enlace Proceso Driver Robot Figura 4.18 Intercambio de mensajes con error en la transmisión .'il En el caso en que el carácter enviado del proceso controlador al proceso enlace sea un "ENTER" o fin de comando, se inicia un temporizador el cual especifica que después de cierto tiempo si el proceso enlace "Rx" no ha recibido un reconocimiento de comando del robot a través del driver, se asume que el robot generó un error por lo que el proceso enlace Rx envia al proceso controlador un mensaje de error. El proceso controlador envia un mensaje de cambio de puerto Ver figura 4.19. caracter en ter ambio de puert enter eti time out error tivar ack Proceso Tx Rx time out time out e 1queta;ack Controlador Proceso Enlace Proceso Enlace Proceso Driver ack Robot Figura 4.19 Intercambio de mensajes con error en la recepción 52 Al evaluar los dos esquemas de tolerancia a fallas en donde en el primero se hace uso de un procesador extra y en el segundo de un robot extra, se concluyó que el segundo repercute en el incremento del costo del sistema debido al uso de un robot idéntico adicional . Por consiguiente, se propone el primer esquema el cual es menos costoso y complementa la tolerancia a fallas. Considerando lo anterior, el esquema de tolerancia a fallas para la Celda de Manufactura Flexible queda complementado con el trabajo desarrollado en la tesis [14) como se ilustra a continuación . En la figura 4.20 se presenta la topología de la red de transputers con las rutas alternas y los canales virtuales propuesta en el trabajo [6] y la distribución de procesos para el controlador de la celda de Manufactura Flexible propuesta en el trabajo [14]. Los transputers T1 al T 4 contienen un proceso controlador primario (PC) y un proceso controlador de respaldo correspondiente a su transputer vecino. Los transputers son vecinos si se encuentran conectados al mismo módulo SIO, por lo que son vecinos entre sí el transputer T1 con el T2, y el transputer T3 con el transputer T 4 . El transputer del módulo SIO y que no pertenece a la red del controlador, contiene un proceso D o driver; que es el proceso interfaz entre el elemento de la celda y la red de transputers, y dos procesos S o SIO, que son los encargados de recibir mensajes de la red de transputers y construir un nuevo mensaje que pueda interpretar el proceso Driver para ser mandado posteriormente al robot. En este transputer se tienen dos procesos SIO porque cada proceso SIO debe estar conectado a un proceso controlador. De esta forma un módulo SIO con dos procesos SIO manejará a dos procesos Controladores vecinos. Existe además un procesador T5 que contiene a un proceso monitor el cual, con ayuda de otros monitores distribuídos en la red , detecta algún error en los procesos controladores o en los procesadores e inicia las medidas de contención adecuadas; iniciar un proceso de respaldo o reiniciar el sistema en caso de error fatal. Mediante el uso de rutas alternas y canales virtuales los transputers o procesadores tienen varias opciones de respaldo para comunicarse en caso de que un enlace entre procesadores falle. Por otro lado, la interfaz SI0232 hacia los robots tienen la característica de manejar dos enlaces a sus robots correspondientes y conmutar un enlace de un robot a otro por medio de una matriz de conexión 2X2 [2]. Las rutas virtuales también hacen posible que el proceso M o monitor tenga comunicación con todos los procesos controladores y pueda determinar el momento en que ocurre un error. Para este esquema de respaldo, los procesos SIO (S) estan preparados para recibir instrucciones tanto del proceso controlador (PC) principal como del proceso controlador de respaldo (dormido en el procesador vecino). Cuando ocurre un error simplemente deja de recibir mensajes del proceso principal y recibe los del proceso que entra en sustitución, y construye un nuevo mensaje para el proceso driver, por lo que dicha transición es transparente para el proceso driver, que sigue recibiendo mensajes con un contenido, el puerto destino del SIO y alguna información de configuración extra. Para el caso planteado el módulo SIO funciona como una matriz de 2 entradas ( el proceso controlador principal y el proceso controlador de respaldo) y una salida (el puerto correspondiente al elemento de la celda). Elemento 3 R.l7'TAALTER~:\ 1 r•- 11••- 11• .. ••- 11• 11••- 11••- 'i = TI ® ··~ Al host ,,,,,,,,,,,,,,, ,....._---,--.---'#\ ·~ •,::::: Elemento 4 ____ ..... 1 ·-, ••:::::,,:::;:¡, lht,¡ -----.;~~ -, ••.:::::.,~ • ..a'•_ ........ _ !Hi'L\ ,\LTER.'\A J ® SI02 ® Ti= Número <le tr:msputcr SJOi= Número <le Interface SIO S= Proceso Sio D= Proceso Dri,cr l'C= i'roccso Controlador M= Monitor \ ·. T2 ·• .-------......... ·- .. , T4 T5 @ ¡¡ ·-·-·-..... ·-........... ·-...• J ..... -... Enla(; t."S totalm!!nk virluaks EnlaCL-'S físicos. con colocacionc:s de can.ak-s vi11ualcs Eolai;.;1..~ físicos. con colocacion.:s Ji.: canak-s diri.:ctos Figura 4.20 Topología con Rutas Alternas,Canales Virtuales y elementos de la Celda de Manufactura Flexible 55 5. RESULTADOS 5.1 PRUEBA 1. REDUNDANCIA CON DOS PROCESADORES En este esquema se usaron dos transputers conectados a un elemento 810232. Un transputer controla al elemento conectado al puerto A y el otro controla al otro elementoque está conectado al puerto B. Ambos transputers tienen dos procesos controladores. T1 tiene un controlador dedicado al robot principal y otro de respaldo para sustituir al controlator principal de T2 en caso de que falle y viceversa. Los elementos de la celda pueden ser idénticos o diferentes pero cada uno esta haciendo tareas independientes. (Ver figura 5.1 y 5.2). Para la prueba que se realizó en el trabajo [14] se usó una pe para el controlador, el robot PUMA como elemento de la celda conectado al puerto A y una segunda pe simulando a un segundo robot En la pe con el controlador se encuentra la tarjeta 8008 que contiene a un transputer haciendo las veces de la red de transputers (controlador) y un módulo SIO para la conexión con el robot (ver figura 4.20). 1u:n DE TRA",SPLTERS : sici-- ru.,..to ,\ Puerto H TI T2 ('0 'iTROI ,A DOR ,, ,, ,, ,, :• Robot I Prindpal l Robot Prindpal 2 Fig. 5.1 Distribución de los elementos de la celda y el controlador SIO Robot Principal 1 Puerto A Driver Robot Principal 2 Fig. 5.2 Distribución de los procesadores y procesos en el controlador 56 57 En la pe que simula al robot se encuentra un programa que recibe peticiones del controlador desde el puerto serial . En el momento que recibe la instrucción , la interpreta y deja correr un tiempo antes de contestar con un reconocimiento. Como requisito para la prueba, es necesario un archivo que contiene el último estado válido del sistema, para el inicio se usa como último estado válido el estado cero. También es necesario un archivo por elemento de la celda con su respectivo plan de trabajo. (Figuras 5.3 y 5.4) 00 Figura 5.3 Contenido del archivo Log.txt Pruebaa.txt Rigth 2 10 move 2 10 left 2 10 stop 2 10 Pruebab.txt Move 2 10 stop 2 10 Figura 5.4 Archivos que contienen el plan de trabajo 58 Cuando un controlador ejecuta toda su lista de instrucciones según su plan, volverá a empezar con la primera instrucción. En la figura 5.5 se muestra el incio de la aplicación, que incluye la lectura y distribución del estado inicial y el plan de trabajo a los controladores primarios y de respaldo, así como la señalización del inicio de ejecución de los procesos monitores locales, el monitor global y los controladores primarios. ********•••••••fil*** Inicio Aplicación ••••••••••••••• ••• ,, ** •• ***"' ........... ** ****** ................. * *"'* ............. . Archivo : prueba Procesos : 2 Archivo O: prueba a .txt Archivo 1: pruebab.txt PROCESO FIN CORRIENDO•• PROCESO TRANSMISION CORRIENDO•• PROCESO TX(O) -> Edolnicial: O PROCESO TX(1) -> Edolnicial: O PROCESO TX(O) -> O : rigth PROCESO TX(1) -> O : move PROCESO TX(O) -> 1 : move PROCESO TX(1) -> 1 : stop PROCESO TX(O) -> 2 : left PROCESO TX(1) FIN •· PROCESO TX(O) -> 3 : stop PROCESO TX(O) FIN •• PROCESO TRANSMISION BACK CORRIENDO •• PROCESO TX(O) -> Edolnicial: O PROCESO TX(1) -> Edolnicial: O PROCESO TX(O) -> O : rigth PROCESO TX(1) -> O : move PROCESO TX(O) -> 1 : move PROCESO TX(1) -> 1 : stop PROCESO TX(O) -> 2 : left PROCESO TX(1) FIN •• PROCESO TX(O) -> 3 : stop PROCESO TX(O) FIN •• Lextura del plan de trabajo Lextura estado inicial Transmisión del plan de trabajo a los elementos primarios de la celda Transmisión del plan de trabajo a los elementos respaldo de la celda PROCESO INICIAR MONITORES CORRIENDO •r-• ---~----~ PROCESO INICIARMON(O) -> INICIOMON PROCESO INICIARMON(1)-> INICIOMON PROCESO INICIARMON(O) ->FIN•• PROCESO INICIARMON(1) ->FIN•• Inicio de monitores locales PROCESO INICIAR APLICACIONES CORRIENDf-L-" • .,_. --~----~ PROCESO MONITOR CORRIENDO•• PROCESO INICIARAPP(O) -> INICIO PROCESO INICIARAPP(1) -> INICIO MONITOR : Empieza monitoreo normal PROCESO INICIARAPP(O) -> FIN ·• PROCESO INICIARAPP(1)-> FIN•• Inicio de monitor Global Inicio aplicación Figura 5.5 Inicio de la Aplicación 59 Cuando cada controlador ejecuta sus comandos respectivos, el monitor global le envía al proceso conectado a la PC el estado actual, de tal forma que puede desplegarse en la pantalla y escribirse en el archivo log.txt. Cuando la aplicación está operando de forma normal, aparece un listado como el de la figura 5.6 en donde se muestra el estado actual de cada proceso, y lo que se escribe como estado actual en el archivo log.txt. El estado actual se escribe hasta que el módulo SIO contesta con un reconocimiento de que se ha ejecutado el comando. Ejecutar un comando implica que el SIO transmite, por medio del driver , una intrucción al elemento que se encuentra en su puerto correspondiente, el emento le contesta con un reconocimiento, el SIO retransmite a su vez el reconocimiento al controlador y finalmente el controlador despliega y escribe el último comando ejecutado. Controladores INICIO APLICACIÓN•• Estados escritos en el archivo LogFile o 1 Log.Txt (estado global) MONITOR MOVE LogFile o 2 MONITOR STOP Comando reconociido por el monitor LogFile 1 2 y ya escrito en el archivo Log .txt MONITOR RIGTH LogFile 1 1 MONITOR MOVE El controlador 2 ejecuta un segundo Lag File 2 2 ciclo del plan de trabajo MONITOR MOVE Figura 5.6 Ejecucion de la aplicación Cuando se genera un error, entra en operación el controlador de respaldo sustituyendo al controlador principal. Ahora el SIO ya no recibe la siguiente instrucción del controlador principal , sino del respaldo, cuando recibe la nueva instrucción se comporta de la misma forma que con el controlador principal, es 60 decir, recibe una instrucción (por el canal de respaldo) la transmite de forma adecuada al driver y el driver finalmente la retransmite al elemento de la celda. El elemento de la celda contesta con un reconocimiento, el cual se transmite de regreso hasta el controlador de respaldo por medio del driver y del módulo SIO. De esta forma, el monitor sigue desplegando el estado actual del controlador de respaldo a partir de los reconocimientos de los elementos de la celda (ver figura 5.7) Controladores INICIO APLICACIÓ . LogFile o 1 MONITOR MOVE LogFile o 2 MONITOR STOP LogFile 1 2 MONITOR RIGTH LogFile 1 MONITOR MOVE LogFile 2 2 MONITOR MOVE Proceso Terminar 48 Introducción de error en el Logfile 2 1 controlador 1 MONITOR MOVE LogFile 2 2 MONITOR STOP LogFile 3 2 MONITOR LEFT LogFile 3 1 MONITOR MOVE Back LogFile 4 Respuesta del proceso de respaldo MONITORBACK STOP LogFile 4 2 MONITOR STOP Figura 5. 7 Ejecución de la aplicación e inducción de un error. El mismo proceso se sigue cuando se ejecuta un error en el segundo controlador. En caso de que el error ocurra en ambos controladores, el módulo SIO sigue recibiendo instrucciones sólo que por medio de sus dos canales de respaldo (que corresponden a los controladores de respaldo) de tal forma que el módulo 61 continúa contestando al monitor con un reconocimiento del elemento de la celda a travez de los canales secundarios correspondientes . Como puede verse, el módulo SIO simplemente está preparado para recibir instrucciones ya sea del controlador primario o del controlador secundario, ya que la tolerancia a fallas en éste esquema recae completamente en el controlador de la celda, a diferencia del siguiente esquema en el cual el módulo SIO es capaz de reconocer errores en los elementos de la celda y continuar trabajando con otro nuevo elemento (idéntico al primero) sin necesidad de notificar al controlador. Para referencia del código ver la sección D.2 del APENDICE D, y para una consulta más detallada ver el trabajo [14) 5.2 PRUEBA 2. REDUNDANCIA CON DOS ROBOTS En este esquema se usó un transputer conectado a un elemento SI0232 el cual está controlando al elemento de la celda que tiene comunicación con el puerto A (Robot). Existe un elemento idéntico en el puerto B esperando sustituir al elemento del puerto A cuando ocurra un error en el robot. (Ver figura 5.8
Compartir