Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


ROBÓTICA INDUSTRIAL 3, Apuntes de Ingeniería electrónica

Asignatura: ROBÓTICA INDUSTRIAL, Profesor: , Carrera: Ingeniería Electrónica Industrial, Universidad: US

Tipo: Apuntes

Antes del 2010

Subido el 28/05/2007

anaso-10
anaso-10 🇪🇸

4.2

(43)

13 documentos

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
22
Instrucciones principales de ACL (I)
Unidades: Tiempos en cs (0.01 s). Velocidad en porcentajes de 1% a 100%. Coord propias:
encoders. Coord mundo: 0.1mm. Orientación: 0.1 grado (Pitch/Roll)
1.- Instrucciones de movimiento
Lo primero que hay que hacer cuando se arranca un robot es:
HOME . Lleva todos los ejes del robot a una posición de descanso (Home)
Para movernos a una posición determinada se usará el comando MOVE
MOVE "posición" "tiempo" se desplaza a la posición en el tiempo indicado (o a la velocidad actual si no se
indica tiempo)
MOVEL "posición" "tiempo" movimiento lineal. Análogo.
MOVEC pos1 pos2 movimiento circular que pasa por la pos2 y llega a pos1 (no puede fijarse el tiempo).
MOVES “vect_pos” “com” “fin” “tiempo” movimiento interpolado a través del vector de posiciones
vect_pos, en el tiempo indicado (o a la velocidad actual si no se indica tiempo).
- Si se añade una D a esos comandos, no se ejecuta nada hasta que no alcance la pos. Ej: MOVELD
Pinza
CLOSE. Cierra la pinza del efector final del SCORBOT.
OPEN. Abre la pinza del efector final del SCORBOT.
JAW “var” “tiempo”. Abre la pinza hasta el valor de var en el tiempo dado (max veloc si no se indica
tiempo). Var entre 0 y 100
Velocidad
SPEED "valor" "eje" ajusta la velocidad a la que se realizará el desplazamiento del “eje”, indicando un
valor entre 1 y 100. Por defecto 50.
MPROFILE PARABOLE/TRAPEZE. Perfil de velocidad tipo Parábola (por defecto) o Trapecio.
23
Instrucciones principales de ACL (II)
2.- Control de programas y tiempo real
RUN, STOP, CONTINUE/SUSPEND, etc. Se verán en el laboratorio
Sincronización de 1 programa
DELAY "variable" Suspende la ejecución del programa durante "variable" centésimas de segundo
WAIT "variable1" "condición" "variable2" Suspende la ejecución hasta que se cumpla la condición
TRIGGER "programa" BY IN/OUT "n" Ejecuta el programa al llegar el evento de IN/OUT
Sincronización entre dos programas.
PEND "variable1" FROM "variable2" (estas variables deben ser globales). Si variable2 vale 0, se
suspende la ejecución del programa hasta que otro programa pone un valor en la variable2 distinto
de cero (Variable1 no se usa en esta forma)
POST " variable1/valor" TO "variable2" Asigna un valor a la variable y despierta la tarea que estuviera
en el comando PEND
3.- Definir y valorar posiciones (toda posición es variable global en ACL)
DEFP "posición" Declara una posición, (nombre hasta cinco caracteres). Por defecto Grupo A
DIMP "vector[n]" Declara un vector de n posiciones. Por defecto Grupo A
HERE "posición" Asigna la posición actual absoluta en coordenadas propias a posición
SETPV "posición" “eje” “valor” Asigna al eje de la posición dada, el valor en encoders
SETPVC "posición" "coordenadas" "valor" . Idemque anterior, para coordenadas cartesianas (XYZPR)
SHIFT y SHIFTC Incrementan el valor de un eje de una posición (formato similar a los anteriores,
indicando que coordenada se incrementa: SHIFT “pos” BY “coord” “valor”).
SETP “posición1”=“posición2” Copia el valor de la posición1
pf2

Vista previa parcial del texto

¡Descarga ROBÓTICA INDUSTRIAL 3 y más Apuntes en PDF de Ingeniería electrónica solo en Docsity!

Instrucciones principales de ACL (I)

Unidades: Tiempos en cs (0.01 s). Velocidad en porcentajes de 1% a 100%. Coord propias: encoders. Coord mundo: 0.1mm. Orientación: 0.1 grado (Pitch/Roll) 1.- Instrucciones de movimiento Lo primero que hay que hacer cuando se arranca un robot es: HOME. Lleva todos los ejes del robot a una posición de descanso (Home) Para movernos a una posición determinada se usará el comando MOVE MOVE "posición" "tiempo" se desplaza a la posición en el tiempo indicado (o a la velocidad actual si no se indica tiempo) MOVEL "posición" "tiempo" movimiento lineal. Análogo. MOVEC pos1 pos2 movimiento circular que pasa por la pos2 y llega a pos1 (no puede fijarse el tiempo). MOVES “vect_pos” “com” “fin” “tiempo” movimiento interpolado a través del vector de posiciones vect_pos, en el tiempo indicado (o a la velocidad actual si no se indica tiempo).

  • Si se añade una D a esos comandos, no se ejecuta nada hasta que no alcance la pos. Ej: MOVELD Pinza CLOSE. Cierra la pinza del efector final del SCORBOT. OPEN. Abre la pinza del efector final del SCORBOT. JAW “var” “tiempo”. Abre la pinza hasta el valor de var en el tiempo dado (max veloc si no se indica tiempo). Var entre 0 y 100 Velocidad SPEED "valor" "eje" ajusta la velocidad a la que se realizará el desplazamiento del “eje”, indicando un valor entre 1 y 100. Por defecto 50. MPROFILE PARABOLE/TRAPEZE. Perfil de velocidad tipo Parábola (por defecto) o Trapecio.

Instrucciones principales de ACL (II)

2.- Control de programas y tiempo real RUN, STOP, CONTINUE/SUSPEND, etc. Se verán en el laboratorio Sincronización de 1 programa DELAY "variable" Suspende la ejecución del programa durante "variable" centésimas de segundo WAIT "variable1" "condición" "variable2" Suspende la ejecución hasta que se cumpla la condición TRIGGER "programa" BY IN/OUT "n" Ejecuta el programa al llegar el evento de IN/OUT Sincronización entre dos programas. PEND "variable1" FROM "variable2" (estas variables deben ser globales). Si variable2 vale 0, se suspende la ejecución del programa hasta que otro programa pone un valor en la variable2 distinto de cero (Variable1 no se usa en esta forma) POST " variable1/valor" TO "variable2" Asigna un valor a la variable y despierta la tarea que estuviera en el comando PEND

3.- Definir y valorar posiciones (toda posición es variable global en ACL) DEFP "posición" Declara una posición, (nombre hasta cinco caracteres). Por defecto Grupo A DIMP "vector[n]" Declara un vector de n posiciones. Por defecto Grupo A HERE "posición" Asigna la posición actual absoluta en coordenadas propias a posición SETPV "posición" “eje” “valor” Asigna al eje de la posición dada, el valor en encoders SETPVC "posición" "coordenadas" "valor". Idem que anterior, para coordenadas cartesianas (XYZPR) SHIFT y SHIFTC Incrementan el valor de un eje de una posición (formato similar a los anteriores, indicando que coordenada se incrementa: SHIFT “pos” BY “coord” “valor”). SETP “posición1”=“posición2” Copia el valor de la posición

Instrucciones principales de ACL (III)

4.- Variables y operaciones (todas con números enteros de 32 bits con signo) DEFINE "variable1“... "variable8" Declara hasta 8 variables locales (que no son posiciones). GLOBAL "variable1" ... "variable8" Declara hasta 8 variables globales para todos los programas. DIM "vector"[n] Declara Vector de variables locales de dimensión n. DIMG "vector"[n] Declara Vector de variables globales de dimensión n. Operaciones SET = SET =NOT ; booleano SET =COMPLEMENT ; booleano SET =ABS SET = ; es: + - * / COS SIN TAN ATAN EXP LOG MOD AND OR Cuidado: Sólo trabaja con números enteros (funciones trigonométricas son difíciles de usar). SET =PVAL ; valor en encoders SET =PVALC ; valor de coord (XYZPR) cartesiana 5.- E/S IN y OUT son vectores de variables especiales (del sistema). Por tanto, por ej: SET OUT [n] =“estado”. Pone la salida número n (1 a 16) al valor del estado (1 o 0) SET ANOUT [n] =“voltaje”. Pone el voltaje (en mV) en la salida analógica:

  • n=1-6: ejes del robot y pinza
  • n=7-8: dos salidas externas Ejemplo: SET var3 = NOT IN[2] IF IN[n] =“estado” ... Ver comando IF en página siguiente. También se pueden cambiar los voltajes aplicados a los motores (Controlador abierto).

Instrucciones principales de ACL (y IV)

6.- Flujo de programación LABEL “numero" Etiqueta asociada a función (0<numero<9999) Alternativa : IF v1 "condición" v ... ORIF v1 "condición" v ... ANDIF v1 "condición" v ELSE ENDIF Ejemplo: IF J> ANDIF A=B SET OUT[1]= ELSE SET OUT[5]= ENDIF Iterativa : FOR “variable” = valor1 TO valor ... ENDFOR Saltos: GOTO “numero" ( definido con LABEL numero) GOSUB "programa“. El programa principal llama a subprograma y no continúa hasta que no acabe éste. 7.- Otros comandos interesantes sólo para modo “directo” CLR *. Pone a cero todos los encoders. TEACH "posición" Asigna la posición actual en coordenadas cartesianas absolutas XYZ,PR a “posición”