Programar en Modo ASH Robot
Programar en Modo ASH Robot
Programar en Modo ASH Robot
Esta es la estructura bsica de los programas, con la cual debe contar todo
programa para interactuar con la interface del robot
4.2.-CREANDO UN PROGRAMA CON EL ROBCOMM3
Dentro de un programa la sintaxis de los comandos cambia, es necesario
aadirle dos parntesis, para la creacin de ellos se debe de hacer lo siguiente:
1.-Abra el ROBCOMM3,
En el men File seleccione la opcin de New, o haga un clic en el icono New
Doc. Aparece la pantalla siguiente:
2.-Edite el programa.
Comience a escribir su programa fuente, al terminar gurdelo con un nombre
procurando ponerle la extensin r3.
3.-Compilar el programa escrito.
Seleccione del men application la opcin compile, o haga un clic con el Mouse
sobre el icono compile.
Despus de compilar, si no existe ningn error en el programa fuente, se
enviara un mensaje en la siguiente pantalla.
En el caso de errores saldr el tipo de error y la lnea en la cual se encuentra el
error.
4.-Creando una Aplicacin.
Una vez salvado el programa, es necesario crear una aplicacin que sirve de
vinculo para que trabaje el robot, valla a la ventana del men aplicacin
Selecciona new app, pngale el mismo nombre del archivo fuente
Verifique en el Men aplicacin setup que todas las lneas deben de estar
llenas con el mismo nombre como se ve en la siguiente pantalla.
5.-Cargando el programa en el controlador
El programa una vez compilado se queda en la PC por lo que es necesario
mandar el archivo objeto al controlador, para ello es necesario realizar el
procedimiento siguiente:
Haga un clic con el Mouse en el icono send app, o Desde el men application,
seleccionar send, o desde la ventana del editor, haciendo clic en el botn
derecho del Mouse se despliega un men donde se selecciona send.
6.- Una vez que se tiene el programa, que este ha sido compilado y enviado al
controlador y que las posiciones han sido verificadas o grabadas, se procede a
ejecutar el programa de la siguiente forma:
Desde el teach pendant, se selecciona la aplicacin, y se corre el programa con
la opcin run confirmando la ejecucin.
Desde la PC. Dentro del Robcomm3 y una vez que aparece el prompt se
selecciona la aplicacin que fue grabada, cuando aparece la aplicacin se
teclea run y se le da enter ejecutndose asi el programa.
finish()
delay(3000)
joint(3,204)
finish()
delay(3000)
joint(3,-180)
finish()
delay(3000)
joint(4,-180) ;; Moverse Eje # 4
finish()
delay(3000)
joint(4,360)
finish()
delay(3000)
joint(4,-180)
finish()
delay(3000)
joint(5,-104) ;; Moverse Eje # 5
finish()
delay(3000)
joint(5,208)
finish()
delay(3000)
joint(5,-104)
finish()
delay(3000)
joint(6,-180) ;; Moverse Eje # 5
finish()
delay(3000)
joint(6,360)
finish()
delay(3000)
joint (6,-180)
finish()
delay(3000)
end main
enviar avisos, y poder saber que esta haciendo el programa en los momentos
que uno desee.
El comando para realizar esto es printf
La expresin que se quiere que salga en pantalla se debe de encerrar entre
comillas, como la siguiente:
Printf(el robot esta trabajando)
Se puede utilizar un salto de lnea aadiendo un \n, ejemplo
Int a =12
Printf( el valor de a es {}\n,a);;esta lnea se imprimir en la pantalla como:
;; el valor de a es 12
Programa No 4
Main
int i
teachable cloc a,b
grip_open()
speed(80)
i=1
do
printf("ENTRANDO AL DO UNTIL I = {}\n",i)
delay(3000)
speed(30)
move(a)
printf("MOVINDOSE AL PUNTO a{}\n")
finish()
delay(3000)
grip_close()
speed(10)
move(b)
printf("MOVINDOSE AL PUNTO b{}\n")
delay(3000)
finish()
grip_open()
i++
if i==2
break ;;Instruccin para Salir inmediatamente del ciclo
end if
until i> 3
end main
Ciclo while ..... end while
La sintaxis de esta estructura es :
while CONDICION
........instrucciones
........
........
end while
Este ciclo se repetir todas las veces que sean necesarias mientras la condicin
sea verdadera, si se llega al while por primera vez y la condicin es falsa, no se
ejecutan ninguna de las instrucciones que estn dentro, se empiezan a
ejecutar las que estn despus del end while; Como se ver en el siguiente
ejemplo:
Programa No 5
teachable cloc a,b
int c = 0
.define alta 50
.define media 30
.define baja 10
main
speed(baja)
while c 5
break
end if
end loop
move(d)
delay(5000)
ready()
end main
of: 1
..........Instrucciones
of: 2,3..
..........
of 7 to 9:
..........
of 10 to 12, 13 to 16, 19:
..........
else
..........
end case
Las instrucciones que se ejecutaran dependern del valor de la variable, y en cada caso solo
una de ellas, debajo de else estarn las instrucciones que se ejecutaran para todos los casos
no contemplados en los case.
Programa No 9
teachable cloc a,b,c,d
main
int e=1
string[23] mensaje1
mensaje1 = "El valor de e = {},\n"
ready()
printf("Los case son 16 \n")
loop
delay(3000)
case e
of 1:
printf("al punto a ")
printf(mensaje1,e)
move(a)
finish()
delay(2000)
ready()
of 2,3,5:
printf("al punto b ")
printf(mensaje1,e)
move(b)
finish()
delay(2000)
ready()
of 6 to 8:
move(c)
finish()
delay(2000)
ready()
printf("al punto c de 6 a 8 e ={}\n",e)
of 9 to 10, 12 to 14, 16:
move(d)
finish()
delay(2000)
ready()
printf("al punto d de 9,10 12,13,14,16, e ={}\n",e)
else
printf("Nada ")
printf(mensaje1,e)
delay(2000)
end case
e = e+1
if e >17
break
end if
end loop
ready()
finish()
printf("Fin del programa.....Adios\n")
end main
4.9.-SUBRUTINAS
Otra caracterstica especial de este tipo de lenguajes, es la compilacin por mdulos o
separada, lo que permite que se puedan definir subrutinas separadas del programa principal
y utilizarse llamndolas cuando sea necesario; estas subrutinas por lo general contienen
partes de un programa o secuencia fijos, es decir, que no varan aunque la
secuencia de su utilizacin as como otras acciones se puedan controlar desde
el programa principal.
Para la utilizacin de subrutinas en un programa, es necesario incluirlas en las
declaraciones que va a usar el programa principal por medio de la funcin
.include tal como se muestra a continuacin; y el formato de los archivos que
Programa No 10
Cierre aplicacin nexo y programa y cree un conjunto nuevo con este listado,
que se llame General.r3
teachable cloc a,b
.include rutina1.r3
.include rutina2.r3
main
ready()
move(a)
printf("movi a punto a y espera de 3 segn\n")
finish()
delay(3000)
printf("Ejecutando Rutina 1 y espera de 5 segn")
rutina1() ;; Ejecucin de Rutina 1
printf("termina la Rutina 1, se mueve al punto b y espera de 3 seg\n")
move(b)
finish()
delay(3000)
printf("ejecutando Rutina2 y espera de 5 seg\n")
rutina2()
printf("termina la Rutina 2, se mueve a b y espera 3 seg\n")
move(b)
delay(2000)
finish()
ready()
printf("Termina el programa\n")
end main
Abra otro archivo y escriba la siguiente subrutina y slvela con el nombre
derutina1.r3
teachable cloc c
sub rutina1()
finish()
delay(3000)
move(c)
printf("se movi al punto b en Rutina1 y espera de 3 seg\n")
finish()
delay(3000)
end sub
comando output 1,1 (formato: output #salida, valor lgico) y observe; ahora el comando
output 1,0 y note el cambio de estados de aprox. cero Volts a aprox. 24 VDC que es el
voltaje de la fuente interna del controlador. Haga lo mismo con algunas salidas de la 2 a la
12.
NOTA: CUANDO SE USEN LAS SALIDAS DIGITALES, DE PREFERENCIA UTILICE
YA SEA LA FUENTE INTERNA O UNA EXTERNA, DE MAXIMO 24 VDC Y LAS
CARGAS O DISPOSITIVOS A ENCENDER (TAL COMO UN RELEVADOR) DEL
MISMO VALOR DE VOLTAJE.
Para el caso de las salidas de la 13 a la 16, existe la diferencia de que estas son contactos de
relevador, con un punto en comun. Para verificar, ajuste el multmetro para medir
resistencia (si tiene la capacidad de tono audible cuando se detecta resistencia cercana a
cero, actvela); con mucho cuidado, conecte una de las terminales del multmetro a la
terminal 43 44 del conector DD-50, y la otra a la terminal 36 del DD-50; introduzca el
comando output 13,1 y observe la lectura del medidor; despus de el comando output 13,0
y observe; conecte ahora de la terminal 43 44 a la 35 y repita los dos comandos
anteriores.
Con estas herramientas, se pueden realizar programas mas complejos que involucren el uso
de entradas y salidas digitales, para poder controlar dispositivos externos, o coordinar
acciones determinadas dependientes de esos dispositivos, a ambas cuestiones.
end if
end while
printf("no esta activada la entrada 16 y espero 5 seg\n")
delay(5000)
end loop
final::
printf("fin del curso...... felicidades y buen viaje\n")
end main
Salve el programa, cree la aplicacin y el nexo, asigne las tres posiciones y ejecute el
programa, siguiendo cuidadosamente el diagrama de conexiones y las instrucciones del
instructor, si tiene cualquier duda, no proceda con el paso siguiente hasta estar seguro de lo
que va a hacer.
Realice modificaciones y observe