Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VAL 2
MANUAL N° 1
© Copyright 1992 by STÄUBLI S.A.
D.280.172.05. (A)
Í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
1
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
2
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.
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
+.
3
PRESENTACIÓN GENERAL
4
CONFIGURACIÓN MATERIAL
5
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° 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.
8
REGLAS DE SEGURIDAD
CONCERNIENTES AL PERSONAL DE MANTENIMIENTO
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.
9
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.
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.
- 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).
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).
10
INITIALIZE (Y/N) ?
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.
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".
11
8. Prodecer a un calibrado tecleando CAL ®, la máquina responderá :
Si Usted responde Y ® el robot se desplazará ligeramente sobre todos sus ejes, efectuándose el
calibrado.
Nota: todos los mensajes subrayados son los mensajes enviados por la máquina.
12
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).
13
EN RESUMEN: COMO PONER EN MARCHA EL ROBOT?
8. Calibrar
14
CÓMO PARAR EL ROBOT?
15
ATENCIÓN
Aparecerá :
Seleccione el número correspondiente al idioma deseado: de esta manera, todos los mensajes
de error aparecerán en el idioma escogido.
16
LAS REFERENCIAS
17
DEFINICIÓN DE LOS ÁNGULOS O, A, T
18
19
LAS CARACTERÍSTICAS DE LOS DESPLAZAMIENTOS ANGULARES
20
LIMITES ANGULARES
21
CÓMO PONER EN MOVIMIENTO EL BRAZO DEL ROBOT?
22
MANDO STANDARD
23
MANDO STANDARD
24
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.
25
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.
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.
26
CÓMO LANZAR UN PROGRAMA?
Con el comando:
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 :
27
COMO EJECUTAR UN PROGRAMA PASO A PASO?
Mediante el comando:
XSTEP < Nombre prog >, < n° de bucles >, < STEP >
- 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.
DIS TRACE
28
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.
En el caso de RETRY se vuelve a ejecutar la nstrucción interrumpida En el caso de PROCEED se ejecuta la nstrucción siguiente
29
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.
30
SE DISPONE DE 3 MODOS DE FUNCIONAMIENTO
La unidad de comando espera una orden como DIR, LISTP, DELETEP, etc.
La unidad de comando está ejecutando un programa, aunque algunas órdenes son asimilables
paralelamente a esta ejecución.
31
COMO CREAR UN PROGRAMA ?
Se hará con la ayuda del programa llamado EDITOR, que reside en la máquina.
32
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...
33
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 :
Ejemplo: ED TOTO, 7
34
C (CHANGE)
Forma general :
C NOM, n
Ejemplo: C TOTO, 7
ED TITI
PROG TITI
1 ? MOVE A
2 ? MOVE B
3 ? MOVE C
4 ? C TOTO, 7 ® Æ PROG TOTO
7 ? MOVE B4
35
D (DELETE)
Forma general
Dn
n: numero de líneas
Ejemplo: D4
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
36
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®
37
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 ®.
38
L (LAST)
Forma general:
Ejemplo:
ED TOTO
1 ? MOVE
2 ? MOVE B
3 ? MOVE C
4 ? MOVE D
4 ? L®
3 ? MOVE C
39
S (SEARCH)
Forma general :
Sn
n : n° de línea.
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
40
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
41
R (REPLACE)
Forma general :
R caracteres
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
42
M (MODIFY)
Forma general :
Ejemplo: ED TOTO
1 ? APPRO A,30,
1 ? M/30/200 ® dará:
1 ? APPRO A,200
Ejemplo: M+30, 20
M?30?, 20
M+30+,20
etc ...
43
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
44
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 ®
4 ? MOVET D2,0
etc...
Cada vez que se pulse RECORD se obtiene un incremento automático del índice del punto.
45
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
Importante: Nótese que sólo en modo comando se dispone de una instrucción TEACH nombre variable
que hace la misma función.
46
OPERACIONES CON LA MEMORIA
DE LA UNIDAD DE MANDOS Y CARACTERES DE CONTROL DEL TERMINAL
(pantalla / teclado)
47
CONTENIDO DE LA MEMORIA RAM
48
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).
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.
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 ®
CHANGE?®
49
2. Por aprendizaje
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).
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.
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".
50
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) .
51
QUE ES UNA VARIABLE REAL?
Es la asignación a un nombre cualquiera de un valor entero (ej: 123) o real (ej: 1,238).
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.
X = SIGN (0.12) Æ X = 1
X = SIGN (-5.14) Æ X = - 1
52
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
ATAN2 (expr 1, expr 2) Esta función da la equivalencia en grados de la tangente expr 1, expr 2.
53
PI Esta función da el valor 3,14159
X=PIÆ X=3.14159
54
EN CONCLUSIÓN
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]
Tomemos un ejemplo.
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)
55
CÓMO VISUALIZAR?
Cómo visualizar:
Ejemplo:
DIR®
TOTO
TITI
TUTU
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:
LLIST # A, S, C etc...
RLIST X, Y, Z etc...
56
Los sufijos que aparecen con los nombres de ficheros en visualización tienen el siguiente significado.
NOM PROG.XXX
sufijo
Importante :
TOTO.PROG1.TOTO
TOTO 12.
TOTO
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
57
TESTP <programa>
LOADED
Si no veremos :
UNDEFINED NAME.
58
RENAME <nombre del nuevo programa> = <nombre del antiguo programa>
Borra los programas designados de la memoria central, así como los datos, puntos y variables reales
asociados.
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).
LDELETE<puntos>[,...,<puntos>]
Instrucción idéntica a la anterior pero só1o se destruyen las coordenadas de los puntos designados.
59
RDELETE <variable real>[,...,<variable real>]
Instrucción idéntica a la anterior pero sólo se destruyen los contenidos de las variables reales
designadas.
60
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.
61
INSTRUCCIONES DEL LENGUAJE VAL II
62
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).
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
63
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".
DO MOVE A
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.
64
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
65
APPRO <punto>,<distancia en mm>
Esta instrucción, que generalmente va seguida de MOVE, permite al robot acercarse a 50 mm del punto
A siguiendo el eje Z útil.
66
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.
Idem a la instrucción anterior pero el desplazamiento se realiza siguiendo una línea recta.
67
SPEED <valor> [unidades][always]
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.
<valor> puede ser una constante, una variable o una expresión matemática cuyo valor debe estar
comprendido entre 0.39 y 12800.
Ejemplo :
Obtendremos 10,48 segundos para un desplazamiento de un metro. Si la velocidad monitor hubiera sido
de 50 habríamos obtenido 20.85 seg.
68
INSTRUCCIONES DE MOVIMIENTOS DE PINZA
69
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.
70
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).
71
DEST
Asignamos a la variable declarada las coordenadas del destino del robot en el momento en que se
ejecuta esta instrucción.
Nota:
Si el destino fuera un punto de precisión, las coordenadas serian convertidas en cartesianas en DEST;
Aplicación:
72
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
73
SHIFT <punto> by [<exp 1 >],[<exp 2>],[<exp 3>])
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:
74
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
75
PRESENTACIÓN DE LOS PROGRAMAS
A partir de las especificaciones, se pretende realizar un programa que deberá ejecutar el robot.
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.
76
Queremos desplazarnos del punto A al B, pero cuando pulse el botón BP1, debemos ir al punto C y
volver al principio.
77
COMO COMENTAR UN PROGRAMA
Ejemplo:
1; PROG COMENTARIO
2 MOVE A; se ejecuta un desplazamiento hacia A
2 MOVE B ; se ejecuta un desplazamiento hacia B
78
INTERRUPCION DE UN PROGRAMA
PAUSE
Ejemplo:
1 MOVE A
2 MOVE B
3 PAUSE Å Paro del programa en el paso 3
4 MOVE C
HALT
Esta instrucción es idéntica a la anterior pero no se puede continuar tecleando PROCEED: utilizaremos
EXECUTE.
79
LOS SUBPROGRAMAS
CALL<nombre prog>
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"
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.
80
ESTRUCTURA DE LOS SUBPROGRAMAS
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.
81
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
Ejemplo:
9 16 MOVE A
10 MOVE B
11 IF N = <6 GOTO 16
12 12 DELAY 5
13
.
.
.
82
Los símbolos relacionales son los siguientes:
== igual
<> distinto
OR Función lógica O
Ejemplo:
10 MOVE A
IF (A>3) OR (B< = 7.82) GOTO 10
MOVE B
83
COMUNICACIÓN TECLADO - PANTALLA
84
PROMPT " (<MESSAGE)" (,<VARIABLE> (,...,<VARIABLE>)
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.
Cuando se ejecute esta instrucción, el robot asignará a la variable A el valor que se teclee
sin ningún mensaje en pantalla.
85
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).
(si el valor de X fuera 3) y sonará un pitido en el terminal. Los caracteres de control permiten :
/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.
86
/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
/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>;
87
/D utilizar un formato por defecto (idem a /G 14.7);
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
88
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.
89
ENTRADAS
REACT
REACTI
IGNORE
90
Entradas / Salidas
91
ENTRADAS POR ESCRUTINIO
2. WAIT <expresión>
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:
92
ENTRADAS POR INTERRUPCIÓN
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).
93
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.
94
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>
En este caso, el programa saltará al subprograma TOTO si actua la entrada 1001, pero sólo durante los
movimientos B,C,D.
95
SALIDAS
Hay 32 salidas
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
96
SIGNAL <val 1>, [<val2>, <val3>, <...>]
Con distintos valores que pueden ser una constante, una variable o una expresión matemática.
Ejemplo 2:1 ? S1 = -1
2 ? S2 = +4
3 ? S3 = 3
4 ? SIG S3, S1, S2
Ejemplo 3: 1 ? S2 = 2
2 ? S3 = 2.5
3 ? SIG (-S2/2),(S3*2)
RESET
NOTA: Estas dos instrucciones funcionan tanto en modo comando como en modo programa.
97
RUNSIG <expresión>
Ejemplo: RUNSIG 3
o RUNSIG TOTO
Pero el resultado de la empresión matemática deberá tener un valor positivo, entero y comprendido
entre 1 y 16.
98
CAMBIO DE REFERENCIA
99
COMO DESPLAZAR LA REFERENCIA DE BASE ?
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.
100
COMO DESPLAZAR LA REFERENCIA UTIL ?
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.
101
TRANSFORMADAS COMPUESTAS
102
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
103
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 ...
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.
104
FRAME (<comp 1>, <comp 2>, <comp 3>, <comp 4>)
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.
S1 tendrá las coordenadas relativas con respecto a este nuevo sist. De referencia.
105
CONTROL DE CONFIGURACIÓN
106
READY
107
ALIGN
Permite poner el eje Z útil paralelo al eje más próximo del sist. de referencia de base (X, Y o Z)
108
Ejemplo:
PROG ENSAYO
1 BELOW
2 MOVE A ->
3 ABOVE
4 MOVE A ->
PROG ENSAYO
1 MOVE A
2 BELOW
3 MOVE A
4 ABOVE
109
Ejemplo : PROG ESSAI
1 LEFTY
2 MOVE A
3 RIGHTY
4 MOVE A
RIGHTY-LEFTY
110
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.
Ejemplo:
PROG FLIP
1 FLIP
2 MOVE A
3 NOFLIP
4 MOVE A
111
CONTROL DE TRAYECTORIA
112
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.
Ejemplo:
COARSE ALWAYS
MOVE A
MOVE B
MOVE C
FINE [ALWAYS]
Nota: Las instrucciones subrayadas son las que la máquina toma por defecto.
113
ENABLE CP
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.
114
INTOFF[ALWAYS]
El error sobre la trayectoria puede venir provocado por un obstáculo, inercia, etc.
INTO [ALWAYS]
BREAK
Esta instrucción permite hacer pasar en disable CP, sólo para la instrucción de movimiento siguiente.
Ejemplo:
115
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.
ELSPOFF
Nótese que ELSPOFF es el valor que se toma por defecto y que una reinicialización provoca el mismo
efecto que ELSPOFF.
116
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.
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.
117
OPERACIONES CON DISQUETTES
118
FORMAT
La máquina responderá:
119
LISTF ( O FLIST)
Ejemplo: LISTF
En pantalla aparecerá:
TOTO.V2
TITI.V2
TUTU.V2
PRO1.V2
Etc...
120
STORE nombre de fichero = nombre prog 1, nombre prog 2, ...
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)
La sintaxis es idéntica a la instrucción STORE, salvo que aquí solo concierne a los ficheros de puntos
asociados al programa.
121
STORE (o PSTORE)
Idem a la instrucción STORE, salvo que ésta sólo concierne al almacenamiento de ficheros de
programas.
RESTORE (o STORER)
Idem a la instrucción STORE, salvo que ésta sólo concierne al almacenamiento de ficheros de
variables reales.
122
LOAD nombre de fichero
123
FDELETE (o DELETEF)
La máquina responderá:
Atención: Se debe indicar bien el sujeto LC, PG o RV que sigue al nombre del programa.
124
COMPRESS
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ó.
125
RENAME <nombre del nuevo fichero> = < nombre del antiguo fichero>
Atención: Este comando sólo funciona a partir de la versión 2.0 del VAL II.
126
PROCESO DE AUTOSTART
127
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.
Procedimiento:
Ejemplo: ENSAYO
2. Editar bajo el nombre de AUTO (este nombre es indispensable) los distintos comandos que se
deseen, precedidos por las instrucciones “MC”.
c. en pantalla aparece:
128
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”
129
COMANDOS ESPECIFICOS
STATUS
Ejemplo : STATUS
FREE
Ejemplo: FREE
% UNUSED MEMORY : 98.21 98.21% de la memoria que queda libre.
DONE
ZERO
Este comando permite vaciar todo el contenido de la memoria, y las entradas / salidas exteriores.
130
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
WHERE 1
131
EJEMPLO DE APLICACIÓN
132
133
PLANO DE IMPLANTACIÓN
134
ELEMENTOS DE TOMA
135
ABACO DE TIEMPOS
136
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
137
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)
138
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
139
CABLEADO DE ENTRADA
140
CABLEADO DE SALIDA
141
ESQUEMA DEL CABLEADO
142
TECNOLOGÍA DEL ENCODER
143
144