Sei sulla pagina 1di 236

ACL

Lenguaje de Control Avanzado


para Controlador-B

Versin F2.28

GUIA DE REFERENCIA

Catlogo #100263 Rev.01

Copyright 2004 Intelitek Inc.

ACL para Controlador-B Catlogo n 100263 revisin A Abril 2004 Se realiz todo esfuerzo posible para que este libro sea completo y tan exacto como fuera posible. Sin embargo, no se da o implica ninguna garanta de aplicabilidad, intencin o conveniencia. Intelitek no ser susceptible o responsable a cualquier persona o entidad por prdidas o daos en conexin con o surgiendo del uso del software, hardware y/o la informacin contenida en esta publicacin. Intelitek no asume responsabilidad por errores que podran aparecer en esta edicin y se guarda el derecho de realizar cambios en el software y el manual sin aviso previo.

INTELITEK INC. 444 East Industrial Park Drive Manchester NH 03109-537 Tel: (603) 625-8600 Fax: (603) 625-2137 Pgina web www.intelitek.com

INDICE
CAPITULO 1

ACL: Referencia rpida

1-1

Tipos de Comandos .......................................................................1-2 Sistemas de Coordenadas ..............................................................1-2 Tipos de Datos ...............................................................................1-3 Variables .....................................................................1-3 Strings (Comentarios) .................................................1-3 Posiciones ...................................................................1-3 Parmetros ..................................................................1-3 Comandos de Control de Ejes .......................................................1-4 Comandos de Control de Programa y Tiempo Real .....................1-10 Comandos de Manipulacin y Definicin de Posicin .................1-12 Comandos de Manipulacin y Definicin de Variable .................1-15 Comandos de Flujo de Programa ..................................................1-16 Comandos de Control I/O .............................................................1-18 Comandos de Manipulacin de Parmetros .................................1-19 Comandos de Configuracin .........................................................1-19 Comandos Informativos ................................................................1-20 Comandos de interface de Usuario y Pantalla ..............................1-22 Comandos de Comunicaciones RS232..........................................1-24 Funciones de Edicin ....................................................................1-25 Comandos de Manipulacin de Programas ..................................1-26 Comandos de Reserva/Restauracin Externa ...............................1-27 Comandos de la Botonera de Enseanza .......................................1-27

CAPITULO 2

Comandos: Tipos y Formatos

2-1

Tipos de Comandos .......................................................................2-1 Modo DIRECTO.........................................................2-1 Control Manual por Teclado .............................2-1 Control por Botonera de Enseanza..................2-2 Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 i

Modo EDITOR ...........................................................2-3 Funciones de Edicin ........................................2-4 Sistemas de Coordenadas ..............................................................2-5 Coordenadas cartesianas (XYZ) .................................2-5 Espacio XYZ...............................................................2-5 Coordenadas Ejes (Joints, de robot) ...........................2-8 Tipos de Datos ...........................................................................2-9 Variables de Usuario .........................................2-9 Variables del Sistema ........................................2-10 Listado de Variables ..........................................2-10 Strings (Comentarios, cadenas ) .................................2-11 Posiciones ...................................................................2-11 Tipos de Posiciones ...........................................2-11 Definicin de Posiciones ...................................2-12 Grabacin de Posiciones ...................................2-13 Listado de Posiciones ........................................2-13 Parmetros ..................................................................2-14 Anotaciones utilizadas en este manual ..........................................2-15 Variables .....................................................................2-9

CAPITULO 3

Los Comandos ACL

3-1

A(Abortar). ....................................................................................3-2 ANDIF ...........................................................................................3-3 APPEND........................................................................................3-4 ATTACH .......................................................................................3-5 AUTO ............................................................................................3-6 CLOSE...........................................................................................3-7 CLR................................................................................................3-8 CLRBUF........................................................................................3-9 CLRCOM ......................................................................................3-10 COFF .............................................................................................3-11 CON...............................................................................................3-12
ii ACL para Controlador -B Versin F2.28 Gua de Referencia 0404

CONFIG ........................................................................................3-13 CONTINUE ...................................................................................3-16 COPY.............................................................................................3-17 DEFINE .........................................................................................3-18 DEFP .............................................................................................3-19 DEL................................................................................................3-20 DELAY..........................................................................................3-21 DELETE ........................................................................................3-22 DELP .............................................................................................3-23 DELVAR .......................................................................................3-24 DIM................................................................................................3-25 DIMG.............................................................................................3-26 DIMP .............................................................................................3-27 DIR ................................................................................................3-28 DISABLE.......................................................................................3-29 DO .................................................................................................3-30 ECHO ............................................................................................3-31 EDIT ..............................................................................................3-32 ELSE..............................................................................................3-33 EMPTY..........................................................................................3-34 ENABLE........................................................................................3-35 END ...............................................................................................3-36 ENDFOR .......................................................................................3-37 ENDIF............................................................................................3-38 <Enter> ..........................................................................................3-39 EXACT ..........................................................................................3-40 EXIT ..............................................................................................3-41 FOR ..............................................................................................3-42 FORCE .........................................................................................3-43 FREE ............................................................................................3-44 GET ..............................................................................................3-45 GETCOM ......................................................................................3-46 GLOBAL ......................................................................................3-47 GOSUB .........................................................................................3-48 GOTO ...........................................................................................3-49 Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 iii

HELP ............................................................................................3-50 HERE ............................................................................................3-51 HERER .........................................................................................3-52 HOME / HHOME..........................................................................3-53 IF ...................................................................................................3-54 INIT ..............................................................................................3-55 INSERT .........................................................................................3-56 INT ................................................................................................3-57 JAW ..............................................................................................3-58 L ....................................................................................................3-59 LABEL ..........................................................................................3-60 LET ...............................................................................................3-61 LIST ..............................................................................................3-62 LISTP ............................................................................................3-63 LISTPV .........................................................................................3-64 LISTVAR ......................................................................................3-65 MODULO ROLL...........................................................................3-66 MOVE, MOVED ..........................................................................3-67 MOVE .....................................................................................3-67 MOVED ...................................................................................3-68 MOVE, MOVED Resumen .....................................................3-69 MOVEC, MOVECD ....................................................................3-71

MOVEL, MOVELD .............................................................3-72 MOVES, MOVESD ..............................................................3-73 NOECHO ..............................................................................3-74 NOQUIET ..............................................................................3-75 OPEN ....................................................................................3-76 ORIF ......................................................................................3-77 P .............................................................................................3-78 PASSWORD ..........................................................................3-79 PEND/POST .........................................................................3-80 PRCOM..................................................................................3-81 PRINT ...................................................................................3-82 PRINTLN ..............................................................................3-83
iv ACL para Controlador -B Versin F2.28 Gua de Referencia 0404

PRIORITY ............................................................................3-84 PRIV[ILEGE] ........................................................................3-85 PROFILE................................................................................3-86 PRLNCOM ............................................................................3-87 PSTATUS ..............................................................................3-88 PURGE...................................................................................3-89 PVAL/PVALC .......................................................................3-90 QPEND, QPOST ...................................................................3-91 QUIET ...................................................................................3-92 READ ....................................................................................3-93 READCOM............................................................................3-94 RECEIVE ..............................................................................3-95 REMOVE ..............................................................................3-96 RENAME ..............................................................................3-97 RUN ......................................................................................3-98 S .............................................................................................3-99 SENDCOM ............................................................................3-100 SEND ....................................................................................3-101 SET ........................................................................................3-103 SET y Variables del Sistema .............................................3-105 SETP .....................................................................................3-107 SETPV ...................................................................................3-108 SETPVC ................................................................................3-110 SHIFT, SHIFTC ....................................................................3-111 SHOW ...................................................................................3-104 SPEED ...................................................................................3-114 SPEEDL .................................................................................3-115 SPLINE/SPLINED.................................................................3-116 STAT[US] .............................................................................3-118 SUSPEND ..............................................................................3-120 STOP .....................................................................................3-119 TEACH .................................................................................3-121 TEACHR ...............................................................................3-122
Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 v

TEST .....................................................................................3-123 TON, TOFF ...........................................................................3-124 TOOL .....................................................................................3-125 TRIGGER .............................................................................3-127 UNDEF .................................................................................3-128
VER ..............................................................................................3-129 WAIT ............................................................................................3-130 ZSET..............................................................................................3-131 * ....................................................................................................3-132 @ ...................................................................................................3-133 ~ (Control de Robot Manual) .......................................................3-134

vi

ACL para Controlador -B Versin F2.28

Gua de Referencia 0404

CAPITILO 4

Elemento Predefinidos del Sistema

4-1

Procedimientos Internos del Sistema.............................................4-1 HOME.........................................................................4-1 TEST...........................................................................4-1 Nombres Reservados del Sistema..................................................4-2 AUTO .........................................................................4-2 BACKG ......................................................................4-2 CRASH .......................................................................4-4 EMERG ......................................................................4-4 START........................................................................4-4 Posicin POSITION ......................................................................4-5 Variables del Sistema ....................................................................4-6

CAPITULO 5

Mensajes del Sistema 5-1

CAPITULO 6

Configuracin de la Memoria de Usuario

6-1

CAPITULO 7

Parmetros
Aviso! ....................................................................................7-1 Proteccin de Parmetros ..............................................................7-2 Comandos de acceso......................................................................7-2 Descripcin de Parmetros ............................................................7-3 Tabla 1 de Parmetros ...................................................................7-4 Tabla 2 de Parmetros ...................................................................7-8

7-1

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

vii

Introduccin
El ACL, Lenguaje de Control Avanzado, es un lenguaje y entorno de programacin de robtica avanzado, multitarea, desarrollado por ESHED ROBOTEC (1982) Ltd. El ACL esta almacenado en memorias EPROM dentro del Controlador-B y se puede acceder a l con cualquier PC estndar o terminal, por medio de una lnea RS232 de comunicaciones. El ATS, Software para Terminal Avanzado, es el entorno de interface de usuario para el controlador ACL. El ATS viene suministrado en un disquete y se ejecuta en un PC. Este software es un emulador de terminal que permite el acceso al ACL desde un PC. La siguiente figura muestra los componentes del sistema robtico:

viii

ACL para Controlador -B Versin F2.28

Gua de Referencia 0404

Las caractersticas del ACL incluyen: Ejecucin directa de comandos del robot. Control de entrada y salida de datos. Programacin de usuario del robot. Ejecucin simultnea de programas (total soporte multitarea). Ejecucin sincronizada de programas. Sencilla gestin de ficheros. Las caractersticas del ATS son: Configuracin rpida y sencilla del controlador Definicin de elementos perifricos Teclas rpidas para la introduccin de comandos Gestin de Backup
Gestin de impresin

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

ix

ACL para Controlador -B Versin F2.28

Gua de Referencia 0404

CAPITULO

ACL : Referencia rpida


Este captulo es un breve sumario de los diferentes comandos y tipos de datos usados en ACL. Las breves descripciones sirven para comparar y elegir el comando ms adecuado para las necesidades concretas de programacin y operacin. Ver descripciones ms detalladas de los comandos en el captulo 3 de este manual. Los comandos estn agrupados de acuerdo con los grupos listados abajo. Comandos Control de ejes Comandos Control de I/O Comandos Control Programa Comandos Definicin y Manipulacin de Posiciones Comandos Definicin y Manipulacin de Variables Comandos Flujo de Programa Comandos de Configuracin Comandos de Reportajes Comandos de Interface de Usuario Comandos de Manipulacin Programas Comandos de Edicin Comandos de Comunicaciones RS232 Comandos de Backup y Restore

Para mayor detalle referirse al captulo 3.

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

1-1

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Tipos de Comandos

El ACL tiene dos tipos de comandos: DIRECTOS: los comandos son ejecutados tan pronto como son introducidos y pulsado <Enter> desde el teclado. EDICION: los comandos son ejecutados durante la ejecucin de los programas y rutinas en los cuales estn escritos.

Algunos de estos comandos pueden ser ejecutados tanto en modo directo como de edicin como se indica su explicacin. Referirse al captulo 2 para mayor detalle.

Sistemas de Coordenadas
El ACL permite al sistema robtico ser operado y programado en dos sistemas de coordenadas diferentes: EJES (joints): pasos de encoder XYZ : coordenadas Cartesianas Referirse al captulo 2 para mayor detalle.

1-2

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Tipos de Datos
Variables El ACL utiliza dos tipos de variables: Variables de Usuario: GLOBALES: se pueden usar en todos los programas PRIVADAS: solo pueden usarse en el programa en el cual fueron definidas y utilizadas. Variables del Sistema. Las variables del sistema contienen los datos del estado de las entradas, salidas, encoders y otros elementos del sistema. Referirse al captulo 4 para mayor detalle. Strings (Comentarios) Algunos comandos ACL incluyen comentarios o cadenas de texto (strings). Se reconocen strings de hasta 40 caracteres (incluido espacios). Referirse al captulo 2 para mayor detalle Posiciones El ACL utiliza seis tipos de posiciones: Absoluta Ejes (joint) Absoluta XYZ Relativa a otra Posicin por Ejes Relativa a otra Posicin por XYZ Relativa a la Posicin Actual por Ejes Relativa a la Posicin Actual por XYZ Referirse al captulo 2 para mayor detalle. Parmetros Los Parmetros ACL definen los valores de constantes fsicas que adaptan al controlador a un determinado sistema robtico (tipo de robot, perifricos, velocidades, etc.). Los parmetros estn definidos por su nmero (del 1 al 699) Referirse al captulo 7 para mayor detalle.

Gua de Referencia

ACL para Controlador B Versin F2.28

1-3

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Control de Ejes


MOVE MOVED MOVEL MOVELD MOVEC MOVECD MOVES MOVESD SPLINE SPLINED OPEN CLOSE JAW CLRBUF
COMANDO FORMATO DESCRIPCION MODO

SPEED SPEEDL SHOW SPEED EXACT MPROFILE CON COFF SET ANOUT SHOW DAC

INT:_ON INT_OFF TON TOFF HOME CLR ZSET MODULO ROLL ~ <ALT>+M AUTO TEST
NOTAS

MOVE
MOVE <pos> MOVE <pos> <tiempo> MOVED <pos> <tiempo> Mueve el robot a la posicin especificada y a la velocidad actual Mueve el robot a la posicin especificada en el tiempo especificado Igual que MOVE excepto que el programa continuar con el prximo comando slo cuando el robot haya alcanzado la posicin
DIRECTO EDITOR DIRECTO EDITOR EDITOR

La ejecucin de este comando es afectada por el comando EXACT

MOVEC
MOVEC <pos 1> <pos2> MOVECD <pos1> <pos2> Mueve el robot a la posicin 1, con trayectoria circular, pasando por el posicin0 2 Igual a MOVEC, salvo que el programa slo pasa al siguiente comando cuando se alcanza la posicin DIRECTO EDITOR EDITOR La ejecucin de este comando es afectada por el comando EXACT

1-4

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

MOVEL
MOVEL <pos> MOVEL <pos> <tiempo> MOVELD <pos> {<tiempo>} Desplaza el robot a la posicin por una trayectoria lineal Se desplaza linealmente a la posicin en el tiempo especificado Como MOVEL salvo que el programa pasa al comando siguiente slo al alcanzar la posicin. DIRECTO EDITOR DIRECTO EDITOR EDITOR

La ejecucin de este comando es afectada por el comando EXACT

MOVES
MOVES <pvect> <pos1> <posn> Desplaza el robot por todas las posiciones del vector, desde la pos. de inicio a la de fin. No hay aceleracin/deceleracin ni pausa entre posiciones. Como MOVES pero en el tiempo especificado Como MOVES salvo que el programa pasa al comando siguiente slo al alcanzar la posicin. DIRECTO EDITOR

MOVES <pvect> <pos1> <posn> <tiempo> MOVESD <pvect> <pos1> <posn> {<tiempo>}

DIRECTO EDITOR EDITOR

La ejecucin de este comando es afectada por el comando EXACT

SPLINE
SPLINE <pvect> <pos1> <posn> SPLINED <pvect> <pos1> <posn> <tiempo> Mueve los ejes suavemente entre (o DIRECTO cerca de) las posiciones consecutivas EDITOR del vector, desde la primera a la ltima posicin Lo mismo que SPLINE escepto que EDITOR la velocidad media esta determinada por el tiempo seleccionado

La ejecucin de este comando es afectada por el comando EXACT

CLRBUF
CLRBUF CLRBUFA/B CLRBUF <eje> Vaca el contenido del buffer de movimiento de todos los ejes Vaca el buffer de movimiento del grupo A o del grupo B. Vaca el buffer de movimiento del eje concreto. DIRECTO EDITOR DIRECTO EDITOR DIRECTO EDITOR

Gua de Referencia

ACL para Controlador B Versin F2.28

1-5

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

OPEN
OPEN OPEN <var> Abre pinza hasta el fin de su movimiento, en lazo abierto. Abre pinza con fuerza adicional. Aplica el valor de var al DAC. En lazo abierto DIRECTO EDITOR DIRECTO EDITOR Comando normal de apertura de la pinza Precaucin. 0 var 500

CLOSE
CLOSE CLOSE <var> Cierra pinza hasta el fin de su movimiento, en lazo abierto Cierra pinza con fuerza adicional. Aplica el valor de var al DAC. En lazo abierto DIRECTO EDITOR DIRECTO EDITOR Comando normal de cierre de la pinza Precaucin. 0 var 500

JAW (slo aplicable para servo-pinzas)


JAW <var> Control de la pinza en lazo cerrado. Ajusta la apertura de pinza al valor porcentual de <var> . Velocidad. mxima. Igual a JAW <var> pero el movimiento se ejecuta en el tiempo especificado. DIRECTO EDITOR DIRECTO EDITOR Precaucin. 0 var 500 Precaucin. 0 var 500

JAW <var> <tiempo>

SPEED
SPEED <var> SPEED { A/B } <var> SPEEDC <var> <eje> Ajusta el valor de la velocidad para todos los ejes al valor seleccionado. Ajusta velocidad al grupo A o B Ajusta velocidad del eje en el grupo C DIRECTO EDITOR DIRECTO EDITOR DIRECTO EDITOR 1 var 100 Por defecto 50

SPEEDL
SPEEDL <var> Ajusta el valor de la velocidad para el robot (grupo A). Determina la velocidad para los movimientos MOVEL, MOVEC y SPLINE. DIRECTO EDITOR Var = mm / segundo

SHOW SPEED
SHOW SPEED Muestra los valores actuales de las velocidades DIRECTO

1-6

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

EXACT
EXACT A/B/C Asegura la precisin de posicionamiento, activando la modalidad de exactitud de posicionamiento en el grupo A, B o C. Slo afecta a comandos con D: MOVED, MOVELD, MOVECD, etc.. Desactiva la modalidad de exactitud de posicionamiento del eje correspondiente DIRECTO EDITOR EXACT es por defecto

EXACT OFFA/B/C

DIRECTO EDITOR

PROFILE
PROFILE SINUS A/B/C Ajusta el perfil de movimiento del grupo seleccionado a senoidal: rpida aceleracin y deceleracin al inicio y final del movimiento, velocidad constante durante el resto del movimiento. Ajusta el perfil de movimiento del grupo seleccionado a parablico: lenta aceleracin y deceleracin. DIRECTO EDITOR SINUS por defecto

MPROFILE PARABOLE A/B/C

DIRECTO EDITOR

INT
INT_ON <eje1>.....<eje4> INT_OFF <eje1>.....<eje4> Activa el servocontrol integral de los ejes especificados Desactiva el servocontrol de los ejes especificados. DIRECTO EDITOR DIRECTO EDITOR Por defecto

HOME
HOME {<n>} HHOME <n> Busca la posicin de referencia de todos los ejes, o del eje especificado DIRECTO EDITOR Para hacer referencia desde la botonera de enseanza teclear: RUN 0 Se utiliza en accesorios sin microinterruptor de HOME: p.e. :base lineal deslizante

Busca la posicin de referencia DIRECTO hardware del eje especificado. Busca EDITOR el tope rgido.

CLR
CLR <eje> CLR * Borra el contenido del codificador DIRECTO del eje especificado. Borra el contenido del codificador de DIRECTO todos los ejes. 1 eje 12

Gua de Referencia

ACL para Controlador B Versin F2.28

1-7

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

COFF
COFF COFF [A/B] COFF <eje> Desactiva el servocontrol en todos los ejes. Desactiva el servocontrol del grupo especificado. Desactiva el servocontrol del eje especificado. DIRECTO DIRECTO DIRECTO

CON
CON CON [A /B] CON <eje> Activa el servocontrol en todos los ejes. Activa el servocontrol del grupo especificado. Activa el servocontrol del eje especificado. DIRECTO DIRECTO DIRECTO

TON
TON {<n>} Activa la proteccin trmica del motor, en todos los ejes o en el eje especificado. DIRECTO Por defecto.

TOFF
TOFF {<n>} Desactiva la proteccin trmica del motor, en todos los ejes o del eje especificado. DIRECTO

SET ANOUT
SET ANOUT [n] = <DAC> Ajusta el valor del DAC, del eje especificado, al valor seleccionado. Se usa para mover ejes en lazo abierto. DIRECTO -5000 =< DAC =< 5000 Usarlo con cuidado, puede daar el motor.

SHOW DAC
SHOW DAC eje Muestra en pantalla el valor del DAC en miliVoltios DIRECTO 1 eje 12

1-8

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

ZSET
ZSET Inicializa (pone a cero) el valor del INEDEX PULSE de todos los ejes DIRECTO

MODULO ROLL
MODULO ROLL Vuelve el valor del eje Roll a un valor dentro de 360, sin mover el eje DIRECTO

< CTRL> + M
< Ctrl> + M Activa y desactiva el Modo Manual DIRECTO para el control del movimiento desde el teclado.

AUTO
AUTO Transfiere el control al teclado del ordenador despus de haber cambiado de Teach a Auto en la Botonera de Enseanza DIRECTO

Gua de Referencia

ACL para Controlador B Versin F2.28

1-9

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Control de Programa y Tiempo Real


RUN A (ABORT) STOP SUSPEND CONTINUE PRIORITY SET var TIME POST PEND QPOST QPEND

DELAY WAIT TRIGGER BY IN/OUT

RUN
RUN <prog> RUN <prog> <prioridad> Ejecuta el programa especificado. Ejecuta el programa especificado con la prioridad solicitada. DIRECTO EDITOR DIRECTO EDITOR

A (ABORT)
A <Ctrl + A> A <prog> Aborta todos los programas que se estn ejecutando y detiene el movimiento de ejes. Aborta la ejecucin del programa especificado. DIRECTO DIRECTO

STOP
STOP STOP <prog> Aborta todos los programas en ejecucin. Aborta la ejecucin del programa especificado. EDITOR EDITOR

SUSPEND
SUSPEND <prog> Detiene la ejecucin del programa especificado. DIRECTO EDITOR Ver CONTINUE

CONTINUE
CONTINUE <prog> Continua la ejecucin del programa especificado, previamente detenido por el comando SUSPEND. DIRECTO EDITOR Ver SUSPEND

PRIORITY
PRIORITY <prog> <var> Ajusta la prioridad de ejecucin del programa especificado al valor de var EDITOR 1 <var> 10 Por defecto 5

1-10

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

SET
SET <var> = TIME Fija el valor de la variable <var> al valor que tiene en ese momento la variable del sistema TIME. DIRECTO EDITOR

DELAY
DELAY <var> Suspende la ejecucin del programa durante el tiempo especificado. EDITOR El valor de <var> sern centsimas de segundo.

WAIT
WAIT <var1> <cond> <var2> Suspende la ejecucin de un programa hasta que se cumpla la condicin especificada. EDITOR La condicin puede ser: <, >, =, , , <>

TRIGGER
TRIGGER <prog> BY IN/OUT <n> [1/0] Ejecuta un programa condicionado al estado de una entrada/salida EDITOR 1=< n=< 16 <estado> =0 --->OFF =1 ---->ON

PEND
PEND <var1> FROM <var2> Suspende la ejecucin de un programa hasta que otro programa pone un valor distinto de 0 en <var2>. EDITOR Funciona conjuntamente con POST, para sincronizar programas.

POST
POST <var> TO <var2> Asigna el valor de var a la variable especificada. EDITOR Funciona conjuntamente con PEND, para sincronizar programas.

QPEND
QPEND <var1> FROM <vect> Igual a PEND, pero el valor se toma desde un cola (vector) EDITOR Ver QPOST

QPOST
QPOST <var> TO <vect> Igual a POST, pero el valor se toma desde un cola (vector) EDITOR Ver QPEND

Gua de Referencia

ACL para Controlador B Versin F2.28

1-11

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Manipulacin y Definicin de Posicin


DEFP DIMP DELP UNDEF DELETE INSERT HERE HERER HEREC TEACH TEACHR SETPV SETPVC SHIFT SHIFTC SETP TOOL ATTACH SET var=PVAL SET var=PVALC SET var=PSTATUS

DEFP
DEFP {A/B} <pos> DEFPC <pos> <eje> Crea (define) una posicin en el grupo A o B, o en un eje del grupo C. DIRECTO EDITOR <pos> es un nombre de hasta 5 caracteres. 1 eje 12

DIMP
DIMP {A/B} <vect [n]> DIMPC vect[n] <eje> Crea (define) un vector de n posiciones en el grupo especificado. DIRECTO EDITOR <vect> es un nombre de hasta 5 caracteres. 1 eje 12

HERE
HERE <pos> Graba en coordenadas de ejes una posicin absoluta del robot. DIRECTO EDITOR En unidades de codificador. <pos> ha de definirse primero con DEFP o DIMP.

HEREC
HEREC <pos> Graba en coordenadas Cartesianas la posicin absoluta del robot. DIRECTO EDITOR En unidades de codificador. <pos> ha de definirse primero con DEFP o DIMP.

HERER
HERER <pos> HERER <pos2> <pos1> Graba en coordenadas de ejes una DIRECTO posicin del robot relativa a la posicin actual. Graba en coordenadas de ejes la DIRECTO posicin <pos2> relativa a la <pos1> EDITOR

1-12

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

TEACH
TEACH <pos> Graba en coordenadas cartesianas una posicin absoluta del robot DIRECTO Valores X Y Z en dcimas de mm; valores de mueca en dcimas de grado.

TEACHR
TEACHR <pos> TEACHR <pos2> <pos1> Graba en coordenadas. cartesianas una posicin relativa a la actual del robot. Graba en coord. cartesianas una posicin <pos2> relativa a <pos1>. DIRECTO DIRECTO

SETPV
SETPV <pos> SETPV <pos> <eje> <var> Graba en coord. de ejes una posicin DIRECTO del robot. Graba en coord. de ejes el valor de DIRECTO un eje en una posicin previamente EDITOR grabada. 1=< <eje> =< 11

SETPVC
SETPVC <pos> <coord> <var> Graba en coord. cartesianas el valor de un eje en una posicin previamente grabada. DIRECTO EDITOR

SHIFT
SHIFT <pos> BY <eje> <var> Cambia el valor de una posicin asignando un nuevo valor, en coord. de ejes, al eje especificado. Cambia el valor de una posicin SHIFTC <pos> BY asignando un nuevo valor , en coord. <coord><var> cartesianas, al eje especificado. DIRECTO EDITOR DIRECTO EDITOR 1 <eje> 11 Coord ={X/Y/Z/P/R}

SETP
SETP <pos2> = <pos1> Copia el valor de la posicin <pos1> DIRECTO a la posicin <pos2>

TOOL
TOOL longitud offset ngulo Define la posicin del punto central de la herramienta (TCP) r DIRECTO EDITOR .

ATTACH
Gua de Referencia ACL para Controlador B Versin F2.28 1-13

COMANDO

FORMATO

DESCRIPCION
Asigna un vector de posiciones a la botonera de enseanza, de acuerdo con el grupo al que fu definido. Desactiva el vector de posiciones de la botonera de enseanza Muestra el estado actual

MODO
DIRECTO DIRECTO DIRECTO

NOTAS

ATTACH <pvect> ATTACH OFFA/B/C ATTACH ?

UNDEF
UNDEF <pos> UNDEF <pvect> Inicializa los valores de la posicin especificada. DIRECTO Se borran los valores de la posicin, pero esta sigue definida.

DELP
DELP <pos> DELP <pvect> Borra posiciones y vectores de posiciones de la RAM de usuario. DIRECTO EDITOR

SET
SET <var> = PVAL <pos> <eje> SET <var> = PVALC <pos> <coord> SET <var> = PSTATUS <pos> Asigna el valor, en coord. ejes, del eje especificado de la pos. <pos> a la variable <var> Igual al anterior pero en coordenadas cartesianas. Asigna un valor a <var> de acuerdo con el estado de la posicin especificada. DIRECTO EDITOR DIRECTO EDITOR DIRECTO EDITOR 1 eje 12 Debe ser una posicin del robot Coord = {X/Y/Z/P/R}.

1-14

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Manipulacin y Definicin de Variables


DEFINE GLOBAL DIM DIMG DELVAR PURGE SET var

DEFINE
DEFINE <var1>.......<var12> Crea (define) variables locales. Hasta EDITOR 12 variables en un comando. Variable local: slo reconocida por el programa donde se defini.

GLOBAL
GLOBAL <var1>......<var12> Crea (define) variables globales. Hasta 12 variables en un comando. DIRECTO EDITOR Variables globales: reconocidas por todos los programas.

DIM
DIM <var[n]> Crea (define) un vector de n variable locales. EDITOR <var> mximo de 5 caracteres.

DIMG
DIMG <var[n]> Crea (define) un vector de n variables globales. DIRECTO EDITOR

DELVAR
DELVAR <var> Borra la variable especificada de la RAM de usuario. DIRECTO EDITOR

PURGE
PURGE Borra las variables no utilizadas DIRECTO

SET
SET <var1> = <var2> SET <var1> NOT <var2> SET <var1> = COMPLEMENT <var2> SET <var1> = ABS <var2> SET <var1> = ABS <var2> <oper> <var3> Asigna el valor de var2 a var1 Asigna el valor negativo lgico de var2 a var1 Asigna el valor complementario de var2 a var1 Asigna el valor absoluto de var2 a var1 Asigna a var1 el resultado de la operacin entre var2 y var3 DIRECTO EDITOR

<oper> puede ser: +, -, <, *, /, sen, cos, tan, atan, exp, log, mod, or, and.

Gua de Referencia

ACL para Controlador B Versin F2.28

1-15

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Flujo de Programa


IF ANDIF ORIF ELSE ENDIF FOR ENDFOR LABEL GOTO GOSUB

IF
IF <var1> <cond> <var2> Comprueba la relacin condicional de dos variables EDITOR <cond> puede ser: <, >, =, <=, >=, <>

ANDIF
ANDIF <var1> <cond> <var2> Combina lgicamente una condicin con otro comando IF. EDITOR

ORIF
ORIF <var1> <cond> <var2> Combina lgicamente una condicin con otro comando IF. EDITOR

ELSE
ELSE Sigue a IF y precede a ENDIF. Ejecuta los comandos si IF es falso. EDITOR

ENDIF
ENDIF Indica el fin del condicionador IF EDITOR

FOR
FOR <var1> = <var2> TO <val3> Comando de bucle. Ejecuta el contenido entre FOR y ENDFOR para todos los valores de la variable. EDITOR

ENDFOR
ENDFOR Fin del bucle FOR EDITOR

LABEL
LABEL <n> Etiqueta para el uso de saltos incondicionales por medio de GOTO EDITOR Ver GOTO 0 =< n =< 9999

GOTO
1-16 ACL para ControladorB Versin F2.28 Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

GOTO <n>

Ejecuta un salto incondicional hasta el LABEL <n>

EDITOR

GOSUB
GOSUB <prog> Ejecuta el programa <programa> como una subrutina: programa principal suspendido hasta termino de subrutina. EDITOR

Gua de Referencia

ACL para Controlador B Versin F2.28

1-17

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Control I/O


DISABLE ENABLE FORCE SHOW DIN SHOW DOUT SET OUT[n] IF IN[n] TRIGGER

DISABLE
DISABLE IN/OUT <n> DISABLE ? Desconecta las entradas o salidas fsicas del sistema normal de control Muestra la lista de las entradas y salidas desactivadas DIRECTO DIRECTO 1 n 16

ENABLE
ENABLE IN/OUT <n> Activa la I/O especificada al control normal DIRECTO 1 n 16 Por defecto

FORCE
FORCE IN/OUT <n> [0/1] FORCE ? En modo DISABLE, fuerza la I/O especificada al estado 0 1 Muestra la lista de las entrdas y salidas que se encuentran en estado forzadas DIRECTO DIRECTO 1 n 16 0=OFF; 1=ON 0=OFF; 1=ON

SHOW
SHOW DIN SHOW DOUT Muestra en pantalla el estado de todas las entradas Muestra en pantalla el estado de todas las salidas DIRECTO DIRECTO 0=OFF; 1=ON 0=OFF; 1=ON

SET
SET OUT[n] = [1/0] Fija el estado de la salida especificada a 0 a 1 DIRECTO EDIT 1 n 16 0=OFF; 1=ON

IF
IF OUT[n] =[1/0] Comprueba el estado de una entrada. Ver comando IF EDITOR 1 n 16 0=OFF; 1=ON

TRIGGER
TRIGGER prog BY [IN/OUT] n [0/1] Ejecuta el programa especificado, condicionado al cambio de estado de la entrada o salida especificada. EDITOR 1 n 16 0=OFF; 1=ON

1-18

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Manipulacin de Parmetros


LET PAR SHOW PAR

LET
LET PAR <n> = <var> Cambia el valor del parmetro especificado del sistema. DIRECTO Uso con cuidado !

Comandos de Configuracin
CONFIG INIT CONTROL INIT EDITOR PASSWORD PRIV[ILEGE]

CONFIG
CONFIG Se entra en el men de configuracin DIRECTO del sistema Borra todo el contenido de la RAM de usuario.

INIT
INIT CONTROL INIT EDITOR INIT PROFILE Inicializa todos los parmetros del sistema Inicializa todos los programas, posiciones y variables de la RAM de usuario. Inicializa el perfil de movimiento segn el valor del parmetro 76 DIRECTO DIRECTO DIRECTO Se debe ejecutar al cambiar los parmetros. Borrar el contenido de la RAM de usuario Ver apndice B: parmetro 76

Gua de Referencia

ACL para Controlador B Versin F2.28

1-19

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos Informativos
ATTACH ? CONFIG ? DISABLE ? DIR LIST STAT SHOW VER FREE SEND

ATTACH ?
ATTACH ? Presenta el estado actual de ATTACH. DIRECTO Ver comando ATTACH.

CONFIG ?
CONFIG ? Presenta la configuracin del sistema.. DIRECTO

DISABLE ?
DISABLE ? Presenta la lista de las I/O desactivadas por el comando DISABLE DIRECTO

LIST
LIST {<prog>} LISTP LISTPV <pos> LISTPV POSITION LISTVAR Presenta el listado de todos los programas o de uno especificado Lista todas las posiciones definidas Lista las coordenadas de la posicin especificada Lista las coordenadas de la posicin actual del robot. Lista todas las variables definidas. DIRECTO DIRECTO DIRECTO DIRECTO DIRECTO

STAT
STAT Lista los programas de usuario activos: nombre, prioridad y estado DIRECTO

SHOW
SHOW DIN SHOW DOUT SHOW ENCO SHOW DAC <eje> Presenta el estado de todas las entradas. Presenta el estado de todas las salidas. Presenta el estado de todos los encoder. Presenta el valor del DAC especificado en milivoltios DIRECTO DIRECTO ON = 1 ; OFF = 0

1-20

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION
Presenta el valor del parmetro especificado Presenta el valor de la velocidad actual.

MODO

NOTAS

SHOW PAR <n> SHOW SPEED

DIRECTO

VER
VER Presenta la versin de la EPROM DIRECTO

FREE
FREE Presenta la cantidad de memoria RAM disponible.. DIRECTO

Gua de Referencia

ACL para Controlador B Versin F2.28

1-21

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos Interfase de Usuario y Pantalla


QUIET NOQUIET ECHO NOECHO HELP PRINT PRINTLN READ GET

QUIET
QUIET No se presentan en pantalla los comandos directos ejecutados en un programa. DIRECTO

NOQUIET
NOQUIET Se presentan en pantalla los comando directos ejecutados en un programa DIRECTO

ECHO
ECHO Presenta en pantalla todos los caracteres transmitidos al controlador. DIRECTO

NOECHO
NOECHO No presenta el estado de todas las salidas. DIRECTO

HELP
HELP Presenta ayuda en pantalla. EDITOR

DO HELP
DO HELP Presenta ayuda. DIRECTO

PRINT
PRINT "string" PRINT <arg1>......<arg4> PRINTLN Presenta en pantalla la cadena de caracteres (string). Presenta los valores de los argumentos <arg1>......<arg4> Igual a PRINT pero inserta un retorno de pgina. EDITOR EDITOR EDITOR

1-22

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

READ
READ "string" <var> Presenta en la pantalla el string y espera la introduccin del valor de <var> por el teclado. DIRECTO

GET
GET <var> Espera que se pulse un carcter por el teclado y lo guarda en la variable <var>. EDITOR

Gua de Referencia

ACL para Controlador B Versin F2.28

1-23

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de comunicaciones RS232


SENCOM GETCOM PRCOM PRLNCOM READCOM CLRCOM

SENCOM
SENCOM <n> <var> Transmite un byte cuyos valores especifica la variable por el puerto seleccionado EDITOR n = puerto RS232 1n8

GETCOM
GETCOM <n> <var> Recibe un byte por el puerto especificado y almacena el valor en la variable EDITOR 1n8

PRCOM
PRCOM <n> <arg1> {<arg2> Transmite texto (cadena y/o variables) por el puerto especificado <arg3>} EDITOR 1n8

PRNLCOM
PRNLCOM <n> <arg1> {<arg2> <arg3>} Igual a PRCOM pero aade retorno de carro EDITOR 1n8

READCOM
READCOM <n> <var1> {<var2> <var3>} Recibe caracteres numricos ASCII, seguidos de retorno de carro, desde el puerto especificado y asigna el valor a <var> EDITOR 1n8

CLRCOM
CLRCOM <n> Borra el buffer del puerto especificado EDITOR 1n8

1-24

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Funciones de Edicin
S P L DEL <enter> * @ END <exit>

S
S S <n> Va a la primera lnea del programa Lleva el PROMT a la lnea n del programa EDITOR EDITOR

P
P Va a la lnea anterior del programa EDITOR

L
L <n1> <n2> Lista desde la pos n1 a la n2 EDITOR

DEL
DEL Borra la linea actual del programa EDITOR

<Enter>
<Enter> Va a la siguiente lnea del programa EDITOR

*
* "string" Lneas de comentario de usuario EDITOR

@
@ <comando DIRECTO> Permite la ejecucin de un comando directo desde el modo editor EDITOR

END
END Fin de programa. El sistema lo graba automticamente EDITOR

Gua de Referencia

ACL para Controlador B Versin F2.28

1-25

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

EXIT
EXIT Para salir de edicin. Comprueba la validez del programa EDITOR

Comandos de Manipulacin de Programas


COPY RENAME REMOVE EDIT

COPY
COPY <prog1> <prog2> Copia el programa1 a un nuevo programa2 DIRECTO

RENAME
RENAME <prog1> <prog2> Cambia el nombre del programa DIRECTO

REMOVE
REMOVE <prog> Borra el programa de la memoria DIRECTO

EDIT
EDIT Activa la modalidad de edicin DIRECTO

1-26

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

Comandos de Reserva y Restauracin Externa


SEND RECEIVE APPEND

SEND
SEND Se envan listas del contenido de la memoria al ordenador DIRECTO Ver captulo 3

RECEIVE
RECEIVE RECEIVE <prog> Carga programas, posiciones y DIRECTO variables desde el disco a la memoria Carga el programa prog desde el DIRECTO disco.

APPEND
APPEND Aade programas desde el disco a la memoria DIRECTO

Comandos de la Botonera de enseanza (teach pendant).


ATTACH ATTACH OFF

ATTACH
ATTACH <pvect> ATTACH OFFA/B/C Coloca un vector de posiciones en la botonera de enseanza Desactiva el vector de posiciones de la botonera DIRECTO DIRECTO

Gua de Referencia

ACL para Controlador B Versin F2.28

1-27

COMANDO

FORMATO

DESCRIPCION

MODO

NOTAS

1-28

ACL para ControladorB Versin F2.28

Gua de Referencia 0404

CAPITULO

Comandos: Tipos y Formatos


En este captulo se describen los distintos modos de operacin y programacin del ACL, as como los tipos y formatos de los comandos y datos usados en el leguaje de programacin ACL.

Tipos de Comandos
Una vez el ATS ha sido cargado, usted puede comunicarse con el controlador desde el teclado de su PC. Podr ahora crear o editar sus programas o controlar directamente el robot y ejes perifricos, dependiendo del modo activo de operacin. ACL tiene dos tipos de comandos: Comandos DIRECTOS, que son ejecutados tan pronto como son introducidos por el teclado (y pulsado <Enter>). Comandos de EDITOR, que son ejecutados durante la ejecucin de los programas y rutinas donde se utilizan. Algunos de estos comandos se pueden ejecutar en ambos modos de operacin.

Modo DIRECTO
Cuando el modo directo esta activado, todos los comandos directos introducidos desde el teclado son ejecutados al momento. Cuando este modo esta activo en la pantalla aparece cursor: >_ Los comandos de modo DIRECTO pueden ser incluidos en los programas para su ejecucin en modo EDITOR, anteponiendo el carcter @. Este carcter le indica al controlador que se trata de un comando DIRECTO que tiene que ser ejecutado en la ejecucin del programa. Usar el comando DELAY para asegurarse de la total ejecucin del comando. Los comandos de modo EDITOR pueden ser ejecutados en modo DIRECTO anteponiendo al comando la orden DO.

Control Manual por Teclado


En modo DIRECTO se puede asumir el control total del robot y ejes perifricos desde el teclado activando el modo Manual. Este modo es til cuando no se dispone de teclado de enseanza. Para activar el modo Manual teclee lo siguiente: <Alt> + M
Gua de Referencia 0404 ACL para Controlador B Versin F2.28 2-1

Los comandos que se pueden usar en modo Manual son comparables a los que maneja la botonera de enseanza. Referirse al comando <Alt>+M en el captulo 3.

Control con Botonera de Enseanza


La botonera de enseanza es un terminal de mano que permite al operador el control directo del robot y de los ejes perifricos. Adems de controlar el movimiento de los ejes se utiliza tambin para el almacenamiento de posiciones, envo de los ejes a determinadas posiciones, activacin de programas y otras funciones. La botonera de enseanza posibilita el control de los ejes incluso cuando el controlador esta en modo EDITOR. El funcionamiento de la botonera de enseanza esta descrito completamente en el manual de Usuario del robot.

2-2

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

Modo EDITOR
El modo EDITOR se utiliza para crear y editar programas ACL. Cuando el modo EDITOR esta activo, en la pantalla se muestra la lnea de programa actual y el cursor, indicando que el comando puede ser insertado. Por ejemplo: 143:?_ El modo EDITOR se activa tecleando el comando EDIT y el nombre del programa a editar. Por ejemplo: >edit prog1 El sistema responder: PROG1 NEW PROGRAM DO YOU WANT TO CREATE THAT NEW PROGRAM (Y/N)> Teclee: Y <Enter> El sistema responder: PROGRAM PROG1 36:?_ Si usted no especifica un nombre de programa el sistema le indicar que introduzca uno. Si usted indica un nombre de programa ya existente el sistema lo editar indicndole: WELCOME TO ACL EDITOR, TYPE HELP WHEN IN TROUBLE PROGRAM PROG1 36:?_ El cursor se posicionar en la primera lnea del programa. Si usted teclea <Enter> se posicionar en la lnea siguiente y as sucesivamente. Los nombres utilizados para los programas deben ser combinaciones de hasta cinco caracteres alfanumricos. Por ejemplo: MILL3, 234, COGE, etc..

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2-3

Funciones de Edicin
ACL proporciona los siguientes comandos para la edicin de programas: S P L n1 n2 DEL <Enter> EXIT Va a la primera lnea de programa Va a la lnea precedente Muestra las lneas de programa seleccionadas Borra la lnea de programa actual Va a la prxima lnea de programa Abandona el modo de EDITOR y comprueba la validez del programa

Referirse al captulo 3 para mayor detalle. ATS utiliza las siguientes teclas para el modo de EDITOR <Ins> <Del> <Esc> <Ctrl>+ (Backspace) Borra caracteres Restaura caracteres Inserta caracteres Borra caracteres Borra el comando tecleado Restaura el comando borrado Repetir el ltimo comando entrado

2-4

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

Sistemas de Coordenadas
ACL permite operar y programar en dos modos diferentes de sistemas de coordenadas: Ejes (joints) y Cartesianas (XYZ).

Coordenadas Cartesianas (XYZ)


Las coordenadas cartesianas o XYZ son un sistema geomtrico usado para especificar la posicin de la punta de la herramienta (pinza) definiendo las distancias XYZ , en milmetros, desde el origen del sistema de coordenadas (el centro de la base del robot) Para la completa definicin de la posicin tambin son necesarios los datos de Inclinacin (Pitch) y Giro (Roll) de la pinza en grados. El comando TOOL ( o los parmetros 308, 309 y 310) definen la posicin exacta del TCP. Cuando los movimientos del robot se ejecutan estando modo XYZ los ejes se movern de modo que el TCP se mueva en lnea recta.

TCP _ Coordenadas Cartesianas

Espacio XYZ
Existen ciertas restricciones cuando se graban posiciones en Cartesianas y cuando en programacin se ejecutan movimientos XYZ (MOVEL, MOVEC y SPLINE Lineal). La validez de estas posiciones esta determinada por tres reas del espacio XYZ. Referirse a las figuras siguientes. Espacio A ER-IX, PERFORMER MK2: posiciones en las que el eje 3 forma un ngulo negativo respecto al eje 2. ER 14: posiciones en las cuales el eje 2 forma un ngulo negativo respecto al eje 1.

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2-5

Espacio B ER IX, PERFORMER MK2: posiciones en las que el eje 3 forma un ngulo positivo respecto al eje 2. ER 14: posiciones en las cuales el eje 2 forma un ngulo positivo respecto al eje 1

Todas las posiciones dentro del Espacio A y B se pueden grabar en coordenadas Cartesianas y ser alcanzadas por el TCP del robot. Los comandos de movimiento en XYZ (MOVEL, MOVEC, SPLINE Lineal) son permitidos dentro del Espacio A y B. Sin embargo todas las posiciones referenciadas en el comando deben pertenecer a un Espacio o al otro. Si el comando implica el movimiento desde un Espacio al otro, aparecer un mensaje de alarma y el comando ser abortado.

Espacio no valido en XYZ


Para el robot ER IX y el PERFORMER MK2, posiciones detrs de la lnea del eje 1 no pueden ser grabadas en coordenadas Cartesianas y no puede acceder el TCP del robot por medio de movimientos en XYZ (MOVEL, MOVEC y SPLINE Lineal). Esta posiciones, sin embargo, pueden ser grabadas y alcanzadas en modo Ejes. El espacio no vlido en XYZ se denomina Espacio C.

2-6

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2-7

Coordenadas Ejes (Joints)


Las coordenadas de ejes especifican la posicin de la punta de la herramienta en pasos de encoder. Cuando los ejes se mueven los encoders pticos generan una serie de impulsos elctricos cuya cantidad es proporcional a la cantidad de movimiento realizado. El controlador cuenta los impulsos y los procesa, conociendo en cada momento la posicin de todos los ejes del robot. Un movimiento del robot o una posicin se puede definir como un especfico nmero de pasos de encoder para cada eje, relativos a la posicin de Home o a otra posicin. Cuando se mueve el robot en coordenadas EJES cada eje se mueve individualmente de los dems. La posicin de cualquier perifrico conectado al controlador siempre se refiere a este sistema de coordenadas.

2-8

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

Tipos de Datos
El lenguaje ACL utiliza cuatro tipos den datos:

Variables Cadenas de caracteres (string) Posiciones Parmetros Variables


Las variables son localizaciones de memoria que almacenan valores enteros, entre -2147483647 a +2147483647 (datos de 32 bits). ACL usa dos tipos de variables: variables de usuario y variables del sistema. Variables de Usuario Las variables definibles por el usuario pueden ser globales o locales.

Variables Globales
Se pueden usar en todos los programas. Con el comando GLOBAL se define una variable global. Con el comando DIMG se define un vector de variables globales. Variables Locales Slo se pueden utilizar dentro del programa en el cual han sido definidas. Con el comando DEFINE se define una variable local. Con el comando DIM se define un vector de variables locales. En una sola orden se pueden definir hasta doce variables. Los nombres usados para definir las variables pueden ser una combinacin de hasta cinco caracteres alfanumricos. El primer carcter debe de ser una letra. Los nombres de los vectores de variables tambin incluye un numero entre corchetes, que define el nmero de variables de que consta el vector. Aqu tenemos unos ejemplos de comandos con variables: DEFINE X GLOBAL VAR99 DIM A[20] unidades. SET Z= 10 Define una variable local llamada X. Define una variable global llamada VAR99. Define un vector de variables locales, de 20 Asigna a la variable Z el valor 10.

SET OUT[3]= Y El estado de la salida 3 es determinado por el valor de la variable Y.

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2-9

SET Y = IN[1] El valor de la variable Y esta determinado por el estado de la entrada 1. SET X= CPOS [n] ENC[n] (n nmero de eje) El valor del error de posicin del eje determinado. WAIT IN[J]= 1 Condicin para la entrada de valor J. Las variables de usuario tienen un atributo de lectura/escritura. Se pueden ejecutar operaciones sobre las variables y cambiar sus valores con todos los comandos disponibles de ACL. Variables del Sistema. Las variables definidas por el sistema contienen valores que indican el estado de las entradas, salidas, encoders y otros elementos de control del sistema. Estas variables del sistema le permitir realizar todas las aplicaciones que necesiten informacin en tiempo real del estado del sistema. El ACL para el Controlador B tiene 14 variables del sistema: IN[16] ENC[12] HS[12] ZP[12] CPOS[12] Los nmeros indican la dimensin de las variables. Los valores de las variables IN, ENC, TIME, LTA, LTB son actualizadas en cada impulso de reloj; MFLAG es actualizada continuamente durante el movimiento de un eje. Para el usuario, son variables de slo lectura. ERROR, ERRPR, ERRLI, OUT son variables de lectura-escritura ANOUT es variable de escritura slo en modo PRIVILEGE. Referirse al captulo 4 para mayor detalle. Listados de variables El comando LISTVAR mostrar un listado de todas las variables, tanto de usuario como del sistema. Las variables locales tienen entre parntesis el nombre del archivo en el que estn definidas. El comando SENDVAR produce un listado codificado para la descarga de variables. El formato es el siguiente: Prefijo: tipo de variable ($1 para local; %v para global). Nmero secuencial. Nombre de la variable. Nombre del programa (si es variable local)
2 - 10 ACL para Controlador B Versin F2.28 Gua de Referencia 0404

TIME LTA LTB MFLAG

ERROR ERRPR ERRLI OUT[16] ANOUT[12]

Valor

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2 - 11

Comentarios (cadenas de caracteres)


Una cadena (string) es un argumento de hasta 10 caracteres, que se utilizan en los siguientes comandos de ACL: PRINT ......... PRINTLN ............... PRCOM ............... PRLNCOM .................. @ Comando * Comentario Estas lneas de comandos, pueden consistir de un mximo de 40 caracteres y espacios (es decir, 4 cadenas). Si una cadena es mayor de 10 caracteres, es automticamente dividida en subcadenas, cada una de las cuales esta limitada a 10 caracteres. Por ejemplo: PRINT HOLA, COMO SE ENCUERNTRA ESTA MAANA? Este texto tiene 4 cadenas (argumentos): HOLA, COMO SE ENCUENT RA ESTA MA ANA? El mximo nmero de cadenas almacenables en memoria es un valor definible en la configuracin del controlador.

Posiciones
Las posiciones estn almacenadas en un rea de memoria reservada para estos datos. Los datos de posiciones incluyen un valor entero para cada eje en el rango -2147483647 y +2147483647 para definir las coordenadas y una palabra en el rango -32668 y +32767 para indicar el tipo y nombre de la posicin. Tipo de posiciones El ACL tiene seis tipos de posiciones listadas a continuacin. Los comandos usados para grabar cada tipo de posicin aparecen entre parntesis. Absoluta Ejes (HERE, SETPV, SHIFT): los datos de la posicin son las coordenadas en valores de pasos de encoder. Absoluta XYZ (HEREC, TEACH, SETPVC, SHIFTC): los valores de la posicin estn dados en valores de coordenadas Cartesianas. Relativa a otra Posicin por Ejes (HERER): los datos de la posicin son la diferencia entre los valores de los encoders de una posicin y los valores de encoders de la otra posicin. ACL permite anidar hasta 32 posiciones relativas.

2 - 12

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

Relativa a otra Posicin por XYZ (TEACHR): los datos de la posicin son la diferencia entre los valores de coordenadas de ambas posiciones. ACL permite anidar hasta 32 posiciones relativas. Relativa a la Posicin actual por Ejes (HERER): los datos de la posicin son calculados aadiendo los valores de los encoders de la posicin a los valores de encoders de la posicin actual. Relativa a la Posicin actual por XYZ (TEACHR): los datos de la posicin son calculados aadiendo los valores de las coordenadas Cartesianas de la posicin a los valores de la posicin actual. Definicin de posiciones Los comandos DEFP, DEFPB y DEFPC se utilizan para definir posiciones y los comandos DIMPA, DIMPB y DIMPC se usan para definir vectores de posicin. Definir una posicin es reservar un espacio en la memoria del controlador y dar un nombre de localizacin. Son posibles dos tipos de nombres: Nombres numricos de hasta cinco dgitos (como 3, 22, 101). A estas posiciones se puede acceder directamente desde la botonera de enseanza. Posiciones con este tipo de nombre no necesitan ser definidas. Nombres alfanumricos (como P, POS10, A2). El nombre debe ser una combinacin de hasta cinco caracteres y debe comenzar con una letra. A estas posiciones que no son vectores de posicin no se puede acceder desde la botonera de enseanza. Los vectores de posicin deben tener nombres alfanumricos y deben comenzar con una letra. Su definicin tambin incluye un ndice (nmero entre corchetes), que define el nmero de posiciones del vector. Desde la botonera de enseanza se puede acceder a las posiciones del vector cuando este esta ligado a la botonera por medio del comando ATTACH. Se llama a cada posicin por medio de su nmero ndice. La memoria de posiciones esta separada para cada grupo de ejes A para los ejes del brazo magntico, B para los accesorios y C para ejes individuales. El mximo nmero de posiciones para cada grupo es definible en la configuracin del controlador. Por defecto las posiciones se definen para el grupo A. Ejemplos de definicin de posiciones: DEFP PA DIM PP AA[10] para DEFPB POSB DEFPC PC 8 Define una posicin llamada PA para el grupo A Define un vector 10 de posiciones llamado AA el grupo A Define una posicin POSB para el grupo B. Define una posicin PC para grupo C eje 8.

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2 - 13

DIMPC AC[30] 8 Grabacin de Posiciones

Define un vector de 30 posiciones AC para el grupo C eje 8.

Para grabar los valores de las posiciones se utilizan los comandos HERE, HEREC, HERER, TEACH, TEACHR, SETPV, SETPVC, SHIFT y SHIFTC. Grabar una posicin es escribir sus valores en la posicin reservada de la memoria. El siguiente recuadro es un sumario de los comandos para grabar posiciones. Posiciones Grabadas
Absoluta; valores actuales Absoluta; valores definibles Relativa a la posicin actual Relativa a otra posicin Absoluta; el usuario cambia los valores de una posicin Absoluta; el usuario cambia los valores de una posicin por el valor de offset
HERER pos SETPV pos

para Todos los Grupos de Ejes en Coordenadas Ejes


HERE pos

slo para el Robot (grupo A) en Coordenadas Cartesianas


no comando

DIRECTO EDIT DIRECTO DIRECTO EDIT DIRECTO EDIT DIRECTO EDIT

TEACH pos

DIRECTO DIRECTO DIRECTO DIRECTO EDIT

TEACHR pos

HERER pos2 pos1

TEACHR pos2 pos1

SETPV pos axis var

SETPVC pos coord var

SHIFT pos BY axis var

DIRECTO EDIT

SHIFTC pos BY coord var

DIRECTO EDIT

Aunque las posiciones estn grabadas en coordenadas de Ejes o Cartesianas, los ejes se pueden mover en ambas coordenadas. Es recomendable definir (aunque no necesariamente grabar) las posiciones que se van a utilizar, antes de editar un programa. Ejemplos de grabacin de posiciones: HERE 1 Graba la posicin actual de los valores de encoders de los ejes del robot, nombre 1. TEACHR P1 Listados de Posiciones El comando LISTP muestra una lista de todas las posiciones definidas y su grupo correspondiente. Graba la posicin P1 en coordenadas Cartesianas.

2 - 14

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

El comando LISTPV muestra los valores de los encoders y de las coordenadas Cartesianas de la posicin especificada. El comando SENDPOINT produce un listado codificado para la descarga de posiciones. Cdigo: Prefijo ($p) Nmero secuencial Grupo (1/2/3: A, B, C respectivamente) Nombre de posicin Valores de coordenadas Nmero de eje (si es del grupo C) Tipo de posicin

Parmetros
Los parmetros son localizaciones reservadas de memoria que se usan para guardar valores de constantes fsicas necesarias para adaptar el controlador a cada particular sistema robtico. Los parmetros estn referidos por su nmero (del 1 al 699). Por ejemplo: SHOW PAR 300 LET PAR 294=8000 Muestra el valor del parmetro 300 Cambia el valor del parmetro 294

Ver captulo 7 para mayor detalle.

Gua de Referencia 0404

ACL para Controlador B Versin F2.28

2 - 15

Anotaciones utilizadas en este manual


Las siguientes anotaciones se utilizan en las explicaciones de los comandos en este manual: {} [] Las llaves encierran una lista de la cual debe escoger una opcin. Los corchetes encierran diferentes opciones. ACL requiere la utilizacin de corchetes en los comandos de vectores de posicin, vectores de variables y entradas y salidas. Separan diferentes opciones de una lista. Por ejemplo: ATTACH OFF {A/B/C}, significa: ATTACH OFFA ATTACH OFFB ATTACH OFFC Otras notas Los comandos de ACL se pueden introducir tanto en maysculas como en minsculas. <Entre> debe pulsarse siempre para ejecutar un comando salvo en algunos casos, como por ejemplo: <Ctrl>+ A <Alt>+ M <Ctrl>+ C ENCO y SEND Abortar Modo manual Cancela comandos como LIST, SHOW

2 - 16

ACL para Controlador B Versin F2.28

Gua de Referencia 0404

CAPITULO

Los Comandos ACL

Los comandos ACL pueden catalogarse, en su mayora, en dos grupos esenciales: (1) comandos DIRECTOS, para su ejecucin inmediata; y (2) indirectos, o comandos EDITOR, para escribir programas y rutinas para su ejecucin posterior. En este captulo se presentan los comandos ACL por orden alfabtico. La modalidad (DIRECTA y/o EDICION) en la que son operativos los comandos se presentan a la izquierda de cada encabezamiento de nombre de comando. Cada registro incluye tambin el formato del comando, su descripcin, ejemplos de uso y observaciones adicionales cuando son necesarias. Los campos opcionales dentro de los comandos aparecen entre llaves {}. Las elecciones dentro de los comandos se indican con una barra /. Por ejemplo, ATTACH OFFA/B/C significa: ATTACH OFFA o bien, ATTACH OFFB o bien, ATTACH OFFC Algunos formatos de comando piden que se especifiquen nombres de variables y posiciones, mientras que otros piden valores. Estos campos definidos por el usuario se indican en cursiva entre angulares; por ejemplo: Programa <prog> Variables <var> Valor <valor> Parmetros <par> Eje <eje> Posicin <pos> Vector de posicin <pvect> Tiempo <tiempo> Estado <estado> Argumento <arg>

Al definir programas, posiciones y variables, los nombres que se asignen pueden ser una combinacin de letras y nmeros hasta cinco caracteres. El primer carcter de los nombres de variables y vectores debe ser una letra. Los nombres de las posiciones de vectores tambin incluyen un ndice (nmero dentro de corchetes). Este manual no indica comandos <Enter>, ya que todos los comandos ACL excepto dos, requieren <Enter>. Estas dos excepciones son: <Ctrl>+A Abortar Control Manual On/Off

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-1

A (Abortar)
DIRECTO

A (Abortar)
DIRECTO

Formato:

A {<prog>} <Ctrl> + A Donde: <prog> es un programa de usuario.

Descripcin: de

A de los ejes. A <prog> especificado

Aborta inmediatamente todos los programas usuario en ejecucin y detiene el movimiento Aborta slo la ejecucin del programa

Ejemplos:

A A NEW

Aborta todos los programas. Aborta el programa NEW.

Notas:

El comando <Ctrl> + A no requiere <Enter> para su ejecucin El comando A requiere <Enter> para su ejecucin.

3-2

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ANDIF
EDITOR

ANDIF

EDITOR

Formato:

ANDIF <var1> <cond> <var2> Donde: <var1> y <var2> son constantes o variables y <cond> puede ser <, >, =, <=, >=, < >.

Descripcin:

Es un comando tipo IF. ANDIF combina lgicamente con una condicin y otros comandos IF. IF A=B ANDIF C>2 CLOSE ELSE OPEN ENDIF Ver comando IF. Cerrar la pinza si se cumplen las condiciones A=B y C>2 (ambas), de lo contrario abrir la pinza

Ejemplo:

Notas:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-3

APPEND
DIRECTO

APPEND
DIRECTO

Formato: Descripcin:

APPEND Carga el contenido de un fichero de reserva (.CBU) de usuario desde ordenador a la RAM de Usuario del controlador. Similar al comando RECEIVE, pero no borra ni modifica los programas existentes. El fichero debe estar en el formato generado por un comando SEND. Se aceptan nuevos programas. Se aceptan nuevas variables. Se aceptan nuevas posiciones. A las posiciones existentes, cuyos valores de ubicacin no hayan sido fijados todava, se les asignan los nuevos valores.

Notas:

Ver comandos SEND y RECEIVE. Ver Men de Gestin de Archivos de ATS (<shift> + F10 )

3-4

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ATTACH
DIRECTO

ATTACH
DIRECTO

Formato:

ATTACH <pvect> (donde pvect es un vector) ATTACH OFF {A/B/C} ATTACH ?

Descripcin:

ATTACH <pvect>

Asigna el vector de posicin especificado a la botonera de enseanza de acuerdo con el grupo al que pertenece el vector de posicin. Cuando se asigna un vector a la botonera, todas las referencias desde botonera a ese grupo afectarn al vector asignado. Slo se puede asignar a un grupo un vector cada vez. Si se aade otro vector de posicin, este cancelar el aadido previamente.

ATTACH OFFA/B/C Desactiva el vector de posicin asignado a la botonera, de acuerdo con el grupo especificado. ATTACH ? ATTACH: botonera de enseanza. Ejemplos: DIMP ALPHA [20] ATTACH ALPHA Presenta en pantalla el estado actual de mostrar qu vectores estn asignados a la

Define un vector de posicin denominado ALPHA, que contiene 20 posiciones (grupo A). Asigna el vector ALPHA a la botonera. Una referencia de la botonera a la posicin 15 (p. e.) se referir ahora a la posicin ALPHA [15]. Desactiva el vector del grupo A de la botonera.

ATTACH OFFA

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-5

AUTO
DIRECTO

AUTO

DIRECTO

Formato: Descripcin:

AUTO Este comando debe ejecutarse despus de cambiar entre AUTO/TEACH en la Botonera de Enseanza. AUTO transfiere el control desde la Botonera al teclado del PC.

3-6

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

CLOSE

DIRECTO/EDITOR

DIRECTO/EDITOR

CLOSE

Formato:

CLOSE {<var>} Donde: <var> es una constante o variable definida por el usuario. 0<var>5000

Descripcin:

CLOSE cierra tanto una pinza elctrica como una pinza neumtica. CLOSE CLOSE <var> Cierra la pinza hasta el fin de su movimiento Una constante o variable asignada al DAC de la pinza para mantener la impulsin del motor de la pinza y obtener una fuerza de agarre adicional. La fuerza motriz es proporcional a <var>.

El comando CLOSE desconecta el eje de la pinza del servo circuito de control (control en lazo abierto).

Aviso! Hay que usar la opcin de variable con extrema precaucin para evitar daos en el motor y su engranaje. Hay que usar este comando durante breves periodos y fijar el valor de <var> tan bajo como sea posible.
Ejemplos: CLOSE CLOSE 1000 CLOSE PRESS Notas: Cierra la pinza Fija el valor DAC de la pinza a 1000 Fija la fuerza activa de la pinza al valor de la variable PRESS.

Consultar los comandos OPEN y JAW. DAC: Convertidor Digital - Analgico

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-7

CLR

DIRECTO;PRIVILEGE

DIRECTO;PRIVILEGE

CLR

Formato:

CLR <n> Donde: <n> es el nmero de encoder (codificador ptico), 1 n 12 .

Descripcin:

Borra (pone a cero) los valores de contaje del encoder n. Si n = *, se borrar todos los codificadores. Los valores de los encoders slo se pueden borrar en modo PRIVILEGE activo.

Ejemplos:

CLR 3 CLR *

Borra el encoder 3. Borra todos los encoders.

3-8

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

CLRBUF

DIRECTO/EDITOR

DIRECTO/EDITOR

CLRBUF

Formato:

CLRBUF{A/B} CLRBUF <eje> Donde: <eje> es un eje del grupo C.

Descripcin:

CLRBUF

Vaca el buffer (memoria intermedia) de movimiento de todos los ejes. Se puede utilizar para detener el robot una vez en movimiento y para continuar el programa con otros comandos. Vaca el buffer de movimiento del grupo A Vaca el buffer de movimiento de un eje especfico.

CLRBUFA/B CLRBUF <eje>

Ejemplos:

CLRBUF IF IN[3]=1 STOP MAIN CLRBUFA MOVE HOME ENDIF CLRBUF 4 Si la entrada 3 esta activada; para el programa MAIN; borra el buffer del grupo A; se mueve a la posicin HOME Borra el buffer del eje 4

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-9

CLRCOM
EDITOR

CLRCOM

EDITOR

Formato: Donde:

CLRCOM <n> <n> es un puerto RS232 de comunicaciones, 1n8

Descripcin:

CLRCOM <n> CLRCOM

borra el buffer del puerto RS232 especificado. borra los buffers de todos los puertos RS232.

Este comando puede utilizarse para resetear los puertos serie de comunicaciones cuando hay un error, como un XOFF sin el correspondiente XON, interrupciones o interrupcin de las comunicaciones RS232. Ejemplo: CLRCOM 2 CLRCOM 0 Notas: Limpia el buffer del puerto 0.

Ver comando SENCOM.

3-10

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

COFF
DIRECTO

COFF

DIRECTO

Formato:

COFF{A/B} COFF {<eje>}

Descripcin:

Desactiva el servo control de todos los ejes o del eje o grupo especificado. COFF COFFA COFFB COFF 10 Control OFF en todos los ejes. Control OFF en los ejes del grupo A. Control OFF en los ejes del grupo B. Control OFF en el eje 10.

Ejemplos:

Cuando COFF esta activo, no se pueden operar los ejes. Se debe ejecutar CON antes para poder mover el robot.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-11

CON

DIRECTO

DIRECTO

CON

Formato:

CON{A/B} CON {<eje>}

Descripcin: especificado. Ejemplos:

Activa el servo control de todos los ejes o del eje o grupo

CON CONA CONB CON 10

Control ON en todos los ejes. Control ON en los ejes del grupo A. Control ON en los ejes del grupo B. Control ON en el eje 10.

3-12

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

CONFIG
DIRECTO

CONFIG

DIRECTO

Formato: Descripcin:

CONFIG {?} CONFIG El comando CONFIG le permite ejecutar la configuracin completa del controlador. Durante la configuracin el sistema mostrar los valores existentes [entre corchetes] y permite cambiarlos, como se muestra en el ejemplo.

Aviso! Este comando borra todos los programas y posiciones de la

RAM de Usuario. Tambin borra el password y lo sustituye por el de fbrica.

La configuracin contiene: Nmero de entradas y salidas. Nmero de servo ejes. Tipo de robot. Tamao de memoria seleccionado para las lneas del programa de usuario. Tamao de memoria seleccionado para las variables de usuario. Tamao de memoria seleccionado para las posiciones de usuario. Tamao de memoria seleccionado para los comentarios de usuario. CONFIG ? Ejemplos: >config Presenta la configuracin actual.

!!!AVISO, SE BORRARAN TODOS LOS PROGRAMAS DE USUARIO. ESTA SEGURO??? [YES/NO] > YES FASE DE CANCELACION DEL TRABAJO.......... > INTRODUCIR NUMERO DE ENTRADAS [16] (0-16) > INTRODUCIR NUMERO DE SALIDAS[16] (0-16) > INTRODUCIR NUMERO DE ENCODERS[8] (0-12) > INTRODUCIR NUMERO DE DACS [8] (0-12) > TIPO DE ROBOT (0-NINGUNO, 2-MK2, 9- ERIX, 14-SCORA) [9] (0-14) > INTRODUCIR NUMERO DE SERVO CIRCUITOS, GRUPO A [5] (5-8) > SERVO PINZA INSTALADA EN EL EJE [6] (0-8) > INTRODUCIR NUMERO DE SERVO CIRCUITOS, GRUPO B [2] (0-2) > INTRODUCIR NUMERO TOTAL DE SERVO CIRCUITOS [8] (8-8) >
Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 3-13

INTRODUCIR CANTIDAD RAM DE USUARIO EN KB [512] (132-512) > INTRODUCIR NUMERO DE PROGRAMAS DE USUARIO [300] > INTRODUCIR NUMERO DE LINEAS DE PROGRAMA USUARIO [1200] > INTRODUCIR NUMERO DE PUNTOS DE USUARIO, GRUPO A [900] > INTRODUCIR NUMERO DE PUNTOS DE USUARIO, GRUPO B [800] > INTRODUCIR NUMERO DE PUNTOS DE USUARIO, GRUPO C [0] > INTRODUCIR NUMERO DE COMENTARIOS DE USUARIO [200] > Ejecutando configuracin, por favor espere 10 segundos > > O.K. > Durante la configuracin se ejecuta automticamente el INIT EDITOR (EDITOR DE INICIALIZACION, ver comando INIT). Durante la configuracin, el sistema muestra los valores existentes (por defecto) y permite cambiarlos. Si no se quiere cambiar nada, se acepta pulsando <Enter>. El nmero mximo de entradas y salidas es 16. El nmero mximo de encoders y DACs es 12 (el nmero mximo de ejes.) Qu tipos de robots hay disponibles ? Tipo 0: Tipo 2: Tipo 9: Tipo 14: Ejes independientes, cinemtica del brazo desconocida, sin clculos XYZ, sin rutina HOME. Compatible con la cinemtica SCORBOT- MK2 Compatible con la cinemtica SCORBOT-ER IX. Compatible con la cinemtica SCORBOT-ER14.

El nmero de ejes para los grupos A y B son definibles por el usuario. Si se utiliza una servo pinza, se debe instalar como el eje que sigue al grupo A; por ejemplo, si un grupo A incluye 5 ejes, la pinza debe ser instalada como el eje 6. Si no hay servo pinza instalada, introducir 0 como eje de la pinza. Se puede entonces usar el eje 6 para impulsar otros servo dispositivos. El nmero total de servo circuitos debe ser mayor que el nmero de ejes definidos para los grupos A y B y la pinza, y no puede superar el nmero de codificadores y DACs (12). Se hace referencia a los ejes restantes como grupo C, que siempre contiene ejes independientes.

3-14

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

En este ejemplo, los ajustes por defecto son, 5 ejes en el grupo A, 2 ejes en el grupo B, y la pinza, totalizando 8 ejes. La cantidad de KBytes de RAM de Usuario estndar es de 512KB. El nmero de programas de usuario, lneas de programa de usuario, variables de usuario, puntos de usuario y comandos depende del tamao de la memoria y de la distribucin de todos estos conceptos. A continuacin, un ejemplo de un informe de configuracin . >config? ******* LA CONFIGURACION ACTUAL ES: ENTRADAS - 16 SALIDAS - 16 CODIFICADORES - 8 SALIDAS ANALOGICAS - 8 TIPO DE ROBOT - 5 SERVO EJE GRUPO A - 5 SERVO PINZA - 6 SERVO EJE GRUPO B - 2 NUMERO TOTAL DE SERVO EJES 8 512 KBYTE DE MEMORIA DE USUARIO INSTALADA PROTEGIDA POR BATERIA. PROGRAMAS DE USUARIO - 150 LINEAS DE PROGRAMA DE USUARIO - 3000 VARIABLES DE USUARIO - 600 PUNTOS DE USUARIO, GRUPO A - 2380 PUNTOS DE USUARIO, GRUPO B - 2380 PUNTOS DE USUARIO, GRUPO C - 0 COMENTARIOS DE USUARIO - 550 >

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-15

CONTINUE
DIRECTO/EDITOR

CONTINUE

DIRECTO/EDITOR

Formato:

CONTINUE <prog> Donde: <prog> es un programa de usuario.

Descripcin:

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

Ejemplo: Notas:

CONTINUE ALPHA Reanuda la ejecucin del programa ALPHA. Ver comando SUSPEND.

3-16

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

COPY
DIRECTO

COPY

DIRECTO

Formato:

COPY <prog1> <prog2> Donde: <prog1> y <prog2> son programas de usuario.

Descripcin:

Copia el programa de usuario <prog1> con un nuevo nombre de programa <prog2>. Existen ahora dos copias del mismo programa con nombres diferentes. El controlador avisar si ya estuviese en uso el <prog2>.

Ejemplo:

COPY ALPHA BETA

Copia el programa de usuario ALPHA al programa BETA.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-17

DEFINE
EDITOR

DEFINE

EDITOR

Formato:

DEFINE <var1> {<var2> ... <var12>} Donde:<var1>, <var2>, ... <var12> son variables de usuario.

Descripcin: el

Define una variable local. Una variable local slo es reconocida por programa especfico en el que esta definida. Para usar una variable tiene que estar previamente definida. DEFINE I Define una variable local con el nombre I

Ejemplos:

DEFINE L ALL KEY Define variables locales con nombres L, ALL y KEY Notas: Este es un comando de definicin. Cuando se escribe, el comando se ejecuta pero no crea una lnea de programa, incluso en modalidad de EDICION. Hay que cerciorarse de que el primer carcter del nombre de la sea una letra y que no tenga ms de 5 caracteres.

variable

3-18

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DEFP

DIRECTO

DIRECTO

DEFP

Formato:

DEFP{A/B} <pos> DEFPC <pos> <eje>

Descripcin:

Crea una posicin en el grupo A, en el grupo B, o en un eje del grupo C. Si no se ha especificado un grupo, se supone el grupo A.

Ejemplos:

DEFPA 9531 DEFP 13

Crea una posicin en el grupo A llamada 9531. Crea una posicin en el grupo A llamada 13. Crea una posicin en el grupo B llamada Crea una posicin en el eje 9 del grupo C llamada PP.

DOD.

DEFPB DOD DEFPC PP 9

Notas:

Este es un comando de definicin. Cuando se escribe, se ejecuta el comando pero no se crea una lnea de programa, ni en modalidad EDICION.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-19

DEL

EDITOR

EDITOR

DEL

Formato: Descripcin: Ejemplo:

DEL Comando de edicin: borra la lnea actual de programa (en edicin) 190 LABEL 1 191 MOVE 10 192 DEL Borra la lnea de programa 191

3-20

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DELAY
EDITOR

DELAY

EDITOR

Formato:

DELAY <var> Donde: <var> es una constante o variable definida por el usuario.

Descripcin:

Demora la ejecucin de un programa por nmero <var> de tics. Cada tic es igual a 10 milisegundos. DELAY 100 SET T=500 DELAY T Demora el programa durante 1 segundo. Demora el programa durante 5 segundos.

Ejemplos:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-21

DELETE
DIRECTO

DELETE

DIRECTO

Formato:

DELETE &pvect[n] Donde: &pvect es un vector n es el ndice de una de las posiciones del vector

Descripcin:

Borra la posicin n del vector &pvect; todas las posiciones por encima de la posicin &pvect[n] sern desplazadas. El comando DELETE slo puede ser ejecutado en vectores que comiencen con el carcter &. DELETE slo se puede aplicar a una posicin para un robot o elemento multi-eje que esta asignado al grupo A o B. No se aplica a elementos simples en el grupo C. Se puede borrar una posicin solamente si no se utiliza por ningn programa de la memoria RAM. El sistema le avisar si usted intenta borrar una posicin que es utilizada en algn programa. DELETE &AA[4] Borra la posicin 4 del vector &AA

Ejemplo: Nota:

Referirse a los comandos DIMP e INSERT.

3-22

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DELP

DIRECTO/EDITOR

DIRECTO/EDITOR

DELP

Formato:

DELP <pos> DELP <pvect> Donde: <pos> es una posicin definida por el usuario. <pvect> es un vector de posiciones definidas por el usuario.

Descripcin:

Borra las posiciones y los vectores de posicin de la tabla de posiciones. Slo se puede borrar una posicin si ningn programa de la RAM de Usuario la utiliza. El controlador avisar si se intenta borrar una posicin en uso. No se pueden borrar posiciones individuales dentro de vectores. Ver comandos DELETE y UNDEF.

Ejemplos:

DELP A953 DELP DOD

Borra una posicin o un vector llamado A953 Borra una posicin o un vector llamado DOD

Nota:

Este es un comando de definicin. Cuando se escribe, ejecuta la accin requerida pero no crea lnea de programa.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-23

DELVAR

DIRECTO/EDITOR

DIRECTO/EDITOR

DELVAR

Formato:

DELVAR <var> Donde: <var> es una variable definida por el usuario.

Descripcin:

Borra la variable <var> de la tabla de variables. Slo se puede borrar una variable si ningn programa de la RAM de Usuario la utiliza. El controlador avisar si se intenta borrar una en uso. En modo DIRECTO DELVAR borra slo variables globales. En modo EDITOR DELVAR borra variables locales; borrar una variable global solamente si no existe una variable local con ese nombre.

variable

Ejemplos:

DELVAR I DELVAR PRESS

Borra la variable I. Borra la variable PRESS.

Nota:

Este es un comando de definicin. Cuando se escribe, el comando se ejecuta pero no se crea lnea de programa, ni en modalidad de EDICION.

3-24

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DIM

EDITOR

EDITOR

DIM

Formato:

DIM <var[n]> Donde: <var[n]> es un vector de n variables locales.

Descripcin:

Define un vector de variables locales de n elementos. Los elementos creados se llaman var[1], var[2], ... var [n]. Una variable local slo es reconocida por el programa en el que esta definida.

Ejemplos: 20 Nota:

DIM LOCV[20]

Crea un vector llamado LOCV que contiene variables locales, LOCV[1]...VLOC[20]

Este es un comando de definicin. Cuando se escribe, se ejecuta el comando pero no se crea lnea de programa, ni en modalidad de EDICION. Hay que asegurarse de que el primer carcter del nombre del vector sea una letra. Mximo nmero de caracteres, 5.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-25

DIMG

DIRECTO/EDITOR

DIRECTO/EDITOR

DIMG

Formato: Descripcin:

DIMG <var[n]> Define un vector de variables globales de n elementos. Los elementos creados se llaman var[1], var[2] ... var[n]. Una variable global puede ser utilizada por cualquier programa.

Ejemplos:

DIMG

GLOB[8] Crea un vector llamado GLOB que contiene 8 variables globales llamadas GLOB[1]...GLOB[8]

Nota:

Este es un comando de definicin. Cuando se escribe, se ejecuta el comando pero no se crea una lnea de programa, ni en modalidad de EDICION. Hay que asegurarse de que el primer carcter del nombre del vector sea una letra. Mximo nmero de caracteres, 5.

3-26

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DIMP

DIRECTO

DIRECTO

DIMP

Formato:

DIMP{A/B} <pvect[n]> DIMPC <pvect[n]> <eje> Donde: <pvect[n]> es un vector de n posiciones <eje> es un eje del grupo C

Descripcin:

Define un vector que contiene n posiciones, llamadas pvect[1], pvect[2] ... pvect[n] para el grupo A o B o para un eje del grupo C. Si no se especifica un grupo, se supone el A.

Ejemplos:

DIMP PICK[30] DIMPB BB[10] DIMPC CONV[25] 11 DIMPB &BETA[30]

Crea un vector para el grupo A que contiene 30 posiciones llamadas PICK[1]...PICK[30]. Crea un vector para el grupo B que contiene 10 posiciones llamadas BB[1]...BB[10]. Crea un vector para el eje 11 que contiene 25 posiciones.

Nota:

Este es un comando de definicin. Cuando se escribe, se ejecuta el comando, pero no se crea una lnea de programa, ni en modalidad de EDICION. Hay que asegurarse de que el primer carcter del nombre del vector sea una letra o el carcter &. Mximo nmero de caracteres, 5. Cuando el primer carcter del vector es el &, el vector se puede manipular con los comandos DELETE e INSERT. Incluya el carcter & si usted va a utilizar el vector en trayectorias con SPLINE o MOVES.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-27

DIR

DIRECTO

DIRECTO

DIR

Formato: DIR Descripcin: Presenta el directorio de todos los programas de usuario, con su prioridad. Si se aade la serie "no vlido" al nombre del programa, entonces el programa no es vlido sintcticamente. DIR nombre : DEMO : IO : IOA : TWOIO : INOUT : PICP : Notas: Validez: Identidad: validez :identidad : :1 :2 :3 :4 :5 :6 Consultar el comando EXIT. Nmero de programa asignado por el controlador. Este nmero se usa para acceder a los programas desde la botonera de enseanza.. Ver comandos PRIORITY y RUN. prioridad :5 :5 :5 :5 :5 :5

Ejemplos:

Prioridad:

3-28

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

DISABLE
DIRECTO

DISABLE

DIRECTO

Formato:

DISABLE IN/OUT <n> DISABLE ? Donde: IN y OUT son entradas y salidas, y <n> es el ndice I/O, 1n16.

Descripcin:

DISABLE IN/OUT<n> Desconecta la I/O fsica de la I/O lgica. Una vez desactivada la I/O, su ltimo estado permanece sin cambios. Sin embargo, el comando FORCE permite posicionar/reposicionar una salida especificada mientras esta desactivada. DISABLE ? Presenta todas las I/Os desactivadas. Desconecta la Entrada 8. Desconecta la Salida 12.

Ejemplos:

DISABLE IN 8 DISABLE OUT 12

Nota:

Consultar los comandos ENABLE y FORCE.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-29

DO

DIRECTO

DIRECTO

DO

Formato:

DO <comando EDITOR> Donde: <comando EDITOR> es cualquier comando de modalidad de EDICION.

Descripcin: Ejemplos:

Ejecuta un comando EDITOR (indirecto) en modalidad DIRECTA. DO CLRCOM 2 DO PRINTLN Resetea el puerto RS232 nmero 2 Inserta un retorno de carro

3-30

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ECHO
DIRECTO

ECHO

DIRECTO

Formato: Descripcin:

ECHO Recibe en pantalla el eco de todos los caracteres transmitidos al controlador. Esta es la modalidad por defecto. El comando NOECHO detiene el eco de los caracteres transmitidos.

Ejemplos:

NOECHO ECHO

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-31

EDIT

DIRECTO

DIRECTO

EDIT

Formato:

EDIT <prog> Donde: <prog> es cualquier programa definido por el usuario.

Activa la modalidad de EDICION y llama a un programa de usuario denominado <prog>. Si no se encuentra <prog>, crea automticamente un nuevo programa con ese nombre y espera confirmacin del usuario. Ejemplos: >edit ALPHA Bienvenido al editor ACL, teclee HELP si tiene problemas. PROGRAM ALPHA **************** 127:? El editor ya esta listo para recibir lneas de programa.

Descripcin:

3-32

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ELSE
EDITOR

ELSE

EDITOR

Formato: Descripcin:

ELSE El comando ELSE sigue a un comando IF y precede a un ENDIF. ELSE marca el comienzo de una subrutina de programa que define las acciones a ejecutar cuando sea falso un comando IF.

Ejemplos: ANDIF A=B

IF J>2 Si J>2 y A=B, el controlador activa la Salida 1 Si no (ELSE), activa la 5. SET OUT[1]=1 ELSE SET OUT[5]=1 ENDIF Consultar comando IF.

Nota:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-33

EMPTY
DIRECTO Formato: Descripcin: EMPTY <prog> Donde: prog es un programa de usuario.

EMPTY

DIRECTO

Borra todas las lneas de un programa pero deja el programa vaco y vlido. El comando EMPTY es til cuando el programa a borrar es una subrutina que se llama desde otro/s programas. Una vez el programa ha sido vaciado, se puede alterar la funcin sin cambiar el programa principal. Las variables locales asignadas al programa tambin son borradas.

3-34

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ENABLE
EDITOR

ENABLE

EDITOR

Formato:

ENABLE IN/OUT <n> Donde: IN y OUT son entradas y salidas, y <n> es el ndice I/O, 1n16.

Descripcin:

Retoma el control normal del sistema de la entrada o salida especificada. ENABLE IN 8 ENABLE OUT 12 Reactiva la Entrada 8 al software. Reactiva la Salida 12 al software.

Ejemplos:

Nota:

Consultar el comando DISABLE.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-35

END

EDITOR

EDITOR

END

Descripcin:

El sistema escribe automticamente END como ltima lnea del programa. No es necesario que el usuario introduzca este comando. Es necesario cuando se editan programas desde un editor de texto.

3-36

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ENDFOR
EDITOR

ENDFOR
EDITOR

Formato: Descripcin:

ENDFOR Fin del bucle FOR. Termina la subrutina que ha de ejecutar el comando FOR.

Ejemplos:

FOR I=1 TO 16 SET OUT[I]=1 ENDFOR

Este bucle se ejecuta 16 veces, y activa las 16 salidas.

Nota:

Consultar el comando FOR.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-37

ENDIF
EDITOR

ENDIF
EDITOR

Formato: ENDIF Descripcin: Ejemplos: Fin de la subrutina IF de un programa. Si la primera y segunda condiciones son ciertas, o la tercera es cierta, el robot va a la pos[1], en caso contrario va a pos[2]. IF XYZ=1 ANDIF Z[1]=X ORIF B<C MOVE POS[1] ELSE MOVE POS[2] ENDIF Nota: Consultar el comando IF.

3-38

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

<ENTER>

EDITOR/DIRECTO

EDITOR/DIRECTO

<ENTER>

Descripcin:

En modo EDITOR, va a la siguiente lnea del programa y muestra su nmero. En modo DIRECTO, confirma e introduce el comando.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-39

EXACT

DIRECTO/EDITOR

DIRECTO/EDITOR

EXACT

Formato: Descripcin:

EXACT {OFF}A/B/C Fija la modalidad de operacin de los comandos MOVED, MOVELD, MOVECD, MOVESD y SPLINED. En modalidad EXACT, el comando MOVED (o cualquier comando MOVE que termine con una D) instruye al controlador para que compruebe que los ejes han alcanzado sus destinos (dentro de una tolerancia dada). En modalidad EXACT OFF, los comandos MOVE + D demoran la ejecucin del programa hasta que el controlador asume (de acuerdo con el tiempo) que los ejes estn en las posiciones correctas. EXACT A/B/C EXACT OFFA/B/C Fija la modalidad EXACT para el movimiento del grupo especificado. Desactiva la modalidad EXACT para el grupo especificado.

Ejemplos:

EXACT A EXACT OFFA

Nota:

Los parmetros 261-271 determina la tolerancia exacta.

3-40

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

EXIT

EDITOR

EDITOR

EXIT

Formato: Descripcin:

EXIT Sale de la modalidad de EDICION y comprueba la sintaxis y la lgica del programa. Busca errores, como los comandos FOR sin ENDFOR, IF sin ENDIF, y GOTO sin la etiqueta LABEL adecuada. Si se encuentra un error, aparece un mensaje: PROGRAMA NO VALIDO Si el programa esta bien hecho, aparece otro mensaje: EL PROGRAMA ES VALIDO

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-41

FOR

EDITOR

EDITOR

FOR

Formato:

FOR <var> = <valor1> TO <valor2> Donde: <var> es una variable definida por el usuario y, <valor1> y <valor2> son constantes o variables definidas por el usuario.

Descripcin:

Ejecuta una subrutina para todos los valores de <var1>, comenzando por el <valor1> y terminando por el <valor2>. La ltima lnea de la subrutina debe ser el comando ENDFOR.

Ejemplos:

FOR L=M TO N MOVED POS[L] ENDFOR FOR I=1 TO 16 SET OUT[I]=1 ENDFOR Activar todas las salidas, primero la 1, luego la 2 ,......hasta la 16

3-42

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

FORCE
DIRECTO

FORCE

DIRECTO

Formato:

FORCE IN/OUT <n> <estado> Donde: IN y OUT son entradas y salidas, <n> es el ndice I/O, y <estado> es 1 (ON) 0 (OFF).

Descripcin:

Fuerza la I/O especificada al estado solicitado. Este comando slo es operativo para las I/Os que hayan sido desactivadas con el comando DISABLE.

Ejemplos:

FORCE IN 5 1

Activa la Entrada 5 en estado ON.

FORCE OUT 11 0 Activa la Salida 11 en estado OFF. Notas: Ver comando DISABLE.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-43

FREE

DIRECTO

DIRECTO

FREE

Formato:

FREE

Descripcin:

Presenta una lista del espacio disponible en la RAM de Usuario. Lneas de programa libres. Variables libres. Puntos libres del grupo A. Puntos libres del grupo B. Puntos libres del grupo C. Bytes libres para comentarios.

Ejemplos:

FREE 484 LINEAS LIBRES ----------------63 VARIABLES LIBRES ----------------310 PUNTOS DEL GRUPO A LIBRES ----------------308 PUNTOS DEL GRUPO B LIBRES ----------------11 PUNTOS DEL GRUPO C LIBRES ----------------900 BYTES LIBRES para comentarios. >

3-44

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

GET

EDITOR

EDITOR

GET

Formato:

GET <var> Donde: <var> es una variable definida por el usuario.

Descripcin:

Cuando un programa encuentra un comando GET, hace una pausa y espera que se pulse un carcter desde el teclado del ordenador. Se asignar a la variable <var> el valor ASCII del carcter pulsado. PRINTLN "SELECT PROGRAM: P Q R" GET VP IF VP=80 RUN P ENDIF IF VP=81 RUN Q IF VP=82 RUN R ENDIF (VP es la variable) (80 es el valor ASCII de P) (81 es el valor ASCII de Q) (82 es el valor ASCII de R)

Ejemplos:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-45

GETCOM
EDITOR

GETCOM

EDITOR

Formato: Donde:

GETCOM <n> <var> <n> es un puerto RS232 de comunicaciones, 1n8 <var> es una variable definida por el usuario.

Descripcin:

Complementa al comando SENCOM. Recibe un byte por el puerto especificado. El valor del byte se guarda en la variable especificada.

Ejemplo: PROGRAMA WAIT1 LABEL 1 GETCOM 1, RECV PRINTLN "$ IN :" RECV GOTO 1 END Este programa espera caracteres recibidos por el puerto serie 1 y muestra su valor por la pantalla.

3-46

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

GLOBAL

DIRECTO/EDITOR

DIRECTO/EDITOR

GLOBAL

Formato:

GLOBAL <var1> {<var2> ... <var12>} Donde: <var1> {<var2> ... <var12>} son variables definidas por el usuario.

Descripcin:

Define una variable global. Una variable global puede usarse en cualquier programa de usuario. Se pueden definir hasta doce variables en un comando.

Ejemplos: ME. Notas:

GLOBAL HB

Crea una variable global llamada HB.

GLOBAL J BYE ME Crea variables globales llamadas J, BYE y Este es un comando de definicin. Cuando se escribe, el comando se ejecuta pero no crea lnea de programa, ni en modalidad de EDICION. Hay que asegurarse de que el primer carcter del nombre de la sea una letra.

variable

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-47

GOSUB
EDITOR

GOSUB
EDITOR

Formato:

GOSUB <prog> Donde: <prog> es un programa definido por el usuario.

Descripcin: alcanza

Transfiere el control del programa desde el programa principal al <prog>, comenzando en la primera lnea de <prog>. Cuando se el comando END del <prog>, la ejecucin del programa principal se reanuda con el comando que sigue al comando GOSUB. SET Z=10 ejecutar GOSUB SERVE MOVE P3 Tras ejecutar el comando SET, y antes de el comando MOVE, se ejecuta por completo el programa SERVE.

Ejemplos:

3-48

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

GOTO
EDITOR

GOTO

EDITOR

Formato:

GOTO <etiqueta n> Donde: <etiqueta n> es cualquier nmero, 0 n 9999

Descripcin:

Salta a la lnea inmediatamente seguida del comando LABEL <etiqueta n>. LABEL <etiqueta n> debe estar incluido en el mismo programa que el comando GOTO.

Ejemplos:

LABEL 5 interminable MOVE POS13 SET A=B+C GOSUB MAT GOTO 5 LABEL 6 GOSUB BE SET K=K+1 IF K<500 GOTO 6 ENDIF

Este programa se ejecuta en un bucle hasta que se aborta manualmente.

Este programa se ejecuta 500 veces y despus se para.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-49

HELP

DIRECTO/EDITOR

DIRECTO/EDITOR

HELP

Formato: Descripcin:

{DO} HELP En modalidad DIRECTA: HELP ofrece una pantalla de ayuda on-line para comandos DIRECTOS y DO HELP ofrece una pantalla de ayuda on-line para comandos EDITORES. En modalidad de EDICION: HELP ofrece una lista y breve explicacin de todos los comandos EDITORES.

3-50

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

HERE

DIRECTO/EDITOR

DIRECTO/EDITOR

HERE

Formato:

HERE <pos> Donde: <pos> es una posicin definida por el usuario.

Descripcin: los

Graba, en valores ejes (unidades de encoder), la ubicacin actual de ejes y le asigna el nombre <pos>. <Pos> debe definirse primero usando los comandos DEFP o DIMP

Ejemplos:

HERE POINT DIMP P[20] HERE P[5]

Ensea una posicin llamada POINT.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-51

HERER

DIRECTO/EDITOR

DIRECTO/EDITOR

HERER

Formato:

HERER <pos2> Slo en modo directo. HERER <pos1> <pos1> Donde:<pos2> y <pos1> son nombres de posiciones definidas por el usuario.

Descripcin:

HERER <pos2>

Fija en valores de ejes (unidades de codificador) la ubicacin de <pos2>. <Pos2> ser relativa a la posicin actual. Se deben introducir los valores de coordenadas segn el ejemplo de abajo.

HERER <pos2> <pos1>Registra en valores de codificador la ubicacin de <pos2> relativa a <pos1>. <Pos1> debe registrarse antes de <pos2>. Despus, cuando se mueva <pos1>, <pos2> se mover automticamente con ella. Este comando tambin puede utilizarse en modalidad de EDICION. Ejemplos: >HERER AA[3] 1--[1]>0 2--[-1]>500 3--[0]>250 4--[2]>303 5--[2]>0 0 DONE > AA[3] es relativa a la posicin actual del robot por los siguientes valores: pulsos de codificador en la base pulsos de codificador en el hombro pulsos de codificador en el codo pulsos de codificador en inclinacin mueca pulsos de codificador en giro mueca Los valores entre corchetes son los "por defecto" si estn vacos no hay valor en memoria.

>HERER AA[5] AA[4] La ubicacin de la posicin AA[5] se registra como relativa a la posicin AA[4].

3-52

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

HOME/HHOME
DIRECTO/EDITOR

HOME/HHOME

DIRECTO/EDITOR

Formato:

HOME {<n>} HHOME {<n>} Donde: <n> es el nmero de un eje, 1n11.

Descripcin: mediante

HOME es el programa que est fijo en la EPROM y se activa el comando HOME: HOME Lleva todos los ejes del robot a su posicin origen buscando un microinterruptor en cada eje. La bsqueda de origen se ejecuta slo si se introdujo Tipo V Tipo VII durante la configuracin. Lleva el eje n a su posicin origen, usando la bsqueda de microinterruptor. El comando HOME <n> permite crear un programa origen dedicado para cualquier configuracin especial. Lleva el eje n a la posicin origen. El programa busca un tope rgido en lugar de un microinterruptor.

HOME n

HHOME n

Ejemplos:

HOME 7 Busca un microinterruptor origen en los ejes HOME 8 7, 8, 9 y 10. HOME 9 HOME 10 HHOME 7 Busca un tope rgido origen en la base deslizante lineal conectada al eje 7.

Notas: cerca Notas:

Hay que asegurarse de que la base mvil est los suficientemente del tope mecnico cuando se realice la operacin Home en la LSB. La potencia utilizada para impulsar el motor en un comando HHOME es determinada por los parmetros del sistema 201-211. Hay que asegurarse de que este valor DAC no dae los ejes conectados. Para ejecutar el programa HOME del robot desde la botonera hay que teclear: RUN 0 [ENTER]

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-53

IF

EDITOR

EDITOR

IF

Formato:

IF <var1> <cond> <var2> Donde: <var1> es una variable definida por el usuario, <var2> es una variable o constante, y <cond> es una de las siguientes condiciones:<,>,=,<=,>=,< >

Descripcin:

El comando IF comprueba la relacin entre <var1> y <var2>. Si cumple las condiciones especificadas, el resultado es verdadero, y se ejecuta una subrutina o comando. Si no es verdadero, se ejecuta otra subrutina o comando. IF C[1]=3 MOVE AA[1] ELSE GOSUB TOT ENDIF IF QY 10 SET OUT[3]=1 ELSE SET OUT[3]=0 ENDIF Si C[1]=3, entonces pasa a AA[1]. Si C[1] 3, se ejecuta el programa (subrutina) TOT. Si la variable QY es menor o igual que 10 activar salida 3. En caso contrario desactivar salida 3.

Ejemplos:

3-54

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

INIT

DIRECTO

DIRECTO

INIT

Formato: Descripcin:

INIT CONTROL Inicializa todos los parmetros del sistema de control. Debe ejecutarse despus de cualquier cambio en los parmetros de control del sistema.

Formato: Descripcin:

INIT EDITOR Inicializa los programas, variables y espacio de la RAM de Usuario. Aviso! Este comando borra el contenido de la RAM de Usuario

Notas:

El comando CONFIG realiza esta operacin automticamente. Por tanto, INIT EDITOR se utiliza con muy poca frecuencia.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-55

INSERT
DIRECTO Formato: INSERT &pvect[n] Donde: Descripcin:

INSERT
DIRECTO

&pvect es un vector de posicin. n es el ndice de una posicin del vector.

Graba las coordenadas actuales del robot o del elemento (igual que los comandos HERE o HEREC) en la posicin &pvect[n] e inserta las coordenadas en el vector en el ndice n. Todas las posiciones grabadas por encima de la posicin &pvect[n] son desplazadas. Si todas las posiciones del vector estn grabadas el sistema dar un mensaje de error. El comando INSERT slo se puede aplicar a vectores de posiciones que empiecen con el carcter &. Slo se puede aplicar a multi-ejes (grupo A o grupo B).

Ejemplos:

INSERT &AA[4]

Graba la posicin 4 en el vector &AA; Inserta esa posicin en el vector &AA; la posicin &AA[4] anterior pasa a ser ahora la &AA[5].

Nota:

Referirse a los comandos DELETE, SPLINE y MOVES.

3-56

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

INT_ON / INT _OFF


DIRECTO/EDITOR

INT_ON/INT_OFF

DIRECTO/EDITOR

Formato:

INT_ON <eje1> {<eje2> ... <eje4>} INT_OFF <eje1> {<eje2> ... <eje4>} Donde: <eje1> ... <eje4> son servo ejes del sistema.

Descripcin:

Activa y desactiva el control de realimentacin integral de los servo ejes especificados. Se pueden especificar hasta cuatro ejes en un comando. La conmutacin se hace en el momento de la puesta en marcha.

Ejemplos:

INT_OFF 2 INT_ON 5

Notas:

Hay que asegurarse de usar un espacio subrayado entre INT y ON/OFF.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-57

JAW

DIRECTO/EDITOR

DIRECTO/EDITOR

JAW

Formato:

JAW <var> {<tiempo>} Donde: <var> y <tiempo> son constantes o variables definidas por el usuario.

Descripcin:

<Var> es el porcentaje requerido de abertura de la pinza. El comando JAW dimensiona la abertura de la pinza en el tamao de <var> dentro del tiempo especificado. Si se omite el <tiempo>, el movimiento tiene lugar a mxima velocidad. Aviso! Hay que asegurarse de seleccionar una <var> adecuada. Un tamao incorrecto originara un suministro de potencia constante y excesivo al motor, y puede daarlo. El comando JAW no es aplicable para la pinza SCORBOT-ER VII sin encoder.

Ejemplos:

JAW 40 Abre la pinza hasta el 40 por ciento de su abertura.

JAW 0 Cierra la pinza. Notas: El comando JAW activa el servo control para el eje de la pinza mientras que los comandos OPEN/CLOSE desconectan el eje de la pinza del servo circuito de control. A menos que sea necesario el comando JAW para una aplicacin especfica, se recomienda utilizar los comandos OPEN y CLOSE.

3-58

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

EDITOR

EDITOR

Formato: Descripcin:

L <lnea1> <lnea2> Presenta una lista de lneas de programa, desde la primera lnea especificada hasta la segunda lnea especificada. 16 : ?L 3 13 ******* Listing 3 to 13 ******* 3: GOSUB MVMAX 4: IF MVMAX 5: IF VA>=VB 6: MOVE O 7: DELAY 1 8: SET TI=LTA - LTB 9: IF TI> 100 10: MOVE 00 TI 11: ELSE (9) 12: MOVE 00 13: ENDIF (9) ******* End of listing ***** Cuando se use este comando, los comandos ENFOR, ENDIF y ELSE irn seguidas de un nmero que corresponder con su respectivos comandos FOR y IF.

Ejemplo:

Nota:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-59

LABEL
EDITOR

LABEL

EDITOR

Formato:

LABEL <etiqueta n> Donde: <etiqueta n> es cualquier nmero, 0_ etiqueta n_ 9999.

Descripcin: leer Ejemplos:

Marca el comienzo de una subrutina de programa que se ejecuta al el comando GOTO. LABEL 12 MOVEL 1 MOVE 15 20 OPEN MOVE JJ GOTO 12

El programa saltar hasta LABEL 12

3-60

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

LET PAR
DIRECTO Formato: LET PAR <n> <valor>

LET PAR
DIRECTO

Donde: <n> es el nmero del parmetro y, <valor> es una constante o variable definida por el usuario. Descripcin: Fija el parmetro del sistema seleccionado <n> al <valor>. La mayora de los parmetros slo se pueden cambiar en modo PRIVILEGE. Ejemplos: LET PAR 21=400 LET PAR 299=50 Notas: se (pone el parmetro 21 a un valor de 400) (pone el parmetro 299 a un valor de 50)

Aviso! Hay que tomar extremas precauciones al intentar cambiar los parmetros del sistema. No cambiar los parmetros mientras estn ejecutando programas. Una vez fijados los nuevos parmetros del sistema, activarlos ejecutando el comando: INIT CONTROL Consultar la descripcin de los parmetros del sistema en el Apndice B.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-61

LIST

DIRECTO

DIRECTO

LIST

Formato:

LIST {<prog>} Donde: <prog> es un programa definido por el usuario.

Descripcin:

Presenta todas las lneas del programa de usuario <prog>. Si se omite <prog>, se visualizan todos los programas de usuario. LIST OUT LIST Presenta todas las lneas del programa OUT. Presenta todas las lneas de todos los programas de usuario.

Ejemplos:

3-62

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

LISTP
DIRECTO

LISTP

DIRECTO

Formato: Descripcin: Ejemplos:

LISTP Presenta una lista con todas las posiciones definidas. LISTP PUNTOS DEFINIDOS nombre del punto: grupo: (eje) --------------------------0: A P[10]: A PICP[10] : A AA : A 00 : B B1 : B B2 : B BBA[50]: B C1 : C: 10 C2 : C: 11 C3[100]: C

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-63

LISTPV
DIRECTO

LISTPV

DIRECTO

Formato:

LISTPV <pos> LISTPV POSITION

Descripcin: la mixta.

LISTPV <pos>

Presenta en mixtas (unidades de codificador) ubicacin de la posicin especificada. Si <pos> es una posicin de robot (grupo A), aparecen ambas coordenadas, cartesiana y Presenta la ubicacin actual del brazo del

LISTPV POSITION robot. Ejemplos: LISTPV P1 Position P1 (Joint) 1:0 2: 5 X: 5.197 Y:0.000

3: 13926 Z: 29.963 P: 12.594

4:05:0 R:-3.200

Los valores de eje de P1 aparecen en unidades de codificador. Si P1 es una posicin de robot, los valores cartesianos tambin aparecen en dcimas de milmetro (X,Y,Z) y dcimas de grado (inclinacin y giro).

3-64

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

LISTVAR
DIRECTO

LISTVAR
DIRECTO

Formato: Descripcin:

LISTVAR Presenta variables de usuario y de sistema. Los corchetes indican variables de vector; por ejemplo, IN[16]. Los parntesis redondos indican una variable local, usada slo por el programa especificado; por ejemplo, I(DEMO).

Ejemplos:

LIST VAR VARIABLES DEL SISTEMA ************************ IN[16] ENC[11] TIME CPOS[12] ZP[12] LTA LTB MFLAG ERROR ERRPR ERRLI OUT[16] ANOUT[11] VARIABLES DE USUARIO *********************** I (DEMO) J (DEMO) I (IO) I (INOUT) G1 G2

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-65

MODULO ROLL
DIRECTO/EDITOR Formato: Descripcin: MODULO ROLL

MODULO ROLL
DIRECTO/EDITOR

Devuelve el valor del eje Roll (giro de la mueca) a un valor dentro de 360, sin mover el eje. Con este comando se pueden realizar rotaciones ilimitadas del eje Roll. Es til, por ejemplo, en aplicaciones donde el elemento terminal es por ejemplo un atornillador. MODULO ROLL no es ejecutado hasta que el buffer de movimiento esta vaco. Atencin: utilice este comando con precaucin, teniendo en cuenta los cables y otros elementos que limiten el giro de la pinza.

Ejemplo:

HERE POS1 LABEL 1 SHIFTC POS1 BY R 190 MOVE POS1 SHIFTC POS1 BY R 190 MOVE POS1 MODULO ROLL SHIFTC POS1 BY R 190 MOVE POS1 GOTO 1

gira 190 gira otros 190 (total 380) Roll vuelve a un valor de 20 gira 190 (total 210)

3-66

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

MOVE / MOVED
DIRECTO/EDITOR

MOVE / MOVED
DIRECTO/EDITOR

Se ruega leer cuidadosamente esta seccin. El comando MOVE puede ser origen de confusiones ya que su ejecucin puede no estar sincronizada con el flujo de programa. El comando MOVED suele ser ms adecuado para la mayora de las aplicaciones.

MOVE
Formato: MOVE <pos> {<tiempo>} Donde: <pos> es un nombre definido por el usuario y<tiempo> es una constante o variable definida por el usuario. Descripcin: de MOVE <pos> Desplaza el robot a la posicin especificada, acuerdo con la velocidad actual.

MOVE <pos> <tiempo> Desplaza el robot a la posicin dentro del tiempo especificado. El tiempo se da en unidades de centsimas de segundo. El comando MOVE deposita un comando de movimiento en el buffer de movimiento. El programa que lanza el comando MOVE no espera que termine el movimiento. La rutina de programa continua independientemente de cuando se ejecuta el comando MOVE. Si el programa consta de varios comandos MOVE consecutivos, el programa los lee hasta que el buffer de movimiento este lleno, independientemente de su ejecucin real. Por tanto, los programas que contengan comandos distintos de MOVE pueden no ejecutarse en la secuencia de programa aparente. La duracin (el tiempo) de la ejecucin del comando MOVE es la especificada (o la calculada a partir de la velocidad actual) independientemente de cuanto se acerque el eje a la posicin objetivo. Hay tres mtodos para asegurar la secuencialidad en un programa que contenga comandos MOVE: 1. Hay que usar el MOVE con su opcin <tiempo>, seguido por un comando DELAY de igual tiempo. Por ejemplo: MOVE <pos1> <tiempo1> DELAY <tiempo1>
Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 3-67

MOVE <pos2> <tiempo2> DELAY <tiempo2> 2. Hay que usar comandos secuenciadores como WAIT. Por ejemplo: MOVE <pos1> WAIT IN[1]=1 3. Usar el comando MOVED.

MOVED
Formato: MOVED <pos> {<tiempo>} Donde: <pos> es una posicin definida por el usuario, y<tiempo> es una constante o variable definida por el usuario. Descripcin: A diferencia del comando MOVE, el comando MOVED asegura la ejecucin secuencial de las operaciones definidas en el programa. Un comando MOVED se deposita en el buffer de movimiento solo cuando se ha ejecutado por completo el comando MOVED anterior. su Un comando MOVED solo se termina cuando los ejes han llegado a posicin objetivo dentro de la precisin especificada, no importa el tiempo que cueste, e incluso cuando se ha definido <tiempo>. Para asegurar la ejecucin del comando MOVED dentro de un periodo de tiempo definido, se lanza el comando EXACT OFF. Por ejemplo: EXACT OFFA MOVED <pos1> MOVED <pos2> EXACT A MOVED <pos3> Los ejes alcanzan <pos1> y <pos2> dentro de un periodo de tiempo definido. Los ejes alcanzan <pos3> dentro de la precisin requerida, independientemente del tiempo.

3-68

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

Resumen MOVE, MOVED


1. Comando MOVE: Fcil de programar, no garantiza la secuencialidad ni la precisin.

2. Comando MOVED: Garantiza la secuencialidad y la precisin, pero no el tiempo. 3. Comando MOVED Garantiza la secuencialidad y el tiempo, comando EXACT OFF: pero no la precisin. Ejemplos: MOVE 3 MOVE AA PRINT "COMMAND probablemente GIVEN" MOVE 3 MOVE AA MOVE POS[1] SET OUT[1] = 1 DELAY 1000 El robot se desplaza a la posicin 3 y despus a la posicin AA. La lnea "COMMAND GIVEN" se imprimir antes de que se complete el movimiento real. Los tres comandos de movimiento se depositan casi simultneamente en el buffer de movimiento. El robot se desplaza a la posicin 3, despus hacia AA y despus a POS[1]. Al mismo tiempo que se produce el movimiento a la posicin 3, la Salida 1 se activa (ON) y el programa se demora durante 10 segundos. Este programa acaba unos 10 segundos despus de su activacin, independientemente de la ubicacin de los ejes. El robot se mueve a la posicin 3 en 5 segundos, despus AA en 8 segundos, despus a POS[1] en 2 segundos. Despus se activa la Salida 1 y se produce una demora de 10 segundos. El tiempo total para la ejecucin de un programa es 25 segundos ms una fraccin de tiempo despreciable para ejecutar comandos. Todos los comandos se ejecutan secuencialmente. Todas las posiciones se alcanzan dentro de la precisin tolerada. Se observaron los ejes haciendo pausas en algunas posiciones.

MOVE 3 500 DELAY 500 MOVE AA 800 DELAY 800 MOVE POS[1] 200 DELAY 200 SET OUT[1]=1 DELAY 1000 MOVED 3 SET OUT[1]=1 DELAY 1000 MOVED AA MOVED POS[1]

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-69

EXACT OFFA MOVED 3 MOVED AA EXACT A MOVED POS[1] CLOSE SETOUT[1]=1

Se recomienda este formato de programa, que asume que la posicin 3 y AA estn a lo largo de una trayectoria y que la posicin POS[1] es donde se recoge un objeto. La posicin 3 y AA se alcanzan en un tiempo especificado, independientemente de la precisin, pero con una demora posible Todos los comandos de este programa se activan en secuencia.

Notas:

Consultar el comando EXACT.

3-70

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

MOVEC / MOVECD
DIRECTO/EDITOR

MOVEC / MOVECD
DIRECTO/EDITOR

Formato:

MOVEC <pos1> <pos2> MOVECD <pos1> <pos2> solo EDITOR

Descripcin:

Desplaza el robot por una trayectoria circular, desde su ubicacin actual hasta <pos1>, a travs de <pos2>. La ubicacin de <pos2> y <pos1> determina el tiempo necesario para completar el movimiento. El tiempo requerido para completar un movimiento puede definirse mediante un comando SPEED precedente. La velocidad del movimiento circular determina la precisin de la trayectoria circular. Los dems aspectos de los comandos MOVEC/MOVECD son similares a los de los comandos MOVE/MOVED. Aviso! Hay que tener cuidado al registrar posiciones para comandos MOVEC. Las limitaciones mecnicas u obstculos, como el propio robot, pueden hacer que el arco resultante no sea vlido. MOVEC 1 2 Se desplaza por una trayectoria circular desde la posicin actual a la posicin 1 va posicin 2. SPEED 20 Se desplaza por una trayectoria circular desde MOVEC 2 1 la posicin actual a la posicin 2, pasando por la posicin 1, a una velocidad 20.

tales Ejemplos:

Notas:

Este comando es vlido solamente para posiciones de robot (grupo A).

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-71

MOVEL /MOVELD
DIRECTO/EDITOR

MOVEL / MOVELD
DIRECTO/EDITOR

Formato:

MOVEL <pos1> {<tiempo>} MOVELD <pos1> {<tiempo>} slo EDITOR

Descripcin:

Desplaza el robot por una trayectoria lineal, desde su ubicacin actual hasta <pos1>. La velocidad del movimiento lineal determina la precisin de la trayectoria. Aviso! Hay que tener cuidado al registrar posiciones para comandos MOVEL. Las limitaciones mecnicas u obstculos, tales como el propio robot, pueden hacer que el arco resultante no sea vlido. Los dems aspectos de los comandos MOVEL/MOVELD son similares a los de los comandos MOVE/MOVED.

Ejemplos: Notas:

MOVELD TR

Se desplaza por una lnea recta hasta la posicin TR.

Este comando es vlido solamente para posiciones de robot (grupo A).

3-72

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

MOVES / MOVESD
DIRECTO/EDITOR

MOVES /MOVESD
DIRECTO/EDITOR

Formato:

MOVES <pvect> <primpos> <ultpos> {<tiempo>} MOVESD <pvect> <primpos> <ultpos> {<tiempo>} slo EDITOR. Donde: <primpos> es la primera posicin alcanzada, y <ultpos> es la ltima posicin alcanzada.

Descripcin:

Desplaza los ejes a travs de cualquier nmero de posiciones de vector consecutivas, desde <primpos> hasta <ultpos>, sin pausas. Se aplica un perfil de movimiento a todo el movimiento. Aceleracin y desaceleracin slo se producen en las posiciones primera y ltima. Como el tiempo asignado a cada segmento es igual, la velocidad del movimiento es determinada por la distancia entre las posiciones de vector. Cuanto mayor sea la distancia entre dos posiciones de vector consecutivas, ms rpido se mover el robot a travs de ese segmento de la trayectoria. Los dems aspectos de los comandos MOVES/MOVESD son similares a los de los comandos MOVE/MOVED.

Ejemplos:

MOVED PATH[1] Se desplaza a la posicin de comienzo 1. MOVESD PATH 2 20 Se desplaza en una trayectoria continua MOVESD PATH 19 1 a travs de las posiciones 2 a 20. Despus ejecuta la misma trayectoria en direccin opuesta. Ver comandos SPLINE y SPLINED

Nota:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-73

NOECHO
DIRECTO

NOECHO

DIRECTO

Formato: Descripcin:

NOECHO. Cancela la modalidad ECHO. En modalidad NOECHO, los caracteres transmitidos al controlador no aparecen por pantalla. El comando ECHO cancela la modalidad NOECHO.

3-74

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

NOQUIET
DIRECTO

NOQUIET
DIRECTO

Formato: Descripcin: DIRECTOS

NOQUIET Durante la ejecucin de un programa, todos los comandos dentro del programa (es decir, los comandos introducidos con @ en modalidad de EDICION) se visualizan a medida que se ejecutan. Esta es la modalidad por defecto.

Notas:

Consultar el comando QUIET.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-75

OPEN

DIRECTO/EDITOR

DIRECTO/EDITOR

OPEN

Formato:

OPEN {<

ar>}

Donde: <var> es una constante o variable definida por el usuario 0 < var < 5000. Descripcin: OPEN Abre la pinza hasta el final de su movimiento Si la pinza est conectada al circuito de control, el comando OPEN lo desconecta antes de ejecutar el movimiento de la pinza. OPEN <var> Una variable o una constante fijada en el DAC de la pinza para mantener la impulsin del motor de la pinza para obtener fuerza de agarre adicional. La fuerza motriz es proporcional a <var>.

El comando OPEN desconecta la pinza del servo circuito de control. Aviso! Hay que usar la opcin de la variable con la mxima precaucin para evitar daos en el motor y su engranaje. Hay que usar este comando durante breves periodos, y fijar el valor de <var> lo ms bajo posible Ejemplos: OPEN OPEN 1000 OPEN PRESS Notas: Ver comando CLOSE. Abre la pinza Fija el valor DAC de la pinza en 1000 Fija el valor DAC de la pinza en el valor de PRESS.

3-76

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ORIF
EDITOR

ORIF
EDITOR

Formato:

ORIF <var1> <cond> <var2> Donde: <var1> son constantes o variables definidas por el usuario, y <cond> puede ser, <,>,=,<=,>=,< >

Descripcin:

Comando tipo IF. ORIF combina lgicamente con una condicin y otros comandos IF. IF A=B ORIF A=D CLOSE ELSE OPEN ENDIF Consultar el comando IF.

Ejemplos:

Notas:

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-77

EDITOR

EDITOR

Formato: Descripcin:

P En modalidad de EDICION, va a la lnea anterior del programa

3-78

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PASSWORD
DIRECTO Formato: Descripcin: PASSWORD

PASSWORD
DIRECTO

Se requiere un password para entrar en modo PRIVILEGE. Este comando permite cambiar el password para entrar en este modo. > PASSWORD INTRODUZCA EL PASSWORD ACTUAL: INTRODUZCA EL NUEVO PASSWORD: INTRODZCALO DE NUEVO:

Nota:

Referirse al comando PRIV

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-79

PEND / POST
EDITOR

PEND / POST
EDITOR

Formato:

PEND <var1> FROM <var2> POST <var3> TO <var2> Donde:<var1> y <var2> deben ser variables definidas por el usuario y <var3> es una variable o una constante.

Descripcin:

Los comandos PEND y POST son tiles para sincronizar la ejecucin simultnea de programas. Cuando un programa encuentra un comando PEND <var1> FROM <var2>, ocurre una de las dos cosas siguientes: 1. Si <var2> tiene un valor de cero, se suspende la ejecucin del programa hasta que otro programa en ejecucin "enve" un valor distinto de cero por medio del comando POST <var1> TO <var2. 2. Si <var2> tiene un valor distinto de cero, se asigna ese valor a <var1> y el valor de <var2> se fija en cero.

Ejemplos:

PROGRAM DOACT GLOBAL SIGN La ejecucin del programa DOACT SET SIGN=0 quedar suspendida hasta que se PEND VALUE FROM SIGN active el programa SEND y asigne RUN ACT a SIGN un valor de 1. END PROGRAM SEND POST 1 TO SIGN END

3-80

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PRCOM
EDITOR

PRCOM

EDITOR

Formato:

PRCOM<n> <arg1> {<arg2> <arg3>}

Donde: <n> es un puerto RS232 de comunicaciones, 1<=n<=8 y <arg> es o bien una variable o una cadena de caracteres entrecomillada Descripcin: Enva cadenas de caracteres y variables por el puerto RS232 especificado. El texto que sigue a PRCOM <n> puede contener hasta 30 caracteres y espacios sin incluir comillas. El texto puede contener un total de 3 argumentos y/o variables. Una variable es un argumento, sin importar su longitud. Una cadena de hasta 10 caracteres es un argumento. Cadenas que excedan de 10 y 20 caracteres son tratadas como 2 y 3 argumentos respectivamente. Ejemplo: PRCOM 6 "TESTING" El texto "TEXTING" ser transmitido por el puerto serie nmero 6.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-81

PRINT

DIRECTO/EDITOR

DIRECTO/EDITOR

PRINT

Formato:

PRINT <arg1> {<arg2>...<arg4>} Donde: <arg> es o una variable o una serie dentro de comillas ("").

Descripcin:

Presenta en pantalla valores de variables y series. El texto que sigue a PRINT puede contener hasta 40 caracteres y espacios, sin incluir las comillas. El texto puede contener un total de 4 argumentos y/o variables. Una variable es un argumento, independientemente de su longitud. Una serie de hasta 10 caracteres es un argumento. Las series que superan 10, 20 y 30 caracteres se tratan, respectivamente, como argumentos dos, tres y cuatro.

Ejemplos:

SET NA=5 PRINT "EL ROBOT TIENE" NA "EJES" En pantalla aparecer: "El robot tiene 5 ejes". El texto "el robot tiene" constituye los argumentos 1 y 2 (contiene 13 caracteres); la variable NA es el argumento 3; el texto "ejes" es el argumento 4.

3-82

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PRINTLN
EDITOR

PRINTLN
EDITOR

Formato: Descripcin: Ejemplos:

PRINTLN <arg> {<arg2> ... <arg4>} Igual que PRINT, pero inserta un retorno del carro antes del texto visualizado. SET X=7 SET Y=15 SET J=8 SET K=20 PRINTLN "EL NIVEL DEL TANQUE #" X "ES," Y PRINT "PULGADAS" PRINTLN "EL NIVEL DEL TANQUE #" J "ES," K PRINT "PULGADAS" Aparecer: EL NIVEL DEL TANQUE #7 ES, 15 PULGADAS EL NIVEL DEL TANQUE #8 ES, 20 PULGADAS

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-83

PRIORITY
EDITOR Formato: PRIORITY <prog> <var>

PRIORITY

EDITOR

Donde: <prog> es un programa definido por el usuario.<var> es una constante o variable definida por el usuario. Descripcin: Cuando se ejecutan varios programas concurrentemente, los que tengan mayor prioridad se ejecutaran primero. Los programas de usuario con la misma prioridad comparten tiempo del CPU empleando un algoritmo de distribucin igual. La prioridad por defecto de los programas de usuario es 5. El comando PRIORITY cambia tanto las prioridades por defecto como las actuales de <prog> en el valor de <var>. Las prioridades van de 1 a 10, siendo 10 la ms alta. Si el valor de <var> es mayor de 10, se fija la prioridad en 10. Si es menor de 1, se fija la prioridad en 1. Ejemplos: Notas: PRIORITY PALET 7 Asigna al programa PALET una prioridad 7 Consultar el comando RUN.

3-84

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PRIV[ILEGE]
DIRECTO

PRIV[ILEGE]
DIRECTO

Formato:

PRIV [ON / OFF] PRIVILEGE [ON / OFF]

Descripcin: El modo PRIVILEGE previene el acceso a ciertos comandos y a los parmetros del controlador. Los siguientes comandos estn protegidos: SET ANOUT CLR LET PAR Los siguientes parmetros no estn protegidos: PAR 73, 74, 75, 76, 274, 275 (parmetros de pinza) PAR 219 PAR 220, 236 PAR 260 + Axis Para activar el modo PRIVILEGE utilice el comando: PRIV ON E introduzca el password Para salir del modo PRIVILEGE teclee PRIV OFF.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-85

PROFILE

DIRECTO/EDITOR

DIRECTO/EDITOR

PROFILE

Formato:

PROFILE PARABOLE A/B/C PROFILE TRAPEZE A/B/C

Descripcin:

Asigna un perfil de movimiento al grupo especificado. Hay dos perfiles de control de trayectoria disponibles: paraboloide y trapezoide. El comando TRAPEZE hace que los ejes aceleren y desaceleren rpidamente al comienzo y final del movimiento, con una velocidad constante durante la trayectoria. El comando PARABOLE hace que los ejes aceleren lentamente hasta alcanzar la velocidad mxima, decelerando despus al mismo ritmo. Ver diagrama: Se pueden asignar diferentes perfiles de control para diferentes grupos de control. Por ejemplo, perfil paraboloide para el grupo A, perfil trapezoide para el grupo B.

Ejemplos:

PROFILE TRAPEZE A Cambia el perfil de movimiento del robot a TRAPEZE.

Notas:

La velocidad mnima de aceleracin y desaceleracin viene determinada por el parmetro 76.

TRAPEZIODE

PARABOLOIDE

3-86

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PRLNCOM
EDITOR

PRLNCOM

EDITOR

Formato:

PRLNCOM <n> <arg1> {<arg2> <arg3>}

Donde: <n> es un puerto RS232 de comunicaciones, 1<=n<=8 <arg> es o bien una variable o una cadena de caracteres entrecomillada

Descripcin: Ejemplo:

Igual que el comando PRCOM, pero aade un retorno de carro despus del envo del texto por el puerto.

PRLNCOM 7 "EL VALOR ES" VAL[I] El texto "EL VALOR ES" y el valor de la variable VAL[I] sern transmitidos por el puerto 7 seguido de un retorno de carro. Si, por ejemplo, el valor de VAL[I] es 26, la cadena "26" (no el carcter ASCII 26) ser enviado por el puerto 7.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-87

PSTATUS

DIRECTO/EDITOR

DIRECTO/EDITOR

PSTATUS

Formato:

SET var = PSTATUS pos Donde: var es una variable Pos una posicin

Descripcin:

Asigna a var un valor de acuerdo con el tipo de posicin especificado, basado en las siguientes definiciones: Valor = Tipo de posicin 0 = Posicin definida, pero coordenadas no grabadas 1 = Posicin absoluta en Ejes 2 = Absoluta XYZ Espacio A 3 = Absoluta XYZ Espacio B 4 = Relativa por Ejes a otra posicin 5 = Relativa XYZ a otra posicin 14 = Relativa por ejes a la posicin actual 15 = Relativa por XYZ a la posicin actual

Ejemplos:

SET PV = PSTATUS A La variable PV tomar el valor de acuerdo al tipo de posicin.

3-88

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

PURGE
DIRECTO

PURGE

DIRECTO

Formato: Descripcin:

PURGE Borra de la RAM de usuario todas las variables locales y globales que no son utilizadas por ningn programa.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-89

PVAL / PVALC
EDITOR/DIRECTO

PVAL / PVALC
EDITOR/DIRECTO

Formato:

SET var = PVAL pos axis SET var PVALC pos coord Donde: pos es una posicin del robot (grupo A) axis es un nmero de eje var es una variable coord puede ser : X, Y, Z, P, R

Descripcin:

SET var = PVAL pos axis Asigna a var el valor en Joints del eje especificado de la posicin especfica SET var = PVALC pos coord Asigna a la variable var una de las coordenadas Cartesianas de la posicin especfica El valor de la coordenada Cartesiana que es asignada a la variable esta definida en micras. Pitch y Roll en milsimas de grado.

Ejemplos:

SET JV = PVAL BUF[1] 1 JV recibe el valor de la coordenada en Joint del eje 1 de la posicin BUF[1] SET C = PVALC POSITION Y C recibe el valor de la coordenada Y de la posicin actual del robot.

3-90

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

QPEND / QPOST
EDITOR Formato: QPOST <var3> TO <var2> QPEND <var1> FROM <var2>

QPEND / QPOST
EDITOR

Donde: <var1> es una variable definida por el usuario. <var2> es un vector definido por el usuario. <var3> es una constante o variable definida por el usuario. Descripcin: QPOST QPEND Pone en cola los valores a procesar. Toma los valores de la cola en el mismo orden en que los introdujo el comando QPOST.

Si se acaba la cola, QPEND suspende la ejecucin del programa hasta que un comando QPOST introduce un valor. <var2> El tamao mximo de la cola es igual a la dimensin del vector menos 1. Si la cola est llena, QPOST suspende la ejecucin del programa hasta que un comando QPEND toma un valor de la cola. Importante! Se debe inicializar una cola antes de usarla poniendo todos sus elementos a cero. Ejemplos: PROGRAM INITQ DIMG QUEUE[10] DEFINE I FOR I=1 TO 10 SET QUEUE[1]=0 ENDFOR Define e inicializa la cola.

PROGRAM DOACT Toma un valor de la cola. DEFINE VALUE LABEL 1 El programa ACT se ejecutar cuando QPEND VALUE FROM QUEUE el comando SEND deposite valores en RUN ACT QUEUE. Si no se ha enviado ningn GOTO 1 valor, se suspender DOACT hasta la END llegada de un valor. PROGRAM SEND POST 1 TO QUEUE END Pone un valor en la cola.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-91

QUIET
DIRECTO

QUIET

DIRECTO

Formato: Descripcin:

QUIET Cancela la modalidad NOQUIET. En modalidad QUIET, los comandos DIRECTOS dentro del programa (los precedidos por @) no aparecern durante la ejecucin del programa. Ver comando NOQUIET.

Notas:

3-92

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

READ
EDITOR

READ
EDITOR

Formato:

READ <arg1> {<arg2> ... <arg4>} Donde: <arg> es o una variable o una string dentro de comillas (""). string: es una cadena (serie) de caracteres.

Descripcin:

<ENTER> interpreta

Cuando READ encuentra un argumento que es una string, el texto aparecer como una sentencia PRINT. Cuando READ encuentra un argumento que es una variable, aparecer en pantalla un "?", indicando que esta esperando la introduccin de un valor. Slo se considerarn los valores numricos. La pulsacin de sin especificar un valor, introducir un valor cero. Cualquier respuesta a "?" es distinta de un valor numrico se como un comando. Si se introduce un comando, se ejecutar y el comando READ pedir de nuevo que se introduzca un valor presentando el mensaje: ENTER value>> (introducir valor) READ "introducir valor de x" X Aparecer por pantalla: Introducir valor de x? Si se introduce 254, se asignar a X el valor 254.

Ejemplos

Nota:

Ver comando PRINT.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-93

READCOM
EDITOR

READCOM

EDITOR

Formato:

READCOM<n> <var>

Donde: <n> es un puerto RS232 de comunicaciones, 1<=n<=8 <var> es una variable.

Descripcin:

Comando complementario al PRLNCOM Cuando el comando READCOM es encontrado, espera por el puerto especificado una cadena que contenga cdigos ASCII seguidos de un retorno de carro. Ese valor numrico es asignado a la variable especificada.

Ejemplo: READCOM !, RPART IF RPART > 9999 PRINTLN "NO PUEDO REALIZAR MAS DE 9999 PIEZAS"

3-94

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

RECEIVE
DIRECTO

RECEIVE

DIRECTO

Formato: Descripcin:

RECEIVE {<prog>} Los comandos RECEIVE cargan datos desde un fichero de reserva de usuario a la RAM de Usuario del controlador a travs de la lnea RS232C. Aviso! Este comando borra el contenido de la RAM de Usuario del controlador. El fichero a recibir debe estar en el formato creado por el comando SEND. Tras introducir el comando RECEIVE, el controlador responde: AVISO, TODOS LOS PROGRAMAS, PUNTOS Y VARIABLES DE USUARIO SE BORRARAN!!! ASEGRESE DE TENER UNA RESERVA. Esta determinado a realizar la inicializacin?? (SI/NO) Si la respuesta es s , el controlador responde lo siguiente: POR FAVOR ENVIE FICHEROS (Consultar la documentacin del terminal para instrucciones exactas acerca del envo y recepcin de ficheros). El ordenador enva ahora el fichero lnea por lnea al controlador. Despus de cada lnea, el ordenador espera que el controlador transmita un signo dos puntos ":". Esto indica que se puede enviar la siguiente lnea. La ltima lnea del fichero a transmitir debe ser, (END) A lo que el controlador responde: FIN DE LA CARGA RECEIVE <prog> acepta el contenido de un fichero de reserva en el formato generado por los comandos SEND. Acepta slo un programa e inserta su contenido al <prog> especificado. No afecta al resto de programas y posiciones almacenados en la RAM de Usuario.

Notas:

Si se esta usando ATS, se puede reservar y restaurar ms fcilmente la AM de Usuario utilizando el men Backup Manager (Gestor de Reservas). Consultar el comando SEND.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-95

REMOVE
DIRECTO

REMOVE

DIRECTO

Formato: Descripcin:

REMOVE <prog> Borra un programa de usuario de la RAM de usuario y deja libre todo el espacio asignado a ese programa. El sistema pedir verificacin: Est seguro? (si /no) Tambin se borran las variables locales asignadas a este programa.

Ejemplos:

REMOVE PALET Borra el programa PALET.

3-96

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

RENAME
DIRECTO

RENAME

DIRECTO

Formato: Descripcin:

RENAME <prog1> <prog2> Cambia el nombre del programa de usuario de <prog1> a <prog2>. Si el nombre <prog2> ya existe, el comando no se ejecuta, y aparece un mensaje de error: <prog2> ya existe Una vez cambiado un nombre de programa, ya no existe el nombre original <prog1>.

Ejemplos:

RENAME PAL NEW El programa PAL se llama ahora NEW. El programa PAL ya no aparece en la lista del directorio.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-97

RUN

DIRECTO

DIRECTO

RUN

Formato:

RUN <prog> {<var>} Donde: <prog> es un nombre de programa definido por el usuario, y,<var> es una constante o variable definida por el usuario.

Descripcin:

Comienza la ejecucin de una tarea a partir de la primera lnea del programa <prog>. Cuando un programa de usuario encuentra un comando RUN <prog>, ambos programas se ejecutan concurrentemente. <Var> es la prioridad del programa, y va de 1 (la ms baja) a 10 (la ms alta). En la modalidad de EDICION, se puede asignar una prioridad introduciendo una variable o bien con el comando PRIORITY, o bien con el comando RUN. Si no se asigna prioridad, la prioridad del programa se fija automticamente por defecto en 5. En modalidad DIRECTA, si no se especifica una prioridad al introducir el comando RUN, el programa asume la prioridad por defecto o la ltima fijada por los comandos PRIORITY o RUN. Si se especifica prioridad, la prioridad por defecto del programa cambia al nuevo valor. Programas con la misma clasificacin de prioridad se ejecutaran concurrentemente.

Ejemplos:

RUN DEMO por defecto. RUN IOS 9

El programa DEMO se ejecuta en la prioridad El programa IOS se ejecuta en prioridad 9.

3-98

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

EDITOR

EDITOR

Formato: Descripcin:

S {<lnea n>} Un comando utilizado durante la edicin de programas de usuario. Se Desplaza el editor a la primera lnea del programa actualmente editado. S <lnea n>Desplaza el editor a la lnea especificada.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-99

SENDCOM
EDITOR

SENDCOM

EDITOR

Formato:

SENCOM<n> <var>

Donde: <n> es un puerto RS232 de comunicaciones, 1<=n<=8 <var> es una variable o constante

Descripcin: Ejemplo:

Enva un byte a travs del puerto RS232 especificado. El valor del byte se especifica por una variable o por una constante. PROGRAMA ESC DEFINE I CLRCOM 2 FOR I=1 TO 5 SENCOM 2, 27 DELAY 20 ENDFOR END Este programa borra el buffer del puerto 2 y enva el valor 27 (cdigo <esc> de ASCII) 5 veces por ese puerto.

3-100

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

SEND
DIRECTO

SEND
DIRECTO

Formato:

SEND SEND <prog> SENDPROG SENDVAR SENDPOINT SENDPAR Donde: <prog> es un programa definido por el usuario.

Descripcin:

Los comandos SEND producen listas en un Formato compatible con los comandos APPEND y RECEIVE. La transmisin de una lista creada por SEND a un ordenador host produce una copia de reserva de los datos. SEND Produce una lista de todos los programas de usuario, variables, puntos, parmetros y asignaciones en un Formato compatible con RECEIVE y APPEND. SEND sirve para crear una reserva completa de la RAM de Usuario. SEND <prog> Produce una lista del programa de usuario especificado en un formato compatible con el comando RECEIVE <prog>. Produce una lista de todos los programas de usuario, cabeceras de programas de usuario, variables de usuario y posiciones de usuario en un formato compatible con RECEIVE y Hace una reserva completa de los programas de usuario con excepcin de parmetros del sistema. SENDVAR Produce una lista de todas las variables definidas por el usuario en un formato compatible con RECEIVE y APPEND. Produce una lista de todas las posiciones definidas por el usuario, en un formato compatible con RECEIVE y APPEND.
ACL para Controlador-B Versin F2.28 3-101

SENDPROG

APPEND.

SENDPOINT

Gua de Referencia 0404

SENDPAR RECEIVE

Produce una lista de todos los parmetros del sistema, en un formato compatible con y APPEND.

Despus de introducir el comando SEND, el controlador empieza a transmitir datos. Cuando llega al final de la lista, transmite la lnea: (END) (Para obtener instrucciones exactas sobre el envo y recepcin de ficheros, consultar la documentacin del terminal). Nota: Si se esta usando ATS, se puede reservar y restaurar ms fcilmente la RAM de Usuario utilizando el men Gestor de Reservas.

3-102

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

SET

DIRECTO/EDITOR Formato: SET <var1> = <var2> SET <var1> = NOT <var2> ET <var1> = COMPLEMENT <var2> SET <var1> = ABS <var2> SET <var1> = <var2> <oper> <var3> SET <var1> = PVAL <pos> <eje> SET <var1> = PVALC <pos> <coord> SET <var1> = PSTATUS <pos>

DIRECTO/EDITOR

SET

Donde: <var1> <var2> y <var3> son constantes o variables definidas por el usuario; <oper> es algo de lo siguiente: + - * / COS SIN TAN ATAN EXP LOG MOD AND OR; <pos> es una posicin definida por el usuario; <eje> es un nmero de eje; <coord> es una coordenada cartesiana: X, Y, Z, P o R. Descripcin: 1. SET <var1> = <var2> Asigna el valor de <var2> a <var1> 2. SET <var1> = NOT <var2> Asigna el valor lgico negativo de <var2> a <var1>. Si <var2> _0, entonces <var1> = 1; Si <var2> > 0, entonces <var1> = 0. 3. SET <var1> = COMPLEMENT <var2> Asigna el valor complementario de eje de <var2> a <var1>. Se toma el valor de <var2>, se invierte individualmente cada bit y el resultado se asigna a <var1>. 4. SET <var1> = ABS <var2> Pone el valor absoluto de <var1> a <var2>

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


Gua de Referencia 0404 ACL para Controlador-B Versin F2.28 3-103

Donde <oper> es algo de lo siguiente: +,-,*,/,MOD: Donde <oper> es, AND, OR:

Se ejecuta la funcin matemtica de <var2> y <var3> y se almacenan los resultados en <var1>. La operacin del bit AND/OR se ejecuta en <var2> y <var3> y el resultado se almacena en <var1>.

Aviso! Antes de realizar cualquier funcin trigonomtrica o logartmica, debe leer cuidadosamente esta descripcin. El controlador es una mquina de valores enteros y los valores fraccionarios deben convertirse a valores enteros. Donde <oper> es una funcin trigonomtrica: COS, SIN TAN. <var2> acta como un multiplicador y <var3> esta en grados: La funcin trigonomtrica de <var3> se computa y despus se multiplica por <var2>. Hay que recordar que el controlador utiliza aritmtica integral, as que el multiplicador debe ser lo suficientemente grande para dar la precisin esperada. El valor de <var3> se divide por 10000 antes de ejecutar el cmputo. El resultado se multiplica por <var2>. El resultado de la funcin ATAN se expresa en radianes. 6. SET <var> = PVAL <pos> <eje> Asigna a <var> el valor de mixtas del eje especificado en la posicin especificada. 7. SET <var1> = PVALC <pos> <coord> Asigna a <var1> una de las coordenadas cartesianas de la posicin especificada. <Pos> debe ser posicin de robot (grupo A). <Coord> puede ser algo de lo siguiente: X,Y,Z,P,R X,Y,Z se especifica en dcimas de milmetro.
3-104 ACL para Controlador-B Versin F2.28 Gua de Referencia 0404

Donde <oper> es una de las funciones: ATAN, EXP, LOG

P (de paso) y R (de giro) se especifican en dcimas de grado. 8. SET <var1> = PSTATUS <pos> Asigna a <var1> un valor de acuerdo con el estado de la posicin especificada. Estado de Posicin Ubicacin no definida Posicin fija Relativa por mixtas a otra posicin Cdigo 0 1 2

Relativa por compensacin cartesiana a otra posicin 3 Relativa por mixtas a la posicin actual 12

Relativa por XYZ (compensacin cartesiana) a la posicin actual 13 Ejemplos: SET A=B SET A=NOT B Si B es 0 entonces A se pone a 1; para cualquier otro valor distinto de B, A se pone a 0.

SET A=COMPLEMENT B Si B es 0, entonces A se pone a -1. SET A=ABS B SET A=B AND C SET A=1000 COS 60 COS 60 = 0,5; SET ST=PSTAT P1 Multiplicar por 1000; A se pone a 500. Si P1 es una posicin fija, entonces a ST se le asignaran valor de 1. Si B es -1, entonces A se pone a 1. Si B o C son 0, entonces A se pone a 0; Si ni B ni C son 0, entonces A se pone a 1.

SET y Variables del Sistema

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-105

Formato: Descripcin:

SET ANOUT [<eje>] = <DAC> Pone el valor de salida analgica del eje especificado en <DAC>. 5000DAC5000. Se usa para control de circuito abierto. Aviso! Usar con cuidado para evitar daos en el motor.

Formato: Descripcin:

SET OUT [<n>] = <estado> Fija el estado de la puerta de salida especificada. <estado> = 1 (ON) _0 (OFF).

Formato: Descripcin:

SET <var> = TIME Pone el valor de <var> en TIME. TIME es una variable de sistema que se expresa en tics de 10 milisegundos a partir del momento de la activacin del controlador.

3-106

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

SETP

DIRECTO/EDITOR

DIRECTO/EDITOR

SETP

Formato:

SETP <pos2> = <pos1> Donde: <pos2> y <pos1> son posiciones definidas por el usuario.

Descripcin:

Copia el valor de <pos1> en <pos2>. Ambas posiciones tienen ahora los mismos valores de ubicacin. Este comando es til para preparar <pos2> de forma que se pueda utilizar el comando SETPV para cambiar un valor de esa posicin.

Ejemplos:

SETP POINT=PLACE Se asigna a la posicin POINT los valores de coordenadas y el tipo de posicin de la posicin PLACE. DEFINE I FOR I =1 TO 100 SETP &A[I] = A[I] ENDFOR

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-107

SETPV

DIRECTO/EDITOR

DIRECTO/EDITOR

SETPV

Formato:

SETPV <pos>(slo DIRECTO) SETPV <pos> <eje> <valor>

Descripcin:

SETPV <pos>

(similar al comando TEACH). Fija la ubicacin de la posicin utilizando valores mixtos (unidades de codificador) para cada eje. Se pide la introduccin de valores de todos los ejes en la posicin especificada. SETPV P 1--[2388] > 2--[22857] > 3--[68120] > 4--[21510] > 5--[20825] > Done. El valor entre corchetes es el valor anterior utilizado para fijar una posicin. La pulsacin de <ENTER> confirma el valor actual. Si la posicin solicitada no es vlida, aparece el siguiente mensaje: BAD POINT COORDINATE (malas coordenadas del punto)

SETPV <pos> <eje> <val> Este comando esta pensado slo para modificar posiciones. Permite cambiar el valor codificador de un eje en una posicin registrada. Si se quiere que un programa cree una nueva posicin, introducir un comando HERE para registrar una posicin fija. Pueden fijarse entonces los valores de todos los ejes. SETPV <pos> <eje> <valor> no avisa de coordenada de punto invlida hasta que prueba y no lo alcanza.
3-108 ACL para Controlador-B Versin F2.28 Gua de Referencia 0404

Ejemplos:

SETPV PS 3 1000 1000. HERE PQ SETPV PQ 1 590 SETPV PQ 2 300 SETPV PQ 3 200 SETPV PQ 4 100 SETPV PQ 5 400

Fija el valor del eje 3 en la posicin PS en

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-109

SETPVC

DIRECTO/EDITOR

DIRECTO/EDITOR

SETPVC

Formato:

SETPVC <pos> <coord> <valor> Donde: <pos> es una posicin de robot (grupo A) definida por el usuario. <coord> es una coordenada cartesiana: X,Y,Z,P o R <valor> esta en dcimas de milmetro (XYZ) o grado (P,R).

Descripcin:

Este comando esta pensado slo para modificar posiciones. Permite cambiar una coordenada cartesiana en una posicin previamente registrada con el comando SETPV. SETPVC es al comando TEACH lo que SETPVC <pos> <eje> <valor> es para el comando SET <pos>. SETPVC no avisa de una coordenada de punto invlida hasta que prueba y no lo alcanza.

Ejemplos:

SET XV=1000 FOR I=1 TO 20 SETP V[I]=START SETPVC V[I] X XV SET XV=XV + 100 ENDFOR

3-110

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

SHIFT / SHIFTC
DIRECTO/EDITOR

SHIFT / SHIFTC
DIRECTO/EDITOR

Formato:

SHIFT <pos> BY <eje> <valor> SHIFTC <pos> BY <coord> <valor> Donde: <pos> es una posicin definida por el usuario; <pos> para SHIFTC debe ser una posicin de robot (Grupo A). <eje> especifica el nmero de eje; <coord> especifica la coordenada cartesiana: X,Y,Z,P o R. <valor> para SHIFTC es en dcimas de un mm (X,Y,Z) o un grado (P,R).

Descripcin: valor

Cambia la ubicacin de posicin del eje o coordenada dados en el especificado. SHIFT: coordenadas mixtas. SHIFTC: coordenadas cartesianas.

Ejemplos:

SHIFTC OBJ1 BY Z 1000 Cambia la posicin OBJ1 hacia arriba en 100 mm.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-111

SHOW
DIRECTO Formato: Descripcin: SHOW DIN

SHOW
DIRECTO

Se presenta el estado de las 16 entradas individuales en el Formato siguiente: >SHOW DIN 1 -> 16: 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 O.K.

Formato: Descripcin:

SHOW DOUT Presenta el valor de todos los codificadores cada 0,5 segundos en el Formato siguiente: enc1 enc2 enc3 enc4 enc5 enc6 enc7 enc8 1000 1000 1000 2371 2371 100 100 1000 Los valores actualizados continuarn destellando hasta que se pulse <CTRL+C>.

Formato:

SHOW DAC <n> Donde: <n> = nmero de eje, 1 _<N> _1.

Descripcin:

Presenta el valor DAC para el eje especificado en milivoltios. >SHOW DAC 7 DAC 7=0 O.K.

Formato: Descripcin:

SHOW PAR <n> Presenta el valor del parmetro de sistema <n> >SHOW PAR 261 PAR 261=10 O.K.

3-112

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

Formato: Descripcin:

SHOW SPEED Muestra los ajustes de velocidad actuales. Velocidad Lineal: afecta a los comandos MOVEL(D), MOVEC(D) y Lineal SPLINE(D). Velocidad Joint: MOVE(D), MOVES(D) y Joint SPLINE(D) Programa: velocidad leda en un programa Manual: velocidad seleccionada manualmente desde la botonera o desde el teclado.

Ejemplos:

>SHOW SPEED Linear Speed (mm/sec) Program Manual -------------------------------------------------------------------500 500.000 Joint Speed (%) Group A Group B Axis 9 Program 50 50 100 Manual 50 30 30

En la siguiente tabla se describe como se determinan los ajustes de la velocidad. Velocidad Lineal: Programa Definida por el comando SPEEDL var en modo EDITOR Se muestra en mm/seg. Velocidad Lineal : Manual Definida por el comando SPEEDL var en modo DIRECTO. Se muestra en mm/seg. Definida desde la Botonera con el comando SPEEDL en modo XYZ (introducida como un porcentaje de la velocidad lineal mxima). Se muestra en mm/seg. Velocidad Joint: Manual Definida por el comando SPEED var en modo DIRECTO Se muestra como un porcentaje de la velocidad mxima. Definida desde la Botonera con el comando SPEED en modo Joint (introducida como un porcentaje de la velocidad joint mxima). Se muestra como un porcentaje de la velocidad mxima

Velocidad Joint: Programa Definida por el comando SPEED var en modo EDITOR Se muestra como un porcentaje de la velocidad mxima.

Nota:

Ver comandos SPEED y SPEEDL.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-113

SPEED

DIRECTO/EDITOR

DIRECTO/EDITOR

SPEED

Formato:

SPEED{A/B} <var> SPEEDC <var> <eje> Var es una variable o una constante.

Descripcin: Fija el valor de velocidad de los movimientos MOVE, MOVES y SPLINE en joint. La velocidad se especifica en porcentajes. La velocidad mxima es 100; la mnima es 1. La velocidad por defecto es 50. Se puede fijar la velocidad de todos los ejes utilizando el comando SPEED. Se puede fijar la velocidad de un grupo especfico o de un eje del grupo C utilizando los comandos SPEEDA, SPEEDB o SPEEDC. se Ejemplos: Los comandos de movimiento que no incluyen un argumento tiempo ejecutan de acuerdo con el ajuste de velocidad. SPEED 60 SPEEDA 30 Nota: Para visualizar los ajustes de velocidad actuales, teclear: SHOW SPEED

3-114

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

SPEEDL
Formato:

DIRECTO/EDITOR

DIRECTO/EDITOR

SPEEDL

SPEEDL var Donde: var es una variable expresada en micras o Una constante expresada en milmetros. SPEEDL fija solamente la velocidad del robot (grupo A). Define la velocidad de los movimientos lineales y circulares del robot ( MOVEL, MOVEC, SPLINE lineal) en milmetros por segundo. Los movimientos que no incluyen el argumento de la duracin se ejecutan a la velocidad programada en SPEEDL. En modo DIRECTO, el comando SPEEDL toma efecto inmediatamente. Determina la velocidad de movimiento cuando se ejecutan los comandos MOVEL, MOVEC y SPLINE Lineal en modo DIRECTO. En modo EDITOR el comando SPEEDL toma efecto despus de que es ejecutado dentro de un programa. Determina la velocidad de movimiento cuando se ejecutan, dentro de un programa, los comandos MOVEL(D), MOVEC(D) y Lineal SPLINE. Para ver el estado actual de los ajustes de velocidad ejecutar SHOW SPEED.

Descripcin:

Ejemplo:

SET VARSP 12000 Ajusta la velocidad lineal/circular de movimientos del grupo A a 12mm/seg. SPEEDL 12.000 Ajusta la velocidad lineal/circular de movimientos del grupo A a 12mm/seg. SPEEDL 12 Ajusta la velocidad lineal/circular de movimientos del grupo A a 12mm/seg.

Notas:

Ver los comandos MOVE(D), MOVES(D), SPLINE(D), SPEED y SHOW SPEED.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-115

SPLINE/SPLINED
DIRECTO/EDITOR Formato: SPLINE pvect n1 n2 [duracin]

SPLINE/SPLINED
DIRECTO/EDITOR

SPLINED pvect n1 n2 [duracin] (slo en modo EDITOR). Donde: pvect es un vector de posiciones N1 es el ndice de la primera posicin N2 es el ndice de la ltima posicin. Descripcin: SPLINE mueve los ejes a travs o cerca de cualquier nmero de posiciones consecutivas de un vector, desde 1a n2, sin pausas y con un movimiento suave y continuo.

SPLINED los mismo que SPLINE excepto que el comando siguiente a SPLINED no ser ejecutado hasta que el robot haya conseguido llegar a la ltima posicin (como en un comando MOVED). Todas las posiciones del vector deben ser del mismo tipo; o absolutas en Joint o absolutas en XYZ. Los comandos SPLINE generan un suave movimiento del robot a travs o cerca de los punto del vector, desde n1 a n2. La trayectoria es calculada de tal manera que la velocidad y la aceleracin se mantienen dentro de los lmites de seguridad, de acuerdo con el parmetro 180+ eje (velocidad mxima) y 520 + eje (aceleracin mxima). A bajas velocidades, la trayectoria pasa a traves de las posiciones del vector. A altas velocidades la trayectoria redondea para mantener la aceleracin dentro de los lmites. La velocidad de movimiento entre dos posiciones consecutivas es constante. La Duracin esta definida en centsimas de segundo. Comandos que no disponen del argumento de duracin, son ejecutados de acuerdo con los ajustes de SPEED o SPEEDL. SPLINE/SPLINED puede ser ejecutado solamente por el robot o por un multieje, grupo A o grupo B. El comando no es aplicable a ejes simples. La trayectoria de SPLINE esta determinada por el tipo de posiciones contenidas en el vector.

Joint SPLINE
3-116 ACL para Controlador-B Versin F2.28 Gua de Referencia 0404

La trayectoria ser Joint (ejes) SPLINE si el vector contiene posiciones Absolutas por Joint . Si no se especifica duracin la velocidad vendr definida por SPEED. La trayectoria va por las posiciones con movimientos en Joint (como en un comando MOVE). La velocidad se mantiene constante durante el movimiento, excepto la aceleracin y deceleracin al comienzo y fin del movimiento. Este tipo de SPLINE da el movimiento ms rpido posible. Es til para aplicaciones que requieren una trayectoria suave y rpida, tal como operaciones de paletizado. SPLINE Lineal La SPLINE lineal se utiliza cuando las posiciones del vector son Absolutas en XYZ. Slo aplicable al robot (grupo A). Si no se especifica duracin la velocidad vendr definida por SPEEDL. La trayectoria va a travs de las posiciones en movimientos lineales (como en un comando MOVEL). La velocidad lineal del TCP del robot (punto central de la herramienta) se mantiene constante, excepto la aceleracin y deceleracin al comienzo y fin del movimiento. La trayectoria Lineal SPLINED es til para aplicaciones como la soldadura, pintura, pegado, etc..

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-117

STAT[US]
DIRECTO

STAT[US]
DIRECTO

Formato: Descripcin: incluye

STAT STATUS Presenta el estado de los programas de usuario activos. La lista prioridad del programa y estado de operacin. Un programa se reportar como "pendiente" si esta esperando que se complete un movimiento.

Ejemplos:

STAT> Nombre BOOM DEMO OC prioridad 5 5 5 estado DELAY PEND DELAY posicin 3:DELAY 15:MOVED 312:HERE

3-118

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

STOP
EDITOR

STOP

EDITOR

Formato: Descripcin:

STOP {<prog>} STOP Aborta todos los programas en ejecucin y detiene el movimiento de todos los ejes. STOP <prog>Aborta slo la ejecucin del programa especfico.

Ejemplos:

STOP STOP DEMO

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-119

SUSPEND

DIRECTO/EDITOR

DIRECTO/EDITOR

SUSPEND

Formato: Descripcin:

SUSPEND <prog> Suspende la ejecucin del programa especificado. El programa completa el comando que esta ejecutando actualmente, y despus va a la suspensin. Un programa suspendido puede continuarse desde el punto de suspensin utilizando el comando CONTINUE.

Ejemplos: Nota:

SUSPEND DEMO Ver comando CONTINUE.

3-120

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

TEACH
DIRECTO

TEACH
DIRECTO

Formato:

TEACH <pos> Donde: <pos> es una posicin de robot definida por el usuario (grupo A).

Descripcin:

Fija en coordenadas cartesianas la ubicacin actual de los ejes en <pos>. El controlador pide todos los valores. Los valores X,Y,Z son en dcimas de milmetro, mientras que los valores de paso (P) y giro (R) son en dcimas de grado. El valor entre corchetes es el valor previamente utilizado para instruir (teach) una posicin. La pulsacin de <Enter> confirma el valor actual. TEACH PP X -- [200.000] > Y -- [0.00] > Z -- [340.000] > P -- [-0.900] > R -- [0.00] > Las coordenadas Cartesianas estn definidas en milmetros. Pitch y Roll (P,R) estn definidas en grados. El valor mostrado entre corchetes es el valor ltimo introducido. Si no se ha introducido ningn valor aparece [.]. Pulse <Enter> para aceptar el valor entre corchetes o introduzca un nuevo valor. Si la posicin introducida no es vlida, aparece el siguiente mensaje: BAD POINT COORDINATE

Nota:

Ver el comando SETPV.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-121

TEACHR
DIRECTO

TEACHR
DIRECTO

Formato: Descripcin:

TEACHR <pos2> {<pos1>} Registra en coordenadas cartesianas la ubicacin de <pos2> relativa a otra posicin. Si <pos1> no se especifica, <pos2> ser relativa a la posicin actual del robot. Si se especifica <pos1>, <pos2> es relativa a <pos1>. Cuando se desplaza <pos1>, <pos2> se desplaza correspondientemente. Los valores X,Y,Z son en dcimas de milmetro, mientras que paso y giro (R) son en dcimas de grado. TEACHR OVER TABLE X [0] > Y [0] > Z [0] > 2000 P [0] > R [0] > La posicin OVER estar 200 mm verticalmente por encima de la posicin TABLE y ser relativa a esta .

(P) Ejemplos:

3-122

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

TEST

DIRECTO

DIRECTO

TEST

Formato: Descripcin:

TEST Ejecuta un programa de pruebas de hardware interactivo. TEST comprueba el servo circuito de control desplazando todos los ejes definidos. Si falla un eje, aparece un mensaje: TEST FAILURE AXIS <n> (Fallo del eje n )

Este mensaje tambin se da cuando los ejes definidos no existen realmente, o cuando A y B no esta conectados. Tras terminar el servo test, TEST activa todas las salidas y despus las desactiva. Despus TENTER entra en modalidad interactiva. Rastrea las entradas y para cada entrada activada (ON), TEST fija la salida correspondiente. El comando A (Abortar) es la nica forma de detener el programa TEST.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-123

TON / TOFF
DIRECTO

TON / TOFF

DIRECTO

Formato: Descripcin:

TON {<n>} TOFF {<n>} 0 n 12 TON Activa la proteccin trmica del motor en todos los ejes o en un eje especfico. TOFF Desactiva la proteccin trmica del motor en todos los ejes o en un eje especfico. El sistema pide la confirmacin de COFF.

Nota:

Aviso! Cuidado en modalidad TOFF. Los motores no estn protegidos por ninguna proteccin de software.

3-124

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

TOOL
Formato:

EDITOR/DIRECTO TOOL lenght offset angle

EDITOR/DIRECTO

TOOL

Donde: lenght es la distancia desde el flanco al TCP, en micras offset es la distancia desde el eje de simetra del flanco al TCP; definido en micras. angle es el ngulo del TCP relativo a la posicin horizontal cuando la unin 4 esta horizontal (ERIX y MK2) y el Roll es 0 (todos los robots); definido en milsimas de grado. Lenght, offset y angle pueden ser variables o constantes. Descripcin: TOOL define la posicin del elemento terminal con respecto al flanco del robot. Los comandos de movimiento MOVEC, MOVEL, SPLINE Lineal y los movimientos lineales desde la botonera se ejecutan de acuerdo al TCP del robot (punto central de la herramienta).

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-125

Ejemplo:

GOBAL L O A SET L= 200000 SET O= 75350 SET A= 45350 TOOL L O A Longitud es de 200 mm; offset de 75.35 mm. ; ngulo es de 45.3.

Nota:

El comando TOOL fija los valores de los parmetros 308, 309 y 310.

3-126

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

TRIGGER
EDITOR

TRIGGER
EDITOR

Formato:

TRIGGER <prog> BY IN/OUT <n> {<estado>} Donde: <prog> es un nombre de programa definido por el usuario. <n> es el ndice I/O, 1 <n> 16 <estado> es 1 (ON) 0 (OFF).

Descripcin:

Ideal para respuestas sensoriales, el comando TRIGGER comienza la ejecucin de <prog> cuando se pone en <estado> la entrada o salida especfica. Si se omite el <estado>, la ejecucin de <prog> comienza tan pronto como la I/O especificada cambia sus estado. TRIGGER es un comando de una sola pasada. Ejecuta un programa una sola vez. Se debe repetir el comando TRIGGER para reactivar el programa.

Ejemplos:

TRIGGER DRILL BY IN 15 1 15. Comienza DRILL cuando se activa la Entrada

TRIGGER TAKE BY OUT 8 Comienza TAKE cuando la Salida 8 cambia de estado.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-127

UNDEF
DIRECTO Formato: UNDEF <pos> UNDEF <pvect> Descripcin:

UNDEF

DIRECTO

Inicializa los valores de posicin. Las posiciones todava estn definidas, pero sus valores de ubicacin ya no estn asignados. Si se especifica un <pvect>, se inicializan los valores de todas las posiciones en el vector. Este comando es til con el comando APPEND ya que APPEND puede asignar un valor a una posicin definida slo cuando no tiene ya un valor de ubicacin asignado.

Ejemplos:

UNDEF VECTV[5] UNDEF VECTV

Borra el valor de la posicin 5 del vector VECTV. Borra los valores de todas las posiciones del vector VECTV.

Nota:

Este es un comando de definicin. Cuando se escribe, se ejecuta el comando pero no crea lnea de programa, ni en modalidad de EDICION.

3-128

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

VER

DIRECTO

DIRECTO

VER

Formato: Descripcin: Ejemplos:>

VER Presenta la versin y fecha de creacin de la EPROM. VER -- ESHED ROBOTEC -VERSION: 1.32 DATE: 10/01/90

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-129

WAIT
EDITOR

WAIT
EDITOR

Formato:

WAIT <var1> <cond> <var2> Donde: <cond> puede ser, <,>,>=,<= _=

Descripcin:

La ejecucin del programa se suspende hasta que la condicin especificada sea verdadera. Cuando un programa esta esperando que una entrada alcance un estado especfico, este comando resulta muy til, ya que WAIT usa muy poca potencia del CPU mientras espera un acontecimiento.

Ejemplos:

WAIT IN[J]=1 WAIT X<Y

Espera hasta que la Entrada J esta ON.

3-130

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

ZSET
Formato:

DIRECTO ZSET

DIRECTO

ZSET

Descripcin:

Inicializa el impulso de ndice de los encoders, ponido a cero todos los parmetros en el rango 420 + eje. El comando debe ejecutarse antes de realizar Home, cuando se realiza algn mantenimiento de los encoders o de componentes mecnicos.

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-131

EDITOR

EDITOR

Formato:

* <comentario de usuario> Donde <comentario de usuario> es una serie de hasta 40 caracteres y espacios.

Descripcin:

Este no es un comando de ejecucin. Simplemente permite incluir comentarios en el texto del programa. *ESTE ES UN EJEMPLO DE COMENTARIO ***** PRINCIPIO DE PROGRAMA ****** *** *** F I N *** ***

Ejemplos:

3-132

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

EDITOR Formato: @<comando DIRECTO>

EDITOR

Donde <comando DIRECTO> es una serie escrita en Formato de comando DIRECTO. Descripcin: Permite la ejecucin de un comando DIRECTO desde un programa de usuario en ejecucin. Para asegurarse de que se ejecuta el comando antes de que contine el Programa, introducir n comando de demora abreviado despus de cada comando @. Ejemplos: @ SHOW DIN Cuando el programa alcanza esta lnea de comando, aparecern los estados de todas las entradas. @ ATTACH LOAD DELAY 10 @ LISTPV POSITION DELAY 10

Gua de Referencia 0404

ACL para Controlador-B Versin F2.28

3-133

<ALT>+M
DIRECTO

<ALT>+M
DIRECTO

Formato: Descripcin:

<Alt> +M

()

Activa y desactiva el control manual del robot desde el teclado. Al pulsar , se activa la modalidad manual, y aparece el siguiente mensaje: MANUAL MODE!(modalidad manual) JOINT MODE(modalidad ejes) Esto indica que el controlador esta en modalidad manual de ejes. Las teclas J y X cambian las coordenadas a sistemas ejes y cartesianos (XYZ), respectivamente. Sin embargo, el control de teclado es diferente si se activa la modalidad manual con el controlador en el sistema de coordenadas XYZ, segn denota el segundo grupo del cuadro siguiente: TECLA MOVIMIENTO mueve base mueve hombro mueve codo mueve mueca paso mueve mueca giro abre/cierra pinza mueve eje 7 mueve eje 8 mueve eje 9 mueve eje 10 mueve eje 11 mueve mueve mueve Z DIRECCION dcha./izda. arriba/abajo arriba/abajo arriba/abajo dcha./izda. +/+/+/+/+/X+/Y+/Z+/-

Mixtas: I/Q 2/W 3/E 4/R 5/T 6/Y 7/U 8/I 9/O 0/P -/[ XYZ: I/Q 2/W 3/E

C/F S

Activa/desactiva los servo-ejes (CON/COFF) Permite ajustar la velocidad (speed)

Se desactiva la modalidad manual pulsando <Alt>+M. Esto es especialmente til cuando el teclado no incluye el carcter () .

3-134

ACL para Controlador-B Versin F2.28

Gua de Referencia 0404

CAPITULO

Elementos Predefinidos del Sistema


Adems de los comandos y datos, ACL tiene un nmero de elementos del sistema predefinido que se usan durante la programacin y operacin del sistema robtico.

Procedimientos Internos del Sistema


HOME
El procedimiento de HOME (REFERENCIA), consiste en la bsqueda del microinterruptor de referencia de todos los ejes del robot. Este procedimiento es activado bien ejecutando el comando de ACL HOME, o pulsando, desde la botonera de enseanza RUN 0. Si el robot en la configuracin del controlador esta definido como tipo cero, se debe usar el comando HOME n o HHOME n para cada eje individual. Para los ejes del grupo B y C tambin se debe hacer home individualmente a cada eje (HOME HHOME). Referirse al captulo 3 para mayor detalle.

TEST
El procedimiento TEST ejecuta una rutina de comprobacin hardware. Esta rutina se activa bien ejecutando el comando TEST o tecleando RUN 999 desde la botonera de enseanza. Referirse al captulo 3 para mayor detalle.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4-1

Nombres de Programas Reservados


El ACL para el Controlador A tiene cinco nombres reservados para programas de usuario: AUTO, BACK, CRASH EMERG y START. Estos programas se crean y editan en modo EDIT, igual que cualquier otro programa. Si existen estos programas se ejecutarn automticamente cuando ocurran unas determinadas condiciones.

AUTO
El programa AUTO se ejecuta automticamente cuando el controlador se enciende o resetea. Comandos que se sugiere introducir: Activacin/desactivacin de Entradas y Salidas. Asignacin de vector de posiciones a la botonera (ATTACH). Ejecucin de algn programa Ejemplo: PROGRAMA AUTO HOME DIMP PV[10] @ATTACH PV DELAY 10 RUN OPER END Cuando se enciende el controlador, el robot busca el HOME, se define un vector de 10 posiciones, se asignan a la botonera y se ejecuta el programa OPER

BACKG
El programa BACKG se ejecuta automticamente cuando el controlador se enciende o se resetea y tan pronto como se libera el botn de EMERGENCIA. El programa BACKG es una rutina de proteccin que puede servir para prevenir errores no intencionados que podran daar al sistema robtico. BACKG corre continuamente y no se puede abortar por ninguna de las siguientes maneras: Con el comando A (abortar) Cambiando el control a la baotonera. Ejecutando Home

Como BACKG no puede abortarse tan fcilmente como otros programas de ACL, debe asegurarse de que BACKG no realizar ninguna accin peligrosa. Para abortar el programa BACKG, haga una de las siguientes cosas:
4-2

Ejecute el comando A BACKG Utilice en un programa la lnea STOP BACKG Pulse botn de EMERGENCIA.
ACL para Controlador B Versin 2.28 Gua de Referencia 0404

Recuerde: al liberar el botn de EMERGENCIA automticamente se ejecuta BACKG. Ejemplo: El siguiente ejemplo asegura que un robot de prtico se mover entre dos paredes de igual altura sin hacer contacto con ellas (ver zona de sombra en la figura).

PROGRAM BACKG LABEL 1 IF ANOUT [1] <> 0 ANDIF ANOUT[2]<>0 ANDIF ANOUT[3]<>0 IF ENC[3] <UPL IF ENC[1]>LWALL FOR I=1 TO 3 CLRBUF ENFOR @COFF ENDIF ENDIF DELAY 5 GOTO 1 END Comprueba otra vez, cada 50 mseg. Si eje 3 es menor que la altura de la pared y si el eje 3 esta demasiado cerca de la pared izquierda o si el eje 3 esta demasiado cerca de la pared derecha, Para y desactiva todos los ejes Si ANOUT no es igual a 0, el grupo del eje no esta en modo COFF

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4-3

CRASH
El programa CRASH se ejecuta automticamente cuando ocurre un impacto, salta la proteccin software trmico o se da el error velocidad demasiado alta. Se recomienda incluir en este programa: Activacin/desactivacin de E/S. Mensajes de alarma Ejemplo: PROGRAMA CRASH * SALIDA 16 = TIMBRE DE ALARMA SET OUT[16]=1 PRINTLN ROBOT PARADO PRINTLN COMPROBAR Y CORREGIR PROBLEMA PRINTLN REINICIAR APLICACION END

EMERG
El programa EMERG se ejecuta cuando se pulsa cualquier botn de emergencia. Se puede utilizar este programa para desactivar las entradas y salidas.

START
El programa START se ejecuta cuando se pulsa el botn de Start del panel de control auxiliar. Asegurarse de que el panel de control auxiliar esta correctamente conectado al controlador y que esta correctamente configurado ver manual de ATS). Ejemplo: PROGRAM START IF INPUT[10]=1 GOSUB PROG1 ELSE GOSUB PROG2 ENDIF END Tan pronto como se pulse el botn START se comprueba el estado de la entrada 10. Si la entrada esta activa, se ejecuta PROG1, si esta desactivada se ejecuta PROG2

4-4

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

POSITION
POSITION es una posicin definida del sistema, reservada para los valores de coordenadas de la posicin actual del robot. POSITION se puede utilizar para leer los valores de las coordenadas de la localizacin actual del robot y para asignar esos valores a variables o a otra posicin. Ejemplos LISTPV POSITION SETP 100 = POSITION Muestra los valores de las coordenadas actuales La posicin 100 recibe los valores e las coordenadas que tiene el robot en ese instante. Equivalente al comando HERE 100. La variable var recibe el valor de la coordenada, en pasos de encoders, del eje 3 (codo).

SET var = PVAL POSITION 3

SET var[1] = PVALC POSITION X SET var[2] = PVALC POSITION Y SET var[3] = PVALC POSITION Z SET var[4] = PVALC POSITION P SET var[5] = PVALC POSITION R Var[I] recibe el valor en coordenadas Cartesianas que tiene el robot en ese momento. Se puede cambiar la posicin del robot usando POSITION como se muestra en los siguientes ejemplos. Atencin ; el robot se mover inmediatamente a la nueva POSICION; por lo que se debe hacer con pequeos cambios de coordenadas. SHIFTC POSITION BY 2 100 SHIFTC POSITION BY Z 0.5 SETPV POSITION 1 80000 SETPVC POSITION Y 5000

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4-5

Variables del Sistema


Las variables del sistema indican el estado de elementos de este como son las entradas, salidas y otros elementos del sistema. Con estas variables se pueden ejecutar comprobaciones y aplicaciones que requieren informacin en tiempo real sobre elementos del sistema. ACL tiene nueve variables de sistema: IN[16] ENC[12] HS[12] ZP[12] CPOS[12] TIME LTA LTB MFLAG ERROR ERRPR ERRLI OUT[16] ANOUT[12]

Los ndices indican la dimensin de los vectores de las variables. Estas variables se pueden manejar de la misma manera que las variables de usuario normales. Sin embargo estas variables no se pueden borrar y algunas son slo de lectura. Los valores de las variables IN; ENC; HS, ZP, CPOS, LTA; LTB; TIME; y MFLAG son actualizadas continuamente por el sistema , por lo que son variables de slo lectura.

IN[N] ]
El valor de esta variable indica el estado de la correspondiente entrada. El valor es actualizado en cada ciclo del microprocesador de acuerdo con el estado de la entrada. Cualquier valor introducido en esta variable ser automticamente sobrescrito. Esta considerada como variable de slo lectura. n = ndice de la entrada; puede ser una variable o una constante y no debe exceder el nmero de entradas configuradas (16 por defecto). Ejemplos Propsito
Ver estado de la entrada Control de programa

Comando
PRINTLN IN[3] IF IN[I]=0 SET OUT[2]=1 ENDIF

Display 1/0

Notas
Activada / Desactivada

4-6

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

ENC[n] ]
El valor de esta variable indica el nmero de pasos de encoder del eje especificado en la posicin actual del robot. El valor de la variable se actualiza cada paso de reloj con el valor de los pasos de encoder del eje determinado. Se considera una variable de slo lectura. n = ndice del eje; puede ser una variable o una constante; no puede exceder el nmero de salidas configuradas. Ejemplos Propsito
Ver el estado del encoder Asignar el valor del encoder a una variable

Comando
PRINTLN ENC[1] SET X = ENC[5]

Display 0 a 6844

Notas
Pasos de encoder El valor del encoder 5 es escrito en la variable X

HS[n] ]
El valor de esta variable indica el estado del interruptor de Home del eje especificado. Es una variable de solo lectura. N = es el ndice del eje y puede ser una variable o una constante. Ejemplos Propsito Comando Notas
En pantalla se mostrar el valor del micro de Home del eje 7

LABEL 1 Utilizado durante el mantenimiento, reparacin y PRINTLN HS[7] comprobacin DELAY 100 GOTO 1

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4-7

ZP[n] ]
El valor de esta variable indica el estado del pulso ndice del encoder (index pulse) del eje especificado. Es una variable de solo lectura. N = es el ndice del eje y puede ser una variable o una constante. Ejemplos Propsito Comando Display Notas

PROGRAM ZP Utilizado durante el mantenimiento, reparacin y LABEL 1 comprobacin VAR=ZP[1] IF VAR=1 PRINTLN VAR STOP ENDIF GOTO 1 PROGRAM MOVE SPEED 1 LABEL 1 MOVE POS1 MOVE POS2 GOTO 1 Ejecutar simultneamente el programa ZP y MOVE

Al contrario que HS, el O ejecutar el programa ZP y mover el eje con la valor de ZP botonera de enseanza. es siempre 0 y cambia a 1 cuando detecta el index pulse.

CPOS[n] ]
El valor de esta variable indica la posicin de destino en pasos de encoder. Es una variable de solo lectura. N = es el ndice del eje y puede ser una variable o una constante. Ejemplos Propsito
Para determinar el error de posicin del eje

Comando
SET ERR= CPOS[1] ENC[1] PRINTLN ERR

Display 82

Notas
Se compara el valor de ENC y CPOS del eje 1. El error es de 82 pasos de encoder.

4-8

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

TIME
Esta variable contiene el valor del reloj interno del controlador. Cuando el controlador se enciende o se resetea el reloj se inicia a 0. Cada 10 milisegundos (tic) el reloj del controlador es incrementado en una unidad. Es una variable de slo lectura. Propsito
Determinar la duracin de un movimiento

Comando
PROGRAM TIME SET TIMEA=TIME MOVED POS99 SET TIMEA=TIME - TIMEA PRINTLN TIEMPO = PRINT TIMEA MSEG.

Display

Notas

OUT[n] ]
El valor de esta variable esta determinado por el estado de la correspondiente salida. El valor de la variable es aplicado a la salida correspondiente cada ciclo de reloj. Es una variable de escritura/lectura. n = ndice de la salida; puede ser una variable o una constante; no puede exceder el nmero de salidas configuradas (16 por defecto). Ejemplos Propsito
Ver el estado de la salida

Comando
PRINTLN OUT[7]

Display 1/0

Notas
Activada / Desactivada Si la salida 5 desactivada ( p. E. Una lmpara) activarla

Comprobar y cambiar el IF OUT[5]=0 estado del aparato conectado SET OUT[5]=1 a la salida ENDIF Cambiar el estado de una salida SET OUT[15]=1 - OUT[5]

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4-9

LTA y LTB
Los valores de estas variables indican el tiempo (reloj interno) en el cual el grupo especificado de ejes alcanza la posicin que se le ha ordenado ejecutar. LTA se aplica al grupo de ejes A y LTB al grupo de ejes B. Estas variables se utilizan cuando los comandos MOVE, MOVEC y MOVES son colocados en el buffer. Estas variables posibilitan entre otras cosas la sincronizacin en clulas de trabajo: coger piezas de cinta de transporte, sincronizacin de dos grupos de ejes, etc.. LTA y LTB son variables de slo lectura. Propsito
Sincronizar la llegada de los ejes del grupo A y B POSA5, una posicin de l grupo A POSB3, una posicin del grupo B

Comando
PROGRAM SYNCR MOVE POSA5 SET V=LTA-TIME MOVE POSB3 V

Display

4 - 10

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

MFLAG
El valor de esta variable indica qu ejes estn en ese momento en movimiento. Es una variable de slo lectura. Cuando un comando MOVE es ejecutado, los 32 bits de la variable MFLAG cambian su valor de acuerdo con el siguiente esquema Bit 1 (menos significativo) Bit 2 Bit 3 ...... Bit 11 .... Bit 32 (ms significativo) Los bits de 12 al 32 siempre estn a cero. Asumiendo que el controlador esta configurado con 5 ejes grupo A, una servopinza en el eje 6, dos ejes grupo B y 3 eje en grupo C, el valor de MFLAG indicar el movimiento segn el siguiente diagrama.
Valor Bit Grupo Eje 1 2 1 2 4 8 16 32 64 128 256 512 1024

a 1 si eje 1 en movimiento. a 1 si eje 2 en movimiento. a 1 si eje 11 en movimiento.

Grupo A
3 4 5

Pinza
6

Grupo B
7 8 9

Grupo C
10 11

Ejemplos Propsito
Estado de movimiento de ejes Estado de movimiento de ejes

Comando
PRINTLN MFLAG

Display 31

Notas
31=1+2+4+8+16 Todos los ejes del grupo A en movimiento

PRINTLN MFLAG

543

543=31+512 Todos los ejes del grupo A y el eje 10 en movimiento

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4 - 11

ERROR, ERRPR y ERRLI Cuando ocurre algn error durante el funcionamiento, a estas variables se le asigna un valor que indica el correspondiente error. El valor de ERROR indica el error especfico. Tambin se muestra un mensaje de error. El valor de ERRPG indica la identidad del programa (nmero ID, como con el comando DIR) que indica la tarea en la que ha ocurrido el error. El valor de ERRLI indica el nmero de lnea en el que el error ocurri.

Referirse al captulo 5 para ver los mensajes de error. La variable ERROR debe tener un valor inicial de cero. Es una variable de escritura/lectura. Ejemplo. Propsito
Para identificar errores en tiempo de ejecucin LABEL 1 MOVE POS66 MOVE POS67 GOTO 1 PROGRAM ERROR SET ERROR=0 SET ERRPG=0 SET ERRLI=0 *ESPERA UN ERROR WAIT ERROR<> 0 PRINTLN ERROR NO ERROR PRINTLN TAREA ID ERRPG PRINTLN EN LINEA ERRLI

Comando
PROGRAM MOVE

Display

Notas
Se ejecutan simultneamente el programa MOVE y ERROR

53 7 144

Numero ID del error Nmero de tarea Nmero de lnea

4 - 12

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

ANOUT[n] ]
Esta variable contiene el valor del DAC (convertidor analgico-digital) que se esta aplicando al motor del eje especificado por el ndice n. El valor de ANOUT[n] se actualiza en cada paso de reloj. Cuando se ejecuta el comando SET ANOUT, el servo control del eje esta desactivado; COFF esta efectivo hasta que CON es activado. ANOUT[n] es una variable de escritura/lectura. N= ndice del eje; puede ser una variable o una constante y no debe exceder el mximo valor de ejes configurados. El rango de los DAC esta entre -5000 a +5000. Atencin! Usar con cuidado para no daar el motor. Ejemplo. Propsito
Para ver el valor actual del DAC de un eje Para ajustar el valor del DAC de un eje

Comando
PRINTLN ANOUT[5] SET ANOUT[1]=1000

Display 2500

Notas
El DAC esta a la mitad de su mximo valor Pone la salida analgica del eje 1 a 1000

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

4 - 13

4 - 14

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

CAPITULO

MENSAJES DEL SISTEMA


Este captulo contiene un listado de mensajes que pueden aparecer en pantalla durante la ejecucin y programacin en ACL. Cuando ocurre un error las variables del sistema ERROR, ERRPG y ERRLI reciben valores que indican, respectivamente, el tipo de error, el programa y la lnea de programa donde ocurri el error. Cada una de estas tres variables debe tener un valor inicial de cero. (3) ACL comando desconocido El comando introducido no es reconocido como ACL (4) SHOW comando desconocido El comando introducido despus de SHOW no es reconocido como ACL (6) Prg_name not found El programa con el nombre especificado no se ha encontrado o no existe. (12) No puedo borrar archivos mientras hay trabajos ejecutndose Se ha intentado borrar un programa mientras otro programa se estaba ejecutando. Se debe parar la ejecucin de todos los programas antes de borrar uno. (17) Programa Prog esta ejecutndose En modo DIRECTO, no se puede ejecutar un programa que ya se esta ejecutando. (18) Programa Prog ejecutndose. No se puede acceder al editor Se ha intentado editar un programa mientras se esta ejecutando un programa. (22) No se puede borrar constante o variable del sistema No se puede borrar constantes o variables del sistema.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

5 -1

(24) TP modo Teach permitido. Todos los programas abortados. El selector de Auto/Teach de la botonera se ha cambiado de Auto a Teach. Por seguridad, todos los programas y movimientos se han abortado. (33) ** LIMITE SUPERIOR EJE n Durante un movimiento de un eje desde el teclado o desde la botonera, su encoder a alcanzado el valor mximo permitido. Mover el eje en la direccin contraria. (34) *** LIMITE INFERIOR EJE n Durante un movimiento de un eje desde el teclado o desde la botonera, su encoder a alcanzado el valor mnimo permitido. Mover el eje en la direccin contraria. (35) Entrada o Salida debe estar desactivada antes de una operacin de FORCE Antes de forzar una entrada o una salida, debe estar en modo DISABLE. (36) Indice o valor no vlido [index or data error] El comando tiene un valor incorrecto de ndice. (39) Nmero de argumentos incorrecto. El comando tienen un nmero incorrecto de argumentos. (40) No se puede hacer Hard Home del eje n El eje especificado no esta configurado para hacer Hard Home. Utilice el comando Home o compruebe el tipo de Home del eje. (48) HELP Comando desconocido El comando introducido despus de HELP no es reconocido (51) *** FALLO de HOME en EJE n La rutina de Home fallo en el eje indicado. (1) el microinterruptor no ha sido encontrado (2) el interruptor de motores esta desconectado (3) fallo hardware en ese eje
5-2 ACL para Controlador B Versin Versin 2.28 Gua de Referencia 0404

(52) *** ERROR de TRAYECTORIA Este error afecta a la variable del sistema ERROR. Durante el movimiento, el brazo llega hasta su lmite de movimiento y el sistema aborta el movimiento. Esto puede ocurrir cuando se ejecutan los siguientes tipos de movimientos: lineal (MOVEL), circular (MOVEC), MOVES y SPLINE. Como la trayectoria no se computa antes de ejecutarse, el movimiento puede exceder los lmites de trabajo. Modifique las posiciones. (53) *** IMPACT PROTECTION eje n El controlador ha detectado un error de posicin demasiado grande. El sistema aborta todos los movimientos de ese grupo de ejes y los desactiva. El programa de usuario CRASH, si existe, se ha ejecutado. Posibles causas: 1) Un obstculo impide el movimiento del eje n. 2) El fusible del eje n se ha fundido. 3) Fallo del encoder. 4) Fallo mecnico. 5) El eje no esta conectado Determinar y corregir el error de posicin. Activar el servo control de ejes (CON) y reinicializar el programa. (54) *** OUT OF RANGE eje n Un intento de grabar una posicin (HERE) mientras el robot estaba fuera de su campo de trabajo. Mover el robot dentro de su campo de accin y repetir la orden. (55) *** THERMIC OVERLOAD eje n Por medio de una rutina software de proteccin trmica del motor, se ha detectado una condicin peligrosa para ese motor. El robot aborta todos los movimientos de los ejes de ese grupo. El programa CRASH, si existe, se ejecuta. Causas posibles: 1) El brazo intenta alcanzar una posicin que no puede acceder debido a un obstculo. La proteccin de impacto no se activa debido a que el obstculo esta muy cerca de la posicin final. La realimentacin integral incrementar la corriente del motor sobrecalentndolo, por lo que se activar la proteccin trmica. 2) Fallo en el eje correspondiente o el fusible se ha fundido.
Gua de Referencia 0404 ACL para Controlador B Versin 2.28 5 -3

3) El brazo del robot esta cerca de la posicin final, pero no ha llegado debido a un fallo del driver. El software detecta entonces una situacin anormal. 4) Los parmetros de Proteccin Trmica estn mal seleccionados. Comprobar la posicin, la tarjeta de control del eje y los parmetros. Restablecer el servo control (CON) y repetir el movimiento. (58) No puedo ejecutar Programa. Esperando una tarea ... Demasiados programas se estn ejecutando a la vez y no se puede ejecutar otro. Posibles causas: (1) Existen demasiados programas ejecutndose simultneamente. (2) Un programa se ejecuta indefinidamente a s mismo. (3) Un programa ejecuta otro programa en lazo cerrado. (61) *** RUN TIME WARNING *** Triggered program not found. Se ha intentado ejecutar un programa que no existe con TRIGGER. (62) *** RUN TIME WARNING *** I/O invlida en comando trigger. La entrada o salida especificada en el comando trigger no es vlida. (63) *** WARNIG *** var ya existe. Se ha intentado definir una variable que ya existe. (64) No existe suficiente memoria para el array. El controlador no dispone de suficiente memoria para el array que se intenta definir. Backup y Restore todos los programas, esto reajustar la localizacin de la memoria. Teclear PURGE; se borrarn todas las variables no usadas. Backup programas. Configure el controlador para disponer de mayor memoria disponible de variables y/o posiciones. Restore programas.

(69) TP desactivado modo Teach. Teclee Auto <Enter> para modo Auto. Se ha cambiado, en la Botonera, de Teach a Auto. La botonera ya no esta operativa. Teclee Auto para reestablecer el control desde el teclado.

5-4

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

(72) CONTRO DESACTIVADO Los motores han sido desactivados del servo control. Posibles causas: (1) se ha ejecutado COFF (2) CON no ha sido ejecutado. (3) Ha ocurrido un error previo ( impacto, error de trayectoria) y se ha activado COFF. (73) CONTROL ACTIVADO Motores bajo servo control. (74) No valores de coordenadas para posicin. La posicin ha sido definida utilizando el comando DEFP pero sus coordenadas no han sido grabadas todava. (75) Valores de coordenadas no vlidos La posicin no ha podido ser grabada o alcanzada porque sus coordenadas estn fuera del campo de trabajo. (76) *** WARNING *** Robot sin configuracin. Se ha intentado ejecutar un comando que indica la presencia de un robot. El comando no se puede ejecutar porque el robot no ha sido configurado. (77) ***WARNING*** Nombre de array truncado. Durante la operacin de restore, el controlador no tiene suficiente memoria para restaurar el array y ha sido truncado. backup y Restore todos los programas, esto reajustar la localizacin de la memoria. Teclear PURGE; se borrarn todas las variables no usadas. Backup programas. Configure el controlador para disponer de mayor memoria disponible de variables y/o posiciones. Restore programas.

(78) Ejecutando configuracin. Espere por favor... Despus de haber introducido los datos de configuracin , el sistema se esta inicializando.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

5 -5

(79) USER RAM CHECKPOINT ERROR! INSTALLING DEFAULT SETUP Reconfigura y recarga parmetros para el robot seleccionado. Cuando se enciende el controlador, se comprueba la memoria RAM del sistema. Si detecta un error el controlador borra toda la memoria y carga el setup por defecto. Posible causa: Batera (85) Tarea no disponible. No puedo ejecutar programa. En modo DIRECTO, el programa indicado por el comando RUN no se puede ejecutar porque la memoria de tareas esta llena. (86) Tarea Home ya esta activa. Se ha intentado ejecutar Home cuando ya se estaba ejecutando. (89) No puedo ejecutar movimiento XYZ en esa posicin. No se puede ejecutar ese movimiento lineal . (92) La configuracin actual incluye tarjeta auxiliar RS232. Pulsar C<Enter> si se requiere reconfiguracin inmediata. El sistema esta configurado con tarjeta auxiliar RS232. Si es as, simplemente espere. Si no dispone de dicha tarjeta pulse C<Enter> y configure correctamente el sistema. Si no lo hace, el sistema dar BUS ERROR. (95) INDEX pulse not found n No se ha detectado el impulso index del eje durante la rutina de Home. Posibles causas: (1) La distancia entre el interruptor de home y el index impulso ha cambiado en el eje especificado, debido a un fallo mecnico o a labores de mantenimiento (como cambio de motor, de correa del motor, etc..). Ejecute el comando ZSET. Vuelva a realizar Home. Compruebe encoder y cableado. (2) fallo del Index pulse

5-6

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

(98) Eje n no configurado para Home Se ha intentado realizar Home en un eje cuya configuracin indica que no requiere Home. (99) *** VELOCIDAD DEMASIADO RAPIDA en EJE n*** Este error afecta a la variable del sistema ERROR. Posibles causas: (1) El controlador ha detectado un movimiento que es demasiado rpido; esto es, el desplazamiento requerido del encoder, calculado desde el parmetro de velocidad lmite , PAR 180+eje, es demasiado grande. (2) Como la trayectoria no se calcula previamente en un movimiento lineal o circular, puede causar que el movimiento de ejes sea demasiado rpido. Lmite la velocidad de movimiento. (100) Out of memory programs El nmero de programas existentes ha llegado al mximo permitido por la configuracin. Borre los programas no utilizados o reconfigure el controlador. (101) Error de sintaxis El comando tiene un error de sintaxis. (102)variable(s) no definida. La variable no se ha definido previamente. (103) Argumento perdido Falta argumento en el comando (104) Programa no definido No existe el programa (105) Variable no definida PRIORITY La variable del comando no ha sido definida. (106) Variable no definida PEND/POST La variable del comando no ha sido definida.
Gua de Referencia 0404 ACL para Controlador B Versin 2.28 5 -7

(109) OUT of memory lneas de programa Se ha llegado al lmite de lneas de programa configuradas. (110) Posicin no definida, no grabada o en grupo incompatible. [punto no encontrado] No se puede acceder a la posicin indicada: 1.- la posicin no se ha definido. 2.- la posicin no se ha grabado 3.- el comando indica un grupo que es incompatible. (111) OUT of memory variables El nmero de variables definidas ha llegado al lmite permitido por configuracin. Utilice el comando PURGE o, Reconfigure el controlador. (112) Out of memory grupo grupo posiciones El nmero de posiciones del grupo especificado ha llegado al lmite permitido en la configuracin. (113) Nombre de posicin no vlida (114) Primera variable no definida No se ha definido la primera variable del comando. (115) Segunda variable no definida No se ha definido la segunda variable del comando. (116) Variable no definida SPEED No se ha definido la variable utilizada en el comando SPEED. (117) OUT of memory strings Nmero de comandos con strings (PRINT, * y @) ha llegado al lmite especificado en la configuracin.

5-8

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

(118) Argumento(s) no valido El comando tiene un argumento no vlido. (119) Variable no definida (lazo contador) FOR La variable utilizada en el comando FOR no esta definida. (120) variable no vlida (lazo contador ) FOR No se puede utilizar una constante en este comando. (121) Tercera variable no definida (122) Variable no definido TRIGGER (123) Entrada/Salida no vlida Se ha intentado utilizar una entrada o salida no vlida. (124) Eje no vlido o no definido La variable utilizada para designar el eje no ha sido definida, o el eje no esta configurado (125) Nombre ya existente o eje no vlido Se ha intentado definir una posicin cuyo nombre ya existe o Se ha definido un eje no vlido al definir una posicin en el grupo C. (126) Dimensin no vlida La dimensin del array (DIM, DIMG o DIMP) debe designarse con una constante. (127) Error de sintaxis ndex falta alguno de los corchetes. (128) Constante demasiado grande. Superado el lmite de una constante (999999999)

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

5 -9

(129) Secuencia no vlida en programa prog El programa contiene un error lgico. Por ejemplo: 1.- Lazo no cerrado en bucle FOR 2.- IF sin ENDIF 3.- ELSE sin ENDIF (130) Nesting too deep at line n Demasiado anidamiento en rutinas FOR/ENDFOR o IF/ENDIF. (131) Prdida de IF para lnea n (132) Prdida de IF para lnea n (133) Prdida de FOR para lnea n (135) Nmero de Label (etiqueta) ya definido (136) Operador perdido o no vlido (137) Argumento perdido- SPEED (138) Nombre ya en uso (139) Relative chain loops or exceeds 32 positions. ACL permite que una posicin sea relativa a otra posicin en una cadena de 32 posiciones. Esta cadena de posiciones relativas deben partir de una posicin raz absoluta. Se ha intentado definir una posicin relativa. El error puede ser: 1.- se ha intentado ensear una posicin relativa a s misma 2.- se han anidado ms de 31 posiciones relativas (140) Nombre de variable no vlido demasiado largo (142) Perdida de LABEL para GOTO en lnea n

5-10

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

(143) Error en comando de descarga, en lnea n Error mientras se restaura un programa. 1.- El archivo backup esta mal 2.- ha cambiado la configuracin del controlador. (144) Argumento no vlido demasiado largo (145) Posicin no definida o no es un vector (146) *** WARNING *** nombre: nombre no vlido (147) Nmero de puerto no vlido (148) Para ejecutar accin - libera botn de emergencia (149) No puedo cambiar parmetro - privilege (150) Comando ignorado - privilege (152) Entrada no vlida para panel de control (parmetros 15/16) Entrada fuera de rango (153) No puedo ejecutar comando. TP debe estar en modo Auto (154) Valor demasiado bajo - SPEED (156) Velocidad lineal excesiva (158) Velocidad excesiva o posiciones demasiado cercanas (159) No espacio libre para insertar posicin (160) Insertar posicin esta vaco, utilizar HERE o HEREC

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

5 -11

(161) INSERT permitido solo si el nombre de posicin comienza por & (162) INSERT/DELETE no permitido para un eje sencillo (163) Valor de ndice - fuera de rango (164) DELETE permitido solo si la posicin empieza por & (165) No puedo ejecutar comando si TP esta en modo TEACH (201) Interruptor de motores esta apagado (205) PROGRAMAS ABORTADOS (206) ***WARNING **** BACKG es un nombre reservado para rutina de Background BACKG permanece activo a menos que EMERGENCIA este pulsado BACKG no se puede abortar por A <Enter> (301) Grupo/eje no ha sido referenciado (home) (302) ARITHMETIC OVERFLOW El resultado de una operacin aritmtica esta fuera de rango (o no es vlida). (303) NO POSITION ASSIGNED TO POINT pos La posicin ha sido definida usando el comando DEFP, pero sus coordenadas no han sido grabadas. Usar HERE u otro comando para asignar las coordenadas a la posicin.

5-12

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

(304) AXIS DISABLED Ha intentado mover un eje no permitido. Posibles causas: 1) No se puede ejecutar un movimiento porque el servo control de los ejes esta desactivado (COFF). 2) Un movimiento previo del brazo ha dado un error de Impacto o error de Trayectoria desactivando el servo control. Comprobar los movimientos del robot y corregir el/los comandos. (305) TOO DEEP NESTING Demasiadas subrutinas- GOSUB - anidadas. (306) INVALID PROGRAM El comando RUN, GOSUB, TRIGGER no puede ser ejecutado por fallo sintctico o lgico en el programa. Por ejemplo el programa contiene un comando IF sin su correspondiente ENDIF. (309) INDEX OUT OF RANGE Ha intentado usar un valor ndice fuera de rango de un vector de variables o de posiciones. (310) BAD AXIS El eje no esta en el grupo definido por el comando, eje no configurado, eje fuera de rango, etc. (311) LOOPING RELATIVE CHAIN OR DEPTH EXCEEDED 32 POINTS Ha usado ms de 32 puntos relativos unidos (312) BAD POINT COORDINATE [pos] Ha intentado usar una posicin no vlida. Por ejemplo, una posicin relativa definida fuera del rango del eje especificado. Grabar nuevas coordenadas para la posicin.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

5 -13

(315) INCOMPATIBLE POINTS Posibles causas: 1) Ha intentado usar un comando HERE para posiciones en diferentes grupos de ejes o posiciones que ambas son del grupo C pero asignadas a diferentes ejes. 2) Ha intentado copiar un punto (SETP) desde un grupo de ejes a otro grupo. (316) NO GRIPPER CONFIGURATION El comando de pinza (gripper) no se puede ejecutar porque no ha sido configurada la pinza. (317) BAD CARTESIAN POINT pos El comando no se puede ejecutar o la posicin no se puede grabar, debido a un valor no vlido de la posicin especificada ( valores XYZ fuera de rango). (319) Interruptor de motores OFF (320) Robot no esta en Espacio XYZ (321) MOVES/SPLINE no permitido para un eje simple (322) Posicin debe tener coordenadas Absolutas por Joint

5-14

ACL para Controlador B Versin Versin 2.28

Gua de Referencia 0404

CAPITULO

CONFIGURACION DE LA MEMORIA DE USUARIO


El Controlador-B estndar tiene 512KB de RAM con batera, que se redistribuye durante la configuracin del controlador. Por ejemplo, cuando la configuracin se realiza en ATS, mediante la combinacin de las teclas <Ctrl>+F1, la opcin SCORBOT ER IX y se seleccionan 8 ejes, la distribucin por defecto de la memoria para cada tipo de elemento ser la siguiente: 400 7000 3500 4400 4400 0 800 Programas Lneas de programa Variables Posiciones grupo A Posiciones grupo B Posiciones grupo C Comentarios

Slo los grupos A y B se definen en una configuracin por defecto del controlador. Grupo A son los ejes del 1 al 5 (para los robots ER IX y MK2) o ejes 1-4 (robot ER14). Eje 6/5 es para la pinza elctrica. El resto de ejes son del grupo B. Para definir ejes del grupo C se debe usar el comando CONFIG (configuracin personalizada). El nmero de elementos se calculan de acuerdo con la cantidad de memoria requerida para cada elemento: Elemento Cabecera de programa Lneas de programa Variables de usuario Posiciones de grupo A o B Posiciones de grupo C Comentarios/string Memoria 11 bytes cada una 10 bytes cada una 16 bytes cada una [(nmero de ejes del grupo +1) x 2 + 8] bytes cada una 14 bytes cada una 12 bytes cada uno

Los parmetros y variables de usuario pueden ocupar hasta 2.5KB. La suma de todos los elementos no debe sobrepasar los 128KB.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

6-1

El sistema requiere un nmero mnimo de algunos elementos, ver lista. Si se seleccionan un nmero menor automticamente el sistema seleccionar el mnimo. Elemento Programas usuario Lneas programa Variables usuario Comentarios/string Ejemplo: Controlador configurado para 11 ejes: El Grupo A se define como 5 ejes - ejes 1 a 5 (el robot) La pinza se define como eje 6 El Grupo B se define como 4 ejes - ejes 7 a 10 El Grupo C se deja as slo con un eje - eje 11 Se definirn los siguientes elementos: 100 Programas 550 Lneas 200 Variables 450 Pos. Grupo A 450 Pos. Grupo B 150 Pos. Grupo C 100 comentarios Total BBRAM usuario BBRAM reservada por el sistema Total BBRAM = 100x 11 = 1100 bytes = 550 x 10 = 5500 bytes = 200 x 16 = 3200 bytes = 450 x 20 = 9000 bytes = 450 x 18 = 8100 bytes = 150 x 14 = 2100 bytes = 100 x 12 = 1200 bytes 30200 bytes 2560 bytes 32760 bytes Mnimo 2 50 10 50

El total de memoria necesaria para esta configuracin es 32760 bytes. La configuracin es vlida porque 32760 < 131072; (131072 = 128 x 1024).

6-2

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

CAPITULO

PARAMETROS
Muchas de las funciones del controlador dependen del valor de los parmetros del sistema. Los parmetros del sistema determinan operaciones tales como: * Servo control * Envoltura de trabajo * Proteccin de eje * Lmites de velocidad * Operacin de la pinza * Botonera de enseanza (instructor) y operacin manual * Clculos cinemticos cartesianos

Aviso!
No cambiar los valores paramtricos con el robot en movimiento. Cuidado al manipular los parmetros. Slo los usuarios avanzados deben cambiar parmetros. Guardar los parmetros antes de cambiarlos. Asegurarse que los parmetros de proteccin de impacto estn bien seleccionados. Trabajar sin la proteccin a impacto activada puede daar el brazo del robot.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-1

Proteccin de Parmetros
Los parmetros estn divididos en dos grupos: los de libre acceso y los protegidos pos clave(password). Para acceder a los parmetros protegidos debe estar en modo PRIVILEGE. Los siguientes parmetros son libres: parmetros de pinza: 73, 74, 75, 76, 274 y 275. parmetro de suavidad: 219 parmetros de trayectoria: 220 y 236 parmetros de error de posicin: 261 - 272

Referirse a los comandos PASSWORD y PRIVILEGE.

Comandos de acceso
Los comandos que se usan para acceder a los parmetros del sistema son los siguientes: SHOW PAR n LET PAR <n> = = <nuevo valor> SENDPAR INIT CONTROL Presenta el valor del parmetro n Cambia el valor de parmetro n a <nuevo valor>. Presenta todos los parmetros del sistema. Debe lanzarse despus de cambiar cualquier parmetro; de otra forma, no se procesan los cambios adecuadamente.

Para ver el valor actual de un parmetro usar SHOW PAR n

7-2

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

Descripcin de Parmetros El Controlador -B tiene dos tipos de parmetros: Parmetros aplicables al elemento independientemente del eje al que esta conectado. Por ejemplo PAR 176 define el valor DAC aplicado al motor de la pinza al comienzo del movimiento. Parmetros que son aplicados a cada eje individualmente. Estos parmetros estn en lotes de un rango de nmeros, a intervalos de 20, en la tabla de parmetros del controlador. El rango se indica por el trmino PAR n+ eje; por ejemplo PAR 180+eje (PAR 180+2= PAR 182). Los parmetros referentes a valores DAC estn en la escala de 5000. (Equivalente a 24V en el motor).Otros valores de parmetros estn indicados en pasos de encoder, tics de reloj, medidas lineales, etc.. Hay que observar que algunos parmetros slo son vlidos para una configuracin de robot especfica. El efecto de otros puede cambiar dependiendo del brazo robot utilizado. Se debe leer cuidadosamente la documentacin antes de cambiar parmetros. Algunos parmetros son solo vlidos para una configuracin especfica. Lea la documentacin con cuidado antes de cambiar un parmetro. Las siguientes dos tablas describen todos los parmetros para el controlador B. Tabla1: breve descripcin de los parmetros clasificados de acuerdo a su funcin. Tabla2: completa descripcin de los parmetros clasificados por orden numrico.

Los parmetros no protegidos se indican con sombra.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-3

Tabla1 de parmetros Parmetros ajuste del sistema I/O para Panel Control Auxiliar 15 16 18 19 20 + eje 40 + eje Servo bsico 60 + eje 360 + eje 380 + eje 320 + eje Ganancia del driver 340 + eje 340 360 Parmetros de Servo Control Global 20 78 79 Limites de los ejes 100 + eje 120 + eje 540 + eje Impacto 240 Modo Run 240 + eje 680 + eje Define el grupo de ejes que responde cuando se detecta un impacto Valor para detectar error al inicio de homing Valor para detectar servo error durante homing Lmite superior de movimiento, en pasos de encoder Lmite inferior de movimiento, en pasos de encoder Rango mximo de encoders define el ciclo del servo control Define si las constantes Proporcional y Diferencial son dobladas al final del movimiento Valor por el que la constante Integral es dividida durante el movimiento. Define la entrada para el interruptor Run/Hold Define la entrada para el interruptor Start Program Identifica el modelo de produccin del controlador Define si el mecanismo PRIVILEGE es requerido Constante Proporcional de realimentacin Kp Constante Diferencial de realimentacin Kv Constante Integral de realimentacin Ki Mximo DAC para la realimentacin Integral Valor Media de la razn: salida analgica/pasos de encoder Ganancia del preamplificador PWM del driver de la tarjeta Ganancia de la realimentacin del tacmetro Reservados.

Parmetros de Servo Control de Ejes

7-4

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

280 +eje 780 + eje Modo Manual 700+eje 720+eje 740+eje 760+eje 80+eje Ajuste de Velocidad 180+eje 533 534 535 536 537 538 660+eje Velocidad Manual 220+eje 239 500+eje 238 294

Mximo par permitido mientras se mueven los ejes manualmente (TP o desde teclado) Valor para detectar servo error durante el movimiento manual Valores para fijar la limitacin de par durante el movimiento manual

Compensacin offset del driver. Valor del DAC para calcular el par Mximo valor velocidad, en (grados/seg.), (mm/seg.) o (encoders/10mseg.) Aceleracin lineal mxima Aceleracin mxima del Pitch/Roll Aceleracin mxima Roll Velocidad mxima lineal Velocidad mxima del Pitch/Roll Velocidad mxima del Roll Mximo valor DAC que se puede aplicar a un eje Ajuste de velocidad para operacin manual Aceleracin al inicio del movimiento manual Deceleracin posterior a la liberacin de la tecla Deceleracin del movimiento Cartesiano despus de liberar tecla Velocidad mxima en movimiento manual Cartesiano

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-5

Homing 200 200+eje 460+eje 560+eje 13 400+eje 420+eje 440+eje 600+eje Clculos Cartesianas Estos parmetros definen las longitudes y ratios de encoder del brazo mecnico; posicin de Home; son utilizados para el clculo de la posicin Cartesiana del brazo. El tipo de estructura del robot debe estar bien definido en la configuracin. 33 Escala de rotacin (solo para robot) 34 35 36 37 1 Posicin de Referencia Horizontal 2 3 4 5 2560 Nmero de pasos encoder para 90 del eje 1 Nmero de pasos encoder para 90 del eje 2 Nmero de pasos encoder para 90 del eje 3 Nmero de pasos encoder para 90 del eje 4 Nmero de pasos encoder para 90 del eje 5 Encoder 1 marcando una posicin horizontal de referencia Encoder marcando una posicin horizontal de referencia Encoder 3 marcando una posicin horizontal de referencia Encoder 4 marcando una posicin horizontal de referencia Encoder 5 marcando una posicin horizontal de referencia Compensacin del ngulo Roll para mantener la orientacin de la herramienta Coordenada X del eje de rotacin de la unin 2 cuando el brazo esta en la posicin Home Coordenada Y del TCP cuando el brazo esta en Home Coordenada Z del eje de rotacin de la unin 2 Longitud de la unin 2; desde la primera articulacin Longitud de la unin 3; desde la segunda articulacin
ACL para Controlador B Versin 2.28 Gua de Referencia 0404

Define cuando se utiliza doble rutina de Home Mximo DAC mientras Home Velocidad de bsqueda micro de Home Polaridad del micro de Home Baja velocidad durante Home Velocidad de bsqueda del pulso Index Posicin del pulso ndex Nmero de pasos de encoder para 90 de giro del motor valor de DAC que se aplicar durante la bsqueda de Hard Home

Longitud (en micras o miligrados) 301 302 303 304 305


7-6

306 307 308 309 310 237 Trayectoria 219 220 236 520+eje 580+eje 199 260+eje Pinza 73 74 75 76 274 275 276 277 260+eje

Distancia desde la superficie del eje Pitch al TCP Distancia desde el eje Pitch (inclinacin mueca) a la superficie Longitud. Valor del comando TOOL Offset. Valor del comando TOOL Angulo. Valor del comando TOOL Limite Cartesiano Factor de suavizamiento para el movimiento MOVES Perfil senoidal de velocidad para movimiento por Joint Perfil senoidal de velocidad para trayectoria lineal Mxima aceleracin/deceleracin Suavizamiento de deceleracin Rango de deceleracin cuando el interruptor Run/Hold esta en Hold Mximo error de posicin al final de MOVED, MOVELD o MOVECD Rango del encoder de la pinza Contaje del encoder cuando pinza cerrada DAC mxima para cerrar y abrir pinza Duracin de la apertura y cierre de la pinza Salida del controlador para pinzas neumtica Valor DAC aplicado a la pinza despus de CLOSE Valor DAC aplicado a la pinza al inicio del movimiento Duracin del PAR 276 Cuando eje = pinza: mxima fluctuacin del valor de encoder mientras la pinza esta bloqueada.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-7

Parmetro 1 2 3 4 5 13

15

16

18 19 20

20+eje 33 34 35 36 37 40+eje 60+eje 73 74 75


7-8

Tabla2 Parmetros Descripcin Usados por el controlador para clculos XYZ, Solo para ejes del robot Lectura del encoder 1 en la posicin horizontal de referencia Lectura del encoder 2 en la posicin horizontal de referencia Lectura del encoder 3 en la posicin horizontal de referencia Lectura del encoder 4 en la posicin horizontal de referencia Lectura del encoder 5 en la posicin horizontal de referencia Estos parmetros definen el offset del encoder desde la posicin de Home y la posicin horizontal (donde todos los ejes estn alineados) Home lento: movimiento lento durante la rutina de Home. Si PAR 13 = 0 ; valor por defecto Si PAR 13 = 1 ; Dos veces mas despacio Si PAR 13 = 3 ; Tres veces mas despacio Run/Hold (Ejecucin /paro) del programa Define la entrada del controlador utilizada para controlar la ejecucin/paro desde el panel de control auxiliar PAR 15 puede tener un valor de 1 al 16. Si PAR 15 =0 selector no instalado; no definido. PAR 199 define el rango de deceleracin al seleccionar Hold Programa Start Define la entrada del controlador conectada al pulsador que ejecuta el programa START en el panel de control auxiliar. PAR 16 puede tener un valor de 1 a 16; Si PAR 16 =0 , pulsador no instalado o definido ID del controlador. Identifica el modelo de produccin del controlador. Determina si el modo PRIVILEGE esta activo o no. Si PAR 19 = 0 , controlador en modo PRIVILEGE, no existe proteccin de parmetros Tiempo del Servo Ciclo (Controller Clock Tick). rango 30 - 200 dcimas de milisegundo. Si PAR 20 = 100; un ciclo es ejecutado cada 10 mseg. Si PAR 20 = 60; un ciclo es ejecutado cada 6 mseg. Constante Proporcional de realimentacin (Kp) por eje Utilizados para clculos XYZ. Slo robot. Nmero de pasos de encoder para +90 del eje 1 Nmero de pasos de encoder para +90 del eje 2 Nmero de pasos de encoder para +90 del eje 3 Nmero de pasos de encoder para +90 del eje 4 Nmero de pasos de encoder para +90 del eje 5 Constante Diferencial de realimentacin (Kv) por eje Constante Integral de realimentacin (Ki) por eje Rango Encoder Pinza. Nmero de pasos de encoder requeridos desde la posicin cerrada a la abierta. Si PAR 73=0 : no hay encoder en la pinza Valor del encoder cuando la pinza esta cerrada Valor DAC aplicado al motor para abrir y cerrar la pinza
ACL para Controlador B Versin 2.28 Gua de Referencia 0404

76 78 79 80+eje 100+eje 120+eje 140+eje 160+eje 180+eje 199

200 200+eje 219 220

220+eje 236

237 238 239

Duracin del cierre de la Pinza. Tiempo requerido para cerrar y abrir la pinza (en pulsos de reloj). Vlido slo para pinzas sin encoder y para pinza neumtica. Servo Control. Si PAR 78 distinto de 0, las constantes Proporcional (Kp) y Diferencial (Kv) son dobladas al final del movimiento. Control Integral. Razn de reduccin de las constantes de realimentacin integral mientras los ejes estn en movimiento. Compensacin Offset del Driver. Valor del DAC utilizado para calcular el par. Rango 0 - 5000 Lmite superior de movimiento por eje Lmite inferior de movimiento por eje Voltaje Motor/Caracterstica de Velocidad de un motor en vaco. Necesario para calcular la media trmica en carga del motor. Proteccin trmica. DAC mximo que se puede aplicar a un motor bloqueado. Cuando se alcanza el umbral de error , la tensin al motor se anula. Ajuste mximo de velocidad. Para ejes de robot: en grados/seg. Para ejes no de robot en pasos encoder/10 mseg. Razn de deceleracin del movimiento cuando se selecciona Hold en el panel de control. Define un porcentaje de la velocidad mxima, segn se define por PAR 180+eje: 1=lento; 100=intermedio. Valor tpico 4-5 Homing Si PAR 200=0, el Home se ejecutar dos veces (por precisin) Valor mximo DAC mientras Home. Factor de suavizamiento en movimientos MOVES. Rango 1 - 200. 200 suavidad mxima. Define la forma del perfil senoidal de la velocidad para movimiento en Joint (MOVE)El valor determina el porcentaje de tiempo de movimiento para la aceleracin y deceleracin cuando se utilice un perfil de movimiento senoidal. Define el ajuste de velocidad para el movimiento manual de cada eje. Definido como un porcentaje de la velocidad mxima, definida en PAR 180+eje Define la forma del perfil de la velocidad senoidal para trayectoria Lineal. El valor determina el porcentaje de tiempo de movimiento para la aceleracin y deceleracin cuando se utilice un perfil de movimiento senoidal en MOVEL y MOVEC Lmite Cartesiano. Angulo mnimo permitido, en grados, entre los dos principales uniones mientras el robot se mueve en coordenadas cartesianas. Deceleracin del movimiento manual Cartesiano. rango de deceleracin cuando se deja de pulsar la tecla Aceleracin Manual. Rango de aceleracin al inicio de un movimiento manual.

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-9

240

240+eje 260

260+eje

274

275

276 277 280+eje 294 300 301 302 303 304 305
7-10

Modo Respuesta Proteccin Impacto. Define el grupo de ejes que responde cuando se detecta una situacin de impacto. Si PAR 240 distinto de 0: cuando se detecta una situacin de impacto, slo el grupo de ejes donde se ha detectado el impacto de desconecta. Si PAR=0 todos los ejes se pararn Error Inicio Homing. Si la posicin de error (en pasos de encoder) al inicio de la rutina de Home es mayor que el valor del parmetro, se produce un error Compensacin del Roll para mantener la Orientacin de la Herramienta. Cuando se ejecuten movimientos lineales, si el valor de Pitch esta cerca de +90 o -90, el controlador compensar el ngulo de Roll para mantener la orientacin de la herramienta (paralela a s misma). PAR &= determina el rango en el que se ejecuta el algoritmo de compensacin: (90 - PAR 260) < ngulo pitch < (90 +PAR 260). Rango medio 0 - 20 Error de Posicin mximo, en pasos de encoder, permitido para la ejecucin de MOVED, MOVELD, MOVECD, MOVESD y SPLINE. (este parmetro esta activo slo en modo EXACT) Si el eje es una servo pinza, este parmetro define la fluctuacin mxima del valor del encoder mientras la pinza esta bloqueada Configuracin Pinza Neumtica (OPEN/CLOSE) Define la salida del controlador a la que esta conectada la pinza neumtica. PAR /$ debe tener un valor entre 1 y 16. Permite el uso de los comandos OPEN y CLOSE desde el teclado y desde la botonera. Potencia de retencin de la Pinza. Un valor constante de salida que ser aplicado a la salida analgica despus de haber ejecutado un comando CLOSE. valor tpico 1000 o menor. Slo vlido con pinzas sin encoder. Valor de DAC aplicado al inicio del movimiento de la pinza durante un tiempo definido por PAR 277 Duracin del PAR 276 (dcimas de segundo) Par lmite Movimiento Manual. El mximo par permitido en movimiento manual (desde el TP o teclado). DAC entre 0 - 5000 Mxima velocidad de movimiento en Manual Cartesianas. Porcentaje de la velocidad mxima definida en PAR 536. Keyboard Stroke Rate. Cuando se maneja el robot en modo manual desde el teclado, tiempo requerido para pulsar la tecla antes de que el carcter sea repetido, esto produce un movimiento suave y continuo. Coordenada X del eje de rotacin de la unin 2 del brazo cuando el robot esta en la posicin de Home. En micras. Coordenada Y (offset desde el centro a lo largo del eje Y) del TCP cuando el robot esta en la posicin de Home. Micras. Coordenada Z del eje de rotacin de la unin 2 del brazo. Micras Longitud de la unin 2 del brazo (desde la primera unin). Micras Longitud de la unin 3 del brazo (desde la segunda unin). Micras
ACL para Controlador B Versin 2.28 Gua de Referencia 0404

306 307

308 309 320+eje 340 Reservado 340+eje

Distancia desde el eje Pitch al TCP (para el ER IX y MK2); o Distancia desde el flanco al TCP (para el ER14) Definida en micras. Calculada desde PAR 307 y PAR 308 Distancia desde el eje Pitch al flanco (para robot ERIX y MK2), en micras. Para ER14, PAR 307=0 El valor de este parmetro debe fijarse a la exacta dimensin del robot. El comando TOOL fija los parmetros 308, 309, 310 y 306 Valor de la longitud para el comando TOOL. Distancia desde el flanco al TCP, en micras. Valor del Offset para el comando TOOL. Distancia desde el eje de simetra del flanco al TCP, en micras. Ganancia Hardware del Driver. ganancia del preamplificador PWM de la tarjeta. Rango 0 - 15, tpico 1 o 2. Ganancia Hardware del Tacmetro. Selecciona uno de 16 valores de ganancia para la realimentacin del tacmetro. Si PAR 340+eje esta en el rango 0 - 15: el valor es descargado directamente a la ganancia hardware del tacmetro Si PAR 340+eje > 15: se calcula la ganancia del tacmetro de forma ms compleja, de acuerdo con la velocidad deseada y el error de posicin en cada momento (Ganancia Adaptativa)

360 Reservada

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-11

360+eje 380+eje 400+eje 420+eje

440+eje 460+eje 500+eje 520+eje 533 534 535 536 537 538 540+eje 560+eje

580+eje

600+eje 640+eje reservada


7-12

Lmite Integral. El valor mayor permitido de salida analgica para la realimentacin integral. Si el valor de la salida es mayor que este valor, no se incrementa la realimentacin integral. Rango 0 - 5000 Feed Forward. Una constante que representa el valor medio de la razn: salida analgica contaje encoder. Rango 0 - 20.000 Fija la velocidad de bsqueda del impulso ndice Si es 0 no hay impulso ndice. Posicin del Impulso Indice. Graba la distancia, en pasos de encoder, entre el microinterruptor de Home y el impulso ndice. Durante la operacin inicial el valor es cero. Despus de realizar el primer Home, se graban los valores detectados en estos parmetros. Cada vez que se hace home se comparan los valores actuales con los almacenados. Nmero de pasos de encoder por 90 de giro del motor Velocidad de bsqueda del microinterruptor de home. El signo de este parmetro tambin determina a que lado detectar el micro. Deceleracin del Movimiento Manual. Rango de deceleracin cuando se deja de pulsar la tecla de movimiento. Define un porcentaje de la aceleracin mxima (PAR 250). Aceleracin/Deceleracin mxima permitida para cada eje. En pasos de encoder/(pulso de reloj)2 Aceleracin Lineal Mxima en micras/(centsimas de segundo)2 Aceleracin mxima del Pitch (ERIX y MK2) Aceleracin mxima del Roll (ER14) . En miligrados/ centsimas de segundo)2 Aceleracin Mxima del Roll (ERIX y MK2) En miligrados/ (centsimas de segundo)2 Velocidad Lineal Mxima (micras/seg.) Velocidad mxima del Pitch (ERIX y MK2) Velocidad mxima del Roll (ER14) miligrados/ centsimas de segundo Velocidad mxima del Roll (ERIX y MK2) miligrados/ centsimas de segundo Rango Mximo de Encoder. Un valor utilizado para varios clculos. Polaridad del Microinterruptor de Home. Define que valor es utilizado para indicar el estado de Home Si PAR 560+eje=0: cuando el micro de home esta pulsado: HS[eje]=1 Si PAR 560+eje=1: cuando el micro de home esta pulsado: HS[eje]=0 Amortiguacin de deceleracin. Utilizado para ajustar la suavidad del paro que sigue a un comando ABORT (o CLRBUF) en pasos encoder/(pulsos de reloj)2 valor tpico 5 (suave) - 100 (brusco) Valor Salida Analgica cuando el eje ejecuta la rutina de Hard Home. Valor Mximo Ganancia Tacmetro.
ACL para Controlador B Versin 2.28 Gua de Referencia 0404

660+eje 680+eje

700+eje 720+eje 740+eje 760+eje

780+eje

Valor mximo de DAC: Mximo valor absoluto que se puede aplicar a una salida analgica. Servo Error: en Run time y durante el home, si el error de posicin es mayor que el definido en el parmetro, se detecta un condicin de impacto. Valor tpico 1000-2000 Lmite de par en Movimiento Manual Siempre que el encoder de los ejes se mueva ms que el valor de PAR 700+eje, se muestrea el valor del par y se escribe en la variable del sistema T0. Adems, el par actual T, se mide en cada impulso de reloj y se compara con T0. Cada vez que (T-T0) > Tmax, se incrementa un contador interno. Cuando el valor del contador iguala al valor del PAR 740+eje, se detecta una condicin de impacto. El par mximo permitido se define como: Tmax = (PAR 720 +eje) + (PAR 760+eje)x aceleracin) Servo Error. Durante el movimiento Manual, si el error de posicin es mayor que el definido en el parmetro, se detecta una condicin de impacto. Valores tpicos para ER IX/ ER 14 y MK2 : 1000 - 2000 pasos encoder

Gua de Referencia 0404

ACL para Controlador B Versin 2.28

7-13

7-14

ACL para Controlador B Versin 2.28

Gua de Referencia 0404

Potrebbero piacerti anche