Logo Studenta

Implementação de Interface para Célula de Manufactura Flexível

¡Este material tiene más páginas!

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

Continuar navegando

Materiales relacionados