CURSO BÁSICO ROBOT FANUC Arturo Gutiérrez Díaz Temas: Descripción y elementos de seguridad para poder operar el robot Componentes del robot unidad mecánica. Controlador del robot (partes y funciones). Teach pendant. Como se mueve el robot en modo manual. Limites de ejes (mecánicos, eléctricos, software) Masterización y calibración del robot. Creación de programas (edición y creación de puntos). Edición de comandos ya establecidos. Evaluación escrita. Descripción General del Robot Un robot es una serie de enlaces mecánicos accionados por servomotores. El área en cada unión entre los eslabones es una articulación, o eje. Los primeros tres ejes conforman los ejes principales o ejes mayores. Los últimos tres ejes son los ejes menores. un robot es una máquina programable que puede manipular objetos y realizar operaciones que antes sólo podían realizar los seres humanos. Componentes de Robot Robot En cada Eje cuenta con un reductor que permite que se realice el movimiento, estos reductores se mueven con un servomotor el cual tiene un piñón en la flecha y este hace que los engranes del reductor giren. Para los ejes menores cuenta con una caja de engranes que permite realizar los movimientos de la muñeca mediante los servomotores. Cada engrane es de diferente medida y mueve cada uno de los ejes menores. Reductor Servomotor Conector de potencia Encoder Freno Piñon Flecha Controlador El controlador contiene la fuente de alimentación, los controles del operador, los circuitos de control, y la memoria que dirigen la operación y el movimiento del robot El controlador hace la función de un intermediario por poner un ejemplo, este procesa las instrucciones que se envían al robot, mediante el teach pendant u otro dispositivo. Este cuanta con varios componentes como: • • • • • • • • • Tarjeta principal (Main Board). PSU (power Suply Unit) tarjeta de fuente de alimentacion. Process I/O (tarjeta de entradas y salidas). Servo Amplificador. Tarjeta de paros de paros de emergencia. Backplane Panel del operador Transformador. Resistencia regenerativa Main Board La Main Board, contiene varios componentes internos que permiten almacenar el software del robot y el control de los servomecanismos. PSU (power Suply Unit) Esta tarjeta es la encargada de convertir la corriente alterna de entrada a varios niveles de corriente directa. Tarjeta de paros de emergencia Controla el sistema de los 2 contactores magneticos y la precarga del servoamplificador. Process I/O Tarjeta de comunicación con dispositivo periférico para el control de la celda del robot. Back Plane Todas las tarjetas se montan sobre estas tarjetas de circuito impreso Servoamplificador Esta tarjeta controla los servomotores, señales de los encoders, control de los frenos, sobre carrera, hand broken Panel del operador Botones y leds que son usado para indicar el estatus del funcionamiento del Robot. Este contiene botones, interruptores de llave, y puertos de conexión. Transformador El voltaje de alimentación es convertido a un voltaje AC requerido por el controlador. Resistencia regenerativa Sirve para descargar la fuerza motriz que generan los servomotores en el servoamplificador. Teach pendant La terminal de enseñanza (TP=Teach Pendant) es un dispositivo de interface con el operador que visualiza los menús del software, se encuentra conectado al controlador mediante un cable El TP permite: -Mover el Robot -Crear programas -comprobar programas -Verificar estados del robot Modelos de Robot Fanuc Generaciones R2000 iA -> R2000 iB -> R2000 iC -> de Robot Rj3iB R30iA, R30iB R30iC Cada Robot tiene varias aplicaciones según sus características. Hay varios tipos 165f,200f,210f -> piso 165R,200r,210r ->aereos balancer diferente Como se mueve el Robot Para poder mover el Robot es muy importante tener en cuenta aspectos de seguridad, portar siempre EPP correcto, Bloquear puerta, asegurarse que solo estamos nosotros cerca del Robot a la hora de moverlo. Hay que cambiar el selector a T1 o T2 y poner el teach pendant en ON, siempre que queramos mover el robot, tenemos que tener presionado el DEADMAN, quitar fallas con el botón de reset y mantener presionado el botón de shift T1 (<250 mm / s): Modo de Prueba 1 Es un modo seguro para mover el Robot, ya que aun estando la velocidad al 100% el robot se moverá lento (250 mm /seg) T2 (100%): Modo de Prueba 2 Hay que tener cuidado a la hora de mover el Robot en T2, estar siempre seguros del programa que vamos a correr o el movimiento que vamos a realizar, ya que si la velocidad esta al 100% el robot se moverá a su máxima velocidad. JOINT En el sistema de coordenadas específicas JOINT, cada eje puede desplazarse en forma individual, en dirección positiva o negativa del eje. Se puede mover ejes simultáneamente. El movimiento en JOINT se mide en “grados º”. Cada eje posee una marca física de 0º (una fija y otra móvil). La posición de 0º para cada eje se define como “posición de masterizado o de marcas”. Hay que pensar en las teclas de movimiento como J1, J2, J3, J4, J5, J6. CARTESIANAS: XYZ WORLD (Coordenadas Absolutas fijas) El sistema de coordenadas WORLD es un sistema de coordenadas cartesianas, tridimensional, estático, universal, cuyo origen, se encuentra en un punto conceptual, no físico, sobre cada unidad mecánica. Es un sistema definido por el propio software. Es origen para todo movimiento cartesiano. Viene definido de fábrica. Es fijo e inamovible. Al mover el robot, éste se mueve y gira el TCP sobre las direcciones y sentidos del sistema de coordenadas World (propio del robot). El robot moverá todos sus ejes para mantener la linealidad del TCP de la herramienta. CARTESIANAS: XYZ USER (Coordenadas relativas móviles) El sistema de coordenadas USER es un sistema de coordenadas cartesianas, cuyo origen viene definido por el usuario. Se disponen de 9 sistemas de coordenadas USER programables. Para poder trabajar con ellos: Han de habilitarse - $USEUFRAME = TRUE (opcion de software J604). Han de seleccionarse - UFRAME_NUM = 1 (1-9) o a través de SHIFT + COORD. Han de configurarse - Entrada directa, método 3 puntos, 4 puntos o PR[ ]. Es muy útil cuando se programa en casa del integrador, se desmonta la célula y se monta nuevamente en casa del cliente. Mientras no se seleccione ninguno se toma por defecto el valor del USER 0 que no es otro que WORLD. Si aún siendo seleccionado alguno de los 9, éste no es configurado también coincidirá con WORLD. CARTESIANAS: XYZ JOGFRM (Coordenadas relativas fijas) El sistema de coordenadas JOGFR es un sistema de coordenadas cartesianas cuyo origen viene definido por el usuario. Se utiliza para mover linealmente de manera eficaz el robot respecto de un área de trabajo. A diferencia del USER, las coordenadas JOGFRM no tienen un significado especial, por eso no se revelan en ningún tipo de pantalla. Se trata de seleccionar la posición más conveniente para definir el sistema de coordenadas de movimiento JOGFR que más adelante nos será de gran utilidad a la hora de mover el robot. Se disponen de 5 sistemas de coordenadas JGFRM programables. Para poder trabajar con ellos: Han de habilitarse - No hace falta Han de seleccionarse - JOGFRAME_NUM = 1 (1-9) o a través de SHIFT + COORD. Han de configurarse - Entrada directa, método 3 puntos, 4 puntos. Mientras no se seleccione ninguno se toma por defecto el valor del JOGFRM 0 que no es otro que WORLD. Si aún siendo seleccionado alguno de los 9, éste no es configurado también coincidirá con JOGFRM. CARTESIANAS: TOOL El sistema de coordenadas TOOL es un sistema de coordenadas cartesianas, cuyo origen es definible por el usuario y programable, es decir, puede ser móvil. Se disponen de 9 sistemas de coordenadas TOOL programables. Para poder trabajar con ellos: Han de habilitarse - No hace falta pues ya lo están. Han de seleccionarse - UTOOL_NUM = 1 (1-9) o a través de SHIFT + COORD. Han de configurarse - Entrada directa, método 3 puntos, 6 puntos o a través de PR[ ]. Mueve y gira el TCP del robot en un sistema de coordenadas cartesiano creado sobre la Herramienta Regla de la mano derecha Podemos usar la mano derecha como referencia a la hora que vamos a mover el robot. Pulgar -> “Z” Indice -> “X” Medio -> “Y” Crear y Ejecutar un programa con el Teach Pendant • Movimiento vs. Programación - Recuerde: Movimiento solo manipula la unidad mecánica. Programación sin embargo, hace seguir el robot por sí mismo a cada punto enseñado. Este concepto será clarificado conforme la lección este progresando • Un programa de Teach Pendant es un programa (serie de instrucciones) que usamos en nuestras aplicaciones para que trabaje el robot • La tecla SELECT le dará acceso para la operación de los programas de Teach Pendant (crear, editar borrar) Crear y Ejecutar un programa con el TP (continuación) • Una vez escrito el programa, el usuario podrá usar la tecla STEP para mover el robot línea-por-línea a través del programa. (Obviamente a baja velocidad) • Para ejecutar un programa, el usuario debe sostener la tecla SHIFT y momentáneamente presionar la tecla FWD. Si percibe que el robot va a chocar con cualquier cosa, deje de presionar la tecla SHIFT y el robot se detendrá. Si el peligro es inminente e instantáneo, deberá presionar el botón de E-STOP o soltar los interruptores DEADMAN del Teach Pendant para detener el robot inmediatamente • Para regresar una línea atrás en el programa y modificar el punto, deberá presionar la tecla SHIFT y BWD. Para reubicar el punto deberá presionar la tecla SHIFT y F5 (TOUCHUP) • Después de que el programa se ha probado en modo “STEP”, puede deshabilitar el modo STEP presionando la tecla STEP de nuevo. Esto permitirá que el programa corra sin que se detenga en cada línea CREACIÓN DE UN PROGRAMA TP en ON, SELECT ® F2: CREATE Seleccionar el tipo de nombre: CREACIÓN DE UN PUNTO Desplazar el robot hasta la posición deseada, pulsar SHIFT + F1: POINT Elementos de la instrucción de un movimiento • Tipo de Movimiento - Cómo el robot se mueve a una posición • Movimiento Tipo Joint • Normalmente usado para mover al robot a la posición de HOME • Forma más eficaz de mover el robot a una posición próxima • Movimiento imprevisible • Movimiento Reproducible • Movimiento Tipo Lineal • Usado para movimientos de precisión de un punto a otro • El Robot sigue una línea recta entre un punto y otro • Usa mas tiempo de procesamiento • Movimientos más lentos con respecto al máximo • Movimiento Tipo Circular • Normalmente usado para movimientos en forma de arco o típicamente útil en aplicaciones de soldadura de arco Consiste en enseñar tres posiciones: • La posición de inicio en donde quiere que el robot empiece el movimiento circular • Una posición intermedia ubicada en el trayecto de la posición final • Una posición destino donde usted deseé que el movimiento circular termine • Si el movimiento circular es enseñado con puntos con los cuales no se pueda calcular el arco, una falla de deformación de circulo ocurrirá (Degenerate Circle). • Velocidad - Que tan rápido el Robot se moverá a la posición • Cuando el tipo de movimiento es Joint la velocidad del Robot es típicamente definida por el porcentaje máximo de la velocidad del robot o de tiempo. • Cuando el tipo de movimiento es Lineal la velocidad del Robot es típicamente definida por una unidad o rango tal como mm/sec • Cuando el programa es ejecutado, la velocidad del Robot que aparece desplegada en la esquina superior derecha de la pantalla, es multiplicada por la velocidad programada en producción . Por ejemplo si la velocidad del Robot es de 50% y la velocidad en el programa es de 50%, entonces el robot se moverá a este punto al 25% de la velocidad máxima del robot • Tipos de terminación • Fino (Fine) – El Robot se moverá a la posición enseñada y se detendrá en ella antes de seguir al siguiente punto. • Continuo (Cnt ###) – El robot no se detendrá en el punto enseñado, pero se acercara a este dependiendo del valor programado (0-100). El valor continuo más alto provocará que el Robot pase lo mas alejado posible del punto destino enseñado, siendo afectado también por la velocidad de movimiento del Robot. Por este último motivo se recomienda probar el programa inicialmente a baja velocidad e ir aumentándola paulatinamente hasta llegar al máximo, ya que la trayectoria variara conforme la velocidad se incremente. Si el programa es ejecutado a pasos (STEP habilitado), el fenómeno de continuidad no tiene efecto y el robot se detendrá exactamente en el punto destino enseñado. Una terminación continua a cero es equivalente visualmente a una terminación fina. Editando un Programa en el Teach Pendant Insert (Insertar) 12 : J P[5] 100% FINE 13 : L P[6] 2000mm/s FINE Para insertar una línea (o varias), entre las líneas 12 y 13, colocar el cursor sobre el número de la línea 13 (como se ve abajo) después seleccionar INSERT dentro de F5 : [EDCMD] Escribir la cantidad de líneas a introducir y validar con la tecla ENTER. 12 : J P[5] 100% FINE 13 : 14 : L P[6] 2000mm/s FINE Delete (Borrar) 21 22 23 24 : : : : J P[5] 100% FINE L P[6] 100mm/s FINE L P[7] 100mm/s FINE L P[8] 100mm/s FINE Para borrar las líneas 22 y 23, colocar el cursor sobre la línea 22 y seleccionar DELETE en F5 : [EDCMD]. Seleccionar el bloque a borrar con las teclas del cursor. 21 : J P[5] 100% FINE 22 : L P[6] 100mm/s FINE 23 : L P[7] 100mm/s FINE 24 : L P[8] 100mm/s FINE Responder F4 : YES 21 : J P[5] 100% FINE 22 : L P[8] 100mm/s FINE Copy (Copiar) F5 : [EDCMD], 3- COPY, desplazar el cursor sobre la primera línea del bloque a copiar. 21 : J P[5] 100% FINE 22 : L P[6] 100mm/s FINE 23 : L P[7] 100mm/s FINE Pulsar sobre F2 : COPY para fijar la línea de inicio del bloque a copiar, después desplazar el cursor hasta la última línea del bloque a copiar (en nuestro ejemplo, sólo la línea 22 se copia, por tanto el cursor no se mueve). 51 21 : J P[5] 100% FINE 22 : L P[6] 100mm/s FINE 23 : L P[7] 100mm/s FINE Pulsar F2 : COPY, para copiar en memoria. Desplazar el cursor a la línea deseada (siempre pegamos por encima de la línea donde tenemos el cursor), después pulsar F5 : PASTE. Varios tipos de pegado se proponen a continuación : - F2 : LOGIC : pega la estructura del punto sin cotas. ® L P[…] 100mm/s FINE - F3 : POS_ID : pega la estructura del punto, la cota = Pos, y la Identificación = Id = 6 ® L P[6] 100mm/s FINE. -F4 : POSITION : pega la estructura del punto, la cota = Position, pero bajo una Identificación = nº de punto diferente -® L P[8] 100mm/s FINE -(el punto 8 contiene las coordenadas del punto 6) - F5 : CANCEL : borra la memoria de copia - NEXT + F2 : R_LOGIC : pega las líneas en orden inverso sin los puntos - NEXT + F3 : R_POS_ID : pega las líneas en orden inverso con los puntos - NEXT + F4 : R_POSITION : pega las líneas en orden inverso renombrando los puntos Find (Buscar) La función FIND es una función de búsqueda de instrucción. Seleccionar el tipo de instrucción a buscar. Por ejemplo buscar la instrucción « JMPLBL[32] »: F5 : [EDCMD] ® FIND ® JMP/LBL ® JMP LBL[…] ® introducir 32 con el teclado numérico A continuación el sistema buscara desde la posición actual del cursor. Para encontrar la instrucción « JMP LBL[32] » siguiente F4 : NEXT Si la búsqueda termina: F5 : EXIT Replace (Reemplazar) La función REPLACE permite reemplazar una instrucción o modificar las instrucciones de movimiento: Reemplazar la instrucción « JMP LBL[2] » por « JMP LBL[3] »: Seleccionar la instrucción a reemplazar en la lista propuesta: F5: [EDCMD] ® REPLACE ® JMP/LBL ® JMP LBL[…] ® introducir el numero de etiqueta mediante el teclado: 2 ® ENTER Después el sistema buscara a partir de la posición actual del cursor. 32 : JMP LBL[2] Introducir a continuación la instrucción de re-emplazamiento ® JMP LBL[…] ® introducir el numero de etiqueta mediante el teclado: 3 ® ENTER 32 : JMP LBL[ 2 ] Para reemplazar validar con F3: YES Para pasar a la línea siguiente pulsar F4: NEXT Para modificar en modo global escoger F2: ALL Para salir de la función REPLACE, F5: EXIT Renumber (Renumerar) Permite renumerar los puntos en orden creciente. F5 : [EDCMD] ® RENUMBER ® validar con F4: YES, o anular con F5: NO Comment (Comentario) Hace que en el programa aparezcan y desaparezcan los comentarios relacionados con R[ ] y con I/O. También se gestiona a través de la variable: $MNDSP_CMNT = 1 Undo (Deshacer) Anula la última acción. F5 : [EDCMD] ® UNDO ® valida con F4: YES, o anula con F5: NO MASTERIZACIÓN INTRODUCCIÓN La masterización asocia el ángulo existente entre las marcas móviles y las marcas fijas de cada eje respectivamente con los pulsos generados en los encoders absolutos, los cuales están mecánicamente acoplados al eje de cada motor. La posición actual del robot es determinada por los pulsos de los encoders. Más específicamente , la masterización se realiza para obtener los pulsos leídos en la posición de cero grados = marcas = cero mecánico. Una característica muy importante de un encoder es su resolución: Número de pulsos generados en una vuelta completa de eje. MASTERIZACION DEL ROBOT EN MARCAS (ZERO POSITION MASTER). NOTAS PREVIAS: El robot no puede moverse, ya que ha perdido la masterización vía hardware. Las baterías se han agotado estando el robot sin tensión. (reemplazar las baterías, siempre con tensión) Se han tenido que desmontar la conexión baterías -ENCODER por avería de encoder, avería de motor, sustitución de motor, corte del cable, etc. En estos casos, al conectar pueden aparecer los siguientes errores, entre otros: SERVO 062- BZAL alarm (error de batería de unidad mecánica gastada). PROCESO: 1-Eliminar el estado de fallo para poder mover el robot: MENUS, 0-NEXT, 6-SYSTEM, F1-TYPE, 3- F3-RES_PCA, F4YES. Movimientos: No debe aparecer el mensaje « SRVO-075 WARN Pulse not established »; para ello mover manualmente el robot en modo JOINT cada eje (o el eje desmasterizado) +/-10 º, y RESET. (Encoder Absoluto en una vuelta). Cuando ya no apareza, Mover manualmente el robot en modo JOINT cada eje a su posición de marcas (marcas fijas y móviles alineadas). Masterizar: MENUS, 0-NEXT, 6-SYSTEM, F1-TYPE, 3-MASTER/CAL, 2-ZERO POSITION MASTER, F4-YES Calibrar: 6-CALIBRATE, F4- YES, F5-DONE (Se realiza la interpolación de los pulsos actuales a grados de posición actual para definir el cero mecánico y establecer el cero en marcas) Es conveniente realizar un programa ZERO, grabando un punto al azar y cambiando sus coordenadas en JOINT a cero grados para todos los ejes. Ejecutarlo y comprobar que el robot se posiciona correctamente en marcas. MASTERIZACION DE EJE SIMPLE (SINGLE AXIS MASTER) Realizar mismo procedimiento de zero posicion master (llevar ejes desmasterizados a posición de zero. 4-Calibrar: Pulsar PREV, 6-CALIBRATE, F4- YES, F5-DONE (Se realiza la interpolación de los pulsos actuales a grados de posición actual para definir el cero mecánico y establecer el cero en marcas) del eje en cuestión. Es conveniente realizar un programa ZERO, grabando un punto al azar y cambiando sus coordenadas en JOINT a cero grados para todos los ejes. Ejecutarlo y comprobar que el robot se posiciona correctamente en marcas.