KUKA System Technology KUKA.RoboTeam 3.0 Para KUKA System Software 8.5 KUKA.RoboTeam 3.0 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 KUKA Deutschland GmbH KUKA.RoboTeam 3.0 © Copyright 2018 KUKA Deutschland GmbH Zugspitzstraße 140 D-86165 Augsburg Alemania La reproducción de esta documentación – o parte de ella – o su facilitación a terceros solamente está permitida con expresa autorización del KUKA Deutschland GmbH. Además del volumen descrito en esta documentación, pueden existir funciones en condiciones de funcionamiento. El usuario no adquiere el derecho sobre estas funciones en la entrega de un aparato nuevo, ni en casos de servicio. Hemos controlado el contenido del presente escrito en cuanto a la concordancia con la descripción del hardware y el software. Aún así, no pueden excluirse totalmente todas las divergencias, de modo tal, que no aceptamos responsabilidades respecto a la concordancia total. Pero el contenido de estos escritos es controlado periodicamente, y en casos de divergencia, éstas son enmendadas y presentadas correctamente en la edición siguiente. Reservados los derechos a modificaciones técnicas que no tengan influencia en el funcionamiento. KIM-PS5-DOC Traducción de la documentación original 2 / 81 Publicación: Pub KST RoboTeam 3.0 (PDF) es Estructura de libro: KST RoboTeam 3.0 V2.1 Versión: KST RoboTeam 3.0 V2 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 Índice Índice 1 Introducción ................................................................................................. 7 1.1 Grupo destinatario ..................................................................................................... 7 1.2 Documentación del robot industrial ............................................................................ 7 1.3 Representación de indicaciones ................................................................................ 7 1.4 Terminología utilizada ................................................................................................ 8 1.5 Licencias .................................................................................................................... 8 2 Descripción del producto ........................................................................... 9 2.1 Resumen de RoboTeam ............................................................................................ 9 2.2 Acoplamiento temporal .............................................................................................. 9 2.2.1 Sincronización de programa ................................................................................. 9 2.2.2 Sincronización de movimiento .............................................................................. 10 2.3 Acoplamiento geométrico (master-slave) .................................................................. 11 2.3.1 Desplazamiento del reparto de cargas (acoplamiento geométrico) ..................... 12 2.3.2 Desplazamiento dependiente de proceso (acoplamiento geométrico indirecto) .. 13 2.3.3 Procedimiento combinado .................................................................................... 14 2.3.4 Principio master-slave ampliado ........................................................................... 14 2.4 Zonas de trabajo comunes ........................................................................................ 15 3 Seguridad ..................................................................................................... 17 4 Instalación .................................................................................................... 19 4.1 Requisitos previos del sistema .................................................................................. 19 4.2 Instalar o actualizar RoboTeam ................................................................................. 19 4.3 Desinstalar RoboTeam .............................................................................................. 20 5 Puesta en servicio y configuración ........................................................... 21 5.1 Vista general .............................................................................................................. 21 5.2 Conectividad del bus de sistema ............................................................................... 21 5.3 Conectividad de KLI ................................................................................................... 22 5.4 Crear y configurar un proyecto de RoboTeam con WorkVisual ................................. 24 5.4.1 Crear RoboTeam .................................................................................................. 24 Crear nuevo proyecto RoboTeam ................................................................... Introducir el RoboTeam en el proyecto existente ............................................ 24 26 Configurar RoboTeam .......................................................................................... 26 Configuración de smartPAD común ................................................................ Fijar el master de tiempo ................................................................................. Fijar el master de movimiento .......................................................................... Borrar la conexión master-slave ...................................................................... Crear y configurar zonas de trabajo ................................................................ 26 27 28 30 30 5.5 Medir entre sí los participantes del RoboTeam ......................................................... 31 5.6 Comprobación de medición y acoplamiento geométrico ........................................... 32 5.7 Comprobación de la conectividad .............................................................................. 32 6 Operación ..................................................................................................... 35 6.1 Menús ........................................................................................................................ 35 5.4.1.1 5.4.1.2 5.4.2 5.4.2.1 5.4.2.2 5.4.2.3 5.4.2.4 5.4.2.5 6.2 Gestor de conexiones ................................................................................................ 35 6.3 Plugin RoboTeam ...................................................................................................... 36 6.4 Cambiar la unidad de control del robot ...................................................................... 38 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 3 / 81 KUKA.RoboTeam 3.0 6.4.1 Cambio de unidad de control con el gestor de conexiones .................................. 38 6.4.2 Cambio de unidad de control con el plugin RoboTeam ........................................ 38 Sincronización de operaciones .................................................................................. 39 6.5 6.6 Simulación de instrucciones de sincronización ......................................................... 39 6.7 Visualización del estado de una zona de trabajo ...................................................... 40 6.8 Restauración del estado de una zona de trabajo ...................................................... 41 7 Programación con formularios inline ........................................................ 43 7.1 Nombres en formularios inline ................................................................................... 43 7.2 Sincronización temporal del avance del programa .................................................... 43 Formulario inline PROGSYNC ............................................................................. 43 7.2.1 7.3 Sincronizar movimientos de forma temporal ............................................................. 44 Sincronizar conjuntos de movimientos individuales de forma temporal ............... 44 Formulario inline LIN/CIRC/SLIN/SCIRC con SYNC ...................................... 45 Sincronización temporal de bloques Spline .......................................................... 45 Formulario inline de bloque Spline con SYNC ................................................ Formulario inline SPL/SLIN/SCIRC en el bloque Spline con SYNC ............... 47 47 Acoplamiento geométrico de robots .......................................................................... 48 7.3.1 7.3.1.1 7.3.2 7.3.2.1 7.3.2.2 7.4 7.4.1 Formulario inline GEOLINK .................................................................................. 48 7.5 Ventana de opciones Sincronización ...................................................................... 49 7.6 Programación del acceso remoto a programas de otras unidades de control .......... 50 Formulario inline REMOTE START ...................................................................... 50 7.6.1 7.6.2 Formulario inline REMOTE WAIT ......................................................................... 51 Programación del acceso a la zona de trabajo ......................................................... 51 Formulario inline ENTERSPACE .......................................................................... 52 Programación del abandono de la zona de trabajo ................................................... 52 Formulario inline EXITSPACE .............................................................................. 53 8 Programación KRL ...................................................................................... 55 8.1 SyncCmd() ................................................................................................................. 55 7.7 7.7.1 7.8 7.8.1 8.2 RemoteCmd() ............................................................................................................ 55 8.3 CancelProgSync() ..................................................................................................... 56 8.4 RemoteRead() ........................................................................................................... 57 9 Variables del sistema .................................................................................. 59 9.1 $COOP_KRC[ ] ......................................................................................................... 59 9.2 $PINGCOOPKRC ...................................................................................................... 59 9.3 $LOCAL_NETWORK_OK ......................................................................................... 60 9.4 $COMPLETE_NETWORK_OK ................................................................................. 60 9.5 $WORKSPACERESTOREACTIVE ........................................................................... 60 9.6 $LK_MASTER[ ] ........................................................................................................ 61 9.7 $LK_SLAVES[ ] ......................................................................................................... 61 9.8 $SYNC_ID[] ............................................................................................................... 61 9.9 $SYNC_LIST ............................................................................................................. 62 9.10 $CR_LK_MASTER .................................................................................................... 62 9.11 $CR_LK_SLAVES ..................................................................................................... 63 Programas de ejemplo ................................................................................ 65 10.1 Programa de ejemplo con 2 zonas de trabajo definidas ........................................... 65 10.2 Programa de ejemplo con instrucciones REMOTE ................................................... 65 10 4 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 Índice 10.3 Programa de ejemplo para el desplazamiento del reparto de cargas con 2 robots ... 66 10.4 Programa de ejemplo de procedimiento dependiente del proceso ............................ 67 Eliminación de fallos ................................................................................... 69 11.1 Bloqueo mutuo de robots cooperativos ..................................................................... 69 11.1.1 Determinación de bloqueo mutuo ......................................................................... 69 Servicio técnico de KUKA .......................................................................... 71 12.1 Requerimiento de asistencia técnica ......................................................................... 71 12.2 KUKA Customer Support ........................................................................................... 71 Índice ............................................................................................................ 79 11 12 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 / 81 KUKA.RoboTeam 3.0 6 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 1 Introducción 1 Introducción t 1.1 Grupo destinatario Esta documentación está destinada al usuario con los siguientes conocimientos: Conocimientos avanzados en programación KRL Conocimientos avanzados en el sistema de la unidad de control del robot Conocimientos básicos sobre conexiones de red. Para una utilización óptima de nuestros productos, recomendamos a nuestros clientes que asistan a un curso de formación en el KUKA College. Puede encontrar más información sobre nuestro programa de formación en www.kuka.com o directamente en nuestras sucursales. 1.2 Documentación del robot industrial La documentación del robot industrial consta de las siguientes partes: Documentación para la mecánica del robot Documentación para la unidad de control del robot Instrucciones de servicio y programación para los software de sistema Instrucciones para opciones y accesorios Catálogo de piezas en el soporte de datos Cada manual de instrucciones es un documento por sí mismo. 1.3 Representación de indicaciones Seguridad Estas indicaciones son de seguridad y se deben tener en cuenta. Estas observaciones indican que, si no se toman las medidas de precaución, es probable o completamente seguro que se produzcan lesiones graves o incluso la muerte. Estas observaciones indican que, si no se toman las medidas de precaución, pueden producirse lesiones graves o incluso la muerte. Estas observaciones indican que, si no se toman las medidas de precaución, pueden producirse lesiones leves. Estas observaciones indican que, si no se toman las medidas de precaución, pueden producirse daños materiales. Estas observaciones remiten a información relevante para la seguridad o a medidas de seguridad generales. Estas indicaciones no hacen referencia a peligros o medidas de precaución concretos. Esta indicación llama la atención acerca de procedimientos que sirven para evitar o eliminar casos de emergencia o avería: Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 / 81 KUKA.RoboTeam 3.0 Es imprescindible respetar el procedimiento siguiente! Los procedimientos señalados con esta observación tienen que respetarse rigurosamente. Indicaciones Estas indicaciones sirven para facilitar el trabajo o contienen remisiones a información que aparece más adelante. Indicación que sirve para facilitar el trabajo o remite a información que aparece más adelante 1.4 Terminología utilizada Término Descripción Zona de trabajo Zona de acción condicionada por el programa de todos los ejes de un robot KLI KUKA Line Interface: Conexión a la red Ethernet 1.5 Maestro El maestro es el participante dentro del RoboTeam que fija los movimientos de trayectoria y las instrucciones. RoboTeam Movimientos de trayectoria sincronizados temporal y/o geométricamente de los participantes RoboTeam. Participante RoboTeam Participante en RoboTeam. Un participante puede ser un robot, una mesa basculante giratoria o un eje de giro. Esclavo El esclavo es un participante que sigue los movimientos de trayectoria o las instrucciones del maestro. USB Universal Serial Bus. Sistema de bus para comunicación entre ordenadores y dispositivos adicionales. Licencias Las condiciones de licencia de KUKA y las condiciones de licencia del software de Open Source utilizado se encuentran en las siguientes carpetas: En el soporte de datos con los archivos de instalación del software KUKA en .\LICENSE Después de la instalación, en la unidad de control del robot, en D:\KUKA_OPT\Nombre del paquete de opciones\LICENSE Tras la instalación de WorkVisual, en el catálogo Opciones, en la carpeta de licencias que tiene el nombre del paquete de opciones Obtenga más información acerca de las licencias Open Source en el correo electrónico opensource@kuka.com 8 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 2 Descripción del producto 2 2 Descripción del producto s 2.1 Resumen de RoboTeam RoboTeam es un paquete de opciones para instalación posterior. Permite el trabajo colaborativo de varios robots en equipo o de robots con cinemática del eje adicional. En el caso de los robots colaborativos, los movimientos de trayectoria están coordinados de forma temporal y geométrica (acoplamiento temporal y/o geométrico). Funciones Acoplamiento temporal de robots Sincronización del programa inicio del movimiento sincronizado de dos o más robots Sincronización del movimiento tiempo del movimiento sincronizado de dos o más robots Acoplamiento geométrico de robots o de robots y una cinemática de eje adicional Procedimiento de división de la carga trabajo sincronizado de dos o más robots Procedimiento dependiente del proceso trabajo conjunto de dos o más robots en un proceso Procedimiento combinado combinación del procedimiento de división de carga y del procedimiento dependiente del proceso Principio master-slave ampliado trabajo sincronizado de dos o más robots con una cinemática del eje adicional Restricción KUKA.RoboTeam 3.0 está limitado a 6 alumnos. Ámbitos de aplicación Tecnologías de soldadura Tecnologías de pegado Movimientos simultáneos de un componente con dos robots Software de configuración RoboTeam se configura en un portátil o en un PC. Para la configuración se necesita el siguiente software: Comunicación 2.2 WorkVisual 5.0 El intercambio de datos entre las unidades de control se realiza mediante el bus de sistema. La comunicación con WorkVisual se realiza a través de KLI. Acoplamiento temporal Existen 2 posibilidades para acoplar robots temporalmente: Sincronización de programa (sincronización del inicio del movimiento) (>>> 2.2.1 "Sincronización de programa" Página 9) Sincronización de movimiento (sincronización del tiempo del movimiento) (>>> 2.2.2 "Sincronización de movimiento" Página 10) 2.2.1 Sincronización de programa En todos los robots se fuerza una ejecución simultánea de una línea de programa independientemente de la trayectoria recorrida antes hasta el momen- Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 9 / 81 KUKA.RoboTeam 3.0 to de la sincronización t1. Después, las unidades de control continúan su ejecución del programa de forma independiente. El acoplamiento ha finalizado. Fig. 2-1: Inicio de movimiento sincronizado 1 Momento de sincronización 2 Instrucción de sincronización 3 Punto de la trayectoria 4 Mantenimiento El momento de sincronización se programa en los programas individuales con la instrucción PROGSYNC. Esta instrucción puede ponerse tantas veces como se desee en cualquier punto del programa. En el ejemplo, la unidad de control R2 alcanza primero la instrucción de sincronización y, por tanto, debe esperar más tiempo. La unidad de control R1 alcanza la instrucción de sincronización al final y, por tanto, fija de forma simultánea el momento de sincronización t1. Con la instrucción PROGSYNC se sincronizan los programas de unidades de control cooperantes. El propósito de esta instrucción es que ninguna unidad de control continúe con el resto del procesamiento hasta que todas las unidades de control implicadas hayan alcanzado el momento de sincronización (t1) programado. La instrucción no garantiza que las unidades de control implicadas continúen con el procesamiento al mismo tiempo. La instrucción no asegura una sincronización del desarrollo del movimiento después del momento de sincronización. Esto solo se puede garantizar mediante el uso posterior de las instrucciones de sincronización adecuadas (p. ej. SYNC). 2.2.2 Sincronización de movimiento En todos los robots se fuerza el mismo tiempo de movimiento independientemente de la trayectoria recorrida antes hasta el momento de la sincronización t1. Después, las unidades de control continúan su ejecución del programa de forma independiente. El acoplamiento ha finalizado. 10 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 2 Descripción del producto Fig. 2-2: Tiempo de los movimientos sincronizado 1 Momento de sincronización 2 Instrucción de sincronización 3 Punto de la trayectoria 4 Mantenimiento El periodo de sincronización ∆t1 se programa en los programas individuales con la instrucción SYNC. Este es un componente adicional de las instrucciones de movimiento LIN, CIRC, SLIN, SCIRC, SPL o bloque SPLINE. La posición y la cantidad de momentos de sincronización es de libre elección. El tiempo de planificación total para la siguiente sincronización se permuta ya en el avance entre las unidades de control. Cada robot adapta su comportamiento de la velocidad al robot con la velocidad de trayectoria más baja. En el ejemplo, la unidad de control R2 alcanza primero la instrucción de sincronización y, por tanto, debe esperar más tiempo. La unidad de control R1 alcanza la instrucción de sincronización al final y, por tanto, fija de forma simultánea el inicio del periodo de sincronización. No se necesita ninguna instrucción SYNC nueva para terminar la sincronización. 2.3 Acoplamiento geométrico (master-slave) Mediante el acoplamiento geométrico, el robot esclavo sigue los movimientos de brida del robot maestro o los movimientos de la brida de una cinemática de eje adicional conectada a la unidad de control maestra. Para ello, la unidad de control maestra lleva a cabo una transformación cíclica de la cinemática requerida a partir de los ángulos de eje actuales y envía el frame cartesiano resultante (la brida en el sistema raíz de la cinemática) al slave. La unidad de control esclava combina este análisis de cinemática con los datos locales (root frames y offset frames constantes) en el valor $BASE_C actual. Root frame, offset frame «Diferencia entre el master $ROBROOT y el slave $WORLD». Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 11 / 81 KUKA.RoboTeam 3.0 Fig. 2-3: Acoplamiento geométrico 2.3.1 1 Sistema de coordenadas de la brida 2 LK_OFFSET (diferencia entre $BASE y el sistema de coordenadas de la brida) 3 LK_ROOT (diferencia entre el master $ROBROOT y el slave $WORLD) Desplazamiento del reparto de cargas (acoplamiento geométrico) El procedimiento de división de la carga (Load Sharing) consta de robots acoplados de forma geométrica que mueven un componente juntos pero cuyos TCP relacionados con dichos componentes permanecen quietos. De esa manera, los movimientos de los componentes se producen a través de los movimientos programados de un robot (master). Los otros robots (slaves) siguen la posición de la brida del master. Fig. 2-4: Procedimiento de división de la carga 12 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 2 Descripción del producto 2.3.2 Desplazamiento dependiente de proceso (acoplamiento geométrico indirecto) La siguiente imagen muestra un ejemplo de procedimiento dependiente del proceso. Mientras que el master transporta el componente de A a B, el slave procesa el componente. De esa manera el master trabaja como robot de transporte y de posicionamiento, mientras que el slave se utiliza como robot de proceso. El master lleva el componente a una posición de procesado óptima durante el transporte continuo. Fig. 2-5: Procedimiento dependiente del proceso Las posiciones del robot slave programado se refieren al sistema de coordenadas de la brida del master. Con ello, en los movimientos de la pieza de trabajo también se mantiene la relación relativa entre la herramienta y la pieza de trabajo. La siguiente imagen muestra cómo se pueden acoplar varios slaves de forma geométrica al master. Aquí, los movimientos de la herramienta del slave también son relativos a los de la pieza de trabajo. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 13 / 81 KUKA.RoboTeam 3.0 Fig. 2-6: Procedimiento ampliado dependiente del proceso 2.3.3 Procedimiento combinado Si el procedimiento de división de carga se combina con las variantes dependientes del proceso, entonces es posible llevar a cabo, por ejemplo, la forma de cooperación que se ve en la siguiente imagen. Fig. 2-7: Procedimiento combinado Dos robots guían una pieza de trabajo en el procedimiento de división de la carga y dejan que un tercer robot la procese. Los dos slaves están acoplados de forma geométrica al master, con lo que el slave 1 trabaja con el master en el procedimiento de división de la carga y el slave 2 trabaja en el procedimiento dependiente del proceso. 2.3.4 Principio master-slave ampliado El principio master-slave ampliado se refiere a la colaboración de dos o más robots con una cinemática de eje adicional (por ejemplo, unidad lineal, mesa 14 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 2 Descripción del producto giratoria). El master está conectado con una cinemática de eje adicional móvil y realiza trabajos con un robot adicional acoplado de forma geométrica a la cinemática de eje adicional. El acoplamiento puede referirse a cada base externa que está configurada en el master. Fig. 2-8: Principio master-slave ampliado 2.4 Zonas de trabajo comunes Las zonas de trabajo comunes son zonas en las que se superponen movimientos programados de varios robots. Estas zonas de trabajo son específicas para RoboTeam y no tienen nada que ver con las zonas de trabajo que resultan de las distintas zonas de trabajo del robot. Cuando solo un robot obtiene acceso a la zona de trabajo común de cada vez, se reduce el riesgo de colisión. Por ello debe programarse el acceso. Uno de los robots involucrados gestiona el acceso. La siguiente figura muestra una zona de trabajo común en la que se produce una colisión si no se programa el acceso. Fig. 2-9: Uso incontrolado de una zona de trabajo común Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 15 / 81 KUKA.RoboTeam 3.0 El acceso a la zona de trabajo común puede programarse mediante las siguientes instrucciones: Acceder a zona de trabajo: ENTERSPACE Abandonar la zona de trabajo: EXITSPACE La figura siguiente muestra el comportamiento de 2 robots una vez que se ha programado el acceso a la zona de trabajo común. Fig. 2-10: Uso controlado de una zona de trabajo común 1 ENTERSPACE 2 Parada 3 EXITSPACE Puesto que el robot R1 es más rápido, accede primero a la zona de trabajo común y ejecuta su movimiento. Una vez que R1 ha abandonado la zona de trabajo común, la libera. El robot R2 se detiene antes de alcanzar el punto P1. Puede proseguir con su movimiento cuando R1 haya liberado la zona de trabajo común. 16 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 3 Seguridad 3 Seguridad La presente documentación contiene las indicaciones de seguridad que hacen referencia específica al paquete de opciones aquí descrito. La información de seguridad básica relativa al robot industrial se encuentra en el capítulo "Seguridad" de las instrucciones de servicio y programación destinadas a los integradores de sistemas o en las instrucciones de servicio y programación para los usuarios finales. Se deben cumplir todas las indicaciones del capítulo "Seguridad" incluido en las instrucciones de manejo y programación de KUKA System Software (KSS). En caso contrario, pueden producirse lesiones graves o daños materiales irreparables. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 17 / 81 KUKA.RoboTeam 3.0 18 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 4 Instalación 4 4 Instalación s t 4.1 Requisitos previos del sistema Unidad de control del robot KR C4 con opción RoboTeam Robots que se puedan utilizar con KR C4 Un switch (Manageable Switch) totalmente configurable para la conexión KLI con WorkVisual Cable de unión de RoboTeam KUKA smartPAD-1, Revisión 8 Software KUKA System Software 8.5 Portátil/PC Software: Hardware WorkVisual 5.0 Los requisitos para la instalación de WorkVisual se encuentran en la documentación para WorkVisual. 4.2 Instalar o actualizar RoboTeam Descripción El paquete de opciones se instala en WorkVisual y se agrega al proyecto. Durante la transmisión del proyecto, el paquete de opciones se instala automáticamente en la unidad de control del robot. Se recomienda archivar todos los datos correspondientes antes de actualizar un software. Requisito Procedimiento Grupo de usuario Técnico de puesta en servicio con seguridad Modo de servicio T1 o T2 No hay ningún programa seleccionado. Conexión de red entre el PC y la unidad de control del robot El paquete de opciones se encuentra disponible como fichero KOP. 1. Instalar el paquete de opciones RoboTeam en WorkVisual. 2. Cargar el proyecto desde la unidad de control del robot. 3. Agregar el paquete de opciones RoboTeam al proyecto. 4. Transferir el proyecto de WorkVisual a la unidad de control del robot y activar. 5. En la smartHMI se muestra la pregunta de seguridad ¿Quiere permitir la activación del proyecto […]?. Durante la activación, se sobrescribe el proyecto activo. Si no se ha sobrescrito ningún proyecto relevante: Confirmar la consulta con Sí. 6. En la smartHMI se muestra una vista general con las modificaciones y una pregunta de seguridad. Responderla con Sí. Se instala el paquete de opciones y la unidad de control del robot vuelve a reiniciarse. La información acerca de los procesos de WorkVisual se encuentra en la documentación de WorkVisual. Fichero LOG Se crea un fichero LOG en C:\KRC\ROBOTER\LOG. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 19 / 81 KUKA.RoboTeam 3.0 4.3 Desinstalar RoboTeam Se recomienda archivar todos los datos antes de desinstalar un software. Requisito Procedimiento Grupo de usuario Técnico de puesta en servicio con seguridad Modo de servicio T1 o T2 No hay ningún programa seleccionado. Conexión de red entre el PC y la unidad de control del robot 1. Cargar el proyecto desde la unidad de control del robot. 2. Eliminar el paquete de opciones RoboTeam del proyecto. Se visualiza una ventana con modificaciones. 3. Transferir el proyecto de WorkVisual a la unidad de control del robot y activar. 4. Confirmar la pregunta de seguridad en smartHMI ¿Quiere permitir la activación del proyecto […]? con Sí. 5. En la smartHMI se muestra un resumen con las modificaciones y una pregunta de seguridad. Responderla con Sí. Se desinstala el paquete de opciones y la unidad de control del robot vuelve a reiniciarse. La información acerca de los procesos de WorkVisual se encuentra en la documentación de WorkVisual. Fichero LOG 20 / 81 Se crea un fichero LOG en C:\KRC\ROBOTER\LOG. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración 5 Puesta en servicio y configuración s t 5.1 Vista general s Requisito Todas las unidades de control que se van a conectar se han puesto en marcha por separado y funcionan sin errores. Cada participante del RoboTeam puede desplazarse individualmente. Vista general Paso Descripción Asistente de la puesta en servicio. 1 2 3 Indicación: Para información sobre los asistentes de la puesta en servicio, consultar las instrucciones de operación y programación del KUKA System Software (KSS). Interconectar el bus del sistema. (>>> 5.2 "Conectividad del bus de sistema" Página 21) Interconectar la KLI. (>>> 5.3 "Conectividad de KLI" Página 22) Configurar el RoboTeam con WorkVisual. 4 (>>> 5.4 "Crear y configurar un proyecto de RoboTeam con WorkVisual" Página 24) Medir entre sí los participantes del RoboTeam. 5 (>>> 5.5 "Medir entre sí los participantes del RoboTeam" Página 31) Comprobar la medición y el acoplamiento geométrico. 6 7 (>>> 5.6 "Comprobación de medición y acoplamiento geométrico" Página 32) Comprobar la interconexión. (>>> 5.7 "Comprobación de la conectividad" Página 32) Durante la puesta en servicio, el robot no es vigilado de forma segura, y puede causar daños a personas u objetos. Desplazar el robot durante la puesta en servicio solamente en modo de servicio T1. Si los nombres de los participantes en un RoboTeam son muy parecidos, puede haber confusiones. Pueden provocar lesiones personales o daños materiales. Seleccionar nombres fáciles de diferenciar durante la configuración en WorkVisual. Colocar asimismo estos nombres en los participantes del RoboTeam de forma que queden bien visibles. 5.2 Conectividad del bus de sistema Requisito Todas las unidades de control del robot están desconectadas. Procedimiento Interconectar el bus de sistema según el esquema DaisyChain Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 21 / 81 KUKA.RoboTeam 3.0 Fig. 5-1: Conectar en red el bus de sistema (ejemplo con 3 unidades de control) 1 Inicio de la conexión 2 Final de la conexión 3 Conexión X19 smartPAD 4 Cable de unión El smartPAD puede conectarse a cualquier unidad de control. Dentro de un RoboTeam solo se permite un smartPAD. 5.3 Conectividad de KLI Descripción En el estado de suministro todos tienen la misma dirección IP. La conexión KLI se lleva a cabo a través de Ethernet, se necesita un conmutador estándar. Si se usa un servidor DHCP, hay que ajustar en la configuración de red que la dirección IP se debe asignar a través de DHCP. Si se usan direcciones IP fijas, deben ajustarse estas en la configuración de red. Para información sobre la configuración de la red, consultar las instrucciones de operación y programación del KUKA System Software (KSS). Procedimiento 22 / 81 Cuando se utiliza un servidor DHCP, la conexión KLI se realiza del siguiente modo: Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración Fig. 5-2: Conexión KLI con DHCP 1 Servidor DHCP 3 Ordenador portátil con WorkVisual 2 Conmutador estándar 4 Unidad de control del robot Cuando se utiliza una dirección IP fija, la conexión KLI se realiza del siguiente modo: Fig. 5-3: Conexión KLI con dirección IP fija 1 Conmutador estándar 2 Ordenador portátil con WorkVisual Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 3 Unidad de control del robot 23 / 81 KUKA.RoboTeam 3.0 5.4 Crear y configurar un proyecto de RoboTeam con WorkVisual La configuración de red se genera de forma automática en WorkVisual. Cuando deba modificarse la configuración de red de una unidad de control que se encuentre en un RoboTeam, tener en consideración lo siguiente: La modificación debe realizarse en todas las unidades de control que se encuentren en el RoboTeam. De forma alternativa, puede cargarse el proyecto en WorkVisual y posteriormente transmitirse a las otras unidades de control. 5.4.1 Crear RoboTeam 5.4.1.1 Crear nuevo proyecto RoboTeam Descripción En WorkVisual están a disposición modelos, con los que se pueden crear un nuevo proyecto que contenga uno o varios RoboTeams. Un asistente, que Asistente de configuración de celdas, guía al usuario por el proceso de creación. Modelos Modelos para proyectos, que contienen RoboTeams: Modelo Descripción Proyecto RoboTeam genérico Crea un proyecto cuya cantidad de RoboTeams y de los robots independientes la determina el usuario. El usuario decide además la cantidad de los robots y de los ejes adicionales en cada RoboTeam. Proyecto RoboTeam simple Crea un proyecto con 1 RoboTeam. El RoboTeam contiene 2 robots y 1 eje adicional. Proyecto con dos RoboTeams Crea un proyecto con 2 RoboTeams. Cada RoboTeam contiene 2 robots y 1 eje adicional. Además, el proyecto contiene un robot de manipulación. Fig. 5-4: Página de ejemplo: RoboTeamWizard 24 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración Procedimiento 1. Hacer clic en el botón Nuevo.... Se abre el Explorador de proyecto. A la izquierda está seleccionada la pestaña Crear proyecto. 2. Marcar en la zona Modelos disponibles uno de los modelos para un proyecto RoboTeam. 3. En el campo Nombre de fichero asignar un nombre al proyecto. 4. En el campo Lugar de almacenamiento está determinado por defecto el directorio de proyectos. En caso necesario, seleccionar otro directorio. 5. Hacer clic en el botón Nuevo. Se abre el asistente de configuración de celdas. 6. Realizar en el asistente los ajustes necesarios, p. ej., seleccionar tipo de robot. Mediante Continuar se accede a la próxima página correspondiente. 7. Cuando se hayan realizado todos los ajustes, hacer clic sobre Finalizar y a continuación sobre la próxima página Cerrar. 8. Ahora se visualiza la red del robot en la ventana Estructura del proyecto en la pestaña Dispositivosy en la ventana Configuración de celda. En la pestaña Dispositivos se representa la red del robot en una estructura de árbol y en la pestaña Configuración de celda se representa gráficamente. Fig. 5-5: Ejemplo: RoboTeam en pestaña Dispositivos Fig. 5-6: Ejemplo: RoboTeams en la ventana Configuración de celda Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 25 / 81 KUKA.RoboTeam 3.0 5.4.1.2 Introducir el RoboTeam en el proyecto existente Descripción Es posible introducir un RoboTeam en un proyecto ya existente. Esto es posible a través de la ventanaEstructura del proyecto o de la ventana Configuración de celda. Para introducir el RoboTeam en un proyecto nuevo están a disposición modelos especiales para la creación de proyecto. Esto es más fácil y rápido que crear primero un proyecto regular e introducir luego el RoboTeam. Condición previa Procedimiento Estructura del proyecto Deben estar disponibles los catálogos KukaControllers y KUKARobots[…]. Si el RoboTeam debe incluir ejes adicionales: El catálogo KukaExternalKinematics[…] está disponible. 1. Hacer clic con el botón derecho en la ventana Estructura del proyecto en la pestaña Dispositivos sobre el nodo de la celda y seleccionar en el menú contextual la opción Añadir RoboTeam. Se introducen el nodo Red robot y el subnodo RoboTeam. Los nodos están numerados por defecto. Es posible renombrarlos. 2. Añadir al nodo RoboTeam el número de unidades de control del robot deseadas. 3. Asignar a los robots las unidades de control del robot. 4. En caso necesario, asignar ejes adicionales a las unidades de control del robot. 5. Si es preciso, se puede añadir otro RoboTeam a la red. Para ello, hacer clic con el botón derecho sobre el nodo Red robot y seleccionar en el menú contextual la opción Añadir RoboTeam. A continuación, repetir los pasos 2 hasta 5. Procedimiento Configuración de celda 1. Hacer clic con el botón derecho sobre la zona vacía en la ventana Configuración de celda y seleccionar en el menú contextual RoboTeam > Añadir RoboTeam. Se añade un RoboTeam nuevo. El nombre se puede modificar. 2. Añadir al nuevo RoboTeam el número de unidades de control del robot deseadas. 3. Asignar a los robots las unidades de control del robot. 4. En caso necesario, asignar ejes adicionales a las unidades de control del robot. 5. Si es preciso, se puede añadir otro RoboTeam a la red. Para ello hacer clic con el botón derecho sobre la zona vacía y seleccionar en el menú contextual RoboTeam > Añadir RoboTeam. A continuación, repetir los pasos 2 hasta 5. 26 / 81 5.4.2 Configurar RoboTeam 5.4.2.1 Configuración de smartPAD común Descripción Para la plena funcionalidad del RoboTeam es imprescindible utilizar un smartPAD común en el RoboTeam. Esto es así especialmente durante el acoplamiento geométrico y la sincronización del tiempo de movimiento. Condición previa La ventana Configuración de celda está abierta. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración Procedimiento 1. Hacer clic con el botón derecho del ratón en la red de robots que vaya a utilizar un smartPAD común. 2. Seleccionar RoboTeam > Shared Pendant en el menú contextual. Ahora el RoboTeam utiliza un smartPAD común. 3. Si hay un smartPAD común configurado pero deben usarse smartPADs individuales: Realizar otra vez los pasos 1 y 2. Fig. 5-7: Visualización de el smartPAD común Pos. 5.4.2.2 Descripción 1 Todas las unidades de control del robot del RoboTeam usan un smartPAD común. 2 Cada unidad de control del robot del RoboTeam usa su propio smartPAD. Fijar el master de tiempo Descripción Después de la creación de la red del robot, se determina por defecto la 1ª unidad de control del robot en la estructura de árbol de WorkVisual como master de tiempo. Esta fijación se puede modificar. En la ventana Configuración de celda se identifica al master de tiempo mediante un pequeño reloj analógico. Solamente puede haber 1 master de tiempo por red. En la unidad de control del robot real, el master de tiempo no es visible y no se puede modificar. La ventana Configuración de celda está abierta. Condición previa Procedimiento 1. Hacer clic con el botón derecho del ratón sobre la unidad de control del robot que se ha seleccionado como nuevo master de tiempo. 2. Seleccionar RoboTeam > Ajustar como Clock master en el menú contextual. El nuevo master de tiempo está identificado mediante el reloj analógico. El reloj ha desaparecido en el master de tiempo anterior. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 27 / 81 KUKA.RoboTeam 3.0 Fig. 5-8: Indicación del master de tiempo Pos. 1 5.4.2.3 Descripción El reloj identifica el master de tiempo. Fijar el master de movimiento Descripción Con este procedimiento se establece si una cinemática (slave de movimiento) debe seguir los movimientos de otra cinemática (master de movimiento). Por lo tanto, no se fija cuáles de las cinemáticas realmente se proceden, sino qué posibilidades debe haber. Solamente las cinemáticas que fueron fijadas en WorkVisual como master y/o slave pueden usarse en el programa como tales. Las conexiones múltiples y las conexiones en ambas direcciones son posibles, ya que las cinemáticas pueden ser master y/o slave de movimiento durante el flujo de programa. Al crear una conexión, se crea automáticamente el sistema de coordenadas BASE necesario. Este está identificado con el nombre LK_BASE y con un símbolo. Para un robot que debe seguir a otro, se crea una referencia al sistema de coordenadas BASE del otro robot. El sistema de coordenadas está marcado en rojo en el editor Administración Tool/Base, porque aún no está asignado a ningún número. Durante la transmisión del proyecto se distribuyen los sistemas de coordenadas BASE creados a sus respectivas unidades de control del RoboTeam. Se recomienda crear solamente las conexiones que sean realmente necesarias para el programa. No conectar cada cinemática con cada una en las dos direcciones ya que de esa forma se ocuparían en vano los sistemas de coordenadas de base. Estas no se encontrarían disponibles para otras finalidades. La ventana Configuración de celda está abierta. Condición previa Procedimiento 1. Hacer clic en un robot y mantener pulsado el botón del ratón. 2. Arrastrar el cursor del ratón sobre un robot o una cinemática externa y soltar el botón del ratón. Se abre la ventana emergente A {0} debe seguirle {1}. 3. Hacer clic en la ventana emergente. La primera cinemática puede suceder ahora a la otra cinemática. Esto se representa mediante una flecha discontinua. La flecha es de color rojo si 28 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración los puntos de zócalo aún no se han medido. Una flecha verde indica que los puntos del zócalo ya se han medido. 4. Repetir los pasos del 1 al 3 hasta que se hayan establecido todas las conexiones deseadas. 5. Abrir el editor Administración Tool/Base y ordenar como se desee los sistemas de coordenadas BASE que aún no están asignados a ningún número. Fig. 5-9: Visualización de los master de movimiento Pos. Descripción 1 La cinemática externa es el master de movimiento del robot 1. La flecha es de color azul en vez de roja porque el cursor del ratón está posicionado sobre él. 2 La cinemática externa es el master de movimiento del robot 2. 3 Al posicionar el cursor del ratón sobre una flecha se abre una visualización de información. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 29 / 81 KUKA.RoboTeam 3.0 Fig. 5-10: Sistemas de coordenadas BASE en el RoboTeam Pos. 5.4.2.4 Descripción 1 Sistema de coordenadas BASE que no está asignado a ningún número 2 Indica que el sistema de coordenadas pertenece a una conexión de 2 cinemáticas Borrar la conexión master-slave Descripción Las conexiones que determinan el master de movimiento pueden borrarse en caso de que ya no se deseen. Procedimiento 1. Hacer clic sobre la flecha a borrar. La flecha se pone azul. 2. Hacer clic con el botón derecho del ratón y seleccionar Borrar en el menú contextual. Se borra la flecha. 5.4.2.5 Crear y configurar zonas de trabajo Estas zonas de trabajo son específicas para RoboTeam y no tienen nada que ver con las zonas de trabajo que resultan de las distintas zonas de trabajo del robot. Si KUKA.RoboTeam está instalado en la unidad de control del robot, se pueden mostrar las zonas de trabajo en KUKA smartHMI a través de Visualización > Zona de trabajo. Condición previa Procedimiento Se ha creado el RoboTeam. La ventana Configuración de celda está abierta. 1. Hacer clic con el botón derecho del ratón sobre una unidad de control del robot y seleccionar RoboTeam > Crear zona de trabajo en el menú contextual. 2. Se añade una zona de trabajo. El nombre por defecto es Zona de trabajo[número continuo]. El nombre asignado por defecto se puede modificar: 3. Seleccionar en el campo Maestro qué unidad de control del robot administra el acceso a la zona de trabajo común. 30 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración 4. En el campo Número de secuencia, asignar un número a la zona de trabajo. Fig. 5-11: Configurar zonas de trabajo Pos. Descripción 1 Indica qué unidad de control del robot administra el acceso a la zona de trabajo común 2 Zona de trabajo común 3 Establece qué unidad de control del robot administra el acceso a la zona de trabajo común 4 Numeración de la zona de trabajo Se debe asignar un número a cada zona de trabajo. La numeración sirve para evitar autobloqueos. 5.5 Medir entre sí los participantes del RoboTeam Descripción En un RoboTeam es necesario medir entre sí sus participantes, para que puedan desplazarse con un acoplamiento geométrico. Para que un participante del RoboTeam pueda seguir a otro, debe conocer el punto del zócalo del otro participante. Con el TCP de una herramienta ya medida (p. ej. una punta de medición), un punto de referencia se desplaza cuatro veces. La posición del punto de referencia tiene que ser distinta en cada ocasión. Los puntos de medición deben abarcar aproximadamente el campo de trabajo en el que se vaya a desplazar LK(). Ejemplo En el ejemplo se miden 2 robots entre sí. La punta de medición del slave se lleva a 4 posiciones diferentes y en cada ocasión se guía por la punta de medición del master. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 31 / 81 KUKA.RoboTeam 3.0 Fig. 5-12: Ejemplo: Medición de robots entre sí Requisito Procedimiento 1 1. Posición 3 3. Posición 2 2. Posición 4 4. Posición Las herramientas de medición se han medido localmente en la unidad de control correspondiente. Una herramienta ya medida se encuentra montada sobre la brida de acople del master y el slave. Modo de servicio T1 1. Seleccionar como herramienta la herramienta de medición de la unidad de control maestra. 2. En el menú principal de la unidad de control esclava, seleccionar Puesta en servicio > Administración Tool/Base > Herramienta Cinemáticas. 3. Seleccionar la unidad de control maestra y pulsar en Editar. 4. Pulsar en Medir y medir la unidad de control esclava con el método de 4 puntos XYZ. Para más información sobre la medición con el método de 4 puntos XYZ, consulte las instrucciones de operación y programación del KUKA System Software (KSS). 5. pulsar en Guardar. 5.6 Comprobación de medición y acoplamiento geométrico Modo de servicio T1 Condición previa Procedimiento 1. Tocar la indicación de estado Herramienta/base en la unidad de control esclava. Se abre la ventana Act. Base/ herram.. 2. Seleccionar la herramienta medida del slave como herramienta. Seleccionar la base del master como base. La ventana se cierra y se aplica la selección. 3. Desplazar manualmente el master. Ahora el slave debería seguir los movimientos del master. 5.7 Comprobación de la conectividad Requisito 32 / 81 Ninguno de los participantes del RoboTeam tiene fijada una parada de emergencia externa. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 5 Puesta en servicio y configuración Procedimiento Se ha garantizado que la unidad de control superior no active la parada de emergencia externa. 1. Activar el dispositivo local de parada de emergencia en uno de los participantes del RoboTeam. 2. Comprobar si hay una parada de emergencia externa fijada a los otros participantes del RoboTeam. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 33 / 81 KUKA.RoboTeam 3.0 34 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 6 Operación 6 Operación 6.1 Menús Los siguientes menús y comandos son específicos de este paquete de opciones: Secuencia de menú: 6.2 Instrucciones > RoboTeam ENTERSPACE EXITSPACE PROGSYNC GEOLINK REMOTE START REMOTE WAIT Gestor de conexiones El gestor de conexiones permite cambiar a otras unidades de control del robot. Fig. 6-1: Administrador de conexiones Pos. Descripción 1 Estado de la comunicación con el control de seguridad 2 Estado de la asignación de direcciones IP 3 Estado de la unidad de control del robot 4 Modos de servicio 5 Indicaciones de estado, interpretador Submit, accionamientos, interpretador del robot (ver las instrucciones de servicio y programación del KUKA System Software [KSS], capitulo "Manejo") 6 Estado de la sesión de RDP en las respectivas unidades de control del robot Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 35 / 81 KUKA.RoboTeam 3.0 Pos. Descripción 7 Número unívoco de la unidad de control del robot en el RoboTeam 8 La unidad de control del robot mostrada puede detenerse con seguridad en los modos de servicio de prueba T1 y T2 del control de seguridad. Con símbolo de confirmación: El robot puede desplazarse en los modos de servicio T1 o T2 Sin símbolo de confirmación: El robot se ha detenido con seguridad, es decir, el robot no puede desplazarse en el modo de servicio T1 ni en el T2. Indicación: Esta configuración no surte efecto en el servicio automático. 6.3 Plugin RoboTeam Con el plugin RoboTeam se puede cambiar a otras unidades de control, y además se pueden sincronizar las acciones del operador de las unidades de control vinculadas y simular las instrucciones de sincronización. Así es posible un trabajo más sencillo con unidades de control acopladas. Fig. 6-2: Plugin RoboTeam (ejemplo con 6 robots) Pos. Descripción 1 Unidad de control del robot mostrada en este momento en el smartPAD 2 Símbolo de apertura o cierre del plugin 3 Número unívoco de la unidad de control del robot en el RoboTeam Indicación: La numeración es idéntica en todas las unidades de control del RoboTeam. 4 Estado del robot desde la perspectiva del control de seguridad Gris: El robot está detenido con seguridad Verde: El robot no está detenido con seguridad, por lo que puede desplazarse Indicación: Las unidades de control del robot que no sean accesibles a través de la red se mostrarán por lo general con un LED verde, ya que su estado no se puede determinar de forma local. 36 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 6 Operación Pos. 5 Descripción Nombre del robot Si no se ha asignado ningún nombre, se mostrará la dirección IP del robot. 6 Sincronizar operaciones Si se pulsa la tecla de arranque en el robot local, se inician también los demás robots del RoboTeam. Además se sincronizan el override del programa y el tipo de flujo del programa. De esta forma se pueden manejar varios robots de un RoboTeam en el modo de prueba. Con símbolo de confirmación: Sincronizar operaciones con esta unidad de control Sin símbolo de confirmación: No sincronizar operaciones con esta unidad de control Indicación: Las operaciones se llevarán a cabo en todos los robots en los que esté marcado el símbolo de confirmación. Por lo tanto, debe haber al menos dos robots activados para que se sincronicen las operaciones. 7 Simulación de instrucciones de sincronización Cuando se activa esta simulación se pueden probar programas que ya contengan instrucciones de sincronización. La simulación funciona con la instrucción PROGSYNC (sincronización de programa) y con la instrucción SYNC (sincronización de movimiento). Comandos Sync Sim (SKS) corresponde a la variable $SYNCCMD_SIM. 8 Con símbolo de confirmación: Se simularán todas las instrucciones de sincronización. Sin símbolo de confirmación: No se simularán las instrucciones de sincronización. Simulación de ejes del robot Cuando se activa esta simulación se pueden probar programas sin mover realmente otras cinemáticas. La simulación solo funciona con ejes de robot y cinemáticas ROBROOT; no funciona con ejes adicionales. Robot Sim corresponde a la variable $SIMULATED_COOP_ROBOTS. Con símbolo de confirmación: Se simularán los ejes del robot. Sin símbolo de confirmación: No se simularán los ejes del robot. Cuando se pulsa el pulsador de validación, el plugin se muestra como una barra lateral: Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 37 / 81 KUKA.RoboTeam 3.0 Fig. 6-3: Plugin RoboTeam (barra lateral) Pos. 6.4 Descripción 1 El robot tiene autorización de desplazamiento 2 Unidad de control del robot mostrada en este momento en el smartPAD 3 El control de seguridad detiene el robot con seguridad Cambiar la unidad de control del robot Con el smartPAD común se puede cambiar a otras unidades de control que se encuentren en el RoboTeam. Para ello existen dos posibilidades: Cambio mediante el gestor de conexiones Cambio mediante el plugin RoboTeam Cada unidad de control del robot tiene asignado un número unívoco en una serie continua. Por medio de este número, la unidad de control del robot puede identificarse en todo momento ante cada una de las demás unidades de control del robot. Este número identificador se muestra en los siguientes lugares: Administrador de conexiones Plugin RoboTeam Formularios inline con los socios de sincronización (>>> 7.5 "Ventana de opciones Sincronización" Página 49) 6.4.1 Cambio de unidad de control con el gestor de conexiones Clave del selector de modos de servicio para activar el gestor de conexiones Requisito Procedimiento 1. Cambiar de posición el selector de modos de servicio en el smartPAD. Se visualiza el gestor de conexiones. (>>> 6.2 "Gestor de conexiones" Página 35) 2. Seleccionar la unidad de control del robot deseada. 3. Colocar el selector de modos de servicio de nuevo en la posición original. La pantalla cambia a la unidad de control del robot seleccionada. 6.4.2 Cambio de unidad de control con el plugin RoboTeam Procedimiento 1. Tocar el símbolo para abrir el plugin RoboTeam. (>>> 6.3 "Plugin RoboTeam" Página 36) 38 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 6 Operación 2. Pulsar sobre el campo con el nombre de la unidad de control del robot deseada. 6.5 Sincronización de operaciones Descripción Procedimiento Con el plugin RoboTeam se pueden sincronizar las operaciones de las unidades de control vinculadas. Para ello, se deben tener en cuenta las siguientes peculiaridades: Cada modificación llevada a cabo localmente en el override del programa, así como en el tipo de flujo del programa, se llevará a cabo también en todas las unidades de control en las que esté activado el símbolo de confirmación en la casilla Acciones de la unidad de control Sync (SAS). Cuando se pulse la tecla de arranque en la unidad de control local, también se iniciarán todas las unidades de control en las que esté activado el símbolo de confirmación en la casilla Acciones de la unidad de control Sync (SAS). Si se pulsa la tecla de inicio de la marcha atrás en la unidad de control local, solamente se inicia la unidad de control local. Excepción: Cuando se deba dirigir hacia atrás un movimiento sincronizado en el RoboTeam, en este se realizará ese mismo movimiento. 1. Tocar el símbolo para acceder al plugin RoboTeam. (>>> 6.3 "Plugin RoboTeam" Página 36) 2. Activar el símbolo de confirmación en la casilla de la columna Acciones de la unidad de control Sync (SAS) para la unidad de control cuyas operaciones vayan a sincronizarse. 6.6 Simulación de instrucciones de sincronización Descripción Con el plugin RoboTeam se pueden simular instrucciones de sincronización o de movimiento de unidades de control acopladas. Así pueden crearse o revisarse programas de robot sin tener que desplazar el conjunto del RoboTeam. Procedimiento 1. Tocar el símbolo para acceder al plugin RoboTeam. (>>> 6.3 "Plugin RoboTeam" Página 36) 2. Para instrucciones de sincronización: Activar el símbolo de confirmación en la casilla de la columna Comandos Sync Sim (SKS) para la unidad de control cuyas instrucciones de sincronización vayan a simularse. Para instrucciones de movimiento: Activar el símbolo de confirmación en la casilla de la columna Robot Sim para la unidad de control cuyas instrucciones de movimiento vayan a simularse. Ejemplo Varios robots presentan un acoplamiento geométrico con una cinemática externa (p. ej. un eje adicional con un componente sobre el que se va a soldar). Los movimientos se sincronizan con las instrucciones PROGSYNC o SYNC. El robot maestro está acoplado al eje adicional mediante un sistema de coordenadas BASE en el eje adicional. El otro robot está acoplado al eje adicional mediante LK(), y por tanto será el slave de movimiento. Caso 1: Programación posterior de puntos en el slave sin desplazar el master Con los siguientes ajustes pueden iniciarse los programas con instrucciones SYNC y acoplamiento geométrico sin que el master se mueva. El eje adicional, sin embargo, acompaña el movimiento, para encontrarse en la posición correcta para el slave. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 39 / 81 KUKA.RoboTeam 3.0 Casilla Maestro Slave Comandos Sync Sim (SKS) Sin símbolo de confirmación Sin símbolo de confirmación Acciones de la unidad de control Sync (SAS) Con símbolo de confirmación Con símbolo de confirmación Robot Sim Con símbolo de confirmación Sin símbolo de confirmación Aplicando este ejemplo, desplazar el robot maestro a la posición segura con anterioridad y manualmente. En caso contrario puede colisionar con la cinemática. Caso 2: Creación de un programa con instrucciones SYNC en el master El programa del master debe contener instrucciones PROGSYNC o SYNC para el slave. En el modo de prueba, estas instrucciones se pueden simular con Robot Sim. Como alternativa, esto también es posible con los siguientes ajustes. Con estos ajustes se simula cada una de las instrucciones SYNC en el programa del master sin esperar al slave. 6.7 Casilla Maestro Slave Comandos Sync Sim (SKS) Sin símbolo de confirmación Con símbolo de confirmación Acciones de la unidad de control Sync (SAS) Sin símbolo de confirmación Sin símbolo de confirmación Robot Sim Sin símbolo de confirmación Sin símbolo de confirmación Visualización del estado de una zona de trabajo Ver en (>>> 5.4.2.5 "Crear y configurar zonas de trabajo" Página 30) la información relativa a la configuración de las zonas de trabajo. En el menú principal, seleccionar Visualización > Zona de trabajo. Procedimiento Descripción En la ventana Estado zona de trabajo se muestra qué estado tiene cada unidad de control del robot. Fig. 6-4: Estado de la zona de trabajo. 40 / 81 1 Indicador de la unidad de control que se encuentra actualmente en el campo de trabajo 2 Indicador de las unidades de control en cola Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 6 Operación Símbolo Descripción El robot se encuentra en la zona de trabajo. El robot espera a la liberación de la zona de trabajo. Autobloqueo ("Deadlock") de la zona de trabajo. Estado desconocido, posible problema de conexión. Están disponibles los siguientes botones: Botón Descripción Anterior Muestra la zona de trabajo anterior. Próximo Muestra la zona de trabajo siguiente. Replegar Se desplaza a la zona de trabajo. Indicación: El botón se encuentra disponible a partir del grupo de usuario Experto y solamente en los modos de servicio T1 y T2. Depuración con. Activa la comprobación automática de autobloqueos. (>>> 11.1.1 "Determinación de bloqueo mutuo" Página 69) Indicación: El botón solo está disponible a partir del grupo usuario Experto. Determinar Determina autobloqueos. Forzar Libera la zona de trabajo bloqueada. El siguiente robot de la cola avanza a la zona de trabajo liberada. En caso de que otro robot se encuentre en esta zona de trabajo, en primer lugar deberá sacarse este manualmente. Indicación: El botón se encuentra disponible solo a partir del grupo de usuario Experto y solamente en los modos de servicio T1 y T2. Al restablecerse las zonas de trabajo están disponibles los siguientes botones: Botón Descripción Anterior Muestra la zona de trabajo anterior. Próximo Muestra la zona de trabajo siguiente. Tener local Asigna el campo de trabajo seleccionado a la unidad de control local (ENTERSPACE). Aceptar Acepta los ajustes mostrados. Rechazar Rechaza los ajustes mostrados. En la unidad de control local deben confirmarse las zonas de trabajo asignadas a ella (Aceptar o Tener local). Las zonas de trabajo no asignadas permanecen bloqueadas. 6.8 Restauración del estado de una zona de trabajo Procedimiento 1. Seleccionar la secuencia de menú Visualización > Variable > Únicos. 2. Visualizar la variable $WORKSPACERESTOREACTIVE. 3. Establecer el valor de las variables como TRUE. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 41 / 81 KUKA.RoboTeam 3.0 Descripción Al reiniciarse la unidad de control tras una pérdida de conexión con la restauración activada, se mostrará un mensaje para preguntar si se debe continuar con la restauración. Están disponibles los siguientes botones: Botón Descripción No Acepta los ajustes actuales de la unidad de control. No se restaura el estado de la zona de trabajo. Reintentar Repite la solicitud a las unidades de control. Sí Abre la ventana Estado zona de trabajo. (>>> 6.7 "Visualización del estado de una zona de trabajo" Página 40) 42 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline 7 Programación con formularios inline 7.1 Nombres en formularios inline En los formularios inline pueden indicarse nombres para los conjuntos de datos. Se trata, entre otros, de nombres para los puntos, nombres para conjuntos de datos de movimientos, etc. Los nombres tienen las restricciones siguientes: Longitud máxima de 24 caracteres Los campos individuales pueden estar limitados a menos de 24 caracteres. 7.2 No se permiten signos especiales excepto _. Sincronización temporal del avance del programa Descripción La instrucción PROGSYNC permite iniciar al mismo tiempo los movimientos de trayectoria de los robots colaborativos. Esta instrucción no puede usarse dentro de un bloque Spline. Requisito Procedimiento Se ha seleccionado o abierto un programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 2. Seleccionar la secuencia de menú Instrucciones > RoboTeam > PROGSYNC. 3. Ajustar los parámetros en el formulario inline. (>>> 7.2.1 "Formulario inline PROGSYNC" Página 43) 4. Guardar la instrucción con Instrucción OK. 7.2.1 Formulario inline PROGSYNC Fig. 7-1: Formulario inline PROGSYNC (2 unidades de control) Fig. 7-2: Formulario inline PROGSYNC (a partir de 3 unidades de control) Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 43 / 81 KUKA.RoboTeam 3.0 Pos. 1 Descripción Marca de sincronización La marca de sincronización debe usarse en los programas de los participantes del RoboTeam que deben esperar para pasar la marca juntos, incluida la parada del avance. (>>> 7.1 "Nombres en formularios inline" Página 43) 2 Socio de sincronización Los números unívocos de las unidades de control que se vayan a sincronizar se muestran separados por un guión bajo. El RoboTeam puede configurarse a partir de 3 unidades de control mediante la ventana de opciones correspondiente. (>>> 7.5 "Ventana de opciones Sincronización" Página 49) 3 7.3 WAIT: Al alcanzar la instrucción PROGSYNC, el robot espera hasta que todos los socios de sincronización hayan llegado a esta instrucción. Se detiene el avance del intérprete del programa. Cuando se alcanza este momento, la sincronización del programa se considerará como cumplida. Todos los intérpretes de programa continuarán su procesamiento como hasta entonces. NO WAIT: Al alcanzar la instrucción PROGSYNC, el robot no espera, sino que simplemente informa a los otros robots de su llegada. El robot continúa con su movimiento de trayectoria sin interrupción. No se detiene el avance del intérprete del programa. Sincronizar movimientos de forma temporal Con la instrucción SYNC se pueden sincronizar algunos conjuntos de movimientos de las unidades de control colaborativas. Además, con esta instrucción se pueden sincronizar bloques Spline completos. 7.3.1 Sincronizar conjuntos de movimientos individuales de forma temporal Descripción Varios robots pueden sincronizarse tanto en sus movimientos que requieran las mismas unidades de tiempo para estos movimientos. La instrucción SYNC es un componente complementario del conjunto de movimientos LIN, CIRC, SLIN o SCIRC, y puede llamarse adicionalmente. No se han podido aproximar los movimientos SLIN o SCIRC sincronizados. Se recomienda utilizar un bloque Spline para ello. Condición previa Procedimiento Se ha seleccionado el programa. Modo de servicio T1 1. Mover el TCP a la posición que se programará por aprendizaje como punto de destino. 2. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 3. Seleccionar la secuencia de menú Instrucciones > Movimiento > LIN o CIRC o SLIN o SCIRC. 4. Pulsar Sync Unsync. 5. Ajustar los parámetros en el formulario inline. (>>> 7.3.1.1 "Formulario inline LIN/CIRC/SLIN/SCIRC con SYNC" Página 45) 44 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline 6. Guardar la instrucción con Instrucción OK. 7.3.1.1 Formulario inline LIN/CIRC/SLIN/SCIRC con SYNC Fig. 7-3: Formulario inline LIN/CIRC/SLIN/SCIRC con SYNC Pos. 1 Descripción Marca de sincronización La marca de sincronización se establece con el botón Sync Unsync. 2 Nombre de la marca de sincronización (>>> 7.1 "Nombres en formularios inline" Página 43) Indicación: Un nombre unívoco garantiza que en los programas correspondientes solo se sincronicen conjuntos de movimientos con este nombre. Si se accede a conjuntos de movimientos con un nombre diferente, aparecerá el mensaje de advertencia pertinente. 3 Socio de sincronización Los números unívocos de las unidades de control que se vayan a sincronizar se muestran separados por un guión bajo. El RoboTeam puede configurarse a partir de 3 unidades de control mediante la ventana de opciones correspondiente. (>>> 7.5 "Ventana de opciones Sincronización" Página 49) 7.3.2 Sincronización temporal de bloques Spline Descripción Con la instrucción SYNC se pueden sincronizar entre sí bloques Spline y segmentos Spline de las unidades de control colaborativas. La instrucción SYNC es un componente complementario de la instrucción de bloque Spline, así como de los segmentos SPL, SLIN o SCIRC dentro de un bloque Spline, y puede activarse adicionalmente. Los puntos de sincronización en el bloque Spline pueden diferir entre las unidades de control implicadas. Los bloques Spline pueden contener una cantidad distinta de puntos. También se pueden sincronizar entre sí diferentes segmentos Spline. La instrucción de sincronización en el bloque Spline garantiza que todos los movimientos Spline involucrados comiencen y acaben de forma sincronizada. Con esto se sincroniza el último segmento Spline, por ello no debe llevar su propia marca de sincronización. Los socios de sincronización deben fijar un bloque Spline en la instrucción y no pueden diferir en el bloque Spline. Ejemplo Los bloques Spline de los robots 1 a 3 están sincronizados entre sí, dado que los puntos de inicio y fin están sincronizados. Dentro de los bloques Spline, los segmentos P3R1, P5R2 y P2R3 están sincronizados entre sí. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 45 / 81 KUKA.RoboTeam 3.0 Fig. 7-4: Ejemplo: 3 movimientos de robot sincronizados 1 Movimiento Spline del robot 1 2 Movimiento Spline del robot 2 3 Movimiento Spline del robot 3 Para obtener perfiles de velocidad lo más regulares posible en RoboTeam, se recomienda sincronizar la menor cantidad posible de segmentos dentro de bloques Spline. Lo ideal es sincronizar solo el bloque Spline de modo que los participantes del RoboTeam puedan realizar un acoplamiento óptimo entre sí a través de la programación síncrona. Condición previa Procedimiento Se ha seleccionado el programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará el bloque spline. 2. Seleccionar la secuencia de menú Instrucciones > Movimiento > Bloque SPLINE. 3. Pulsar Sync Unsync. 4. Ajustar los parámetros en el formulario inline. (>>> 7.3.2.1 "Formulario inline de bloque Spline con SYNC" Página 47) 5. Pulsar Instrucción OK. 6. Pulsar Abrir/cerrar Fold. Ahora se pueden añadir segmentos Spline en el bloque Spline. 7. Seleccionar la secuencia de menú Instrucciones > Movimiento > SPL o SLIN o SCIRC. 8. Pulsar Sync Unsync. 9. Ajustar los parámetros en el formulario inline. (>>> 7.3.2.2 "Formulario inline SPL/SLIN/SCIRC en el bloque Spline con SYNC" Página 47) 10. Pulsar Instrucción OK. 11. Repetir los pasos 7 a 9 según sea necesario para los demás segmentos Spline. 46 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline 7.3.2.1 Formulario inline de bloque Spline con SYNC Fig. 7-5: Formulario inline de bloque Spline con SYNC Pos. 1 Descripción Marca de sincronización La marca de sincronización se establece con el botón Sync Unsync. 2 Nombre de la marca de sincronización (>>> 7.1 "Nombres en formularios inline" Página 43) Indicación: Un nombre unívoco garantiza que en los programas correspondientes solo se sincronicen conjuntos de movimientos con este nombre. Si se accede a conjuntos de movimientos con un nombre diferente, aparecerá el mensaje de advertencia pertinente. 3 Socio de sincronización Los números unívocos de las unidades de control que se vayan a sincronizar se muestran separados por un guión bajo. El RoboTeam puede configurarse a partir de 3 unidades de control mediante la ventana de opciones correspondiente. (>>> 7.5 "Ventana de opciones Sincronización" Página 49) 7.3.2.2 Formulario inline SPL/SLIN/SCIRC en el bloque Spline con SYNC Fig. 7-6: Formulario inline SPL/SLIN/SCIRC con SYNC Pos. 1 Descripción Marca de sincronización La marca de sincronización se establece con el botón Sync Unsync. 2 Nombre de la marca de sincronización (>>> 7.1 "Nombres en formularios inline" Página 43) Indicación: Un nombre unívoco garantiza que en los programas correspondientes solo se sincronicen puntos de destino de los segmentos Spline con este nombre. Si dentro de los bloques Spline fallan las marcas de sincronización o su orden es inconsistente, se mostrará un mensaje de error correspondiente. En los segmentos dentro de un bloque Spline no se pueden modificar los socios de sincronización; esto debe realizarse en el bloque Spline. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 47 / 81 KUKA.RoboTeam 3.0 7.4 Acoplamiento geométrico de robots Descripción Con la instrucción GEOLINK se puede acoplar un robot (slave) al sistema de coordenadas de la brida de otro robot (master) (o una cinemática de eje adicional). Si el master se desplaza, el slave lo sigue. (>>> 10.3 "Programa de ejemplo para el desplazamiento del reparto de cargas con 2 robots" Página 66) La instrucción GEOLINK tiene las siguientes aplicaciones: Procedimiento de división de la carga El slave sigue al master, sin realizar movimientos propios. Para ello se programan 2 instrucciones GEOLINK. En la primera instrucción se establece el acoplamiento mediante el slave (a través de la selección del sistema de coordenadas BASE vinculado en la instrucción GEOLINK). En la segunda instrucción se vuelve a anular el acoplamiento mediante el slave (a través de la selección de un sistema de coordenadas BASE no vinculado en la instrucción GEOLINK). En el slave no se programan más instrucciones entre las instrucciones GEOLINK. En el master se programa entre las instrucciones GEOLINK el movimiento que los robots deben realizar unidos. Dado que la instrucción GEOLINK contiene instrucciones de sincronización, el slave espera para acoplarse y desacoplarse hasta que el master se encuentra en la posición necesaria para ello. Acoplamiento con movimientos Spline En caso de que un robot deba desplazarse con movimientos de tipo Spline respecto a la posición de otro robot, ambos deben estar parados durante el cambio del sistema de coordenadas BASE. Para garantizarlo, la instrucción GEOLINK puede usarse con los tipos de movimiento SLIN/SCIRC. En cuanto se ha producido el acoplamiento, el slave puede realizar movimientos Spline propios respecto al sistema de coordenadas de la brida del master. Lo mismo se aplica cuando se anula el acoplamiento. Requisito Procedimiento Se ha seleccionado o abierto un programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 2. Seleccionar la secuencia de menú Instrucciones > RoboTeam > GEOLINK. 3. Ajustar los parámetros en el formulario inline. (>>> 7.4.1 "Formulario inline GEOLINK" Página 48) 4. Guardar la instrucción con Instrucción OK. 7.4.1 Formulario inline GEOLINK Fig. 7-7: Formulario inline GEOLINK (master) 48 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline Fig. 7-8: Formulario inline GEOLINK (slave) Pos. Descripción 1 Tipo de robot 2 3 MASTER SLAVE Solo para el tipo de robot SLAVE: Seleccionar el tipo de movimiento en el que se debe ejecutar el movimiento acoplado. LIN/CIRC SLIN/SCIRC/SPL Marca de sincronización La marca de sincronización debe usarse en los programas de los participantes del RoboTeam, los cuales reaccionarán a esta marca. (>>> 7.1 "Nombres en formularios inline" Página 43) Indicación: El nombre de la marca de sincronización debe ser idéntico en todos los participantes del RoboTeam que deban reaccionar a ella. 4 Socio de sincronización El orden de las unidades de control es idéntico en cada unidad de control del RoboTeam. Pueden seleccionarse configuraciones determinadas. Para seleccionar, colocar el cursor en el campo. Se abre la ventana de opciones correspondiente. (>>> 7.5 "Ventana de opciones Sincronización" Página 49) 5 7.5 Solo para el tipo de robot SLAVE: Seleccionar la base del robot maestro. Los movimientos del robot esclavo se refieren a este sistema de coordenadas. Ventana de opciones Sincronización Cuando el RoboTeam incluya más de 2 participantes, se puede acceder a esta ventana de opciones mediante las instrucciones PROGSYNC, GEOLINK y SYNC. Fig. 7-9: Ventana de opciones Sincronización (ejemplo) Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 49 / 81 KUKA.RoboTeam 3.0 Pos. 7.6 Descripción 1 Unidad de control del robot en la que se encuentra en ese momento 2 Número unívoco de la unidad de control del robot en el RoboTeam 3 Nombre de la unidad de control del robot en el RoboTeam 4 Socio de sincronización Con símbolo de confirmación: Se requiere la unidad de control del robot como socio de sincronización Sin símbolo de confirmación: No se requiere la unidad de control del robot como socio de sincronización Programación del acceso remoto a programas de otras unidades de control Descripción Con las instrucciones REMOTE START y REMOTE WAIT se pueden emplear programas de otras unidades de control que se encuentren dentro del grupo de robots cooperantes. La instrucción REMOTE START se transmite por medio de una variable a la unidad de control seleccionada, y allí provoca específicamente el procesamiento de un programa. La instrucción REMOTE WAIT se coloca justo después de REMOTE START en la unidad de control a la que se accede. Solamente será posible continuar con la ejecución del programa al terminar la ejecución del programa de la unidad de control a la que se ha accedido. Para que funcione el acceso remoto, el programa de la unidad de control a la que se accede debe estar configurado con la plantilla Coop If o Coop Wait. De este modo, los programas incluyen una consulta de instrucciones REMOTE en otras unidades de control. (>>> 10.2 "Programa de ejemplo con instrucciones REMOTE" Página 65) La plantilla Coop If comprueba a intervalos regulares si existe una instrucción REMOTE de otra unidad de control. La plantilla Coop Wait espera a una instrucción REMOTE de otra unidad de control. Requisito Procedimiento Se ha seleccionado o abierto un programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 2. Seleccionar la secuencia de menú Instrucciones > RoboTeam > REMOTE START o REMOTE WAIT. 3. Ajustar los parámetros en el formulario inline. (>>> 7.6.1 "Formulario inline REMOTE START" Página 50) (>>> 7.6.2 "Formulario inline REMOTE WAIT" Página 51) 4. Guardar la instrucción con Instrucción OK. 7.6.1 Formulario inline REMOTE START Fig. 7-10: Formulario inline REMOTE START 50 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline Pos. 7.6.2 Descripción 1 Seleccionar la unidad de control que debe procesar el programa. Los nombres de unidades de control se ajustan a la configuración. 2 Mediante esta cadena se decide a qué programa acceder en la plantilla correspondiente Coop If o Coop Wait de la unidad de control a la que se ha accedido. Formulario inline REMOTE WAIT Fig. 7-11: Formulario inline REMOTE WAIT Pos. 1 7.7 Descripción Seleccionar la unidad de control que debe procesar el programa. Los nombres de unidades de control se ajustan a la configuración. Programación del acceso a la zona de trabajo Descripción La instrucción ENTERSPACE permite al robot acceder a la zona de trabajo solicitada primero mediante la consulta correspondiente. Los siguientes robots permanecen parados hasta que la zona de trabajo vuelva a quedar libre. Antes de la entrada en la zona de trabajo debe darse siempre la instrucción ENTERSPACE. Esta instrucción no puede usarse dentro de un bloque Spline. Requisito Procedimiento Las zonas de trabajo empleadas se han configurado con WorkVisual en todas las unidades de control cooperantes. Se ha seleccionado o abierto un programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 2. Seleccionar la secuencia de menú Instrucciones > RoboTeam > ENTERSPACE. 3. Ajustar los parámetros en el formulario inline. (>>> 7.7.1 "Formulario inline ENTERSPACE" Página 52) 4. Guardar la instrucción con Instrucción OK. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 51 / 81 KUKA.RoboTeam 3.0 7.7.1 Formulario inline ENTERSPACE Fig. 7-12: Formulario inline ENTERSPACE Pos. 1 Descripción Seleccionar la zona de trabajo a la que se va a acceder. Indicación: Antes de seleccionar la zona de trabajo hay que indicar en qué orden puede acceder el robot a la zona de trabajo. Si un programa necesita, por ejemplo, 2 zonas de trabajo, primero se debe seleccionar la zona de trabajo con el orden más bajo (por ejemplo, «2»). Solo entonces se podrá solicitar la siguiente zona de trabajo (por ejemplo, «5»). Respetando esta norma básica se evitarán los autobloqueos en una posterior ejecución del programa. 2 7.8 CONT: Zona de trabajo libre: Se aproxima el punto anterior. Zona de trabajo ocupada: Al principio de la trayectoria de aproximación, el robot comienza a frenar y después se detiene en medio de la trayectoria de aproximación. [vacío]: Se activa la parada del avance. Programación del abandono de la zona de trabajo Descripción Con la instrucción EXITSPACE, el robot que ha atravesado la zona de trabajo indica a las otras unidades de control que la zona de trabajo vuelve a estar libre. El robot que lleva más tiempo esperando obtiene el acceso. Esta instrucción no puede usarse dentro de un bloque Spline. Requisito Procedimiento Las zonas de trabajo empleadas se han configurado con WorkVisual en todas las unidades de control cooperantes. Se ha seleccionado o abierto un programa. Modo de servicio T1 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción. 2. Seleccionar la secuencia de menú Instrucciones > RoboTeam > EXITSPACE. 3. Ajustar los parámetros en el formulario inline. (>>> 7.8.1 "Formulario inline EXITSPACE" Página 53) 4. Guardar la instrucción con Instrucción OK. 52 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 7 Programación con formularios inline 7.8.1 Formulario inline EXITSPACE Fig. 7-13: Formulario inline EXITSPACE Pos. 1 Descripción Seleccionar la zona de trabajo que se va a liberar. Indicación: Al seleccionar Release All se liberan todas las zonas de trabajo que haya utilizado el robot local hasta entonces. Esta opción sirve para la inicialización al comienzo de un programa. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 53 / 81 KUKA.RoboTeam 3.0 54 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 8 Programación KRL 8 Programación KRL 8.1 SyncCmd() Descripción SyncCmd() permite la sincronización de programa y de movimiento. La instrucción SyncCmd() no puede emplearse para la sincronización de movimiento de movimientos Spline. Para ello deben usarse las variables $SYNC_ID y $SYNC_LIST. Declaración ENUM SYNCTYPE #PROGSYNC, #MOTIONSYNC EXTP SYNCCMD (SYNCTYPE SYNC_T:IN, CHAR ID_NAME[64]:IN, INT COOP_MASK:IN) Elemento Descripción SYNC_T Tipo: SYNCTYPE-ENUM Tipo de sincronización: ID_NAME[] #ProgSync: Sincronización del programa #MotionSync: Sincronización del movimiento Tipo: CHAR-ARRAY El identificador de versión puede contener un máximo de 64 caracteres. Cadena de caracteres para la asignación de programa del punto de sincronización. COOP_MASK Tipo: INT Describe todas las unidades de control participantes en la sincronización. COOP_MASK existe como un campo de bits relacionado con $COOP_KRC[]. El bit con el valor más reducido es siempre el índice 1 de $COOP_KRC[]. (>>> 9.1 "$COOP_KRC[ ]" Página 59) Ejemplo: "COOP_MASK=3" => '#B0011'. Se sincronizan las unidades de control $COOP_KRC[1] y $COOP_KRC[2]. 8.2 RemoteCmd() Descripción Declaración RemoteCmd permite el envío de comandos a otras unidades de control. El procesamiento de comandos en la unidad de control local se interrumpe durante el tiempo de ejecución de la unidad de control externa. Se permiten los siguientes comandos: Cancelar Reset Stop Run Asignación de variables globales Wait for EXTFCTP BOOL REMOTECMD (CHAR IP_ADDR[24]:IN, CHAR CMD[128]:IN) Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 55 / 81 KUKA.RoboTeam 3.0 Elemento Descripción RemoteCmd() Ejecuta un comando en una unidad de control externa. Suministra un valor de retorno sobre el éxito: TRUE: El comando se ha ejecutado con éxito. FALSE: El comando no se ha ejecutado con éxito. IP_ADDR[] Dirección IP de la unidad de control externa (p. ej. 192.0.10.2). CMD[] Descripción de los comandos que se van a ejecutar, p. ej.: "RUN/R1/Cell ( )" "$Flag[44]=TRUE" "Wait for $ON_PATH" 8.3 CancelProgSync() Descripción CancelProgSync anula las instrucciones PROGSYNC inminentes que utilizan la opción NO WAIT. La instrucción solo es válida para la unidad de control actual. De este modo puede interrumpirse el procesamiento del programa actual y desplazar el robot, por ejemplo, a la posición inicial. CancelProgSync activa una parada del procesamiento en avance en el programa del robot. Cuando el puntero de ejecución principal alcanza la línea del programa, esta se ejecuta. Cuando se activa CancelProgSync a través del avance, las siguientes instrucciones de movimiento pueden provocar una colisión del robot. Declaración EXTFCTP RET_C_PSYNC_E CANCELPROGSYNC (CANCEL_PSYNC_E CMD:IN, CHAR ID_NAME[64]:IN) Elemento Descripción CancelProgSync() Anula las instrucciones PROGSYNC inminentes y suministra un valor de retorno sobre el éxito: RET_C_PSYNC_E 56 / 81 CANCEL_OK: Se ha ejecutado con éxito el comando. ID_INVALID: El nombre de PROGSYNC indicado no es válido. CANCEL_ERROR: La instrucción PROGSYNC no se ha anulado porque se ha producido un error (p. ej. un problema de red). NOT_NO_WAIT: El nombre no pertenece a una instrucción PROGSYNC con la opción NO WAIT. NO_SYNCS: Se ha seleccionado #CANCEL_ALL como tipo de anulación. UNKNOWN: La anulación está en marcha. Variable del tipo ENUM con los valores de retorno permitidos. La variable se emplea para su consulta. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 8 Programación KRL Elemento Descripción CMD Tipo de anulación ID_NAME[ ] Ejemplo #CANCEL_ID: Anula la instrucción PROGSYNC con el nombre indicado. #CANCEL_ALL: Anula todas las instrucciones PROGSYNC. Nombre de la instrucción PROGSYNC DEF MAIN( ) DECL RET_C_PSYNC_E retVal ... ;Anular solo la instrucción PROGSYNC indicada retVal=CancelProgSync(#CANCEL_ID,"Sync001") ... ;Anular todas las instrucciones PROGSYNC retVal=CancelProgSync(#CANCEL_ALL," ") ... 8.4 RemoteRead() Descripción Con RemoteRead() pueden consultarse los valores de variables que se encuentren en otra unidad de control del RoboTeam. RemoteRead() tiene las restricciones siguientes: Declaración Solo se pueden leer variables globales. La instrucción no puede utilizarse con la unidad de control local. La instrucción solo es posible para las unidades de control registradas en la variable $COOP_KRC[ ]. EXTFCTP CHAR[256] REMOTEREAD(CHAR IP_Addr[24]:IN, CHAR VARIABLE[128]:IN, INT ERROR:OUT) Elemento Descripción RemoteRead() Lee el valor de una variable en otra unidad de control IP_ADDR[] Dirección IP de la unidad de control en la que se debe realizar la consulta (p. ej. 192.0.10.2) Variable[] Variable cuyo valor se debe consultar El valor de retorno es un CHAR-Array y contiene el valor de la variable leída. Indicación: La variable no debe contener más de 256 caracteres. ERROR Indica si la consulta ha tenido éxito 0: La consulta ha tenido éxito. >0: Se ha producido un error con el número de mensaje indicado. -1: Durante el tiempo de timeout no se ha enviado ningún valor de retorno. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 57 / 81 KUKA.RoboTeam 3.0 58 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 9 Variables del sistema 9 V Variables del sistema 9.1 $COOP_KRC[ ] s Descripción La variable estructural del sistema $COOP_KRC[ ] abarca en cada unidad de control todos los robots cooperantes de un RoboTeam. Durante la planificación de proyecto con WorkVisual se definen y registran automáticamente los datos de gestión (nombre de la unidad de control del robot, dirección IP del sistema base) de los robots cooperantes para la red del sistema base. Todas las máscaras de bits del RoboTeam se refieren a la lista local de la variable estructural $COOP_KRC[ ]. Declaración STRUC COOP_KRC CHAR IP_ADDR[15], NAME[24] DECL COOP_KRC $COOP_KRC[16] Explicación Elemento Descripción $COOP_KRC[ ] Tipo: COOP_KRC IP_ADDR[ ] 1: Participante local 2 … 16: Participantes externos Tipo: CHAR Dirección IP de la unidad de control del robot en la red del sistema base (VxWorks): 15 caracteres como máximo NAME[ ] Tipo: CHAR Nombre descriptivo de la unidad de control del robot: 24 caracteres como máximo 9.2 $PINGCOOPKRC Descripción La variable $PINGCOOPKRC indica las unidades de control actualmente accesibles. Durante la ejecución del programa se reciben por la red del sistema principal señales de estado de las unidades de control participantes a intervalos regulares. Si estas señales permanecen desconectadas, la unidad de control correspondiente ya no es accesible por la red. El valor mostrado es un número íntegro, convertido a binario. La unidad de control local (aquí: R1) no se tiene en cuenta en la visualización de la variable. Declaración DECL INT $PINGCOOPKRC Ejemplo $PINGCOOPKRC = 30 (binario: B11110) Con 5 robots cooperantes, la variable $PINGCOOPKRC tiene en el robot R1 el valor 30, si la conexión de red al sistema principal está intacta. Este valor se compone de lo siguiente: R1 R2 R3 R4 R5 0 1 2 3 4 2 Codificado en binario Valor decimal 2 1 2 2 2 2 4 8 16 2+ 4+ 8+ 16 Robot = 30 Indicación de variables El bit más pequeño es siempre la unidad de control local (aquí: R1). Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 59 / 81 KUKA.RoboTeam 3.0 9.3 $LOCAL_NETWORK_OK Descripción La variable $LOCAL_NETWORK_OK muestra el estado de la configuración de red local (sistema principal). Se envía la señal cuando la variable $PINGCOOPKRC ≠ 0, es decir, cuando existe conexión con al menos otra unidad de control del robot. Cuando la configuración de red tiene fallos o no hay ninguna conexión con otra unidad de control del robot, se restablece la señal. Declaración Explicación SIGNAL $LOCAL_NETWORK_OK $OUT[ ] Elemento Descripción $LOCAL_N ETWORK_ OK Tipo: BOOL Señal de salida Indicación: La señal no se asigna por regla general a ninguna salida: SIGNAL $LOCAL_NETWORK_OK FALSE 9.4 $COMPLETE_NETWORK_OK Descripción La variable $COMPLETE_NETWORK_OK muestra el estado de la configuración de red del sistema principal. Las unidades de control del robot implicadas están en la variable del sistema $COOP_KRC[ ]. La señal se usa cuando la configuración de red es correcta y hay una conexión con todas las unidades de control del robot interconectadas. Cuando la configuración de red tiene fallos y no hay ninguna conexión con todas las unidades de control del robot implicadas, la señal se restablece. Declaración Explicación SIGNAL $COMPLETE_NETWORK_OK $OUT[ ] Elemento Descripción $COMPLET E_NETWO RK_OK Tipo: BOOL Señal de salida Indicación: La señal no se asigna por regla general a ninguna salida: SIGNAL $COMPLETE_NETWORK_OK FALSE 9.5 $WORKSPACERESTOREACTIVE Descripción Con la variable $WORKSPACERESTOREACTIVE puede restablecerse el estado de la zona de trabajo. Cuando la variable está definida en TRUE, el estado de la zona de trabajo en la unidad de control del robot se restablece tras un arranque en frío. En primer lugar, la unidad de control comprueba si el archivo C:\KRC\ROBOTER\Config\User\WSRestore.INI existe. Este archivo se crea automáticamente al descargar la unidad de control. Con este archivo, la unidad de control restablece el estado de las zonas de trabajo. Si el archivo WSRestore.INI no existe, se consultan las zonas de trabajo de las unidades de control implicadas. A partir de estos datos se puede reconstruir las zonas de trabajo en la unidad de control actual. La variable está definida por defecto en FALSE. 60 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 9 Variables del sistema No se puede garantizar una reconstrucción completa consultando las unidades de control implicadas. Por lo tanto, debe comprobarse el estado de cada zona de control y, dado el caso, corregirse. Declaración 9.6 DECL BOOL $WORKSPACERESTOREACTIVE $LK_MASTER[ ] Descripción La variable $LK_MASTER[] indica el master de movimiento actual. El master de movimiento (un robot o su cinemática adicional) controla el sistema de coordenadas BASE activado en ese momento del slave de movimiento. Cuando el master de movimiento se mueve, el slave de movimiento lo sigue como corresponde. Declaración DECL CHAR $LK_MASTER[50] Explicación Elemento Descripción $LK_MASTER[ ] Tipo: CHAR Nombre del master de movimiento. El slave de movimiento puede consultar el nombre. Longitud máxima: 50 caracteres 9.7 $LK_SLAVES[ ] Descripción La variable $LK_SLAVES[] indica los slaves de movimiento actuales cuando hay al menos otra unidad de control del robot acoplada a la unidad de control del robot local. Eso significa que, potencialmente, todos los slaves de movimiento indicados podrían acompañar el movimiento cuando se mueva el robot local o una cinemática externa local. Declaración DECL CHAR $LK_SLAVES[100] Explicación Elemento Descripción $LK_SLAVES[ ] Tipo: CHAR Lista de los slaves de movimiento Longitud máxima: 100 caracteres Indicación: Si a un slave se acopla otro slave, este no se incorporará a la lista. 9.8 $SYNC_ID[] Descripción La variable $SYNC_ID[] se utiliza para la sincronización de movimiento de los movimientos Spline. Debe definirse en todas las unidades de control del robot participantes. Todos los robots ejecutarán de modo sincronizado los puntos con la misma marca de sincronización. La variable puede utilizarse únicamente en el WITH-Statement del movimiento Spline. En la sincronización de bloques Spline se aplican las siguientes reglas a las marcas de sincronización: En cada unidad de control del robot implicada debe colocarse siempre el mismo número de marcas de sincronización por bloque Spline. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 61 / 81 KUKA.RoboTeam 3.0 Las marcas de sincronización deben disponerse en el mismo orden en cada una de las unidades de control del robot participantes. En el último segmento Spline de un bloque Spline no deben colocarse marcas de sincronización. En caso de que se coloque aquí una marca de sincronización en una unidad de control del robot, todas las demás unidades de control del robot implicadas deben asimismo ejecutarla. Se recomienda utilizar la marca de sincronización en segmentos Spline de un bloque Spline únicamente cuando sea absolutamente imprescindible. Cuantas menos marcas de sincronización se programen en los segmentos Spline, más uniforme será el inicio del bloque Spline sincronizado por parte de los robots participantes. Declaración Ejemplo DECL CHAR $SYNC_ID[64] ... SLIN P2 WITH $SYNC_ID[]="M1" ... 9.9 $SYNC_LIST Descripción $SYNC_LIST describe todas las unidades de control participantes en la sincronización para los movimientos Spline. La variable existe como un campo de bits relacionado con $COOP_KRC[]. El bit con el valor más reducido es siempre el índice 1 de $COOP_KRC[]. $SYNC_LIST tiene por defecto el valor 3 (binario: B011). Si la variable no se establece en la instrucción de sincronización, las unidades de control $COOP_KRC[1] y $COOP_KRC[2] se sincronizarán entre sí. La variable puede utilizarse únicamente en el WITH-Statement del movimiento Spline. $SYNC_LIST no puede usarse dentro de un bloque Spline. Declaración Ejemplo DECL INT $SYNC_LIST ... SLIN P3 WITH $SYNC_ID[]="M1",$SYNC_LIST='B011' ... 9.10 $CR_LK_MASTER Descripción La variable $CR_LK_MASTER sirve para identificar el master de movimiento actual, con el fin de mostrar dicha información en el plugin RoboTeam. La variable es un campo de bits que describe las unidades de control del robot respecto a la variable $COOP_KRC[]. Declaración DECL INT $CR_LK_MASTER Explicación Elemento Descripción $CR_LK_MASTER Tipo: INT Máscara de bits que contiene el master de movimiento actual 62 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 9 Variables del sistema 9.11 $CR_LK_SLAVES Descripción La variable $CR_LK_SLAVES sirve para identificar los slaves de movimiento actuales, con el fin de mostrar dicha información en el plugin RoboTeam. La variable es un campo de bits que describe las unidades de control del robot respecto a la variable $COOP_KRC[]. Declaración DECL INT $CR_LK_SLAVES Explicación Elemento Descripción $LK_SLAVES Tipo: INT Máscara de bits de todos los slaves de movimiento directos o indirectos de la unidad de control del robot local (= master de movimiento) Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 63 / 81 KUKA.RoboTeam 3.0 64 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 10 Programas de ejemplo 10 Programas de ejemplo 10.1 Programa de ejemplo con 2 zonas de trabajo definidas s Programa 1 INI 2 3 PTP HOME Vel=100 % DEFAULT 4 EXITSPACE Release All 5 LIN P1 CONT Vel=2 m/s CPDAT1 Tool[1] Base [0] 6 ENTERSPACE WORKSPACE_1 CONT 7 LIN P2 CONT Vel=2 m/s CPDAT2 Tool[1] Base [0] 8 ENTERSPACE WORKSPACE_2 CONT 9 LIN P3 CONT Vel=2 m/s CPDAT3 Tool[1] Base [0] 10 EXITSPACE WORKSPACE_1 11 LIN P4 CONT Vel=2 m/s CPDAT4 Tool[1] Base [0] 12 LIN P5 CONT Vel=2 m/s CPDAT5 Tool[1] Base [0] 13 LIN P6 CONT Vel=2 m/s CPDAT6 Tool[1] Base [0] 14 EXITSPACE WORKSPACE_2 15 LIN P7 CONT Vel=2 m/s CPDAT7 Tool[1] Base [0] 16 17 Descripción PTP HOME Vel=100 % DEFAULT Línea Descripción 4 Liberación de todas las zonas de trabajo previas Esta instrucción debería encontrarse siempre al comienzo del programa. 6 10.2 Entrar a la zona de trabajo 1 8 Entrar a la zona de trabajo 2 10 Abandonar y liberar la zona de trabajo 1 14 Abandonar y liberar la zona de trabajo 2 Programa de ejemplo con instrucciones REMOTE Programa 1 INI 2 3 PTP HOME Vel=100 % DEFAULT 4 5 REMOTE START Rob_2 Loadsharing 6 REMOTE START Rob_3 Loadsharing 7 REMOTEWAIT Rob_2 8 REMOTE WAIT Rob_3 9 10 REMOTE START Rob_2 Zusatzachse 11 REMOTE START Rob_3 Zusatzachse 12 REMOTE WAIT Rob_2 13 REMOTE WAIT Rob_3 14 15 Descripción PTP HOME Vel=100 % DEFAULT Línea Descripción 5 Acceso al programa Loadsharing en la unidad de control R2. La plantilla Coop Wait allí instalada registra esta solicitud de arranque e inicia el programa Loadsharing. 7 La unidad de control R1 detiene su ejecución del programa y espera a la finalización del programa al que se ha accedido. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 65 / 81 KUKA.RoboTeam 3.0 La rutina de consulta Coop Wait: LOOP ;FOLD Wait for COOP_TASK[]<>"#IDLE" ;%{PE} IF StrComp(MyToDo[],"Loadsharing",#NOT_CASE_SENS)==TRUE THEN bWrongTask=FALSE serviceprog () ENDIF IF StrComp(MyToDo[],"Zusatzachse",#NOT_CASE_SENS)==TRUE THEN bWrongTask=FALSE service2ms() ENDIF IF bWrongTask==TRUE THEN BAS_MSG (WrongTaskValue) ENDIF ;FOLD ENDLOOP ;%{PE} Los nombres de programa (Loadsharing, Eje adicional) deben declararse en el propio programa o en el archivo $config.dat. 10.3 Programa de ejemplo para el desplazamiento del reparto de cargas con 2 robots En el siguiente ejemplo se controlan puntos de elevación de carga opuestos para una garra cada vez. Mediante varias instrucciones GEOLINK con su correspondiente referencia a la base se acoplan los robots maestro (Master) y esclavo (Slave) de forma temporal y geométrica. El slave sigue los movimientos del master sin conjunto de movimientos propio. Programa del master Descripción Programa del slave Descripción 66 / 81 1 INI 2 PTP HOME Vel=100 % DEFAULT 3 GEOLINK MASTER link1 -> R1_R2 4 PTP P1 Vel=100 % PDAT6 Tool[3]:GRIPPER(Roboter 1) Base[0] 5 PTP P2 Vel=100 % PDAT5 Tool[3]:GRIPPER_PIN(Roboter 1) Base[0] 6 GEOLINK MASTER end -> R1_R2 7 PTP HOME 8 END Vel= 100 % DEFAULT Línea Descripción 3 El robot esclavo R2 se acopla al robot maestro R1. 4 ... 5 Movimientos en los que el robot esclavo sigue directamente al robot maestro. 6 Se deshace el acoplamiento. 1 INI 2 PTP HOME Vel=100 % DEFAULT 3 GEOLINK SLAVE LIN/CIRC link1 -> R1_R2 Base[2]:LK_BASE(Roboter 1) 4 GEOLINK SLAVE LIN/CIRC end -> R1_R2 Base[0] 5 PTP HOME Vel=100 % DEFAULT 6 END Línea Descripción 3 El robot esclavo R1 se acopla al robot maestro R2 por medio de la BASE de este. 4 Se deshace el acoplamiento. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 10 Programas de ejemplo 10.4 Programa de ejemplo de procedimiento dependiente del proceso En el siguiente ejemplo, 2 slaves cooperan con un master que sujeta un componente para procesar. Las herramientas de ambos slaves se orientan por los movimientos del componente del master. Con las instrucciones PROGSYNC y SYNC y la correspondiente referencia a la base se acoplan ambos robots. No existe un acoplamiento geométrico entre los slaves. Programa del master 1 INI 2 Start ROB_2 3 Start ROB_3 4 5 PTP HOME Vel=100% DEFAULT 6 7 PTP P1 CONT Vel=100 % PDAT1 Tool[1]:Greifer Base[0] 8 PTP P1_1 CONT Vel=100 % PDAT5 Tool[1]:Greifer Base[0] 9 ;Startposition MASTER 10 11 PTP P2 Vel=100 % PDAT2 Tool[1]:Greifer Base[0] 12 ;Warte auf Synchronisation von von R2 und R3 13 PROGSYNC A1 -> R1_R2_R3 WAIT 14 PROGSYNC A2 -> R1_R2_R3 WAIT 15 LIN P3 CONT Vel=2 m/s CPDAT1 Sync= ms1 -> R1_R2_R3 Tool[1]:Greifer Base[0] 16 LIN P4 CONT Vel=2 m/s CPDAT2 Sync= ms2 -> R1_R2_R3 Tool[1]:Greifer Base[0] 17 LIN P5 CONT Vel=2 m/s CPDAT3 Tool[1]:Greifer Base[0] 18 PROGSYNC A3 -> R1_R2_R3 WAIT 19 PROGSYNC A4 -> R1_R2_R3 WAIT 20 21 PTP P6 CONT Vel=100 % PDAT3 Tool[1]:Greifer Base[0] 22 PTP P7 CONT Vel=100 % PDAT4 Tool[1]:Greifer Base[0] 23 24 Descripción Programa de slave para el slave 1 PTP HOME Vel=100% DEFAULT Línea Descripción 14 Se espera hasta que los slaves dispongan de un acoplamiento geométrico al master. 15 … 16 Con 2 instrucciones SYNC se acopla el conjunto de los slaves temporalmente al master. 17 El acoplamiento temporal finaliza. El acoplamiento geométrico todavía existe. 18 El acoplamiento geométrico finaliza. 1 INI 2 3 PTP HOME_NEU Vel=100% PDAT1 Tool[1]:Brenner22_R2 Base[0] 4 5 PTP STARTPOS Vel=100 % PDAT2 Tool[1]:Brenner22_R2 Base[0] 6 PROGSYNC A1 -> R1_R2_R3 WAIT 7 LIN LINK1 Vel=2 m/s CPDAT1 Tool[1]:Brenner22_R2 Base[1]:LK_Base (Roboter 1) 8 PROGSYNC A2 -> R1_R2_R3 WAIT 9 LIN LINK2 CONT P3 Vel=2 m/s CPDAT2 Sync= ms1 --> R1_R2_R3 Tool[1]:Brenner22_R2 Base[1]:LK_Base (Roboter 1) 10 LIN LINK3 CONT P3 Vel=2 m/s CPDAT3 Sync= ms2 --> R1_R2_R3 Tool[1]:Brenner22_R2 Base[1]:LK_Base (Roboter 1) 11 PROGSYNC A3 -> R1_R2_R3 WAIT 12 LIN LINK4 Vel=2 m/s CPDAT4 Tool[1]:Brenner22_R2 Base[0] Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 67 / 81 KUKA.RoboTeam 3.0 Programa de slave para el slave 2 13 PROGSYNC A4 -> R1_R2_R3 WAIT 14 PTP HOME_NEU Vel=100 % PDAT3 Tool[1]:Brenner22_R2 Base[0] 1 INI 2 3 PTP HOMEPOS Vel=100% PDAT2 Tool[1]:Brenner22_R3 Base[0] 4 5 PTP STARTPOS Vel=100 % PDAT2 Tool[1]:Brenner22_R3 Base[0] 6 PROGSYNC A1 --> R1_R2_R3 WAIT 7 LIN LINK1 Vel=2 m/s CPDAT1 Tool[1]:Brenner22_R2 Base[1]:LK_Base (Roboter 1) 8 PROGSYNC A2 --> R1_R2_R3 WAIT 9 LIN LINK2 CONT P3 Vel=2 m/s CPDAT2 Sync= ms1 --> R1_R2_R3 Tool[1]:Brenner22_R3 Base[1]:LK_Base (Roboter 1) 10 LIN LINK3 CONT P3 Vel=2 m/s CPDAT3 Sync= ms2 --> R1_R2_R3 Tool[1]:Brenner22_R3 Base[1]:LK_Base (Roboter 1) Descripción 68 / 81 11 PROGSYNC A3 --> R1_R2_R3 WAIT 12 LIN LINK4 Vel=2 m/s CPDAT4 Tool[1]:Brenner22_R3 Base[0] 13 PROGSYNC A4 --> R1_R2_R3 WAIT 14 PTP HOMEPOS Vel=100 % PDAT3 Tool[1]:Brenner22_R3 Base[0] Línea Descripción 7 Slave 1 / Slave 2 se acoplan al master, sus herramientas de antorcha hacen referencia ahora al sistema de coordenadas de la brida del master. 8 Se notifica al master el acoplamiento. 9 Acoplamiento temporal en conjunto mediante el uso de la instrucción SYNC. 12 El slave anula el acoplamiento mediante una frase nula. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 11 Eliminación de fallos 11 Eliminación de fallos 11.1 Bloqueo mutuo de robots cooperativos Descripción En caso de utilización conjunta de zonas de trabajo, puede producirse un bloqueo mutuo de los robots cooperativos ("Deadlock"). Un bloqueo mutuo de robots cooperativos puede producirse por los siguientes motivos: Al inicio del programa, las zonas de trabajo utilizadas no se han liberado con Release All. No se ha tenido en cuenta la instrucción EXITSPACE. El orden de acceso de las zonas de trabajo se ha establecido sin precisión. La siguiente figura muestra en el ejemplo de los robots R1 y R2 cómo puede producirse un bloqueo mutuo: Ejemplo Fig. 11-1: Bloqueo mutuo 1 Zona de trabajo bloqueada Para el robot R1 hay 2 zonas de trabajo reservadas en el orden A1, A2. Para R2 existe una reserva en orden inverso: A2, A1. Tras la estancia en A1, el robot R1 no puede cambiar a la zona de trabajo A2, ya que esta sigue estando ocupada por R2. Los dos robots se bloquean mutuamente. Razón: Al programar el movimiento de trayectoria del robot R1 no se ha liberado A1. El robot R2 no puede entrar en A1 y permanece en A2. Este bloqueo mutuo solo puede eliminarse con la intervención del operario. 11.1.1 Determinación de bloqueo mutuo Descripción En la ventana Estado de zona de trabajo hay una función de búsqueda para determinar autobloqueos. En caso de que esta función esté activada, se comprobará si el orden de las zonas de trabajo es ascendente. Si no es así, se mostrará un mensaje de confirmación para avisar de que es posible que se produzca un autobloqueo. El master semáforo distribuye la secuencia entre los demás participantes. Procedimiento manual 1. Seleccionar en el menú principal la secuencia Indicación > Zona de trabajo. 2. Pulsar Determinar. Comienza la búsqueda de bloqueos mutuos. Si se detectan bloqueos mutuos, aparece un mensaje. Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 69 / 81 KUKA.RoboTeam 3.0 Procedimiento automático 1. Seleccionar en el menú principal la secuencia Indicación > Zona de trabajo. 2. Pulsar Debug Con.. La comprobación automática de bloqueos mutuos está activa. Se visualiza un mensaje. 70 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 12 Servicio técnico de KUKA 12 2 Servicio técnico de KUKA v 12.1 Requerimiento de asistencia técnica Introducción Esta documentación ofrece información para el servicio y el manejo y también constituye una ayuda en caso de reparación de averías. Para más preguntas dirigirse a la sucursal local. Información Para poder atender la solicitud necesitamos la siguiente información: t Descripción del problema, incluyendo datos acerca de la duración y la frecuencia de la avería Información lo más detallada posible acerca de los componentes de hardware y software del sistema completo La siguiente lista proporciona puntos de referencia acerca de qué información es a menudo relevante: Tipo y número de serie de la cinemática, p. ej. del manipulador Tipo y número de serie de la unidad de control Tipo y número de serie de la alimentación de energía Denominación y versión del System Software Denominaciones y versiones de otros componentes de software o modificaciones Paquete de diagnóstico KRCDiag Adicionalmente, para KUKA Sunrise: Proyectos existentes, aplicaciones incluidas Para versiones del KUKA System Software anteriores a V8: Archivo del software (KRCDiag aún no está disponible aquí.) 12.2 Aplicación existente Ejes adicionales existentes KUKA Customer Support Disponibilidad El servicio de atención al cliente de KUKA se encuentra disponible en muchos países. Estamos a su entera disposición para resolver cualquiera de sus preguntas. Argentina Ruben Costantini S.A. (agencia) Luis Angel Huergo 13 20 Parque Industrial 2400 San Francisco (CBA) Argentina Tel. +54 3564 421033 Fax +54 3564 428877 ventas@costantini-sa.com Australia KUKA Robotics Australia Pty Ltd 45 Fennell Street Port Melbourne VIC 3207 Australia Tel. +61 3 9939 9656 info@kuka-robotics.com.au www.kuka-robotics.com.au Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 71 / 81 KUKA.RoboTeam 3.0 72 / 81 Bélgica Automatización KUKA + Robots N.V. Centrum Zuid 1031 3530 Houthalen Bélgica Tel. +32 11 516160 Fax +32 11 526794 info@kuka.be www.kuka.be Brasil KUKA Roboter do Brasil Ltda. Travessa Claudio Armando, nº 171 Bloco 5 - Galpões 51/52 Bairro Assunção CEP 09861-7630 São Bernardo do Campo - SP Brasil Tel. +55 11 4942-8299 Fax +55 11 2201-7883 info@kuka-roboter.com.br www.kuka-roboter.com.br Chile Robotec S.A. (agencia) Santiago de Chile Chile Tel. +56 2 331-5951 Fax +56 2 331-5952 robotec@robotec.cl www.robotec.cl China KUKA Robotics China Co., Ltd. No. 889 Kungang Road Xiaokunshan Town Songjiang District 201614 Shanghai P. R. China Tel. +86 21 5707 2688 Fax +86 21 5707 2603 info@kuka-robotics.cn www.kuka-robotics.com Alemania KUKA Deutschland GmbH Zugspitzstr. 140 86165 Augsburg Alemania Tel. +49 821 797-1926 Fax +49 821 797-41 1926 Hotline.robotics.de@kuka.com www.kuka.com Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 12 Servicio técnico de KUKA Francia KUKA Automatisme + Robotique SAS Techvallée 6, Avenue du Parc 91140 Villebon S/Yvette Francia Tel. +33 1 6931660-0 Fax +33 1 6931660-1 commercial@kuka.fr www.kuka.fr India KUKA Robotics India Pvt. Ltd. Office Number-7, German Centre, Level 12, Building No. - 9B DLF Cyber City Phase III 122 002 Gurgaon Haryana India Tel. +91 124 4635774 Fax +91 124 4635773 info@kuka.in www.kuka.in Italia KUKA Roboter Italia S.p.A. Via Pavia 9/a - int.6 10098 Rivoli (TO) Italia Tel. +39 011 959-5013 Fax +39 011 959-5141 kuka@kuka.it www.kuka.it Japón KUKA Japón K.K. YBP Technical Center 134 Godo-cho, Hodogaya-ku Yokohama, Kanagawa 240 0005 Japón Tel. +81 45 744 7531 Fax +81 45 744 7541 info@kuka.co.jp Canadá KUKA Robotics Canada Ltd. 6710 Maritz Drive - Unit 4 Mississauga L5W 0A1 Ontario Canadá Tel. +1 905 670-8600 Fax +1 905 670-8604 info@kukarobotics.com www.kuka-robotics.com/canada Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 73 / 81 KUKA.RoboTeam 3.0 74 / 81 Corea KUKA Robotics Korea Co. Ltd. RIT Center 306, Gyeonggi Technopark 1271-11 Sa 3-dong, Sangnok-gu Ansan City, Gyeonggi Do 426-901 Corea Tel. +82 31 501-1451 Fax +82 31 501-1461 info@kukakorea.com Malasia KUKA Robot Automation (M) Sdn Bhd South East Asia Regional Office No. 7, Jalan TPP 6/6 Taman Perindustrian Puchong 47100 Puchong Selangor Malasia Tel. +60 (03) 8063-1792 Fax +60 (03) 8060-7386 info@kuka.com.my México KUKA de México S. de R.L. de C.V. Progreso #8 Col. Centro Industrial Puente de Vigas Tlalnepantla de Baz 54020 Estado de México México Tel. +52 55 5203-8407 Fax +52 55 5203-8148 info@kuka.com.mx www.kuka-robotics.com/mexico Noruega KUKA Sveiseanlegg + Roboter Sentrumsvegen 5 2867 Hov Noruega Tel. +47 61 18 91 30 Fax +47 61 18 62 00 info@kuka.no Austria KUKA Roboter CEE GmbH Gruberstraße 2-4 4020 Linz Austria Tel. +43 7 32 78 47 52 Fax +43 7 32 79 38 80 office@kuka-roboter.at www.kuka.at Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 12 Servicio técnico de KUKA Polonia KUKA Roboter CEE GmbH Poland Spółka z ograniczoną odpowiedzialnością Oddział w Polsce Ul. Porcelanowa 10 40-246 Katowice Polonia Tel. +48 327 30 32 13 or -14 Fax +48 327 30 32 26 ServicePL@kuka-roboter.de Portugal KUKA Robots IBÉRICA, S.A. Rua do Alto da Guerra n° 50 Armazém 04 2910 011 Setúbal Portugal Tel. +351 265 729 780 Fax +351 265 729 782 info.portugal@kukapt.com www.kuka.com Rusia KUKA Rusia OOO 1-y Nagatinskiy pr-d, 2 117105 Moskau Rusia Tel. +7 495 665-6241 support.robotics.ru@kuka.com Suecia KUKA Svetsanläggningar + Robotar AB A. Odhners gata 15 421 30 Västra Frölunda Suecia Tel. +46 31 7266-200 Fax +46 31 7266-201 info@kuka.se Suiza KUKA Roboter Schweiz AG Industriestr. 9 5432 Neuenhof Suiza Tel. +41 44 74490-90 Fax +41 44 74490-91 info@kuka-roboter.ch www.kuka-roboter.ch Eslovaquia KUKA Roboter CEE GmbH organizačná zložka Bojnická 3 831 04 Bratislava Eslovaquia Tel. +420 226 212 273 support.robotics.cz@kuka.com Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 75 / 81 KUKA.RoboTeam 3.0 76 / 81 España KUKA Robots Ibérica, S.A. Pol. Industrial Torrent de la Pastera Carrer del Bages s/n 08800 Vilanova i la Geltrú (Barcelona) España Tel. +34 93 8142-353 comercial@kukarob.es Sudáfrica Jendamark Automation LTD (Agentur) 76a York Road North End 6000 Port Elizabeth Sudáfrica Tel. +27 41 391 4700 Fax +27 41 373 3869 www.jendamark.co.za Taiwán KUKA Automation Taiwán Co. Ltd. 1F, No. 298 Yangguang ST., Nei Hu Dist., Taipei City, Taiwan 114 Taiwán Tel. +886 2 8978 1188 Fax +886 2 8797 5118 info@kuka.com.tw Tailandia KUKA (Tailandia) Co. Ltd. No 22/11-12 H-Cape Biz Sector Onnut Sukhaphiban 2 road, Prawet Bangkok 10250 Tailandia Tel. +66 (0) 90-940-8950 HelpdeskTH@kuka.com República Checa KUKA Roboter CEE GmbH organizační složka Pražská 239 25066 Zdiby República Checa Tel. +420 226 212 273 support.robotics.cz@kuka.com Hungría KUKA Robotics Hungaria Kft. Fö út 140 2335 Taksony Hungría Tel. +36 24 501609 Fax +36 24 477031 info@kuka-robotics.hu Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 12 Servicio técnico de KUKA EE. UU. KUKA Robotics Corporation 51870 Shelby Parkway Shelby Township 48315-1787 Michigan EE. UU. Tel. +1 866 873-5852 Fax +1 866 329-5852 info@kukarobotics.com www.kukarobotics.com Reino Unido KUKA Robotics UK Ltd Great Western Street Wednesbury West Midlands WS10 7LL Reino Unido Tel. +44 121 505 9970 Fax +44 121 505 6589 service@kuka-robotics.co.uk www.kuka-robotics.co.uk Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 77 / 81 KUKA.RoboTeam 3.0 78 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 Índice Índice Símbolos $COMPLETE_NETWORK_OK, variable del sistema 60 $COOP_KRC , variable del sistema 59 $CR_LK_MASTER, variable del sistema 62 $CR_LK_SLAVES, variable del sistema 63 $LK_MASTER , variable del sistema 61 $LK_SLAVES , variable del sistema 61 $LOCAL_NETWORK_OK, variable del sistema 60 $PINGCOOPKRC, variable del sistema 59 $SYNC_ID\, variable del sistema 61 $SYNC_LIST, variable del sistema 62 $WORKSPACERESTOREACTIVE, variable del sistema 60 H Hardware 19 A Acceso remoto 50 Acoplamiento geométrico 11, 48 Acoplamiento, geométrico 48 Actualizar, RoboTeam 19 L Licencias 8 LIN/CIRC/SLIN/SCIRC con SYNC, formulario inline 45 B Bloque Spline con SYNC, formulario inline 47 Bloqueo mutuo de robots cooperativos 69 Bloqueo mutuo, determinación 69 C Cambio de unidad de control, gestor de conexiones 38 Cambio de unidad de control, plugin RoboTeam 38 CancelProgSync() 56 Conectividad del bus de sistema 21 Conectividad, comprobación 32 Configuración 21 Conocimientos, necesarios 7 Cursos de formación 7 D Descripción del producto 9 Desinstalar, RoboTeam 20 Desplazamiento del reparto de cargas 12 Desplazamiento dependiente de proceso 13 Documentación, robot industrial 7 E Eliminación de fallos 69 Esclavo 8 Estado de una zona de trabajo, restauración 41 Estado de una zona de trabajo, visualización 40 EXITSPACE, formulario inline 53 G GEOLINK, formulario inline 48 Gestor de conexiones 35 Grupo destinatario 7 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 I Indicaciones 7 Indicaciones de seguridad 7 Instalación 19 Instalar, RoboTeam 19 Instrucciones de sincronización, simulación 39 Introducción 7 K KLI 8 KLI, conectividad 22 KUKA Customer Support 71 M Maestro 8 Master de movimiento 28 Master de tiempo 27 Medición 31 Medición acoplamiento geométrico, comprobación 32 Menús 35 Modelo para el RoboTeam 24 O Open-Source 8 Operaciones, sincronización 39 Operación 35 P Participante RoboTeam 8 Plantilla para RoboTeam 24 Plugin RoboTeam 36 Principio master-slave ampliado 14 Programas de ejemplo 65 PROGSYNC, formulario inline 43 Proyecto de RoboTeam, configurar (WorkVisual) 24 Proyecto de RoboTeam, crear (WorkVisual) 24 Puesta en servicio 21 R REMOTE START, formulario inline 50 REMOTE WAIT, formulario inline 51 RemoteCmd() 55 RemoteRead() 57 Requerimiento de asistencia técnica 71 Requisitos previos del sistema 19 RoboTeam 8 79 / 81 KUKA.RoboTeam 3.0 S SCIRC en el bloque Spline con SYNC, formulario inline 47 Seguridad 17 Servicio técnico de KUKA 71 Signos especiales 43 Sincronización de forma temporal, movimientos 44 Sincronización de movimiento 10 Sincronización de programa 9 Sincronización temporal, avance del programa 43 Sincronización temporal, bloques Spline 45 Sincronización temporal, conjuntos de movimientos 44 SLIN en el bloque Spline con SYNC, formulario inline 47 smartPAD común 26 Software 19 SPL en el bloque Spline con SYNC, formulario inline 47 SyncCmd() 55 T Terminología utilizada 8 Terminología, utilizada 8 U Unidad de control del robot, cambiar 38 USB 8 V Variables del sistema 59 Z Zona de trabajo 8, 15 Zona de trabajo, abandono 52 Zona de trabajo, acceso 51 Zonas de trabajo, RoboTeam 30 80 / 81 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 KUKA.RoboTeam 3.0 Edición: 12.04.2018 Versión: KST RoboTeam 3.0 V2 81 / 81