Estructura de un programa: Programar en modo ASH
Magox01Tutorial25 de Septiembre de 2013
3.614 Palabras (15 Páginas)753 Visitas
Tema 4.2 Estructura de un programa.
Programar en modo ASH.
Para programar en modo ASH es necesario realizar varias tareas de inicio.
Paso 1. Llevar el robot a HOME.
Paso 2. Escribir el comando W0 (cero). Esto es para que la computadora nos proporcione las coordenadas actuales del robot, para saber hacia donde tenemos que dirigirnos.
Como cualquier Lenguaje el RAPL3, cuenta con un editor y un compilador, que también se encuentran en el ROBCOMM3, el Programa fuente es un archivo que debe de contener la extensión r3, y podrá ser escrito en otro editor, siempre que contenga dicha extensión.
La Estructura general para un programa en RAPL3 es similar a los programas en lenguaje “C”, en donde hay que respetar las estructuras programáticas
El formato es el siguiente:
definición de variables: (puede ser antes o después de definir el segmento principal main)
teachable cloca,b.....z,a1.... a xx, [10] puntos, etc......
plocm,n,p
inti, a1....axx,
float b.... etc.
Para el caso en que las variables se refieran a ubicación de puntos grabados en el controlados del robot, se especifica el tipo de exactitud de las variables (cloc, ploc) en dónde cloc (localización cartesiana) se refiere a que se va a referenciar para la exactitud en sistema de coordenadas cartesiano, y ploc (puntos de localización) lo hará directamente de los puntos provenientes de los “decoders” del robot; se obtiene másprecisión con el tipo ploc
La estructura main es la principal de todo programa, empieza con la palabra main y al final del programa endmain.
Programa No 1
teachablecloca,b
main ;; define el segmento principal, comienzo de todo programa
;; Es conveniente poner comentarios cuando se realiza y ;;Estructura un programa para una mejor comprensión , lo ;;cual se hace poniendo dos puntos y comas seguidos (;;), y a ;;continuación los comentarios deseados
ready() ;; comandos con dos paréntesis al final
move (a)
move (b)
ready() ;;Fin del programa
endmain ;; fin del segmento principal
Esta es la estructura básica 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 añadirle dos paréntesis, para la creación de ellos se debe de hacer lo siguiente:
1.-Abra el ROBCOMM3,
En el menú File seleccione la opción 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 guárdelo con un nombre procurando ponerle la extensión r3.
3.-Compilar el programa escrito.
Seleccione del menú application la opción compile, o haga un clic con el Mouse sobre el icono compile.
Después de compilar, si no existe ningún 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 línea en la cual se encuentra el error.
4.-Creando una Aplicación.
Una vez salvado el programa, es necesario crear una aplicación que sirve de vinculo para que trabaje el robot, valla a la ventana del menú aplicación Selecciona new app, póngale el mismo nombre del archivo fuente
Verifique en el Menú aplicación setup que todas las líneas 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 sendapp, o Desde el menú application, seleccionar send, o desde la ventana del editor, haciendo clic en el botón 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 aplicación, y se corre el programa con la opción run confirmando la ejecución.
Desde la PC. Dentro del Robcomm3 y una vez que aparece el prompt se selecciona la aplicación que fue grabada, cuando aparece la aplicación se teclea run y se le da enter ejecutándose asi el programa.
Cuando el proceso de Crear programa fuente, Compilar y Crear aplicación se ha terminado se deben de tener tres archivos en el directorio de trabajo, que son los siguientes:
nombre.r3 Programa fuente
nombre.app Aplicación (archivo de enlace)
nombre Archivo Objeto (aplicación de terminal)
4.3.-COMANDOS QUE SOLO FUNCIONAN EN UN PROGRAMA
Hay un conjunto de comandos que solo funcionan dentro de un programa, la tabla siguiente muestra algunos de ellos.
SINTAXIS SIGNIFICADO
delay(#) Espera el tiempo especificado por # en milisegundos
finish() Le da fin la instrucción anterior antes de ejecutar la siguiente
Printf() Manda a Imprimir en la pantall
Programa No 2
Construya un programa que realiza movimientos de los ejes del robot, como el que se da a continuación , ejecute primero los movimientos antes que lo haga el programa.
main
ready()
speed(40)
joint(1,-170) ;; Moverse Eje # 1 170 grados en el sentido de las manecillas
finish()
delay(3000) ;; Espera dos segundos
joint(1,340)
finish()
delay(3000) ;; Espera dos segundos
joint(1,-170) ;; Regresa a la posición Inicial
finish()
delay(3000)
joint(2,-90) ;; MoverseEje # 2
finish()
delay(3000) ;; Espera dos segundos
joint(2,180)
finish()
delay(3000)
joint(2,-90)
finish()
delay(3000)
joint(3,-24) ;; MoverseEje # 3
finish()
delay(3000)
joint(3,204)
finish()
delay(3000)
joint(3,-180)
finish()
delay(3000)
joint(4,-180) ;; MoverseEje # 4
finish()
delay(3000)
joint(4,360)
finish()
delay(3000)
joint(4,-180)
finish()
delay(3000)
joint(5,-104) ;; MoverseEje # 5
finish()
delay(3000)
joint(5,208)
finish()
delay(3000)
joint(5,-104)
finish()
delay(3000)
joint(6,-180) ;; MoverseEje # 5
finish()
delay(3000)
joint(6,360)
finish()
delay(3000)
joint (6,-180)
finish()
delay(3000)
end main
4.4.-LAS VARIABLES EN RAPL3
En el Rapl3 los nombres de las variables pueden ser de cualquier longitud, sin embrago los primeros 32 caracteres son los importantes. Números y guión bajo pueden ser utilizados como primer carácter en un nombre.
Los tipos de variables se muestran en la siguiente tabla:
Símbolo Tipo
Ninguno Entero
% Flotante
$ Cadena
Guión bajo (_) Cloc(cartesiano)
# Ploc(punto de precisión)
Esto es importante cuando queremos asignar desde la terminal un tipo de variable deseada.
Asignación de variables
Las variables que son asignadas dentro del programa Rapl3, pueden ser asignadas ya sea en la declaración de línea, o en cualquier parte del programa. La asignación de una variable ocurre cuando la variables es cargada con un valor actual.
Las variables del tipo teachable, le pueden ser asignados valores en el prompt de ash, usando el comando set. Para asignar los valores a las variables se usa el operador ”=”, ejemplo:
Prueba> set A_VALOR=5
Rapl3 soporta la asignación de valores en codigo ASCII para caracteres, usando el carácter actual encerado entre comillas simples, ejemplo:
Char =”A”
Variables del tipo teachable
Las variables de este tipo son aquellas que son declaradas en el programa Rapl3 y corresponden a posiciones del robot. Para crear este tipo de variables, se debe de usar la palabra teachable antes de la variable que se está declarando. La asignación de la variable va a ser suministrada por el usuario desde la terminal antes de correr el programa.
Las variables teachable son declaradas al comienzo del programa principal o bien en un subprograma. Esta variable es global por naturaleza, todos los subprogramas y el programa principal de cualquier archivo van a compartir el valor de esas variables Este tipo de variables no pueden ser declaradas y a la vez asignarles un valor o inicializarlas.
Las variables teachables pueden ser de dos tipos, cloc( cartesiana ) o ploc( precisión), si no se declara el tipo por default es cloc.
Otra manera de asignar valores a variables que no cambiarán su valor, y para una mejor comprensión al utilizarlas, es darle valores
...