Guia Ciros
Guia Ciros
Guia Ciros
PROGRAMACIN DE ROBOTS
Gua del estudiante
Contenido
Objetivos Especficos
Que al finalizar la prctica el alumno conozca las generalidades de la programacin
de robots industriales.
Que al finalizar la prctica el alumno sea capaz de hacer programas eficientes para
robots industriales.
Objetivo General
Al finalizar la capacitacin, el participante ser capaz de programar un robot
industrial Mitsubishi, configurar las posiciones de trabajo, simularlo y ponerlo en
marcha.
1.
Aplicacin de pegamentos.
Aplicacin de pinturas.
Aplicacin de Calor.
Aplicacin de soldaruras.
Colocacin y apretado de tornillos.
Colocacin de remaches.
Colocacin de piezas por presin.
Sistemas de Control:
Siempre es necesario un sistema controlador por microprocesador para controlar el
robot, generalmente se usa un sistema basado en PLC, y generalmente acta como
servoamplificador de los distintos servoactuadores, como programador de tareas y
secuencias de movimientos, y como memoria de almacenamiento de las mismas
secuencias programadas.
TIPOS DE ROBOTS INDUSTRIALES
Las configuraciones ms conocidas de robots son los robots articulados, robots
SCARA (Selective Compliance Assembly Robot Arm) y los robots cartesianos.
Robots Articulados.
Son artefactos inspirados en el brazo
humano, usan articulaciones rotativas para
moverse dentro de su espacio de trabajo,
aunque
pueden
combinar
tambin
elementos
hidrulicos
o
ejes
de
movimiento lineal que expanden su
libertad de movimiento.
Robots SCARA
Se trata de robots limitados en su rango de
movimientos a los ejes X e Y (no hay
movimiento en el eje Z) su nombre proviene
de Selective Compliant Assembly Robot Arm
or Selective Compliant Articulated Robot
Arm. Generalmente son ms fciles de
instalar, y programar (dependiendo del
nmero de articulaciones)
Robots Cartesianos:
Son aquellos en los cuales sus ejes principales de
movimiento son lineales y estn en ngulo de 90
grados respecto a sus otros ejes. En ocasiones
son llamados Gantry Robots. Su uso ms
extendido es como actuador principal en las
mquinas asistidas por control numrico por
computadora CNC. Aunque tambin se trata del
sistema de automatizacin ms sencillo utilizado
en la industria.
Mitsubishi:
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
10
2.
11
12
13
14
En este momento usted tiene el control del robot. Con los botones al lado de los
nombres de las articulaciones puede mover el robot dentro de la ventana grfica
intente todos los movimientos y compruebe los alcances de cada una de las
articulaciones. Tambin puede variar la velocidad de los movimientos del robot
utilizando el control
15
Modo JOINT
16
Modo TOOL
17
La figura de al lado
muestra los ejes a
lo largo de los
cuales se movera
el
elemento
terminador
del
robot al escoger
este tipo de control
de movimiento.
Observe que los
ejes
no
son
paralelos a X, Y, Z
sino que tienen su
propia direccin y
sentido particular.
18
19
En Position Name puede usted poner el nombre que desea dar a la ventana (puede
colocar aqu la palabra piso si lo desea, o cualquier otra palabra que le indique
algo para el procedimiento que se propone desarrollar.
Coloque la pinza del robot en una posicin bastante alto y asgnele un nombre que
tenga significado para el proceso que est por desarrollar.
Posicinese en la ventana que muestra las posiciones, y presione el botn guardar
en la barra de herramientas superior. Si usted recin acaba de crear el proyecto,
usted guardar el archivo que ya existe y que lo cre el sistema al inicializar el
proyecto. Si usted no est trabajando con un proyecto recin creado se le pedir un
nombre para el listado de posiciones que ha generado y un tipo de archivo, asigne el
mismo nombre que usted dio en para el programa en el inicio de la definicin del
proyecto, y escoja como tipo de archivo un tipo POS.
LOS NOMBRES DEL ARCHIVO DE POSICIONES Y DEL ARCHIVO DEL PROGRAMA
DEBEN SER IGUALES, SU UNICA DIFERENCIA DEBE SER LA EXTENSIN (.POS , .MB4) .
DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARN
COMO INFORMACIN COMPLEMENTARIA.
Con las posiciones guardadas, podemos proceder ahora a desarrollar el primer
programa de secuencias de movimiento del robot.
20
Existe la opcin de moverse a un sitio cercano al punto de destino esto es muy til
cuando se quiere alcanzar el punto de destino en una forma verticalmente
perpendicular. La mayora de colocaciones de piezas deben ser manipuladas de esta
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
21
Para compilarlo:
Escoja la secuencia:
Una vez que el programa est guardado puede correrse antes que nada escogiendo
el proyecto actual como el proyecto activo.
22
23
Comando GOTO
La sentencia GOTO indica al robot que el control de la secuencia de instrucciones se
traslada a la lnea en la cual indica el nmero a continuacin de la sentencia. Como
un ejemplo, se puede hacer que el programa anterior se desarrolle una y otra vez
indefinidamente hasta que alguien presione el botn de STOP en la barra de tareas.
10
20
30
40
50
60
70
MOV POCISION1
MOV POSICION2
MOV POSICION1
MOV POSICION2
MOV POSICION3
GOTO 10
END
Instruccin FOR-NEXT
Existe la posibilidad de mantener un lazo repetitivo de instrucciones que se repite
un nmero determinado de veces y que luego termine el programa. El Set de
instrucciones FOR TO STEP NEXT brindan los controles necesarios para que
esto sea posible.
Se trata de repetir un conjunto ordenado de sentencias un nmero determinado de
veces. Se define la sentencia de inicio- reinicio de la secuencia, y la secuencia de
retorno.
Sentencia Inicio:
Sentencias a
Desarrollar:
Sentencia de
Retorno:
24
FOR X = 1 TO 10
MOV POCISION1
MOV POSICION2
MOV POSICION1
MOV POSICION2
MOV POSICION3
NEXT X
END
MOV POCISION1
DLY 2
MOV POSICION2
DLY 2
MOV POSICION1
DLY 2
MOV POSICION2
DLY 2
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
25
90 MOV POSICION3
100 END
MOVIMIENTO RECTILNEO A VELOCIDAD CONTROLADA
Al utilizar el comando MOV, se garantiza la llegada al punto final que se seala a
continuacin del comando, pero no se garantiza que la trayectoria sea una lnea
recta. La trayectoria desde la ltima posicin hasta el punto sealado puede ser la
que la unidad de control considere ms cmoda para sus ejes, ya sea en cantidad
de movimiento de los mismos o en los necesarios cambios de sentido que sean
necesarios para conseguir el objetivo final.
El comando MVS es el mismo comando MOV pero ste hace el movimiento en lnea
recta, que no es necesariamente la ruta de menor movimiento de articulaciones del
robot (lo que hace el comando MOV)
La sintaxis de MVS es muy parecida a la del comando MOV:
MVS Posicin
Donde Posicin indica el identificador de la posicin a la cual se quiere que el
robot llegue.
Ejemplo:
30 MVS PPAL
VELOCIDAD CONTROLADA EN MOVIMIENTO RECTILNEO
SPD <Velocidad designada en [mm/s]>
Es posible controlar la velocidad en un movimiento rectilneo con ayuda de comando
SPD declarado con anticipacin a la lnea que contiene el comando MVS. El valor
fijado con el comando permanece constante durante todo el programa mientras no
exista otra declaracin distinta de velocidad.
Ejemplos:
10 SPD 100
20 MVS P2
30 SPD M_NSPD
26
Condicionales:
IF (__) THEN (__) ELSE (__)
Realiza las instrucciones siguientes a la palabra THEN solo si se cumple la condicin
planteada a continuacin de la palabra IF. Si no se cumpliera la condicin es posible
aadir una nueva opcin de instrucciones seguida de la palabra ELSE. Este set de
condicionales puede ser utilizado en una sola lnea (para ejecutar un solo comando)
o puede ser declarada para ejecutar varias lneas hasta que el programa encuentre
la palabra ENDIF.
A continuacin se da un ejemplo de la declaracin del condicional en una sola lnea.
En este caso, si la variable MDATA es mayor que 15, el programa asigna el valor a
a la variable CDATA, y si no es mayor a 15 (ELSE), le asigna el valor b.
50 IF MDATA > 15 THEN CDATA = a ELSE CDATA = b
27
IF M1 > 10 THEN
M1 = 10
MOV P1
ELSE
M1 = -10
MOV P2
ENDIF
28
BREAK
DEFAULT
[<Proceso>]
BREAK
END SELECT
Ejemplo:
10 SELECT MCNT
20 M1 = 10
30 CASE IS <= 10
40 MOV P1
50 BREAK
60 CASE 11
70 MOV P2
80 BREAK
90 CASE 12
100 MOV P3
110 BREAK
120 CASE 13 TO 18
130 MOV P4
140 BREAK
150 DEFAULT
160 M_OUT(10) = 1
170 BREAK
180 END SELECT
'MCNT <= 10
'MCNT = 11
'MCNT = 12
'13 <= MCNT <= 18
'Other than the above
LAZOS WHILE-WEND
Adems del lazo FOR-NEXT visto anteriormente se tiene el lazo WHILE-WEND que
repite las instrucciones contenidas entre las lneas que contienen a ambas
sentencias mientras se cumpla la condicin descrita a continuacin de la sentencia
WHILE.
En este caso el lazo comienza en la lnea donde se encuentra el comando WHILE
(seguido de la condicin que debe cumplirsepara que el ciclo se cumpla), y termina
en la lnea donde se encuentra slo la palabra WEND (que es donde la ejecucin del
programa regresa a la primera lnea del lazo, la sentencia con el comando WHILE).
29
Para que el lazo no sea infinito, la condicin a evaluar debe ser una que cambie a lo
largo de la ejecucin iterativa del lazo, para que en algn momento la condicin no
se cumpla, y la ejecucin del programa pase a la lnea siguiente a la del paso WEND.
A continuacin se muestra un programa que mueve el robot hacia una posicin
determinada, y luego hace avances de 5 mm cada vez que el lazo WHILE WEND
desarrolla un ciclo. El lazo termina cuando CONTADOR toma el valor de 20, que al
evaluarse es mayor que 15 y salta la ejecucin a la lnea siguiente a WEND que es la
sentencia END.
Ejemplo:
10
20
30
40
50
60
70
80
90
30
Ejemplo:
40 GOSUB 500
50
580 RETURN
Si se quiere colocar una etiqueta en lugar de la lnea del programa se debe usar un
asterisco antes de la primera letra de la etiqueta.
Ejemplo:
40 GOSUB *PROCESO
50
100 *PROCESO
180 RETURN
Apertura y cierre del elemento terminal.
Abre o cierra el elemento terminador (generalmente una pinza) El nmero del
manipulador generalmente es 1 (cuando no existe otro elemento manipulador)
Puede consultar Modeling-Model Explorer para verificar el nmero de manipulador
que se tiene en el proyecto actual.
HOPEN/HCLOSE <#del manipulador>
10 HOPEN 1
20 CLOSE 1
TCNICAS DE
PROGRAMA
PROGRAMACIN
PARA
INCORPORAR
DESTREZA
AL
31
Puede que un programa guiado slo por posiciones finales genere movimientos
torpes que no cumplan el objetivo del proceso con la destreza requerida. A
continuacin se presentas algunas tcnicas que ayudan a que los procesos se
desarrollen con un grado de precisin y maestra que evitan pequeos errores y
torpezas.
MOVIMIENTO EN INTERPOLACIN CIRCULAR (DESCRIBIENDO ARCOS DE
CRCULO)
En algunas ocasiones debido al reducido espacio de trabajo es necesario sortear
elementos del entorno para evitar colisiones, esto puede ser realizado con varios
movimientos arbitrarios o rectilneos o bien describiendo una trayectoria circular.
En la aplicacin de sustancias, pinturas, o el trazado de trayectorias en superficies,
en ocasiones es necesario el trazo de trayectorias circulares. Es estas ocasiones
cuando es til contar con comandos que puedan mover el robot en lneas no rectas.
El comando para realizar esta operacin es el comando MVR, y su sintaxis es de la
siguiente manera:
MVR
<Punto
de
Inicio>,
Intermedio>, <Punto final>
<Punto
Donde:
32
El siguiente programa hace que el robot trace un arco de circulo uniendo los puntos
P1, P2, P3. Dichos puntos han sido definidos previamente como posiciones dentro
del campo de trabajo del robot y todos son posiciones que puede alcanzar el robot.
10 MOV P1
20 MVS P1,P2,P3
30 END
33
34
35
36
3.
37
Regrese a la ventana de
Model Explorer
En el Explorador del modelo
ubquese en Objects
Dentro de los objetos de clic
derecho a BOX y en el men
que se despliega escoja
properties.
En la ventana que se abrir podr cambiar las propiedades del objeto que ha
creado.
En la seccin Visualizalization puede cambiar el color del objeto creado, y aun definir
caractersticas especiales de su apariencia tales como el color en general del objeto,
sus aristas, su transparencia u opacidad, ect.
38
Una vez definido el objeto, si se quiere que el objeto sea manipulable, ser
necesario aadir un grip-point al mismo, de lo contrario el objeto virtual ser
simplemente una imagen que no podr ser ni tocada ni movida en el espacio.
Para definir un grip-point, abra el ModelExplorer y expanda Objects, Box (o el
nombre que asign al objeto recin
creado), y dentro del objeto escoja Base.
De clic derecho sobre Base y en el men
que se despliega escoja New, en new
escoja Grip Point.
Aparecer inmediatamente en el lado
derecho del model Explorer un nuevo
elemento llamado Grippoint_1
Haga clic derecho sobre l para
desplegar el men de opciones del Grip
Point. Escoja Properties para cambiar los
atributos del grip Point.
Podr usted apreciar una ventana titulada Properties for grip point. En ella podr
modificar las propiedades del objeto a su gusto, tales como el nombre. Tambin
puede alinear el grip point con el objeto mismo en el apartado Pose.
El Grip Point como espacio donde acta el agarre del objeto est representado en el
objeto como un cubo de distinto color al del objeto. Si ueted considera que no est
bien colocado como para poder tomar la pieza con la pinza del robot, muvalo con
respecto al centro del objeto mismo utilizando los controles X , Y ,Z en el apartado
Pose de la ventana de Properties for grip point.
39
Ahora puede acercar la pinza del robot a el objeto que acaba de crear y ver usted
que al cerrar la pinza (botn Close Hand) en la ventana que se abre con Teach In. El
objeto se queda pegado a la pinza de robot y que no se despegar hasta que la
pinza se abra nuevamente.
Si ha hecho la prueba de agarrar y soltar el objeto, notar usted que en ambiente de
CIROS Robotics no existe la gravedad. Y que el objeto permanece en el lugar en el
espacio dnde lo han dejado. Tome en cuenta este hecho en el momento de hacer
movimientos de objetos virtuales.
Coloque otro objeto, puede ser de forma cilndrica o un cubo de otro color, en una
posicin no muy cercana al anterior y determine la posicin donde sujetarlo.
Coloque un punto intermedio donde pueda dejar temporalmente y luego volver a
tomar uno de los objetos mientras manipula el otro.
EJERCICIO:
Haga un programa que continuamente intercambie de posicin los dos
objetos creados anteriormente, utilizando para ello una posicin
intermedia.
40
4.
41
El
El
El
El
punto
punto
punto
punto
de Inicio
final en B
final en A
Diagonal
{No pallet}, {punto inicio}, {punto final A}, {punto final b},
{punto diagonal}, {posiciones en A}, {posiciones en B},
{asignacin de direccin}
42
{punto diagonal} son las coordenadas del punto final diagonalmente opuesto
al punto inicio.
{posiciones en A} es el nmero de posiciones que la matriz tiene en la
direccin A (melfa Basic 4 entiende que todas las posiciones son
equidistantes y que stas incluyen la inicial y la final)
{posiciones en B} es el nmero de posiciones que la matriz tiene en la
direccin B (melfa Basic 4 entiende que todas las posiciones son
equidistantes y que stas incluyen la inicial y la final)
{asignacin de direccin} es la forma en la cual se van a leer las posiciones
de la matriz, teniendo como posicin 1 el punto inicio. El significado de este
parmetro se muestra a continuacin:
o 1 = Zigzag. (camino sinuoso, una lnea comenzando a la iquierda, la
siguiente a la derecha, la siguiente a la izquierda ...)
o 2 = la misma direccin en cada lnea. (la primera lnea comienza en la
posicin inicial, la segunda en la posicin justo encima de la posicin
inicial)
Una vez definida la matriz de posiciones del pallet se llama a cada posicin
igualando una variable de posicin (la cual ha sido definida como tal al principio del
programa) a una colocacin especifica del pallet. Dicha posicin se llama de la
siguiente manera:
PLT {No.Pallet}, {No. De Posicin}
Esta notacin para las posiciones puede ser llamada desde cualquiera de los
comandos de movimiento, tales como el comando MOV, MVS o MVR ponindola
entre parntesis. Por ejemplo, si quiere mover el robot desde su posicin actual
hasta la posicin 15 del pallet que usted ha definido lo puede hacer de la siguiente
manera:
60 MOV (PLT 1,12)
El siguiente ejemplo define un pallet de 2 x 3 posiciones y hace una rutina
movindose a cada una de las posiciones abriendo la pinza del robot en cada punto.
10
20
30
40
50
60
70
43
80 PLTPOS = PLT 1, X
90 MOV PLTPOS, -50
100 MOV PLTPOS
110 HOPEN 1
120 MOV PHOME
130 HCLOSE 1
140 NEXT X
150 MOV PHOME, -50
160 HOPEN 1
170 END
Para lo anterior se ha definido una serie de posiciones al ras del suelo, es decir con
Z = 0 Las posiciones se muestran a continuacin:
OTRO EJEMPLO:
El paletizado se usa cuando se tiene un almacn fsicamente simtrico con muchas
posiciones donde se quieren almacenar objetos y no se quieren guardar las n
posiciones una por una.
Para ello primero se debe definir el lugar (mximo 8 lugares) desde donde se
tomarn los objetos o a donde se dejarn, es decir, la matriz.
40 DEF PLT 1, <Pinicial 1. fila>, <Pfinal 1. fila>, <Pinicial ltima fila>, <Pfinal
ltima fila>, <# de columnas>, <# de filas>, <orden en el que se hace el
paletizado, puede ser 1 2>
Luego se define la variable entera que debe llevar el nmero de localidad:
50 DEF INTE <nombre>
A continuacin se define una variable que almacena la posicin:
60 DEF POS <nombre>
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
44
Luego creamos un ciclo FOR desde la localidad 1 hasta la N que tenga la matriz
durante l se toma la variable de posicin = PLT 1, <variable de posicin> y se
guarda el objeto en esa variable y luego se ejecuta NEXT
Ejemplo:
5 REM Programa de ejemplo del paletizado
10 DEF POS INICIO
20 DEF POS P4
30 DEF POS P5
40 DEF POS P6
50 DEF POS P7
60 DEF INTE NUMPOS
70 DEF POS PPALLET
80 SPD 500 Velocidad limitada a 500 mm/s.
90 INICIO = (380,90,645,0,90,0)
100 P4 = INICIO (0,0,15,0,0,0)
110 P5 = INICIO + (0,0,15,0,0,0)
120 P6 = INICIO + (0,-60,-15,0,0,0)
130 P7 = INICIO + (0,-60,+15,0,0,0)
140 DEF PLT 1, P4, P5, P6, P7, 2,4,1
150 FOR NUMPOS = 1 TO 8
160 REM TOMA EL OBJETO
170 REM AJUSTA POSICIN
180 PPALLET = PLT 1, NUMPOS
190 MOV PPALLET, -50 Acercamiento a posicin
200 MVS PPALLET Movimiento lineal a la posicin final
210 MVS PPALLET, -50
220 NEXT NUMPOS
230 END
EJERCICIO:
Realice un programa que haga el paletizado sobre el plano XY de 3x3
posiciones moviendo cajas (boxes) virtuales desde 9 posiciones fijas
diferentes hacia un paletizado.
45
46
47
5.
Aclaraciones:
EJEMPLO EN PROGRAMA
A continuacin se muestra un programa ejemplo que pone al robot a definir una ruta
en Zigzag. A lo largo de una lnea imaginaria en X , Z = valores constantes.
Para iniciar el programa es necesario definir una posicin inicial esttica desde la
cual va a iniciar todo el proceso, sta se define como INICIO dentro del modo Teach
de programacin del robot.
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
48
Tambin vamos a declarar una variable que se sumar a las otras para definir el
avance de la puntada
Una vez definida la posicin inicial se digita el programa:
10 DEF POS INI
20 MOV INICIO
30 DEF POS PINF
40 DEF POS PSUP
50 DEF POS AVAN
60 DEF INTE ANCH
70 ANCH = 5
80 PINF = (VALORX,VALORY,VALORZ-ANCH,0,0,0)
90 PSUP =(VALORX,VALORY,VALORZ+ANCH,0,0,0)
100 AVAN = (0,5,0,0,0,0)
110 FOR N = 1 TO 15
120 PINF = PINF + AVAN
130 MOV PINF
140 PSUP = PSUP + AVAN
150 MOV PSUP
160 NEXT N
170 END
Para la mejor comprensin del programa:
El programa inicia con la posicin INICIO. Desde ah se mover al primer punto de la
costura y luego al siguiente.
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
49
El programa hace 15 puntadas, por este motivo hay un set FOR TO NEXT con 15
vueltas en total.
El programa va cambiando dinmicamente las posiciones PINFERI Y PSUPERI
cambiando su valor en Y en incrementos de 5, para esto se le suma la posicin
AVANCE.
Ejemplo usando vectores para definir la posicin inicial:
10 DEF POS INICIO
20 DEF POS PINFERI
30 DEF POS PSUPERI
40 DEF POS AVANCE
50 DEF POS ANCHO
60 DEF INTE N
70 INICIO = (380,90,645,0,90,0)
80 ANCHO = (0,0,5,0,0,0)
90 MOV INICIO
100 PINFERI =INICIO-ANCHO
110 PSUPERI =INICIO+ANCHO
120 AVANCE = (0,15,0,0,0,0)
130 FOR N = 1 TO 15
140 PINFERI = PINFERI - AVANCE
150 MOV PINFERI
160 PSUPERI = PSUPERI - AVANCE
170 MOV PSUPERI
180 NEXT N
190 END
50
6.
51
Capacitive Sensor.
Color Sensor.
Distance Sensor.
Inductive Sensor.
Light Barrier.
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
52
Mechanical Switch
Reflex Light Barrier.
53
Una vez que se ha definido una salida para el sensor, es necesario que dicha salida
sea enlazada a una entrada del robot. Las entradas del robot pueden ser ledas por
las instrucciones de un programa y servir como variables de control para controlar el
desarrollo del programa.
54
M_IN(0)
M_OUT(0)
M_IN(1)
M_IN(1)
M_IN(N)
M_OUT(N)
55
Estado reservado
a ella.
Variable
de Salida:
Estado reservado
a ella.
M_IN(0)
Stop
M_OUT(0)
Running
M_IN(1)
Servo Of
M_OUT(1)
Servo On
M_IN(2)
Error Reset
M_OUT(4)
Abrir Pinza
M_IN(3)
Start
M_OUT(5)
Cerrar Pinza
M_IN(4)
Servo On
Puede verificar lo anterior en el Model Explorer, en los elementos que llenan los
Inputs y los Outputs del Robot. Cada uno de estos elementos tiene un parmetro
llamado Index asociado a l, este valor Index es el que se usar entre parntesis
para poder leer o asignar valores a las entradas/salidas.
En el caso ejemplo, si a lo largo del programa usted quiere saber el estado del
sensor que acaba de ingresar, como lo ha asociado al INPUT del Robot con INDEX =
6 , usted lo llamar con la siguiente variable: M_IN(6). El valor ser 0 si el sensor no
detecta nada, y 1 si el sensor detecta algo.
Es posible asignar una variable para las entradas/salidas. Con ello no tendr que
escribir M_IN(x) o M_OUT(x) en cada ocasin, sino que leer solamente el valor que
tiene la variable. Este tipo de variable se llama variable de entrada/salida y se
asigna de la siguiente manera: en las primeras lneas de su programa use el
comando DEF y el modificador IO para definir el identificador de su entrada/salida.
La sintaxis de esta sentencia es:
DEF IO {Nombre de la variable} = {tipo de designacin},{Numero de Input/output}
El nombre de la variable puede contener hasta 8 caracteres.
El tipo de designacin puede ser BIT, BYTE, WORD o INTEGER. Ello depender del
tipo de sensor que se tenga.
El Nmero de Input/Output es el INDEX number de la entrada o salida (el valor de x
en M_IN(x) o M_OUT(x))
56
Ejemplo:
10 DEF IO SENSOR = BIT, 5
En otra parte del programa usted podr llamar a la variable de entrada/salida que
defini para leer su valor. Suponemos que la llamar para tomar alguna decisin
sobre la ejecucin del programa. El siguiente ejemplo de sentencia de lectura y
decisin aclarar sus dudas:
100 IF SENSOR = 1 THEN GOTO 250
La mejor manera de entender esto es desarrollando un ejemplo para seguir el
procedimiento.
El siguiente ejemplo hace un paletizado de 6 posiciones, pero incorpora un objeto
virtual (una caja ubicada en 300,0,0 con un grip point en 50,50,60) que puede ser
tomada por el robot en la posicin P1 y la pasea por todo el pallet.
Hay un sensor inductivo incorporado en la posicin (500,40,-1) con su Measuring
range entre 0 mm (Lower Limit) y 5 mm (Upper Limit). La salida normal del sensor,
llamada Detect, est conectada al INPUT del Robot con INDEX 006. El programa
evala el estado de la salida del sensor cada vez que posiciona la caja y el elemento
terminal en cada posicin del pallet. Cuando el robot ponga la caja sobre el sensor,
el sensor cambiar de estado y detendr el lazo de seguimiento de posiciones del
paletizado.
El listado de posiciones del proyecto es el siguiente:
57
58
En
el
apartado
General,
asegrese que las dimensiones
de la superficie sean las de la
caja (100 x 100) y en el apartado
Material, asegrese que el
material sea Robot Steel para
que sensor detecte la presencia
de la lmina.
La posicin de la lmina debe
ser 0,0,0 para que quede en la
parte de debajo de la caja.
59
1. Definir el archivo en el cual se va a escribir. Esto se realiza con una sola lnea
de comando de la siguiente manera:
OPEN nombrearchivo.txt FOR INPUT AS #{No. de Archivo}
Por ejemplo 20 OPEN "PARAMETROS.TXT" FOR INPUT AS #1
2. Usar el comando INPUT para leer la lnea actual. ejemplo:
30 INPUT #1, ASMD$
40 INPUT #1, PARAMETRO1, AVANCE, PINIT
3. Cerrar el archivo en el cual se est escribiendo con la palabra CLOSE seguida
del nmero del archivo que se le ha asignado. Por ejemplo:
60
90 CLOSE #1
EJERCICIO:
Desarrolle un proyecto en CIROS Robotics que tome un objeto lo manipule
con vectores de manera que se acerque progresivamente a una barrera de
luz. Cuando cruce la barrera, el programa deber interrumpirse.
61
7.
62
CIROS ROBOTICS
Controlador CR2B-574
Brazo Robot RV3SB
63
6 grados de libertad
Repetitividad: 0.02 mm.
Velocidad mxima: 5,500 mm./s. (limitada a 1,000 mm/s por seguridad
para la enseanza)
Peso: 37Kg.
Alcance: 642 mm.(sin pinza)
64
65
66
1: Encendido
2/3: Botn de inicio/paro de programa precargado
4: Botn de reinicio (Reset)
5: Paro de emergencia
9/10: Encendido/Apagado de los servos
12: Conexin con la botonera
13: Conexin con la computadora
14: Seleccin del modo (con una llave)
67
68
PINIT
PPAL(15)
PPAL(1)
PPAL(2)
PPAL(3)
PPAL(4)
PINIT
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
PPH(5)
PPH(1)
PPH(2)
PPH(3)
PPH(4)
69
PINIT
PASM(2)
PASM(1)
PTEST
PFD(1)
PFD(2)
70
PINIT
PPASM
PPFD
71
PPAL(4)
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora
Instituto de Investigacin e Innovacin en Electrnica
Universidad Don Bosco
PPAL(3)
PPAL(2)
PPAL(1)
PPAL(15)
PINIT
72
73
PBP(4)
PBP(3)
PBP(2)
PBP(1)
PBP(5)
PWAIT 1
PWAIT 2
PCNC
ULMILL
descargar
fresadora
Este programa sirve sacar una placa base procesada desde la mquina
fresadora.
74
PBP(4)
PBP(3)
PBP(2)
PBP(1)
PWAIT 1
PWAIT 2
PCNC
75
76
Tome la unidad Teach con la mano izquierda, ajuste la banda sujetadora al grosor de
su mano. Presione con los dedos de su mano izquierda la barra en la parte de abajo
del Teach. Y luego, sin dejar de presionar la barra, presione el botn STEP MOVE
(SVO ON). Escuchar un clic en el robot, esto quiere decir que el robot est listo para
ser manipulado.
Nota Importante:
Antes de comenzar la manipulacin del robot es primordial que la velocidad
no sea motivo de una colisin accidental. Configure la velocidad del robot a
un nivel que sea fcilmente manipulable. Utilice las teclas + y - que se
encuentran bajo el botn SVO ON para variar la velocidad de operacin del
robot.
+
FORWD
BACKW
D
En la esquina superior derecha de la pantalla ver usted una cifra seguida del
smbolo %. Vare la cifra con las teclas antes mencionadas hasta poner la
velocidad en 5% para empezar, y aumente o disminuya segn sea su
necesidad.
77
ANTES
DE
INICIAR
CON EL
ROBOT
78
MODO JOINT
Si desea mover el robot en cada articulacin presione JOINT. El robot tiene
etiquetada en cada articulacin el nombre de la articulacin con unos simbolos +
y - (que indican el sentido del movimiento en cada articulacin con unas flechas).
Antes de efectuar cualquier movimiento acrquese al robot y observe el nombre de
cada articulacin y el sentido de cada flecha para efectuar el movimiento de una
manera certera.
Si est trabajando en el robot auxiliar del CNC tome en cuenta que este robot tiene
un eje lineal de movimiento extra. Para moverse en dicho eje escoja el modo JOINT y
una vez que le aparezca el listado de las articulaciones con las magnitudes de cada
una, presione nuevamente el botn JOINT y le aparecer en la pantalla la lnea que
dice ADDN. AXIS bajo la cual le aparecer la articulacin J7 y su respectiva
magnitud. Mueva al robot a lo largo de esta lnea usando los botones etiquetados
X (J1) y + X (J1).
MODO TOOL
De manera similar al caso virtual, en el modo TOOL podr mover el robot a lo largo
de los ejes que se definen en la direccin que apunta el elemento terminador del
robot. Par entrar en este modo de movimiento presione el botn TOOL que se
encuentra arriba del botn STEP MOVE.
79
80
Nombre
del
programa:
Nombre
del
programa:
Nombre
del
programa:
Nombre de
la posicin:
Nombre de
la
posicin:
Nombre de
la
posicin:
Coordenad
a
Valor
original
Coordenad
a
Valor
original
Coordenad
a
X=
X=
X=
Y=
Y=
Y=
Z=
Z=
Z=
A=
A=
A=
B=
B=
B=
C=
C=
C=
Valor
original
81
como
se
82
83
Para cargar uno de los programas que estn en la lista de programas, simplemente
de doble clic en el nombre del programa, se abrir una ventana anunciando que se
cargarn en la PC las instrucciones del programa y sus posiciones. Todos los
programas pueden ser extrados menos el programa MAIN que siempre est
corriendo y por ello es poco lo que se puede hacer con l.
Para extraer el programa de clic en OK
en la ventana de Up and Download.
Inmediatamente se cargarn las listas
de posiciones y el texto del programa en
dos ventanas separadas.
84
85
Luego haga clic sobre la ventana del programa y presione el botn para descargar
el programa al robot y presione OK.
Repita el paso anterior estando en la ventana de posiciones si desea descargar
tambin las posiciones al controlador del robot.
Valla a la ventana RCI EXPLORER y haga clic derecho sobre el nombre del programa
y seleccione DEBUG.
.
Est atento al botn de Paro para detener el robot si hace un movimiento
diferente al que usted esperaba.
Para finalizar presione el botn de paro
lo que har que automticamente la
conexin cambie a Online OFF. Busque en Connection la opcin Disconnect para
terminar la comunicacin con el robot.
86
87
APENDICE
88
APENDICE 1
SI TIENE PROBLEMAS PARA CONECTAR CON EL SERVIDOR DE LICENCIAS REALICE EL
SIGUIENTE PROCEDIMIENTO:
Es posible que al intentar arrancar el CIROS ROBOTICS aparezca un cuadro
anunciando que no se puede conectar con el servidor de licencias. Esto se puede
deber a dos cosas:
El servidor de licencias no tiene puesta la llave de licencias ni arrancado el servicio.
La PC en que se intenta arrancar el CIROS ROBOTICS no tiene conexin a la red del
servidor o no tiene configurado la direccin IP del servidor para solicitar la licencia.
En el primer caso, es necesario verificar que el servidor de licencias est conectado
a la red, poner la llave de licencia etiquetada CIROS AUTOMATION SUITE en el
servidor e iniciar la aplicacin del servidor de licencias. Para hacer esto se arranca
en el servidor la siguiente aplicacin:
89
90
Presione
el
botn
Generate
Configuration file. . Pero se habr
generado un archivo que le dice a la
aplicacin de CIROS Robotics que el
servidor de licencias est en el sitio
dnde se ha encontrado la informacin
que usted est percibiendo en la
ventana
de
CIROS
SmarxOS
Management
Intente ahora de nuevo abrir la aplicacin de CIROS Robotics. En esta ocasin no
deber darle ningn problema.
91
Si hay respuesta de ECO al ping que est tirando la computadora del problema,
entonces el problema puede que sea el Windows firewall en la mquina servidor de
licencias. Verifique que el Firewall se encuentre desactivado, o que en su defecto
est permitiendo la operacin de todos los ejecutables relacionados con el servidor
de licencias, y que adems tenga libres los puertos del servidor de licencias que
son, el UDP 8766 y el TCP 8765.
Bibliografa:
CIRUS AUTOMATION SUITE: Archivos de Ayuda. Festo Didactic GmbH, 2008
Melfa Industrial Robot, Instruction Manual, 2003