guÍa val 2 - upm · 2013. 2. 18. · 3 introducciÓn estos fascículos se han concebido como...

144
GUÍA VAL 2 MANUAL N° 1 © Copyright 1992 by STÄUBLI S.A. D.280.172.05. (A)

Upload: others

Post on 22-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

GUÍA

VAL 2

MANUAL N° 1

© Copyright 1992 by STÄUBLI S.A. D.280.172.05. (A)

Page 2: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

1

ÍNDICE

A. Introducción ......................................................................................3 B. Presentación y arquitectura general .................................................4 C. La seguridad .....................................................................................8 D. Puesta en marcha y paro de la unidad de mando ............................10 E. Referencias, características y definición de los ángulos ...................17 F. Cómo poner en movimiento el brazo del robot, examen de

los mandos manuales, convenios de escritura .................................22 G. Como lanzar un programa ................................................................27

Como ejecutar un programa durante su ejecución ...........................29 Modos de funcionamiento ................................................................31 Como crear un programa ..................................................................32

H. Comandos de edición .......................................................................33 I. Estructura y operaciones con el contenido en memoria ....................47

Variable punto .................................................................................49 Punto de precisión ...........................................................................50 Variable real y operaciones matemáticas ........................................52 Variable dimensionada .....................................................................55 Visualización de títulos y contendo (LISTP, LISTR, etc,) .................56 Declaración de programas y variables .............................................57 RENAME, COPY, DELETE .............................................................59 Carácter de control del terminal (pantalla / teclado) ........................61

J. Instrucciones del lenguaje VAL II .......................................................62 Generalidades sobre la ejecución de instrucciones .........................63

MOVE, MOVES ................................................................................65 APPRO, APPROS ............................................................................66 DEPART, DEPARTS ........................................................................67 SPEED .............................................................................................68 OPEN, CLOSE, OPENI, CLOSEI ......................................................69 DELAY, SET, DEST .........................................................................70 Listado de las palabras clave ...................................... ....................73 SHIFT ................................................................................................74 DRIVE ...............................................................................................75 Presentación de programas .............................................................76 Como comentar un programa ..........................................................78 Interrupción de un programa con PAUSE, HALT ............................79

K. Los subprogramas ............................................................................80 L. Los saltos condicionales e incondicionales .......................................82

Operadores lógicos y relacionales .....................................................83 M. Comunicación pantalla /teclado ........................................................84

PROMPT ..........................................................................................85 TYPE .................................................................................................86 TPMESS ...........................................................................................89

N. Entrada / salida exteriores (todo o nada) .........................................91 Entradas por escrutinio: IF SEG, WAIT ............................................92 Entrada por interrupción: REACT, REACTI ......................................93 Salidas: SIGNAL RESET, RUNSIG ...................................................96

Page 3: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

2

O. Cambio de referencia .......................................................................99 Cómo desplazar la referencia de base ............................................100 Cómo desplazar la referencia útil ....................................................101 Transformadas compuestas ...........................................................102 FRAME ...........................................................................................105

P. Control ..............................................................................................106 READY ...........................................................................................107 ALIGN .............................................................................................108 ABOVE, BELOW ............................................................................109 RIGHTY , LEFTY ............................................................................110 FLIP, NOFLIP .................................................................................111

Q. Control de trayectoria ........................................................................112 COARSE, FINE ..............................................................................113 DISABLE CP, ENABLE CP, NULL, NONULL .................................114 INTOFF, INTON, BREAK ................................................................115 ELSPON, ELSPOFF .......................................................................116 PAYLOAD .......................................................................................117

R. Operaciones con disquetes ...............................................................118 FORMAT, LISTF, STORE, LOAD, DELETE, COMPRESS, RENAMEF

S. Procedimiento AUTOSTART .............................................................127 Su papel, su procedimiento .............................................................128

T. Comandos específicos: STATUS, FREE, DONE, ZERO, WHERE ...130 AN. Anexa: Ejemplo de aplicación ...........................................................132 Diversas - cableado de entradas - cableado de salidas - cableado del conector para impresora

Page 4: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

3

INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL II VAL +. Sirven para complementar el "PROGRAMMING MANUAL" suministrado con coda robot y en ningún caso pueden sustituirlo. El numero de estos fascículos es de tres, correspondiendo cada uno a un curso. Se han dividido los cursos sobre robots que utilizan el lenguaje VAL II o VAL + en tres partes. 1. Un curso que permite la utilización de funciones básicas del robot. Es el curso n° 1, suficiente para la gran mayoría de las aplicaciones industriales. 2. Un curso sobre todas las instrucciones y posibilidades del lenguaje. Comprende también la modificación de trayectorias en tiempo real. Es el curso n° 2. 3. Un curso sobre la función supervisor, (comunicación y pilotaje a través de otro ordenador), es el curso n° 3. Nota importante. Para seguir los cursos nº2 y nº3, se necesita poseer bien las bases definidas en el curso nº1. P.S.: La parte posterior de cada hoja se ha dejado voluntariamente en blanco a fin que usted pueda escribir sus anotaciones personales durante el curso. Todas las instrucciones descritas en este fascículo corresponden a la versión 2.0 del logiciel VAL II VAL +.

Page 5: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

4

PRESENTACIÓN GENERAL

Page 6: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

5

CONFIGURACIÓN MATERIAL

Page 7: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL
Page 8: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

8

LA SEGURIDAD EN GENERAL Regla n° 1: Vigilar que no haya nadie en el perímetro del robot en el momento de puesta en marcha de este. Regla n° 2: En la ejecución de un programa, SIEMPRE se deberá arrancar a VELOCIDAD LENTA. Una vez completado un ciclo se puede aumentar progresivamente la velocidad hasta el valor final deseado. Regla n° 3: Durante la puesta a punto de un programa, estar SIEMPRE preparado para pulsar el BOTON OFF y como último recurso, pulsar uno de los BOTONES ROJOS situados en el armario de mandos. Regla n° 4: Al finalizar el desplazamiento del robot con el mando manual, poner la velocidad lenta.

Page 9: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

9

REGLAS DE SEGURIDAD

CONCERNIENTES AL PERSONAL DE MANTENIMIENTO Regla n° 1: Antes de cualquier intervención sobre el brazo cortar la alimentación de éste. Regla n° 2: Antes de desmontar un motor, desconectar:

1. la alimentación (conector grande). 2. el encoder (conector pequeño).

Regla n° 3: Antes de cualquier intervención dentro del armario de la unidad de mandos, cortar la alimentación general. Regla n° 4: Después de montar los encoders del motor verificar que los conectores estén bien conectados. Regla n° 5: En todos los casos, cuando se ponga bajo tensión la unidad central, asegurarse de que no hay nadie en el radio de acción del brazo.

Page 10: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

10

PUESTA EN MARCHA DE LA UNIDAD DE MANDOS

1. Poner en el estado 1, el interruptor general (1) detrás de la unidad de mandos del robot. 2. Verificar que el testigo (2) en la parte anterior, está encendido.

3. Poner en el estado 1 la consola de visualización (3) y esperar que aparezca un punto luminoso

en la pantalla.

4. Girar la llave (4) (situada en la parte anterior del robot), que permite la alimentación general de la unidad central.

5. Esperar la aparición del mensaje sobre la pantalla:

*VAL II BOOT V1.2 16 APR 84* LOAD VAL II FROM FLOPPY (Y/N) ?

- Usted deberá teclear sobre el teclado Y (tecla Y) y ® (® significa pulsar la tecla return a la derecha del teclado). Si desea cargar el logiciel VAL II del disquete a la unidad central (caso de una máquina con memoria volátil).

- En este caso aparecerá:

ROBOT SERIAL # ?

Entonces usted deberá indicar el número de serie del robot situado detrás del armario de mandos y esperar, después de la carga:

INITIALIZE (Y/N) ?

(ver Pág.)

- Usted deberá teclear sobre el teclado N® si dispone de una versión Cmos en la que el logiciel ha sido cargado anteriormente (al menos una vez).

Usted vera aparecer su pantalla:

VAL II T56O.1.3. H/W-O 26 Oct.84 28KW Versión del logiciel Tipo de robot Código interno Fecha de elaboración del logiciel Número de palabras disponibles

(cantidad de memoria disponible)

(24 KW real)

COPYRIGHT 1981 UNIMATION Inc._________________________________________________ Año de deposito legal Constructor

Page 11: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

11

INITIALIZE (Y/N) ?

Usted debe responder por Y o N. - Si teclea y ® se destruyen todos los programas que hay en la memoria de la máquina. - Si teclea N ® los programas existentes todavía presentes se conservan. En los dos casos, la máquina responderá con el mensaje: LOADING OVERLAY DATA, TYPE ΛC TO ABORT La máquina estará cargando la corrección de linearidad de los distintos encoders del robot. Si se quiere interrumpir este proceso, pulsar la tecla CTRL y la tecla C simultáneamente. 6. Se debe alimentar el brazo pulsando el botón verde (el testigo verde se ilumina).

Atención: Estar preparado para pulsar el botón rojo en caso de comportamiento aleatorio. 7. Pulse el botón Comp en el mando manual si su testigo no estuviera iluminado.

Nota: Si, por cualquier razón, no se carga el fichero OVERLAY; o si usted quiere cargar un nuevo fichero de OVERLAY a cambio del antiguo, se puede cargar en modo COMANDO utilizando:

OVERLAY XXXX

con XXXX nombre del fichero de OVERLAY elaborado por el proceso "POTCAL".

Este comando debe ir seguido generalmente de un calibrado.

Page 12: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

12

8. Prodecer a un calibrado tecleando CAL ®, la máquina responderá :

ARE YO SURE (Y/N) ?

Verificar la posición del robot (obstáculos). Si Usted responde Y ® el robot se desplazará ligeramente sobre todos sus ejes, efectuándose el calibrado. 9. Eventualmente teclear SP 20 ® arrancar un programa con el máximo de seguridad (SP 20 pide a la máquina que se desplace lentamente). Entonces, el robot está preparado para aceptar sus instrucciones. Nota: todos los mensajes subrayados son los mensajes enviados por la máquina.

Page 13: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

13

SIGNIFICADO DEL CALIBRADO Inicialmente el robot no conoce su posición en el espacio, éste puede saber su posición consultando sus potenciómetros situados al extremo de cado uno de sus motores. Una vez memorizada su posición, todos los desplazamientos serán relativos a esta posición (y incrementados o decrementados por el encoder incremental).

Page 14: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

14

EN RESUMEN: COMO PONER EN MARCHA EL ROBOT?

1. Poner el interruptor en el estado 1.

2. Poner la pantalla de visualización en el estado 1. 3. Poner la llave del armario en la posición 1.

4. *VAL II BOOT V1.2 16 APR 84*

LOAD VAL II FROM FLOPPY (Y/N) ? Responder Con Y® o N® 5. VAL II T560.1.3.H/W-0 26 Oct.84 28 KW

COPYRIGHT 1981 UNIMATION Inc. INITIALIZE (Y/N) ?

Responder Con Y® o N®

6. LOADING OVERLAY DATA, TYPE LC TO ABORT La máquina está cargando el fichero OVERLAY.

Teclear: control C si se quiere interrumpir el proceso de carga.

7. Poner la alimentación del brazo en la posición 1. 8. Calibrar

9. Poner a velocidad baja.

SPEED 20 (o SP 20)

Page 15: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

15

CÓMO PARAR EL ROBOT?

1. Cortar la alimentación del brazo.

2. Cortar la alimentación de la unidad de mandos (llave en la posición 0).

3. Apagar la consola de visualización.

4. Cortar la alimentación general (interruptor de la parte posterior).

Page 16: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

16

ATENCIÓN

A partir de la versión 2.0, si se responde Y ® a la pregunta:

LOAD VAL II FROM FLOPPY (Y/N) ¿ Aparecerá :

LANGUAGE FOR VAL II ERROR MESSAGES: English (0), French (1), German (2), Spanish (3) ?

Seleccione el número correspondiente al idioma deseado: de esta manera, todos los mensajes de error aparecerán en el idioma escogido.

Page 17: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

17

LAS REFERENCIAS

El robot dispone de 2 sistemas de referencia: - una referencia universal, - una referencia útil.

Page 18: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

18

DEFINICIÓN DE LOS ÁNGULOS O, A, T

Page 19: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

19

Page 20: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

20

LAS CARACTERÍSTICAS DE LOS DESPLAZAMIENTOS ANGULARES

Page 21: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

21

LIMITES ANGULARES

Page 22: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

22

CÓMO PONER EN MOVIMIENTO EL BRAZO DEL ROBOT?

Una vez que la unidad de control se ha puesto en marcha: Hay dos sistemas. a) por el mando manual. b) ejecutando un programa grabado anteriormente en la unidad de control. Examinemos el desplazamiento del robot por el mando manual. Se puede disponer de 2 tipos de mando manual: -1 mando standard: con botones e interruptores (ver dibujo). -1 mando estanco: con teclas de membranas estancas para la utilización en condiciones particularmente severas (ver dibujo).

Page 23: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

23

MANDO STANDARD

Page 24: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

24

MANDO STANDARD

Page 25: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

25

EXAMEN DE LAS DISTINTAS FUNCIONES

Nota: Para otras funciones específicas del mando estanco, ver la documentación técnica entregada con la máquina.

Page 26: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

26

CONVENIO DE ESCRITURA

Vamos a pasar lista de las distintas instrucciones y comandos del lenguaje VAL II. Por razones de simplificación, vamos a utilizar signos que acompañan los parámetros de estas instrucciones. [ ] Este símbolo significa que los parámetros inscritos entre paréntesis son opcionales. <> Este símbolo sirve para delimitar los distintos parámetros de la instrucción. EXECUTE Los caracteres en negrilla definen la sintaxis mínima de la instrucción; Ejemplo: EXECUTE [<TOTO>],[<3>],[<2>]

significa que el nombre del programa TOTO, es opcional así como 3 y 2. Nota: Usted encontrará la sintaxis mínima de cada instrucción en el anexo, de todas formas no recomendamos su utilización antes de haber adquirido una cierta experiencia en programación.

Page 27: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

27

CÓMO LANZAR UN PROGRAMA?

Con el comando:

EXECUTE < NOMBRE PROG>, <n° de bucles>,<paso del 1 er bucle> Ejemplo 1:

EX TOTO, 3, 4 Se desea la ejecución del programa TOTO, 3 veces (si se hubiera introducido un número negativo, tendríamos la ejecución de un número ilimitado de bucles) a partir del paso 4, solo para la ejecución de primer bucle. Ejemplo 2:

EX TOTO, 1, 2 OU EX TOTO ,, 2 Se desea la ejecución del programa TOTO solamente una vez a partir del paso nº2 (para el primer bucle). Ejemplo 3:

EX TOTO, 1 EX TOTO

Se desea la ejecución del programa TOTO solamente una vez a partir del paso nº1. Observación : Si el programa ya se ha ejecutado una vez y desea volver a ejecutarlo teclear solamente EX ®. El paso se refiere al número de línea.

Page 28: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

28

COMO EJECUTAR UN PROGRAMA PASO A PASO?

Mediante el comando:

XSTEP < Nombre prog >, < n° de bucles >, < STEP > Este comando es idéntico, en la descripci6n de los parámetros y en su acción al comando EXECUTE visto anteriormente salvo que solamente se ejecuta una instrucción cada vez. Para ejecutar el paso siguiente basta con teclear X®. Cómo seguir la ejecución de un programa ? - En modo comando. Mediante el comando:

EN TRACE De esta forma se verán aparecer en pantalla las distintas instrucciones que tienen lugar durante la ejecución. Para volver al modo normal, utilizar el comando:

DIS TRACE

Page 29: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

29

COMO PARAR UN PROGRAMA DURANTE SU EJECUCIÓN?

- Pulsando el botón OFF del mando manual, si se desea una detención inmediata del

movimiento del brazo y del programa.

- Tecleando ABORT sobre el teclado, si la detención se debe hacer al final de la instrucción de la presente instrucción.

Cómo continuar un programa interrumpido?

- Si el programa se ha interrumpido mediante OFF Sea por: ATENCIÓN

En el caso de RETRY se vuelve a ejecutar la �nstrucción interrumpida En el caso de PROCEED se ejecuta la �nstrucción siguiente

- Si el programa se ha interrumpido por ABORT Se puede utilizar RETRY o PROCEED

Page 30: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

30

PANIC

Este comando tiene la misma función que pulsar el botón OFF. Provoca bajo control del logiciel interno, el paro inmediato del movimiento del robot y de la detención del programa en �jecución a partir de la pantalla / teclado.

Page 31: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

31

SE DISPONE DE 3 MODOS DE FUNCIONAMIENTO

1. Modo comando: Visualizado en la pantalla por un punto [.]. La unidad de comando espera una orden como DIR, LISTP, DELETEP, etc. 2. Modo editor: visualizado en pantalla por un [?]. La unidad de comando esta cargando programas. 3. Modo ejecución visualizado en pantalla por [*]. La unidad de comando está ejecutando un programa, aunque algunas órdenes son asimilables paralelamente a esta ejecución.

Page 32: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

32

COMO CREAR UN PROGRAMA ?

Se hará con la ayuda del programa llamado EDITOR, que reside en la máquina. Este programa editor comporta cierto número de comandos.

Page 33: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

33

COMANDOS DE EDICIÓN Estos comandos sólo sirven en modo EDICIÓN (presencia de "?" a la izquierda) para permitir la introducción de ordenes VAL en el robot éstas permiten:

- modificar un programa, - insertar nuevas instrucciones, - suprimir instrucciones, - buscar ciertas instrucciones, - etc...

Vamos a ver estas instrucciones de edición.

Page 34: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

34

PROCEDIMIENTO PARA CARGAR UN PROGRAMA

1a Etapa Si se está en modo ejecución (*) o en modo comando (.), se pasa al modo de edición tecleando :

ED < NOMBRE PROG >, <n> ®

n: n° de la línea donde se desea ir en un programa anteriormente editado.

Ejemplo: ED TOTO, 7 Hay 12 comandos editores :

- C para cambiar de programa - D para suprimir una o varias líneas - E para salir de la edición - I para insertar - L para ir hacia otras líneas - S para buscar una línea - P para visualizar - R para remplazar un carácter - M para remplazar un bloque de caracteres - F para encontrar un bloque de caracteres -T

para aprender puntos -TS

Vamos a analizarlas una a una.

Page 35: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

35

C (CHANGE) Forma general :

C NOM, n

n: n° de línea donde se desea ir del programa TOTO Ejemplo: C TOTO, 7

nombre de un programa (cualquiera)

ED TITI

PROG TITI

1 ? MOVE A 2 ? MOVE B 3 ? MOVE C 4 ? C TOTO, 7 ® PROG TOTO

7 ? MOVE B4

Línea n° 7 del PROG TOTO (si TOTO existía anteriormente).

Page 36: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

36

D (DELETE) Forma general

Dn n: numero de líneas

Ejemplo: D4 Suprime 4 líneas a partir de la presente. Ejemplo:

ED TITI

1 ? MOVE A 2 ? MOVE B 3 ? MOVE C 4 ? MOVE O 5 ? MOVE F 6 ? MOVE G

Si en la línea 2 ? MOVE B tecleamos 2 ? D 3 ® Se suprime la línea 2 y las 2 siguientes. Donde : 1 ? MOVE A

2 ? MOVE F 3 ? MOVE G

Page 37: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

37

E (EXIT) Este comando permite salir del modo de edición para volver al modo de comando del robot, o sea para pasar de (?) a (.). Ejemplo: 1 ? MOVE A 2 ? MOVE B

3 ? E® Este comando se utiliza cuando se termina de escribir o modificar un programa.

Page 38: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

38

I (INSERT) Forma general : Ejemplo: ED TOTO

1 ? MOVE A 2 ? MOVE B 3 ? MOVE C MOVE C1 4 ? MOVE D MOVE C2 5 ? MOVE E Entonces: 4 ? MOVE D 4? I®

4 ? MOVE C1 5 ? MOVE C1 5 ? MOVE C2

5? ® Resultado: ED TOTO 1 ? MOVE A

2 ? MOVE B 3 ? MOVE C 4 ? MOVE C1 5 ? MOVE C2 6 ? MOVE D 7 ? MOVE E OBSERVACIÓN : Nótese que para salir del modo inserción sólo se necesita teclear ®.

Page 39: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

39

L (LAST) Forma general:

L Esta instrucción permite volver a la línea anterior. Ejemplo:

ED TOTO

1 ? MOVE 2 ? MOVE B 3 ? MOVE C 4 ? MOVE D 4 ? L® 3 ? MOVE C

Nótese que sólo se puede ir hacia atrás de línea en línea.

Page 40: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

40

S (SEARCH) Forma general :

Sn

n : n° de línea. Esta instrucción permite buscar el n° de línea deseado. Ejemplo 1: Ejemplo 2:

ED TOTO ED TOTO 1 ? MOVE A 1 ? MOVE A 2 ? MOVE B 2 ? MOVE B 3 ? MOVE C 3 ? MOVE C 4 ? MOVE D 4 ? MOVE D 5 ? S2R 5 ? MOVE E 2 ? MOVE B 6 ? S 20 R

20 ? MOVE K

Salto hacia arriba o salto hacia abajo

Page 41: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

41

P (PRINT) Forma general

Pn

n: numero de líneas. Ejemplo: P3

ED TOTO 1? MOVE A 1? P3®

1 ? MOVE A 2 ? MOVE B 3 ? MOVE C

Nota: Si sólo se escribe P, solamente se visualiza la línea en que se sitúa el comando.

Page 42: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

42

R (REPLACE) Forma general :

R caracteres Este comando permite remplazar caracteres de una instrucción. Ejemplo 1:

ED TOTO 1 ? MOVE A

R SA® 1 ? MOVES A

Ejemplo 2:

ED TOTO

1 ? MOVE A Se desearía obtener

1 ? 30 MOVE A

etiqueta

Entonces:

1 ? MOVE A 1 ? CB 30 ® nos dará el resultado deseado: 1 ? 30 MOVE A

Page 43: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

43

M (MODIFY) Forma general : M / antiguo carácter / nuevo carácter Este comando permite sustituir un bloque de caracteres por otro nuevo. Ejemplo: ED TOTO

1 ? APPRO A,30, 1 ? M/30/200 ® dará: 1 ? APPRO A,200

NOTA: La barras se pueden sustituir por cualquier otro carácter especial. Ejemplo: M+30, 20

M?30?, 20 M+30+,20 etc ... Pero, para simplificar, es aconsejable utilizar las barras.

Page 44: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

44

F (FIND) Forma general :

F/ bloque de caracteres/ Este comando permite encontrar la línea de instrucción que contiene el bloque de caracteres indicados detrás de la letra F y comprendido entre las barras. Ejemplo: EO TOTO

1 ? APPRO A,10 2 ? MOVE D 3 ? APPRO A, 21 4 ? MOVE G 5 ? MOVE F

Si la línea:

1 ? APPRO A, 10 1 ? F/21/ ® veremos aparecer 3 ? APPRO A, 21

ya que el bloque de caracteres 21 se ha encontrado en la línea 3. Atención: el bloque de caracteres buscado siempre debe encontrarse después de F/ bloque /.

Page 45: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

45

T (TEACH) Forma general :

T nombre variable Permite memorizar las coordenadas de una serie de puntos y escribe automáticamente la orden de movimiento asociada a estos puntos (cada vez que se pulse el botón RECORD situado en el mando manual). Ejemplo: ED TOTO

1 ? MOVE A 2 ? MOVE B 3 ? MOVE C 3 ? T D1 ®

Cuando se pulse el botón RECORD, veremos aparecer:

3 ? MOVET D1,0 si la pinza está cerrada o MOVET D1,25.41 si la pinza está abierta si pulsamos de nuevo RECORD obtendremos:

4 ? MOVET D2,0

etc...

Cada vez que se pulse RECORD se obtiene un incremento automático del índice del punto.

Page 46: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

46

TS (TEACH STRAIGHT) Forma general :

TS nombre variable Este comando es idéntico que T salvo que los desplazamientos que habrá serán en línea recta entre los puntos memorizados. Ejemplo: ED TOTO

1 ? TS P1® después de pulsar RECORD, aparece 1 ? MOVEST P1 ,0

Importante: Nótese que sólo en modo comando se dispone de una instrucción TEACH nombre variable que hace la misma función.

Page 47: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

47

OPERACIONES CON LA MEMORIA DE LA UNIDAD DE MANDOS Y CARACTERES DE CONTROL DEL TERMINAL (pantalla / teclado) ATENCIÓN: estas instrucciones sólo son validas en modo (.,*).

Page 48: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

48

CONTENIDO DE LA MEMORIA RAM

Page 49: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

49

Todos los programas cargados con la ayuda del editor, se guardan en la memoria RAMCMOS. Lo mismo ocurre con las variables reales y las variables punto, asociadas a los programas de usuario (también llamados programas de aplicación). Qué es una variable de punto? Se trata de asociar a un nombre cualquiera de los valores X, Y, Z, O, A ,T de las coordenadas del punto en cuestión. Ejemplo: POINT A ® Esta instrucción asigna las cotas en mm o en grados (según los parámetros descritos) al nombre de la variable punto llamada A. Disponemos de dos posibilidades para asignar una variable punto. 1. Cargando las diversas coordenadas por parte del usuario. Ejemplo: POINT A ® X/JT1 Y/JT2 Z/JT3 O/JT4 A/JT5 T/JT6 0 0 0 90 -90 0

CHANGE? 10,30, -15,18 ® X/JT1 Y/JT2 Z/JT3 O/JT4 A/JT5 T/JT6 10 30 -15 18 -90 0 CHANGE?® De esta forma, hemos asignado las cotas X, Y, Z, etc... al punto llamado A. - NOTA: Esta instrucción sólo funciona en el modo comando.

Page 50: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

50

2. Por aprendizaje Consiste en desplazar el robot hasta el punto deseado y escribir en el teclado: HERE A X/JT1 Y/JT2 Z/JT3 O/JT4 A/JT5 T/JT6 120 12 -80 90 -90 0 CHANGE ? ® De esta forma asignamos al punto A las coordenadas del punto donde se encuentra el robot en el momento en que pulsamos la tecla ® (RETURN). Recordamos que ya se ha utilizado implícitamente una variante de esta instrucción, se trata de la orden TEACH en modo comando o T y TS en modo EDIT (ver el capitulo comando editor). NOTA: La instrucción HERE funciona en modo comando y en programa. Puntos de precisión Un punto de precisión es un punto en el que las coordenadas no están en mm respecto a los ejes X, Y, Z, etc... sino en grados de ángulos con respecto a una posición absoluta. Se declara o reconoce como punto de precisión cuando añadimos # delante del nombre del punto. Ejemplo: # A y A son 2 puntos distintos. Uno está definido en coordenadas angulares (#A) para cada eje. El otro está definido en coordenadas cartesianas (A). JT1 18° X 120 mm JT2 -123° Y 12 mm JT3 +14 ° Z 5 mm MOVE # A JT4 90° MOVE A O 90° JT5 -90° A -90° JT6 0° T 0° Atención Es aconsejable asignar nombres diferentes a los nombres de variables punto, variables punto de precisión, o variables reales, de otra forma en pantalla nos aparecerá "DUPLICATE VARIABLE NAME".

Page 51: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

51

Los puntos de precisión pueden permitir una precisión mayor que los puntos de coordenadas cartesianas. Los puntos de precisión son muy prácticos porque no tienen en cuenta las alineaciones de ejes (ver debajo) pero no se pueden utilizar en instrucciones de decalajes {instrucciones SHIFT, TOOL, etc...). Observación: Cuando se realiza APPRO # A,50, la máquina convierte este punto en un punto de coordenadas. Atención: En robots de 6 ejes, se debe evitar alinear el eje Z útil con el antebrazo, ya que el robot interrumpirá su movimiento y quedará en falta (envio de un mensaje de error) . Esta situación se podrá haber evitado con el empleo de un punto de precisión. Para suprimir un punto de la memoria, utilizaremos la instrucción:

DELETEL nombre del punto [nombre del punto, ...] (ver capitulo DELETE).

Page 52: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

52

QUE ES UNA VARIABLE REAL? Es la asignación a un nombre cualquiera de un valor entero (ej: 123) o real (ej: 1,238). Ejemplo: A = 12 significa que asignamos el valor 12 a la variable llamada A. O sea que el valor contenido en la variable A es12. NOTA: En el caso del VAL II, el valor debe estar comprendido obligatoriamente entre 6.0E39 y 2.854E +

38 para valores positivos y entre - 2.8545E + 38 + 38 y hasta -6.0E 39 para valores negativos. Recordamos que, por ejemplo 2.1 E + 6 corresponde al número 2 100 000 y 2.1 E-6 a 0.0000021. Esta notación se llama notación científica. Nótese que la coma se debe simbolizar por un punto 1,238 1.238. Qué operaciones matemáticas se pueden realizar Con los reales ?

+suma Ex: X = 3+2 - resta Ex: X = (3 + 2) - 1 multiplicación Ex: X = ((3 + 2) - 1) * 4 división Ex: X = ((3 + 2) - 1) /5

Y se pueden utilizar funciones matemáticas particulares: ABS (expr) Esta función da el valor absoluto de la expresión:

X = ABS (-5.462) X = 5.462 X = ABS (1.3E - 2) X = 1.3E - 2

SIGN (expr) Esta función da el signo de la expresión:

X = SIGN (0.12) X = 1 X = SIGN (-5.14) X = - 1

FRACT (expr) Esta función da la parte fraccionaria de la expresión:

X = FRACT (2.123) X = 0.123 X = FRACT (1.312E + 2) 0.2

Page 53: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

53

INT (expr) Esta función da la parte entera de la expresión: X = INT (0.123) X = 0 X = INT (1.312E + 2) X = 131

SQRT (expr) Esta función da la raíz cuadrada de la expresión: X = SQRT (0.123) X = 0.35071 X = SQRT (- 5.462) error

SQR (exp) Esta función da el cuadrado de la expresión: X = SQR (0.123) X = 0.01513 X = SQR (1.13125E + 2) X = 1.7226E + 4

SIN (exp) Esta función da el seno de la expresión (en grados):

X = SIN (50.123) X = 0.00125 X = SIN (-5.482) X = 0.098

COS (expr) Esta función da el coseno de la expresión (en grados): X = COS (0.123) X = 1 X = COS (- 5.462) X = 0.99546

ATAN2 (expr 1, expr 2) Esta función da la equivalencia en grados de la tangente expr 1, expr 2.

X = ATAN2 (0.123, 0.251) X = 26.10669 grados X = ATAN2 (1.325E + 2, -1.3) X = - 89.4252

Page 54: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

54

PI Esta función da el valor 3,14159 X=PI X=3.14159

RANDOM Esta función da un valor aleatorio comprendido entre 0 y 1:

X = RANDOM X = 0.3148 por ejemplo.

Page 55: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

55

EN CONCLUSIÓN Se deben distinguir bien las variables punto de las variables reales. Ejemplo: 1... 2... 3 MOVE A A es el nombre de un punto donde el robot deberá ir. 4... Comporta las coordenadas X, Y , Z, O, A, T expresadas en mm y en grados. 5... 6... AE = 3.4 permite asignar el valor 3,4 a la variable "AE" 7 AE = 3.4 8... 9... Además los nombres de puntos y variables pueden llevar corchetes para indicar que son nombres de variables dimensionadas. Ejemplo: A [1] ¿Qué es una variable dimensionada? Tomemos un ejemplo. Sea la tabla llamada A:

A

1 18 A [1] = 18 2 287 A [2] = 287 3 14 A [3] = 14 4 1984 5 226 6 317 7 6

etc... Constatamos que el índice comprendido entre corchetes representa en este caso el número de línea y no el contenido de la casilla. Veremos posteriormente que también se puede poner una variable como índice. Ejemplo: I = 3

A [I] = 14 (ver tabla superior) Lo cual, a veces, facilita la escritura del programa.

Page 56: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

56

CÓMO VISUALIZAR? Cómo visualizar: - los títulos (nombres de programa) - los contenidos - de los programas situados en la memoria central ? Sólo se puede hacer en modo comando (.) Para ver los títulos se utiliza la orden DIR. Ejemplo:

DIR® TOTO TITI TUTU

Para ver los contenidos se utilizan las ordenes :

LISTP OU PLIST para los contenidos de los programas, LISTL o LLIST para los contenidos de las coordenadas de los puntos. LISTR o RLIST para el contenido de las variables reales.

Ejemplo:

PLIST® PROG TOTO 1 MOVE A 2 MOVE B PROG TITI 1 MOVE K 2 MOVE G etc...

En el caso que sólo se quiera conocer el contenido de uno, dos o tres programas, la instrucción es la siguiente:

LISTP TOTO, TITI etc... Para los puntos :

LLIST # A, S, C etc... Para los reales

RLIST X, Y, Z etc...

Page 57: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

57

Los sufijos que aparecen con los nombres de ficheros en visualización tienen el siguiente significado.

NOM PROG.XXX

sufijo Ejemplo: TOTO.PG ficheros de aplicación

TOTO.LC ficheros de puntos TOTO.RV ficheros de variables reales.

Importante :

El nombre de los programas siempre debe: 1. Empezar por una letra y nunca por una cifra,

2. Comprender un número cualquiera de letras, cifras y eventualmente puntos.

Nombre de programa correcto :

TOTO.PROG1.TOTO TOTO 12. TOTO

En cambio: 1 TOTO o TOTO+ es incorrecto.

Observaciones importantes : Las reglas anteriores son igualmente válidas para los nombres de puntos y las variables reales asociadas al programa, aunque hay algunos nombres de variables y de puntos que pueden confundirse con ciertas "palabras reservadas" :

BASE DEST FALSE HAND HERE NULL PI PRIORITY RANDOM TOANG TODIS TOOL TPS TRUE COM NOT

Así que no se deben utilizar estos nombres...

Page 58: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

58

TESTP <programa>

Este comando permite saber si el programa designado ya existe en la memoria de la máquina. Ejemplo : TESTP TOTO Si el programa TOTO ya existe en memoria, aparecerá :

LOADED Si no veremos :

UNDEFINED NAME.

Page 59: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

59

RENAME <nombre del nuevo programa> = <nombre del antiguo programa>

Ejemplo : RENAME TOTO = TUTU Una vez ejecutada esta instrucción, el PROG TUTU se llamará TOTO.

COPY <nombre del nuevo prog> = <nombre del prog ya existente> Ejemplo: COPY TOTO = TUTU Se obtiene un doble del programa TUTU que se llamará TOTO.

DELETE <prog 1 >[,…, <prog n>] Borra los programas designados de la memoria central, así como los datos, puntos y variables reales asociados.

PDELETE <prog 1 >[,...,<prog n>] Instrucción idéntica a la anterior pero únicamente se borran los programas de aplicación (o sea sólo aquellos seguidos por el sufijo.PG). Ejemplo: PDELETE TOTO sólo suprime TOTO.PG Nótese que también se podría haber escrito DELETEP .

LDELETE<puntos>[,...,<puntos>] Instrucción idéntica a la anterior pero só1o se destruyen las coordenadas de los puntos designados. Ejemplo: LDLETE A,#P1,B6 Suprime los puntos A,#P1 y B6. Nótese que también podríamos haber escrito DELETEL.

Page 60: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

60

RDELETE <variable real>[,...,<variable real>] Instrucción idéntica a la anterior pero sólo se destruyen los contenidos de las variables reales designadas. Ejemplo: RDELETE C,D, A[1] Suprime las variables reales C, D, A[1]. Si hubiéramos escrito A[ ], todas las variables dimensionadas A[1], A[2], ..., A[n] hubieran sido destruidas. Nótese que también podríamos haber escrito DELETER.

Page 61: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

61

CARACTERES DE CONTROL DEL TERMINAL (pantalla - teclado) Estos caracteres de control son operativos cuando se presiona la tecla CONTROL a la vez que la tecla alfanumérica correspondiente. Facilitan la lectura de programas en pantalla. Ejemplo: Para realizar Λ C, hay que presionar sobre la tecla "CTRL" y la tecla "C". - ΛC: detiene la ejecución que las instrucciones DIRECTORY, LISTP, STORE, etc... pero no la

ejecución de un programa. - ΛZ: permite la detención de un programa cuando éste espera datos después de una orden PROMPT. - ΛS: para la visualización de un programa. - ΛQ: relanza la visualización detenida por AS. - ΛW: relentiza la visualización para permitir leer los contenidos más fácilmente. Un segundo AW

permite volver al estado anterior. - ΛR: revisualiza la línea en el caso que se esté esperando un dato. - ΛU: permite inhibir la respuesta pedida por la máquina y pasar a las instrucciones siguientes. ATENCIÓN: Los códigos anteriores no funcionan sobre todos los terminales.

Page 62: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

62

INSTRUCCIONES DEL LENGUAJE VAL II

Page 63: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

63

El logiciel VAL II reside sobre una estructura de varias tareas, de forma que éste, en paralelo, ejecuta un programa de aplicación que comporta movimientos del brazo del robot y un programa de cálculo o de gestión de entradas / salidas (ver curso nº2 VAL II). También, cuando se ejecutan distintas instrucciones de movimientos, el robot no espera a finalizar el movimiento en curso para analizar y ejecutar operaciones matemáticas, gestión de entradas / salidas, etc... Lo cual puede llevar, si no se tiene en cuenta, durante la ejecución de las instrucciones, a movimientos inesperados. Por lo tanto, atención: En el caso del logiciel VAL II. Debemos recordar que si insertamos instrucciones que no conllevan movimiento entre instrucciones de movimientos, éstas serán ejecutadas en paralelo. Ejemplo :

MOVE A0 MOVE A1 TYPE "FIN DEL MOVIMIENTO A A1" SIG 1,2 MOVE B

Constatamos que las instrucciones SIG 1,2 y TYPE "...", se ejecutaran durante el desplazamiento hacia el punto A1. Si no deseamos tener esta simultaneidad, insertamos una instrucción BREAK (ver capitulo (control de trayectoria)). Donde: MOVE A0 MOVE A1 BREAK TYPE "FIN DEL MOVIMIENTO A A1" SIG 1,2 MOVE B

Page 64: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

64

Igualmente, las siguientes instrucciones tendrán el mismo efecto que BREAK después de un movimiento.

BASE BRAKE NOALTER PAUSE DETACH HALT TOOL RELAXI OPENI CLOSEI

La orden DO Todas las instrucciones que vamos a ver se pueden ejecutar en modo comando si añadimos el prefijo "DO". Ejemplo: MOVE A se puede ejecutar en modo comando si escribimos.

DO MOVE A Si no aparecerá "illegal command". Observación: Si ejecutamos DO sin nada detrás y anteriormente se ha ejecutado un DO <instrucción>

este DO será equivalente al DO <instrucción> precedente. Ejemplo: DO B = (A * .4) /7 + 4 - 2 ((3 + 8) /4) – 3® El resultado calculado al teclear ® se asignara a la variable B. Si ahora tecleamos DO ® la máquina ejecutara de nuevo todos los cálculos para asignar el resultado a B, lo cual nos evita entrar de nuevo toda la fórmula.

Page 65: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

65

MOVE A Esta instrucción ordena al robot desplazarse al punto A según una trayectoria que no impone el usuario. OR A MOVES A Esta instrucción ordena al robot desplazarse al punto A siguiendo una línea recta.

OR A

Page 66: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

66

APPRO <punto>,<distancia en mm> Ejemplo: APPRO A,50 Esta instrucción, que generalmente va seguida de MOVE, permite al robot acercarse a 50 mm del punto A siguiendo el eje Z útil.

APPROS <punto>, <distancia en mm>

Ejemplo: APPROS A,50 Idem a la instrucción anterior pero el acercamiento al punto A se hace en línea recta.

Page 67: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

67

DEPART <distancia en mm>

Ejemplo: DEPART 50 Es la función inversa de APPRO, ya que hace que el robot parta del punto donde se encuentra situado en el momento de la ejecución de la instrucción DEPART desplazándose a una distancia indicada en mm según el eje Z útil. DEPARTS <distancia en mm> Idem a la instrucción anterior pero el desplazamiento se realiza siguiendo una línea recta.

Page 68: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

68

SPEED <valor> [unidades][always] Se pueden producir 3 casos : 1. Si no se declara ninguna unidad en la instrucción, el valor se considera como un porcentaje de la velocidad normal (100%), lo cual significa que, si la velocidad del monitor es del 40% y la velocidad del programa del 60%, la velocidad de desplazamiento será del 24% de la velocidad "normal". 2. Si se declara MMPS se trata de un desplazamiento expresado en m m por segundo, siempre y cuando la velocidad de monitor sea 100. 3. Si se declara IPS se trata de un desplazamiento expresado en pulgadas por segundo siempre y cuando la velocidad de monitor sea 100. Si se indica ALWAYS, esta declaración de velocidad será válida para todas las instrucciones de movimiento siguientes, hasta una nueva declaración de velocidad que conlleve ALWAYS. Si se omite ALWAYS la velocidad solo concierne al movimiento siguiente. <valor> puede ser una constante, una variable o una expresión matemática cuyo valor debe estar comprendido entre 0.39 y 12800. Ejemplo :

1 SPEED 100 MMPS ALWAYS 2 MOVE A 3 TIMER 1 = 0 4 MOVE B 5 BREAK 6 TYPE "DURACION DEL DESPLAZAMIENTO", TIMER (1 )

Obtendremos 10,48 segundos para un desplazamiento de un metro. Si la velocidad monitor hubiera sido de 50 habríamos obtenido 20.85 seg.

Page 69: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

69

INSTRUCCIONES DE MOVIMIENTOS DE PINZA

Page 70: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

70

DELAY <tiempo>

Permite al robot detenerse durante el tiempo indicado en la instrucción. Este tiempo se debe dar en segundos y estar comprendido entre 0.01 et 900 seg. (0.01 a 15 minutos). Ejemplo:

MOVE A DELAY 180 MOVE B

Atención : La instrucción DELA Y se debe considerar como una instrucción de movimiento para ir a ninguna parte.

Page 71: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

71

SET <variable punto.1 > = <variable punto.2>

Esta instrucción permite asignar las coordenadas de la variable punto.2 a la variable punto.1. Ejemplo 1: SET A = B Después de la ejecución de esta instrucción al punto A se le asignan las coordenadas del punto B (las coordenadas del punto B no se modifican).

Page 72: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

72

DEST

Asignamos a la variable declarada las coordenadas del destino del robot en el momento en que se ejecuta esta instrucción. Ejemplo: SET G = DEST Nota: Si el destino fuera un punto de precisión, las coordenadas serian convertidas en cartesianas en DEST; Aplicación: Ver ejemplo en curso n° 2.

Page 73: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

73

LISTADO DE LAS PALABRAS CLAVE No se deben utilizar como nombres de variables punto o variables reales las palabras clave siguientes :

BASE DEST FALSE HAND HERE NULL PI PRIORITY RANDOM TOANG TODIS TOOL TPS TRUE COM NOT

Page 74: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

74

SHIFT <punto> by [<exp 1 >],[<exp 2>],[<exp 3>]) Ejemplo 1: SET BL = SHIFT (AH BY 150, 10, -100)

Eje Eje Eje (del punto AH) X Y Z

Esta instrucción añade o resta a las coordenadas del punto AH los valores indicados en cada expresión. Si deseamos hacer un decalage relativo con respecto al mismo punto, definimos la siguiente instruccion. Ejemplo 2:

SET AH = SHIFT (AH BY 100,50' 0) MOVEAH SET AH = SHIFT (AH BY 100' 50, 0) MOVEAH etc ...

Page 75: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

75

DRIVE <expr 1 >,<expr 2>,<expr 3>

Esta instrucción permite desplazar la articulación designada por EXPR 1, un cierto ángulo EXPR 2, a un porcentaje de la velocidad monitor EXPR 3. Ejemplo 1: DRIVE 6, 40, 50 El eje 6 se desplaza 40 grados a 50% de la velocidad monitor Ejemplo 2: DRIVE JT, (D+41)/3)* 4, VIT Se constata que podemos utilizar variables, expresiones matemáticas o otros ... Ejemplo 3: DRIVE 2,30,10

Page 76: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

76

PRESENTACIÓN DE LOS PROGRAMAS A partir de las especificaciones, se pretende realizar un programa que deberá ejecutar el robot. Cómo se puede realizar un programa a partir de la especificación de las necesidades? Hay 3 soluciones :

1. el método empírico 2. el organigrama 3. el grafcet.

Hay partidarios de cada una de las 3 soluciones según los gustos y aspiraciones de cada uno; de todas formas se puede deducir que: --la primera solución es valida para resolver pequeños problemas, poco complicados, ya que al no ser estructurado, rápidamente se complica. --la segunda solución tiene la ventaja de ser utilizada universalmente en informática y automatismos complejos, aunque a veces es pesada de aplicar. --la tercera solución se aplica sobretodo en los automatismos industriales y va entrando poco a poco en las empresas. Se puede aplicar a la robótica si se varía alguna regla del grafcet.

Page 77: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

77

Queremos desplazarnos del punto A al B, pero cuando pulse el botón BP1, debemos ir al punto C y volver al principio. Además para facilitar la lectura de un programa, es interesante añadir comentarios.

Page 78: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

78

COMO COMENTAR UN PROGRAMA Separando los comentarios de las instrucciones por un punto y coma. Ejemplo:

1; PROG COMENTARIO 2 MOVE A; se ejecuta un desplazamiento hacia A 2 MOVE B ; se ejecuta un desplazamiento hacia B

Page 79: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

79

INTERRUPCION DE UN PROGRAMA

Con la ayuda de las instrucciones: PAUSE, HALT.

PAUSE El programa se interrumpirá cuando encuentre esta instrucción. Ejemplo:

1 MOVE A 2 MOVE B 3 PAUSE Paro del programa en el paso 3 4 MOVE C

Continuaremos tecleando PROCEED.

HALT Esta instrucción es idéntica a la anterior pero no se puede continuar tecleando PROCEED: utilizaremos EXECUTE.

Page 80: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

80

LOS SUBPROGRAMAS

CALL<nombre prog> Un Subprograma es un conjunto de instrucciones independientes que se pueden llamar desde un programa principal. Ejemplo:

PROG TOTO 1 MOVE A 2 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 3 MOVE B 4 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 5 MOVE C 6 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 7 MOVE D 8 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 9 MOVE E 10 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 11 MOVE F 12 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO"

Hubiera sido más sencillo escribir

PROG TOTO SUBPROG TITI 1 MOVE A 1 TYPE "HE TERMINADO LA INSTRUCCION DE MOVIMIENTO" 2 CALL TITI 2 RETURN 3 MOVE B 4 CALL TITI 5 MOVE C 6 CALL TITI 7 MOVE D 8 CALL TITI 9 MOVE E 10 CALL TITI 11 MOVE F 12 CALL TITI

Igualmente, los subprogramas se emplean mucho para dividir un programa complejo en subconjuntos independientes entre ellos y que se pueden probar fácilmente por separado.

Page 81: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

81

ESTRUCTURA DE LOS SUBPROGRAMAS

PROG PRINCIPAL SUBPROGRAMASPROG

1 MOVE A 1 MOVE D 2... 2 MOVE F 3... 3… 4... 4… 5 CALL SPROG 5... 6... 6 RETURN 7...

ATENCIÓN: Todos estos subprogramas se deben terminar obligatoriamente por RETURN , aunque cualquier programa se puede terminar sin inconveniente con RETURN, incluso en el caso de que este nunca sea llamado por otro programa.

Page 82: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

82

LOS SALTOS 1. Saltos incondicionales

GOTO <etiqueta> Ejemplo:

1 10 MOVE A 2 MOVE B 3 GOTO 10 4

. . . Atención: El número que hay tras el GOTO es una etiqueta, y no el número de línea definido por el editor. 2. Saltos condicionales

IF <expresion> GOTO < etiqueta> Ejemplo: 9 16 MOVE A

10 MOVE B 11 IF N = <6 GOTO 16 12 12 DELAY 5 13 . . .

Page 83: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

83

Los símbolos relacionales son los siguientes: > mayor que > = 0 => mayor o igual == igual <> distinto < menor que < = o = < menor o igual Igualmente, se pueden asociar operadores lógicos : AND Función lógica Y OR Función lógica O NOT Función lógica NO Ejemplo:

10 MOVE A IF (A>3) OR (B< = 7.82) GOTO 10 MOVE B

Page 84: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

84

COMUNICACIÓN TECLADO - PANTALLA

Page 85: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

85

PROMPT " (<MESSAGE)" (,<VARIABLE> (,...,<VARIABLE>) Ejemplo 1: PROMPT "dame 3 valores", A, B, C Esta instrucción permite, a partir del teclado, entrar los valores que se asignan a las variables. Aquí las 3 variables se llaman A, B y C. Ejemplo 2: PROMPT " ",A

Cuando se ejecute esta instrucción, el robot asignará a la variable A el valor que se teclee sin ningún mensaje en pantalla.

Page 86: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

86

TYPE {/carácter de control} , {variable} , {etc.}

Esta instrucción permite hacer salir por pantalla un mensaje durante la ejecuci6n de un programa ylo hacer salir en pantalla el contenido de una (o varias) variable(s) declarada(s). Ejemplo: TYPE/B, "VALOR DE X = ",X Escribirá en pantalla: VALOR DE X = 3 (si el valor de X fuera 3) y sonará un pitido en el terminal. Los caracteres de control permiten : /B hacer sonar un pitido en el terminal /C<n> provocar n saltos de línea (n veces CR y n veces LF); /S mantenerse en la misma línea (sin CR ni LF); /O <n> dar el valor, según una codificación entera octal, cuyo campo es declarado por n;

Ejemplo R =23

TYPE/O 10,R 23 dará: 10 espacios /l<n> dar el valor, según una codificación entera decimal en que el campo viene declarado por n. Ejemplo 1: R = 23

TYPE /l 10,R 23 dará: 10 espacios Ejemplo 2 : R = 4894 TYPE/l 2, r dará : ** los asteriscos indican que el campo es demasiado pequeño.

Page 87: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

87

/E <m>, <n> especificar el valor en notación científica según el formato declarado por m y n.

Ejemplo : R = 1247.45 TYPE/E14.7,R dará :

campo de 14__________ .1247450E + 4 Nota: hay que considerar. 1247450 como 0.1247450 ; /F <m>,<n> e especificar el valor en la forma fijada por m y n (con m para describir el campo y n para

describir el formato de la parte decimal).

Ejemplo : R = 1247.45 TYPE /F 12.4,R 1247.4500 12 espacios

12 espacios /G<m>,<n> especificar el valor según un formato similar a /F<m>,<n>. En el caso que el valor no

pueda entrar en el campo m, este valor se definirá según un formato idéntico a /E<m>,<n>;

Page 88: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

88

/D utilizar un formato por defecto (idem a /G 14.7); /U<n> hacer subir el cursor n líneas;

Atención: este carácter de control no funciona en todas las terminales (funcionamiento asegurado en el terminal Unimation);

/X<n> generar n espacios

Ejemplo 1: R = 1247.45 TYPE /X 10,R dará :

10 espacios 1247.45 Ejemplo 2 : R1 = 3 R2 + 1247.45 TYPE R1,/X 10,R2 dará : 3. 10 espacios 1247.45 /N la unidad central no espera a haber terminado de imprimir el mensaje para ejecutar la

siguiente instrucción.

Page 89: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

89

TPMESS"MENSAJE" Esta instrucción es idéntica a TYPE salvo que en este caso el mensaje sale en la pantalla del mando manual y no en la consola de visualización. El mensaje deberá seguir los siguientes criterios: 1. ser una cadena en c6digo ASCII; 2. no debe comportar caracteres de control (/B, /C, etc...) en caso contrario serán ignorados,

aunque hay algunos que pueden perturbar el funcionamiento. Atención: Esta función solo existe a partir de la versión 2.0.

Page 90: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

90

ENTRADAS El numero de entradas es 32. Sus direcciones son las siguientes :

1001 entrada nº1 1002 entrada nº2 1003 entrada nº3 1004 entrada nº4 1005 entrada nº5 1006 entrada nº6 etc ...

1032 6> entrada nº32. Entre estas entradas se distinguen dos modos de funcionamiento: 1. Modo de entrada por escrutinio

IF SIG (1001, etc...) GOTO 20 WAIT

2. Modo de entrada por interrupción

REACT REACTI IGNORE

Page 91: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

91

Entradas / Salidas

Exteriores (todo o nada).

Page 92: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

92

ENTRADAS POR ESCRUTINIO

Es el programa quien, en un momento dado va a escrutar las distintas entradas.

1. IF SIG <expresión>,... GOTO etiqueta Ejemplo: IF SIG (1001, -1003, 1002) GOTO 10 Si la entrada 1 está en el estado 1 y la entrada 3 esta en el estado 0 y la entrada 2 está en el estado 1 entonces el programa salta a la etiqueta 10. En caso contrario se ejecuta la instrucción siguiente.

2. WAIT <expresión> Ejemplo: WAIT SIG (1001, - 1003, 1002) Esta instrucción interrumpirá el programa hasta que las entradas 1 y 2 estén en el estado A y la 3 en el estado 0. Otros ejemplos:

WAIT (SIG (1001, 62) OR SIG (1008) < > 0 WAIT ((STA == 4) ANO (G > 120)) < > 0

NOTA: Si el resultado de una operación es 0, la máquina considera que el resultado es falso .

Para cualquier otro valor el resultado será considerado verdadero.

Page 93: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

93

ENTRADAS POR INTERRUPCIÓN REACT <señal>, <programas>, [<prioridad>] Ejemplo: REACT 1003, TOTO, 25 Cuando el canal nº 3 pase al estado 1, el programa, una vez terminada la instrucción que esté ejecutando, pasará a la ejecución del programa TOTO.

La prioridad debe tener un valor entre 1 y 127 y permite, en el caso en que se indique jerarquizar las llamadas a otros programas cuando son simultáneas (ver curso nº 2).

Page 94: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

94

REACTI <señal>, <programa>, [<prioridad>] La aplicación de esta instrucción es idéntica a la anterior aunque el salto al programa indicado se hace inmediatamente en el momento en que la entrada en cuestión cambia de estado.

P.D.: Para más información sobre las instrucciones REACT y REACTI ver el curso nº2.

Page 95: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

95

ATENCIÓN:

1. Sólo se dispone de las primeras 16 entradas (nº 1 hasta 16) para provocar reacciones. 2. El sistema sólo reacciona ante cambios de nivel que se mantengan estables al menos 30 ms. 3. Para suprimir el escrutinio de entradas desde el programa, después de la instrucción REACT o

REACTI, se utiliza la instrucción IGNORE.

IGNORE <señal> Ejemplo: PROG PRINC 1 MOVE A 2 BREAK 3 REACT 1001, TOTO 4 MOVE B 5 MOVE C 6 MOVE D 7 BREAK 8 IGNORE 1001 9 MOVE E En este caso, el programa saltará al subprograma TOTO si actua la entrada 1001, pero sólo durante los movimientos B,C,D.

Page 96: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

96

SALIDAS Hay 32 salidas Sus direcciones son las siguientes: 1 salida nº1 2 salida nº2 3 salida nº3 4 salida nº4 etc... 32 salida nº32 Programación de salidas SIG 1, -2,..., 8 RESET RUNSIG

Page 97: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

97

SIGNAL <val 1>, [<val2>, <val3>, <...>] Con distintos valores que pueden ser una constante, una variable o una expresión matemática. Ejemplo 1: SIG3, -1, 4 Las salidas nº 3 y nº 4 pasarán al estado 1 y la salida nº1 al estado 0. Ejemplo 2:1 ? S1 = -1 2 ? S2 = +4 3 ? S3 = 3 4 ? SIG S3, S1, S2 Este ejemplo provoca el mismo resultado que el ejemplo A. Ejemplo 3: 1 ? S2 = 2 2 ? S3 = 2.5 3 ? SIG (-S2/2),(S3*2) En este caso la salida nº 1 pasará a 0 y la salida nº5 pasará a 1. RESET Esta instrucción pone a cero todas las salidas. NOTA: Estas dos instrucciones funcionan tanto en modo comando como en modo programa.

Page 98: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

98

RUNSIG <expresión>

Ejemplo: RUNSIG 3 o RUNSIG TOTO Esta instrucción pone al estado 1 la salida nº 3 cuando el programa se está ejecutando. Cuando la ejecución del programa se interrumpe, esta salida pasa al estado 0. En el ejemplo RUNSIG TOTO, TOTO deberá ser:

- Una variable real. - Una expresión matemática

Pero el resultado de la empresión matemática deberá tener un valor positivo, entero y comprendido entre 1 y 16.

Page 99: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

99

CAMBIO DE REFERENCIA

Page 100: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

100

COMO DESPLAZAR LA REFERENCIA DE BASE ? Con la instrucción base, utilizable en modo programa o en modo (.,*) BASE [<DX>], [<DY>], [<DZ>], [<rotación>] Ejemplo 1: BASE PUNTO 1, PUNTO 2, -50, 0 O Ejemplo 2: BASE 0,0,100,0

ATENCIÓN: Consideramos que es la antigua base la que se desplaza respecto a la nueva (de aquí la

diferencia de signos. Si se desea utilizar otra referencia en que los planos XZ, XY, etc... no sean paralelos respecto a la referencia de base, se puede hacer con la instrucción FRAME.

Page 101: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

101

COMO DESPLAZAR LA REFERENCIA UTIL ? TOOL <nombre de la transformación> Ejemplo: TOOL TRANS TRANS se deberá haber definido previamente. Si TRANS tiene la siguientes coordenadas.

Observación: TOOL es una de las pocas instrucciones que se pueden utilizar en modo programa y

(.,*). Esta instrucción es importante ya que permite pasar el extremo del soporte de la pinza (hasta entonces tomado como referencia) al extremo del útil, tanto a nivel dimensional como rotacional.

Page 102: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

102

TRANSFORMADAS COMPUESTAS

Page 103: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

103

En muchos casos, es más ventajoso tragbajar según la referencia útil en el extremo del soporte de la pinza que según la referencia cartesiana de base. El punto final donde debe llegar el robot, será una composición de las distintas cotas definidas según el eje X, Y, Z útil asociado a las cotas X, Y, Z de coordenadas de base. Hay una composición de dos sistemas de referencia por lo que lo llamamos transformada compuesta.

MOVE A : B

Las cotas X, Y, Z del punto B, se definen en la referencia útil y con respecto al punto A.

Las cotas del punto A se definen en la referencia, con respecto a su origen.

Page 104: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

104

Teóricamente, se pueden añadir tantas cotas como se quieran, aunque a partir de 3, se deben tener en cuenta los errores que se van acumulando ... Instrucciones que aceptan las transformadas compuestas: MOVE A : B APPRO A: B,50 SET © = A : B HERE A : B TEACH A : B0 T Y TS comando editor Se puede hacer una corrección de cotas según el sistema de referencia del útil, en modo comando o en programa, con la instrucción TOOL.

Page 105: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

105

FRAME (<comp 1>, <comp 2>, <comp 3>, <comp 4>)

Donde COMP 4 es un punto que define el origen de la nueva referencia en que:

1. El eje X es paralelo a una línea que pasa por los puntos COMP 1 y COMP 2 (sentido positivo del primero hacia el segundo).

2. El eje Y es perpendicular al eje X y pasa por COMP 3 (el sentido positivo viene definido por COMP 3)

3. El plano X Y viene definido por los puntos COMP 1, COMP 2, COMP 3.

Ejemplo 1: HERE FRAME (CP1, CP2, CP3, CP4) : S1 S1 tendrá las coordenadas relativas con respecto a este nuevo sist. De referencia. Ejemplo 2: MOVE FRAME (CP1, CP2, CP3, CP4) : S1 Ejemplo 3: SET X = FRAME (CP1, CP2, CP3, CP4) APPRO X : S1, 30 MOVE X : S1

Page 106: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

106

CONTROL DE CONFIGURACIÓN

Page 107: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

107

READY

Permite posicionar el brazo del robot en una posición particular.

Page 108: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

108

ALIGN Permite poner el eje Z útil paralelo al eje más próximo del sist. de referencia de base (X, Y o Z)

Page 109: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

109

Ejemplo: PROG ENSAYO 1 BELOW 2 MOVE A -> 3 ABOVE 4 MOVE A -> ¿ Porqué no funciona el programa siguiente? PROG ENSAYO 1 MOVE A 2 BELOW 3 MOVE A 4 ABOVE

Page 110: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

110

Ejemplo : PROG ESSAI 1 LEFTY 2 MOVE A 3 RIGHTY 4 MOVE A RIGHTY-LEFTY

Page 111: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

111

FLIP NOFLIP Esta función permite realizar una simetría respecto al eje 5 conservando los ángulos O, A, T en la referencia de base. FLIP da valores de ángulos negativos al eje 5 NOFLIP da valores de ángulos positivos al eje 5. Ejemplo:

PROG FLIP 1 FLIP 2 MOVE A 3 NOFLIP 4 MOVE A

Page 112: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

112

CONTROL DE TRAYECTORIA

Page 113: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

113

COARSE [ALWAYS] Esta instrucción permite, en el caso de que el robot no llegue a su posición, que el ciclo no se detenga y no aparezca mensaje de error.

X segundos después de salir del punto A, deberíamos encontrarnos en B. Si el robot está en B’ y si se ha indicado previamente COARSE, continúa hacia C. Ejemplo: COARSE ALWAYS MOVE A MOVE B MOVE C FINE [ALWAYS] Es lo contrario de la instrucción anterior. Nota: Las instrucciones subrayadas son las que la máquina toma por defecto.

Page 114: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

114

ENABLE CP Esta instrucción declara que el servosistema de velocidad es prioritario sobre el servosistema de posición. DISABLE CP Esta instrucción declara al robot que el servosistema de posición es prioritario sobre el servosistema de velocidad.

NULL [ALWAYS]

La unidad central, espera que los movimientos de los ejees haya finalizado antes de ejecutar la siguiente instrucción. NONULL [ALWAYS] La unidad central espera que un sólo movimiento llegue a su consigna para realizar la siguiente instrucción, de forma que habrá un ligero error de posición.

Page 115: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

115

INTOFF[ALWAYS] Esta instrucción es idéntica a COARSE, aunque se aplica al seguiente de la trayectoria y no a la posición final. Si INTOFF ->La máquina acepta la desviación. Si INTON -> La desviación hace que aparezca un mensaje y el movimiento cesa. El error sobre la trayectoria puede venir provocado por un obstáculo, inercia, etc. INTO [ALWAYS] Es el opuesto de la instrucción anterior. BREAK Esta instrucción permite hacer pasar en disable CP, sólo para la instrucción de movimiento siguiente. Ejemplo: Además, permite interrumpir la ejecución del programa durante la búsqueda de su destino.

Page 116: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

116

Las siguientes instrucciónes sólo conciernen los modelos 761/763 a partir de las versiones 2.0H Y 2.0.J. ELSPON Por debajo de SPEED 10, si se desea un desplazamiento suave lineal, y progresivo se puede utilizar la instrucción ELSPON. Esta será válida hasta que encuentre: ELSPOFF Nótese que ELSPOFF es el valor que se toma por defecto y que una reinicialización provoca el mismo efecto que ELSPOFF.

Page 117: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

117

PAYLOAD <valor> <unidad> unidad en Kg o en libras 0 < 0 = valor < 0 = 4kg. Esta instrucción permite adaptar el robot a las condiciones reales de carga a transportar. Funciona con los robots 562 y permite reducir el tiempo de desplazamiento. Esta instrucción es valida en el caso de que la carga a transportar sea inferior al valor máximo que el robot puede soportar.

MOVE A MOVE B MOVE C BREAK PAYLOAD 2 KG MOVE D MOVE E BREAK PAYLOAD 4 KG MOVE F MOVE G Atención: Si la carga real es superior a la inidcada por payload, el robot se puede estropear.

Page 118: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

118

OPERACIONES CON DISQUETTES Atención: Las instrucciones siguientes sólo funcionan en modo (.) o (*).

Page 119: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

119

FORMAT La máquina responderá: ARE YOU SURE (Y,N)? Esta instrucción permite configurar un disquette nuevo para el posterior almacenamiento de programas. La operación de formateado define el número de pistas, número de sectores por pista, etc. Atención: Si se formatea un disquette que contenga ficheros, éstos será destrudidos.

Page 120: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

120

LISTF ( O FLIST) Visualiza los nombres de los ficheros contenidos en el disquette. Atención: LISTF no visualiza el contenido de cada fichero. Ejemplo: LISTF � En pantalla aparecerá: TOTO.V2 TITI.V2 TUTU.V2 PRO1.V2 Etc...

Page 121: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

121

STORE nombre de fichero = nombre prog 1, nombre prog 2, ...

Ejemplo: STORE FIC.1 = TOTO, TITI Los programas TOTO.PG, TOTO.LC, TOTO.RV, y TITI.PG, TITI.LC, TITI.RV se grabarán bajo el nombre de ARCHIVO FIC.1.V2. STORE (o LSTORE) Ejemplo: STORE FIC.1 = TOTO, TITI La sintaxis es idéntica a la instrucción STORE, salvo que aquí solo concierne a los ficheros de puntos asociados al programa. El nombre del fichero en el disco será FIC.1.LC.

Page 122: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

122

STORE (o PSTORE) Idem a la instrucción STORE, salvo que ésta sólo concierne al almacenamiento de ficheros de programas. Ejemplo: STORE FIC.1 = TOTO, TITI El nombre del fichero en el disco será FIC.1.PG. RESTORE (o STORER) Idem a la instrucción STORE, salvo que ésta sólo concierne al almacenamiento de ficheros de variables reales. Ejemplo: STORER FIC.1 = TOTO, TITI El nombre del fichero en el disco será FIC.1.RV.

Page 123: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

123

LOAD nombre de fichero Ejemplo: LOAD FICH.1.PG El programa FICH.1.PG va a la memoria. O LOAD FICH.1.LC El programa FICH.1.LC va a la memoria. O LOAD FICH.1.RV El programa FICH.1.RV va a la memoria. O LOAD FICH.1 En este último caso, los programas FICH.1.PG., FICH.1.LC,

FICH.1/RV van a la memoria. Atención: Si en la memoria ya existe un programa con el mismo nombre, el nuevo sustituye al

antiguo.

Page 124: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

124

FDELETE (o DELETEF) Ejemplo: FDELETE FIC.1.PG La máquina responderá: ARE YOU SURE (Y,N) ? Si la respuesta es afirmativa, el fichero correspondiente será destruido. Atención: Se debe indicar bien el sujeto LC, PG o RV que sigue al nombre del programa.

Page 125: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

125

COMPRESS La máquina responderá por: ARE YOU SURE (Y,N) ? En el caso que el disco esté lleno (en pantalla indica DISK FULL), utilizar la orden COMPRESS para comprimir todos los programas y recuperar espació.

Page 126: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

126

RENAME <nombre del nuevo fichero> = < nombre del antiguo fichero> Ejemplo: RENAME TOTO.PG = TITI.PG El fichero del disco llamado TITI.PG pasa a llamarse TOTO.PG Atención: Este comando sólo funciona a partir de la versión 2.0 del VAL II.

Page 127: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

127

PROCESO DE AUTOSTART

Page 128: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

128

EL AUTOSTART Su papel: Cuando se quiere arrancar el robot, al empezar la jornada, se deben hacer cierto número de operaciones que pueden ser fastidiosas. Estas operaciones se pueden reducir reagrupándolas en un fichero llamado AUTO. Procedimiento:

1. Editar el programa que se desea utilizar en autostart (si éste no existe). Ejemplo: ENSAYO

2. Editar bajo el nombre de AUTO (este nombre es indispensable) los distintos comandos que se deseen, precedidos por las instrucciones “MC”.

Ejemplo: EDIT AUTO 1 ? MC CAL 2 ? MC LOAD ENSAYO 3 ? MC EX ENSAYO

3. Hacer arrancar la unidad de mando siguiendo el proceso siguiente: a. Puesta en marcha de la pantalla /teclado b. Mantener el botón AUTOSTART al mismo tiempo que alimentamos la unidad de control.

Atención: No soltar antes de que el testigo AUTOSTART se encienda.

c. en pantalla aparece:

AUTO STARTUP: need ARM POWER & COM mode

o conectar la alimentación del brazo. o Aseguarse de que el testigo del mando manual esté en el modo COMP.

d. el robot ejecutará los distintos comandos indicados en el programa AUTO.

Nota: El proceso AUTOSTART se puede realizar sin pantalla, sin mando manual y eventualmente sin floppy (en el caso que todos los elementos necesarios para la ejecución del programa AUTO residan en memoria RAM registrados.

Observación: Constatar que si se emplea DO delante de las instrucciones de programas que se

pueden mezclar órdenes de monitor y órdenes de programas en la elaboración del programa AUTO.

Ejemplo: PROG AUTO 1 ? MC CAL 2 ? MC SP 10 3 ? MC DO TYPE “INSTRUCCION PROG” 4 ? MC LOAD ENSAYO 5 ? MC EX ENSAYO, 1, 9 Atención: A partir de la versión 2.0 se pueden añadir etiquetas en el programa autostart.

Page 129: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

129

Ejemplo: MC CAL

1 MC DO READY 2 MC DO X = 0 3 8 MC DO X = X + 1 4 MC DO TYPE “VALOR DE X = “ , X 5 MC IF X < 10 GOTO 8 MC DO TYPE “FIN”

Page 130: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

130

COMANDOS ESPECIFICOS STATUS Este comando da el estado interno del robot. Ejemplo : STATUS ROBOT STATE : MANUAL MODE -> indica el modo del robot. MONITOR SPEED : 20.00-> indica la velocidad del monitor. PROGRAM CYCLES COMPLETED : 1-> número de ciclos ejecutados REMAINING : 0-> número de ciclos restantes PROGRAM : NEXT STEP CABS : 11 -> nombre y número de línea en que se ha detenido el programa. FREE Este comando da el estado de la memoria RAM. Ejemplo: FREE % UNUSED MEMORY : 98.21 98.21% de la memoria que queda libre. DONE Este comando permite pasar el lenguaje VAL al lenguaje máquina (O.D.T.) ZERO La máquina responde por: ARE YOU SURE (Y,N)? Este comando permite vaciar todo el contenido de la memoria, y las entradas / salidas exteriores.

Page 131: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

131

WHERE Esta instrucción permite conocer la posición del robot en el momento en que se declara este comando. Ejemplo : WHERE Posición % X Y Z O A T En la referencia De base (en mm) -> 45.53 35.28 -28.42 90 -85.32 17.427 Jt 1 Jt2 Jt3 Jt4 Jt5 Jt6 Posición angular En grados -> -3.47 -85.983 84.728 -69.46 6.438 5.87 WHERE 1 Este comando permite obtener dinámicamente los valores de WHERE. Para salir de este modo teclear �C.

Page 132: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

132

EJEMPLO DE APLICACIÓN Despaletizado de botellas de champaña Se desea paletizar y despaletizar un contenedor de botellas según el ciclo siguiente:

Page 133: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

133

Page 134: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

134

PLANO DE IMPLANTACIÓN

Page 135: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

135

ELEMENTOS DE TOMA

Page 136: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

136

ABACO DE TIEMPOS

Page 137: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

137

PROGRAM princ

1 MOVE #13 2 Rang = 0 3 SET a1 = p1 4 SET a11 = p11 5 SET a3 = p3 6 SET a33 = p33 7 SET a2 = p2 8 SET a 22 = p22 9 SET a4 = p4 10 SET a 44 = p44 11 SET d1 = dg1 12 SET d11 = dg11 13 SET d2 = dg2 14 SET d22 = dg22 15 SET d3 = dg3 16 SET d33 = dg33 17 SET d4 = dg4 18 SET d44 = dg44 19 SET a1a = p1a 20 SET d1a = dg1a 21 SET a2a = p2a 22 SET d2a = dg2a 23 SET d13 = dg13 24 SET do = rot 25 TIMER (2) = 0 26 10 TIMER (1) = 0 27 TIMER (3) = 0 28 MOVE d33 29 MOVES a33 30 BREAK 31 SIGNAL 1 32 MOVES d33 33 CALL pose 34 MOVE d44 35 MOVES a11 36 BREAK 37 SIGNAL 38 MOVES D44 39 CALL pose 40 MOVE d11 41 MOVES a11 42 BREAK 43 SIGNAL 1 44 MOVES d11 45 MOVE d13 46 CALL posea 47 MOVE d22 48 MOVES a22 49 BREAK 50 SINGAL 1 51 MOVES d22 52 MOVE do 53 CALL pose 54 IF rang > 6 GOTO 20 55 MOVE d1 56 MOVES a1 57 BREAK 58 SIGNAL 1 59 MOVES d1 60 CALL pose 61 MOVE d2

62 MOVES a2 63 BREAK 64 SIGNAL 1 65 MOVES d2 66 CALL pOse

Page 138: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

138

67 30 IF rang > 8 GOTO 40 68 MOVE d3 69 MOVES a3 70 BREAK 71 SIGNAL 1 72 MOVES d3 73 MOVE d13 74 CALL posea 75 MOVE d4 76 MOVES a4 77 BREAK 78 SIGNAL 1 79 MOVES d4 80 MOVE do 81 CALL pose 82 A = TIMER (1) 83 TYPE a 84 SET a1 = SHIFT (a1 BY,, -89) 85 SET a11 = SHIFT /A11 BY, , -89) 86 SET a3 = SHIFT (a3 BY ,, -89) 87 SET a33 = SHIFT (a33 BY ,, -89) 88 SET a2 = SHIFT (a2 BY,, -89) 89 SET a22 = SHIFT (a22 BY , , -89) 90 SET a4 = SHIFT (a4 BY, , -89) 91 SET a44 = SHIFT (a44 BY , , -89) 92 SET d1 = SHIFT(d1 BY , , -89) 93 SET d11 = SHIFT (d11 BY , , -89) 94 SET d2 = SHIFT (d2 BY , , -89) 95 SET d22 = SHIFT (d22 BY , , -89) 96 SET d3 = SHIFT (d3 BY , , -89) 97 SET d33 = SHIFT (d33 BY , , -89) 98 SET d4 = SHIFT (d4 BY , , -89) 99 SET d44 = SHIFT (d44 BY , , -89) 100 Rang = rang +1 101 IF rang > 5 GOTO 50 102 SET d13 = SHIFT (d13 BY, , -89) 103 SET do = SHIFT (do BY , , -89) 104 50 IF rang < 10 GOTO 10 105 20 rang1 = 0 106 OPEN 107 MOVE d1a 108 MOVE a1a 109 BREAK 110 SIGNAL 1 111 MOVES d1a 112 CALL pose 113 OPEN 114 MOVE d2a 115 MOVES a2a 116 BREAK 117 SIGNAL 1 118 MOVES d2a 119 CALL pose 120 SET a1a = SHIFT (a1a BY , , -89) 121 SET d1a = SHIFT (d1a BY , , -89) 122 SET a2a = SHIFT (a2a BY , , -89) 123 SET d2a = SHIFT (d2a BY, , -89)

Page 139: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

139

124 Rang1 = rang1 + 1 125 GOTO 30 126 40 OPEN 127 MOVE #dg12 128 MOVE #dgo 129 MOVE dega1 130 MOVES pr1 131 BREAK 132 SIGNAL 1 133 MOVES dega1 134 MOVE #dgo 135 MOVE #dg12 136 CLOSE 137 CALL pose 138 OPEN 139 MOVE #dg12 140 MOVE #dgo! 141 MOVE dega2 142 MOVES pr2 143 BREAK 144 SIGNAL 1 145 MOVES dega2 146 MOVE #dgo1 147 MOVE #dg12 148 CLOSE 149 CALL pose 150 C = TIMER (3) 151 TYPE C 152 b = TIMER (2) 153 TYPE b END

PROGRAM pose 1 MOVE #dg13 2 CLOSE 3 MOVE #apo12 4 MOVE #po12 5 COARSE 6 MOVES po12 7 BREAK 8 SIGNAL –1 9 FINE 10 MOVE #dg4 11 MOVE #dg13 12 RETURN

END PROGRAM posea 1 MOVE #rot

2 MOVE #dg11 3 MOVE #apo10 4 COARSE 5 MOVES #po10 6 BREAK 7 SIGNAL –1 8 FINE 9 MOVES #dgr1 10 MOVE #rot 11 RETURN

END

Page 140: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

140

CABLEADO DE ENTRADA

Page 141: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

141

CABLEADO DE SALIDA

Page 142: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

142

ESQUEMA DEL CABLEADO

Page 143: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

143

TECNOLOGÍA DEL ENCODER

Page 144: GUÍA VAL 2 - UPM · 2013. 2. 18. · 3 INTRODUCCIÓN Estos fascículos se han concebido como soporte del curso para asegurar la formación de los usuarios de robots en lenguaje VAL

144