Anda di halaman 1dari 26

ROBTICA INDUSTRIAL

Tema 5.1
Programacin del Robot
SCORBOT-ER V

Configuracin del sistema SCORBOT-ER V

Robtica Industrial

Tema 5.1: Programacin del


Robot

Configuracin del SCORBOT-ER V

Robtica Industrial

Tema 5.1: Programacin del


Robot

Especificaciones del SCORBOT-ER V


ELEMENTO

ESPECIFICACIONES

OBSERVACIONES

Estructura mecnica

Robot articulado con 5 grados


de libertad ms servo pinza

Giro de la base

325

Eje 1

Giro del hombro

+130/-35

Eje 2

Giro del codo

+/-150

Eje 3

Elevacin de la mueca

+/-130

Eje 4

Giro de la mueca

Ilimitado

Eje 5

Radio de funcionamiento

610 mm

Apertura pinza

65 mm

Con forros

Hard Home

En todos los ejes

Con microinterruptores

Realimentacin

Encoders

En todos los ejes

Sistema de impulsin

Servomotores elctricos de CC

Carga mxima

1 Kg

Velocidad mxima

600 mm/seg

Robtica Industrial

Tema 5.1: Programacin del


Robot

Envolvente de trabajo

Robtica Industrial

Tema 5.1: Programacin del


Robot

ACL y ATS
n

ACL (Advanced Control Lenguage)


n

n
n

Lenguaje de control que ofrece al usuario todos los


comandos y funciones para que el robot se mueva.
Es el lenguaje de programacin del robot.
Las definiciones de cada funcin se encuentran en el
controlador (ROM interna).

ATS (Advanced Terminal Software)


n

n
n

Programa ejecutado en un PC que emula un terminal


estndar.
Permite comunicarse con el robot desde el PC.
Contiene ciertas herramientas tiles para la programacin
del robot.

Robtica Industrial

Tema 5.1: Programacin del


Robot

Ejercicio 1
Llevar una pieza de la posicin P[1] a la posicin P[2].

Plano de
aproximacin

Plano de
ubicacin

Tema 5.1: Programacin del


Robot

Robtica Industrial

Secuencia de operaciones (1)


n

Desde el ATS
n

DIMP <pvec[n]>
n

Define el vector que guardar las posiciones


Las variables o vectores definidos, debe empezar siempre con una
letra y tener menos de 5 caracteres
DIMP P[10]
P es el nombre de un vector de 10 posiciones
n

ATTACH <pvec>
n

Selecciona el vector de posiciones que almacenar (teach


pendant) la Botonera de Enseanza (BE)
ATTACH P
Selecciona el vector P para almacenar posiciones

Robtica Industrial

Tema 5.1: Programacin del


Robot

Secuencia de operaciones (2)


n

Desde la Botonera de Enseanza (BE)


n

Record Position <n>


n

Registra la posicin actual como una posicin especificada


Record Position 1 <Enter>
Record Position 2 <Enter>
Record Position 3 <Enter>
Record Position 4 <Enter>

La posicin 0 corresponde a HOME y no debe modificarse.

En el PC
n

EDIT <prog>
n

Edita el programa con cualquier editor de textos ASCII.


EDIT EJER1
Edita el primer ejercicio EJER1

Robtica Industrial

Tema 5.1: Programacin del


Robot

Secuencia de operaciones (3)


n

Desde el ATS
n

HOME
n

Lleva todos los ejes hasta los microinterruptores de tope.

Enviar el programa al robot

RUN <prog>
n
n
n

Ejecuta un programa
RUN EJER1
Ejecuta el programa EJER1

Robtica Industrial

Tema 5.1: Programacin del


Robot

10

Comandos de Control (1)


n

OPEN
n

CLOSE
n

Cierra la pinza

HOME
n

Abre la pinza

Lleva el robot a la posicin de referencia

SPEED <val>
n

Permite modificar la velocidad de movimiento del robot. La velocidad


mxima es 100 y la mnima es 1.
SPEED 100
;Los siguientes movimientos se realizarn a la mxima velocidad

Robtica Industrial

Tema 5.1: Programacin del


Robot

11

Comandos de Control (2)


n

MOVE <pos>
n
n
n

Coloca la instruccin en el buffer de movimientos.


Lleva el robot a la posicin indicada.
Mientras realiza el movimiento necesario, el controlador leer la
siguiente instruccin y si es posible, la ir realizando al mismo
tiempo.
MOVE POS[3]
OPEN
;El robot se dirigir a la posicin denominada POS [ 3 ] y por el camino ir
abriendo la pinza, de forma que cuando llegue a dicha posicin, la pinza ya
estar abierta.

MOVED <pos>
n

Es similar a la anterior pero en este caso, el controlador no realiza la


siguiente instruccin hasta que no ha completado el movimiento
indicado.
MOVED SAN[12]
OPEN
;El robot se dirigir a la posicin denominada SAN[12] y una vez situado en
esa posicin abrir la pinza.

Robtica Industrial

Tema 5.1: Programacin del


Robot

12

Comandos de Control (3)


n

MOVEL <pos>
n
n

Coloca la instruccin en el buffer de movimientos.


Se le indica al robot que realice un movimiento describiendo una
trayectoria lineal.
MOVEL TOMA[6]
;El robot ir desde la posicin actual hasta la posicin denominada
TOMA[6] en lnea recta.

Atencin: Se debe tener mucho cuidado con este movimiento ya que a


la hora de realizar la trayectoria rectilnea, el robot puede encontrar
impedimentos mecnicos o tropezar consigo mismo.

MOVELD <pos>
n

Es similar a la anterior pero en este caso, el controlador no realiza la


siguiente instruccin hasta alcanzar la posicin exacta.

Robtica Industrial

Tema 5.1: Programacin del


Robot

13

Ejercicio 2
Se tienen dos objetos (A y B), coger el mayor de ellos y
llevarlo a la posicin 7

Robtica Industrial

Tema 5.1: Programacin del


Robot

14

Comandos de Control (4)


n

DEFINE <var1> <var2> ...


n

Crea una variable local, es decir, una variable que solo podr ser
usada por el programa en el que se define.
DEFINE A B C
;Crea las variables locales A, B y C.

DIM <var[n]>
n

Define un vector local de n variables


DIM LOCV[20]
;Crea el array (vector) LOCV que podr contener 20 variables locales
denominadas LOCV[1], LOCV[2], ... LOCV[20].

GLOBAL <var1> <var2> ...


n

Crea una variable global, es decir, una variable que podr ser usada
por cualquier programa.
GLOBAL PR FIN
;Crea las variables globales PR y FIN.

Robtica Industrial

Tema 5.1: Programacin del


Robot

15

Comandos de Control (5)


n

DIMG <var[n]>
n

Define un vector global de n variables


DIMG GLOV[5]
;Crea el array GLOV que podr contener 5 variables globales denominadas
GLOV[1], GLOV[2], ... GLOV[5].

SET <var1> = <var2>


n

Asigna valor a variable. <var2> puede ser una constante o una


variable.
SET A=1
;Inicializa la variable A con el valor 1.
SET B=ENC[6]
;Inicializa la variable B con el valor de cuenta del encoder correspondiente a
la articulacin 6 (pinza).

Nota: ENC[n] es una de las variables predefinidas en el sistema.


Existen seis encoders, uno por articulacin.

Robtica Industrial

Tema 5.1: Programacin del


Robot

16

Encoder de la pinza del robot

Robtica Industrial

Tema 5.1: Programacin del


Robot

17

Comandos de Control (6)


n
n
n

IF <var1> <cond> <var2>


ELSE
ENDIF
n

Permite la toma de decisiones. Ejecuta una serie de instrucciones si


se cumple una condicin (o si no se cumple).
Las condiciones posibles para <cond> son: <, >, =, <=, >= y <>
IF X=Z
MOVED POS[1]
ELSE
MOVED POS[2]
SET X=Z
ENDIF
MOVED HOME
;Si las variables X y Z tienen el mismo valor, el robot se situar en la
posicin denominada POS[1] y a continuacin ir a la posicin de referencia
HOME. En caso contrario, el robot se situar en la posicin POS[2], se le
asignar a la variable X el mismo valor que a la variable Z y a continuacin
ir a la posicin de referencia HOME.

Robtica Industrial

Tema 5.1: Programacin del


Robot

18

Ejercicio 3
Se tienen tres objetos (A, B y C), coger el mayor de ellos y
llevarlo a la posicin 9.

Robtica Industrial

Tema 5.1: Programacin del


Robot

19

Comandos de Control (7)


n

ANDIF <var1> <cond> <var2>


n

Asociado a un comando IF permite realizar una funcin lgica Y


(AND).
Las condiciones posibles para <cond> son las mismas que para el IF
que lleva asociado: <, >, =, <=, >= y <>
IF A>B
ANDIF A>C
CLOSE
ELSE
OPEN
ENDIF
;Si la variable A es mayor a la variable B y tambin A es mayor a la variable C,
cerrar la pinza.
;En caso de que no se cumpla alguna de las dos condiciones, abrir la pinza.

Robtica Industrial

Tema 5.1: Programacin del


Robot

20

10

Comandos de Control (8)


n

ORIF <var1> <cond> <var2>


n
n

Asociado a un comando IF permite realizar una funcin lgica O (OR).


Las condiciones posibles para <cond> son las mismas que para el IF
que lleva asociado: <, >, =, <=, >= y <>
IF A=B
ORIF A=D
CLOSE
ELSE
OPEN
ENDIF
;Si la variable A es igual a la variable B o si es igual a la variable D, cerrar la
pinza.
;En caso de que A no sea igual ni a B ni a D, abrir la pinza.

Robtica Industrial

Tema 5.1: Programacin del


Robot

21

Comandos de Control (9)


n
n

FOR <var>=<valor1> TO <valor2>


ENDFOR
n

Ejecuta las instrucciones comprendidas entre FOR y ENDFOR para


todos los valores de la variable indicada, empezando por el valor 1 (el
ms pequeo) y terminando con valor 2 (el mayor).
<var> es una variable y <valor1> y <valor2> son constantes o
variables.
SET N=5
FOR I=1 TO N
MOVED POS[I]
DELAY 10
ENFOR
;El robot se mover desde la posicin POS[1] hasta la posicin POS[5] pasando
por la POS[2], POS[3] y POS[4], realizando en cada una de ellas una parada de 1
segundo.

Robtica Industrial

Tema 5.1: Programacin del


Robot

22

11

Comandos de Control (10)


n

DELAY <var>
Introduce un retardo. El retardo se mide en centsimas de segundo
DELAY 100
;El robot se detendr durante 1 segundo.

SET <var1> = <var2> <oper> <var3>


n

n
n
n

Se ejecuta la operacin matemtica <oper> entre de <var2> y <var3> y


el resultado se almacena en <var1>.
<var1> es una variable
<var2> y <var3> son constantes o variables.
<oper> pueden ser una de las siguientes operaciones matemticas
bsicas: +, -, *, /, MOD (resto).
El resultado de las operaciones son siempre enteros.
SET A = B + 2
;Suma 2 al valor de B y el resultado se almacena en A

Robtica Industrial

Tema 5.1: Programacin del


Robot

23

Comandos de Control (11)


n

MOVE <pos> <tiempo>


n
n
n

La duracin del movimiento ser la del tiempo especificado.


El tiempo se da en centsimas de segundo.
No garantiza la secuencia ni la precisin.
MOVE <pos1> <tiempo1>
DELAY <tiempo1>
;Asegura la secuencialidad de mavimientos.

MOVED <pos> <tiempo>


n

Garantiza la secuencia y la precisin, pero no el tiempo, salvo que se


use con el comando EXACT, que determina la tolerancia de los
movimientos.

MOVEL <pos> <tiempo> y MOVELD <pos> <tiempo>


n

Las mismas matizaciones que para los anteriores.

Robtica Industrial

Tema 5.1: Programacin del


Robot

24

12

Ejercicio 4
Tenemos 4 objetos cuyos tamaos se desconocen (A, B, C y D). Apilar en la
posicin P, los objetos iguales al colocado en la posicin A. Apilar en la
posicin Q, los objetos que sean distintos a ese primer objeto. La altura de
todos los objetos es de 3 cm.

Robtica Industrial

Tema 5.1: Programacin del


Robot

25

Comandos de Control (12)


n

GOSUB <prog>
n
n
n

Es la llamada a una subrutina.


Se transfiere el control desde el programa principal al programa llamado <prog>.
Al ejecutarse la instruccin END se retorna al programa principal.
SET I=1
GOSUB MIRA
SET I=2
MOVED POS[5]
;Despus de inicializar la variable I a 1, ejecuta completamente el programa MIRA, despus
pone la variable I a 2 y a continuacin se sita en la posicin POS[5].

RUN
n
n

Ejecuta un programa previamente cargado en la memoria del controlador.


Si se ejecuta desde otro programa, los dos programas se ejecutan
concurrentemente.
RUN COGER
;Ejecuta el programa denominado COGER

Robtica Industrial

Tema 5.1: Programacin del


Robot

26

13

Comandos de Control (13)


n

SETP <pos2> = <pos1>


n

Copia el valor de una posicin en otra.


SETP PILA[5]=PILA[12]
;A partir de ahora, la posicin PILA[5] toma el valor de la posicin PILA[12]. La
posicin PILA[12] no es afectada.

SHIFTC <pos> BY <coord> <valor>


n

n
n

Desplaza el valor de la posicin indicada <pos>, en el sentido de la


coordenada especificada en <coord> y en la cantidad expresada en
<valor>.
<pos> es una posicin definida por el usuario
<coord> especifica la coordenada cartesiana X, Y, Z, P (paso) y R
(giro)
<valor> desplazamiento en dcimas de mm para X, Y, Z y en dcimas
de grado para P, R.
SHIFTC PILA[5] BY Z 400
;A partir de ahora, la posicin 5 del vector PILA estar situada 40 milmetros ms
hacia arriba que lo estaba antes de la ejecucin de la instruccin.

Robtica Industrial

Tema 5.1: Programacin del


Robot

27

Comandos de Control (14)


n

LABEL <etiqueta_n>
n
n

Marca con una etiqueta, una determinada posicin del programa.


<etiqueta_n> es un valor numrico.

GOTO <etiqueta_n>
n

Salta a la lnea inmediatamente posterior a la posicin de programa


marcada con la etiqueta indicada.
LABEL 1
MOVELD TOMA[1]
CLOSE
MOVELD DEJA[2]
OPEN
GOTO 1
;Repite indefinidamente las rdenes comprendidas entre la etiqueta LABEL 1 y el
salto GOTO 1.

Robtica Industrial

Tema 5.1: Programacin del


Robot

28

14

Comandos de Control (15)


n

PRINT <arg1> [<arg2><arg4>]


n
n

Permite enviar mensajes a la pantalla del PC.


Se pueden enviar hasta 40 caracteres, repartidos en 4 argumentos,
conteniendo cada uno un mximo de 10 caracteres.
<arg1..4> es el nombre de una variable o una cadena de caracteres
entre .
SET NA=5
PRINT El robot tiene NA ejes.
;En la pantalla del terminal aparecer: El robot tiene 5 ejes.
;El robot tiene , son 15 caracteres y por tanto ocupa <arg1> y <arg2>
;NA es <arg3> y ejes. es <arg4>

PRINTLN <arg1> [<arg2><arg4>]


n

Similar a la anterior, pero antes del mensaje se incluye un salto de


lnea.

Robtica Industrial

Tema 5.1: Programacin del


Robot

29

Comandos de Control (16)


n

SET <var1> = <var2> <oper> <var3>


n

Se ejecuta la funcin trigonomtrica o logartmica <oper> sobre


<var3>, se multiplica por <var2> y el resultado se almacena en <var1>.
Importante!: El controlador es una mquina de valores enteros y los
valores fraccionarios deben convertirse a valores enteros.

Caso 1
n
n
n
n
n

<var1> es el nombre de una variable


<oper> es una de las funciones siguientes: COS, SIN, TAN
<var2> constante o variable que acta como un multiplicador
<var3> constante o variable en grados.
Se computa la funcin trigonomtrica de <var3>, despus se
multiplica por <var2> y el resultado se almacena en <var1>.
NOTA: El multiplicador debe ser lo suficientemente grande para dar la
precisin esperada.
SET A=1000 COS 60
;COS 60 = 0,5, y al multiplicar por 1000, A almacenar 500.

Robtica Industrial

Tema 5.1: Programacin del


Robot

30

15

Comandos de Control (17)


n
n

SET <var1> = <var2> <oper> <var3>


Caso 2
n
n
n
n

<var1> es el nombre de una variable


<oper> es una de las funciones siguientes: ATAN, EXP, LOG;
<var2> constante o variable que acta como un multiplicador
El valor de <var3> se divide por 10.000 antes de ejecutar el cmputo,
el resultado se multiplica por <var2> y se almacena en <var1>.
NOTA 1: El multiplicador debe ser lo suficientemente grande para dar
la precisin esperada.
NOTA 2: El resultado de la funcin ATAN viene expresado en
radianes.
SET B=10 LOG 100
;100/10.000 = 0,01; LOG 0.01= -2; al multiplicar por 10, B almacenar -20.

Robtica Industrial

Tema 5.1: Programacin del


Robot

31

Comandos de Control (18)


n
n

LISTPV POSITION
LISTPV <pos>
n

Muestra en pantalla los valores de la posicin actual del robot


(POSITION) o de la posicin especificada en <pos>.
El valor de los ejes de las articulaciones (1 a 5) se expresa en
unidades de articulacin
Tambin se expresa el valor de los ejes cartesianos X, Y, Z en dcimas
de mm y el valor de P y R en dcimas de grado.
NOTA: Es un comando directo (desde ATS). Para ser utilizado desde
programa hay que precederlo del carcter @.
MOVED POS[3]
@LISTPV POSITION
;Imprime en el terminal el valor de todos los ejes (articulaciones y cartesianos) de
la posicin POS[3] despus de haberse movido a ella.

Robtica Industrial

Tema 5.1: Programacin del


Robot

32

16

Ejercicio 5 (Examen JUNIO-96)


n

Realizar un programa en lenguaje ACL para el brazo robot SCORBOT-ER V, que


posicione, ALINEADOS EN EL EJE Y, una serie de objetos utilizando los
siguientes dispositivos:
n
n

Se dispondr de una cinta sin fin controlada por la salida 1 del controlador.
En un extremo de dicha cinta estn dispuestos dos sensores de proximidad: el sensor
A es de tipo inductivo y est conectado a la entrada 1. El sensor B es de tipo
capacitivo y est conectado a la entrada 2. Los sensores estn situados de forma que
abarcan idntico campo de accin.

Robtica Industrial

Tema 5.1: Programacin del


Robot

33

Ejercicio 5 (cont.)
n

La secuencia a realizar es la siguiente:


n

n
n

Al ejecutar el programa, se solicitar al usuario el nmero de objetos que se desean


ALINEAR a partir de una posicin de referencia, ya definida, denominada P[1].
As mismo, se solicitar la distancia que se desea dejar entre cada objeto alineado.
Por ltimo se le pedir que elija la naturaleza de los objetos que se desean alinear:
metlicos o plsticos.
Una vez obtenidos los datos anteriores, se pondr en marcha la cinta sin fin y se
esperar la deteccin por parte de los sensores de proximidad de un objeto en el
extremo de la cinta, posicin P[2], tambin definida previamente.
El trabajo finalizar cuando se hayan alineados el nmero de piezas indicada por el
usuario, llevando el brazo a la posicin de referencia (HOME).

NOTAS:
n

n
n

Las posiciones definidas previamente, P[1] y P[2] no podrn ser modificadas por el
programa.
La actuacin de la cinta se realizar poniendo OUT[1]=1.
Cuando los sensores detectan un objeto, ponen las entradas a 1

Robtica Industrial

Tema 5.1: Programacin del


Robot

34

17

Comandos de Control (19)


n

READ <arg1> {<arg2><arg4>}


n

<arg> puede ser una variable o una cadena de caracteres entre


comillas (" ").
Si el argumento es una cadena, aparecer como en una sentencia
PRINT.
Si el argumento es una variable, aparecer en pantalla un "?",
indicando que est esperando la introduccin de un valor.
Slo se pueden leer valores numricos.
<ENTER> sin especificar un valor, introducir un valor cero.
n
Cualquier respuesta a "?" distinta de un valor numrico se interpreta como
un comando. Si se introduce un comando, se ejecutar, y el comando READ
pedir de nuevo que se introduzca un valor presentando el mensaje:
ENTER value
READ "Introducir valor de x " X
;Aparecer por pantalla: introducir valor de x ?
;Si se introduce 254, se asignar a x el valor 254.
n

Robtica Industrial

Tema 5.1: Programacin del


Robot

35

Comandos de Control (20)


n

GET <var>
n
n

<var> es una variable definida por el usuario.


El programa hace una pausa y espera que se pulse un carcter del
teclado. Se asigna a la variable el valor ASCII del carcter pulsado.
PRINTLN "SELECIONAR PROGRAMA: P Q R"
GET VP
IF VP=80
;80 es el valor ASCII de P
RUN PROGP
ENDIF
IF VP=81
;81 es el valor ASCII de Q
RUN PROGQ
ENDIF
IF VP=82
;82 es el valor ASCII de R
RUN PROGR
ENDIF
;segn el carcter pulsado P, Q o R, se ejecutar el programa correspondiente.

Robtica Industrial

Tema 5.1: Programacin del


Robot

36

18

Comandos de Control (21)


n

SET <var> = IN [n]


n
n
n

SET OUT [n] = <estado>


n
n
n

Fija el estado de la puerta de salida especificada.


<estado> = 1 (ON) 0 (OFF).
Posee 4 salidas a rel (NA o NC) y 12 salidas de colector abierto (24 vcc mx.).

SET <var> = TIME


n

Almacena en una variable el <estado> de la puerta de entrada especificada.


<estado> = 1 (ON) 0 (OFF).
Posee 16 entradas. ON: de 0 a 1.5 vcc. OFF: de 2.5 a 24 vcc.

TIME es una variable de sistema que se expresa en tics de 10 milisegundos a


partir del momento de la activacin del controlador.
Permite realizar clculos de tiempos.

WAIT <var1> <cond> <var2>


n

La ejecucin del programa se suspende hasta que se cumpla la condicin


indicada.
Las condiciones posibles para <cond> son: <, >, =, <=, >= y <>
WAIT IN[3]=1
;El programa no continuar hasta que se active la entrada 3.

Robtica Industrial

Tema 5.1: Programacin del


Robot

37

Comandos de Control (22)


n

SET <var1> = NOT <var2>


n
n
n

Asigna el valor lgico complementario de <var2> a <var1>.


Si <var2> <=0, entonces <var1> = 1
Si <var2> > 0, entonces <var1> = 0.
SET A=NOT B
;Si B es negativo 0 entonces A se pone a 1, Para valores positivos de B, A se
pone a 0.

SET <var1> = COMPLEMENT <var2>


n

Asigna el valor binario complementario de <var2> a <varl>, es decir,


se invierte individualmente cada bit de <var2>, y el resultado se
asigna a <var1>.
Es el complemento a 1 de <var2>
SET A=COMPLEMENT B
;Si B es 125 (01111101 en binario), entonces A se pone a 10000010 (-126,
internamente utiliza representacin en C a 2).

Robtica Industrial

Tema 5.1: Programacin del


Robot

38

19

Comandos de Control (23)


n

SET <var1> = <var2> <oper> <var3>


n
n

<oper> puede ser AND u OR


La operacin AND/OR se realiza bit a bit entre <var2> y <var3> y el
resultado se almacena en <var1>.
SET A=B AND C
;Si B o C son 0, entonces A se pone a 0

SET <var1> = ABS <var2>


n

Asigna a <var1> el valor absoluto de <var2>


SET A = ABS ENC[6]
;Almacena en A la lectura del encoder de la pinza en valor absoluto.

Robtica Industrial

Tema 5.1: Programacin del


Robot

39

Comandos de Control (24)


n

SET <var> = PVAL <pos> <eje>


n

Asigna a <var> el valor de mixtas (pasos de encoder) del eje


especificado en la posicin especificada.
<eje> es un nmero de eje de articulacin;

SET <var1> = PVALC <pos> <coord>


n

n
n
n

Asigna a <var1> una de las coordenadas cartesianas de la posicin


especificada.
<pos> debe ser posicin de robot (grupo A).
<coord> puede ser: X, Y, Z, P, R
X,Y,Z se especifica en dcimas de milmetro, P y R se especifican en
dcimas de grado.

Robtica Industrial

Tema 5.1: Programacin del


Robot

40

20

Comandos de Control (25)


n

SET <var1> = PSTATUS <pos>


n

Asigna a <var1> un valor de acuerdo con el estado de la


posicin especificada.

Estado de Posicin
Cdigo
---------------------------------------------------------------------------------------------------------------------------Ubicacin no definida
0
Posicin fija
1
Relativa por mixtas a otra posicin
2
Relativa por compensacin cartesiana a otra posicin
3
Relativa por mixtas a la posicin actual
12
Relativa por XYZ (compensacin cartesiana) a la posicin actual
13

Los comandos PVAL, PVALC, y PSTATUS, permiten


conocer el estado de una determinada posicin y asignar
los valores de sus coordenadas (de articulacin y
cartesianas) a variables para as operar con ellas.
Tema 5.1: Programacin del
Robot

Robtica Industrial

41

Trazado de curvas
n

Se pretende utilizar el robot para realizar el trazado de una curvas


normalizadas.

Para poder realizar el movimiento es necesario conocer la ecuacin


matemtica de la curva.

Por ejemplo para su utilizacin con herramientas de corte.

Ecuaciones de curvas normalizadas


y = K.x 2

Parbola

y=

Hiprbola

(x - x o )2 + (y - yo )2 = r 2

Circunferencia
Circunferencia en ec. paramtricas

x = x 0 + r.cos a

y = y0 + r.sen a

(x - x o ) 2 (y - y o ) 2
+
= r2
a2
b2

Elipse
Elipse en ec. paramtricas
Espiral

K
x

(para 0)

Robtica Industrial

x = x 0 + a.cos a
x = a.cos a

Tema 5.1: Programacin del


Robot

y = y0 + b.sen a
y = a.sen a

42

21

Ejercicio 6
Realizar el programa necesario para que el robot describa la
siguiente hiprbola de manera continua en ambos sentidos.
La hiprbola est situada en el plano X=1000 y tiene un desplazamiento
en el eje Y, mnimo de 2 cm (200) y mximo de 25 cm (2500) y en el Z,
mximo de 20 cm (2000).

(1000,200,2000)

20 cm

25 cm

Robtica Industrial

Tema 5.1: Programacin del


Robot

43

Comandos de Control (26)


n

MOVEC <pos1> <pos2>


n

Desplaza el robot realizando un movimiento circular desde la posicin actual


hasta una final <pos1>, pasando por una intermedia <pos2>.
MOVEC CIR[3] CIR[2]
;El robot describir una trayectoria circular cuyo origen es la posicin actual, el final es la
posicin denominada CIR[3] y pasar por la posicin intermedia denominada CIR[2].

IMPORTANTE!: Las limitaciones mecnicas u obstculos pueden hacer que el


arco resultante no sea posible.

MOVES <pvect> <primpos> <ultpos> {<tiempo>}


n

El robot recorrer un camino a travs de cada una de las posiciones del vector
<pvect> de manera consecutiva, desde <primpos> hasta <ultpos>, sin pausas.
MOVED RUTA[1]
MOVES RUTA 2 6
MOVES RUTA 5 1
;El robot ir desde la posicin actual RUTA[1] hasta la posicin denominada RUTA[6] pasando
por las posiciones intermedias RUTA[2], RUTA[3], RUTA[4] y RUTA[5] y despus realizar el
mismo recorrido pero en sentido contrario.

Los comandos MOVES y MOVEC tambin tienen la opcin de ejecutarse como


MOVESD y MOVECD.

Robtica Industrial

Tema 5.1: Programacin del


Robot

44

22

Comandos de Control (27)


n

A {<prog>}
n
n

Aborta la ejecucin de todos o del programa especificado.


Antes de abandonar la ejecucin del programa se finaliza el comando en curso.
A COGER
;Aborta la ejecucin del programa COGER.

STOP {<prog>}
n
n

Detiene la ejecucin de todos o del programa indicado.


El robot se detendr en la posicin en la que se encuentre en este instante, sin
completar el movimiento que est llevando a cabo.
STOP COGER
;Detiene la ejecucin del programa COGER.

SUSPEND <prog>
n
n

Suspende la ejecucin del programa indicado.


Antes de suspender la ejecucin del programa se finaliza el comando en curso.

CONTINUE <prog>
n

Reanuda la ejecucin del programa a partir del punto donde previamente haba
sido suspendido con el comando SUSPEND.

Robtica Industrial

Tema 5.1: Programacin del


Robot

45

Comandos de Control (28)


n

TRIGGER <prog> BY IN/OUT <n> {<estado>}


n

n
n
n

Comienza la ejecucin del programa <prog> cuando la entrada o


salida <n> se pone al estado <estado>.
Si se omite <estado>, se inicia cuando la entrada o salida cambia de
estado.
<prog> es un programa definido por el usuario y cargado en memoria.
<n> es el nmero de entrada o salida (de 1 a 16)
<estado> 1 (ON) 0 (OFF)
TRIGGER COGER BY IN 15 1
;Ejecuta el programa COGER cuando se activa la entrada 15
TRIGGER DEJAR TAR BY OUT 1
;Ejecuta el programa DEJAR cuando se la salida 1 cambia de estado

NOTA: Se utiliza normalmente como respuesta a los sensores.

Robtica Industrial

Tema 5.1: Programacin del


Robot

46

23

Comandos de Control (29)


n

PEND <var1> FROM <var2>


n

Espera hasta que <var2> sea distinto de 0, a continuacin lo copia en <var1>,


poniendo <var2> de nuevo a 0.

POST <var3> TO <var2>


n

Enva la constate o variable <var3> a la variable <var2> de otro programa, que


espere un valor mediante el comando PEND.
Al llegar a un comando PEND puede suceder lo siguiente:
1. Si <var2> tiene valor 0, se suspende la ejecucin hasta que otro programa mediante un
comando POST le enve un valor distinto de 0.
2. Si <var2> tiene un valor distinto de 0, se asigna ese valor a <var1>, <var2> se pone a 0 y
continua la ejecucin normal del programa.
PROGRAM COGER
SET SIGN=0
PEND VALOR FROM SIGN
RUN DEJAR
END
PROGRAM ENVIA
POST 1 TO SIGN
END
;El programa DEJAR no se ejecutar hasta que se active el programa ENVIA y asigne a la
variable SIGN el valor 1.

NOTA: Estos comandos se utilizan para sincronizar programas.

Robtica Industrial

Tema 5.1: Programacin del


Robot

47

Comandos de Control (30)


n

HERE <pos>
n

Registra en valores mixtos la ubicacin actual de los ejes en la


posicin <pos>.
Equivale a RECORD POSITION de la botonera de enseanza.

SETPV <pos> <eje> <val>


n

Fija la posicin de un eje (en mixtas) a un determinado valor para una


posicin definida. Se utiliza para modificar posiciones.
No avisa si la coordenada no es vlida hasta que se intente el
movimiento.
HERE PQ
SETPV PQ 2 300
SETPV PQ 4 200
;Guarda los valores de la posicin actual en PQ y a continuacin modifica las
coordenadas del eje 2 (giro del hombro) y del eje 4 (elevacin de la mueca).

Robtica Industrial

Tema 5.1: Programacin del


Robot

48

24

Comandos de Control (31)


n

SETPVC <pos> <coord> <valor>


n

Similar a SETPV pero para coordenadas cartesianas (X, Y, Z, P y R)


SET XV=1000
FOR I=1 TO 20
SETP V[I]=INICI
SETPVC V[I] X XV
SET XV=XV + 100
ENDFOR
;Fija el valor de X en 20 posiciones del vector V[] a valores que se van
incrementando de 100 en 100.
;INICI es una posicin fijada previamente.

TEACH <pos>
n

Permite fijar cada una de las coordenadas cartesianas (X, Y, Z, P y R)


para una determinada posicin.
El controlador pide a travs del terminal, todos los valores y presenta
los almacenados previamente.

Robtica Industrial

Tema 5.1: Programacin del


Robot

49

Comandos de Control (32)


n

DIR
n

LIST <prog>
n

Muestra en pantalla todas las lneas del programa de usuario que se le


indique.

LISTP
n

Presenta el listado de todos los programas de usuario cargados en el


controlador.
Se aade una columna de Identidad: es un nmero de identificacin
para ejecutarlo desde la botonera de enseanza mediante RUN.

Presenta una lista con todas las posiciones definidas (nombres de


variables asignadas).

LISTVAR
n

Presenta la lista de variables definidas, tanto de usuario como de


sistema.
Junto a las variables locales aparece el programa que las ha definido.

Robtica Industrial

Tema 5.1: Programacin del


Robot

50

25

Comandos de Control (33)


n

DELP <pvect> y DELP <pos>


n
n

REMOVE <prog>
n
n

Presenta el estado de las 16 entradas

SHOW DOUT
n

Borra de la RAM de usuario el programa especificado.


Borra tambin las variables locales asignadas.

SHOW DIN
n

Borra una posicin o un vector de posiciones previamente definido.


No se puede borrar si un programa lo est utilizando.

Presenta el estado de los encoders. Se actualiza cada 0,5 seg. Se


abandona pulsando Ctrl+C.

SHOW SPEED
n

Muestra la velocidad seleccionada actualmente.

Robtica Industrial

Tema 5.1: Programacin del


Robot

51

26

Anda mungkin juga menyukai