Curso Programacion COMPLETO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 69

MANUAL DE PROGRAMACION FANUC

PROGRAMACION BASADA EN SOFTWARE DE SIMULACION ROBOGUIDE

Manuel Gutiérrez
[email protected]
SEGURIDAD

Blue Corp no es ni se representa a sí misma como experta en sistemas de seguridad, equipos de


seguridad o los aspectos de seguridad específicos de su empresa y / o su fuerza laboral. Es
responsabilidad del propietario, empleador o usuario tomar todas las medidas necesarias para
garantizar la seguridad de todo el personal en el lugar de trabajo.

Los profesionales del sistema de seguridad pueden determinar mejor el nivel de seguridad
adecuado para su aplicación e instalación. Por lo tanto, Blue Corp recomienda que cada cliente
consulte con dichos profesionales para proporcionar un lugar de trabajo que permita la aplicación,
el uso y el funcionamiento seguros de los sistemas robotizados de FANUC America Corporation.

De acuerdo con el estándar de la industria ANSI / RIA R15-06, se aconseja al propietario o usuario
que consulte los estándares para garantizar el cumplimiento de sus solicitudes de diseño,
usabilidad, operación, mantenimiento y servicio del sistema de robótica. Además, como propietario,
empleador o usuario de un sistema robótico, es su responsabilidad organizar la capacitación del
operador de un sistema robotizado para reconocer y responder a los peligros conocidos asociados
con su sistema robótico y estar al tanto de las recomendaciones, procedimientos operativos para
su aplicación particular y la instalación del robot.

Asegúrese de que el robot que se utiliza sea apropiado para la aplicación. Los robots utilizados en
ubicaciones clasificadas (peligrosas) deben estar certificados para este uso.

Por lo tanto, FANUC America Corporation recomienda que todo el personal que tenga la intención
de operar, programar, reparar o utilizar el sistema de robótica se capacite en un curso de
capacitación aprobado por FANUC America Corporation y se familiarice con el funcionamiento
adecuado del sistema. Las personas responsables de la programación del sistema, incluido el
diseño, la implementación y la depuración de los programas de aplicación, deben estar
familiarizados con los procedimientos de programación recomendados para su aplicación y la
instalación del robot.

En esta imagen podemos identificar algunos dispositivos de seguridad como cortinas, torretas
indicadoras, guardas de seguridad, paros de emergencia, etc
VISTA GENERAL DEL ROBOT (OVERVIEW)

El sistema robotizado FANUC consta del robot (unidad mecánica), el controlador R-30iB Plus, y el
software FANUC. Debido a la variación de las aplicaciones robóticas, FANUC fabrica una variedad
de unidades mecánicas de robot que funcionarán con el controlador R-30iB Plus, R-30iB Mate Plus
o R-30iB Plus Compact.

Modelos de carga pesada, colaborativos, pintura, pick and place, scara, soldadura, etc.

Aquí se muestra un ejemplo de una configuración básica de sistema robotizado.


DESCRIPCION DEL ROBOT

Un robot es una serie de enlaces mecánicos accionados por servomotores. El área en cada unión
entre los enlaces es una articulación o eje. Los primeros tres ejes (comenzando desde la base)
forman los ejes principales. Los últimos tres ejes son los ejes menores. Un robot se clasifica por el
número de ejes lineales y rotacionales.

HERRAMIENTA DE FIN DE BRAZO (EOAT)

Las herramientas de fin de brazo (EOAT) son un aspecto crucial de la tecnología robótica. Se
refiere al equipo que interactúa con partes y componentes, típicamente al final de un brazo
robótico. Por ejemplo, la antorcha de soldadura en un sistema de soldadura robótica o un gripper
en un sistema de manejo de materiales.

Aquí los dos ejemplos de estos tipos de herramienta.


DESCRIPCION DEL CONTROLADOR

El controlador contiene la fuente de alimentación, los controles del operador, los circuitos de
control y la memoria que dirigen el funcionamiento y el movimiento del robot y la comunicación con
dispositivos externos.

Algunos sistemas contienen un panel de operador de usuario (UOP) opcional que proporciona una
interfaz de usuario remota al controlador.

El sistema de movimiento dirige el movimiento del robot para todos los ejes del robot, incluidos los
ejes extendidos y hasta siete grupos de movimiento adicionales (en algunos modelos son menos
grupos).

La memoria del controlador almacena el software además de cualquier programa y datos definidos
por el usuario.

A continuacion tenemos una imagen que nos muestra algunos componentes internos del
controlador en una vista frontal.

Básicamente, el controlador está conformado por un backplane donde se comunican los módulos
de CPU y la fuente de poder, el CPU, la fuente de poder, el servoamplificador y la tarjeta de paros
de emergencia, y un panel de operador en su puerta frontal, que en algunos casos y (o sobre
pedido se puede integrar un panel remoto cableado).

Además tiene algunos otros componentes como la batería para respaldo de la CPU, interruptor
principal, intercambiador de calor, etc.
A continuacion tenemos una imagen que nos muestra algunos componentes internos del
controlador en una vista trasera.

Tenemos los ventiladores traseros para mantener estable la temperatura del transformador, el
resistor regenerativo y el transformador.

Existen algunas variantes del controlador, como ya lo habíamos mencionado, básicamente son los
mismos componentes de acuerdo al tamaño y estructura de cada tipo de controlador.
PANEL DEL OPERADOR ESTANDAR

El panel del operador contiene botones, interruptores de llave y puertos de conector y es parte del
controlador.

El panel del operador es la interfase tactil y visual del robot cuanto tenemos el control de este de
modo local, es decir que de esta panel controlamos el arranque y paro de los programas, asi como
el reset de las fallas que pudieran presentarse durante su funcionamiento.

Partes importantes del panel del operador serian: el interruptor de selección de modo
(Manual(auto), boton de reset de fallas, boton de arranque de ciclo, y paro de emergencia.

Como comentarios adicionales, al cambiar la llave a modo manual, la velocidad maxima del robot
no rebasara los 250 mm/seg como un estandar de seguridad, para algunos modelos de robots que
tienen aplicación especial como pintura, soldadura o se compro como opcion, hay un tercer modo
manual asl 100%, este te permite correr el programa del robot a maxima velocidad para que las
pruebas y ajusted de estas aplicaciones sean de manera real, pero hay que aplicar el sentido
comun: nadie adentro de la celda, observar en todo momento la aplicación, etc.

Otro comentario, es que el boton de inicio de programa solo funciona de manera local, si por el
proceso se selecciona el arranque remoto desde algun PLC, el boton del panel quedra inhabilitado.
TEACH PENDANT (iPendant)

El iPendant es un dispositivo de programacion para el robot de tipo Internet que tiene un gran
panel de pantalla de cristal líquido de color. Este dispositivo le permite hacer referencia a
múltiples elementos de datos simultáneamente y su visibilidad ha sido notablemente aumentada,
en si el TP es la interfase de programacion entre el software de aplicación y el usuario
programador/operador.

La interfaz de usuario actual también está disponible con este dispositivo, por lo que aquellos que
estén familiarizados con las operaciones de los teach pendants convencionales pueden usar este
nuevo fácilmente.

La interfase el iPendant es muy similar al antiguo pendant, solo que este es mas intuitivo, la
pantalla tipo touch tiene manera de dividirse en varias ventanas para al mismo tiempo monitorear
diferentes tipos de datos o programas.

El teclado tambien es muy similar al anterior, solo unas cuantas teclas para las nuevas funciones
del dispositivo.
Debido a que el iPendant es nuestra interfase de programacion tomaremos un poco mas de tiempo
explicando sus caracteristicas, teclado y switches.

Interruptor Hombre Muerto (Dead Man Switch) Este interruptor esta ubicado en la parte trasera
del iPendant, y es usado como dispositivo de habilitamiento para encender los motores de manera
segura. Cada interruptor deadman tiene tres posiciones, cuando el iPendant esta habilitado, este
interruptor permite el movimiento del robot solo cuando esta en la poscion media, si el interruptor
es completamente presionado o se suelta, no permitira el movimiento del robot.

Interruptor iPendant Enable (Teach Pendant Enable Switch) Este interruptor esta ubicado en la
parte superior izquierda del iPendant, y es usado como dispositivo de habilitamiento para el modo
manual/auto del sistema, si el interruptor esta en OFF, es una de las condiciones del sistema para
poder correr el robot en modo automatico, si esta en posicion ON, es el permiso para poder usar
todas las propiedades del iPendant.
Teclado El teclado del iPendan es de tipo membrana y esta diseñado especificamente a la
aplicación para la que fue fabricado el robot (Soldadura, pintura, manejo de materiales, etc)

En esta imagen podemos observar una breve descripcion de los componentes del iPendan y
de su teclado.
3 MOVIMIENTO MANUAL DEL ROBOT.

El Jogging o Joggeo es mover manualmente y a voluntad los ejes del robot pulsando las
teclas del Teach Pendant. Antes de agregar instrucciones de movimiento a los programas,
debe primero mover el robot a la posición que quiere.
La velocidad de movimiento jog es un porcentaje de la velocidad máxima a la cual se puede
mover cada eje del robot. La velocidad actual de cualquier movimiento jog se despliega en
la esquina superior derecha de la pantalla del teach pendant.
Una velocidad del 100% indica que el robot se moverá al máximo posible de su velocidad
máxima permitida. El máximo posible de la velocidad de movimientos varía dependiendo
al modelo de robot y el estado del selector de modo. En coordenadas WORLD la velocidad
de movimiento máxima posible está definida por el tool center point (TCP) moviéndose
como máximo a 250 milímetros por segundo. Una velocidad de FINE o VFINE indican que
el robot se moverá en paso incrementales.

Las teclas de velocidad de movimiento son usadas para incrementar y decrementar la


velocidad. La tecla SHIFT combinada con la tecla de velocidad ocasiona que la velocidad
de movimiento cambia entre 100, 50, 5, FINE, y VFINE.
Por su seguridad y del personal involucrado, juste la velocidad de movimiento manual en
un valor aproximado para las condiciones de la celda de trabajo, el tipo de movimiento que
el robot está realizando, y su propia experiencia en mover el robot.
Use una velocidad baja hasta que esté familiarizado con el robot. La velocidad más lenta
del robot le permite tener más control sobre los movimientos del robot.
Vamos a comenzar por dos tipos de movimientos en manual que son JOINT y WORLD, los cuales
vienen definidos de fábrica y nunca se debe intentar alterarlos.

Hora vamos a seleccionar las coordenadas de movimiento manual JOINT, sin pulsar el SHIFT,
presione repetidas veces la tecla COORD (recuadro rojo) hasta que aparezca en la esquina
superior derecha la palabra JOINT (recuadro azul).

Nos aseguraremos que no existan alarmas en el sistema (paros de emergencia, señales de


bloqueo del PLC, etc) y también nos aseguramos de tener el selector de modo en pos MANUAL, al
igual que el selector del Teach en ON.

Ahora, para energizar los servomotores, presionamos el botón DEADMAN a la posición media.
Con las teclas de OVERRIDE seleccionaremos una velocidad de movimiento adecuada a nuestro
nivel de experiencia para tener un control más seguro y evitar algún daño o colisión.

Ahora presionaremos la tecla SHIFT + la tecla de movimiento del eje y sentido que deseamos rotar

El robot moverá ese eje en la dirección y la velocidad seleccionada mientras se mantengan


presionadas las tecla de movimiento + la tecla SHIFT + el DEADMAN.

Practique lo necesario para tomar la confianza adecuada y cuando se logre, aumente la velocidad
hasta el 100%.
Hora vamos a seleccionar las coordenadas de movimiento manual WORLD, sin pulsar el SHIFT,
presione repetidas veces la tecla COORD (recuadro rojo) hasta que aparezca en la esquina
superior derecha la palabra WORLD (recuadro azul).

Nos aseguraremos que no existan alarmas en el sistema (paros de emergencia, señales de


bloqueo del PLC, etc) y también nos aseguramos de tener el selector de modo en pos MANUAL, al
igual que el selector del Teach en ON.

Ahora, para energizar los servomotores, presionamos el botón DEADMAN a la posición media.
Con las teclas de OVERRIDE seleccionaremos una velocidad de movimiento adecuada a nuestro
nivel de experiencia para tener un control más seguro y evitar algún daño o colisión.

Ahora presionaremos la tecla SHIFT + la tecla de movimiento lineal y sentido que deseamos
desplazar.

El robot moverá el TCP en la dirección y la velocidad seleccionada mientras se mantengan


presionadas la tecla de movimiento + la tecla SHIFT + el DEADMAN.

Practique lo necesario para tomar la confianza adecuada y cuando se logre, aumente la velocidad
hasta el 100%.
Como comentario adicional: Cuando movamos el robot en JOINT, hay que pensar que los ejes del
1 al 6 son rotacionales a partir de un cero físico. Es decir, partiendo de 0 grados, todos pueden
girar en sentido positivo o negativo hasta el límite permitido, entonces también hay que tener en
mente que no se puede mover el eje 1 en X, Y o Z.

En el caso de movimientos en modo WORLD, las teclas –X, +X, -Y, +Y, -Z y +Z son para
movimientos lineales, partiendo de un punto conceptual del robot, es decir: la posición del TCP del
robot es la distancia en X, Y y Z del punto de origen del sistema WORLD, las rotaciones marcadas
en las teclas –X, +X, -Y, +Y, -Z y +Z son las rotaciones en grados basados en el TCP del robot.

En el siguiente capítulo se verá más a detalle esos conceptos.


POSICION DEL ROBOT EN EL ESPACIO.

El plano cartesiano WORLD es el marco predeterminado del robot y no se puede cambiar. Es la


base para todas las posiciones enseñadas y todos los marcos (USER FRAME; TOOL FRAME;
JOG FRAME; ETC) enseñados dentro del robot. En la mayoría de los robots de enlace serie de
FANUC, el origen del World se designa típicamente como la intersección del centro de la base del
robot con un plano al nivel de la articulación de control del motor 2. Este origen, junto con X, Y y
Las direcciones Z se ilustran en la siguiente imagen. Las posiciones del robot que hacen referencia
al cuadro WORLD reflejan la posición del Punto central de herramienta (TCP) del robot en X, Y, Z,
W, P y R en relación con el origen de este cuadro.

Un sistema de coordenadas cartesianas 3D es un conjunto de tres planos en ángulo recto entre sí.
El punto en el que se cruzan los tres planos es el origen del sistema. FANUC típicamente se refiere
a un sistema como un Marco. En el sistema de robot, los bordes de intersección de los planos son
los ejes X, Y y Z del marco.
Los marcos se usan para describir la ubicación y orientación de una posición en un espacio
tridimensional. La ubicación es la distancia en las direcciones X, Y y Z desde el origen del marco
de referencia. La orientación es la rotación sobre los ejes X, Y y Z del marco de referencia. Cuando
graba una posición, su ubicación y orientación se registran automáticamente como X, Y, Z, W, P y
R en relación con el origen del cuadro que utiliza como referencia (por defecto WORLD).

La ubicación de una posición se expresa como tres dimensiones que, en el robot, se miden en
milímetros desde el origen en las direcciones X, Y y Z. Por ejemplo, 1000,500,500 significa que la
posición es 1000 mm en la dirección X, 500 mm en la dirección Y y 500 mm en la dirección Z
desde el origen.

La representación X, Y y Z en la pantalla de POSN se vería así:


ENTENDIMIENTO DE LA REGLA DE LA MANO DERECHA: En matemáticas y física, la regla de la
mano derecha es un mnemónico común para ayudar a comprender las relaciones vectoriales
tridimensionales. En robótica, con el posicionamiento adecuado de la mano, la regla de la mano
derecha también se puede utilizar para recordar en qué dirección debe apuntar cada vector de
cuadro.

En FANUC el uso de la regla de la mano derecha asigna el vector X al dedo índice, el vector Y al
dedo medio y el vector Z al pulgar como se muestra en la siguiente imagen.

Para mover el robot y programarlo, puede ser suficiente con conocer estos dos frames, pero hay
ocasiones en que la celda es más compleja y es requerido el uso de uno o más user frames y/o de
tool frames, por lo que en el capítulo siguiente veremos estas opciones más a detalle.
USER FRAME Y TOOL FRAME.

Ya que entendimos que es el sistema angular JOINT y el sistema cartesiano WORLD,


vamos a ver los diferentes frames que se derivan del WORLD.

World Frame
El World frame es el frame por defecto y no puede ser cambiado. El origen del frame
(0,0,0,0,0,0) es la posición de referencia para los frames user y jog. El origen está ubicada
en la posición predefinida dentro del robot (Todo esto ya explicado anteriormente).

Tool Frame
El User Frame se utiliza para describir la orientación y ubicación de la herramienta física en
el robot. Por defecto, el User Frame 0 tiene su origen en la placa frontal del robot. Cuando
se define el User Tool, se mueve el User Tool por defecto desde la brida del robot al punto
del aplicador, pinza, antorcha, o herramienta con la cual pinta, suelda, sella, o manipula, o
realiza otras aplicaciones.
Origen del User Frame desplazado al final de la herramienta (Herramienta simple)
El Tool Frame como herramienta simple, es aquel que tiene la misma configuración que el
user frame por default (tool 0), y se muestra en la siguiente imagen.

En la imagen superior, vemos que las direcciones no se alteran y siguen siendo las mismas que el
origen.

La herramienta compleja es aquella en que su desplazamiento en Z no es el mismo que el del


TFRAME de origen.

En la imagen apreciamos que la dirección del eje Z ya no es el mismo que en las herramientas
simples o el UFRAME 0.
En esta capacitación vamos a ver tres métodos para dar de alta los datos de una herramienta. El
primero es entrada directa, este método se utiliza cuando ya conocemos las dimensiones físicas de
nuestra herramienta, desde su origen, a continuación unos ejemplos de esto.

225 mm

La primera imagen representa un gripper simple, donde la única medida que nos interesa es la
distancia en milímetros del origen hasta el punto donde se sujetaran las piezas a manipular, serian
225 mm en dirección Z. En la segunda imagen, nos muestra una antorcha de soldadura, donde
nuestro punto final es la punta del electrodo (micro alambre) y las medidas que nos interesan en
este caso, son los desplazamientos en X, Y y Z, así como el ángulo en Y (P) en este caso,
quedaría la configuración como -30 mm en dirección X, 0 mm en dirección Y, 362 mm en dirección
Z y -30 grados (No grados radianes) en rotación Y.

Vamos a ver el procedimiento para hacer esta configuración en el robot.

Presionamos la Tecla Menú (Recuadro rojo) y movemos el cursor a la opción SETUP y lo


desplazamos a la derecha hasta encontrar la opción FRAMES, ahí damos ENTER (en azul).
Nos aparecerá una pantalla similar a esta.

Confirmen que la pantalla sea la correspondiente a SETUP FRAMES, en caso de que no,
presionen la tecla F3 (OTHER) para seleccionarla.

Presionamos la tecla F2 (DETAIL) y aparecerá una imagen similar a esta:

Si apareciera alguna pantalla diferente, presionar la tecla F2 (METHOD) para seleccionar la opción
de entrada directa.
Aquí solo debemos insertar los valores del dibujo, en este caso sería solo en Z.
Movemos el cursor a la zona del valor de Z e ingresamos la distancia en milímetros y presionamos
ENTER.

En el caso de la herramienta compleja, hacemos los mismos pasos para llegar a la pantalla
deseada.

Una vez seleccionado el UFRAME a editar, Aquí solo debemos insertar los valores del dibujo.
Movemos el cursor a la zona del valor de X e ingresamos la distancia en milímetros que seria -84.6
mm, la Y la dejamos en 0, la Z la dejaremos en 362 mm y la rotación Y (P) la dejaremos en -30
grados, presionamos ENTER.
Nos quedara una pantalla similar a la siguiente:

En esta configuración, ya tenemos el ángulo de ataque en Z conforme a la antorcha de soldadura,


lo cual nos permitirá más comodidad al momento de programar las posiciones y trayectorias del
robot, además de que con la definición de la herramienta, la velocidad y trayectoria del robot
estaría enfocada a el TCP de la herramienta y no al del origen o TCP 0.

Solo para aclarar, cuando movamos el robot en coordenadas Tool, este se moverá de acuerdo a la
definición de la herramienta activa en ese momento.

La definición de la herramienta y de los user frames no solo nos sirve para mover el robot
manualmente, también nos sirve para que el programa del robot use estos frames de acuerdo a lo
deseado por el programador.

Otros de los métodos comunes para la definición de los Tool Frames, son el método de 3 puntos y
el de 6 puntos, a continuación los explicamos a detalle.
METODO DE TRES PUNTOS. Este método es para herramientas simples, con el cual
desplazaremos las direcciones X, Y y Z de su origen.

Ocupamos un puntero fijo a una mesa y saber en qué parte de la herramienta requerimos nuestro
TCP. Algo semejante a lo presentado en la siguiente imagen.

Entramos a detalle del Tool Frame deseado y presionamos F2 (METHOD) para seleccionar la
opción de Three Points.

Damos enter en esta selección del cursor.


Aparecerá una pantalla similar a la siguiente imagen:

En la sección de comentarios, podemos dar ENTER para agregar algún texto de ayuda que nos
indique algo referente al gripper o a su definición. Por ejemplo: Gripp 1. No es requisito, es solo un
comentario de ayuda.

Movemos el cursor a la opción Approach point 1 y moveremos el robot en el tipo de movimientos


WORLD a un punto donde el TCP que deseamos definir coincida con el puntero de la mesa. Así
como se muestra en la imagen.

Al llegar a este punto, presionamos la tecla SHIFT y la tecla F5 (RECORD al mismo tiempo, para
grabar el primer punto en Approach point 1, hecho esto nos cambiara el estado de UNINIT a
RECORDED.
Movemos el cursor a la opción Approach point 2 y moveremos el robot en el tipo de movimientos
WORLD a un punto diferente en que deseemos definir el segundo punto de aproximación. Así
como se muestra en la imagen.

Al llegar a este punto, presionamos la tecla SHIFT y la tecla F5 (RECORD al mismo tiempo, para
grabar el primer punto en Approach point 2, hecho esto nos cambiara el estado de UNINIT a
RECORDED. Hacemos lo mismo para el Approach point 2.

Al realizar el último punto de aproximación, el sistema hará los cálculos para definir los valores X, Y
y Z de nuestra herramienta.

Ahora ya podemos desplazar y rotar nuestro robot en referencia a la herramienta, además de


poder grabar puntos en un programa con nuestra herramienta definida.
Para hacer la definición de la herramienta compleja, en este caso una antorcha de soldadura,
usaremos el método de seis puntos (X,Z).

Definiremos los tres primeros puntos de la misma manera que en el método de los 3 puntos.

Punto de aproximación 1

Punto de aproximación 2

Punto de aproximación 3
Ya con los tres primeros puntos de aproximación grabados, moveremos el cursor a donde dice:
Orient Origin Point y movemos el robot para que en la herramienta el eje Z sea paralelo al eje Z del
WORLD. Asegúrese de que el eje X de la herramienta sea paralelo al eje X del marco mundial.

Nótese que la alineación de la dirección Z es la misma al plano WORLD al igual que la dirección X
también lo es.

Ahora en movemos el cursor a donde dice X Direction Point y en coordenadas WORLD movemos
el robot en dirección X al menos 25 centímetros.

Aquí damos de nueva cuenta SHIFT más RECORD para grabar el desplazamiento en X.

Regresamos el cursor a Orient Origin Point y presionamos SHIFT mas MOVE_TO para regresar el
robot a la posición de origen, y ya en esta posición movemos el robot en +Z al menos 25 cms.
Ahí grabaremos nuestro siguiente punto con SHIFT + RECORD y obtendremos una imagen similar
a la siguiente:

Al grabar nuestro último punto en la zona de valores cambiara de ceros a los valores calculados
por el sistema, en base a nuestra precisión.

Ahora ya podremos mover y grabar posiciones con nuestra herramienta compleja.


USER FRAME (Marco de Usuario). El User Frame es el marco de referencia para todos los
datos de posición grabados en un programa. Como su nombre indica, los marcos de usuario
son configurados por el programador o usuario del robot. Se puede crear más de un User
Frame pero solo uno puede estar activo a la vez. Si no configura la ubicación y orientación
del marco del usuario antes de crear un programa, el marco del usuario utilizará la
ubicación y orientación del WORLD.
Como lo platicamos con anterioridad, el user frame es un marco de usuario desplazado del
WORLD, por lo que sigue estando en referencia con este.
Existen tres métodos para la configuración de un UFRAME: Entrada directa, Método de los tres
puntos y Método de los cuatro puntos.

Como ejemplo para crear nuestro primer UFrame, vamos a ver el método de entrada directa:
Teniendo una mesa de trabajo, donde el plano de la mesa es paralelo al WORLD del robot y
tenemos las dimensiones de donde queremos nuestro origen del nuevo User Frame,
comenzaremos de la pantalla de SETUP FRAMES.

Presionaremos la tecla F3 y de las opciones que aparezcan seleccionaremos User Frame y damos
ENTER
Aquí seleccionaremos con el cursor uno de los frames disponibles y presionaremos la tecla F2
(DETAIL)
Nos debe aparecer la opción de entrada directa, en caso de que no sea asi, presionamos la tecla
F2 (METHOD) para seleccionarlo de las opciones.
Una manera muy fácil y rápida de crear nuestro UFrame con método de entrada directa es llevar el
TCP del robot a la esquina izquierda más cercana al robot y revisar las coordenadas en WORLD.

Y con esos datos llenamos la pantalla de entrada directa.

X=709.661
Y=-356.29
Z=202.922
W=0
P=0
R=0

El dato X es la distancia en dirección X del centro del eje 1 del robot hasta el borde de la mesa que
está más cercano al robot, el dato Y es la distancia en dirección Y partiendo del centro del eje 1 del
robot a la esquina derecha del mismo borde del dato X, y el dato Z es la distancia en dirección Z
desde el centro del eje 2 hasta el borde de la mesa.

Esquina izquierda

Borde de la mesa
Para el caso de Método de los tres puntos, partiendo de la pantalla Setup Frames, seleccionamos
el User Frame que queremos crear y le damos F2 (DETAIL), y con el mismo F2 cambiamos el
método a Tres Puntos. Nos aparecerá una imagen similar a esta:

Podemos dar ENTER al comentario para agregárselo y tener una referencia.


Movemos el cursor a la zona donde dice: Orient Origin Point y Movemos el robot a que el TCP de
la herramienta toque la esquina derecha de la mesa donde deseamos que sea nuestro origen,
después presionamos SHIFT + RECORD para grabar el punto.

Nos quedara algo semejante a la imagen superior. Este punto es el origen de la orientación, en
otras palabras, el 0,0,0 de nuestro nuevo UFrame.
Ahora movemos el cursor a X Direction Point y también movemos el TCP del robot en la dirección
que queremos definir como dirección X.

Con esto se definió la línea del punto de orientación a la dirección X, pero es solo una línea, para
formar un plano hace falta agregar una dirección en Y.

A continuación movemos el TCP del robot a donde queremos que sea nuestra dirección y en el
renglón de Y Direction Point presionamos SHIFT + RECORD.

Al hacer esto, el sistema grabara el punto con la dirección Y y calculara los datos de
desplazamiento del nuevo UFrame.
CREACION DE UN PROGRAMA

Para crear un programa simple de movimientos, entraremos a la lista de selección de programas


presionando la tecla SELECT (Recuadro rojo).

Nos aparecerá una pantalla similar a la imagen de arriba. Ahora presionamos la tecla F2 CREATE
(Recuadro azul de la imagen superior).

Nos aparecerá una imagen como la pantalla de abajo, donde en la sección de F5 se despliega por
default un submenú, donde moveremos el cursor a la opción Options/Keyboard y presionamos F5.

Nos aparecerá un teclado tipo Windows.


PROGRAMA_1

Introducimos el nombre del programa y daremos clic en la tecla Exit (Recuadro rojo)

Aparecerá esta pantalla con el nombre del programa, damos ENTER para aceptar.
Aparecerá una pantalla con el nuevo programa listo para agregar instrucciones de movimiento o
comandos de lógica, dependiendo que se requiera programar.

Por lo general, en programas de soldadura los programas son en su mayoría de movimientos, en


handling tool son ambos casos: movimientos y lógica.

Vamos a comenzar de la manera más común, a hacer un programa de movimientos. A


continuación se muestra los tipos de movimientos comunes en el robot y su estructura.

Numero de
renglón

Tipo de Tipo de Identificador Velocidad, Tipo de


movimiento punto Puede de la posición puede terminación,
Puede ser ser Posición representarse Fino o CNT
Joint, Lineal, o Registro de en %, mm/seg, del 0 al 100
o Circular Posición Inch/min, seg,
etc.

A continuación se muestran diferentes tipos de movimientos con sus diferentes variables.


Primero y antes que nada grabaremos una posición HOME. La posición HOME es una posición
alejada del área de la pieza de trabajo. Programe el robot para que se mueva a HOME antes de la
primera posición, entre ciclos y en cualquier momento en que el robot deba estar alejado de la
actividad de la celda de trabajo.

Posicionamos el robot de esta manera.

Ya una vez ahí y en nuestra pantalla de programación lista, presionaremos la tecla F1 (POINT) y
nos desplegara varias opciones de puntos. Seleccionamos la que mejor se adecue a nuestro
proceso (generalmente algún punto con JOINT)

Daremos ENTER y se agregara a nuestro programa en el primer renglón


Quedando algo como la imagen de abajo.

Aquí el renglón 1 nos indica lo siguiente: Movimiento en JOINT a la posición 1 a máxima velocidad
con una terminación fina.

Ahora posicionaremos el robot en una esquina de nuestra mesa para grabar el siguiente punto. Si
hay una trayectoria libre de obstáculos, se puede usar un tipo de movimiento JOINT.

Nos debe quedar algo semejante a la imagen de arriba.

Enseguida procederemos a insertar el punto 2


Presionamos la tecla F1 (POINT) para que nuevamente nos desplegue las opciones de puntos a
insertar.

El segundo renglón se interpreta de la misma manera que el primero: Movimiento en JOINT a la


posición 2 a máxima velocidad con una terminación fina

Ahora moveremos el robot a la siguiente esquina de nuestra mesa.

Y nos debe quedar semejante a la siguiente imagen:

Ahora insertaremos nuestro siguiente punto del programa.


Presionamos de nueva cuenta la tecla F1 (POINT) y de la lista seleccionaremos la siguiente opción
de punto:

Nos quedara el programa como la siguiente imagen:

Aquí si lo deseamos podemos editar las velocidades y terminaciones, basta con desplazar el cursor
a la derecha al dato que queremos modificar y sobrescribir el nuevo valor y presionar ENTER.

Sobrescribir el
nuevo valor y
presionar
ENTER
Hacemos el mismo procedimiento de inserción de puntos para las cuatro esquinas de la mesa.

Y al final insertamos un punto más, que editaremos el identificador para hacerlo igual a la primer
esquina que programamos.

En el renglón 6
cambiamos el ID
del punto y
presionar
ENTER

Hacemos la misma acción para el siguiente punto, para regresar el robot a HOME, solo que esta
vez lo hacemos con un movimiento JOINT.

Nuestro programa quedara como la imagen de arriba.

Ahora posicionaremos nuestro cursor en el primer renglón, de esta manera:


Movemos nuestro cursor al inicio del programa y habilitamos motores con ENABLE a posición
media

Presionamos la tecla SHIFT (Recuadro rojo)

Presionamos la tecla FWD para iniciar el programa de movimientos (Recuadro azul)

Nuestro programa iniciara en HOME, recorrerá el cuadro programado y regresara a HOME


nuevamente.
LA VENTANA EDICIÓN

ÁRBOL DEL EDITOR


EDIT
F1 : POINT

F5 : TOUCHUP

NEXT

F1 : [INST]

F5 : [EDCMD]

REGISTRAR UNA POSICIÓN POR DEFECTO.


Cuando se graba un punto aparece una estructura por defecto; por ejemplo:
« J P[1] 100% FINE ».
Esta estructura por defecto puede ser elegida presionando:
F1 : POINT

Si ninguna de las estructuras propuestas nos conviene, puede ser modificadas F1: ED_DEF
F1 : POINT

Después seleccionar F4: CHOICE


Cuando la modificación se haya realizado, salir con la tecla DONE.
MODIFICAR UNA POSICIÓN

Posicionar el robot a la nueva posición y poner el cursor sobre el número de la línea a modificar.
Después pulsar, SHIFT + F5 : TOUCHUP

O poner el cursor sobre el punto a modificar, presionar tecla POSITION

Movemos el cursor a los datos numéricos que queremos cambiar e introducimos datos nuevos para
sobrescribir. Al acabar presionar la tecla de función F4- DONE para validar cambios.
EDITOR DE COMANDOS

F5 : [EDCMD]

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 : 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

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).

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[L] 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 =

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[L] → 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[L] → 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[L] → 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 (no aplica en PR`s y puntos repetidos)
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
LAS INSTRUCCIONES TP
La lista de instrucciones, la podemos desplegar desde la pantalla EDIT, pulsamos la tecla F1
(INST) en el modo manual.

En este veremos las diferentes listas y dentro de cada tipo de instrucción podremos ver las
diferentes opciones que ahí se nos presentan.

Como ejemplo, pulsamos la tecla F1 y nos muestra una panta similar a la de arriba.

Seleccionamos algun tipo de instrucción, y enseguida nos apareceran las diferentes opciones de
ese tipo.
INSTRUCTIONES CON REGISTROS
Un registro almacena un número. Hasta 999 registros son disponibles para todos los programas
combinados en el controlador. El número por defecto de registros es 32. Los registros son
identificados por números.

Direccionamiento de Registros
Varias instrucciones emplean las técnicas de direccionamiento directo o indirecto. Cuando el
direccionamiento directo es usado, el valor actual es ingresado dentro de la instrucción. Por
ejemplo, si la instrucción R[2]= 5 es usada, el valor actual del registro 2 es reemplazado con el
valor 5.

Cuando se usa el direccionamiento indirecto, la instrucción contiene un registro dentro de


un registro. Esto indica que el valor actual del registro interno se convierte el número de
registro del registro externo.

En esta instrucción, R[3] es el registro interno y R[R[3]] es el registro externo. Debido a


que en la instrucción previa el valor del registro interno R[3] es 2, el número de registro
interno se convierte en R[R[3]=2] o R[2]. Por eso, el resultado de la segunda instrucción es
tal que el contenido del registro externo, R[2], es reemplazado con el valor 5.

A continuacion unos ejemplos de programacion con registros:


INSTRUCCIONES CON REGISTROS DE POSICIÓN
Un registro de posición almacena información posicional (x,y,z,w,p,r, configuración).
Hasta 200 registros de posición son disponibles para todos los programas combinados en el
controlador. Los registros son identificados por números.

Existen dos tipos de instrucciones de registro de posición:


• Instrucciones que manipulan los registros de posición PR[x]
• Instrucciones que manipulan los elementos de los registros de posición, PR[i,j]

PR[x] Instrucciones de Registro de Posición


El registro de posición PR[GRPn:x] manipula el registro de posición. Incluye instrucciones
de asignación, suma, y resta.
PR[x] = [value]
La instrucción PR[x] = [value] almacena la información posicional en el registro de
posición.
PR[i,j] Instrucciones de Elementos de Registro de Posición
El elemento de registro de posición PR[i,j] manipula un elemento específico del registro de
posición. Un elemento del registro de posición es un elemento de un registro de posición
específico. En la designación PR[i,j], el i representa el número de registro de posición y el j
representa el elemento de registro de posición.

La instrucción PR[i,j] = [value] almacena información posicional de un elemento de registro de


posición.

Aquí algunos ejemplos.


INSTRUCCIONES DE ENTRADAS/SALIDAS
Las instrucciones de Entradas/Slalidas , o I/O, le permiten encender o apagar señales de salida y
recibir señales de entrada. Existen varias instrucciones de I/O:
• Instrucciones de entrada y salida digital
• Instrucciones de entrada y salida de robot
• Instrucciones de entrada y salida analógica
• Instrucciones de entrada y salida de grupo
• I/O de PLC
• Instrucciones de entrada y salida de soldadura

Instrucciones de Entrada y Salida Digital


Las señales de entrada digital (DI) y salida digital (DO) son señales controladas por el usuario. Use
instrucciones de entrada y salida digital para controlar señales de entrada y salida digital en un
programa.

La instrucción R[x] = DI[x] almacena la condición de la línea de la señal de entrada digital


(ON=1, OFF=0) en un registro.

DO[x] = ON/OFF
La instrucción DO[x] = ON/OFF enciende o apagar la señal de salida digital especificada.

DO[x] = PULSE [,width]


La instrucción DO[x]=PULSE [,width] enciende la señal de salida digital por un tiempo especificado
en segundos o indirectamente por un registro.

DO[x] = R[x]
La instrucción DO[x] = R[x] enciende o apaga la señal de salida digital basada en el valor del
registro. Un valor de 0 apaga la salida digital especificada. Todos los valores excepto el cero
encienden la salida digital especificada.
Instrucciones de Entrada y Salida de Grupo
Las señales de entrada de grupo (GI) y salida de grupo (GO) son señales de varias entradas
digitales y salidas digitales que han sido asignadas a un grupo, que pueden ser leídas como un
número binario, y pueden ser controladas por una instrucción.

R[x] = GI[x]
La instrucción R[x] = GI[x] pone el valor decimal del número binario de la entrada de grupo
especificadad en el registro especificado.

GO[x] = value
La instrucción GO[x]=value envía un valor equivalente binario en las líneas de salida de grupo
especificados.

INSTRUCIONES DE DERIVACIÓN
Generalidades
Las instrucciones de derivación causan que el programa se derive o salte de un luegar a otro en el
programa. Hay tres tipos de instrucciones de derivación:
• Instrucción de definición de etiquetas
• Instrucciones de derivación incondicional
• Instrucciones de derivación condicional

Instrucción de Definición de Etiqueta LBL[x]


Una etiqueta marca la ubicación en un programa que es el destino de la derivación del programa.
Una etiqueta es definida usando la instrucción de definición de etiqueta. Se puede añadir un
comentario para describir la etiqueta, posicionando el cursor en esta y presionando ENTER. Luego
de que se haya definido la etiqueta, puede ser usada con instrucciones de derivación condicional o
incondicional.

Instrucciones de Derivación Incondicional


Las instrucciones de derivación incondicional derivan de un lugar en el programa o otro en
cualquier momento que sea ejecutado. Hay dos tipos de instrucciones de derivación incondicional:
• Instrucciones de salto - Causan que el programa se deriven a una etiqueta nombrada.
• Instruccion de llamado a subprogramas - causan que el programa se derive hacia otro programa.

La instrucción JMP LBL[x] causa que el programa se derive a una etiqueta especificada.
CALL program
La instrucción CALL program causa que el programa se derive hacia otro programa y se ejecute.
Cuando el programa llamado finaliza de ejecutarse, retorna al programa de donde fue llamado en
la siguiente instrucción luego de la instrucción del llamado al programa.

Instrucciones de Derivación Condicional


Las instrucciones de derivación condicional derivan de un lugar en el programa u otro dependiendo
de si ciertas condiciones son cumplidas. Hay dos tipos de instrucciones de derivación condicional:
• Instrucciones IF que derivan a una etiqueta específica o programa si ciertas condiciones son
verdaderas. Existen instrucciones IF de registro e instrucciones IF de entrada/salida.
• Instrucciones SELECT Derivan a uno de varias instrucciones jump o call, dependiendo del valor
de un registro.

Las instrucciones IF de registro comparan el valor contenido en un registro con otro valor y toma
una acción si la comparación es verdadera.
Las instruccion IF de entrada/salida compara el valor de una entrada o salida con otro valor y toma
una acción si la comparación es verdadera.

Para una instrucción IF, las condiciones pueden ser conectadas usando AND o OR, como sigue:
• Operador AND:
IF [cond1] AND [cond2] AND ..., [action]
Por ejemplo,1: IF R[1]=1 AND R[2]=2 AND DI[2]=ON, JMP LBL[2]
• Operador OR
IF[cond1] OR [cond2] OR ..., [action]
Por ejemplo,1: IF DI[10]=ON OR R[7]=R[8], JMP LBL[2]

El número máximo de condiciones lógicas que pueden ser grabadas en la misma operación son 5.
IF [cond1] OR [cond2] OR [cond 3] OR [cond4] OR [cond5], [action]
(Máximo de cinco condiciones lógicas)
SELECT R[x] = [value1] [action]= [value2] [action]= [valueN] [action] ELSE [action]
Una instrucción select compara el valor de un registro con uno de varios valores y toma acción si la
comparación es verdadera:
• Si el valor del registro es igual a uno de los valores, la instrucción jump o call asociadas con este
valor será ejecutada.
• Si el valor del registro no es igual a uno de los valores, la instrucción jump o call asociadas con la
palabra ELSE será ejecutada.

INSTRUCCIONES DE ESPERA
Las instrucciones de espera retrasan la ejecución del programa por un tiempo espeficado o hasta
que la condición especificada sea verdadera. Cuando se ejecuta una instrucción de espera, el
robot no ejecuta ninguna instrucciónn de movimiento. Hay dos tipos de instrucciones de espera:
• WAIT time - retrasa la ejecución del programa por un tiempo específico.
• WAIT condition - retrasa la ejecución del programa hasta que la condición especificada sea
verdadera.

WAIT time
La instrucción WAIT time retrasa la ejecución del programa por un tiempo específico. El tiempo en
la instrucción WAIT time está especificado en segundos, con una unidad mínima de 0.01
segundos.

WAIT [item] [operator] [value] [time]


Las instrucciones WAIT condicionales retrasan la ejecución del programa hasta que las
condiciones especificadas sean verdaderas o hasta que pase una cantidad de tiempo (ocurre un
timeout). El timeout puede ser especificado como sigue:
• Forever - el programa esperará hasta que la condición sea verdadera.
• Time out, LBL[i] - el programa esperará por el tiempo especificado en Timeout. Si la condición
aún no es verdadera, el programa se derivará a una etiqueta especificada.
Especifique el timeout definiendo el tiempo en la variable de sistema $WAITTMOUT, en
milisegundos.
El valor de timeout por defecto es 3000 milisegundos. Puede definir $WAITTMOUT usando la
instrucción parameter name.
Operadores
Para instrucciones WAIT, la edición de instrucciones lógicas pueden contener múltiples enunciados
lógicos conectados por operadores AND o OR.
• Operador AND
WAIT [cond1] AND [cond2] AND ...
• Instrucción OR
WAIT [cond1] OR [cond2] OR ...

INSTRUCIONES MISCELÁNEAS

Generalidades
Existen instrucciones misceláneas para el control de producción, alarmas de usuario, definición de
cronómetros, velocidad general, comentarios de programas, manipulación de mensajes y definición
de parámetros.

Instrucción Alarma de Usuario


UALM[i]
La instrucción de alarma del usuario muestra el mensaje de alarma correspondiente a un número
de alarma ya configurado en la línea de visualización de la alarma. La instrucción de alarma del
usuario detiene el programa en progreso. Una alarma de usuario se indica en la pantalla de
configuración de la alarma del usuario y esta configuración se registra en la variable del sistema
$UALM_MSG . El número total de alarmas del usuario se puede modificar en un inicio controlado

Instrucción de Temporizador
La instrucción Timer le permite iniciar, parar y resetear hasta diez temporizadores diferentes en un
programa. Los temporizadores le permiten determinar cuanto tiempo le lleva a la rutina ejecutarse,
o cuanto tiempo el programa entero de producción lleva ejecutarse. Los temporizadores pueden
ser iniciados en un programa y parados en otro. El estado de cada temporizador es desplegado en
la variable de sistema $TIMER[n], donde n es el número del temporizador.
Instrucción OVERRIDE
La instrucción OVERRIDE define la velocidad general como un porcentaje de la velocidad
programada. Nos ayuda en un caso especial que requeramos bajar la velocidad general en cierta
zona del programa.

Instrucción Remark
La instrucción remark nos permite escribir una nota en el programa. La información del comentario
no afecta la ejecución del programa. Cuando agrega una instrucción de comentario, usted ingresa
un mensaje a desplegarse dentro del programa. La instrucción remark puede tener desde 1 a 32
caracteres alfanuméricos, numéricos, puntuación y espacios en blanco. El primer caracter de la
instrucción remark es signo de exclamación(!).

Instrucción Message
La instrucción MESSAGE desplega un mensaje específico en la pantalla USER. La instrucción
message puede tener desde 1 a 23 caracteres alfanuméricos, numéricos, puntuación y espacios
en blanco. Si quiere una línea en blanco entre mensajes, deje el contenido del mensaje vacío.
Cuando la instrucción MESSAGE [message content] es ejecutada, la pantalla de usuario es
desplegada automáticamente.

Instrucción Parameter Name


Puede desplegar y cambiar el valor de la variable de sistema a través de la instrucción parameter
name, usando las operaciones de lectura y escritura del teach pendant.
Existen dos tipos de datos para las variables de sistema:
• Tipo de datos numéricos, los cuales pueden ser almacenados en un registro.
• Tipo de datos de posición, los cuales pueden ser almacenados en un registro de posición. Los
siguientes tipos de datos son posibles:
- Cartesianos (xyzwpr)
- Joint (ejes J1 a J6)
$[parameter name] = [value]
La instrucción $[parameter name]=[value] le permite cambiar el valor (escribir) de una variable de
Sistema tomando los datos de un registro.
R[ ] / PR[ ] = $[parameter name]
La instrucción [value] = $[parameter name] le permite desplegar (leer) el valor de una variable de
Sistema y asignarla a algun registro.

INSTRUCCIÓN SKIP
SKIP CONDITION [I/O] = [VALUE]
La instrucción skip define las condiciones para ejecutar el movimiento del robot cuando usa la
opción de movimiento skip en una instrucción de movimiento. Estas condiciones son verdaderas
hasta que sean reseteadas por otra instrucción skip.

INSTRUCCIONES OFFSET/FRAME
Las instrucciones Offset/frame especifican información de offset posicional o los frames usados
para la información posicional. Existen cinco instrucciones de offset:
• Condición de offset posicional - contiene información de la distancia o grados de la información
de offset posicional
• User frame - Definen el número del user frame a usar
- Define un user frame.
• Tool frame - Definen el número del tool frame a usar
- Define un tool frame

La instrucción UFRAME_NUM=[value] define el número del user frame a usar. Un valor de cero
indica que no será usado ningún user frame. Esto significa que se usará el world frame.
La instrucción UTOOL_NUM=[value] define el número del tool frame a usar. Un valor de cero
indica que no será usado ningún tool frame. Esto significa que el frame definido por el sistema de
coordenadas de la brida es usado.
La instrucción UFRAME[i] = PR[x] define el user frame especificado usando la
información contenida en el registro de posición.
La instrucción UTOOL[i] = PR[x] define el tool frame especificado usando la información contenida
en el registro de posición.

INSTRUCCIÓN DE CONTROL MULTIPLE


Las instrucciones de control múltiple son usadas para multi tarea . La multi tarea le permite ejecutar
más de una tarea a la vez.

RUN program
La instrucción RUN program causa que el programa seleccionado comience a ejecutarse
inmediatamente. El programa padre continúa ejecutándose.
9 RESPALDO Y CARGA DE PROGRAMAS

GESTIÓN DE ARCHIVOS

Con el controlador del robot puede emplear los diversos dispositivos de gestión de archivos.
La configuración estándar indica el uso de tarjetas de memoria. Si se usa otro dispositivo de
gestión de archivos, realizar la operación siguiente para cambiar la configuración del dispositivo.

1 Pulse MENU para visualizar el menú de pantalla. (Cuadro Rojo)


2 Seleccione 7 FILE, y desplazándonos a la derecha presionamos de nuevo File. Aparece la
pantalla de archivo. (Recuadros azules)
3 Pulse F5 UTIL y seleccione Set Device.

Aparece la siguiente pantalla:

4 Seleccione un dispositivo de gestión de ficheros a emplear. En el extremo superior izquierdo de


la pantalla aparece una abreviación para el dispositivo de gestión de ficheros actualmente
seleccionado.
Archivo de programa

Un archivo de programa contiene una secuencia de instrucciones para el robot. Estas instrucciones
son las instrucciones de programa Las instrucciones de programa controlan las operaciones del
robot, los dispositivos periféricos y todas las aplicaciones. Un archivo de programa se guarda
automáticamente en la memoria del controlador. Se muestra un directorio de archivos de programa
en la pantalla de selección de programas ("SELECT").

Guardar todos los archivos del programa utilizando la pantalla de archivo (File)

Ya una vez seleccionada la unidad de memoria, opcionalmente se pueden crear carpetas y


subcarpetas para almacenar los respaldos de manera que se tenga un orden.

En la misma tecla de función UTIL, nos aparece la opción de crear directorios (Make Dir) con la
cual podemos hacer una carpeta para el robot, dia y fecha y dentro de esta los diferentes tipos de
respaldos.

Como ejemplo: Robot 1, día 30 de Mayo del 2020 a las 12:30 horas. Dentro de esta carpeta de la
misma manera haremos las subcarpetas AOA, TXT, IMG, MD, etc.
Ya dentro de cada carpeta, creamos el respaldo correspondiente.

Con la tecla de función F4 (BACKUP) desplegamos la opción requerida para la carpeta


seleccionada.

Confirmamos con YES y esperamos que termine de copiar archivos.

Si queremos ver la lista de archivos copiados, presionamos F2 (DIR) y ENTER.


Masterizado

El masterizado es la calibración del robot para lograr una excelente coordinación de


movimientos.

Cuando hay que masterizar.


Hay que realizar el procedimiento de masterizado cuando:
• La alarma SRVO-062 BZAL o SRVO-038 pulse mismatch ocurre, o
• El encoder de algún servo es reemplazado.

Reset de errores de SRVO-062 BZAL o SRVO-038 pulse mismatch.


Después de corregir la causa de la alarma, establezca la variable de sistema ($
MCR.$SPC_RESET) a TRUE entonces apague y encienda el controlador de nuevo.

Pasos para masterizar


Condición primera:
La variable de sistema $MASTER_ENB debe estar establecida a 1.
Pasos para masterizar uno o más ejes:

• Presionar <MENUS>.
• Seleccionar SYSTEM.
• Presionar F1, TYPE.
• Seleccionar Master/Cal, veras una pantalla similar a la siguiente.
Mueva el robot eje por eje a la posición de masterizacion.
NOTA: La masterizacion no podrá ser realizada mientras no se establezca el pulso
del encoder.
• Seleccionar "SINGLE AXIS MASTER" y presionar ENTER, aparecerá una pantalla
similar a la siguiente:

En la sección de MASTER POS, ingresa el valor de CERO a cada eje que deseas
masterizar. Y en la sección SEL, ingresa el valor de UNO para destacarlo de los
que no se les hará cambios.

Cuando termines, presiona la tecla EXEC, después la tecla PREV para regresar a la
pantalla anterior.
En la pantalla que aparecerá, presionaremos la tecla F5 DONE para finalizar el proceso.

Reiniciamos el controlador y revisamos que esté funcionando la lectura de ejes.

También podría gustarte