CURSO DE PROGRAMACIÓN TPE
FANUC Robotics Ibérica S.L. 2003 V3.1
Ronda Can Rabadà, 23, Nave nº 12, Pol. Ind. “El Camí Ral”
08860 Castelldefels Barcelona
Tel: [Link]
Fax: [Link]
1. SEGURIDAD
FANUC no es, ni se presenta, como una empresa experta en sistemas de seguridad, ni de los
aspectos de seguridad específicos de su empresa y/o su personal. Garantizar los pasos necesarios
para la seguridad de todo el personal que opere con un equipo Fanuc, es responsabilidad del
integrador del equipo, del propietario y del empleado o usuario final.
El nivel adecuado de seguridad para su aplicación o instalación puede determinarse mejor por
profesionales del sistema de seguridad. Por lo tanto, FANUC recomienda que cada cliente consulte
con tales profesionales para proporcionar un puesto de trabajo que permita la aplicación, uso y
sistemas de operación de un equipo Fanuc con seguridad.
FANUC recomienda que todo el personal que vaya operar, programar, reparar o de alguna manera
usar un equipo robotizado Fanuc, reciba previamente un curso de formación, de manera que le sea
familiar el manejo de todo el sistema.
1.1. PAROS DE EMERGENCIA
Ante una situación de “Fault” provocada por cualquier tipo de fallo o paro de emergencia, el
armario de control del robot no permite entrada de potencia al servoamplificador con lo que el
robot nunca se moverá.
1-Paro de Emergencia del Panel Operador Estándar (SOP)
SRVO-001 Operator panel E-stop
2-Paro de Emergencia de la consola de programación Teach Pendant (TP)
SRVO-002 Teach pendant E-stop
5
4-Paro de Emergencia Externo vía Software mediante entrada de sistema (UOP) UI[1: *IMSTP]:
Entrada *IMSTP UI [1] Siempre activada, contacto negado. Está en ON en estado normal.
Esta señal tiene el mismo efecto que la señal de paro de emergencia, pero se controla por software.
La operación del robot se para inmediatamente. También se para la ejecución del programa.
Se genera una alarma y se desconecta la potencia del servo.
Usar simultáneamente con la emergencia externa vía hardware.
SRVO-037 SVAL1 IMSTP input
1.2. SELECTOR ON/OFF DEL TEACH PENDANT
ON - Permite mover el robot de manera manual ya que habilita la consola.
Permite ejecutar un programa de manera manual.
Permite hacer modificaciones de los programas y modificar configuraciones.
OFF - Condición necesaria para el lanzamiento en automático de cualquier programa.
1.3. INTERRUMPOR DEADMAN
Tres posiciones:
Suelto - SRVO-003 Deadman switch released, con TP en ON.
Apretado 1- Permite movimiento y ejecución de programas manualmente, con TP en ON.
Apretado 2- SRVO-003 Deadman switch released, con TP en ON.
El interruptor deadman se utiliza como dispositivo de activación. Cuando se activa la consola de
programación, este interruptor permite sólo el movimiento del robot mientras se sujeta el interruptor
deadman. Si se libera este interruptor, el robot se para por emergencia.
7
1.5. INTERRUPTOR DE SELECCIÓN DE MODO
El modo de operación seleccionado puede bloquearse quitando su llave.
Cuando se cambia el modo por medio de este interruptor, el sistema del robot se para con fallo:
AUTO: Modo automático. SYST-040 Operation mode AUTO Selected.
El panel operador se activa. Se activa el vallado de seguridad. El programa del robot puede arrancarse
vía CYCLE START con llave en LOCAL o vía remota a través de una entrada de sistema UOP con
llave en [Link] robot puede operarse a la velocidad máxima específica.
SI [8: CE/CR select b0] =ON
SI [9: CE/CR select b1] =ON
T1: Modo de prueba 1. SYST -038 Operation mode T1 Selected.
El programa puede activarse sólo desde la consola de programación.
El robot no puede operarse a velocidad mayor de 250 mm/sec. Se desactiva el vallado de seguridad.
SI [8: CE/CR select b0] =ON
SI [9: CE/CR select b1] =OFF
T2: Modo de prueba 2. SYST -039 Operation mode T2 Selected.
El programa puede activarse sólo desde la consola de programación.
El robot puede operarse a la velocidad máxima específica. Se desactiva el vallado de seguridad.
SI [8: CE/CR select b0] = OFF
SI [9: CE/CR select b1] = OFF
Llave en posición R-J2 R-J3 R-J3i Epsilon-Vag
T1 Puede ser extraída Puede ser extraída Puede ser extraída Puede ser extraída
T2 Puede ser extraída No puede ser extraída No puede ser extraída No puede ser extraída
AUTO Puede ser extraída Puede ser extraída Puede ser extraída Puede ser extraída
9
3. DESCRIPCIÓN DE LA UNIDAD MECÁNICA
Ejes principales: eje 1, eje 2, eje 3.
Ejes secundarios: eje 4, eje 5, eje 6.
Detalle de las marcas fijas y móviles para cada eje: La posición de coincidencia entre marcas fijas y
móviles a 0º , indican la posición de CERO mecánico.
Posición de Masterizado = Robot en marcas = Posición de definición del origen de Sistema de
coordenadas cartesianas WORLD o CERO cartesiano, necesario para que el robot se mueva de
manera lineal.
16
4.1. DESCRIPCIÓN DEL SOP (PANEL OPERADOR STANDAR)
Pulsadores Reset de fallo
configurables
Selección modo Pausa Inicio de ciclo ON : Puesta en servicio
AUTO / T1 / T2 OFF :Fuera de servicio
Paro de
Emergencia
En modo
Remoto
Selección modo
remoto (robot esclavo)
o local (robot maestro)
Batería litio CPU
agotada
Fallo robot
Puerto serie RS232C
Puerto PCMCIA
Puerto Ethernet opción
Controlador R-J3 Armario tipo i
Controlador R-J3i Armario tipo B X-83, X-84 Controlador R-J3i Armario tipo B Standar
18
5. DESCRIPCIÓN DEL TEACH PENDANT
Key sheet para Spot Tool
24
Key sheet para Spot Tool Renault, VW-Seat, Opel
25
leed sheet para :
Renault, VW-Seat, Opel Arc tool Handling tool
LED FUNCIÓN
FAULT FAULT LED indica que ha saltado una alarma.
HOLD LED indica que se está pulsando el botón HOLD o se recibe la señal
HOLD
HOLD.
STEP STEP LED indica que está bajo el modo de operación de paso a paso.
BUSY LED se enciende mientras el robot está trabajando. También se
BUSY enciende cuando la CPU realiza otros trabajos que no están relacionados
con el movimiento del robot. (copiar, pegar, imprimir......)
RUNNING RUNNING LED indica que se está ejecutando el programa.
GUN ENBL Indica que puede abrirse o cerrarse la pinza.
WELD ENBL Indica que puede realizarse la soldadura por puntos.
I/O ENBL Indican que se activan las señales de E/S.
WELD ENBL WELD LED, cuando se ilumina, indica que se activa la soldadura al arco.
ARC ESTAB LED, cuando se ilumina, que la soldadura al arco está en
ARC ESTAB
curso.
DRY RUN LED, cuando se ilumina, indica que se selecciona el modo de
DRY RUN
operación, utilizando la puesta en marcha en seco.
JOINT LED se ilumina cuando se selecciona el movimiento JOINT como
JOINT
sistema de coordenadas de movimiento manual.
XYZ LED se ilumina cuando se selecciona el movimiento cartesiano
XYZ (JGFRM, WORLD o USER) como el sistema de coordenadas de moviento
manual.
TOOL LED se ilumina cuando se selecciona el movimiento de la herramienta
TOOL
(TOOL) como sistema de coordenadas de movimiento manual.
28
TECLA FUNCIÓN
Las teclas de función (F) para seleccionar un menú de
función en la última línea de la pantalla.
Para habilitar más tecla de función en la página
siguiente.
o
La tecla MENUS para visualizar el menú de pantalla.
La tecla FCTN para visualizar el menú de función.
o
La tecla SELECT para visualizar la pantalla de
selección del programa.
o La tecla EDIT para visualizar la pantalla de edición del
programa.
La tecla DATA para visualizar la pantalla de datos del
programa.
La tecla MAN FCTNS visualiza la pantalla de operación
manual.
La tecla STATUS visualiza la pantalla de posición
actual.
La tecla E/S visualiza la pantalla de E/S.
La tecla POSN visualiza la pantalla de posición actual.
29
TECLA FUNCIÓN
La tecla SHIFT se utiliza para la habilitación de
movimiento del robot, programar los datos de posición, y
arrancar un programa.
o Las teclas Shift derecha e izquierda tienen la misma
función.
Las teclas de movimiento son efectivas mientras se
mantiene pulsada una tecla Shift. Se utilizan para la
habilitación de movimiento.
La tecla COORD selecciona un sistema de coordenadas
de movimiento manual. Cada vez que se pulsa la tecla
COORD, selecciona el siguiente tipo de movimiento en
el orden: JOINT, JGFRM, World frame, TOOL, USER.
o Cuando se pulsa esta tecla mientras se mantiene
pulsada una tecla Shift, aparece un menú de
movimiento para el cambio del sistema de coordenadas.
La tecla variación de velocidad. Cada vez que se
pulsa varia en el orden: VFINE, FINE, 1%, 5%, 50%,
100%. (Cambio del 5% de la cantidad para el 5% o
menos y cambio del 5% de la cantidad para el 5% o
más.
La tecla FWD o la tecla BWD (tecla *SHIFT)arranca un
programa. Cuando se libera la tecla shift durante la
o regeneración, se interrumpe el programa.
La tecla HOLD provoca que se interrumpa un programa.
o
La tecla STEP selecciona paso a paso o operación en
o ciclo continuo.
La tecla PREV vuelve a almacenar el estado más
reciente. En algunos casos, la tecla no puede volver
o inmediatamente al estado anterior.
La tecla ENTER introduce, valida y selecciona un
número o un menú.
o
La tecla BACK SPACE borra el carácter o número
inmediatamente anterior al cursor.
o
Las teclas del cursor mueven el cursor.
El cursor es la zona destacada que puede moverse en
la pantalla de la consola de programación. Esta zona
llega a ser el objeto de operación (entrada o cambio del
valor o contenidos) de la tecla de la consola de
programación.
La tecla ITEM mueve el cursor a una línea cuyo número
es especificado.
o
La tecla WELD ENBL (tecla +SHIFT) activa / desactiva
la soldadura.
La tecla WIRE +/- (tecla +SHIFT) alimenta / rebobina el
hilo manualmente.
30
Menú Función
UTILITIES La pantalla de utilidad se utiliza para visualizar las pistas.
TEST CYCLE La pantalla de ciclo de prueba se utiliza para especificar los datos para la operación de prueba.
MANUAL FCTNS La pantalla de operación manual se utiliza para ejecutar las instrucciones macro.
ALARM La pantalla del historial de alarma muestra la historia y detalles de las alarmas.
I/O La pantalla de E/S para visualizar, forzar, simular y configurar señales de entrada y salida.
SETUP La pantalla de ajuste se utiliza para establecer el sistema.
FILE La pantalla de archivo se utiliza para leer o almacenar archivos.
USER La pantalla del usuario muestra los mensajes del usuario.
SELECT La pantalla de selección del programa se utiliza para enumerar o crear los programas.
EDIT La pantalla de edición del programa se utiliza para corregir y ejecutar un programa.
DATA La pantalla de datos muestra los valores en registros, registros de posición,...
STATUS La pantalla de estado muestra el estado del sistema.
POSITION La pantalla de posición actual muestra la posición actual del robot.
SYSTEM La pantalla del sistema se utiliza para establecer las variables del sistema y el mastering.
Menú Función
ABORT (ALL) ABORT para abortar el programa actual en edición.
Disable
Disable FWD/BWD activa o desactiva las teclas de marcha de programa del TP.
FWD/BWD
CHANGE Cambia el grupo para la habilitar movimiento. Sólo visualizado cuando se establecen múltiples
GROUP grupos.
TOGGLE SUB
TOGGLE SUB GROUP bascula el movimiento entre los ejes del robot y los ejes externos.
GROUP
TOGGLE WRIST
TOGGLE WRIST JOG en movimiento lineal la muñeca no sigue una trayectoria recta.
JOG
Salta la instrucción de espera que se está ejecutando. Cuando se libera el estado de espera,
RELEASE WAIT
la ejecución del programa para temporalmente la instrucción de espera en la línea.
QUICK/FULL
QUICK/FULL MENUS bascula el menú entre un menú de pantalla normal y un menú rápido.
MENUS
SAVE SAVE guarda datos relacionados con la pantalla actual en el disquete o en la tarjeta de memoria.
PRINT SCREEN PRINT SCREEN imprime los datos visualizados en la pantalla actual.(en ASCII).
PRINT PRINT imprime de manera exacta los datos en la pantalla actual.(en Binario).
31
6. MOVIMIENTO DEL ROBOT
Sosteniendo el TP, presionar el interruptor DEADMAN (pulsador de hombre muerto) en la parte
posterior del TP.
Girar el interruptor ON/OFF del TP a la posición de ON.
NOTA: Si soltamos el DEADMAN, con el TP a ON se produce error. Para resetear fallo presionar sin
soltar de nuevo el DEADMAN y pulsar la tecla RESET del TP.
Selección del sistema de coordenadas:
JOINT : Articulación, selección de movimiento manual eje a eje.
XYZ: Selección de movimiento de coordenadas cartesianas del robot (WORLD, USER, JGFRM).
TOOL: Selección de movimiento de coordenadas cartesianas asociado a la herramienta.
JOINT r JGFRM r TOOL r USER r JOINT
32
Selección de la velocidad:
VALORES DE VFINE FINE MOVIMIENTO CONTÍNUO
VELOCIAD (pulsos incrementales) (pulsos incrementales) 1, 2, 3, 4, 5, 10, 15, 20, ......, 85, 95, 100
Aproximadamente Aproximadamente
JOINT % velocidad
0,0001 grados 0,001 grados
Aproximadamente Aproximadamente
CARTESIANO % velocidad
0,02 mm 0,23 mm
$SHFTOV_ENB=0 ? VFINE, FINE, 1, 2, 3, 4, 5, 10, 15, 20... 85, 95, 100%
$SHFTOV_ENB=1 ? VFINE, FINE, 5, 50, 100%
Ejecución del movimiento:
Para mover, presionar y sostener la tecla SHIFT y mantener pulsada la tecla que corresponda al
sentido en la cual se desea mover el robot. Para detener el movimiento, soltar la tecla de movimiento
o SHIFT.
33
6.1. 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.
6.2. 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.
Mastrizado J1 = 0 deg se genera WORLD X = 0 mm Posición actual del dibujo X = 1200 mm J1 = 0 deg
en J2 = 0 deg (en barriga robot), Y = 0 mm Y = 25 mm J2 = 0 deg
J3 = 0 deg con origen en Z = 0 mm Z =800 mm J3 = 0 deg
J4 = 0 deg W = 0 deg (giro sobre eje X) W = -180 deg J4 = 0 deg
J5 = 0 deg P = 0 deg (giro sobre eje Y) P = 0 deg J5 = -90 deg
J6 = 0 deg R = 0 deg (giro sobre eje Z) R = 0 deg J6 = 0 deg
34
6.3. 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.
6.4. 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.
35
6.5. 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
(Tool = EE = End Efector = Elemento Terminal = Herramienta = Pinza, garra, antorcha....).
El usuario tiene la posibilidad de definirlo en:
El punto más conveniente de la Herramienta.
Antorcha - en la punta.
Pinza soldadura puntos - en el cap fijo.
Pinza múltiple - múltiples TCP = múltiples TOOL.
En definitiva, el TOOL define la herramienta que se usa en un determinado momento.
Mueve el TCP (Tool Center point o punto central de la herramienta) en dirección x, y, z y gira sobre
x(w), y(p), z(r) en el marco TOOL de la herramienta seleccionado.
Ejemplo de escribir con un lápiz:
Cuando escribimos con un lápiz es más fácil cogerlo y moverlo para escribir cerca de la punta que no
desde la parte alta del lápiz.
36
7. POSICIÓN DEL ROBOT EN EL ESPACIO
Para visualizar la “posición actual” del robot en cualquier momento: MENUS, 0-NEXT, 4-POSITION.
La visualización de la posición es independiente del modo de movimiento seleccionado manual activo.
Un robot puede servir como un “metro”.
F2-JOINT: en grados, de la marca móvil de cada eje respecto a la marca estática de cada eje.
POSITION JOINT 10 %
Joint Tool: 1
J1: 21.505 J2: -48.755 J3: -12.381
J4: 9.322 J5: 20.388 J6: -74.872
[ TYPE ] JNT USER WORLD
F3-USER : Coordenadas del TCP respecto del origen del sistema de coordenadas cartesianas de
usuario USER allá donde haya sido creado (de los 9 que hay el que esté activo en ese momento). X,
Y, Z en mm. w, p, r en grados. Coordenadas relativas.
POSITION JOINT 10 %
User Frame: 1 Tool: 1
Configuration: N U T, 0, 0, 0
x: 734.030 y: 1356.688 z: 751.781
w: 179.995 p: .001 r: -7.426
[ TYPE ] JNT USER WORLD
F4-WORLD : Coordenadas del TCP respecto el origen del sistema de coordenadas cartesianas
WORLD intuitivo sobre la unidad mecánica.
X, Y, Z en mm. w, p, r en grados. Coordenadas absolutas.
Si USER (1-9) = WORLD F3 y F4 tendrán las mismas coordenadas
POSITION JOINT 10 %
World Tool: 1
Configuration: N U T, 0, 0, 0
x: 261.174 y: 1093.375 z: -111.219
w: -180.000 p: 0.000 r: -136.220
[ TYPE ] JNT USER WORLD
Práctica: Mover el robot y comprobar que los datos de las pantallas van cambiando.
Con J5 a –90º mover el robot en WORLD = USER 0 y encontrar Y=0 mm y Z=0 mm X=0 mm.
Comprobar las distancias con ayuda de un metro.
37
Una posición puede venir expresada de dos maneras:
En JOINT : Valores angulares de cada eje (en grados).
En CARTESIANAS : Coordenadas cartesianas del TCP respecto a un sistema de referencia.
• UT es el número de TCP activo utilizado en ese punto.
• UF es el número de USER FRAME = UFRAME = Marco de usuario activo utilizado en ese
punto.
• X, Y y Z son las coordenadas en mm. del TCP respecto al UF activo en ese momento.
• W, P y R son las coordenadas en grados de orientación de giro TCP respecto a los ejes X, Y, Z
del Marco de Usuario activo utilizado en ese momento.
• CONF es la configuración de posición del robot, por ejemplo FLUT 0,0,0:
donde F L U T representa la posición angular del robot ; con:
F: FLIP Muñeca « girada »(posicionada hacia arriba)
N: NOFLIP Muñeca « no girada »(posicionada hacia abajo)
Brazo posicionado a la izquierda
L: LEFT
Brazo posicionado a la derecha
R: RIGHT
(sólo para el modelo SCARA)
U: UP Brazo hacia delante posicionado hacia arriba
D: DOWN Brazo hacia delante posicionado hacia atrás
T: FRONT Brazo posicionado hacia delante
B: BACK Brazo posicionado hacia atrás
donde 0,0,0 representa el giro respectivamente sobre los ejes J4, J5 et J6:
-1 : -539° → -180°
0 : -179° → 179°
1 : 180° → 539°
38