Training Programación de robots 1 KUKA System Software 8 Documentación para la formación Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es KUKA Roboter GmbH Programación de robots 1 © Copyright 2011 KUKA Roboter 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 Roboter 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. Traducción de la documentación original KIM-PS5-DOC 2 / 181 Publicación: Pub COLLEGE P1KSS8 Roboterprogrammierung 1 (PDF-COL) es Estructura de libro: P1KSS8 Roboterprogrammierung 1 V5.2 Versión: P1KSS8 Roboterprogrammierung 1 V1 es Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es Indice Indice 1 Estructura y función de un sistema de robot KUKA ................................ 5 1.1 Introducción a la robótica ........................................................................................... 5 1.2 Mecánica de un robot KUKA ...................................................................................... 5 1.3 Unidad de control del robot (V)KR C4 ....................................................................... 8 1.4 El KUKA smartPAD .................................................................................................... 9 1.5 Resumen smartPAD .................................................................................................. 10 1.6 Programación de robots ............................................................................................. 11 1.7 Seguridad del robot .................................................................................................... 13 2 Mover un robot ............................................................................................ 17 2.1 Leer e interpretar los mensajes de la unidad de control del robot ............................ 17 2.2 Seleccionar y ajustar el modo de servicio .................................................................. 18 2.3 Mover ejes del robot individualmente ....................................................................... 21 2.4 Sistemas de coordenadas en relación con los robots ............................................... 25 2.5 Mover el robot en el sistema de coordenadas universales ........................................ 26 2.6 Mover el robot en el sistema de coordenadas de herramienta .................................. 31 2.7 Mover el robot en el sistema de coordenadas de base ............................................. 35 2.8 Ejercicio: Operación y desplazamiento manual ......................................................... 40 2.9 Procesos manuales con una herramienta fija ............................................................ 42 2.10 Ejercicio: Procesos manuales con herramienta fija ................................................... 43 3 Puesta en servicio del robot ....................................................................... 45 3.1 Principio de ajuste ...................................................................................................... 45 3.2 Ajustar el robot ........................................................................................................... 48 3.3 Ejercicio: Ajuste de robots ......................................................................................... 52 3.4 Cargas sobre el robot ................................................................................................ 54 3.5 Datos de carga la herramienta ................................................................................... 54 3.6 Datos de carga adicional en el robot ......................................................................... 55 3.7 Medición de una herramienta .................................................................................... 57 3.8 Ejercicio: Medición de herramienta clavija ................................................................. 66 3.9 Ejercicio: Medición de herramienta garra, método de 2 puntos ................................. 69 3.10 Medición de una base ................................................................................................ 71 3.11 Consulta de la posición actual del robot .................................................................... 75 3.12 Ejercicio: Medición de base en mesa, método de 3 puntos ....................................... 77 3.13 Medición de una herramienta fija ............................................................................... 79 3.14 Medición de una pieza guiada por robot .................................................................... 81 3.15 Ejercicio: Medir herramienta externa y pieza guiada por robot .................................. 82 3.16 Desenchufar el smartPAD ......................................................................................... 86 4 Ejecutar los programas del robot .............................................................. 89 4.1 Realizar el desplazamiento de inicialización .............................................................. 89 4.2 Seleccionar e iniciar programas del robot .................................................................. 90 4.3 Ejercicio: ejecutar programas del robot ..................................................................... 96 5 Uso de archivos de programas .................................................................. 97 5.1 Crear módulos de programa ...................................................................................... 97 5.2 Editar módulos de programa ...................................................................................... 98 5.3 Archivar y restaurar programas de robot ................................................................... 99 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 / 181 Programación de robots 1 4 / 181 5.4 Registrar los cambios de programa y de estado con el listado LOG ........................ 100 6 Crear y modificar movimientos programados .......................................... 105 6.1 Creación de nuevas instrucciones de movimiento .................................................... 105 6.2 Creación de movimientos con optimización del tiempo de ciclo (movimiento del eje) 106 6.3 Ejercicio: Programa en el aire - Tratamiento de programa y movimientos PTP ........ 112 6.4 Crear movimientos de trayectoria .............................................................................. 115 6.5 Modificación de las instrucciones de movimiento ...................................................... 123 6.6 Ejercicio: Desplazamiento de trayectoria y posicionamiento aproximado ................. 126 6.7 Programación de movimiento con TCP externo ........................................................ 129 6.8 Ejercicio: Programación de movimientos con el TCP externo ................................... 129 7 Usar funciones lógicas en el programa del robot .................................... 131 7.1 Introducción a la programación lógica ....................................................................... 131 7.2 Programación de funciones de espera ...................................................................... 132 7.3 Programación de funciones de conmutación simples ............................................... 136 7.4 Programación de funciones de conmutación de trayectoria ...................................... 138 7.5 Ejercicio: Instrucciones lógicas y funciones de conmutación ................................... 144 8 Uso de variables .......................................................................................... 147 8.1 Indicación y modificación de valores de variables ..................................................... 147 8.2 Consultar los estados del robot ................................................................................. 149 8.3 Ejercicio: Visualización de variables del sistema ...................................................... 150 9 Utilizar paquetes tecnológicos ................................................................... 151 9.1 Manejo de las garras con KUKA.GripperTech .......................................................... 151 9.2 Programación de garra con KUKA.GripperTech ....................................................... 151 9.3 Configuración de KUKA.GripperTech ........................................................................ 154 9.4 Ejercicio: Programación de la garra - placa ............................................................... 156 9.5 Ejercicio: Programación de la garra, clavija .............................................................. 158 10 Programar con éxito en KRL ...................................................................... 161 10.1 Estructura y composición de programas de robot ..................................................... 161 10.2 Estructurar programas de robot ................................................................................. 166 10.3 Concatenación de programas del robot .................................................................... 169 10.4 Ejercicio: Programación en el KRL ............................................................................ 171 11 Trabajar con un control superior ............................................................... 175 11.1 Preparación para el inicio de programa del PLC ....................................................... 175 11.2 Adaptar el enlace PLC (Cell.src) ............................................................................... 176 Indice ............................................................................................................ 179 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA 1 Estructura y función de un sistema de robot KUKA 1.1 Introducción a la robótica ¿Qué es un robot? El vocablo robot procede de la palabra eslava robota, que significa trabajo duro. La definición oficial del robot industrial es la siguiente: "Un robot es un manipulador controlado por un software que se puede programar libremente." El robot también comprende una unidad de control y una unidad de operación, además los cables de conexión y el software. Fig. 1-1: Robot industrial 1 Control (armario de control (V)KR C4) 2 Manipulador (mecánica del robot) 3 Unidad manual de programación y de operación (KUKA smartPAD) Todo aquello fuera de los límites del propio robot recibe el nombre de Periféricos: 1.2 Herramientas (efector/herramienta) Dispositivo de protección Cintas transportadoras Sensores etc. Mecánica de un robot KUKA ¿Qué es un manipulador? El manipulador es la mecánica del robot propiamente dicha. Consta de un número de elementos (ejes) móviles encadenados entre sí. También recibe el nombre de cadena cinemática. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 5 / 181 Programación de robots 1 Fig. 1-2: Manipulador 1 Manipulador (mecánica del robot) 2 Inicio de la cadena cinemática: Pie del robot (ROBROOT) 3 Final libre de la cadena cinemática: Brida (FLANGE) A1 ... A6 Ejes del robot (del 1 al 6) El movimiento de los distintos ejes es ejecutado por la regulación selectiva de los servomotores. Éstos están unidos a los distintos componentes del manipulador por medio de reductores. Fig. 1-3: Resumen de los componentes mecánicos del robot 6 / 181 1 Base 4 Brazo de oscilación 2 Columna giratoria 5 Brazo 3 Compensación de peso 6 Manual Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA Los componentes mecánicos del robot están fabricados en su mayor parte con aluminio y fundición de acero. En casos aislados se utilizan también componentes de fibras de carbono. Los ejes están numerados de abajo (pie del robot) a arriba (brida del robot). Fig. 1-4: Grado de libertad del KUKA Roboter Extracto de los datos técnicos de los manipuladores en los productos KUKA Número de ejes: de 4 (robot SCARA y paralelogramo) a 6 (robot de brazo articulado vertical estándar) Alcance: de 0,35 m (KR 5 scara) a 3,9 m (KR 120 R3900 ultra K) Peso propio: de 20 kg a 4700 kg. Exactitud: repetibilidad de 0,015 mm a 0,2 mm. Los rangos de movimiento de los ejes A1 hasta A3 y el eje de la muñeca A5 del robot se encuentran limitados por medio de topes finales mecánicos con amortiguadores. Eje 1 Eje 2 Eje 3 En los ejes adicionales pueden encontrarse montados otros topes mecánicos. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 / 181 Programación de robots 1 Si un robot o un eje adicional choca contra un obstáculo o bien un amortiguador en el tope mecánico o bien la limitación del campo de trabajo, puede ocasionar daños al sistema del robot. Antes de poner en marcha de nuevo el sistema del robot es obligatorio consultar con KUKA Roboter GmbH . Debe reemplazarse inmediatamente el amortiguador afectado por uno nuevo antes de reanudar la operación del robot. Si un robot (el eje adicional) choca contra un amortiguador con una velocidad mayor de 250 mm/s, debe cambiarse el robot (el eje adicional) o bien efectuarse una repuesta en marcha por KUKA Roboter GmbH. 1.3 Unidad de control del robot (V)KR C4 ¿Quién ejecuta el movimiento? La mecánica del robot se mueve por medio de servomotores regulados por la unidad de control (V)KR C4. Fig. 1-5: Armario de control (V)KR C4 Características del control (V)KR C4) Unidad de control del robot (cálculo de trayectoria): Regulación de los seis ejes de robot y uno o dos ejes externos. Fig. 1-6: (V)KR C4 Regulación de ejes 8 / 181 Control de proceso: Soft PLC integrado según IEC61131 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA Control de seguridad Control de movimiento Opciones de comunicación por medio de sistemas de BUS (p. ej. ProfiNet, Ethernet IP, Interbus): Unidades de control con memoria programable (PLC) Otras unidades de control Sensores y actuadores Opciones de comunicación por red: Ordenador principal Otras unidades de control Fig. 1-7: Opciones de comunicación (V)KR C4 1.4 El KUKA smartPAD ¿Cómo se opera con un robot KUKA? Un robot KUKA se hace controla con una consola de operación: el KUKA smartPAD. Fig. 1-8 Características del KUKA smartPAD: Pantalla táctil (interfaz de usuario táctil) para operar con la mano o el lápiz que llega integrado Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 / 181 Programación de robots 1 1.5 Display de gran formato y dimensiones Tecla de menú KUKA Ocho teclas de desplazamiento Teclas para la operación de los paquetes tecnológicos Teclas para ejecutar el programa (paro/atrás/adelante) Tecla para mostrar el teclado Conmutador de llave para cambiar el modo de servicio Pulsador de parada de emergencia Space Mouse Se puede desenchufar Conexión USB Resumen smartPAD Fig. 1-9 10 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA Pos. Descripción 1 Botón para desenchufar el smartPAD 2 Interruptor de llave para acceder al gestor de conexiones. El conmutador únicamente se puede cambiar cuando está insertada la llave. El gestor de conexiones permite cambiar el modo de servicio. 3 Pulsador de PARADA DE EMERGENCIA. Para detener el robot en situaciones de peligro. El pulsador de PARADA DE EMERGENCIA se bloquea cuando se acciona. 4 Space Mouse. Para el desplazamiento manual del robot. 5 Teclas de desplazamiento. Para el desplazamiento manual del robot. 6 Tecla para ajustar el override de programa. 7 Tecla para ajustar el override manual. 8 Tecla del menú principal. Muestra las opciones de menú en el smartHMI. 9 Teclas tecnológicas. Las teclas tecnológicas sirven principalmente para ajustar los parámetros de paquetes tecnológicos. Su función exacta depende del paquete tecnológico instalado. 10 Tecla de arranque. Con la tecla de arranque se inicia un programa. 11 Tecla de arranque hacia atrás. Con la tecla de arranque hacia atrás se inicia un programa en sentido inverso. El programa se ejecuta paso a paso. 12 Tecla STOP. Con la tecla de STOP se detiene un programa en ejecución. 13 Tecla del teclado Muestra el teclado. Generalmente no es necesario mostrar el teclado porque el smartHMI detecta cuando es necesario introducir datos con el teclado y lo abre automáticamente. 1.6 Programación de robots Con la programación del robot se consigue que los movimientos y procesos se ejecuten y repitan automáticamente. Para ello el control necesita gran cantidad de información: ¿En qué idioma habla el control? Posición del robot = posición de la herramienta en el espacio Tipo de movimiento Velocidad / aceleración Informaciones de señales par condiciones de espera, ramificaciones, dependencias,... El idioma de programación es el KRL - KUKA Robot Language. Programa de ejemplo: Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 11 / 181 Programación de robots 1 PTP P1 Vel=100% PDAT1 PTP P2 CONT Vel=100% PDAT2 WAIT FOR IN 10 'Part in Position' PTP P3 Vel=100% PDAT3 ¿Cómo se programa un robot KUKA? Para programar un robot KUKA pueden utilizarse varios métodos de programación: Programación online con el proceso de aprendizaje. Fig. 1-10: Programación de robots con el KUKA smartPAD Programación offline Programación gráfica interactiva: Simulación del proceso del robot Fig. 1-11: Simulación con KUKA WorkVisual 12 / 181 Programación textual: Programación con ayuda de la superficie del smartPAD en un PC de control superpuesto (también para diagnósticos; la adaptación online se efectúa automáticamente con los programas en marcha). Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA Fig. 1-12: Programación de robots con KUKA OfficeLite 1.7 Seguridad del robot Un sistema robótico siempre debe contar con las características de seguridad pertinentes. Están los sistemas de seguridad separadores (vallas, puertas, etc.), pulsadores de parada de emergencia, pulsadores de hombre muerto, limitaciones de zonas de ejes, entre otros. Ejemplo: Celda de formación College Fig. 1-13: Célula de capacitación 1 Valla de protección 2 Topes finales mecánicos o limitaciones de los campos de los ejes 1, 2y3 3 Puerta de protección con contacto para el control de la función del cierre 4 Pulsador de parada de emergencia (externo) 5 Pulsadores de parada de emergencia, interruptores de confirmación, interruptores con llave para abrir el gestor de conexiones 6 Control de seguridad (V)KR C4 integrado Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 13 / 181 Programación de robots 1 El sistema de robot puede causar daños personales o materiales si los dispositivos de seguridad no están en servicio. En caso de que se hayan desmontado o desactivado los dispositivos de seguridad, no se debe operar el sistema de robot. Dispositivo de parada de emergencia El dispositivo de PARADA DE EMERGENCIA del robot industrial es el pulsador de PARADA DE EMERGENCIA de la KCP. El pulsador debe pulsarse en situaciones de peligro o en caso de emergencia. Reacciones del robot industrial al pulsarse el pulsador de PARADA DE EMERGENCIA: El manipulador y los ejes adicionales (opcionales) se detienen con una parada de seguridad 1. Para poder reanudar el servicio, debe desenclavarse el pulsador de PARADA DE EMERGENCIA por medio de un giro y, a continuación, confirmar el mensaje de error. Las herramientas y otras dispositivos unidos al manipulador que puedan suponer algún peligro deben estar conectados desde la instalación al circuito de PARADA DE EMERGENCIA. Si no se respeta esta advertencia, como consecuencia pueden ocasionarse importantes daños materiales, lesiones graves e incluso la muerte. Como mínimo debe haber instalado un dispositivo externo de PARADA DE EMERGENCIA. Ello garantiza que se puede contar con un dispositivo de PARADA DE EMERGENCIA aún estando la KCP conectada. Parada de emergencia externa En todas las estaciones de operación que puedan accionar un movimiento del robot o crear una situación susceptible de ser peligrosa, se debe disponer de dispositivos de PARADA DE EMERGENCIA. El integrador de sistemas debe velar por ello. Como mínimo debe haber instalado un dispositivo externo de PARADA DE EMERGENCIA. Ello garantiza que se puede contar con un dispositivo de PARADA DE EMERGENCIA aún estando la KCP conectada. Los dispositivos externos de PARADA DE EMERGENCIA se conectan por medio de las inferfaces del cliente. Los dispositivos externos de PARADA DE EMERGENCIA no se incluyen en el contenido de entrega del robot industrial. Protección del usuario La señal "Protección del usuario" sirve para interbloquear dispositivos de protección distintos, p. ej. puertas de protección. Sin esta señal no es posible es servicio automático. Si se pierde la señal durante el servicio automático (p. ej. se abre una puerta de protección), el manipulador se realiza una parada de seguridad 1. Para los modos de servicio de test Manual velocidad reducida (T1) y Manual velocidad alta (T2), la protección del operario no se encuentra activada. 14 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 1 Estructura y función de un sistema de robot KUKA Tras una pérdida de señal el modo automático no se puede reanudar por sí solo cerrando el dispositivo de seguridad, sino que primero debe confirmarse. El integrador de sistemas debe encargarse de ello. El objetivo de este paso es evitar una reanudación del modo automático no intencionada hallándose personas dentro de la zona de peligro como, por ej., en caso de una puerta de protección cerrada equivocadamente. Parada de servicio segura Parada de seguridad externa 1 y parada de seguridad externa 2 La confirmación se debe implementar deforman que primero se pueda comprobar realmente la zona de peligro. No está permitida ninguna confirmación que no permita esta comprobación (p. ej., confirmación que se produce automáticamente después de cerrar el dispositivo de seguridad). Si no se respeta esta medida, pueden ocasionarse importantes daños materiales, lesiones graves e incluso la muerte. La parada de servicio segura también se puede accionar a través de una entrada de la interfaz de cliente. El estado se mantiene mientras la señal externa permanezca en FALSE. Cuando la señala externa cambie a TRUE, se puede volver a desplazar el manipulador. No es necesario ninguna confirmación. La parada de seguridad 1 y la parada de seguridad 2 se pueden accionar a través de una entrada de la interfaz de cliente. El estado se mantiene mientras la señal externa permanezca en FALSE. Cuando la señala externa cambie a TRUE, se puede volver a desplazar el manipulador. No es necesario ninguna confirmación. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 15 / 181 Programación de robots 1 16 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2 Mover un robot 2.1 Leer e interpretar los mensajes de la unidad de control del robot Resumen de mensajes Fig. 2-1: Ventana y contador de mensajes 1 Ventana de mensajes: aparece en pantalla el mensaje actual. 2 Contador de mensajes: cantidad de mensajes clasificados por tipo. La unidad de control se comunica con el usuario a través de la ventana de mensajes. Se dispone de cinco tipos de mensajes distintos: Resumen de tipos de mensaje: Símbolo Tipo Mensaje de confirmación Para mostrar los estados en los que se requiera la confirmación por parte del operador para que el programa siga ejecutándose (p. ej., "Conf. PARADA DE EMERGENCIA"). Un mensaje de confirmación siempre provoca que el robot pare o no arranque. Mensaje de estado Los mensajes de estado informan de los estados actuales del control (p. ej., "parada de emergencia"). Los mensajes prestados no se pueden confirmar mientras el estado está pendiente. Mensaje de observación Los mensajes de observación aportan información para la correcta operación del robot (p. ej., "Se requiere la tecla de arranque"). Los mensajes de observación se puede confirmar. No obstante, no se deben confirmar porque no detienen el control. Mensaje de espera Los mensajes de espera indican el suceso al que está esperando el control (estado, señal o tiempo). Los mensajes de espera se pueden cancelar manualmente pulsando el botón "Simular". La instrucción "Simular" sólo se debe usar si no hay posibilidad alguna de colisión u otro peligro. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 17 / 181 Programación de robots 1 Mensaje de diálogo Los mensajes de diálogo se usan como comunicación o consulta directa con el operador. Aparece una ventana con botones con las distintas opciones disponibles como respuesta. Con "OK" puede confirmarse un mensaje (que pueda confirmarse). Con "Todo OK" pueden confirmarse todos los mensajes (que puedan confirmarse). Efecto de los mensajes Los mensajes influyen sobre la funcionalidad del robot. Un mensaje de confirmación siempre provoca que el robot pare o no arranque. Entonces el mensaje se debe confirmar para que se pueda mover el robot. El comando "OK" (confirmar) exige al operador que reaccione activamente ante el mensaje. Consejos para actuar ante los mensajes: Leer el mensaje detenidamente. Primero leer los mensajes más antiguos. El mensaje nuevo podría ser una consecuencia de un mensaje anterior. Tratamiento de los mensajes No pulsar simplemente "Todo OK". En especial después de haber efectuado el arranque: Revisar los mensajes. Para ello, hacer que se muestren todos los mensajes (pulsando sobre la ventana de mensajes se expande la lista). Los mensajes siempre aparecen con fecha y hora para poder saber el punto exacto de la incidencia. Fig. 2-2: Confirmar mensajes Procedimiento para examinar y confirmar mensajes. 1. Tocar la ventana de mensajes (1) para ampliar la lista de mensajes. 2. Confirmar: Confirmar cada mensaje pulsando "OK" (2). Alternativa: Confirmar todos los mensajes pulsando "Todo OK" (3). 3. Volviendo a tocar el mensaje situado más arriba o tocando sobre la "X" del extremo izquierdo de la pantalla se vuelve cerrar la lista de mensajes. 2.2 Seleccionar y ajustar el modo de servicio Modo de servicio de un robot KUKA 18 / 181 T1 (Manual velocidad reducida) Para el modo de test, programación y programación por aprendizaje Velocidad en el modo de programación máx. 250 mm/s Velocidad en el modo manual máx. 250 mm/s T2 (Manual velocidad alta) Para servicio de test Velocidad en el modo de programación según la velocidad programada. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot Advertencias de seguridad de los modos de servicio Modo de servicio manual: no posible AUT (Automático) Para robots industriales sin unidad de control superior Velocidad en el modo de programación según la velocidad programada. Modo de servicio manual: no posible AUT EXT (Automático Externo) Para robots industriales con unidad de control superior (PLC) Velocidad en el modo de programación según la velocidad programada. Modo de servicio manual: no posible Servicio manual T1 y T2 El servicio manual sirve para realizar los trabajos de ajuste. Se consideran trabajos de ajuste todos los trabajos que deban llevarse a cabo en el robot para poder ser operado en servicio automático. Entre ellos: Aprendizaje / programación Ejecutar programa en modo tecleado (comprobación / verificación) Los programas nuevos o modificados siempre se deben probar primero en el modo de servicio Manual Velocidad reducida (T1). En el modo de servicio Manual Velocidad reducida (T1): la protección del operario (puerta de protección) está inactiva. Si se puede evitar, no debe hallarse ninguna otra persona dentro de la zona delimitada por los dispositivos de seguridad. Si es imprescindible que varias personas permanezcan dentro de la zona delimitada por los dispositivos de seguridad, se debe tener en cuenta lo siguiente: Todas las personas deben tener un contacto visual sin obstáculos sobre el sistema de robot. Debe existir contacto visual entre todas las personas implicadas. El operario debe situarse en una posición desde la cual pueda visualizar la zona de peligro para así poder evitar posibles peligros. En el modo de servicio Manual Velocidad alta (T2): la protección del operario (puerta de protección) está inactiva. Este modo de servicio sólo puede utilizarse cuando se requiere la aplicación de un test con velocidad más elevada que la del servicio Manual de velocidad reducida. Este modo de servicio no permite el aprendizaje. El operario debe asegurarse antes de iniciar el test que los dispositivo de conformación están en condiciones de funcionamiento. El operario debe colocarse fuera de la zona de peligro. No debe haber ninguna otra persona dentro de la zona delimitada por los dispositivos de seguridad. Modos de servicio Automático y Automático externo Todos los dispositivos de seguridad y protección deben estar debidamente montados y en condiciones de funcionamiento. Todas las personas deben estar fuera de la zona delimitada por el dispositivo de protección. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 19 / 181 Programación de robots 1 Procedimiento Si durante el servicio se cambia el modo de servicio, los accionamientos son inmediatamente desconectados. El robot industrial se para con una parada de seguridad 2 1. Mover el interruptor del KCP para el gestor de conexiones. Se visualiza el gestor de conexiones. 2. Seleccionar el modo de servicio. 3. Volver a colocar el interruptor para el gestor de conexiones en su posición original. El modo de servicio seleccionado se muestra en la barra de estado del smartPAD. 20 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2.3 Mover ejes del robot individualmente Descripción: Movimiento específico del eje Fig. 2-3: Grado de libertad del KUKA Roboter Movimiento de los ejes del robot Principio Cada eje individualmente en dirección positiva y negativa Para ello se utilizan las teclas de desplazamiento o el Space Mouse del KUKA smartPAD. La velocidad puede cambiarse (override manual: HOV) Los procesos manuales sólo se pueden efectuar en el modo de servicio T1. Debe estar pulsado el interruptor de confirmación. Al pulsar el interruptor de confirmación se activan los accionamientos. En el momento en que se acciona una tecla de desplazamiento o el Space Mouse, se inicia la regulación los ejes del robot y se ejecuta el movimiento deseado. Se puede elegir entre un movimiento continuo o un movimiento incremental. En la barra de estado se deberá seleccionar el valor del incremento. Los siguientes mensajes ejercen influencia sobre el servicio manual: Mensaje Causa Ayuda "Comandos activos bloqueados" Ha aparecido un mensaje (de detención) o un estado que provoca el bloqueo de los comandos activos (p. ej., se ha pulsado la parada de emergencia o los accionamientos todavía no están listos). Desbloquear la parada de emergencia y/o confirmar los mensajes de la ventana de mensajes. Al pulsar el interruptor de confirmación se activan de inmediato los accionamientos. "Interruptor de final de carrera de software -A5" El interruptor de final de carrera de software del eje mostrado (p. ej. A5) se ha aproximado en la dirección indicada (+ o -). Desplazar el eje indicado en la dirección contraria. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 21 / 181 Programación de robots 1 Advertencias de seguridad para movimientos manuales específicos de los ejes Modo de servicio El modo manual del robot sólo está permitido en el modo de servicio T1 (manual velocidad reducida). En el modo T1, la velocidad de desplazamiento manual es de 250 mm/s como máximo. El modo de servicio se ajusta por medio del gestor de conexiones. Pulsador de hombre muerto Para poder desplazar en robot se debe accionar un pulsador de hombre muerto. En el smartPAD se encuentran instalados tres pulsadores de hombre muerto. Los pulsadores de hombre muerto tienen tres posiciones: No pulsado Posición intermedia Pulsado a fondo (posición de pánico) Interruptores de final de carrera de software El movimiento del robot, incluso el los movimientos manuales específicos de los ejes, está limitado por los valores máximos positivo y negativo del interruptor de final de carrera de software. Si en la ventana de mensajes aparece "Realizar ajuste", significa que también se pueden traspasar estos límites. En este caso se debe tener en cuenta que el sistema del robot puede sufrir daños. Procedimiento: Realizar movimiento específico del eje 1. Como alternativa a las teclas de desplazamientos, seleccionar Ejes. 2. Ajustar el override manual. 22 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 3. Pulsar y mantener pulsado el interruptor de confirmación en la posición intermedia. Junto a las teclas de desplazamiento se muestran los ejes A1 a A6. 4. Pulsar la tecla de desplazamiento positiva o negativa para mover un eje en dirección positiva o negativa. Mover el robot sin el control en casos de emergencia Fig. 2-4: Dispositivo de liberación Descripción El dispositivo de liberación permite mover el robot mecánicamente en caso de accidente o avería. El dispositivo de liberación puede utilizarse para los motores de accionamiento de los ejes principales, y en algunos casos dependiendo de la variante del robot, también para los accionamientos de la muñeca. Sólo se debe utilizar en situaciones excepcionales y casos de emergencia como, p. ej., para liberar personas. Si se utiliza un dispositivo de liberación, luego se deben cambiar los motores afectados. Advertencia Durante el servicio, los motores alcanzan temperaturas que pueden causar quemaduras a la piel. Debe evitarse cualquier contacto. Deben aplicarse medidas de protección adecuadas como, p. ej., llevar guantes. Procedimiento Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 23 / 181 Programación de robots 1 1. Desconectar la unidad de control del robot y asegurarla contra una reconexión indebida (p. ej., con un candado). 2. Quitar la tapa protectora en el motor. 3. Posicionar el dispositivo de liberación en el motor correspondiente y mover el eje en la dirección deseada. Opcionalmente se puede adquirir una identificación de las direcciones sobre los motores por medio de flechas. Para ello debe vencerse la resistencia mecánica del freno del motor y, si es necesario, también las posibles cargas sobre los ejes. Fig. 2-5: Procedimiento con el dispositivo de liberación Pos. Descripción 1 Motor A2 con tapa cerrada 2 Abrir la tapa protectora del motor A2. 3 Motor A2 con tapa retirada 4 Colocar el dispositivo de liberación sobre el motor A2 5 Dispositivo de liberación 6 Placa (opcional) con descripción de la dirección de giro ¡Advertencia! Al desplazar un eje con la unidad de liberación, el freno del motor puede sufrir daños. Pueden producirse daños personales y materiales. Después de utilizar el dispositivo de liberación, el motor afectado debe ser recambiado. Informaciones adicionales se encuentran en el manual de servicio y de montaje del robot. 24 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2.4 Sistemas de coordenadas en relación con los robots A la hora de programar, poner en servicio y operar con robots industriales, los sistemas de coordenadas juegan un papel importante. En la unidad de control del robot se encuentran definidos los siguientes sistemas de coordenadas: WORLD | Sistema de coordenadas universales ROBROOT | Sistema de coordenadas en el pie del robot BASE | Sistema de coordenadas de base FLANGE | Sistema de coordenadas de brida TOOL | Sistema de coordenadas de herramienta Fig. 2-6: Sistemas de coordenadas en el robot KUKA Name Localidad Uso Particularidad WORLD A definir libremente Origen de ROBROOT y BASE En la mayoría de los casos se encuentra en el pie del robot. ROBROO T Fijo en el pie del robot Origen del robot Describe la posición del robot con relación a WORLD. BASE A definir libremente Pieza, dispositivos Describe la posición de la base con relación a WORLD. FLANGE Fijo en la brida del robot Origen de TOOL El origen se encuentra en el centro de la brida del robot. TOOL A definir libremente Herramientas El origen del sistema de coordenadas TOOL recibe el nombre de "TCP". (TCP = Tool Center Point) Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 25 / 181 Programación de robots 1 2.5 Mover el robot en el sistema de coordenadas universales Movimiento del sistema de coordenadas universales Fig. 2-7: Principio del proceso manual del sistema de coordenadas de herramienta La herramienta del robot puede moverse de acuerdo con las direcciones del sistema de coordenadas universales. Todos los ejes del robot se mueven. Para ello se utilizan las teclas de desplazamiento o el Space Mouse del KUKA smartPAD. En el ajuste estándar el sistema de coordenadas universales descansa sobre el pie del robot (Robroot). La velocidad puede cambiarse (override manual: HOV) Los procesos manuales sólo se pueden efectuar en el modo de servicio T1. Debe estar pulsado el interruptor de confirmación. Space Mouse Principio del proceso manual en el sistema de coordenadas universales 26 / 181 El Space Mouse permite mover de forma intuitiva el robot y resulta la elección ideal para los procesos manuales en el sistema de coordenadas universales. La posición del puntero y el grado de libertad se pueden cambiar. Un robot se puede mover de dos maneras distintas en un sistema de coordenadas: Traslatoria (rectilínea) a lo largo de la dirección de orientación del sistema de coordenadas: X, Y, Z Rotacional (giratoria / viratoria) en la dirección de orientación del sistema de coordenadas: ángulos A, B y C. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot Fig. 2-8: Sistema de coordenadas cartesiano En un instrucción de avance (por ejemplo, al pulsar una tecla de desplazamiento) el control primero calcula un recorrido. El punto de inicio del recorrido es el punto de referencia de la herramienta (TCP). La dirección del recorrido lo fija el sistema de coordenadas universales. El control entonces regula todos los ejes de modo que la herramienta se conduce por este recorrido (traslación) o se gira (rotación) en este recorrido. Ventajas de usar el sistema de coordenadas universales: El movimiento del robot siempre es predecible. Los movimientos siempre son unívocos ya que el origen y la dirección de las coordenadas siempre se conocen de antemano. El sistema de coordenadas de la herramienta siempre se puede utilizar con el robot ajustado. El Space Mouse permite un manejo intuitivo del equipo. Uso de Space-Mouse Todos los tipos de movimiento se pueden realizar con el Space Mouse: Translatorio: pulsando y arrastrando el Space Mouse Fig. 2-9: Ejemplo: Movimiento a la izquierda Rotacional: girando y virando el Space Mouse Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 27 / 181 Programación de robots 1 Fig. 2-10: Ejemplo: Movimiento rotacional en Z: Ángulo A En función de la posición hombre-robot, se puede adaptar la posición del Space Mouse. Fig. 2-11: Space Mouse: 0° y 270° Ejecutar un movimiento translatorio (Mundo) 28 / 181 1. Ajustar la posición KCP desplazando el regulador (1) Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2. Como alternativa al Space Mouse, seleccionar Mundo. 3. Ajustar el override manual. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 29 / 181 Programación de robots 1 4. Pulsar y mantener pulsado el interruptor de confirmación en la posición intermedia. 5. Con el Space Mouse mover el robot en la dirección correspondiente. 6. Como alternativa también se pueden utilizar las teclas de desplazamiento: 30 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2.6 Mover el robot en el sistema de coordenadas de herramienta Movimientos manuales en el sistema de coordenadas de herramienta Fig. 2-12: Sistema de coordenadas de herramienta de robot En los movimientos manuales dentro del sistema de coordenadas de herramienta, es posible desplazar el robot en las direcciones de las coordenadas de una herramienta previamente medida. Por lo tanto, el sistema de coordenadas no es fijo (comp. sistema de coordenadas universales/base), sino que lo dirige el propio robot. Todos los ejes del robot necesarios se mueven. El mismo sistema decide los ejes que deben moverse dependiendo del movimiento. El origen del sistema de coordenadas de herramienta se denomina TCP y se corresponde con el punto de trabajo de la herramienta. Para ello se utilizan las teclas de desplazamiento o el Space Mouse del KUKA smartPAD. Hay disponibles 16 sistemas de coordenadas de herramienta distintos. La velocidad puede cambiarse (override manual: HOV) Los procesos manuales sólo se pueden efectuar en el modo de servicio T1. Debe estar pulsado el interruptor de confirmación. En los procesos manuales, los sistemas de coordenadas herramienta sin medir coinciden con el sistema de coordenadas de brida. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 31 / 181 Programación de robots 1 Principio del proceso manual de herramienta Fig. 2-13: Sistema de coordenadas cartesiano Un robot se puede mover de dos maneras distintas en un sistema de coordenadas: Traslatoria (rectilínea) a lo largo de la dirección de orientación del sistema de coordenadas: X, Y, Z Rotacional (giratoria / viratoria) en la dirección de orientación del sistema de coordenadas: ángulos A, B y C. Ventajas de usar el sistema de coordenadas de herramienta: El movimiento del robot siempre es predecible mientras se conozca el sistema de coordenadas de herramienta. Cabe la posibilidad de desplazar en la dirección de avance de la herramienta o de orientarse con relación al TCP. Por dirección de avance de la herramienta se entiende la dirección de trabajo y proceso de la herramienta: la dirección de salida del pegamento en una boquilla, la dirección de agarre de las garras de un componente, etc. Procedimiento 32 / 181 1. Seleccionar herramienta como el sistema de coordenadas a utilizar. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2. Seleccionar número de herramienta . 3. Ajustar el override manual. 4. Pulsar y mantener pulsado el interruptor de confirmación en la posición intermedia. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 33 / 181 Programación de robots 1 5. Mover el robot con las teclas de desplazamiento. 6. Alternativa: Con el Space Mouse mover el robot en la dirección correspondiente. 34 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2.7 Mover el robot en el sistema de coordenadas de base Movimiento en el sistema de coordenadas de base Fig. 2-14: Procesos manuales en el sistema de coordenadas de base Descripción de base La herramienta del robot puede moverse de acuerdo con las direcciones del sistema de coordenadas de base. Los sistemas de coordenadas de base se pueden estar medidas individualmente y a menudo están orientadas a los largo de los cantos de la pieza, los alojamientos de la pieza o los palets. Por ello los procesos manuales son muy cómodos. Todos los ejes del robot necesarios se mueven. El mismo sistema decide los ejes que deben moverse dependiendo del movimiento. Para ello se utilizan las teclas de desplazamiento o el Space Mouse del KUKA smartPAD. Hay 32 sistemas de coordenadas de base disponibles. La velocidad puede cambiarse (override manual: HOV) Los procesos manuales sólo se pueden efectuar en el modo de servicio T1. Debe estar pulsado el interruptor de confirmación. Principio del proceso manual de base Fig. 2-15: Sistema de coordenadas cartesiano Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 35 / 181 Programación de robots 1 Un robot se puede mover de dos maneras distintas en un sistema de coordenadas: Traslatoria (rectilínea) a lo largo de la dirección de orientación del sistema de coordenadas: X, Y, Z Rotacional (giratoria / viratoria) en la dirección de orientación del sistema de coordenadas: ángulos A, B y C. En un instrucción de avance (por ejemplo, al pulsar una tecla de desplazamiento) el control primero calcula un recorrido. El punto de inicio del recorrido es el punto de referencia de la herramienta (TCP). La dirección del recorrido lo fija el sistema de coordenadas universales. El control entonces regula todos los ejes de modo que la herramienta se conduce por este recorrido (traslación) o se gira (rotación) en este recorrido. Ventajas de usar el sistema de coordenadas de base: El movimiento del robot siempre es predecible mientras se conozca el sistema de coordenadas de base. En este caso el Space Mouse también permite un manejo intuitivo del equipo. Como requisito es necesario que el operador esté colocado correctamente con respecto al robot o al sistema de coordenadas de base. Si, además, se ajusta sistema de coordenadas de herramienta correcto, en el sistema de coordenadas de base se puede reorientar con relación al TCP. Procedimiento 36 / 181 1. Como alternativa a las teclas de desplazamientos, seleccionar Base. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot 2. Seleccionar herramienta y base 3. Ajustar el override manual. 4. Pulsar y mantener pulsado el interruptor de confirmación en la posición intermedia. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 37 / 181 Programación de robots 1 5. Con las teclas de desplazamiento o el Space Mouse desplazar en la dirección deseada. 6. Otra alternativa consiste en desplazar con el Space Mouse. Reacciones de detención 38 / 181 El robot industrial tiene reacciones de parada debido a operaciones realizadas o como reacción ante controles y mensajes de error. Las siguientes tablas muestran las reacciones de parada en función del modo de servicio seleccionado. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot Término Descripción Parada de servicio segura La parada de servicio segura es un control de parada. No detiene el movimiento del robot, sino que controla si los ejes todavía están verticales. Si se mueven durante la parada de servicio segura, activa una parada de seguridad STOP 0. La parada de servicio segura también se puede accionar desde el exterior. Cuando se acciona una parada de servicio segura, la unidad de control del robot establece una salida para el bus de campo. Esta salida también se establece si en el momento en el que se acciona la parada de servicio segura no todos los ejes están parados y, por tanto, se activa una parada de seguridad STOP 0. Parada de seguridad STOP 0 Una parada que se acciona y ejecuta desde el control de seguridad. El control de seguridad desconecta de inmediato los accionamientos y la alimentación de tensión de los frenos. Indicación: en la presente documentación esta parada recibe el nombre de parada de seguridad 0. Parada de seguridad STOP 1 Una parada que se acciona y controla desde el control de seguridad. El procedimiento de frenado se ejecuta desde un componente de la unidad de control del robot no destinada a seguridad y lo controla el control de seguridad. En el momento en que el manipulador para, el control de seguridad desconecta los accionamientos y la alimentación de tensión de los frenos. Cuando se acciona una parada de seguridad STOP 1, la unidad de control del robot establece una salida para el bus de campo. La parada de seguridad STOP 1 también se puede accionar desde el exterior. Indicación: en la presente documentación esta parada recibe el nombre de parada de seguridad 1. Parada de seguridad STOP 2 Una parada que se acciona y controla desde el control de seguridad. El procedimiento de frenado se ejecuta desde un componente de la unidad de control del robot no destinada a seguridad y lo controla el control de seguridad. Los accionamientos quedan conectados y los frenos abiertos. En el momento en el que manipulador para, se activa una parada de servicio segura. Cuando se acciona una parada de seguridad STOP 2, la unidad de control del robot establece una salida para el bus de campo. La parada de seguridad STOP 2 también se puede accionar desde el exterior. Indicación: en la presente documentación esta parada recibe el nombre de parada de seguridad 2. Categoría de detención 0 Los accionamientos se desconectan de inmediato y se activan los frenos. El manipulador y los ejes adicionales (opcional) frenan cerca de la trayectoria. Indicación: esta categoría de frenado recibe el nombre de STOP 0. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 39 / 181 Programación de robots 1 Término Descripción Categoría de detención 1 El manipulador y los ejes adicionales (opcional) frenan sobre la trayectoria. Transcurrido 1 s se desconectan los accionamientos y se activan los frenos. Indicación: esta categoría de frenado recibe el nombre de STOP 1. Categoría de detención 2 Los accionamientos no se desconectan y se activan los frenos. El manipulador y los ejes adicionales (opcional) frenan con una rampa de frenado sobre la trayectoria. Indicación: esta categoría de frenado recibe el nombre de STOP 2. Causa T1, T2 Soltar tecla START STOP 2 STOP 2 Accionamientos DESC. STOP 1 La entrada "Validación de marcha" se desactiva STOP 2 Desconectar la unidad de control del robot (corte de corriente) STOP 0 Error interno en la sección de la unidad de control del robot sin función de seguridad STOP 0 o STOP 1 (depende de la causa del error) Parada de seguridad 2 - Parada de seguridad 1 Soltar el interruptor de parada Parada de seguridad 2 - Pulsar el interruptor de parada o error Parada de seguridad 1 - Abrir la puerta de seguridad (protección del operario) Pulsar PARADA DE EMERGENCIA Parada de seguridad 1 Error en el control de seguridad o en los periféricos del control de seguridad Parada de seguridad 0 Ejercicio: Operación y desplazamiento manual Objetivo del ejercicio 40 / 181 - Pulsar la tecla STOP Cambiar el modo de servicio durante el servicio 2.8 AUT, AUT EXT Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Conectar/desconectar la unidad de control del robot Operación principal del robot con el KCP Desplazamiento manual del robot, específico del eje y en el sistema de coordenadas universal, con las teclas de desplazamiento y el Space Mouse Interpretar y corregir los primeros mensajes de sistema sencillos Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Participación en las instrucciones de seguridad ¡Observación! Antes de comenzar el ejercicio se debe participar en las instrucciones de seguridad con documentación correspondiente. Formulación Conocimientos teóricos de la operación general de un sistema de robot industrial KUKA Conocimientos teóricos del desplazamiento manual específico del eje y del desplazamiento en el sistema de coordenadas universal Ejecutar las siguientes tareas: 1. Conectar el armario de control y esperar hasta terminar la fase de calentamiento 2. Desbloquear y confirmar la parada de emergencia 3. Asegurarse de que esté ajustado el modo de servicio T1 4. Activar el desplazamiento manual específico del eje 5. Desplazar el robot de modo específico del eje con diversos ajustes del override manual (HOV) mediante las teclas de desplazamiento manual y el Space Mouse 6. Observar el campo de desplazamiento de los ejes individuales, tener en cuenta obstáculos existentes, como por ej. mesa o depósito de cubos con herramienta fija (análisis de accesibilidad) 7. Tener en cuenta la ventana de mensajes al alcanzar los interruptores de fin de carrera software 8. Desplazar de modo específico del eje la herramienta (garra) hasta la herramienta de referencia (punta de metal negra) desde varias direcciones 9. Repetir este proceso en el sistema de coordenadas universal 10. Colocar un cubo manualmente sobre la mesa 11. Acercarse al cubo con la garra Para ello, seleccionar el sistema de coordenadas más correcto 12. Cerrar la garra El cubo no debe moverse al cerrar la garra Lo que se debe saber tras el ejercicio: 1. ¿Cómo se pueden confirmar los mensajes? ............................................................ ............................................................ 2. Cuál pictograma representa el sistema de coordenadas universal? a) b) c) d) 3. Cuál es la denominación del ajuste de velocidad para el desplazamiento manual? ............................................................ 4. Cuáles son los modos de servicio? ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 41 / 181 Programación de robots 1 2.9 Procesos manuales con una herramienta fija Ventajas y campos de aplicación Algunos procesos de producción y mecanizado requieren que el robot manipule la pieza y no la herramienta. La ventaja es que el componente no se debe depositar sólo para el mecanizado con lo que se pueden ahorrar dispositivos de seguridad. Este es el caso, por ejemplo, en las situaciones siguientes: Aplicaciones de pegamentos Aplicaciones soldadas etc. Fig. 2-16: Ejemplo de herramienta fija Para poder programar correctamente una aplicación de este tipo se debe medir tanto el TCP externo de la herramienta fija como la pieza. Ejecución modificada del ciclo de movimiento con herramienta fija A pesar de que la herramienta es un objeto fijo (no se mueve), también tiene un punto de referencia con el sistema de coordenadas. Este punto de referencia recibe el nombre de TCP externo. Como se trata de un sistema de coordenadas no móvil, los datos se administran como en un sistema de coordenadas base y, por tanto, se guardan como base. La pieza (móvil) Pieza se vuelve a guardar como Herramienta. Por consiguiente, se puede realizar un desplazamiento a lo largo de los cantos de la pieza con relación al TCP. Debe tenerse en cuenta que en los procesos manuales con herramienta fija, los movimientos con relación al TCP externo. 42 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 2 Mover un robot Procedimiento de los procesos manuales con herramienta fija Fig. 2-17: Selección ext. TCP en el menú de opciones 1. Seleccionar la pieza guiada por el robot en la ventana Seleccionar herramienta. 2. Seleccionar la herramienta fija en la ventana Selección de base. 3. Ajustar la selección del modo IpoIpoMode a herramienta externa. 4. Como alternativa, ajustar Como tipo de desplazamiento, elija "Teclas de desplazamiento" o "Space-Mouse". Ajustar herramienta para desplazar la pieza en el sistema de coordenadas. Ajustar la base para desplazar la herramienta ext. en el sistema de coordenadas. 5. Ajustar el override manual 6. Pulsar y mantener pulsado el interruptor de confirmación en la posición intermedia. 7. Con las teclas de desplazamiento o el Space Mouse desplazar en la dirección deseada. Al seleccionar Herramienta ext. en la ventana opcional Opciones de procesos manuales, el control cambia: ahora todos los movimientos se realizan con relación al TCP externo y no a la herramienta guiada por el robot. 2.10 Ejercicio: Procesos manuales con herramienta fija Objetivo del ejercicio Después de terminar con éxito este ejercicio, Ud. tiene la competencia necesaria para efectuar las siguientes tareas: Condiciones Tarea Desplazamiento manual de una pieza guiada por el robot respecto a una herramienta fija Las siguientes condiciones son necesarias para efectuar este ejercicio con éxito: Conocimientos teóricos de la operación general de un sistema de robot industrial KUKA Conocimientos teóricos de desplazamiento con la herramienta externa 1. Ajustar el sistema de coordenadas herramienta "Placa". 2. Ajustar el sistema de coordenadas de base "Clavija externa". 3. Ajustar en el menú la opciones de procesos manuales en "Herramienta ext.". 4. Mover la placa hacia la clavija externa. 5. Mover y orientar la placa en la clavija externa. Comprobar las diferencias entre herramienta y base. 6. Ajustar en el menú la opciones de procesos manuales en "Brida". 7. Mover y orientar la placa en la clavija externa. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 43 / 181 Programación de robots 1 44 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3 Puesta en servicio del robot 3.1 Principio de ajuste ¿Por qué ajustar? Sólo un robot industrial perfecta y completamente ajustado puede funcionar de manera óptima. Porque sólo entonces ofrece una total precisión en los puntos y la trayectoria y, sobre todo, puede desplazarse con movimientos programados. Durante el ajuste a cada eje del robot se le asigna un valor de referencia. El proceso completo de ajuste incluye el ajuste de cada uno de los ejes. Con un medio auxiliar técnico (EMD = Electronic Mastering Device) se asigna un valor de referencia a cada eje en su posición mecánica cero (por ejemplo, 0°). Como con este proceso se hace coincidir la posición mecánica y eléctrica del eje, cada eje recibe un valor angular unívoco. Para todos los robots la posición de ajuste es similar, pero no idéntica. Las posiciones exactas pueden diferir también entre los distintos robots de un mismo tipo. Fig. 3-1: Posiciones de los cartuchos de ajuste Valores angulares de la posición mecánica cero (= valores de referencia) Eje Generación de robots "Quantec" Otros tipos de robot (por ejemplo, la serie 2000, KR 16, etc.) A1 -20° 0° A2 -120° -90° A3 +120° +90° A4 0° 0° Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 45 / 181 Programación de robots 1 ¿Cuándo se realiza un ajuste? Eje Generación de robots "Quantec" Otros tipos de robot (por ejemplo, la serie 2000, KR 16, etc.) A5 0° 0° A6 0° 0° En principio, un robot siempre debe estar ajustado. Se debe realizar un ajuste en los siguientes casos: En la puesta en servicio. Después de haber efectuado trabajos de mantenimiento en los componentes que influyen sobre el registro de valores de posición (por ejemplo, el motor con resolver o RDC). Cuando se hayan movido los ejes del robot sin el control (por ejemplo, por medio de un dispositivo de liberación). Después de haber efectuado reparaciones o solucionado problemas mecánicos, antes de que se pueda realizar el ajuste primero hay que desajustar el robot: Después de haber cambiado un reductor. Después de una colisión contra un tope final a una velocidad mayor de 250 mm/s. Tras una colisión. Antes de realizar cualquier trabajo de mantenimiento, por lo general resulta útil comprobar el ajuste ac- tual. Advertencias de seguridad para el ajuste En robots sin ajustar, su funcionamiento queda considerablemente limitado: No se puede utilizar el modo de programación: el robot no puede desplazarse a los puntos programados. No puede haber ningún proceso manual: no es posible efectuar movimiento en los sistemas de coordenadas. Los interruptores de final de carrera de software están desactivados. ¡Advertencia! En un robot desajustado, los finales de carrera software se encuentran desactivados. El robot puede desplazarse y chocar contra los amortiguadores de los topes finales, por lo que podrían sufrir daños y tener que cambiarlos. En la medida de lo posible, no mover un robot desajustado o reducir el override manual lo máximo posible. 46 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Realización de un ajuste Fig. 3-2: EMD en acción Se ajusta cuando se determina el punto cero del eje. El eje se mueve hasta que se alcanza el punto cero mecánico. Es el caso cuando el palpador llega al punto más profundo de la entalladura de medición. Por ello cada eje dispone de un cartucho y una marca de ajuste. Fig. 3-3: Ejecución del ajuste EMD 1 EMD (Electronic Mastering Device) 4 Entalladura de medición 2 Cartucho de medición 5 Marca de preajuste 3 Palpador Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 47 / 181 Programación de robots 1 3.2 Ajustar el robot Opciones de ajuste del robot Fig. 3-4: Opciones de ajuste ¿Para qué sirve memorizar el offset? El peso de la herramienta sujeta a la brida ofrece al robot una carga estática. A consecuencia de la elasticidad (en función del material rea) de los componentes y reductores puede haber diferencia en la posición de un robot cargado y otro sin carga. Estas diferencias de escasos incrementos repercuten en la precisión del robot. Fig. 3-5: Memorizar offset La función de "Memorizar offset" se efectúa con carga. Entonces se guarda la diferencia con respecto al ajuste inicial (sin carga). Cuando el robot trabaja con distintas cargas, debe ejecutarse la función de "Memorizar offset" para cada una de las cagas. En garras que recogen piezas pesadas, la función "Memorizar offset" debe ejecutarse para la garra sin pieza y con pieza. 48 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Mastery.logMastery.logArchivo de valores de ajuste offset El offset determinado se guarda en el archivo Mastery.log. El archivo se encuentra en el disco duro, en el directorio C:\KRC\ROBOTER\LOG y contiene los datos de ajuste específicos: Marca de tiempo (Fecha, hora) Eje Número de serie del robot Número de herramienta Valor offset (Encoder Difference) en grados Ejemplo de Mastery.log: Date: 22.03.11 Time: 10:07:10 Axis 1 Serialno.: 863334 Tool Teaching for Tool No 5 (Encoder Difference: -0.001209) Date: 22.03.11 Time: 10:08:44 Axis 2 Serialno.: 863334 Tool Teaching for Tool No 5 Encoder Difference: 0.005954) ... Únicamente un robot ajustado con corrección de carga es capaz de ofrecer el nivel de precisión que se le exige. Por ello, para cada situación de carga se debe memorizar el offset. Como requisito es necesario que ya se haya efectuado la medición geométrica de la herramienta y, por tanto, que ya sea haya asignado un número de herramienta. Procedimiento del ajuste inicial El ajuste inicial sólo se debe realizar cuando el robot no está cargado. No se debe montar ninguna herramienta ni carga adicional. 1. Llevar el robot a la posición de ajuste inicial. Fig. 3-6: Ejemplos de posición de preajuste 2. Seleccionar en el menú principal la secuencia Puesta en servicio > Ajustar > EMD > Con corrección de peso > Ajuste inicial. Se abre una ventana. Se visualizan todos los ejes que se deben ajustar. El eje con el número más bajo está marcado. 3. En los ejes marcados en la ventana, retirar la tapa protectora del cartucho de medición. (Si se le da la vuelta al EMD, puede utilizarse como destornillador). Enroscar el EMD en el cartucho de medición. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 49 / 181 Programación de robots 1 Fig. 3-7: EMD enroscado en el cartucho de medición 4. Colocar el cable de medición en el EMD y conectarlo en el conector X32 de la caja de conexiones del robot. Fig. 3-8: Cable EMD, conectado Atención Enroscar el EMD en el cartucho de medición siempre sin cable de medición. Montar entonces el cable de medición en el EMD. Caso contrario, el cable de medición puede ser dañado. Retirar también siempre el cable de medición del EMD antes de retirar el EMD. Solo entonces se puede retirar el EMD del cartucho de medición. Después del ajuste desmontar el cable de medición del punto de conexión X32. Caso contrario, pueden producirse señales perturbadoras o causarse daños materiales. 5. Pulsar Ajustar. 6. Situar el pulsador de validación en la posición intermedia, pulsar la tecla de arranque y mantenerla pulsada. Fig. 3-9: Tecla de inicio y pulsador de confirmación 50 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Cuando el EMD ha recorrido el punto más bajo de la entalladura de medición, quiere decir que se ha alcanzado la posición de ajuste. El robot se detiene automáticamente. Los valores se guardan. En la ventana, el eje queda oculto. 7. Retirar del EMD el cable de medición. A continuación, retirar el EMD del cartucho de medición y volver a colocar la tapa protectora. 8. Repetir los pasos del 2 al 5 en los ejes que se desean ajustar. 9. Cerrar la ventana. 10. Retirar de la conexión X32 el cable de medición. Procedimiento para memorizar Offset "Offset enseñado" se efectúa con carga. Se guarda la diferencia respecto al ajuste inicial. 1. Colocar el robot en la posición de preajuste. 2. Seleccionar en el menú principal la secuencia Puesta en servicio > Ajustar > EMD > Con corrección de peso > Memorizar offset. 3. Introducir el número de herramienta. Confirmar con Herramienta OK. Se abre una ventana. Se muestran todos los ejes que aún no se han memorizado para la herramienta. El eje con el número más bajo está marcado. 4. En los ejes marcados en la ventana, retirar la tapa protectora del cartucho de medición. Enroscar el EMD en el cartucho de medición. Colocar el cable de medición en el EMD y conectarlo en la conexión X32 de la caja de conexiones situada en la base del robot. 5. Pulsar en Memorizar. 6. Pulsar el pulsador de validación y la tecla de arranque. Cuando el EMD alcanza el punto más bajo de la entalladura de medición, se habrá alcanzado la posición de ajuste. El robot se detiene automáticamente. Se abre una ventana. La diferencia de este eje respecto al ajuste inicial se muestra en incrementos y grados. 7. Confirmar con OK. En la ventana, el eje queda oculto. 8. Retirar del EMD el cable de medición. A continuación, retirar el EMD del cartucho de medición y volver a colocar la tapa protectora. 9. Repetir los pasos del 3 al 7 en los ejes que se desean ajustar. 10. Retirar de la conexión X32 el cable de medición. 11. Abandonar la ventana pulsando en Cerrar. Procedimiento para controlar/ establecer el ajuste de carga con offset El ajuste de carga con offset se realiza con carga. Se calcula el ajuste inicial. 1. Colocar el robot en la posición de ajuste inicial. 2. Seleccionar en el menú principal la secuencia Puesta en servicio > Ajustar > EMD > Con corrección de carga > Ajuste de carga > con offset. 3. Introducir el número de herramienta. Confirmar con Herram. OK. . 4. Extraerle la tapa al conector X32 y conectar el cable de medición. 5. En los ejes marcados en la ventana, retirar la tapa protectora del cartucho de medición. (Si se le da la vuelta al EMD, puede utilizarse como destornillador). 6. Enroscar el EMD en el cartucho de medición 7. Montar el cable de medición en el EMD. Para ello alinear el punto rojo del conector con la ranura del EMD. 8. Pulsar Comprobar. 9. Mantener pulsado el interruptor de validación y pulsar la tecla de arranque. 10. En caso necesario, memorizar los valores con Guardar. Con ello se borran los datos de ajuste antiguos. Para poder restaurar un ajuste inicial perdido, guardar siempre los valores. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 51 / 181 Programación de robots 1 11. Retirar del EMD el cable de medición. A continuación, retirar el EMD del cartucho de medición y volver a colocar la tapa protectora. 12. Repetir los pasos del 4 al 10 en los ejes que se desean ajustar. 13. Cerrar la ventana. 14. Retirar de la conexión X32 el cable de medición. 3.3 Ejercicio: Ajuste de robots Objetivo del ejercicio Requisitos Formulación Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Desplazar a posición de preajuste Selección del tipo de ajuste correcto Uso del "Electronic Mastering Device" (EMD) Ajuste de todos los ejes mediante EMD Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos del desarrollo general de un ajuste Conocimientos teóricos de la posición de preajuste 1 Eje no en posición de preajuste 2 Eje en posición de preajuste Conexión correcta del EMD al robot Ajuste a través del menú de puesta en servicio Ejecutar las siguientes tareas: 1. Desajustar todos los ejes de robot. 2. Desplazar todos los ejes de robot de forma específica del eje a la posición de preajuste. 3. Efectuar en todos los ejes un ajuste de carga con Offset y el EMD. 4. Visualizar la posición actual específica del eje. Lo que se debe saber tras el ejercicio: 1. ¿Por qué se realiza un ajuste? ............................................................. ............................................................. 2. Indicar los ángulos de todos los 6 ejes en la posición mecánica cero. 52 / 181 A1: .............................. A2: .............................. A3: .............................. A4: .............................. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot A5: .............................. A6: .............................. 3. ¿Cuáles son los puntos que deben observarse en caso de un robot desajustado? ............................................................ ............................................................ ............................................................ 4. ¿Qué medio de ajuste se debe utilizar preferentemente? ............................................................ ............................................................ 5. ¿Cuáles son los peligros si se desplaza un robot con el EMD (comparador) conectado? ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 53 / 181 Programación de robots 1 3.4 Cargas sobre el robot Fig. 3-10: Cargas en el robot 3.5 1 Capacidad de carga 3 Carga adicional sobre el eje 2 2 Carga adicional sobre el eje 3 4 Carga adicional sobre el eje 1 Datos de carga la herramienta ¿Qué son los datos de carga de la herramienta? Los datos de carga de la herramienta son todas aquellas cargas montadas sobre la brida del robot. Forman una masa adicional sobre el robot que debe moverse con él. Los valores que deben introducirse son la masa, la posición del centro de gravedad (punto en el que incide la masa) y los momentos de inercia de la masa con los ejes principales de inercia correspondientes. Los datos de carga deben introducirse en la unidad de control del robot y asignarse a la herramienta pertinente. Excepción: Si los datos de carga ya se han transferido a la unidad de control del robot con KUKA.LoadDataDetermination, ya no es necesario introducirlos manualmente. Los datos de carga de la herramienta se pueden consultar en las fuentes siguientes: Efectos de los datos de carga Opción de software KUKA.LoadDetect (sólo para cargas) Datos específicos del fabricante Cálculo manual Programa CAD Los datos de carga introducidos ejercen su influencia sobre numerosos procesos de control. Entre ellos se cuentan, por ejemplo: 54 / 181 Algoritmos de control ((cálculo de la aceleración) Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Monitorización de velocidades y aceleraciones Momento esfuerzo Control contra colisiones Control de energía entre otros muchos Por ello, es de vital importancia que los datos de carga se introduzcan correctamente. Si el robot sigue sus movimientos con los datos de carga correctamente introducidos... Procedimiento se puede aprovechar su alta precisión las secuencias de movimientos se pueden ejecutar con tiempos óptimos. el robot alcanza una larga durabilidad (debido al poco desgaste) 1. En el menú principal, seleccionar Puesta en servicio > Medir > Herramienta > Datos de carga de la herramienta. 2. En el campo Herramienta Nº introducir el número de la herramienta. Confirmar pulsando Continuar. 3. Declarar los datos de carga: Campo M: Masa Campos X, Y, Z: Situación del centro de gravedad relativo a la brida Campos A, B, C: Orientación de los ejes principales de inercia relativos a la brida Campos JX, JY, JZ: Momentos de inercia de la masa (JX es la inercia alrededor del eje X del sistema de coordenadas que está torcido por A, B y C en relación a la brida. De forma análoga, JY y JZ son las inercias alrededor de los ejes Y y Z). 4. Confirmar pulsando Continuar. 5. Pulsar Guardar. 3.6 Datos de carga adicional en el robot Datos de carga adicional en el robot Las cargas adicionales son componentes instalados adicionalmente en la base, el brazo de oscilación o el brazo. Por ejemplo: Alimentación de energía Válvulas Alimentación de materia Provisión de material Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 55 / 181 Programación de robots 1 Fig. 3-11: Datos de carga adicional en el robot Los datos de carga adicionales se deben introducir en la unidad de control del robot. Entre otros, es necesario indicar los datos siguientes: Masa (m) en kg Distancia del centro de gravedad de la masa al sistema de referencia (X, Y y Z) en mm. Orientación de los ejes de inercia principales al sistema de referencia (A, B y C) en grados (°). Momentos de inercia de la masa alrededor de los ejes de inercia (Jx, Jy y Jz) en kgm². Sistemas de referencia para los valores X, Y y Z por cada carga adicional: Carga Sistema de referencia Carga adicional A1 Sistema de coordenadas ROBROOT A1 = 0° Carga adic. A2 Sistema de coordenadas ROBROOT A2 = -90° Carga adic. A3 Sistema de coordenadas FLANGE A4 = 0°, A5 = 0°, A6 = 0° Los datos de carga se pueden consultar en las fuentes siguientes: Influencia de las cargas adicionales sobre el movimiento del robot 56 / 181 Datos específicos del fabricante Cálculo manual Programa CAD Los datos que carga influyen sobre el movimiento del robot de las formas más diversas: Proyecto de trayectoria Aceleraciones Duración del ciclo Desgaste Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Si un robot se hace funcionar con unos datos de carga erróneos o incorrectos, existe peligro de muerte, de lesiones o de que se produzcan daños materiales considerables. Procedimiento 1. En el menú principal, seleccionar Puesta en servicio > Medir > Datos de carga adicional. 2. Indicar el número del eje sobre el cual va montada la carga adicional. Confirmar pulsando Continuar. 3. Declarar los datos de carga. Confirmar pulsando Continuar. 4. Pulsar Guardar. 3.7 Medición de una herramienta Descripción Medir una herramienta significa que se genera un sistema de coordenadas que tiene su origen en el punto de referencia de una herramienta. Este punto de referencia recibe el nombre de TCP (Tool Center Point), mientras que el sistema de coordenadas es el sistema de coordenadas de herramienta. La medición de la herramienta contiene entonces la medición de: el TCP (origen del sistema de coordenadas) la orientación del sistema de coordenadas Se pueden guardar como máximo 16 sistemas de coordenadas de herramienta. (Variable: TOOL_DATA[1…16]). Durante la medición se guarda la distancia entre el origen del sistema de coordenadas de herramienta (en X, Y y Z) y el sistema de coordenadas de brida, además del giro entre sí (ángulo A, B y C). Fig. 3-12: Principio de la medición TCP Ventajas Cuando una herramienta ha sido medida con exactitud, el personal de operación y de programación cuenta con las ventajas siguientes: Procesos manuales perfeccionados Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 57 / 181 Programación de robots 1 Se puede efectuar la orientación con relación al TCP (por ejemplo, punta de la herramienta). Fig. 3-13: Reorientación alrededor del TCP Desplazamiento en dirección de avance de la herramienta Fig. 3-14: Dirección avance TCP Uso en la programación de movimientos 58 / 181 La velocidad programada se mantiene en el TCP a lo largo de toda la trayectoria. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Fig. 3-15: Servicio de programa con TCP Además, también se puede efectuar una orientación definida a lo largo de la trayectoria. Fig. 3-16: Ejemplos de herramientas medidas Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 59 / 181 Programación de robots 1 Opciones de medición de la herramienta La medición de la herramienta consta de 2 pasos: Paso Descripción Definir el origen del sistema de coordenadas TOOL Se puede elegir entre los siguientes métodos: 1 Punto XYZ-4 Referencia XYZ Definir la orientación del sistema de coordenadas TOOL Se puede elegir entre los siguientes métodos: 2 Alternativa: Medición TCP, método XYZ 4 puntos ABC World Punto ABC-2 Entrada directa de valores para la distancia al sistema de coordenadas de brida (X, Y, Z) y del giro (A, B, C). Entrada numérica Con el TCP de la herramienta que se desea medir debe desplazarse el robot a un punto de referencia desde 4 direcciones diferentes. El punto de referencia puede ser cualquiera. La unidad de control del robot calcula el TCP a partir de las distintas posiciones de la brida. Las 4 posiciones de la brida con las cuales el robot se desplaza al punto de referencia deben estar suficientemente separadas y no encontrarse en un mismo plano. Procedimiento del método XYZ de 4 puntos: 1. En el menú principal, seleccionar Puesta en servicio > Medir > Herramienta > XYZ 4 puntos. 2. Indicar un número y un nombre para la herramienta que se quiere medir. Confirmar pulsando Continuar. 3. Acercar un punto de referencia con el TCP. Pulsar la tecla de función programable Medir y confirmar el diálogo "¿Aceptar la posición actual?" "Se reanuda la medición" pulsando Sí. 4. Con el TCP desplazarse al punto de referencia desde otra dirección. Pulsar de nuevo la tecla Medir y confirmar el diálogo pulsando Sí. 60 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Fig. 3-17: Método XYZ 4-Puntos 5. Repetir dos veces el paso 4. 6. Se abre la ventana para introducir los datos de carga. Introducir correctamente los datos de carga y confirmar con Continuar. 7. Se abre una ventana con los valores X, Y y Z determinados para el TCP y la precisión de medición se puede leer debajo de Errores. Los datos se pueden guardar directamente pulsando Guardar. Medición TCP con método de referencia XYZ En el método de referencia XYZ, la medición de una nueva herramienta se efectúa con una herramienta ya medida. La unidad de control del robot compara las posiciones de la brida y calcula el TCP de la nueva herramienta. Fig. 3-18 Procedimiento 1. Requisito para este procedimiento es que la herramienta ya medida debe estar montada en la brida de acople y que ya se conocen los datos del TCP. 2. Seleccionar en el menú principal la secuencia Puesta en servicio > Medir > Herramienta > Referencia XYZ. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 61 / 181 Programación de robots 1 3. Asignar un número y un nombre para la nueva herramienta. Confirmar pulsando Continuar. 4. Introducir los datos del TCP de la herramienta ya medida. Confirmar pulsando Continuar. 5. Acercar un punto de referencia con el TCP. Pulsar en Medir. Confirmar pulsando Continuar. 6. Liberar la herramienta y desmontarla. Montar la nueva herramienta. 7. Acercar el punto de referencia con el TCP de la nueva herramienta. Pulsar en Medir. Confirmar pulsando Continuar. 8. Pulsar Guardar. Los datos se guardan y la ventana se cierra. O pulsar Datos de carga. Los datos se guardan y se abre una ventana en la que se pueden introducir los datos de carga. Medición de la orientación, método ABCWorld Los ejes del sistema de coordenadas de herramienta se alinean de forma paralela a los ejes del sistema de coordenadas de herramienta. De este modo, la unidad de control del robot conoce la orientación del sistema de coordenadas de herramienta. Este método tiene 2 variantes: 5D: A la unidad de control sólo se le declara la dirección de trabajo de la herramienta. Por defecto, la dirección de avance es el eje X. La dirección de los demás ejes la determina el sistema, y en general no puede ser reconocida fácilmente por el usuario. Casos de aplicación: por ej. Soldadura MIG/MAG, Laser o corte por chorro de agua 6D: A la unidad de control del robot se le comunican las direcciones de los 3 ejes. Casos de aplicación: por ej. pinzas de soldadura, garras o boquillas de aplicación de pegamentos Fig. 3-19: Método ABC World 62 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Procedimiento del método ABC-World 1. Seleccionar en el menú principal la secuencia Puesta en servicio > Medición > Herramienta > ABC-World. 2. Introducir el número de herramienta. Confirmar pulsando Continuar. 3. En el campo 5D/6D seleccionar una variante. Confirmar pulsando Continuar. 4. Si se ha seleccionado 5D: Alinear +XTOOL de forma paralela a -ZWORLD (+XTOOL = dirección de avance) 5. Si se ha seleccionado 6D: Alinear +XTOOL de forma paralela a -ZWORLD (+XTOOL = dirección de avance) Alinear +YTOOL de forma paralela a +YWORLD (+XTOOL = dirección de avance) Alinear +ZTOOL de forma paralela a -XWORLD (+XTOOL = dirección de avance) 6. Confirmar con Medir. Confirmar el mensaje "¿Aceptar la posición actual? "Se reanuda la medición" pulsando Sí. 7. Se abre otra ventana. Aquí se deben introducir los datos de carga. 8. Concluir el proceso con Continuar y Guardar. 9. Cerrar el menú Medición de la orientación, método ABC 2 puntos A la unidad de control del robot se le comunican los ejes del sistema de coordenadas de herramienta desplazando el robot a un punto del eje X y un punto en el plano XY. Este método se utiliza cuando las direcciones de los ejes deben establecerse con la mayor exactitud posible. El siguiente procedimiento es válido cuando la dirección de impacto de la herramienta es la dirección de impacto por defecto (= dirección X). Si la dirección de impacto se cambia a Y o Z, el procedimiento también debe cambiarse. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 63 / 181 Programación de robots 1 Fig. 3-20: Método ABC 2-Puntos 1. Una condición es que el TCP ya se haya medido con un método XYZ. 2. Seleccionar en el menú principal la secuencia Puesta en servicio > Medir > Herramienta > ABC 2 puntos. 3. Indicar el número de la herramienta montada. Confirmar pulsando Continuar. 4. Con el TCP desplazarse a un punto de referencia cualquiera. Pulsar en Medir. Confirmar pulsando Continuar. 5. Desplazar la herramienta de tal modo que el punto de referencia sobre el eje X se encuentre sobre un punto de valor X negativo (es decir, en contra de la dirección de trabajo). Pulsar en Medir. Confirmar pulsando Continuar. 6. Desplazar la herramienta de modo tal que el punto de referencia sobre el plano XY se encuentre sobre un valor Y positivo. Pulsar en Medir. Confirmar pulsando Continuar. 7. O bien pulsar Guardar. Los datos se guardan y la ventana se cierra. O pulsar Datos de carga. Los datos se guardan y se abre una ventana en la que se pueden introducir los datos de carga. 64 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Advertencias de seguridad de las garras en el modo de formación Fig. 3-21: Peligro de contusiones en la garra de formación ¡Advertencia! Al utilizar el sistema de garras existe riesgo de aplastamiento y corte. Aquellos que manejen las garras deben asegurarse de que no puedan quedar atrapados. A la hora de sujetar los componentes (cubo, clavija) puede procederse con el máximo cuidado. Fig. 3-22: Amarrar objetes en la garra de formación Pos. Observación 1 Sujeción del dado 2 Dado sujeto Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 65 / 181 Programación de robots 1 Pos. Observación 3 Sujeción de una clavija 4 Clavija sujeta En caso de colisión se explica el seguro contra colisiones. Al activarse el seguro contra colisiones el robot se puede mover libremente. Un operario pulsa el interruptor (1) y retira cualquier tipo de parte del cuerpo del seguro contra colisiones y de la garra. Un segundo operario se asegura de que, antes de mover libremente el robot, no pueda haber ninguna persona en peligro por el movimiento del robot. Fig. 3-23: Interruptor para la liberación del seguro contra colisiones 3.8 Ejercicio: Medición de herramienta clavija Objetivo del ejercicio Requisitos 66 / 181 Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Medición de una herramienta con el método XYZ-4-puntos y el método ABC-World Activar la herramienta medida Desplazamiento en el sistema de coordenadas de la herramienta Desplazamiento en dirección de avance de la herramienta Reorientación de la herramienta alrededor del Tool Center Point (TCP) Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos de los métodos diversos de medición del punto de trabajo de la herramienta, especialmente el método XYZ-4-puntos Conocimientos teóricos de los métodos diversos de medición de la orientación de la herramienta, especialmente el método ABC-World Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Conocimientos teóricos de los datos de carga de robot y la entrada correspondiente Formulación 1 Carga 3 Carga adicional sobre el eje 2 2 Carga adicional sobre el eje 3 4 Carga adicional sobre el eje 1 Ejecutar las siguientes tareas: Medición clavija 1. Medir el TCP de la clavija mediante el método XYZ-4-puntos. Utilizar como punta de referencia la punta de metal negra. Sacar la clavija superior del depósito de clavijas y sujetarla en la garra. Utilizar el número de herramienta 2 y indique la denominación Clavija1. La tolerancia no debe ser mayor que 0,95 mm. 2. Asegurar los datos de herramienta 3. Efectuar la medición de la reorientación mediante el método ABC-World5D. 4. Introducir los datos de carga. Datos de carga para la garra con clavija como herramienta n.º 2: Masa: M = 7,32 kg Centro de masa: X = 21 mm Y = 21 mm Z = 23 mm B = 0° C = 0° JY = 0,2 kgm2 JZ = 0,3 kgm2 Orientación: A = 0° Momentos de inercia: JX = 0 kgm2 5. Guardar los datos de herramienta y comprobar el desplazamiento con la clavija en el sistema de coordenadas de herramienta Lo que se debe saber tras el ejercicio: 1. Porqué se debe medir una herramienta guiada por el robot? Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 67 / 181 Programación de robots 1 ............................................................. ............................................................. ............................................................. 2. Cuáles puntos se determinan con el método XYZ 4-Puntos? ............................................................. ............................................................. 3. Cuáles son los métodos de la medición de la herramienta? ............................................................. ............................................................. ............................................................. ............................................................. 68 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3.9 Ejercicio: Medición de herramienta garra, método de 2 puntos Objetivo del ejercicio Requisitos Formulación Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Medición de una herramienta con ayuda del método XYZ de 4 puntos y el método ABC de 2 puntos Activar la herramienta medida Desplazamiento en el sistema de coordenadas de la herramienta Desplazamiento en dirección de avance de la herramienta Reorientación de la herramienta alrededor del Tool Center Point (TCP) Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos de los métodos diversos de medición del punto de trabajo de la herramienta, especialmente el método de 2 puntos Conocimientos teóricos de los datos de carga de robot y la entrada correspondiente Ejecutar las siguientes tareas: Medición garra en número... 1. Medir el TCP de la garra con ayuda del método XYZ de 4 puntos como se indica en la figura: 2. Medir la orientación del sistema de coordenadas de garra con ayuda del método ABC de 2 puntos. 3. Introducir los datos de carga. Datos de carga para la garra: Masa: M = 6,68 kg Centro de masa: X = 23 mm Y = 11 mm Z = 41 mm B = 0° C = 0° JY = 0,4 kgm2 JZ = 0,46 kgm2 Orientación: A = 0° Momentos de inercia: JX = 0 kgm2 4. Guardar los datos de herramienta y comprobar el proceso manual con la garra en el sistema de coordenadas de herramienta. De forma alternativa, la garra también se puede medir con una entrada numérica: X Y Z A B C 132,05 mm 171,30 mm 173,00 mm 45° 0° 180° Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 69 / 181 Programación de robots 1 Fig. 3-24: College garra: Posición del TCP Lo que se debe saber tras el ejercicio: 1. Cuál pictograma representa el sistema de coordenadas de la herramienta? a) b) c) d) 2. Cuántos herramientas máx. puede administrar la unidad de control? ............................................................. 3. Qué significa el valor -1 en los datos de carga de herramienta? ............................................................. ............................................................. 70 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3.10 Medición de una base Descripción Una base Medir significa la creación de un sistema de coordenadas en un determinado punto del entorno del robot a partir del sistema universal de coordenadas. El objetivo consiste en aplicar los movimientos y las posiciones programadas del robot a este sistema de coordenadas. Los cantos definidos de los alojamientos de la piezas, las superficies, los cantos exteriores de los palets o de la máquina son puntos de referencia muy útiles para el sistema de coordenadas base. La medición de una base se realiza en dos pasos: 1. Determinación del origen de las coordenadas 2. Definición de la dirección de las coordenadas Fig. 3-25: Medición de base Ventajas Una vez medida con éxito una base, se dispone de las siguientes ventajas: Desplazamiento a lo largo de los cantos de la pieza: El TCP puede moverse de forma manual a lo largo de los cantos de la superficie de trabajo o de la pieza. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 71 / 181 Programación de robots 1 Fig. 3-26: Ventaja de la medición de la base: Dirección de desplazamiento Sistema de coordenadas de referencia: Los puntos aprendidos hacen referencia al sistema de coordenadas seleccionado. Fig. 3-27: Ventaja de la medición de la base: Referencia al sistema de coordenadas deseado Corrección / corrimiento del sistema de coordenadas: Puntos pueden ser programados por aprendizaje en relación a la base. Si la Base debe ser desplazada, por ej. si la superficie de trabajo fue desplazada, se desplazan también los puntos y no tienen que ser programados nuevamente. 72 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Fig. 3-28: Ventaja de la medición de la base: Corrimiento del sistema de coordenadas de base Utilización de varios sistemas de coordenadas de base: Se pueden generar hasta 32 sistemas de coordenadas diferentes y utilizarlos de acuerdo con la ejecución del programa. Fig. 3-29: Ventaja de la medición de la base: Utilización de varios sistemas de coordenadas de base Opciones de la medición de base Para la medición de base se dispone de los métodos siguientes: Métodos Método de los 3 puntos Método indirecto Entrada numérica Descripción 1. Definición del origen 2. Definición de la dirección X positiva 3. Definición de la dirección Y positiva (plano XY) El método indirecto se utiliza cuando no es posible llegar con el robot al origen de la base, por ej. porque se encuentra en el interior de una pieza o fuera del campo de trabajo del robot. Debe efectuarse el desplazamiento a 4 puntos de la base, cuyas coordenadas deben conocerse (datos CAD). La unidad de control del robot calcula la base utilizando estos puntos. Entrada directa de valores para la distancia al sistema de coordenadas universales (X, Y, Z) y del giro (A, B, C). Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 73 / 181 Programación de robots 1 Para más información sobre la medición indirecta, consultar las instrucciones de operación y programación del KUKA System Software 8. Procedimiento del método de 3 puntos La medición de base solo puede realizarse con una herramienta previamente medida (el TCP se debe conocer). 1. En el menú principal, seleccionar Puesta en servicio > Medir > Base > 3 puntos. 2. Indicar un número y un nombre para la nueva base. Confirmar pulsando Continuar. 3. Introducir el número de herramienta cuyo TCP se utilice para medir la base. Confirmar pulsando Continuar. 4. Con el TCP mover el robot a la nueva base. Pulsar la tecla Medir y confirmar la posición pulsando Sí. Fig. 3-30: Primer punto: Origen 5. Con el TCP desplazar el robot a un punto del eje X positivo de la nueva base. Pulsar Medir y confirmar la posición pulsando Sí. Fig. 3-31: Segundo punto: dirección X 6. Con el TCP desplazar el robot a un punto del plano XY con valor Y positivo Pulsar Medir y confirmar la posición pulsando Sí. 74 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Fig. 3-32: Tercer punto: plano XY 7. Pulsar Guardar. 8. Cerrar el menú Los tres puntos de medición deben estar alineados. Debe existir un mínimo de ángulo entre los puntos (ajustes estándar 2,5°). 3.11 Consulta de la posición actual del robot Opciones de visualización de posiciones de robot La posición actual del robot se puede mostrar de dos formas distintas: Específica del eje: Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 75 / 181 Programación de robots 1 Fig. 3-33: Posición del robot específica del eje Se muestra el ángulo de cada eje: esto coincide con el valor angular absoluto a partir de la posición de ajuste. Cartesiano: Fig. 3-34: Posición cartesiana Se muestra la posición actual del TCP actual (sistema de coordenadas de herramienta) con relación al sistema de coordenadas de base actualmente seleccionado. Si no hay ningún sistema de coordenadas de herramientas seleccionado, se aplica el sistema de coordenadas de brida. Si no hay ningún sistema de coordenadas de base seleccionado, se aplica el sistema de coordenadas universales. 76 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Posición cartesiana con distintos sistemas de coordenadas de base Si se observa la figura inferior, se aprecia enseguida que el robot ocupa tres veces la misma posición. La indicación de posición, no obstante, muestra valores distintos en cada uno de estos tres casos: Fig. 3-35: Tres posiciones de robot - una posición de robot La posición del sistema de coordenadas de herramienta / TCP se muestra en el sistema de coordenadas base correspondiente: para la base 1 para la base 2 para la base $NULLFRAME: corresponde al sistema de coordenadas del pie del robot (en la mayoría de casos también el sistema de coordenadas universales) Sólo cuando se seleccionan la base y la herramienta correctas, el indicador de la posición real cartesiana muestra los valores esperados. Consultar la posición del robot 3.12 Procedimiento: En el menú, seleccionar Indicador > Posición real. Se visualiza la posición real cartesiana. Pulsar Específico del eje para visualizar la posición real específica del eje. Pulsar Cartesiano para volver a visualizar la posición real cartesiana. Ejercicio: Medición de base en mesa, método de 3 puntos Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Determinación de una base cualquiera Medición de una base Activación de una base medida para un movimiento manual Movimiento en el sistema de coordenadas base Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos de los métodos para la medición de base, especialmente el método de 3 puntos Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 77 / 181 Programación de robots 1 Formulación Ejecutar las siguientes tareas: 1. Medir la base azul sobre la mesa con el método de 3 puntos. Asignar el número de base 1 con la denominación azul. Utilizar la clavija 1 ya medida (número de herramienta 2) como herramienta de medición. 2. Guardar los datos de la base medida. 3. Medir la base roja sobre la mesa con el método de 3 puntos. Asignar el número de base 2 con la denominación roja. Utilizar la clavija 1 ya medida (número de herramienta 2) como herramienta de medición. 4. Guardar los datos de la base medida. 5. Desplazar la herramienta al origen del sistema de coordenadas de base azul y mostrar la posición cartesiana real. X Y Z A B C ............... ............... ............... ............... ............... ............... Fig. 3-36: Medición de base sobre la mesa Lo que se debe saber tras el ejercicio: 1. ¿Porqué se debe medir una base? ............................................................. ............................................................. ............................................................. 2. ¿Qué pictograma representa el sistema de coordenadas base? a) b) c) d) 3. ¿Cuáles son métodos de la medición de base que existen? ............................................................. ............................................................. ............................................................. 4. ¿Cuántos sistemas de base como máximo puede administrar la unidad de control? ............................................................. 5. Describir la medición basada en el método de 3 puntos ............................................................. ............................................................. ............................................................. 78 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3.13 Medición de una herramienta fija Vista general La medición de la herramienta fija consta de 2 pasos: 1. Determinación de la distancia entre el TCP externo de la herramienta fija y el origen del sistema de coordenadas universal. 2. Orientación del sistema de coordenadas en el TCP externo. Fig. 3-37: Medición de la herramienta fija Como muestra la figura (1) (>>> Fig. 3-37 ), el TCP externo se administra referido a $WORLD (o $ROBROOT), es decir, como un sistema de coordenadas de base. Descripción de la medición Para determinar el TCP se necesita una herramienta guiada por robot ya medida. Fig. 3-38: Desplazamiento al TCP externo Para determinar la orientación el sistema de coordenadas de brida se alinea paralelamente al nuevo sistema de coordenadas. Existen 2 variantes: Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 79 / 181 Programación de robots 1 5D: A la unidad de control sólo se le indica la dirección de trabajo de la herramienta fija. Por defecto, la dirección de avance es el eje X. La orientación de los demás ejes la determina el sistema, y en general no puede ser reconocida fácilmente por el usuario. 6D: A la unidad de control se le indican las orientaciones de todos los 3 ejes. Fig. 3-39: Alinear de forma paralela los sistemas de coordenadas Procedimiento 1. En el menú principal, seleccionar Puesta en servicio > Medir > Herramienta fija > Herramienta. 2. Introducir un número y un nombre para la herramienta fija. Confirmar pulsando Continuar. 3. Introducir el número de la herramienta de referencia utilizada. Confirmar pulsando Continuar. 4. En el campo 5D/6D seleccionar una variante. Confirmar pulsando Continuar. 5. Con el TCP de la herramienta ya medida, desplazarse al TCP de la herramienta fija. Pulsar Medición. Confirmar la posición con Sí. 6. Si se ha seleccionado 5D: Alinear +XBASE de forma paralela a - ZFLANGE. (es decir, alinear la brida de acople perpendicular a la dirección de avance de la herramienta fija). Si se ha seleccionado 6D: Alinear la brida de acople de modo tal que sus ejes se encuentren paralelos a los ejes de la herramienta fija: Alinear +XBASE de forma paralela a -ZFLANGE (es decir, alinear la brida de acople perpendicular a la dirección de avance de la herramienta). +YBASE de forma paralela a +YFLANGE +ZBASE de forma paralela a +XFLANGE 7. Pulsar Medición. Confirmar la posición con Sí. 8. Pulsar Guardar. 80 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3.14 Medición de una pieza guiada por robot Sinopsis: Medición directa A continuación sólo se describe el método de medición directo. La mediación indirecta es muy poco frecuente y puede encontrarse su descripción detallada en la documentación Instrucciones de uso y programación del KUKA System Software 8.1. Fig. 3-40: Medición pieza por medición directa Descripción Pieza Medición 2 Medición la pieza A la unidad de control del robot se le comunican el origen y 2 puntos más de la pieza. Estos 3 puntos definen la pieza de forma unívoca. Fig. 3-41 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 81 / 181 Programación de robots 1 Fig. 3-42: Medir la pieza Método directo Procedimiento 1. En el menú principal, seleccionar la secuencia Puesta en servicio > Medir > Herramienta fija > Pieza de trabajo > Medición directa. 2. Indicar un número y un nombre para la pieza. Confirmar pulsando Continuar. 3. Introducir el número de herramienta fija. Confirmar pulsando Continuar. 4. Desplazar el origen del sistema de coordenadas de la pieza al TCP de la herramienta fija. Pulsar Medir y confirmar la posición pulsando Sí. 5. Desplazar a un punto sobre el eje X positivo del sistema de coordenadas de la pieza en el TCP de la herramienta fija. Pulsar Medir y confirmar la posición pulsando Sí. 6. Desplazar a un punto que, en el plano XY del sistema de coordenadas de la pieza tiene un valor Y positivo, en el TCP de la herramienta fija. Pulsar Medir y confirmar la posición pulsando Sí. 7. Introducir los datos de carga de la pieza y confirmar con Continuar. 8. Pulsar Guardar. 3.15 Ejercicio: Medir herramienta externa y pieza guiada por robot Objetivo del ejercicio 82 / 181 Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Medir herramientas fijas Medir piezas móviles Desplazamiento manual con una herramienta externa Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos de los métodos de medición de herramientas fijas Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 83 / 181 Programación de robots 1 Formulación Conocimientos teóricos de la medición de pieza con herramientas fijas, especialmente el método directo Ejecutar las siguientes tareas: Medición boquilla y placa 1. Para medir la herramienta fija debe utilizarse la clavija1 ya medida (número de herramienta 2) como herramienta de referencia. Asignar para la herramienta fija el número de herramienta 10 y la denominación Boquilla Tener en cuenta que en cada medición se deben guardar los datos. 2. Efectuar la medición de la pieza guiada por el robot. Asignar el número de herramienta 12 y el nombre Placa. Introducir los datos de carga. Datos de carga para la garra con placa: Masa: M = 8,54 kg Centro de masa: X = 46 mm Y = 93 mm Z = 5 mm B = 0° C = 0° JY = 0,5 kgm2 JZ = 0,6 kgm2 Orientación: A = 0° Momentos de inercia: JX = 0,3 kgm2 84 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot 3. Al terminar la medición, activar la herramienta externa para el desplazamiento manual. Utilizar correctamente y con sentido el sistema de coordenadas de base y de herramienta y desplace el robot. 4. Desplazar el TCP al origen de coordenadas base de la pieza medida y mostrar visualizar la posición actual de forma cartesiana. Posición actual: X Y Z A B C ............... ............... ............... ............... ............... ............... Lo que se debe saber tras el ejercicio: 1. Cómo se realiza una medición de una base sobre una pieza montada en una brida de robot? ............................................................ ............................................................ ............................................................ 2. Cómo se calcula el TCP de una herramienta externa? ............................................................ ............................................................ ............................................................ 3. Porqué se necesita un TCP externo? ............................................................ ............................................................ ............................................................ 4. Cuáles son los ajustes necesarios para desplazar con un TCP externo en dirección de avance de la herramienta? ............................................................ ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 85 / 181 Programación de robots 1 3.16 Desenchufar el smartPAD Descripción para desenchufar el smartPAD Función para desenchufar el smartPAD El smartPAD puede retirarse aunque esté funcionando la unidad de control del robot. El smartPAD fijado asume el modo de servicio actual de la unidad de control del robot. En todo momento puede enchufarse un smartPAD. Al enchufarlo se debe vigilar que se trate de la misma versión de smartPAD (versión firmware) que la que se extrajo. Transcurridos 30 s después de enchufarlo, la PARADA DE EMERGENCIA y el interruptor de confirmación vuelven a estar en condiciones de funcionamiento. La smartHMI (interfaz de usuario) vuelve a visualizarse automáticamente (no tarda más de 15 s). Si el smartPAD se encuentra desenchufado, la instalación no se puede desconectar por el pulsador de PARADA DE EMERGENCIA del smartPAD. Por consiguiente, la unidad de control del robot debe tener conectada una PARADA DE EMERGENCIA. El usuario debe encargarse de retirar inmediatamente de la instalación el smartPAD conectado y de proteger el personal que está trabajando en el robot industrial fuera de su alcance (incluido el alcance de la vista). De este modo se consigue evitar cualquier confusión entre los dispositivos de PARADA DE EMERGENCIA efectivos y los no efectivos. Si no se respeta esta medida, pueden ocasionarse importantes daños materiales, lesiones graves e incluso la muerte. El usuario que fije un smartPAD a la unidad de control del robot, luego deberá esperar como mínimo 30 s hasta que la PARADA DE EMERGENCIA y el interruptor de confirmación vuelvan a estar en condiciones de funcionamiento. De esta manera se evita, p. ej., que otro usuario se encuentre en una situación de emergencia y la PARADA DE EMERGENCIA no esté activa. Procedimiento para desenchufar un smartPAD 86 / 181 Retirar: 1. Pulsar el botón para retirar del smartPAD. En la smartHMI se visualiza un mensaje y un contador. El contador contabiliza 25 s. Durante este tiempo puede retirarse el smartPAD de la unidad de control del robot. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 3 Puesta en servicio del robot Fig. 3-43: Desacoplar pulsador smartPAD Si se extrae el smartPAD sin que corra el contador, se provoca una PARADA DE EMERGENCIA. La PARADA DE EMERGENCIA sólo puede anularse fijando de nuevo el smartPAD. 2. Abrir las puertas del armario de distribución (V)KR C4. 3. Retirar el smartPAD de la unidad de control del robot. Fig. 3-44: Desenchufar smartPAD 1 Conector enchufado 2 Girar la parte superior negra unos 25° en la dirección de la flecha. 3 Retirar el conector hacia abajo. 4. Cerrar las puertas del armario de distribución (V)KR C4. Si el contador llega hasta el final y no se retira el smartPAD, no pasa nada. El botón para retirar puede pulsarse cuantas veces se quiera para visualizar el contador. Fijar: 1. Asegurarse de que se vuelva a usar la misma variante de smartPAD. 2. Abrir las puertas del armario de distribución (V)KR C4. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 87 / 181 Programación de robots 1 3. Enchufar el conector del smartPAD Prestar atención a la marca del casquillo y conector del smartPAD. Fig. 3-45: Conexión del smartPAD 1 Conector desenchufado (tener en cuenta la marca). 2 Empujar el conector hacia arriba. La parte superior negra gira por sí misma unos 25º al empujar el conector hacia arriba. 3 El conector encaja por sí solo, es decir, que las marcas quedan una encima de la otra. 4. El usuario que fije un smartPAD a la unidad de control del robot, luego deberá esperar como mínimo 30 s hasta que la PARADA DE EMERGENCIA y el interruptor de confirmación vuelvan a estar en condiciones de funcionamiento. De esta manera se evita, p. ej., que otro usuario se encuentre en una situación de emergencia y la PARADA DE EMERGENCIA no esté activa. 5. Cerrar las puertas del armario de distribución (V)KR C4. 88 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 4 Ejecutar los programas del robot 4 Ejecutar los programas del robot 4.1 Realizar el desplazamiento de inicialización Desplazamiento COI El desplazamiento de inicialización de un robot KUKA recibe el nombre de desplazamiento COI. COI significa Coincidencia de pasos. La coincidencia significa "conformidad" y "coincidencia de sucesos temporales o espaciales". El sistema efectúa un desplazamiento COI en los casos siguientes: Selección de programa (ejemplo 1) Reset del programa: restablecer (ejemplo 1) Procesos manuales durante el modo de programación (ejemplo 1) Modificación del programa (ejemplo 2) Selección de paso (ejemplo 3) Fig. 4-1: Ejemplos de motivos para un desplazamiento COI Ejemplos de desplazamientos COI Motivos para un desplazamiento COI 1 Desplazamiento COI a la posición HOME (posición inicial) tras preseleccionar o resetear un programa 2 Desplazamiento COI tras modificar una instrucción de movimiento: Borrar, aprender, etc. punto 3 Desplazamiento COI tras seleccionar paso Un desplazamiento COI es necesario para hacer coincidir la posición actual del robot con las coordenadas del punto actual del programa. Hasta que la posición actual de robot no coincida con una posición programada, no se puede realizar el cálculo de trayectoria. En primer lugar siempre se debe llevar el TCP a la trayectoria. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 89 / 181 Programación de robots 1 Fig. 4-2: Ejemplo de desplazamiento COI 1 4.2 Seleccionar e iniciar programas del robot Seleccionar e iniciar programas de robots 90 / 181 Desplazamiento COI hasta la posición HOME tras preseleccionar o resetear un programa Si se debe ejecuta un programa, hay que seleccionarlo. Los programas de robot se encuentran disponibles en el navegador de la interfaz de usuario. Normalmente los programas de desplazamiento encuentran en carpetas. El programa Cell (programa de administración para el control del robot desde un PLC) está siempre en la carpeta "R1". Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 4 Ejecutar los programas del robot Fig. 4-3: Navegador 1 Navegador: Estructura del directorio/unidad 2 Navegador: Lista de directorios/datos 3 Programa seleccionado 4 Botones para seleccionar un programa Para iniciar un programa se dispone tanto de las teclas de inicio Adelante como Atrás . Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 91 / 181 Programación de robots 1 Fig. 4-4: Direcciones de ejecución de programa: Adelante/atrás Para ejecutar en un programa existen varios modos de ejecución para el movimiento programado del robot: IR El programa se ejecuta de forma continuada hasta finalizar. En el modo de test se debe mantener pulsada la tecla de arranque. MSTEP En el modo de ejecución Motion Step cada instrucción de movimiento se ejecuta individualmente. Al finalizar un movimiento se debe pulsar otra vez "Inicio". ISTEP | Disponible únicamente en el grupo de usuario "Experto" 92 / 181 En el modo Incremental Step, se ejecuta línea a línea (independientemente del contenido de la línea). Después de cada línea se debe volver a accionar la tecla de arranque. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 4 Ejecutar los programas del robot ¿Qué aspecto tiene un programa de robot? Fig. 4-5: Estructura de un programa de robot Visible únicamente para el grupo de usuario "Experto": 1 2 3 Estado del programa "DEF nombre del programa ()" aparece siempre al comenzar un programa "END" describe el final de un programa La línea "INI" contiene la activación de los parámetros estándar necesarios para la correcta ejecución del programa. LA línea "INI" se debe ejecutar siempre en primer lugar. Texto propio del programa con instrucciones de movimiento, instrucciones de espera/lógicas, etc. La instrucción "PTP Home" se utiliza frecuentemente al iniciar y al finalizar un programa, ya que es una posición clara y conocida. Símbolo Color Descripción gris No se encuentra seleccionado ningún programa. amarillo El puntero de paso está sobre la primera línea del programa seleccionado. verde El programa ha sido seleccionado y se encuentra en ejecución. rojo El programa seleccionado y arrancado ha sido detenido. negro El puntero de paso está en el final del programa seleccionado. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 93 / 181 Programación de robots 1 Iniciar el programa Procedimiento para iniciar programas de robots: 1. Seleccionar un programa Fig. 4-6: Selección de programa 2. Ajustar la velocidad del programa (override del programa, POV) Fig. 4-7: Ajuste POV 3. Pulsar interruptor de confirmación Fig. 4-8: Interruptor de confirmación 4. Mantener pulsada la tecla de inicio (+): 94 / 181 Se procesa la línea "INI". El robot ejecuta el desplazamiento COI. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 4 Ejecutar los programas del robot Fig. 4-9: Direcciones de ejecución de programa: Adelante/atrás Cuando el paso de movimiento seleccionado contiene la instrucción de avance PTP, se produce un desplazamiento COI a modo de movimiento PTP desde la posición real hasta la posición de destino. Si el paso de movimiento seleccionado contiene LIN o CIR, el desplazamiento COI se ejecuta como movimiento LIN Observar el movimiento para evitar colisiones. En el desplazamiento COI la velocidad se reduce automáticamente. 5. Al alcanzar la posición de destino se detiene el movimiento. Aparece el mensaje de observación "COI alcanzada". 6. Otras ejecuciones (en función del modo de servicio ajustado): T1 y T2: Reanudar el programa pulsando la tecla de inicio. AUT: Activar accionamientos. A continuación, iniciar el programa con impulso en Start. En el programa Cell cambiar al modo de servicio EXT y transferir la instrucción de avance al PLC. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 95 / 181 Programación de robots 1 4.3 Ejercicio: ejecutar programas del robot Objetivo del ejercicio Requisitos Formulación Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Seleccionar y deseleccionar programas Ejecutar, detener y resetear programas en los modos de servicio requeridos (Testar desarrollo de programa) Efectuar y entender la selección de paso Efectuar el desplazamiento de coincidencia (COI) Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos del manejo del navegador Conocimientos sobre la selección y deselección de programas 1. Seleccionar el módulo Air ¡Peligro! Deben respetarse obligatoriamente las prescripciones de seguridad de la instrucción. 2. Comprobar de la siguiente manera el programa en los diferentes modos de servicio: T1 con 100% T2 con 10%, 30%, 50%, 75%, 100% Automático con 100% 3. Comprobar el programa con los tipos ejecución del programa Go y MSTEP 96 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 5 Uso de archivos de programas 5 Uso de archivos de programas 5.1 Crear módulos de programa Módulos de programa en el navegador Los módulos de programa deben colocarse siempre en la carpeta "Programas". Existe la posibilidad de crear nuevas carpetas en las que se pueden guardar los módulos de programa. Los módulos se identifican con el símbolo "M". Se puede incluir un comentario los módulos. Este tipo de comentario puede incluir, p. ej., una breve descripción del funcionamiento del programa. Fig. 5-1: Módulos del navegador Propiedades de los módulos de programa 1 Carpeta principal para programas: "Programa" 2 Subcarpeta para otros programas 3 Módulo de programa/módulo 4 Comentario de un módulo de programa Un módulo consta siempre de dos partes: Fig. 5-2 Código fuente: El archivo SRC contiene el código del programa. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 97 / 181 Programación de robots 1 DEF INI PTP PTP PTP … END MAINPROGRAM () HOME Vel= 100% DEFAULT POINT1 Vel=100% PDAT1 TOOL[1] BASE[2] P2 Vel=100% PDAT2 TOOL[1] BASE[2] Lista de datos: El archivo DAT contiene datos y coordenadas de puntos permanentes. DEFDAT MAINPROGRAM () DECL E6POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27, E1 0, E2 0, E3 0, E4 0, E5 0, E6 0} DECL FDAT FPOINT1 … … ENDDAT Procedimiento para crear módulos de programa propios 1. En la estructura del directorio, marcar la carpeta en la que se debe almacenar el programa, p. ej., la carpeta Programa y, a continuación, cambiar a la lista de datos. 2. Pulsar la tecla Nuevo. 3. Introducir un nombre para programa y un comentario en caso necesario y confirmar con OK. 5.2 Editar módulos de programa Opciones de edición Como en los sistemas de archivos convencionales, en el navegador del KUKA smartPAD también se pueden editar módulos de programa. Editar incluye: Procedimiento para borrar un programa Duplicar/copiar Borrar Renombrar 1. En la estructura de directorios marcar la carpeta en la que se encuentra el archivo. 2. Marcar el archivo en la lista de archivos. 3. Pulsar la tecla de función Borrar >. 4. Responder Sí a la pregunta de seguridad. Se borra el módulo. En el grupo de usuario "Experto" y el ajuste de filtro "Detalle" figuran dos archivos por módulo en el navegador (archivo SRC y DAT). Si éste es el caso, se deben borrar ambos archivos. Los ficheros borrados no se pueden restaurar. Procedimiento para renombrar un programa 1. En la estructura de directorios marcar la carpeta en la que se encuentra el archivo. 2. Marcar el archivo en la lista de archivos. 3. Seleccionar la tecla de función Editar > Renombrar. 4. Sobrescribir el nombre del archivo con el nombre nuevo y confirmar con OK. En el grupo de usuario "Experto" y el ajuste de filtro "Detalle" figuran dos archivos por módulo en el navegador (archivo SRC y DAT). Si éste es el caso, se deben renombrar ambos archivos. 98 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 5 Uso de archivos de programas Procedimiento para duplicar un programa 1. En la estructura de directorios marcar la carpeta en la que se encuentra el archivo. 2. Marcar el archivo en la lista de archivos. 3. Pulsar la tecla de función Duplicar. 4. Asignar un nombre de archivo nuevo al nuevo módulo y confirmar pulsando OK. En el grupo de usuario "Experto" y el ajuste de filtro "Detalle" figuran dos archivos por módulo en el navegador (archivo SRC y DAT). Si éste es el caso, se deben duplicar ambos archivos. 5.3 Archivar y restaurar programas de robot Opciones de archivo Cada proceso de archivo genera un archivo ZIP en el medio de destino correspondiente con el nombre del robot. En el apartado Datos del robot se puede cambiar el nombre del archivo. Lugar de almacenamiento: Se dispone de tres lugares de almacenamiento distintos: USB (KCP) | Memoria USB en el KCP (smartPAD) USB (armario) | Lápiz USB en el armario de control del robot Red | Los datos se guardan en una ruta de red La ruta de red deseada se debe configurar en PickControl. Cada vez que se archiva, además del archivo ZIP que se genera en el soporte de almacenamiento, paralelamente se crea en la unidad D:\ otro archivo (INTERN.ZIP). Datos: Para el proceso de almacenamiento se pueden seleccionar los datos siguientes: Todo: Se archivan los datos necesarios para restituir un sistema existente. Aplicaciones: Se archivan todos los módulos KRL (programas) definidos por el usuario y los archivos correspondientes del sistema. Datos de la máquina: Se archivan los datos de la máquina. Datos del log: Se archivan los ficheros Log. KrcDiag: Se archivan los datos para entregarlos a KUKA Roboter GmbH para que los analicen en busca de fallos. Se crea una carpeta (nombre KRCDiag) en la que se pueden registrar hasta diez archivos ZIP. Además, se guardará en la unidad de control en C:\KUKA\KRCDiag. Restaurar datos Por regla general sólo se pueden cargar archivos con la versión de software compatible. Si se cargan otros archivos, pueden producirse las situaciones siguientes: Mensajes de fallo La unidad de control del robot no puede operar. Peligro de lesiones o daños materiales. Al restaurar pueden seleccionarse entre las siguientes opciones de menú: Todo Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 99 / 181 Programación de robots 1 Aplicaciones Configuración En los siguientes casos el sistema emite un mensaje de error: Si los datos archivados están guardados en otra versión que la que se encuentra en el sistema. Si la versión de los paquetes de tecnología no coincide con la versión instalada. Procedimiento para archivar Sólo debe utilizarse la memoria KUKA.USBData. Si se utiliza otra clave USB, pueden perderse o cambiarse los datos. 1. Seleccionar la secuencia Archivo > Archivar > USB (KCP) o USB (armario) y la opción secundaria deseada. 2. Responder Sí a la pregunta de seguridad. En la ventana de mensajes se indicará el fin del proceso de archivación. 3. Se puede extraer la memoria USB cuando su LED se apague. Restablecer procedimiento 1. Seleccionar la secuencia de menús Archivo > Restaurar > y luego las opciones secundarias. 2. Responder Sí a la pregunta de seguridad. Los ficheros archivados se restauran en la unidad de control del robot. Un mensaje señalará que ha finalizado la restauración. 3. Si restauró desde una memoria USB: Retirar el dispositivo USB. Al restaurar el dispositivo USB: Recién cuando el LED en el medio USB se haya apagado, se puede quitar el medio. Caso contrario, el medio puede ser dañado. 4. Volver a arrancar la unidad de control del robot. 5.4 Registrar los cambios de programa y de estado con el listado LOG Opciones de protocolización 100 / 181 Las operaciones que efectúa el usuario en el smartPAD se guardan automáticamente en un protocolo. La instrucción Protocolo muestra el protocolo. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 5 Uso de archivos de programas Fig. 5-3: Protocolo, tarjeta de registro Log Pos. 1 Descripción Tipo de incidencia Log Los distintos tipos de filtro están en un listado de la tarjeta de registro Filtro. 2 Número de incidencia Log 3 Fecha y hora del incidencia Log 4 Breve descripción del incidencia Log 5 Descripción detallada del incidencia Log marcada 6 Visualización del filtro activo Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 101 / 181 Programación de robots 1 Filtrado de incidencias Log Fig. 5-4: Protocolo, tarjeta de registro Filtro Uso de la función listado LOG Todos los grupos de usuarios pueden ver y configurar esta función. Mostrar listado LOG: Seleccionar en el menú principal la secuencia Diagnóstico > Listado LOG > Visualizar. Configurar listado LOG: 1. Seleccionar en el menú principal Diagnóstico > Listado LOG > Configuración. 2. Realizar los ajustes: Añadir / quitar tipos de filtrado Añadir / quitar categorías de filtros 3. Pulsar OK para guardar la configuración y cerrar la ventana. 102 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 5 Uso de archivos de programas Fig. 5-5: Ventana Configuración del listado LOG 1 Realizar los ajuste del filtro para la edición. Si no hay ninguna marca de verificación, la edición no está filtrada. 2 Ruta del archivo de texto. 3 Los datos del log que se han borrado por el desbordamiento de buffer aparecen en un archivo de texto en gris. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 103 / 181 Programación de robots 1 104 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados 6 Crear y modificar movimientos programados 6.1 Creación de nuevas instrucciones de movimiento Programar movimientos de robot Fig. 6-1: Movimiento de robot Cuando se deban programar movimientos del robot, se plantean una serie de preguntas: Pregunta Solución ¿Cómo detecta el robot sus posiciones? La posición de la herramienta en el espacio se guarda (posición del robot según el sistema Tool y Base ajustados). Palabra clave POS ¿Cómo sabe el robot que se debe mover? Por la indicación del modo de movimiento: punto a punto, lineal o circular. PTP LIN CIRC ¿Con qué rapidez se mueve el robot? La velocidad entre dos puntos y la aceleración se indican en la programación. Vel. ¿El robot se debe parar en cada punto? Para poder acortar la duración del ciclo también se pueden aproximar puntos. En este caso, no tiene lugar una parada exacta. ¿Qué orientación adopta la herramienta cuando se alcanza un punto? Para cada movimiento se puede ajustar individualmente el control de la orientación. ORI_TYPE ¿El robot detecta un obstáculo? No, el robot sigue la trayectoria programada sin desviarse. El programador será el responsable de garantizar que no se producen colisiones. Control contra colisiones Acc. CONT No obstante, existe la posibilidad de implementar un "control contra colisiones" para proteger la máquina. Al programar movimientos de robot en el proceso de aprendizaje se debe transmitir esta información. Para ello se usan formularios inline en los que se puede introducir cómodamente esta información. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 105 / 181 Programación de robots 1 Fig. 6-2: Formulario online para programar movimientos Tipos de movimiento Para programas las instrucciones de movimiento se dispone de varios tipos de movimiento. Los movimientos se pueden programar en función de los requisitos del proceso de trabajo del robot. Movimiento específico del eje (PTP: Point to Point) Movimientos de trayectoria: LIN (lineal) y CIRC (circular) SPLINE: SPLINE es un tipo de movimiento especialmente apropiado para trayectorias curvas complejas. En principio, este tipo de trayectorias también se pueden crear con movimientos LIN y CIRC aproximados, pero el SPLINE presenta una serie de ventajas. Los movimientos SPLINE no se incluyen en esta documentación para la formación. Puede consultarse información más detallada al respecto en las instrucciones de operación y programación del KUKA System Software 8.2. 6.2 Creación de movimientos con optimización del tiempo de ciclo (movimiento del eje) PTP 106 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Tipo de movimiento Significado Ejemplo de uso Point to Point: punto a punto Aplicaciones de punto, p. ej.: Movimiento específico del eje: el robot desplaza el TCP al punto de destino a lo largo de la trayectoria más rápida. La trayectoria más rápida no es, po lo general, la trayectoria más corta y, por tanto, no es una recta. Dado que los ejes del robot se mueven de forma rotacional, trayectorias curvas pueden ser ejecutadas de forma más rápida que las rectas. No puede predecirse la trayectoria exacta. El eje directriz es el eje que más tarda en alcanzar el punto de destino. SYNCHRO PTP: todos los ejes arrancan al mismo tiempo y se detienen sincronizados. El primer movimiento en el programa debe ser un movimiento PTP ya que, en este caso, únicamente se van a evaluar Status y Turn. Soldadura por puntos Transporte Medir, controlar Posiciones auxiliares: puntos intermedios puntos libres en el espacio Aproximación Fig. 6-3: Posicionamiento aproximado de un punto La unidad de control es capaz de aproximar las instrucciones de movimiento marcadas con CONT para acelerar el movimiento. Aproximar significa que no se desplaza exactamente a las coordenadas de punto. Previamente se abandona la trayectoria del contorno de paradas exactas. El TCP se conduce a lo largo de los contornos de aproximación que desemboca en el contorno de paradas exactas de la siguiente instrucción de movimiento. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 107 / 181 Programación de robots 1 Ventajas del posicionamiento aproximado desgaste reducido Tiempos de ciclo reducidos Fig. 6-4: Parada exacta - Posicionamiento aproximado en comparación Para poder ejecutar el movimiento de aproximación la unidad de control debe poder leer los siguientes pasos de movimiento. Ello se realiza con procesamiento en avance. Aproximación en el tipo de desplazamiento PTP Tipo de movimiento Característica Procedimiento para crear movimientos PTP El contorno de aproximación no es predecible. Distancia de aproximación Indicación en % Requisitos Se ha activado el modo de servicio T1. Está seleccionado un programa de robot. 1. Mover el TCP a la posición que se programará por aprendizaje como punto de destino. 108 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Fig. 6-5: Instrucción de movimiento 2. Colocar el cursor en la línea detrás de la cual se insertará la instrucción de movimiento. 3. Seleccionar la secuencia de menú Instrucciones > Movimiento > PTP. Como alternativa también se puede accionar la tecla de función Movimiento localizada en la línea pertinente. Aparece un formulario inline: Formulario online PTP Fig. 6-6: Formulario inline Movimiento PTP 4. Introducir parámetros en el formulario inline. Pos . Descripción 1 Tipo de movimiento PTP,LIN o CIRC 2 El nombre del punto de destino se determina automáticamente, no obstante, se puede sobrescribir individualmente. Para editar los puntos de datos, debe tocarse la flecha. Se abre la ventana de opciones Vectores. En CIRC se debe programar un punto auxiliar adicional para el punto de destino: Aproximar la posición del punto auxiliar y accionar TouchUp Pl. 3 CONT: El punto de destino es de posicionamiento aproximado. [vacío]: El punto de destino se alcanza con exactitud. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 109 / 181 Programación de robots 1 Pos . 4 5 Descripción Velocidad Movimientos PTP: 1 … 100% Movimientos de trayectoria: 0,001 … 2 m/s Juego de datos de movimiento: Aceleración Distancia de aproximación (cuando en el campo [3] se haya introducido CONT). Control de la orientación (únicamente en movimientos de trayectoria) 5. En la ventana de opciones Vectores, introducir los datos correctos para el sistema de corrdenadas de base y herramienta, además de las indicaciones sobre el modo de interpolación (TCP externo: CON./DSECON.) y el control contra colisiones. Fig. 6-7: Ventana de opciones Vectores Pos. 1 Descripción Seleccionar herramienta. Si se tiene True en el campo External TCP: Seleccionar herramienta. Rango de valores: [1] … [16] 2 Seleccionar base. Si se tiene True en el campo External TCP: Seleccionar herramienta fija. Rango de valores: [1] … [32] 3 4 110 / 181 Modo de interpolación False: La herramienta se encuentra montada sobre la brida de acople. True: La herramienta es una herramienta fija. True: Para este movimiento la unidad de control del robot determina los momentos axiales. Éstos son necesarios para la detección de colisiones. False: Para este movimiento la unidad de control del robot no determina ningún momento axial. Por lo tanto, no es posible una detección de colisiones para este movimiento. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados 6. En la ventana de opciones Parámetros de movimiento, puede reducirse la aceleración del valor máximo. En caso de que se active la aproximación, también se puede modificar la distancia de aproximación. Dependiendo de la configuración, la distancia se ajusta en mm o %. Fig. 6-8: Ventana de opciones Parámetros de movimiento (PTP) Pos. Descripción 1 Aceleración Se refiere al valor máximo declarado en los datos de máquina. El valor máximo depende del tipo de robot y del modo de servicio seleccionado. La aceleración es válida para los ejes directrices de este conjunto de movimientos. 2 1 … 100% Este campo sólo se muestra en pantalla cuando en el formulario inline se ha seleccionado CONT. Distancia antes del punto de destino en donde comienza, como muy pronto, la aproximación. Distancia máxima: La mitad de la distancia entre el punto de inicio y el de destino, referido al contorno del movimiento PTP sin aproximación. 1 … 100% 1 ... 1000 mm 7. Guardar la instrucción pulsando Instruc.OK. La posición opuesta del TCP se programa como punto de destino. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 111 / 181 Programación de robots 1 Fig. 6-9: Memorización de las coordenadas de puntos en "Instrucción OK" y "TouchUp". 6.3 Ejercicio: Programa en el aire - Tratamiento de programa y movimientos PTP Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Seleccionar y deseleccionar programas Ejecutar, detener y resetear programas en los modos de servicio requeridos (Testar desarrollo de programa) Borrar pasos de movimiento y insertar nuevos movimientos PTP Cambiar modo de desarrollo de programa y desplazar a puntos programados paso por paso Efectuar y entender la selección de paso Efectuar el desplazamiento de coincidencia (COI) Los siguientes requisitos son necesarios para completar este ejercicio correctamente: 112 / 181 Conocimientos teóricos del manejo del navegador Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Formulación Conocimientos teóricos del tipo de movimiento PTP Ejecutar las siguientes tareas: Crear y someter a prueba programas 1. Crear un nuevo módulo con el nombre Air_PROG ¡Peligro! Deben respetarse obligatoriamente las prescripciones de seguridad de la instrucción. 2. Crear un programa de unos cinco movimientos PTP. 3. En caso de que no se disponga de un desplazamiento sin colisiones, deben eliminarse los puntos afectados y establecerse un punto nuevo. 4. Comprobar el programa en el modo de servicio T1 con velocidades de programa diversas (POV) 5. Comprobar el programa en el modo de servicio T2 con velocidades de programa diversas (POV) 6. Compruebe el programa en el modo de servicio "Automático" Tarea sección B Ejecutar las siguientes tareas: Corrección del programa 1. Utilizar distintas velocidades para sus puntos en el espacio 2. Seleccione repetidas veces el mismo punto en el programa 3. Borrar los pasos de movimientos y insertar nuevos en otro lugar en el programa 4. Efectuar una selección de paso 5. Parar el programa en el modo de test y utilizar la función Arranque del programa hacia atrás 6. Compruebe el programa en los modos de servicio T1, T2 y Automático Lo que se debe saber tras el ejercicio: 1. Cuál es la diferencia entre seleccionar y abrir un programa? ............................................................ ............................................................ 2. Cuáles tipos de desarrollo de programa existen y porqué son necesarios? Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 113 / 181 Programación de robots 1 ............................................................. ............................................................. ............................................................. 3. ¿Qué significa un desplazamiento COI? ............................................................. ............................................................. ............................................................. 4. Cómo se puede influenciar la velocidad de programa? ............................................................. ............................................................. ............................................................. 5. Cuáles son las características de los movimientos PTP? ............................................................. ............................................................. ............................................................. 114 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados 6.4 Crear movimientos de trayectoria LIN y CIRC Tipo de movimiento Significado Ejemplo de aplicación Lineal: Lineal Aplicaciones de trayectoria, p. ej.: Movimiento de trayectoria rectilíneo. El TCP de la herramienta se desplaza desde el inicio hasta el punto de destino con una velocidad constante y una orientación definida. Posiciones singulares Singularidad por encima de la cabeza α1 Soldadura de trayectoria Pegado Soldadura/corte láser La velocidad y la orientación hacen referencia al TCP. Circular: Circular El movimiento de trayectoria circular se define a través del punto de inicio, el punto auxiliar y el punto de destino. El TCP de la herramienta se desplaza desde el inicio hasta el punto de destino con una velocidad constante y una orientación definida. La velocidad y la orientación hacen referencia al TCP. Aplicaciones de trayectoria como en el LIN: Círculos, radios, curvaturas Los robots KUKA con 6 grados de libertad tienen 3 posiciones singulares distintas. Una posición singular se caracteriza por no permitir una transformación de retroceso (conversión de las coordenadas cartesianas en valores específicos de los ejes) unívoca aunque se hayan preestablecido los datos Status y Turn. En este caso o cuando las más pequeñas modificaciones cartesianas provocan grandes cambios en el ángulo de los ejes, se habla de posiciones singulares. Ésta no es una característica mecánica, sino matemática, y por este motivo sólo existe en el área de la trayectoria pero no en los movimientos de los ejes. En la singularidad por encima de la cabeza, el punto de la raíz de la muñeca (= centro del eje A5) se halla vertical al eje A1 del robot. La posición del eje A1 no se puede establecer unívocamente mediante la transformación de retroceso y puede por tanto aceptar cualquier valor. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 115 / 181 Programación de robots 1 Fig. 6-10: Singularidad por encima de la cabeza (posición α1) Singularidad de las posiciones extendidas α2 En la singularidad de las posiciones extendidas, el punto de la raíz de la muñeca (= centro del eje A5) se halla en prolongación de los ejes A1 y A3 del robot. El robot se encuentra en el límite de su área de trabajo. La transformación de retroceso proporciona un ángulo de eje unívoco, pero las pequeñas velocidades cartesianas dan lugar a grandes velocidades axiales en los ejes A2 y A3. Fig. 6-11: Posición extendida (posición α2) Singularidades de los ejes de la muñeca α5 116 / 181 En una singularidad de los ejes de la muñeca los ejes A4 y A6 se hallan paralelos uno con el otro y el eje A5 dentro del área de ±0,01812°. La posición de ambos ejes no se puede determinar inequívocamente por medio de una transformación de retroceso. Pero existen muchas posiciones axiales para los ejes A4 y A6 en las que las sumas de los ángulos de eje son idénticas. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Fig. 6-12: Singularidad por encima de la cabeza (posición a1) Control de la orientación en movimientos de trayectoria Para los movimientos de trayectoria existe la posibilidad de definir con exactitud el control de la orientación. La herramienta puede tener en los puntos de partida y de destino, un movimiento con distinta orientación. Controles de la orientación en el tipo de movimientoLIN Estándar o PTP manual La orientación de la herramienta se modifica de forma continua durante el movimiento. Utilizar el PTP manual cuando el robot en estándar entra en una singularidad de los ejes de la muñeca, ya que la orientación se logra mediante el desplazamiento lineal (desplazamiento especifico del eje) del ángulo de los ejes de la muñenca. Fig. 6-13: Estándar Constante La orientación de la herramienta se mantiene de forma constante durante el movimiento, es decir, como cuando se programó en el punto de inicio. La orientación programada en el punto de destino se ignora. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 117 / 181 Programación de robots 1 Fig. 6-14: Control orientación constante Controles de la orientación en el tipo de movimientoCIRC Estándar o PTP manual La orientación de la herramienta se modifica de forma continua durante el movimiento. Utilizar el PTP manual cuando el robot en estándar entra en una singularidad de los ejes de la muñeca, ya que la orientación se logra mediante el desplazamiento lineal (desplazamiento especifico del eje) del ángulo de los ejes de la muñenca. Fig. 6-15: Estándar + , referida a la base Constante La orientación de la herramienta se mantiene de forma constante durante el movimiento, es decir, como cuando se programó en el punto de inicio. La orientación programada en el punto de destino se ignora. 118 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Fig. 6-16: Control de orientación constante + referida a la base Aproximación de los movimientos de trayectoria La función de aproximación no es apropiada para crear movimientos circulares. Es únicamente una función destinada a evitar una detención exacta en el punto. Aproximación en los tipos de desplazamiento LIN y CIRC Tipo de movimiento Procedimiento para crear movimientos LIN y CIRC Característica Distancia de aproximación El curso de la trayectoria corresponde a dos parábolas. Indicación en mm El curso de la trayectoria corresponde a dos parábolas. Indicación en mm Requisitos Se ha activado el modo de servicio T1. Está seleccionado un programa de robot. 1. Mover el TCP a la posición que se programará por aprendizaje como punto de destino. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 119 / 181 Programación de robots 1 Fig. 6-17: Instrucción de movimiento con LIN y CIR 2. Colocar el cursor en la línea detrás de la cual se insertará la instrucción de movimiento. 3. Seleccionar la secuencia de menú Instrucciones > Movimiento > LIN o CIRC. Como alternativa también se puede accionar la tecla de función Movimiento localizada en la línea pertinente. Aparece un formulario inline: Formulario inline LIN Fig. 6-18: Formulario inline para movimiento LIN Formulario inline CIRC Fig. 6-19: Formulario inline para movimientos CIRC 4. Introducir parámetros en el formulario inline. Po s. Descripción 1 Tipo de movimiento PTP,LIN o CIRC 2 El nombre del punto de destino se determina automáticamente, no obstante, se puede sobrescribir individualmente. Para editar los puntos de datos, debe tocarse la flecha. Se abre la ventana de opciones Vectores. En CIRC se debe programar un punto auxiliar adicional para el punto de destino: Aproximar la posición del punto auxiliar y accionar TouchUp Pl. La orientación de la herramienta en el punto auxiliar no es relevante. 120 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Po s. Descripción 3 CONT: El punto de destino es de posicionamiento aproximado. [vacío]: El punto de destino se alcanza con exactitud. 4 Velocidad 5 Movimientos PTP: 1 … 100% Movimientos de trayectoria: 0,001 … 2 m/s Juego de datos de movimiento: Aceleración Distancia de aproximación (cuando en el campo [3] se haya introducido CONT). Control de la orientación (únicamente en movimientos de trayectoria) 5. En la ventana de opciones Vectores, introducir los datos correctos para el sistema de coordenadas de base y herramienta, además de las indicaciones sobre el modo de interpolación (TCP externo: CON./DESCON.) y el control contra colisiones. Fig. 6-20: Ventana de opciones Vectores Pos. 1 Descripción Seleccionar herramienta. Si se tiene True en el campo External TCP: Seleccionar herramienta. Rango de valores: [1] … [16] 2 Seleccionar base. Si se tiene True en el campo External TCP: Seleccionar herramienta fija. Rango de valores: [1] … [32] Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 121 / 181 Programación de robots 1 Pos. 3 4 Descripción Modo de interpolación False: La herramienta se encuentra montada sobre la brida de acople. True: La herramienta es una herramienta fija. True: Para este movimiento la unidad de control del robot determina los momentos axiales. Éstos son necesarios para la detección de colisiones. False: Para este movimiento la unidad de control del robot no determina ningún momento axial. Por lo tanto, no es posible una detección de colisiones para este movimiento. 6. En la ventana de opciones Parámetros de movimiento, puede reducirse la aceleración del valor máximo. En caso de que se active la aproximación, también se puede modificar la distancia de aproximación. Asimismo, también se puede modificar el control de la orientación. Fig. 6-21: Ventana de opciones Parámetros de movimiento (LIN, CIRC) Pos. Descripción 1 Aceleración Se refiere al valor máximo declarado en los datos de máquina. El valor máximo depende del tipo de robot y del modo de servicio seleccionado. 2 Distancia antes del punto de destino en donde comienza, como muy pronto, el posicionamiento aproximado. La distancia puede comprender, como máximo, la mitad de la distancia entre el punto de inicio y el de destino. Si se introduce un valor mayor, éste se ignora y se utiliza el valor máximo. Este campo sólo se muestra en pantalla cuando en el formulario inline se ha seleccionado CONT. 3 Seleccionar el control de la orientación Estándar PTP manual Control orientación constante (>>> "Control de la orientación en movimientos de trayectoria" Página 117) 7. Guardar la instrucción pulsando Instruc.OK. La posición opuesta del TCP se programa como punto de destino. 122 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Fig. 6-22: Memorización de las coordenadas de puntos en "Instrucción OK" y "TouchUp". 6.5 Modificación de las instrucciones de movimiento Modificar instrucciones de movimiento Existen los motivos más diversos para modificar las instrucciones del movimiento: Ejemplos de motivos Modificación a llevar a cabo La posición de la pieza que se debe agarrar cambia. Modificación de datos de posición La posición de uno de los cinco orificios en la ejecución de los trabajos cambia. Un cordón de soldadura se debe acortar. Efectos al modificar las instrucciones de movimiento La posición del palet cambia. Modificación de los datos vectoriales: base y/o herramienta Por error se ha realizado el aprendizaje de una posición con la base incorrecta. Modificación de los datos vectoriales: base y/o herramienta con actualización de la posición Los trabajos se ejecutan demasiado lentamente: se debe mejorar el tiempo de ciclo. Modificación de los datos de movimientos: Velocidad, aceleración Modificación del tipo de movimiento Modificar los datos de posición Solo cambian los datos de ese punto: el punto recibe coordenadas nuevas, ya que los valores se actualizaron con "TouchUp". Las coordenadas anteriores se sobrescriben y, por consiguiente, dejan de estar disponible. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 123 / 181 Programación de robots 1 Fig. 6-23: Modificación de la posición del robot con "TouchUp" Modificación de datos vectoriales Al cambiar los datos vectoriales (por ejemplo, Tool, Base) se produce un corrimiento de la posición (comp. "Datos de desplazamiento") De ese modo cambia la posición del robot. Las coordenadas antiguas del punto siguen guardadas y válidas. Solo cambia la referencia (por ejemplo, la base). Puede sobrepasarse el campo de trabajo. Por ello el robot no puede alcanzar determinadas posiciones. Si el robot debe quedar en la misma posición pero, no obstante, han cambiado los parámetros vectoriales, después de modificar los parámetros (p. ej., base) en la posición deseada, se deben actualizar las coordenadas con "TouchUp". Además, aparece un aviso: "¡Atención, al cambiar los parámetros vectoriales referentes a los puntos, existe peligro de colisión!". Fig. 6-24: Modificación de los datos vectoriales (ejemplo base) 124 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Modificar los datos de movimiento Al cambiar la velocidad o la aceleración cambiar el perfil de marcha. Ello puede repercutir en el proceso de fabricación, sobre todo en las aplicaciones de trayectoria: Espesor de un cordón de pegado. Calidad de un cordón de soldadura. Cambiar el tipo de movimiento Al cambiar el tipo de movimiento siempre cambia el cálculo de trayectoria. En determinados casos se podrían producir colisiones porque la trayectoria podría cambiar de forma imprevisible. Fig. 6-25: Modificar el tipo de movimiento Advertencias de seguridad al modificar instrucciones de movimiento Modificar los parámetros de movimiento Vectores En función del cambio que se debe efectuar en una instrucción del movimiento, el programa de robot se debe comprobar a velocidad reducida (modo de servicio T1). Si se inicia el programa inmediatamente a velocidad alta, el sistema y la instalación completa pueden sufrir daños porque los movimientos son imprevisibles. Si una persona se encuentra en la zona de peligro, pueden causarse lesiones con peligro de muerte. 1. Colocar el cursor en la línea de la instrucción que se debe modificar. 2. Pulsar Modificar. Se abre el formulario inline para la instrucción. 3. Abrir la ventana de opciones Vectores. 4. Ajustar la nueva herramienta o base o TCP externo. 5. Confirmar el cuadro de diálogo ¡Atención, al cambiar los parámetros vectoriales referentes a los puntos, existe peligro de colisión! pulsando OK. 6. Si se desea conservar la posición actual del robot con los ajustes modificados de herramienta y/o base, es necesario pulsar la tecla TouchUp para volver a calcular y guardar la posición actual. 7. Guardar la modificación pulsando Instrucción OK. Si se modifican los parámetros vectoriales, se debe volver a comprobar la ausencia de colisión de los programas. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 125 / 181 Programación de robots 1 Modificar posición Procedimiento para modificar la posición del robot: 1. Ajustar el modo de servicio T1 y colocar el cursor en la línea con la instrucción que se debe modificar. 2. Colocar el robot en la posición deseada. 3. Pulsar Modificar. Se abre el formulario inline para la instrucción. 4. Para movimientos PTP y LIN: Pulsar TouchUp para aceptar la posición actual del TCP como nuevo punto de destino. Para movimientos CIRC: Pulsar TouchUp Pl para aceptar la posición actual del TCP como nuevo punto auxiliar. Pulsar TouchUp PF para aceptar la posición actual del TCP como nuevo punto de destino. 5. Responder Sí a la pregunta de seguridad. 6. Guardar los cambios con Instrucción OK. Modificar los parámetros de movimiento Este procedimiento sólo se puede usar para realizar las modificaciones siguientes: Tipo de movimiento Velocidad Aceleración Posicionamiento aproximado Distancia de aproximación 1. Colocar el cursor en la línea de la instrucción que se debe modificar. 2. Pulsar Modificar. Se abre el formulario inline para la instrucción. 3. Modificar parámetro. 4. Guardar la modificación pulsando Instrucción OK. Si se modifican los parámetros de movimiento, se debe volver a comprobar la ausencia de colisión de los programas. 6.6 Ejercicio: Desplazamiento de trayectoria y posicionamiento aproximado Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Creación de programas de desplazamiento sencillos con los tipos de desplazamiento PTP, LIN y CIRC Creación de programas de desplazamiento con puntos de parada exacta y posicionamiento aproximado Utilización de programas en el navegador (copiar, duplicar, renombrar, borrar) Los siguientes requisitos son necesarios para completar este ejercicio correctamente: 126 / 181 Principios de la programación de desplazamiento con los tipos de desplazamiento PTP, LIN, CIRC Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados Tarea sección A Conocimientos teóricos del aproximado de desplazamientos Conocimientos teóricos de la posición HOME Ejecutar las siguientes tareas: Creación de programa contorno de pieza 1 1. Cree un nuevo programa con la denominación Contorno de pieza 1 2. Programar por aprendizaje sobre la mesa de trabajo el contorno de pieza 1 utilizando la base azul y la clavija 1 como herramienta. La velocidad de desplazamiento sobre la mesa de trabajo es de 0,3 m/s. Tener en cuenta que el eje longitudinal de la herramienta siempre se encuentra en una posición vertical respecto al contorno de la trayectoria (control de la orientación). 3. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. Fig. 6-26: Desplazamiento de trayectoria y posicionamiento aproximado: Contorno de pieza 1 y 2 Tarea sección B 1 Puntos de inicio 2 Dirección del desplazamiento 3 Base de referencia 4 Contorno de la pieza 1 5 Contorno de la pieza 2 Ejecutar las siguientes tareas: Copiar programa y posicionamiento aproximado 1. Cree un duplicado del programa Contorno de pieza 1 con la denominación Pieza1_CONT 2. Agregar la instrucción de aproximación en las instrucciones de desplazamiento del programa nuevo de tal modo que se desplace al contorno de modo continuo. 3. Las esquinas del contorno deben desplazarse con parámetros de aproximado diversos. 4. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 127 / 181 Programación de robots 1 Tarea adicional Ejecutar las siguientes tareas: Creación de programa contorno de pieza 2 1. Cree un segundo programa con la denominación Contorno de pieza 2 Utilizar la misma base y la misma herramienta. La velocidad de desplazamiento sobre la mesa de trabajo es de 0,3 m/s. Tener en cuenta que el eje longitudinal de la herramienta siempre se encuentra en una posición vertical respecto al contorno de la trayectoria (control de la orientación). 2. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. 3. Cree un duplicado del programa Contorno de pieza 2 con la denominación Pieza2_CONT 4. Agregar la instrucción de aproximación en las instrucciones de desplazamiento del programa nuevo de tal modo que se desplace al contorno de modo continuo. 5. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. Lo que se debe saber tras el ejercicio: 1. Cuales son las características de los movimientos LIN y CIRC? ............................................................. ............................................................. ............................................................. 2. Como se indica la velocidad de desplazamiento de movimientos PTP, LIN y CIRC y cual es el punto de referencia de esta velocidad? ............................................................. ............................................................. ............................................................. 3. Como se indica la distancia de aproximado de movimientos PTP, LIN y CIRC? ............................................................. ............................................................. 4. ¿Cuáles son los puntos que deben tenerse en cuenta si se programan de nuevo las instrucciones CONT? ............................................................. ............................................................. 5. ¿Qué debe tenerse en cuenta si se cambia la posición inicial? ............................................................. ............................................................. 6. ¿Cuáles son los puntos que deben tenerse en cuenta si se corrigen o cambian los puntos programados? ............................................................. ............................................................. 128 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 6 Crear y modificar movimientos programados 6.7 Programación de movimiento con TCP externo Programar movimientos con el TCP externo Al programar movimientos con una herramienta fija, comparado con el movimiento estándar en este caso el movimiento presenta las diferencias siguientes: Identificación en el formulario inline: En la ventana de opciones Vectores, la entrada TCP externo debe estar en TRUE. Fig. 6-27: Ventana de opciones "Vectores": TCP ext. La velocidad de movimiento está referenciada al TCP externo. La orientación a lo largo de la trayectoria está referenciada también al TCP externo. Se debe indicar tanto el sistema de coordenadas de base (herramienta fija / TCP externo) como el sistema de coordenadas de herramienta (pieza móvil). Fig. 6-28: Sistemas de coordenadas con herramienta fija 6.8 Ejercicio: Programación de movimientos con el TCP externo Objetivo del ejercicio Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Programación de movimientos de una pieza desplazada por el robot respecto a una herramienta fija Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 129 / 181 Programación de robots 1 Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Formulación Conocimientos de la activación de la herramienta externa al programar de movimientos. Ejecutar las siguientes tareas: Programación del contorno para la aplicación de adhesivo 1. Sujetar manualmente la placa en la garra. 2. Programe por aprendizaje el contorno indicado sobre la placa con la denominación de programa Pegar_placa. Utilizar para ello la herramienta externa medida Boquilla y la pieza Placa. Tener en cuenta que el eje longitudinal de la herramienta fija siempre debe encontrarse en una posición vertical respecto al contorno de pegado. La velocidad de desplazamiento sobre la placa es de 0,2 m/s 3. Comprobar el programa según prescripción. 4. Archivar el programa. Lo que se debe saber tras el ejercicio: 1. ¿A qué está referenciada la velocidad de pegado programada? ............................................................. ............................................................. 2. Cómo se activa la herramienta externa en su programa? ............................................................. ............................................................. 130 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot 7 Usar funciones lógicas en el programa del robot 7.1 Introducción a la programación lógica Utilización de entradas y salidas en la programación lógica Fig. 7-1: Entradas y salidas digitales Para establecer la comunicación con los periféricos de la unidad de control de robot, se pueden utilizar entradas y salidas digitales y analógicas. Definición Término Explicación Ejemplo Comunicación Intercambio de señales a través de una interfaz Consulta de un estado (garra abierta/cerrada) Periféricos "Ambiente" Herramienta (p. ej., garra, pinzas de soldadura, etc.), sensores, sistemas de transporte del material, etc. digital Tecnología digital: señales de tiempo discreto y de valor discreto Señal de sensor: la pieza está: valor 1 (TRUE/VERDADERO), la pieza no está: valor 0 (FALSE/ FALSO) analógico Representación de una dimensión física Medición de temperatura Entradas Las señales procedentes de la interfaz de bus de campo para el control Señal de sensor: Garra abierta/garra cerrada Salidas Las señales enviadas a través de la interfaz de bus de campo para el control de los periféricos Instrucción para la conexión de una válvula que provoca que se cierre un par de manipuladores En la programación de robots de KUKA se utilizan señales de entrada y salida para instrucciones lógicas: OUT | Conexión de una salida en un lugar determinado del programa WAIT FOR | Función de espera dependiente de una señal: la unidad de mando espera una señal: Entrada IN Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 131 / 181 Programación de robots 1 7.2 Salida OUT Señal horaria TIMER Dirección de memoria interna (indicador/memoria de 1 bit) FLAG o CYCFLAG (cuando se evalúe cíclicamente de manera constante WAIT | Función de espera dependiente del tiempo: la unidad de mando espera en esta posición del programa durante un periodo de tiempo registrado Programación de funciones de espera Procesamiento en avance La computarización en movimiento de avance lee (de manera invisible para el usuario) los pasos de movimiento en avance para poder permitir el control de la planificación de la trayectoria en instrucciones de aproximación. No sólo se ejecutan datos de movimiento con el avance sino también instrucciones aritméticas y de control de los periféricos. Fig. 7-2: Procesamiento en avance 1 Posición del puntero de ejecución principal (barra gris) 2 Juego de instrucciones que activan una parada del movimiento de avance 3 Posible posición del puntero de movimiento de avance (no visible) Algunas instrucciones crean una parada de la ejecución en avance. A éstas le pertenecen, entre otras, instrucciones que tengan influencia sobre la periferia, por ejemplo, instrucciones OUT (Cerrar garra, Abrir garra de soldadura). Si se para el puntero de movimiento de avance, no es posible un posicionamiento aproximado. Funciones de espera Las funciones de espera de un programa de movimiento son fácilmente programables a través de los formularios inline. Así, se distingue entre función de espera dependiente del tiempo y función de espera dependiente de señales. Con WAIT se detiene el movimiento del robot durante un periodo de tiempo programado. WAIT genera una parada del procesamiento en avance. Fig. 7-3: Formulario inline WAIT 132 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot Pos. 1 Descripción Tiempo de espera ≥0s Programa de ejemplo: PTP P1 Vel=100% PDAT1 PTP P2 Vel=100% PDAT2 WAIT Time=2 sec PTP P3 Vel=100% PDAT3 Fig. 7-4: Movimiento ejemplar para lógica Pos. Observación 1 El movimiento se interrumpe para 2 segundos en el punto P2. WAIT FOR determina una función de espera dependiente de señales. En caso necesario, pueden combinarse de forma lógica varias señales (máximo 12). Si se agrega una combinación lógica, en el formulario inline aparecen campos para las señales adicionales y para más combinaciones. Fig. 7-5: Formulario inline WAITFOR Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 133 / 181 Programación de robots 1 Pos. 1 Descripción Agregar la combinación lógica externa. El operador se ubica entre las expresiones colocadas entre paréntesis. AND OR EXOR Agregar NOT. NOT [vacío] Agregar el operador deseado utilizando el correspondiente botón. 2 Agregar la combinación lógica interna. El operador se ubica dentro de una expresión colocada entre paréntesis. AND OR EXOR Agregar NOT. NOT [vacío] Agregar el operador deseado utilizando el correspondiente botón. 3 Señal la cual se está esperando IN OUT CYCFLAG TIMER FLAG 4 Número de la señal 5 Si la señal ya tiene nombre, éste se muestra. 1 … 4096 Sólo para el grupo del expertos: Pulsando en Texto largo puede introducirse un nombre. Se puede escoger cualquier nombre. 6 CONT: Procesamiento en movimiento de avance [vacío]: Procesamiento con parada del movimiento de avance Durante la utilización de la entrada CONT debe asegurarse de que se va a consultar la señal en el movimiento de avance. Las modificaciones en la señal no se reconocen una vez transcurrido el periodo de avance. Combinaciones lógicas En la utilización de funciones de espera dependientes de señales se pueden utilizar también combinaciones lógicas. Gracias a las combinaciones lógicas se pueden combinar las consultas de diferentes señales o estados: p. ej., pueden tanto establecerse dependencias como excluirse determinados estados. El resultado de una función con un operador lógico proporciona siempre un valor de verdad, es decir, el resultado final siempre es "VERDADERO" (valor 1) o "FALSO" (valor 0). 134 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot Fig. 7-6: Ejemplo y principio de una combinación lógica Los operadores para las combinaciones lógicas son: Procesamiento con y sin movimiento de avance (CONT) NOT | este operador se utiliza para la negación, es decir, el valor se invierte (de "VERDADERO" pasa a "FALSO"). AND | el resultado de la expresión es verdadero si ambas expresiones combinadas son verdaderas. OR | el resultado de la expresión es verdadero si al menos una de las expresiones combinadas es verdadera. EXOR | el resultado de la expresión es verdadero cuando ambas afirmaciones combinadas por este operador presentan diferentes valores de verdad. Las funciones de espera dependientes de señales pueden programarse con y sin el procesamiento en movimiento de avance. Sin movimiento de avance significa que, en cada caso, se detiene el movimiento en el punto y se controla la señal: (1) (>>> Fig. 7-7 ). El punto tampoco puede repasarse. Fig. 7-7: Movimiento ejemplar para lógica PTP P1 Vel=100% PDAT1 PTP P2 CONT Vel=100% PDAT2 WAIT FOR IN 10 'door_signal' PTP P3 Vel=100% PDAT3 Con movimiento de avance, las funciones de espera dependientes de señales programadas permiten que se pueda repasar antes del punto creado antes de la línea de instrucción. No obstante, la anterior posición del puntero de movimiento de avance no es clara (valor estándar: tres conjuntosde movimientos), por lo que el momento exacto para el control de la señal es indefinido (1) (>>> Fig. 7-8 ). Además, no se reconocerán las modificaciones en la señal tras el control de la señal. Fig. 7-8: Movimiento ejemplar para lógica con avance Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 135 / 181 Programación de robots 1 PTP P1 Vel=100% PDAT1 PTP P2 CONT Vel=100% PDAT2 WAIT FOR IN 10 'door_signal' CONT PTP P3 Vel=100% PDAT3 Procedimiento 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción lógica. 2. Seleccionar la secuencia de menú Instrucciones > Lógica > WAIT FOR o WAIT. 3. Declarar los parámetros en el formulario inline. 4. Guardar la instrucción pulsando Instruc.OK. 7.3 Programación de funciones de conmutación simples Función de conmutación simple Mediante una acción de conmutación puede enviarse una señal digital a los periféricos. Para ello, se utiliza el número de salida que se definió previamente para la interfaz. Fig. 7-9: Conectar estática La señal será estática, es decir, se mantiene en tanto que la salida se ocupe con otro valor. La función de conmutación se ejecuta en el programa mediante un formulario inline: Fig. 7-10: Formulario inline OUT Pos. 1 Descripción Número de la salida 2 1 … 4096 Si para la salida existe ya un nombre, éste se muestra. Sólo para el grupo del expertos: Pulsando en Texto largo puede introducirse un nombre. Se puede escoger cualquier nombre. 3 4 136 / 181 Estado en el que la salida se conecta TRUE FALSE CONT: Procesamiento en movimiento de avance [vacío]: Procesamiento con parada del movimiento de avance Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot Durante la utilización de la entrada CONT debe asegurarse de que se va a establecer la señal en el movimiento de avance. Funciones pulsadas de conmutación Tal y como se produce en la función de conmutación simple, aquí también se modifica el valor para una salida. No obstante, con las pulsaciones se puede anular la señal transcurrido un periodo de tiempo definido. Fig. 7-11: Nivel pulsado La programación se realiza también con un formulario inline en el que se determina un impulso con una duración determinada. Fig. 7-12: Formulario inline PULSE Pos. 1 Descripción Número de la salida 2 1 … 4096 Si para la salida existe ya un nombre, éste se muestra. Sólo para el grupo del expertos: Pulsando en Texto largo puede introducirse un nombre. Se puede escoger cualquier nombre. 3 Estado en el que la salida se conecta TRUE: Nivel "High" FALSE: Nivel "Low" 4 CONT: Procesamiento en movimiento de avance [vacío]: Procesamiento con parada del movimiento de avance 5 Longitud del impulso Efectos de CONT en las funciones de conmutación 0,10 … 3,00 s Si se suprime la entrada CONT en el formulario inline OUT, se fuerza una parada del movimiento de avance en el proceso de conmutación y se produce una parada exacta en el punto antes de la instrucción de conmutación. Tras establecer la salida se continúa con el movimiento. LIN LIN LIN OUT LIN P1 Vel=0.2 m/s CPDAT1 P2 CONT Vel=0.2 m/s CPDAT2 P3 CONT Vel=0.2 m/s CPDAT3 5 'rob_ready' State=TRUE P4 Vel=0.2 m/s CPDAT4 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 137 / 181 Programación de robots 1 Fig. 7-13: Movimiento ejemplar con conmutación con parada del procesamiento en avance El efecto producido por el establecimiento de la entrada CONT es que el puntero de movimiento de avance no se va a mantener (no se provoca ninguna parada del movimiento de avance). De este modo se puede aproximar un movimiento antes de la instrucción de conmutación. El establecimiento de la señal se produce en el movimiento de avance. LIN LIN LIN OUT LIN P1 Vel=0.2 m/s CPDAT1 P2 CONT Vel=0.2 m/s CPDAT2 P3 CONT Vel=0.2 m/s CPDAT3 5 'rob_ready' State=TRUE CONT P4 Vel=0.2 m/s CPDAT4 Fig. 7-14: Movimiento ejemplar con conmutación en el avance El valor estándar para el puntero de movimiento de avance es de tres líneas. No obstante, el movimiento de avance puede variar, es decir, debe tenerse en cuenta que el momento de conmutación no siempre es el mismo. Procedimiento 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción lógica. 2. Seleccionar la secuencia de menú Instrucciones > Lógica > OUT > OUT o PULSE. 3. Declarar los parámetros en el formulario inline. 4. Guardar la instrucción pulsando Instruc.OK. 7.4 Programación de funciones de conmutación de trayectoria En general 138 / 181 Es posible utilizar una función de conmutación de trayectoria para establecer una salida en un punto concreto de la trayectoria sin tener que interrumpir el movimiento del robot. En este caso, se distingue entre la conmutación "estática" (SNY OUT) y la "dinámica" (SYN PULSE). Así, para la conmutación de Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot un SYN OUT 5 se utiliza la misma señal que para un SYN PULSE 5, pero el modo en que se va a conectar es diferente. Opción Start/End Una función de conmutación puede ser disparada con referencia al punto de arranque o al de destino dentro de un paso de movimiento. La función de conmutación puede aplazarse en el tiempo. El paso de movimiento de referencia puede ser un movimiento LIN, CIRC o PTP. Fig. 7-15: Formulario inline SYN OUT, opción START Fig. 7-16: Formulario inline SYN OUT, opción END Pos. Descripción Rango de valores 1 Número de la salida 1 … 4096 2 Si para la salida existe ya un nombre, éste se muestra. A libre elección Sólo para el grupo del expertos: Pulsando la tecla de función Texto largo puede introducirse un nombre. 3 Estado, al cual se ha de activar o colocar la salida. TRUE, FALSE 4 Punto en el que se conecta START, END 5 START: se conmuta referido al punto de inicio del paso de movimiento. END: se conmuta referido al punto de destino del paso de movimiento. Desplazamiento en el tiempo de la acción de conmutación Opción PATH: -1000 … +1000 ms Indicación: El tiempo se indica en valores absolutos. La posición del punto de conmutación se modifica en función de la velocidad del robot. Opción PATH Con la opción PATH es posible activar una función de conmutación con referencia al punto de destino de un paso de movimiento. La acción de conmutación puede ser desplazada en el espacio y/o en el tiempo. El paso de movimiento de referencia puede ser un movimiento LIN o CIRC. No puede ser un movimiento PTP. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 139 / 181 Programación de robots 1 Fig. 7-17: Formulario inline SYN OUT, opción Path Pos. Descripción Rango de valores 1 Número de la salida 1 … 4096 2 Si para la salida existe ya un nombre, éste se muestra. A libre elección Sólo para el grupo del expertos: Pulsando la tecla de función Texto largo puede introducirse un nombre. 3 Estado, al cual se ha de activar o colocar la salida. TRUE, FALSE 4 Punto en el que se conecta START, END 5 PATH: se conmuta referido al punto de destino del paso de movimiento. Desplazamiento en el espacio de la acción de conmutación Opción PATH: -1000 … +1000 ms Indicación: la indicación del lugar hace clara referencia al punto de destino del paso de movimiento. Así, la posición del punto de conmutación no se modifica modificando la velocidad del robot. 6 Desplazamiento en el tiempo de la acción de conmutación Indicación:El desplazamiento en el tiempo está relacionado con el desplazamiento en el espacio. Efecto de la opciones de conmutación Start/End Programa de ejemplo 1: opción Start Fig. 7-18: Arranque SYN OUT con retraso positivo 140 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot LIN P1 VEL=0.3m/s CPDAT1 LIN P2 VEL=0.3m/s CPDAT2 ;Schaltfunktion bezogen auf P2 SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=20ms LIN P3 VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Programa de ejemplo 2: Opción Start con CONT y retraso positivo Fig. 7-19: Arranque SYN OUT con CONT y retraso positivo LIN P1 VEL=0.3m/s CPDAT1 LIN P2 CONT VEL=0.3m/s CPDAT2 ;Schaltfunktion bezogen auf P2 SYN OUT 8 'SIGNAL 8' State= TRUE at Start Delay=10ms LIN P3 CONT VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Programa de ejemplo 3: Opción End con retraso negativo Fig. 7-20: SYN OUT END con retraso negativo LIN P1 VEL=0.3m/s CPDAT1 LIN P2 VEL=0.3m/s CPDAT2 ;Schaltfunktion bezogen auf P3 SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-20ms LIN P3 VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Programa de ejemplo 4: Opción End con CONT y retraso negativo Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 141 / 181 Programación de robots 1 Fig. 7-21: SYN OUT con opción END con retraso negativo LIN P1 VEL=0.3m/s CPDAT1 LIN P2 VEL=0.3m/s CPDAT2 ;Schaltfunktion bezogen auf P3 SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=-10ms LIN P3 VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Programa de ejemplo 5: Opción End con CONT y retraso positivo Fig. 7-22: SYN OUT con opción END con retraso positivo LIN P1 VEL=0.3m/s CPDAT1 LIN P2 VEL=0.3m/s CPDAT2 ;Schaltfunktion bezogen auf P3 SYN OUT 9 'SIGNAL 9' Status= TRUE at End Delay=10ms LIN P3 VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Límites de conmutación sin CONT: 142 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot Fig. 7-23: Límites de conmutación, opción Start/End sin CONT Límites de conmutación con CONT: Fig. 7-24: Límites de conmutación, opción Start/End con CONT Efecto de la opción de conmutación Path Programa de ejemplo: Debe conectarse una fresadora en la trayectoria. El procesamiento del componente debe iniciarse libremente a 20 mm de P3. Para que la fresadora alcance su velocidad máxima a 20 mm de P3 (path = 20), debe haberse conectado 5 ms antes (retraso = -5 ms). Fig. 7-25 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 143 / 181 Programación de robots 1 LIN P1 VEL=0.3m/s CPDAT1 ;Schaltfunktion bezogen auf P2 SYN OUT 9 'SIGNAL 9' Status= True Path=20 Delay=-5ms LIN P2 CONT VEL=0.3m/s CPDAT2 LIN P3 CONT VEL=0.3m/s CPDAT3 LIN P4 VEL=0.3m/s CPDAT4 Límites de conmutación Fig. 7-26 Procedimiento 1. Colocar el cursor en la línea detrás de la cual se insertará la instrucción lógica. 2. Seleccionar la secuencia de menú Instrucciones > Lógica > OUT > SYN OUT o SYN PULSE. 3. Declarar los parámetros en el formulario inline. 4. Guardar la instrucción pulsando Instruc.OK. 7.5 Ejercicio: Instrucciones lógicas y funciones de conmutación Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Programar instrucciones lógicas sencillas Efectuar funciones de conmutación sencillas Efectuar funciones de conmutación referidas a la trayectoria Programar funciones de espera dependientes del estado de señales Los siguientes requisitos son necesarios para completar este ejercicio correctamente: 144 / 181 Conocimientos teóricos de la programación de instrucciones lógicas sencillas Conocimientos de funciones de conmutación sencillas Conocimientos de funciones de impulso sencillas Conocimientos de funciones de conmutación en función de la trayectoria Conocimientos de funciones de impulso en función de la trayectoria Conocimientos de funciones de espera Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 7 Usar funciones lógicas en el programa del robot Formulación Ejecutar las siguientes tareas: Programación lógica contorno de pieza 1 con aplicación de adhesivo 1. Cree un duplicado del programa Pieza1_CONT con la denominación Contorno de pegado 2. Amplíe el programa por la funcionalidad lógica siguiente: Antes de abandonar la posición HOME, el PLC debe producir una señal de habilitación (entrada 11). 0,5 segundos antes de alcanzar la pieza, la boquilla de pegamento debe activarse (salida 13). En el punto de transición del plano a la curvatura de la pieza debe conmutarse una lámpara de señal que debe apagarse de nuevo en el punto de transición de la curvatura al plano (salida 12). 0,75 segundos antes de abandonar la pieza, la boquilla de pegamento debe desactivarse de nuevo (salida 13). 50 mm antes de terminar el tratamiento de la pieza, el PLC debe recibir un aviso de tarea finalizada. La señal (salida 11) para el PLC debe estar presente durante 2 segundos. 3. Comprobar el programa según prescripción. Fig. 7-27: Entradas y salidas: Aplicación de adhesivo 1 Contorno de la pieza 1 2 Dirección del desplazamiento 3 Base de referencia 4 Punto de inicio y punto final del componente 5 Transición plano - curvatura 6 Transición curvatura - plano 7 Punto antes del extremo de la pieza Preguntas sobre el ejercicio 1. ¿Cuál es la diferencia entre las instrucciones OUT y OUT CONT? ¿Qué debe tenerse en cuenta? ............................................................ ............................................................ 2. ¿En qué se diferencian las instrucciones PULSE y OUT? ............................................................ ............................................................ 3. ¿Cuando se utilizan las indicaciones SYN OUT? ............................................................ ............................................................ 4. ¿Existen restricciones para las instrucciones SYN OUT Path en relación con la programación de movimiento? Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 145 / 181 Programación de robots 1 ............................................................. ............................................................. 5. ¿Cuáles son los peligros que se presentan al utilizar la instrucción WAIT FOR con una instrucción CONT? ............................................................. ............................................................. 146 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 8 Uso de variables 8 Uso de variables 8.1 Indicación y modificación de valores de variables Resumen de variables Las variables son marcadores de posición para las unidades de cálculo ("valores") que se presentan durante un proceso computarizado. Las variables se identifican mediante su espacio de almacenamiento, tipo, nombre y contenido. Fig. 8-1: Identificación de variables El espacio de almacenamiento para una variable es de gran importancia para su validez. Una variable global está instalada en los archivos del sistema y es válida para todos los programas. Una variable local está instalada en el programa de aplicación y, por tanto, es válida únicamente para el programa en curso (y, así, únicamente será legible). Ejemplos de variables utilizadas Disponibilidad y valides de las variables en la visualización Variable Espacio de almacenamiento Tipo Nombre Valor Herramienta actual global | variable del sistema de KUKA Número entero $ACT_T OOL 5 Base actual global | variable del sistema de KUKA Número entero $ACT_B ASE 12 Contador de piezas local | programa de aplicación Número entero Contador 3 Valor angular negativo para el interruptor de final de carrera de software del eje 2 global | machine.dat Número decimal $SoftN_ End[2] -104.5 Estado de error global | p. ej. en config.dat Valor VERDADERO/ FALSO Avería true El espacio de almacenamiento necesario para una variable es de gran relevancia para sus posibilidades de visualización: global | Si la variable es global, puede visualizarse en cualquier momento. En tal caso, la variable debe estar almacenada en un archivo de sistema (p. ej., config.dat, machine.dat) o almacenada como variable global en una lista de datos local. local | Estas variables pueden diferenciarse entre variables locales en el programa Archivo (.src) o locales en la lista de datos local (*.dat). En caso de que la variable esté declarada en el archivo .src, existe en tanto que se ejecute el programa. En este caso se denominan "variables de duración temporal". En caso de que haya una variable declarada localmente en el Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 147 / 181 Programación de robots 1 archivo .dat, únicamente la reconoce el programa correspondiente pero mantiene su valor tras seleccionar el programa. Mostrar y modificar el valor de una variable 1. Seleccionar en el menú principal la secuencia Indicación > Variable > Únicos. Se abre la ventana Variables Indicación-Únicos. 2. Introducir el nombre de la variable en el campo Nombre. 3. Cuando un programa está seleccionado, el programa se incluye automáticamente en el campo Módulo. Si debe mostrarse una variable de otro programa, introducir el programa como sigue: /R1/Nombre de programa No indicar ninguna carpeta entre /R1/ y el nombre del programa. No indicar ninguna extensión de fichero al nombrar el programa. 4. Pulsar la tecla Enter. En el campo Valor actual se visualiza el valor actual de la variable. Si no se indica nada, entonces significa que todavía no se ha asignado ningún valor a la variable. 5. Introducir el valor que se desee en el campo Nuevo valor. 6. Pulsar la tecla Enter. En el campo Valor actual aparece el nuevo valor. Fig. 8-2: Ventana Mostar variable, individual Pos. Descripción 1 Nombre de la variable que debe modificarse. 2 Nuevo valor que se debe asignar a la variable. 3 Programa en el cual se busca la variable. En las variables del sistema el campo Módulo no es relevante. 4 Este campo tiene dos estados: : el valor mostrado no se actualiza de forma automática. : el valor mostrado se actualiza de forma automática. Para alternar entre los diferentes estados: 148 / 181 pulsar Actualizar. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 8 Uso de variables 8.2 Consultar los estados del robot Valores internos del sistema Pueden obtenerse muchas informaciones relativas al estado del robot mediante la consulta de valores internos del sistema. Estos valores pueden consultarse en cualquier momento. Estos valores internos del sistema se denominan "Variables del sistema" Una variable es un espacio de almacenamiento reservado. Este espacio de almacenamiento (también denominado "Marcador de posición para valores") dispone siempre de un nombre y una dirección determinada en la memoria del ordenador. Para consultar los estados del robot se dispone, entre otras, de las siguientes variables de sistema: Temporizador (Timer) Indicadores (Flag) Contador Las señales de entrada y salida (IN/OUT) también se administran como variables del sistema. Variable del sistema Ejemplo de utilización de la consulta $TIMER[1..64] Comprobación de tiempos de espera del robot (refrigeración de componentes, tiempo de espera debido a la duración del proceso, etc.) $FLAG[1..1024] Los indicadores que se colocaron en un lugar del programa también pueden consultarse fuera del programa (global) $CYCFLAG[1..256] Los indicadores cíclicos se evalúan permanentemente de manera adicional. I[1..20] Contador que se encarga de contar las operaciones de procesamiento $IN[1..4096] Comprobar si hay una garra abierta o cerrada (los sensores de la garra comunican el estado a través de una señal de entrada) $OUT[1..4096] Comprobar una instrucción de la garra (una señal de salida se encarga de transmitir una instrucción a los actuadores de la garra) Características de variables del sistema Las variables del sistema de KUKA empiezan siempre con un símbolo "$". Estas variables se pueden consultar siempre, pues siempre son válidas. Como espacio de almacenamiento se utilizan las listas de datos globales. Visualización de informaciones del sistema Procedimiento para visualizar marcas, contadores y temporizadores: Seleccionar en el menú principal la secuencia Indicación > Variable. Se pueden seleccionar diferentes variables del sistema: Marcas cíclicas Marcas Contador Temporizador Procedimiento para visualizar entradas y salidas: Seleccionar en el menú principal la secuencia Indicación > Entradas/salidas > Entradas digitales o Salidas digitales. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 149 / 181 Programación de robots 1 8.3 Ejercicio: Visualización de variables del sistema Objetivo del ejercicio Requisitos Formulación Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Abrir la visualización de las variables Visualización de variables del sistema Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos sobre la visualización de variables del sistema Conocimientos teóricos sobre variables del sistema Ejecutar las siguientes tareas: 1. Abrir la visualización de las variables 2. Permitir la visualización de la posición inicial actual (nombre de la variable: XHOME) 3. Permitir la visualización de la posición actual del robot (nombre de la variable: $pos_act) 4. Determinar la posición del interruptor de final de carrera del software para los ejes 1 a 3 del robot (nombre de la variable: $softn_end[eje] y $softp_end[eje]) 5. Determinar el valor del puntero de movimiento de avance (nombre de la variable: $advance) 150 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 Utilizar paquetes tecnológicos 9 Utilizar paquetes tecnológicos 9.1 Manejo de las garras con KUKA.GripperTech Paquete de tecnología KUKA.GripperTec h KUKA.Gripper&SpotTech es un paquete software de tecnología para instalación posterior. Simplifica la utilización de una garra con respecto a: Para el servicio de la garra son necesarias las siguientes teclas de estado: Tecla de estado Descripción Seleccionar la garra. Se muestra el número de la garra. Al accionar la tecla superior se cuentan empezando desde arriba. Al accionar la tecla inferior se cuentan empezando desde abajo. Cambiar entre los diferentes estados de la garra (p. ej., abrir o cerrar). No se muestra el estado actual. Los estados disponibles dependen del tipo de garra configurado. en el caso de pinzas de soldadura: los estados disponibles dependen de la configuración del control manual de la pinza. Procedimiento para el manejo de las garras Antes de poder manejar una garra con las teclas de estado, estas deberán activarse. Seleccionar en el menú principal la secuencia Configuración > Teclas de estado > GripperTech. ¡Advertencia! Al utilizar el sistema de garras existe riesgo de aplastamiento y corte. Aquellos que manejen las garras deben asegurarse de que no puedan quedar atrapados. 1. Seleccionar la garra con la tecla de estado. 2. Activar el modo de servicio T1 o T2. 3. Accionar el pulsador de validación. 4. Manejar la garra con la tecla de estado. 9.2 Programación de garra con KUKA.GripperTech Programación de instrucciones de la garra Con el paquete de tecnología KUKA.GripperTech es posible programar directamente en el programa seleccionado las instrucciones de la garra utilizando los formularios inline ya preparados. Existen dos instrucciones disponibles: SET Gripper | Instrucción para abrir/cerrar la garra en el programa CHECK Gripper | Instrucción para comprobar la posición de la garra Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 151 / 181 Programación de robots 1 Funciones de la programación de garra Instrucción de garra durante el movimiento Básicamente, es posible programar la instrucción de garra de tal manera que se ejecute respecto al punto de inicio o de destino. Por tanto, en el formulario inline únicamente necesario activar la entrada CONT e introducir la duración del retraso en ms (Retraso) Fig. 9-1: Esquema de retardo Debe seleccionarse una instrucción de garra con procesamiento durante el movimiento, ya que el uso imprudente puede provocar daños personales o materiales por piezas suspendidas o colisiones. Ajustes de garra a aplicar durante la parada exacta Fig. 9-2: Ajustes de garra Procedimiento para la programación de garra Utilizar el control de las garras: En caso de que el control de las garras se active con ON, se consultará la técnica de sensores parametrizada. En caso de respuesta defectuosa de los sensores, se produce un error de Timeout con la posibilidad de realizar una simulación del sensor en modo de prueba. En caso de que no se desconecte el control de las garras con OFF, se esperará durante el tiempo de espera parametrizado antes de continuar con el programa. Procedimiento 1. Seleccionar la secuencia de menú Instrucciones > GripperTech > Gripper. 2. Declarar los parámetros en el formulario inline. 3. Guardar con Instrucción OK. 152 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 Utilizar paquetes tecnológicos Fig. 9-3: Formulario inline Gripper con aproximación Fig. 9-4: Formulario inline Gripper sin posicionamiento aproximado Pos. 1 Descripción Seleccionar la garra. 2 3 4 5 en la selección se incluyen todas las garras configuradas. Seleccionar el estado de conmutación de la garra. La cantidad depende del tipo de garra. La denominación depende de la configuración. Procesamiento en movimiento de avance. CONT: Procesamiento en movimiento de avance. [vacío]: Procesamiento con parada del movimiento de avance. El campo únicamente está disponible al seleccionar CONT. START: La acción de garra se realiza en el punto de inicio del movimiento. END: La acción de garra se realiza en el punto de destino del movimiento. El campo únicamente está disponible al seleccionar CONT. Determinar el tiempo de espera en el cual se ejecuta la función de garra respecto al punto de inicio o de destino del movimiento. 6 -200 ... 200 ms Juego de datos con parámetros de garra Fig. 9-5: Ajustes de garra Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 153 / 181 Programación de robots 1 Pos. 1 Descripción Tiempo de espera tras el que se va a continuar el movimiento programado 2 control de las garras 9.3 0 … 10 s OFF (por defecto), ON Configuración de KUKA.GripperTech Posibilidades de configuración y tipos de garra KUKA.GripperTech ofrece la posibilidad de configurar las garras de manera autónoma. Están disponibles cinco tipos predefinidos de garra. De manera adicional, pueden configurarse garras definidas por el usuario. Se pueden configurar hasta 16 tipos diferentes de garras en la unidad de control. Tipos de garra 154 / 181 Tipo OUT IN Estados Ejemplo Modelo 1 2 4 2 Garra simple con función DESCON. y CON. Modelo 2 2 2 3 Carros con posición intermedia Modelo 3 2 2 3 Garra de vacío con las funciones ASPIRACIÓN, SOPLADO, DESCON. Modelo 4 3 2 3 Como el tipo 3, pero con tres salidas de control Modelo 5 2 4 2 Como el tipo 1, pero con impulso en lugar de señal continua libre Configurable Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 Utilizar paquetes tecnológicos Fig. 9-6: Ejemplo: garra predefinida Pos. 1 Descripción Número de la garra 2 1 … 16 Nombre de la garra El nombre se muestra en el formulario inline. El nombre asignado por defecto se puede modificar: 3 4 1 … 24 caracteres Tipo Para la garra predefinida: 1 … 5 Denominación del tipo de garra (se actualiza tras guardar) La denominación no se puede modificar. 5 Asignación de los números de salida Para las salidas que no sean necesarias se puede asignar "0". Así, se detecta inmediatamente que no se están utilizando. En caso de que a pesar de lo mencionado arriba, se les asigna un número, este no tendrá efecto alguno. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 155 / 181 Programación de robots 1 Pos. 6 Descripción Asignación de los números de entrada Para las entradas que no sean necesarias se puede asignar "0". Así, se detecta inmediatamente que no se están utilizando. En caso de que a pesar de lo mencionado arriba, se les asigna un número, este no tendrá efecto alguno. 7 Estados de conmutación Los nombres asignados por defecto se pueden modificar: Los nombres se muestran en el formulario inline, siempre y cuando se haya seleccionado en el mismo la garra correspondiente. Tipos libres de garra Para poder satisfacer todas las necesidades del usuario, se ha integrado un tipo de garra programable. Mediante entradas en los archivos $CONFIG.DAT, USERGRP.DAT y USER_GRP.SRC pueden configurarse todas las garras definibles que se deseen. Para más información sobre la configuración de garras, pueden consultarse las instrucciones de servicio KUKA System Technology KUKA.Gripper&SpotTech 3.0. Procedimiento para la configuración de garras Configuración con el tipo de garra predefinido 1. Seleccionar en el menú principal la secuencia Configuración > Entradas/Salidas > Garra. Se abre una ventana. 2. Seleccionar el número de garra deseado con Continuar o Previo. 3. Si se desea, modificar los nombres de la garra otorgados por defecto. 4. Asignar a la garra un tipo entre 1 y 5. 5. Asignar las entradas y las salidas. 6. Si se desea, modificar los nombres de los estados otorgados por defecto. 7. Guardar la configuración con Modificar. 9.4 Ejercicio: Programación de la garra - placa Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Programación de instrucciones para mando y control de garras y pinzas (KUKA.Gripper & SpotTech) Activar y trabajar con teclas de estado específicas de la tecnología Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Formulación Conocimientos teóricos del paquete de tecnología KUKA.Gripper & SpotTech Ejecutar las siguientes tareas: Tomar y descargar placa 1. Cree un nuevo programa con la denominación Tomar_placa, utilice la herramienta garra y la base azul. 2. Programar por aprendizaje el proceso Tomar placa de modo que se obtenga la posición de descarga y de toma representada en la figura (>>> Fig. 9-7 ). 3. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. 4. Cree un segundo programa con la denominación Descargar_placa, utilice la base necesaria y la herramienta correspondiente. 156 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 Utilizar paquetes tecnológicos 5. Programe por aprendizaje el proceso Descargar placa. 6. Compruebe el programa en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. 7. Archive sus programas. Fig. 9-7: Placa con posición de descarga 1 Cartel 2 Posición de descarga Lo que se debe saber tras el ejercicio: 1. Cuándo se debe efectuar una instrucción sobre seguridades? (por lo menos 4 respuestas) ............................................................ ............................................................ ............................................................ ............................................................ 2. ¿Cuál es la función de un dispositivo de liberación en el robot KUKA? ............................................................ ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 157 / 181 Programación de robots 1 9.5 Ejercicio: Programación de la garra, clavija Objetivo del ejercicio Requisitos Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Programación de instrucciones para mando y control de garras y pinzas (KUKA.Gripper & SpotTech) Activar y trabajar con teclas de estado específicas de la tecnología Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos teóricos del paquete de tecnología KUKA.Gripper & SpotTech Formulación Ejecutar las siguientes tareas: Tomar y descargar clavija 1 1. Cree dos nuevos programas con la denominación Tomar_clavija 1 y Descargar_clavija1 2. Al programar disfrute las ventajas de la dirección de avance de la herramienta en el desplazamiento manual. 3. Tenga en cuenta que al tomar y descargar en el depósito de clavijas, la velocidad de desplazamiento no sea mayor que 0,3 m/s. 4. Antes de tomar la clavija, efectúe una pregunta de seguridad respecto a la posición de la garra. Fig. 9-8: Depósito de clavijas 1 Depósito de clavijas 2 Clavija 1 3 Clavija 2 4 Clavija 3 Preguntas sobre el ejercicio 1. Cuál es la diferencia entre un tiempo de espera y el control de garra ON/ OFF? ............................................................. ............................................................. 2. Aparece el aviso Posicionamiento aproximado no posible como texto de mensaje. Cuáles son las causas posibles para ello? 158 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 9 Utilizar paquetes tecnológicos ............................................................ ............................................................ ............................................................ 3. Cuántos tipos de garra estándar KUKA existen? ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 159 / 181 Programación de robots 1 160 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL 10 Programar con éxito en KRL 10.1 Estructura y composición de programas de robot Control de la ejecución del programa Además de las instrucciones de movimiento y comunicación puras (funciones de conmutación y espera), los programas de robot albergan una gran cantidad de rutinas útiles para el control de la ejecución del programa. Entre ellas se cuentan: Bucle infinito Bucles | Los bucles son estructuras de control. Se repiten en un bloque de instrucción hasta que se produce una condición de interrupción. Bucles infinitos Bucles de conteo Bucles finitos e infinitos Ramificaciones | La utilización de ramificaciones permite ejecutar secciones del programa únicamente en determinadas condiciones. Ramificaciones condicionadas Ramificaciones múltiples Un bucle infinito repite con una frecuencia constante e infinita el bloque de instrucciones. No obstante, este bucle puede abandonarse mediante una cancelación anticipada (con la función EXIT). Fig. 10-1: Plano de desarrollo del programa: Bucle sinfín Ejemplo de una instrucción LOOP: sin EXIT las instrucciones de movimiento para P1 y P2 se ejecutan de manera permanente. LOOP PTP P1 Vel=100% PDAT1 PTP P2 Vel=100% PDAT2 ENDLOOP con EXIT las instrucciones de movimiento para P1 y P2 se ejecutan hasta que se conmute la entrada 30 en TRUE. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 161 / 181 Programación de robots 1 LOOP PTP P1 Vel=100% PDAT1 PTP P2 Vel=100% PDAT2 IF $IN[30]==TRUE THEN EXIT ENDIF ENDLOOP Bucle de recuento Con el bucle de recuento (bucle FOR), es posible repetir instrucciones para una cantidad definida. La cantidad de ejecuciones se controla con ayuda de una variable de recuento. Fig. 10-2: Plano de desarrollo del programa: Bucle FOR Ejemplo para un bucle FOR: Las salidas 1 a 5 se conectan una detrás de otra en TRUE. Para el recuento de ejecuciones en un bucle se utiliza la variable de números enteros (Entera) "i". INT i ... FOR i=1 TO 5 $OUT[i] = TRUE ENDFOR Bucle finito 162 / 181 Un bucle WHILE es un bucle finito o preliminar al que se le va a comprobar la condición de interrupción antes de que se ejecute la sección de instrucción del bucle. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL Fig. 10-3: Plan de ejecución del programa WHILE Ejemplo para un bucle WHILE: La salida 17 se conectará en TRUE, la salida 18 se conectará en FALSE y el robot se desplazará a la posición inicial únicamente cuando se cumpla la condición (entrada 22 TRUE) al comienzo del bucle. WHILE $IN[22]==TRUE $OUT[17]=TRUE $OUT[18]=FALSE PTP HOME ENDWHILE Bucle infinito Un bucle REPEAT es un bucle infinito o verificable al que se le va a comprobar la condición de interrupción después que se ejecute por primera vez la sección de instrucción del bucle. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 163 / 181 Programación de robots 1 Fig. 10-4: Plan de ejecución del programa REPEAT Ejemplo para un bucle REPEAT: La salida 17 se conectará en TRUE, la salida 18 se conectará en FALSE y el robot se desplazará a la posición inicial. Solo entonces se comprobará la condición. REPEAT $OUT[17]=TRUE $OUT[18]=FALSE PTP HOME UNTIL $IN[22]==TRUE Ramificación condicionada Una ramificación condicionada (consulta IF) está compuesta por una condición y dos secciones de instrucción. En cuanto se cumple la condición, puede ejecutarse la primera instrucción. Si no se cumple la condición, se ejecuta la segunda instrucción. Para una consulta IF se disponen también ciertas alternativas: 164 / 181 La segunda sección de instrucción puede omitirse: consulta IF sin ELSE. Por tanto, en caso de que no se cumpla la condición, el programa continuará directamente tras la ramificación. Es posible intercalar varias consultas IF (ramificación múltiple): las consultas se ejecutan por orden hasta que se cumpla una condición. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL Fig. 10-5: Plano de desarrollo del programa: Ramificación IF Ejemplo para una consulta IF: cuando se ha cumplido la condición (la entrada 30 debe ser TRUE) el robot se desplaza al punto P3 o, si no, al punto P4. ... IF $IN[30]==TRUE THEN PTP P3 ELSE PTP P4 ENDIF Distribuidor Una ramificación SWITCH es un distribuidor o bien una ramificación múltiple. En este caso, se evalúa en primer lugar una expresión. A continuación, se compara el valor de la expresión con el valor de uno de los segmentos de caso (CASE). En caso de coincidencia se ejecutan las instrucciones del caso correspondiente. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 165 / 181 Programación de robots 1 Fig. 10-6: Plano de desarrollo del programa: Distribuidor SWITCH CASE Debe comprobarse en primer lugar la valencia de la variable de números enteros (Entera) con el nombre "estado". Si el valor de la variable es 1, se ejecuta el caso 1 (CASE 1): el robot se desplaza en el punto P5. Si el valor de la variable es 2, se ejecuta el caso 2 (CASE 2): el robot se desplaza en el punto P6. En caso de que el valor de la variable no se ejecuta en uno de los casos (aquí todos a excepción de 1 y ), se ejecutará la ramificación POR DEFECTO: un mensaje de error. INT status ... SWITCH status CASE 1 PTP P5 CASE 2 PTP P6 ... DEFAULT ERROR_MSG ENDSWITCH 10.2 Estructurar programas de robot Posibilidades de estructuración de un programa de robot Comentarios y marcas 166 / 181 La estructura de un programa de robot es un factor relevante para su valor de utilidad. Cuanto más estructurado esté un programa, más comprensible, efectivo, legible y rentable será. Para estructurar un programa pueden aplicarse las siguientes técnicas: Comentar | Comentarios y marcas Acoplar | Espacios en blanco Ocultar | Folds ("Plegar") Tecnología de módulos | Subprogramas La opción para añadir un comentario permite colocar un texto en el programa de robot dirigido a los lectores del programa. Por tanto, el intérprete de robot va a leer este texto. Se incluye únicamente para mejorar la legibilidad de un programa. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL Los comentarios pueden introducirse en el programa de robot con diferentes fines: Informaciones sobre el texto del programa | Autor, versión, fecha de creación Fig. 10-7: Ejemplo de comentario: informaciones Subdivisión del texto del programa | Especialmente si se utilizan elementos gráficos (caracteres especiales como #, *, ~,) Fig. 10-8: Ejemplo de comentario: Esquematización Definir comentario (nivel experto) | Al colocar un punto y coma al principio de una línea de programa, esta línea se define como comentario y se obviará en el flujo de ejecución del programa. Fig. 10-9: Ejemplo de comentario: Insertar punto y coma Aclaración de cada una de las líneas, así comoindicación sobre el trabajo a realizar | Identificación de partes del programa insuficientes Fig. 10-10: Ejemplo de comentario: Explicaciones El uso de comentarios tienen sentido únicamente si se mantienen actualizados. Es obligatorio actualizar los comentarios siempre que se realicen modificaciones en las instrucciones. Pueden introducirse diferentes tipos de comentarios: Punto y coma (nivel experto) | Al introducir un punto y coma (" ; ") se comenta la parte que sigue en la línea. Introducción del formulario inline "Comentario" Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 167 / 181 Programación de robots 1 Fig. 10-11: Formulario inline Comentario Pos. 1 Descripción Texto cualquiera Introducción del formulario inline "Marca" | Se incluye además una marca de tiempo. Asimismo, existe la posibilidad de introducir el nombre del editor de la marca. Fig. 10-12: Formulario inline Sello Pos. Insertar marcas y comentarios relativos al procedimiento Descripción 1 Fecha del sistema (no editable) 2 Hora del sistema (no editable) 3 Nombre o identificación del usuario 4 Texto cualquiera 1. Marcar la línea detrás de la cuales debe insertarse el comentario o la marca. 2. Seleccionar la secuencia de menú Instrucciones > Comentario > Normal o Marca. 3. Introducir los datos deseados. Si ya se introdujo anteriormente un comentario o una marca, el formulario inline contendrá las mismas indicaciones. En el caso de los comentarios, con Texto NUEVO es posible vaciar el campo para poder introducir texto nuevo. En el caso de las marcas, con Hora NUEVA es posible actualizar el sistema y con Nombre NUEVO, es posible vaciar el campo NOMBRE. 4. Guardar con Instrucción OK. Acoplar líneas de programa 168 / 181 Un método efectivo para aumentar la legibilidad de un programa de robot es el acoplamiento de líneas de programa. De este modo se consigue aclarar la relación entre módulos de programa. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL Fig. 10-13: Acoplar líneas de programa El efecto del acoplamiento es meramente visual. Durante la ejecución del programa las partes acopladas se procesan igual que las partes normales. Ocultar las líneas del programa a través de FOLD El lenguaje del robot de KUKA ofrece la posibilidad de agrupar y ocultar en FOLD las líneas del programa. Así, ciertas partes del programa no serán visi- bles para el usuario, lo que simplifica la lectura del programa. En el grupo de usuario Experto es posible abrir y editar los FOLD. Fig. 10-14: Fold cerrado Fig. 10-15: Fold abierto Marcas de color en las folds: 10.3 Color Descripción Rojo oscuro Fold cerrado Rojo claro Fold abierto Azul oscuro Subfold cerrado Azul claro Subfold abierto Verde Contenido del fold Concatenación de programas del robot Técnica de subprogramas La técnica de subprogramas permite estructurar modularmente los programas de robot y, así, lograr una composición estructuralmente eficiente. El objetivo no es registrar todas las instrucciones en un programa, si no almacenar determinadas secuencias, cálculos o procesos en programas independientes. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 169 / 181 Programación de robots 1 Ventajas de la utilización de subprogramas: El programa principal tiene una estructura clara y es más fácil de leer ya que se ha reducido la longitud del programa. Los subprogramas se pueden desarrollar por separado: el esfuerzo de programación puede dividirse y se minimizan las causas de fallos. Los subprogramas pueden reutilizarse varias veces. Básicamente, se pueden distinguir entre dos tipos de subprogramas diferentes: Subprogramas globales Fig. 10-16: Ejemplo de esquema para subprogramas globales Un subprograma global es un programa de robot independiente que se activa con otro programa de robot. La ramificación de los programas puede realizarse específicamente para una aplicación, es decir, un programa puede ser una vez un programa principal, pero la siguiente vez, puede operar como un subprograma. Subprogramas locales Fig. 10-17: Esquema: subprogramas locales Los subprogramas locales son programas integrados en un programa principal, es decir, las instrucciones están incluidas en el mismo archivo SRC. Las coordenadas de punto del subprograma se guardan así en el mismo archivo DAT. Procedimiento de apertura de un subprograma 170 / 181 Cada programa empieza con una línea DEF y acaba con una END. En caso de que se active un subprograma en el programa principal se procesará, por regla general, ese subprograma de DEF a END. Al llegar a la línea END, el Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL puntero de ejecución del programa saltará otra vez al programa desde el que se abrió (programa principal). Fig. 10-18: Procedimiento de apertura de un subprograma Para poder abandonar un subprograma antes de tiempo (es decir, antes de las líneas DEF y END), se puede programar la instrucción RETRUN. La lectura de esas líneas de programa provoca la cancelación anticipada del subprograma. Procedimiento para abrir un subprograma Para poder programar la apertura de un subprograma, debe estar seleccionado el grupo de usuario Experto. La sintaxis para la apertura de un subprograma es: Nombre( ) 1. Seleccionar en el menú principal la secuencia Configuración > Grupo de usuario. Se muestra el grupo de usuario actual. 2. Para cambiar a otro grupo de usuario: Pulsar en Iniciar sesión.... Marcar el grupo de usuario Experto. 3. Introducir la contraseña kuka y confirmar con Iniciar sesión. 4. Cargar el programa principal deseado en el editor pulsando en Abrir. INI PTP HOME Vel= 100% DEFAULT PTP HOME Vel= 100% DEFAULT 5. Posicionar el cursor en la línea deseada. 6. Introducir el nombre del subprograma entre paréntesis, p. ej., myprog( ) INI PTP HOME Vel= 100% DEFAULT myprog( ) PTP HOME Vel= 100% DEFAULT 7. Cerrar el editor pulsando sobre el símbolo de cierre y guardar las modificaciones. 10.4 Ejercicio: Programación en el KRL Objetivo del ejercicio Después de completar correctamente este ejercicio, se dispondrá de la competencia necesaria para efectuar las siguientes tareas: Programación de bucles sinfín Programación de llamadas de subprogramas Ajuste de CELL.SRC para el servicio Automático externo Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 171 / 181 Programación de robots 1 Requisitos Formulación Los siguientes requisitos son necesarios para completar este ejercicio correctamente: Conocimientos en la utilización del navegador en el nivel del experto Conocimientos principales de la programación a nivel de experto (KRL) Conocimientos de la programación de subprograma y de bucle Conocimientos sobre la estructura de CELL.SRC Ejecutar las siguientes tareas: 1. Cree un nuevo módulo con la denominación Procedimiento en el nivel del experto. A partir de este programa central se llaman todos los demás programas como subprogramas. 2. El desarrollo exacto del programa se encuentra en el plano de desarrollo del programa. (>>> Fig. 10-19 ) 3. Compruebe su programa nuevo Procedimiento en los modos de servicio T1, T2 y Automático. Se deben tener en cuenta las prescripciones de seguridad enseñadas. 4. Complementar CELL.SRC de la siguiente manera: Al enviar el número de programa 1, la clavija se toma del depósito. Al enviar el número de programa 2, el contorno se desplaza hacia la mesa. Al enviar el número de programa 3, la clavija se devuelve al depósito. 5. Comprobar el CELL.SRC 172 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 10 Programar con éxito en KRL Fig. 10-19: Plano de desarrollo del programa: Programa Procedimiento Lo que se debe saber tras el ejercicio: 1. ¿Qué significan las extensiones SRC y DAT de los ficheros KUKA? ............................................................ ............................................................ 2. ¿Con qué instrucción puede abandonarse un bucle sinfín? ............................................................ ............................................................ 3. ¿Cuál es la sintaxis que se necesita para un distribuidor? ............................................................ ............................................................ ............................................................ Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 173 / 181 Programación de robots 1 ............................................................. 174 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 11 Trabajar con un control superior 11 Trabajar con un control superior 11.1 Preparación para el inicio de programa del PLC Robots en red Si desde el puesto central se deben controlar procesos de robots (desde un ordenador principal o un PLC), se efectúa por medio de la interfaz Automático externo. Fig. 11-1: Enlace PLC Principio de la estructura del sistema Advertencias de seguridad en el inicio de programa externo Para que pueda establecerse una buena comunicación entre el KR C4y el PLC es importante lo siguiente: Modo de servicio Automático Externo: Modo de servicio en el que un ordenador central o un PLC asume el control del sistema de robot. CELL.SRC: Programa de organización para seleccionar los programas del robot desde fuera. Intercambio de señales PLC y robot: Interfaz Automático Externo para configurar las señales de entrada y salida: Señales de control al robot (entradas): Señal de inicio y de detención, número de programa, confirmación de error Estado del robot (salidas): Estado sobre los accionamientos, posición, errores, etc. Después del seleccionar el programa CELL debe realizarse un desplazamiento COI. Cuando el paso de movimiento seleccionado contiene la instrucción de avance PTP, se produce un desplazamiento COI a modo de movimiento PTP desde la posición real hasta la posición de destino. Si el paso de movimiento seleccionado contiene LIN o CIR, el desplazamiento COI se ejecuta como movimiento LIN Observar el movimiento para evitar colisiones. En el desplazamiento COI la velocidad se reduce automáticamente. Cuando se ha ejecutado el desplazamiento COI una vez, en el inicio externo ya no ejecutará ningún desplazamiento COI más. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 175 / 181 Programación de robots 1 En el modo de servicio automático externo no se efectúa ningún desplazamiento COI. Esto significa que, una vez arrancado, el robot se desplaza a la primera posición programada a la velocidad programada (no reducida). El robot no para allí. Procedimiento para el inicio de programa externo Requisitos Modo de servicio T1 o T2 Las entradas/salidas para Automático Externo y el programa CELL.SRC están configuradas 1. En el navegador, seleccionar el programa CELL.SRC. El programa CELL se encuentra siempre en el directorio KRC:\R1. 2. Ajustar el override del programa al 100% (es el ajuste recomendado; en caso necesario, se puede ajustar otro valor). Fig. 11-2: Selección de Cell y ajuste del override manual 1 Ajuste HOV 2 Selección de CELL.SRC 3. Realizar un desplazamiento COI: Pulsar y mantener el interruptor de validación. Mantener pulsada la tecla de arranque hasta que en la ventana de mensajes aparezca la leyenda "COI alcanzado". 4. Seleccionar el modo de servicio "Automático externo". 5. Iniciar el programa desde una unidad de control superior (PLC). 11.2 Adaptar el enlace PLC (Cell.src) Programa de organización Cell.src 176 / 181 Para administrar los números de programas transmitidos por el PLC, se utiliza el programa organizativo Cell.src. Se encuentra siempre en la carpeta "R1". Como cualquier otro programa, el programa Cell puede adaptarse individualmente mientras que la estructura de base del programa debe mantenerse igual. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 11 Trabajar con un control superior Estructura y funcionalidad del programa Cell Fig. 11-3: Programa CELL 1 Inicialización y posición inicial Inicialización de los parámetros básicos Comprobación de la posición del robot respecto a la posición inicial Inicialización de la interfaz "Automático externo" 2 Bucle infinito: 3 Procedimiento Consulta del número de programa a través del módulo "P00" Acceso al bucle de selección con el número de programa facilitado. Bucle de selección con número del programa El salto en la ramificación correspondiente ("CASE") se realiza conforme al número de programa (determinado en la variable "PGNO"). Se ejecuta el programa de robot registrado en la ramificación. Los números de programa no válidos provocan que se salte a la ramificación "Por defecto". Tras la correcta ejecución, se repite el bucle. 1. Cambiar al grupo de usuario "Experto" 2. Abrir CELL.SRC 3. Reemplazar en la sección "CASE" la denominación "EXAMPLE" por el nombre del programa que se debe activar con el correspondiente número de programa. Eliminar el punto y coma de delante del nombre. Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 177 / 181 Programación de robots 1 Fig. 11-4: Ejemplo de un programa Cell adaptado 4. Cerrar el programa y guardar las modificaciones. 178 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es Indice Indice A Acoplar 168 Ajuste 45 Aproximación 111 Aproximación CIRC 119 Aproximación LIN 119 Aproximación PTP 107 Archivar 99 Automático externo 175 B Bucle de recuento 162 Bucle finito 162 Bucle FOR 162 Bucle infinito 161, 163 Bucle REPEAT 163 Bucle WHILE 162 Bucle Bucle de recuento 162 Bucle Bucle infinito 161 Bucle finito 162 Bucle infinito 163 Bucles 161 C Cargas sobre el robot 54 Categoría de detención 0 39 Categoría de detención 1 40 Categoría de detención 2 40 COI 89 Comentarios 166 Configuración de garras 154 Consulta IF 164 Control de la ejecución del programa 161 Control de la orientación 117, 122 D Datos de carga adicional (opción de menú) 57 Datos de carga de la herramienta 54 Datos de carga de la herramienta (opción de menú) 55 Dispositivo de liberación 23 Distribuidor 165 E Ejercicio, ajuste de carga con Offset 52 Ejercicio, Ajuste de robots 52 Ejercicio, CELL.SRC 171 Ejercicio, desplazamiento de trayectoria 126 Ejercicio, ejecutar programas del robot 96 Ejercicio, funciones de conmutación 144 Ejercicio, KRL 171 Ejercicio, lógica 144 Ejercicio, medición de base en mesa 77 Ejercicio, medición de herramienta ABC World 66 Ejercicio, medición de herramienta clavija 66 Ejercicio, Medición de herramienta garra 69 Ejercicio, medición de herramienta XYZ de 4 puntos 66 Ejercicio, medición numérica de herramienta 69 Ejercicio, medir herramienta externa 82 Ejercicio, método de 3 puntos 77 Ejercicio, Operación y desplazamiento manual 40 Ejercicio, posicionamiento aproximado 126 Ejercicio, procesos manuales con herramienta fija 43 Ejercicio, Programa en el aire 112 Ejercicio, programación 171 Ejercicio, Programación de la garra - placa 156 Ejercicio, programación de la garra, clavija 158 Ejercicio, programación de movimientos con el TCP externo 129 Ejercicio, visualización de variables del sistema 150 Estructura de programa 161 F FOLD 169 Formularios inline 105 Función de conmutación, simple 136 Función de conmutación, trayectoria 138 Función de espera 132 G Gestor de conexiones 11 H Herramienta fija, procesos manuales 42 I Indicación, variables 147 Inicialización 89 Inicio de programa 90 Inicio de programa del PLC 175 K KUKA.GripperTech 151 L Listado LOG 100 LOOP 161 Lógica, general 131 M Manejo de las garras 151 Marcas 166 Medición de base 71 Medición, herramienta fija 79 Medición, pieza guiada por robot 81 Medir herramienta 57 Mensaje de confirmación 17 Mensaje de diálogo 18 Mensaje de espera 17 Mensaje de estado 17 Mensaje de observación 17 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 179 / 181 Programación de robots 1 Mensajes 17 Modificación, instrucciones de movimiento 123 Modificar variable 148 Modo de interpolación 110, 122 Modo de servicio 18 Mover ejes del robot individualmente 21 Movimiento CIRC 115 Movimiento LIN 115 Movimiento PTP 106 P PARADA DE EMERGENCIA 11 Parada de seguridad 0 39 Parada de seguridad 1 39 Parada de seguridad 2 39 Parada de seguridad STOP 0 39 Parada de seguridad STOP 1 39 Parada de seguridad STOP 2 39 Parada de seguridad, externa 15 Parada de servicio segura 39 Posicionamiento aproximado 122 Posición de pánico 22 Procesos manuales específicos del eje 21 Procesos manuales, base 35 Procesos manuales, herramienta 31 Procesos manuales, herramienta fija 42 Procesos manuales, universales 26 Programa Borrar 98 Programa duplicar 99 Programa renombrar 98 Programación de garra 151 Programación del movimiento 105 Programación, TCP externo 129 Pulsador de PARADA DE EMERGENCIA 14 Punto de la raíz de la muñeca 115, 116 T Tecla de arranque 11 Tecla de arranque hacia atrás 11 Tecla del teclado 11 Tecla STOP 11 Teclado 11 Teclas de desplazamiento 11 Teclas tecnológicas 11 Ú Únicos (opción de menú) 148 V Variable, mostrar individual 148 Variables 147 Variables del sistema 149 W WAIT 132 WAIT FOR 133 R Ramificación 161 Ramificación condicionada 164 Ramificación múltiple 165 Restaurar 99 Robroot 25 S Seguridad del robot 13 Selección de programa 90 Singularidad 115 Sistema de coordenadas 25 Sistema de coordenadas Base 25 Sistema de coordenadas Flange 25 Sistema de coordenadas Tool 25 Sistema de coordenadas World 25 Space Mouse 11 STOP 0 39 STOP 1 40 STOP 2 40 Subprograma global 170 Subprograma local 170 Subprogramas 169 180 / 181 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es Programación de robots 1 Edición: 16.12.2011 Versión: P1KSS8 Roboterprogrammierung 1 V1 es 181 / 181