Programar Robots ABB

download Programar Robots ABB

of 234

Transcript of Programar Robots ABB

ManueI de referencia tcnicaDescripcin generaI de RAPIDSoftware de controlador para IRC5Robotware 5.0Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.ndiceIntroduccinResumen sobre RAPIDCaractersticas bsicasPrincipios de movimiento y E/SProgramacin fuera de lneaDatos y programas predefinidosGlosariondice alfabticoManual de referencia tcnica - Descripcin general de RAPID3HAC 16580-5Revisin ESoftware de controlador para IRC5 RobotWare 5.0Descripcin general de RAPIDLa informacin de este manual puede cambiar sin previo aviso y no puede entenderse como un compromiso por parte de ABB. ABB no se hace responsable de ningn error que pueda aparecer en este manual.Excepto en los casos en que se indica expresamente en este manual, ninguna parte del mismo debe entenderse como ninguna garanta por parte de ABB por las prdidas, lesiones, daos materiales, idoneidad para un fin determinado ni garantas similares.ABB no ser en ningn caso responsable de los daos accidentales o consecuentes que se produzcan como consecuencia del uso de este manual o de los productos descritos en el mismo.Se prohbe la reproduccin o la copia de este manual o cualquiera de sus partes si no se cuenta con una autorizacin escrita de ABB. Ninguna parte de este manual debe ser entregada a terceros ni utilizada para fines no autorizados. Cualquier incumplimiento de esta norma ser perseguido legalmente.Usted puede obtener copias adicionales de este manual a travs de ABB, con el coste aplicable en el momento de su solicitud. Copyright 2004-2007 ABB. Reservados todos los derechos.ABB RoboticsSE-721 68 VstersSuecia Copyright 2004-2007 ABB. Todos los derechos reservados.ndiceDescripcin general de RAPID I Copyright 2004-2007 ABB. Todos los derechos reservados.1Introduccin............................................................................................................................... 11.1Otros manuales ................................................................................................................. 11.2Cmo leer este manual ..................................................................................................... 1 Convenciones tipogrficas ............................................................................................... 2 Reglas de sintaxis............................................................................................................. 2 Sintaxis formal ................................................................................................................. 32La estructura del lenguaje........................................................................................................ 53Control del flujo del programa ................................................................................................ 73.1Principios de programacin.............................................................................................. 73.2Llamada a otra rutina........................................................................................................ 73.3Control del programa dentro de la rutina.......................................................................... 73.4Detencin de la ejecucin del programa........................................................................... 83.5Detencin del ciclo actual................................................................................................. 84Otras instrucciones.................................................................................................................... 94.1Asignacin de un valor a un dato ..................................................................................... 94.2Espera ............................................................................................................................... 94.3Comentarios...................................................................................................................... 94.4Carga de mdulos de programa ...................................................................................... 104.5Otras funciones............................................................................................................... 104.6Datos bsicos .................................................................................................................. 104.7Funciones de conversin ................................................................................................ 115Parmetros de movimiento..................................................................................................... 135.1Principios de programacin............................................................................................ 135.2Velocidad mxima de TCP ............................................................................................. 135.3Definicin de la velocidad.............................................................................................. 145.4Definicin de la aceleracin ........................................................................................... 145.5Definicin del control de configuracin......................................................................... 145.6Definicin de la carga til .............................................................................................. 145.7Definicin del comportamiento cerca de puntos singulares........................................... 155.8Desplazamiento de programa ......................................................................................... 155.9Servo suave..................................................................................................................... 155.10Modificacin de los valores de ajuste del robot ........................................................... 165.11Zonas mundo ................................................................................................................ 175.12Datos para parmetros de movimiento ......................................................................... 176Movimiento.............................................................................................................................. 196.1Principios de programacin............................................................................................ 196.2Instrucciones de posicionamiento................................................................................... 206.3Bsqueda ........................................................................................................................ 20ndiceII Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.4Activacin de salidas o interrupciones en posiciones concretas .................................... 216.5Control de una seal analgica de salida de forma proporcional al TCP real................ 216.6Control del movimiento si se produce un error o una interrupcin................................ 226.7Obtencin de la informacin de robot en un sistema MultiMove.................................. 226.8Control de ejes externos ................................................................................................. 236.9Ejes independientes ........................................................................................................ 246.10Correccin de trayectoria ............................................................................................. 256.11Grabadora de trayectorias............................................................................................. 256.12Conveyor tracking ........................................................................................................ 266.13Sincronizacin de sensores........................................................................................... 266.14Identificacin de carga y deteccin de colisiones ........................................................ 266.15Funciones de posicin .................................................................................................. 276.16Comprobacin de la interrupcin de una trayectoria despus de una cada de alimentacin................................................................................................................... 276.17Funciones de estado...................................................................................................... 276.18Datos de movimiento.................................................................................................... 286.19Datos bsicos de los movimientos................................................................................ 287Seales de entrada y salida..................................................................................................... 297.1Principios de programacin............................................................................................ 297.2Modificacin del valor de una seal............................................................................... 297.3Lectura del valor de una seal de entrada ...................................................................... 297.4Lectura del valor de una seal de salida......................................................................... 307.5Comprobacin de la entrada en las seales de salida..................................................... 307.6Desactivacin y activacin de mdulos de E/S.............................................................. 307.7Definicin de seales de entrada y salida....................................................................... 317.8Obtencin del estado del bus y la unidad de E/S ........................................................... 317.9Inicio de un bus de E/S................................................................................................... 318Comunicacin.......................................................................................................................... 338.1Principios de programacin............................................................................................ 338.2Comunicacin a travs del FlexPendant, grupo de funciones TP .................................. 338.3Comunicacin a travs del FlexPendant, grupo de funciones UI................................... 348.4Lectura o escritura a travs de un canal serie o un archivo alfanumrico...................... 358.5Comunicacin a travs de canales serie o archivos o buses de campo binarios............. 358.6Comunicacin a travs de datos rawbytes...................................................................... 368.7Datos para canales, archivos y buses de campo en serie................................................ 379Interrupciones ......................................................................................................................... 399.1Principios de programacin............................................................................................ 399.2Conexin de interrupciones a rutinas TRAP.................................................................. 39ndiceDescripcin general de RAPID III Copyright 2004-2007 ABB. Todos los derechos reservados.9.3Peticin de interrupciones .............................................................................................. 409.4Cancelacin de interrupciones ...................................................................................... 409.5Activacin y desactivacin de interrupciones ................................................................ 409.6Datos de interrupcin...................................................................................................... 419.7Tipos de datos de las interrupciones............................................................................... 4110Recuperacin en caso de error............................................................................................. 4310.1Principios de programacin.......................................................................................... 4310.2Creacin de una situacin de error desde el propio programa ..................................... 4310.3Registro de un nmero de error .................................................................................... 4310.4Reinicio y retorno desde el gestor de errores ............................................................... 4410.5Errores y avisos definidos por el usuario...................................................................... 4410.6Generacin de errores de proceso................................................................................. 4410.7Datos para la gestin de errores.................................................................................... 4410.8Configuracin para la gestin de errores...................................................................... 4511Sistema y tiempo.................................................................................................................... 4711.1Principios de programacin .......................................................................................... 4711.2Utilizacin de un reloj para temporizar un evento........................................................ 4711.3Lectura de la hora y la fecha actuales........................................................................... 4711.4Obtencin de informacin de hora de un archivo......................................................... 4811.5Obtener el tamao de memoria libre del programa ...................................................... 4812Operaciones matemticas..................................................................................................... 4912.1Principios de programacin.......................................................................................... 4912.2Clculos sencillos con datos numricos ....................................................................... 4912.3Clculos ms avanzados ............................................................................................... 4912.4Funciones aritmticas ................................................................................................... 5012.5Funciones para dgitos de cadenas de caracteres.......................................................... 5112.6Funciones de bits .......................................................................................................... 5213Comunicacin con un ordenador externo........................................................................... 5313.1Principios de programacin.......................................................................................... 5313.2Envo de un mensaje controlado por el programa del robot a un ordenador................ 5314Funciones para operaciones con archivos........................................................................... 5515Instrucciones de soporte de RAPID..................................................................................... 5715.1Obtencin de datos del sistema .................................................................................... 5715.2Obtencin de informacin acerca del sistema .............................................................. 5715.3Obtencin de informacin acerca de la memoria ......................................................... 5815.4Lectura de datos de configuracin .............................................................................. 5815.5Escritura de datos de configuracin............................................................................ 5815.6Reinicio del controlador ............................................................................................... 58ndiceIV Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.15.7Instrucciones para tablas de texto................................................................................. 5815.8Obtencin de nombres de objetos ................................................................................ 5915.9Obtencin de informacin acerca de las tareas ............................................................ 5915.10Obtener el tipo de la rutina de evento actual .............................................................. 5915.11Bsqueda de smbolos ................................................................................................ 6016Instrucciones de servicio tcnico y calibracin .................................................................. 6116.1Calibracin de la herramienta....................................................................................... 6116.2Distintos mtodos de calibracin ................................................................................. 6116.3Envo de un valor a la seal de test del robot ............................................................... 6116.4Registro de una ejecucin............................................................................................. 6217Funciones para cadenas de caracteres ................................................................................ 6317.1Operaciones bsicas ..................................................................................................... 6317.2Comparacin y bsqueda ............................................................................................. 6317.3Conversin.................................................................................................................... 6418Multitasking........................................................................................................................... 6518.1Conceptos bsicos ........................................................................................................ 6518.2Instrucciones y funciones generales ............................................................................. 6518.3MultiMove System con robots coordinados................................................................. 6619Resumen de la sintaxis.......................................................................................................... 6719.1Instrucciones................................................................................................................. 6719.2Funciones...................................................................................................................... 7920Elementos bsicos.................................................................................................................. 8720.1Identificadores .............................................................................................................. 8720.2Espacios y caracteres de salto de lnea......................................................................... 8820.3Valores numricos ........................................................................................................ 8820.4Valores lgicos ............................................................................................................. 8820.5Valores de cadena de caracteres ................................................................................... 8820.6Comentarios.................................................................................................................. 8920.7Marcadores de sustitucin............................................................................................ 8920.8Encabezado del archivo................................................................................................ 9020.9Sintaxis ......................................................................................................................... 9021Mdulos.................................................................................................................................. 9321.1Mdulos de programa................................................................................................... 9321.2Mdulos de sistema ...................................................................................................... 9421.3Declaracin de mdulos ............................................................................................... 9421.4Sintaxis ......................................................................................................................... 9522Rutinas ................................................................................................................................... 9722.1mbito de una rutina.................................................................................................... 97ndiceDescripcin general de RAPID V Copyright 2004-2007 ABB. Todos los derechos reservados.22.2Parmetros .................................................................................................................... 9822.3Finalizacin de una rutina............................................................................................. 9922.4Declaraciones de rutinas............................................................................................... 9922.5Llamada a procedimiento ........................................................................................... 10022.6Sintaxis ....................................................................................................................... 10123Tipos de datos ...................................................................................................................... 10523.1Tipos de datos sin valor .............................................................................................. 10523.2Tipos de datos de igualdad (alias) .............................................................................. 10623.3Sintaxis ....................................................................................................................... 10624Datos ..................................................................................................................................... 10724.1mbito de un dato ...................................................................................................... 10724.2Declaracin de variables............................................................................................. 10824.3Declaracin de variables persistentes ......................................................................... 10924.4Declaracin de constantes .......................................................................................... 10924.5Inicializacin de datos ................................................................................................ 11024.6Clase de almacenamiento ........................................................................................... 11124.7Sintaxis ....................................................................................................................... 11225Instrucciones........................................................................................................................ 11325.1Sintaxis ....................................................................................................................... 11326Expresiones .......................................................................................................................... 11526.1Expresiones aritmticas .............................................................................................. 11526.2Expresiones lgicas .................................................................................................... 11626.3Expresiones de cadena de caracteres .......................................................................... 11726.4Utilizacin de datos en expresiones............................................................................ 117 Matrices........................................................................................................................ 117 Registros....................................................................................................................... 11726.5Utilizacin de agregados en expresiones.................................................................... 11826.6Utilizacin de llamadas a funciones en las expresiones ............................................. 11826.7Prioridad entre operadores.......................................................................................... 119 Ejemplo ........................................................................................................................ 12026.8Sintaxis ....................................................................................................................... 120 Expresiones .................................................................................................................. 120 Operadores ................................................................................................................... 120 Valores constantes ........................................................................................................ 120 Datos ............................................................................................................................ 121 Agregados .................................................................................................................... 121 Llamadas a funciones................................................................................................... 121 Expresiones especiales................................................................................................. 122ndiceVI Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados. Parmetros.................................................................................................................... 12227Recuperacin en caso de error........................................................................................... 12327.1Gestores de errores ..................................................................................................... 123 Gestor de errores del sistema ....................................................................................... 124 Errores elevados por el programa ................................................................................ 124 Registro de eventos ...................................................................................................... 12428UNDO................................................................................................................................... 12528.1Definiciones/terminologa .......................................................................................... 12528.2Cundo utilizar UNDO............................................................................................... 12528.3Comportamiento detallado de UNDO........................................................................ 12528.4Limitaciones ............................................................................................................... 12628.5Ejemplo ...................................................................................................................... 12729Interrupciones ..................................................................................................................... 12929.1Manipulacin de interrupciones ................................................................................. 12929.2Rutinas TRAP............................................................................................................. 13030Ejecucin hacia atrs.......................................................................................................... 13330.1Gestores de ejecucin hacia atrs............................................................................... 13330.2Limitacin de las instrucciones de movimiento del gestor de ejecucin hacia atrs . 13430.3Comportamiento de la ejecucin hacia atrs.............................................................. 135 Rutinas MoveC y nostepin........................................................................................... 135 Objetivo, tipo de movimiento y velocidad................................................................... 135 Ejemplo........................................................................................................................ 13631Multitarea ............................................................................................................................ 13931.1Sincronizacin de tareas............................................................................................. 140 Sincronizacin mediante consulta................................................................................ 140 Sincronizacin mediante una interrupcin................................................................... 14131.2Comunicacin entre tareas ......................................................................................... 14131.3Tipo de tarea ............................................................................................................... 14231.4Prioridades.................................................................................................................. 14331.5Nivel de confianza...................................................................................................... 14431.6Una consideracin a tener en cuenta .......................................................................... 14531.7Esquema de programacin ......................................................................................... 145 Primera vez .................................................................................................................. 145 Fase de iteracin .......................................................................................................... 145 Fase de finalizacin...................................................................................................... 14632Sistemas de coordenadas .................................................................................................... 14732.1El punto central de la herramienta del robot (TCP) ................................................... 14732.2Sistemas de coordenadas utilizados para determinar la posicin del TCP................. 147ndiceDescripcin general de RAPID VII Copyright 2004-2007 ABB. Todos los derechos reservados. Sistema de coordenadas de la base .............................................................................. 147 Sistema de coordenadas mundo ................................................................................... 148 Sistema de coordenadas del usuario............................................................................. 149 Sistema de coordenadas de objeto ............................................................................... 149 Sistema de coordenadas de desplazamiento................................................................. 150 Ejes externos coordinados............................................................................................ 15132.3Sistemas de coordenadas utilizados para determinar la direccin de la herramienta. 152 Sistema de coordenadas de la mueca ......................................................................... 153 Sistema de coordenadas de la herramienta .................................................................. 153 TCPs estacionarios....................................................................................................... 15432.4Informacin relacionada............................................................................................. 15633Posicionamiento durante la ejecucin del programa....................................................... 15733.1General........................................................................................................................ 15733.2Interpolacin de la posicin y la orientacin de la herramienta................................. 157 Interpolacin de ejes .................................................................................................... 157 Interpolacin lineal ...................................................................................................... 158 Interpolacin circular ................................................................................................... 159 SingArea\Wrist............................................................................................................. 16033.3Interpolacin de trayectorias de esquina .................................................................... 161 Interpolacin de ejes en trayectorias de esquina.......................................................... 162 Interpolacin lineal de una posicin en trayectorias de esquina.................................. 162 Interpolacin lineal de la orientacin en trayectorias de esquina ................................ 163 Interpolacin de ejes externos en trayectorias de esquina ........................................... 164 Trayectorias de esquina al cambiar de mtodo de interpolacin ................................. 164 Interpolacin al cambiar de sistema de coordenadas ................................................... 164 Trayectorias de esquina con zonas superpuestas.......................................................... 165 Planificacin de tiempo para los puntos de paso ......................................................... 16633.4Ejes independientes .................................................................................................... 166 Ejecucin de programas ............................................................................................... 166 Ejecucin paso a paso .................................................................................................. 167 Movimiento.................................................................................................................. 167 rea de trabajo............................................................................................................. 167 Velocidad y aceleracin ............................................................................................... 168 Ejes del robot ............................................................................................................... 16833.5Servo suave................................................................................................................. 16933.6Paro y reanudacin ..................................................................................................... 16933.7Informacin relacionada............................................................................................. 170ndiceVIII Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.34Sincronizacin con instrucciones lgicas .......................................................................... 17134.1Ejecucin secuencial del programa en puntos de paro............................................... 17134.2Ejecucin secuencial de programas en puntos de paso .............................................. 17134.3Ejecucin simultnea de programas ........................................................................... 17234.4Sincronizacin de trayectorias.................................................................................... 17534.5Informacin relacionada............................................................................................. 17635Configuracin del robot...................................................................................................... 17735.1Distintos tipos de configuraciones de robot ............................................................... 17735.2Especificacin de la configuracin del robot ............................................................. 17935.3Comprobacin de la configuracin ............................................................................ 17935.4Informacin relacionada............................................................................................. 18036Modelos cinemticos del robot........................................................................................... 18136.1Cinemtica del robot .................................................................................................. 181 Robot principal............................................................................................................. 181 Robot externo............................................................................................................... 18236.2Cinemtica general ..................................................................................................... 18336.3Informacin relacionada............................................................................................. 18537Supervisin del movimiento y deteccin de colisiones..................................................... 18737.1Introduccin................................................................................................................ 18737.2Ajuste de los niveles de deteccin de colisiones........................................................ 18737.3Ventana de dilogo Supervisin del Movimiento....................................................... 18937.4Salidas digitales.......................................................................................................... 18937.5Limitaciones ............................................................................................................... 18937.6Informacin relacionada............................................................................................. 19038Singularidades ..................................................................................................................... 191 Puntos de singularidad del robot IRB140 .................................................................... 19238.1Ejecucin del programa a travs de singularidades.................................................... 19238.2Movimiento a travs de singularidades ...................................................................... 19238.3Informacin relacionada............................................................................................. 19339Limitacin optimizada de la aceleracin .......................................................................... 19540Zonas mundo ....................................................................................................................... 19740.1Utilizacin de zonas globales ..................................................................................... 19740.2Utilizacin de zonas mundo ....................................................................................... 19740.3Definicin de zonas mundo en el sistema de coordenadas mundo ............................ 19740.4Supervisin del TCP del robot ................................................................................... 198 TCPs estacionarios....................................................................................................... 19840.5Acciones ..................................................................................................................... 199 Activar una salida digital cuando el TCP se encuentra dentro de una zona mundo. ... 199ndiceDescripcin general de RAPID IX Copyright 2004-2007 ABB. Todos los derechos reservados. Activar una salida digital antes de que el TCP alcance una zona mundo. ................... 199 Detener el robot antes de que el TCP alcance una zona mundo. ................................. 19940.6Tamao mnimo de las zonas mundo ......................................................................... 20040.7Nmero mximo de zonas mundo.............................................................................. 20040.8Cadas de alimentacin, reinicio y reanudacin ......................................................... 20040.9Informacin relacionada............................................................................................. 20141Principios de E/S ................................................................................................................. 20341.1Caractersticas de las seales...................................................................................... 20341.2Seales conectadas a interrupciones........................................................................... 20441.3Seales del sistema ..................................................................................................... 20541.4Conexiones cruzadas .................................................................................................. 20541.5Limitaciones ............................................................................................................... 20641.6Informacin relacionada............................................................................................. 20642Programacin fuera de lnea.............................................................................................. 20742.1Formato de archivo..................................................................................................... 20742.2Edicin........................................................................................................................ 20742.3Comprobacin de la sintaxis....................................................................................... 20742.4Ejemplos ..................................................................................................................... 20842.5Creacin de instrucciones propias .............................................................................. 20943Mdulo de sistema User...................................................................................................... 21143.1Contenido.................................................................................................................... 21144Glosario ................................................................................................................................ 213ndiceX Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.IntroduccinDescripcin general de RAPID 1 Copyright 2004-2007 ABB. Todos los derechos reservados.1Introduccinste es un manual de referencia que contiene una explicacin detallada del lenguaje de programacin, as como de todos los tipos de datos, las instrucciones y las funciones. Si prev realizar la programacin fuera de lnea, este manual le resultar especialmente til a la hora de hacerlo.Cuando empiece a programar el robot normalmente es mejor empezar con el Manual del operador - IRC5 con FlexPendant hasta que est familiarizado con el sistema.1.1Otros manualesEl Manual del operador - IRC5 con FlexPendant contiene instrucciones detalladas acerca de cmo realizar distintas tareas, por ejemplo, cmo mover manualmente el robot, cmo realizar la programacin o cmo iniciar un programa en la produccin real.El Manual del producto describe cmo instalar el robot, as como los procedimientos de mantenimiento y la bsqueda de averas. Las Especificaciones del producto contiene un resumen de las caractersticas y el rendimiento del robot.1.2Cmo leer este manualPara obtener respuestas a preguntas como qu instruccin debo usar? o qu significa esta instruccin?, consulte el manual Descripcin general de RAPID, Captulo 3: Resu-men sobre RAPID. Este captulo describe brevemente todas las instrucciones, funciones y tipos de datos, agrupados por las listas de seleccin de instrucciones que se usan durante la programacin. Tambin incluye un resumen de la sintaxis, lo que resulta especialmente til a la hora de programar fuera de lnea.En Descripcin general de RAPID, Captulo 4: Caractersticas bsicas, se explican los detalles internos del lenguaje. Normalmente, no leer este captulo si no es un pro-gramador experto.En Descripcin general de RAPID, Captulo 5: Principios de movimiento y E/S, se des-criben los distintos sistemas de coordenadas del robot, su velocidad y otras caractersticas de movimiento durante los distintos tipos de ejecucin.Este manual describe todos los datos y programas que se incluyen con el robot en el momento de la entrega. Adems de stos, existe un conjunto de datos y programas pre-definidos que se entregan junto con el robot, ya sea en disquete o, como en algunas oca-siones, ya cargados. En Descripcin general de RAPID, Captulo 7: Datos y programas predefinidos se describe qu ocurre al cargar estos elementos en el robot.Si programa fuera de lnea, encontrar algunas sugerencias en el Captulo 6: Progra-macin fuera de lnea de la Descripcin general de RAPID.Introduccin2 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.Para facilitarle la bsqueda y la comprensin de la informacin, el manual Descripcin general de RAPID, Captulo 8 contiene un ndice y un glosario. Por otra parte, el Manual de referencia tcnica - Instrucciones, funciones y tipos de datos de RAPID contiene un ndiceal final.Convenciones tipogrficasLos comandos situados en cualquiera de las cinco teclas de men de la parte superior de cada pantalla del FlexPendant aparecen con el formato Men: Comando. Por ejem-plo, para activar el comando Imprimir del men Archivo, debe seleccionar Archivo: Imprimir..Los nombres de las teclas de funcin y de los campos de introduccin se especifican en cursiva y negrita, por ejemplo Modpos.Las palabras que pertenecen al propio lenguaje de programacin, por ejemplo, los nom-bres de las instrucciones, aparecen en cursiva, como en MoveL. Los programas de ejemplo se muestran siempre con el mismo formato en que se alma-cenan en un disquete o se imprimen. Esto difiere de lo que aparece en el FlexPendant en lo siguiente:- Determinadas palabras de control que aparecen con una mscara en la pantalla del FlexPendant se imprimen, por ejemplo, las palabras que indican el principio y el final de una rutina.- Las declaraciones de datos y rutinas se imprimen con el formato formal, por ejemplo VAR num reg1;.Reglas de sintaxisLas instrucciones y funciones se describen utilizando tanto una sintaxis simplificada como una sintaxis formal. Si utiliza el FlexPendant para programar, normalmente slo necesita conocer la sintaxis simplificada, dado que el robot se asegura automticamente de que se utilice la sintaxis correcta.Sintaxis simplificadaEjemplo:- Los argumentos opcionales aparecen entre corchetes [ ]. Puede omitir estos argumentos.- Los argumentos excluyentes entre s, es decir, que no pueden existir a la vez en una misma instruccin, aparecen separados por una barra vertical |.- Los argumentos que pueden repetirse un nmero arbitrario de veces aparecen entre llaves { }.Argumentos excluyentes entre sTPWrite String[\Num] | [\Bool] | [\Pos] | [\Orient]InstruccinArgumento obligatorioArgumento opcionalIntroduccinDescripcin general de RAPID 3 Copyright 2004-2007 ABB. Todos los derechos reservados.Sintaxis formalEjemplo: TPWrite [String:=] [\Num:= ] | [\Bool:= ] | [\Pos:= ] | [\Orient:= ];- Puede omitir el texto que aparece entre corchetes [ ].- Los argumentos excluyentes entre s, es decir, que no pueden existir a la vez en una misma instruccin, aparecen separados por una barra vertical |.- Los argumentos que pueden repetirse un nmero arbitrario de veces aparecen entre llaves { }.- Los smbolos que se escriben para conseguir la sintaxis correcta aparecen entre comillas sencillas (apstrofos) .- El tipo de datos del argumento (en cursiva) y otras caractersticas aparecen entre smbolos de mayor y menor que < >. Consulte la descripcin de los parmetros de una rutina para obtener informacin ms detallada.Los elementos bsicos del lenguaje y determinadas instrucciones se escriben mediante una sintaxis especial, EBNF. Esta sintaxis se basa en las mismas reglas, pero con algunos elementos adicionales.Ejemplo: GOTO ; ::= | ::= { | | _}- El smbolo ::= significa se define como. - El texto encerrado entre smbolos de mayor y menor que < > se definen en una lnea separada.Introduccin4 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.La estructura del lenguajeDescripcin general de RAPID 5 Copyright 2004-2007 ABB. Todos los derechos reservados.2La estructura del lenguajeEl programa est compuesto por un conjunto de instrucciones que describen la actividad del robot. Por tanto, existen instrucciones especficas para los distintos comandos, por ejemplo una para mover el robot, otra para seleccionar una salida, etc.Por lo general, las instrucciones llevan asociado un conjunto de argumentos que definen qu debe ocurrir con una instruccin concreta. Por ejemplo, la instruccin utilizada para restablecer una salida contiene un argumento que define qu salida debe restablecerse, por ejemplo Reset do5. Estos argumentos pueden especificarse mediante uno de los mtodos siguientes:- Como un valor numrico, por ejemplo 5 4.6- Como una referencia a un dato, por ejemplo reg1- Como una expresin, por ejemplo 5+reg1*2- Como una llamada a una funcin, por ejemplo Abs(reg1)- Como un valor de cadena de caracteres, por ejemplo "Produccin de la pieza A"Existen tres tipos de rutinas: procedimientos, funciones y rutinas TRAP.- Los procedimientos se utilizan como subprogramas.- Las funciones devuelven un valor de un tipo concreto y se utilizan como argumento de una instruccin.- Las rutinas TRAP proporcionan una forma de responder a las interrupciones. Las rutinas TRAP pueden asociarse con una interrupcin determinada. Por ejemplo, al establecer una entrada, se ejecuta automticamente si se produce dicha inte-rrupcin en concreto. La informacin tambin puede almacenarse en datos, por ejemplo los datos de las herra-mientas (que contienen informacin sobre las herramientas, como su TCP y su peso) y datos numricos (que pueden usarse por ejemplo para contar el nmero de piezas que deben procesarse). Los datos se agrupan en distintos tipos de datos que describen los distintos tipos de informacin, como herramientas, posiciones y cargas. Dado que es posible crear estos datos y asignarles nombres arbitrarios, no existe ningn lmite en el nmero de datos (excepto el lmite impuesto por la memoria disponible). Estos datos pueden existir de forma global en el programa o slo localmente dentro de una rutina.Existen tres tipos de datos: constantes, variables y persistentes.- Las constantes representan valores fijos y la nica forma de asignarles un nuevo valor es manualmente.- Las asignacin de nuevos valores a las variables puede realizarse durante la ejecucin del programa.- Un valor persistente puede describirse como una variable persistente. Cuando se guarda un programa, el valor de inicializacin corresponde al valor actual del valor persistente.La estructura del lenguaje6 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.Otras caractersticas del lenguaje son:- Parmetros de rutinas- Expresiones aritmticas y lgicas- Gestin automtica de errores- Programas modulares- MultitaskingControl del flujo del programaDescripcin general de RAPID 7 Copyright 2004-2007 ABB. Todos los derechos reservados.3Control del flujo del programaEl programa se ejecuta secuencialmente como una regla, es decir, una instruccin tras otra. En ocasiones, se requieren instrucciones que interrumpen esta ejecucin secuen-cial y que llaman a otra instruccin, para enfrentarse a las distintas situaciones que pue-den darse durante la ejecucin.3.1Principios de programacinEl flujo del programa puede controlarse acorde con cinco principios diferentes:- Llamar a otra rutina (procedimiento) y, una vez ejecutada dicha rutina, continuar la ejecucin con la instruccin que sigue a la llamada a la rutina.- Ejecutar instrucciones diferentes en funcin de si se cumple o no una condicin determinada.- Repetir una secuencia de instrucciones un nmero determinado de veces o hasta que se cumple una condicin determinada. - Ir a una etiqueta dentro de la misma rutina.- Detener la ejecucin del programa.3.2Llamada a otra rutinaInstruccin Finalidad:ProcCall Llamar (saltar a) otra rutinaCallByVar Llamar a procedimientos que tienen nombres concretosRETURN Volver a la rutina original3.3Control del programa dentro de la rutinaInstruccin Finalidad:Compact IF Ejecutar una instruccin slo si se cumple una condicinIFEjecutar una secuencia de instrucciones diferentes en funcin de si se cumple una condicinFOR Repetir una seccin del programa un nmero de vecesWHILE Repetir una secuencia de instrucciones diferentes mientras siga cumplindose una condicinTEST Ejecutar instrucciones diferentes en funcin del valor de una expresinGOTO Saltar a una etiquetalabel Especificar una etiqueta (un nombre de lnea)Control del flujo del programa8 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.3.4Detencin de la ejecucin del programaInstruccin Finalidad:Stop Detener la ejecucin del programaEXIT Detener la ejecucin del programa de forma que no se permita reiniciarloBreak Detener temporalmente la ejecucin del programa con fines de depuracinSystemStopAction Detener la ejecucin del programa y el movimiento del robot3.5Detencin del ciclo actualInstruccin Finalidad:ExitCycle Detener el ciclo actual y trasladar el puntero del programa a la primera instruccin de la rutina principal. Cuando se selecciona el modo de ejecucin CONT, la ejecucin contina en el siguiente ciclo de programa.Otras instruccionesDescripcin general de RAPID 9 Copyright 2004-2007 ABB. Todos los derechos reservados.4Otras instruccionesExiste un conjunto de instrucciones adicionales que se utilizan para:- Asignar valores a los datos- Esperar una determinada cantidad de tiempo o esperar hasta que se cumpla una condicin- Insertar un comentario en el programa- Cargar mdulos de programa4.1Asignacin de un valor a un datoEs posible asignar cualquier valor a un dato determinado. Por ejemplo, el valor puede ser inicializado con un valor constante, por ejemplo 5, o actualizado mediante una expresin aritmtica, por ejemplo reg1+5*reg3.Instruccin Finalidad::= Asignacin de un valor a un dato4.2EsperaEs posible programar el robot de forma que espere un tiempo determinado o que espere hasta que se cumpla la condicin que desee, por ejemplo, esperar hasta que se active una entrada.Instruccin Finalidad:WaitTime Esperar una cantidad determinada de tiempo o esperar hasta que el robot deje de moverseWaitUntil Esperar hasta que se cumpla una condicinWaitDI Esperar hasta que se active una entrada digitalWaitDO Esperar hasta que se active una salida digital4.3ComentariosLa nica finalidad de insertar comentarios en el programa es facilitar su lectura.Los comentarios no afectan a la ejecucin del programa.Instruccin Finalidad:comment Comentario sobre el programaOtras instrucciones10 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.4.4Carga de mdulos de programaLos programas de mdulo pueden cargarse desde la memoria de almacenamiento o eliminarse de la memoria de programas. Esto permite manejar programas grandes con slo una memoria pequea.Instruccin Finalidad:Load Cargar un mdulo de programa en la memoria de programasUnLoad Descargar un mdulo de programa de la memoria de programasStartLoad Cargar un mdulo de programa en la memoria de programas durante la ejecucinWaitLoad Conectar el mdulo, si se ha cargado con StartLoad, a la tarea de programaCancelLoad Cancelar la carga de un mdulo que se est cargando o que se ha cargado con la instruccin StartLoadSave Guardar un mdulo de programaEraseModule Borrar un mdulo de la memoria del programa.Tipo de datos Finalidad:loadsession Programar una sesin de carga4.5Otras funcionesInstruccin Finalidad:TryInt Comprobar si un objeto de dato es un entero vlidoFuncin Finalidad:OpMode Leer el modo actual de funcionamiento del robot RunMode Leer el modo actual de ejecucin de programas del robot NonMotionMode Leer el modo sin ejecucin de movimientos actual de la tarea del programaDim Obtener las dimensiones de una matrizPresent Determinar si est presente un parmetro opcional cuando se hace una llamada a una rutinaIsPers Comprobar si un parmetro es de tipo persistenteIsVar Comprobar si un parmetro es una variableOtras instruccionesDescripcin general de RAPID 11 Copyright 2004-2007 ABB. Todos los derechos reservados.4.6Datos bsicosTipo de dato Para definir:bool Datos lgicos (con los valores verdadero o falso)num Valores numricos (decimales o enteros)symnum Datos numricos con valor simblico string Cadenas de caracteres switch Parmetros de rutina sin valor4.7Funciones de conversinFuncin Finalidad:StrToByte Convertir una cadena con formato de datos de cadena a un formato de datos de byte.ByteToStr Convertir una cadena de caracteres con un formato definido de datos de byte a un dato de cadena.Otras instrucciones12 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.Parmetros de movimientoDescripcin general de RAPID 13 Copyright 2004-2007 ABB. Todos los derechos reservados.5Parmetros de movimientoAlgunas de las caractersticas de movimiento del robot se determinan mediante instrucciones lgicas que se aplican a todos los movimientos:- Velocidad mxima de TCP- Velocidad mxima y ajuste de velocidad- Aceleracin- Gestin de distintas configuraciones de robot- Carga til- Comportamiento cerca de puntos singulares- Desplazamiento del programa- Servo suave- Valores de ajuste5.1Principios de programacinLas caractersticas bsicas del movimiento del robot dependen de los datos especificados con cada instruccin de posicionamiento. Sin embargo, algunos datos se especifican en instrucciones separadas que se aplican a todos los movimientos hasta que cambia dicha informacin. Los parmetros generales de movimiento se especifican utilizando varias instrucciones, pero tambin pueden leerse a travs de la variable de sistema C_MOTSET o C_PROGDISP.Los valores predeterminados se establecen automticamente (mediante la ejecucin de la rutina SYS_RESET del mdulo BASE del sistema) en los casos siguientes:- En los arranques en fro- Cuando se carga un nuevo programa- Cuando se inicia el programa desde el principio5.2Velocidad mxima de TCPFuncin Finalidad:MaxRobSpeed Obtener la velocidad de TCP mxima del tipo de robot utilizadoParmetros de movimiento14 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.5.3Definicin de la velocidadLa velocidad absoluta se programa como un argumento de la instruccin de posiciona-miento. Adems, es posible definir la velocidad mxima y el ajuste de velocidad (un porcentaje de la velocidad programada).Instruccin Para definir:VelSet La velocidad mxima y el ajuste de velocidadSpeedRefresh El ajuste de velocidad para el movimiento en curso5.4Definicin de la aceleracinEn algunos casos, por ejemplo cuando se manejan piezas frgiles, es posible reducir la aceleracin en una parte del programa.Instruccin Finalidad:AccSet Definir la aceleracin mximaWorldAccLim Limitar la aceleracin/deceleracin de la herramienta (y la carga de la pinza) dentro del sistema de coordenadas mundo.PathAccLim Establecer o restablecer limitaciones de aceleracin y/o deceleracin de TCP a lo largo de la trayectoria de movimiento.5.5Definicin del control de configuracinNormalmente, la configuracin del robot se comprueba durante los movimientos. Si se utiliza el movimiento de ejes (eje por eje), se conseguir la configuracin correcta. Si se utiliza un movimiento lineal o circular, el robot siempre se desplaza hacia la configura-cin ms cercana, pero se realiza una comprobacin si es la misma que la programada. Sin embargo, es posible cambiar este comportamiento.Instruccin Para definir:ConfJ Control de configuracin activado/desactivado durante el movimiento de ejesConfL Control de configuracin activado/desactivado durante el movimiento lineal5.6Definicin de la carga tilPara alcanzar el rendimiento ptimo del robot, es necesario definir la carga til correcta.Instruccin Para definir:GripLoad La carga til de la pinzaParmetros de movimientoDescripcin general de RAPID 15 Copyright 2004-2007 ABB. Todos los derechos reservados.5.7Definicin del comportamiento cerca de puntos singularesEs posible programar el robot para evitar puntos singulares, mediante la modificacin automtica de la orientacin de la herramienta.Instruccin Para definir:SingArea El mtodo de interpolacin utilizado al pasar por puntos singulares5.8Desplazamiento de programaCuando es necesario desplazar una parte del programa, por ejemplo a continuacin de una bsqueda, es posible aadir un desplazamiento de programa.Instruccin Finalidad:PDispOn Activar el desplazamiento de programaPDispSet Activar el desplazamiento de programa mediante la especificacin de un valorPDispOff Desactivar el desplazamiento de programaEOffsOn Activar un offset del eje externoEOffsSet Activar un offset de eje externo mediante la especificacin de un valorEOffsOff Desactivar un offset de eje externoFuncin Finalidad:DefDFrame Calcular un desplazamiento de programa desde tres posicionesDefFrame Calcular un desplazamiento de programa desde seis posiciones ORobT Eliminar el desplazamiento de programa desde una posicinDefAccFrame Definir una base de coordenadas desde las posiciones originales y las desplazadas5.9Servo suaveUno o varios de los ejes del robot pueden funcionar en el modo suave. Con esta funcin, el robot puede adaptarse a nuevas situaciones y puede sustituir, por ejemplo, a una herramienta con resorte. Instruccin Finalidad:SoftAct Activar el servo suave para uno o varios ejesSoftDeact Desactivar el servo suaveDitherAct1Permite aplicar una funcin de oscilacin al servo suaveDitherDeact1Desactiva la funcin de oscilacin del servo suave1. Slo en el sistema IRB 7600Parmetros de movimiento16 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.5.10Modificacin de los valores de ajuste del robotEn general, el funcionamiento del robot incorpora una optimizacin automtica.Sin embargo, en casos extremos pueden producirse situaciones como rebasamientos. Puede modificar los valores de ajuste del robot para conseguir el funcionamiento requerido. Instruccin Finalidad:TuneServo Modificar los valores de ajuste del robot TuneReset Restablecer el ajuste al modo normalPathResol Ajustar la resolucin de trayectorias geomtricasCirPathMode Seleccionar la forma en que la herramienta cambia de orientacin durante una interpolacin circularTipo de dato Finalidad:tunetypeRepresentar el tipo de ajuste como una constante simblicaParmetros de movimientoDescripcin general de RAPID 17 Copyright 2004-2007 ABB. Todos los derechos reservados.5.11Zonas mundoEs posible definir hasta 10 volmenes diferentes dentro del rea de trabajo del robot. Puede usarlos para:- Indicar que el TCP del robot es una parte definida del rea de trabajo.- Delimitar el rea de trabajo del robot e impedir colisiones con la herramienta.- Crear un rea de trabajo comn para dos robots. En este caso, el rea de trabajo est disponible slo para un robot cada vez.Instruccin Finalidad:WZBoxDef1Definir una zona global cuadradaWZCylDef 1Definir una zona global cilndricaWZSphDef 1Definir una zona global esfricaWZHomeJointDef 1Definir una zona global en coordenadas de ejesWZLimJointDef 1Definir una zona global en coordenadas de ejes para la delimitacin del rea de trabajoWZLimSup1Activar la supervisin de lmites de una zona globalWZDOSet1Activar la zona global para el establecimiento de salidas digitalesWZDisable1Desactivar la supervisin de una zona global temporalWZEnable1Activar la supervisin de una zona global temporalWZFree1Borrar la supervisin de una zona global temporalTipo de datos Finalidad:wztemporary1Identificar una zona global temporalwzstationary1Identificar una zona global estacionariashapedata1Describir la geometra de una zona global 5.12Datos para parmetros de movimientoTipo de dato Para definir:motsetdata Parmetros de movimiento, excepto desplazamiento de programaprogdisp Desplazamiento de programa1. Slo si el robot est equipado con la opcin World zonesParmetros de movimiento18 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.MovimientoDescripcin general de RAPID 19 Copyright 2004-2007 ABB. Todos los derechos reservados.6MovimientoLos movimientos del robot se programan como movimientos de posicin a posicin, es decir, moverse de la posicin actual a una nueva posicin. La trayectoria entre estas dos posiciones es calculada automticamente por el robot.6.1Principios de programacinLas caractersticas bsicas del movimiento, como el tipo de trayectoria, se especifican mediante la seleccin de la instruccin de posicionamiento adecuada.Las dems caractersticas de movimiento se especifican mediante la definicin de datos que se usan como argumentos de la instruccin:- Datos de posicin (posicin final del robot y los ejes externos)- Datos de velocidad (velocidad deseada)- Datos de zona (exactitud de la posicin)- Datos de la herramienta (por ejemplo, la posicin del TCP)- Datos de objeto tratado (por ejemplo, el sistema de coordenadas actual)Algunas de las caractersticas de movimiento del robot se determinan mediante instrucciones lgicas que se aplican a todos los movimientos (consulte Parmetros de movimiento en la pgina 13):- Velocidad mxima y ajuste de velocidad- Aceleracin- Gestin de distintas configuraciones de robot- Carga til- Comportamiento cerca de puntos singulares- Desplazamiento del programa- Servo suave- Valores de ajustePara el posicionamiento tanto del robot como de los ejes externos se usan las mismas instrucciones. Los ejes externos se mueven a una velocidad constante y alcanzan la posicin final al mismo tiempo que el robot.Movimiento20 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.2Instrucciones de posicionamientoInstruccin Tipo de movimiento:MoveC Mover el TCP a lo largo de una trayectoria circularMoveJ Movimiento de ejesMoveL Mover el TCP a lo largo de una trayectoria linealMoveAbsJ Movimiento absoluto de ejesMoveExtJ Mover un eje externo lineal o giratorio sin TCPMoveCDO Mover el robot en una trayectoria circular y establecer una salida digital a medio camino de la trayectoria de esquina.MoveJDO Mover el robot con un movimiento de ejes y establecer una salida digital a medio camino de la trayectoria de esquina.MoveLDO Mover el robot en una trayectoria lineal y establecer una salida digital a medio camino de la trayectoria de esquina.MoveCSync1Mover el robot en una trayectoria circular y ejecutar un procedimiento de RAPID.MoveJSync1Mover el robot con un movimiento de ejes y ejecutar un procedimiento de RAPIDMoveLSync1Mover el robot de forma lineal y ejecutar un procedimiento de RAPID6.3BsquedaDurante el movimiento, el robot puede buscar la posicin del objeto de trabajo, por ejemplo. La posicin buscada (indicada por una seal de sensor) se almacena y puede usarse ms tarde para posicionar el robot o para calcular un desplazamiento de programa.Instruccin Tipo de movimiento:SearchC TCP a lo largo de una trayectoria circularSearchL TCP a lo largo de una trayectoria lineal1. Slo si el robot est equipado con la opcin Fixed position events.MovimientoDescripcin general de RAPID 21 Copyright 2004-2007 ABB. Todos los derechos reservados.6.4Activacin de salidas o interrupciones en posiciones concretasNormalmente, las instrucciones lgicas se ejecutan en la transicin de una instruccin de posicionamiento a otra. Sin embargo, si se utilizan instrucciones especiales de movi-miento, podran ejecutarse stas en su lugar cuando el robot se encuentra en una posicin determinada.Instruccin Finalidad:TriggIO1Definir una condicin de disparo para establecer una salida en una posicin determinadaTriggInt1Definir una condicin de disparo para ejecutar una rutina TRAP en una posicin determinadaTriggCheckIO1Definir una comprobacin de E/S en una posicin determinadaTriggEquip1Definir una condicin de disparo para establecer una salida en una posicin determinada, con la posibilidad de incluir una com-pensacin de tiempo por el retardo de los equipos externosTriggRampAO1Definir una condicin de disparo para aumentar o disminuir en rampa una seal de salida analgica en una posicin determi-nada, con la posibilidad de incluir una compensacin de tiempo por el retardo de los equipos externosTriggC1Mover el robot (el TCP) en crculo con una condicin de disparo activadaTriggJ1Mover el robot eje por eje con una condicin de disparo activadaTriggL1Mover el robot (el TCP) linealmente con una condicin de disp-aro activadaStepBwdPath2Retroceder en su trayectoria en una rutina de evento RESTARTTriggStopProc2Crear un proceso interno de supervisin en el sistema para la puesta a cero de las seales de proceso especificadas y la gen-eracin de datos de reinicio en una variable persistente especifi-cada, cada vez que se detiene el programa (STOP) o se produce un paro de emergencia (QSTOP) en el sistema.Tipo de dato Para definir:triggdata1Condiciones de disparoaiotrigg3Condiciones de disparo con E/S analgicarestartdata2Datos para TriggStopProc6.5Control de una seal analgica de salida de forma proporcional al TCP realTriggSpeed2Definir condiciones y acciones para el control de una seal analgica de salida cuyo valor de salida es proporcional a la velocidad real del TCP.1. Slo si el robot est equipado con la opcin Fixed position events.2. Slo si el robot est equipado con la opcin Advanced RAPID.3. Slo si el robot est equipado con la opcin Analog signal interrupt.Movimiento22 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.6Control del movimiento si se produce un error o una interrupcinPara poder corregir un error o una interrupcin, es posible detener temporalmente el movimiento y reiniciarlo posteriormente.Instruccin Finalidad:StopMove Detener los movimientos del robotStartMove Reiniciar los movimientos del robotStartMoveRetry Reiniciar los movimientos del robot y hacer un reintento en una secuencia indivisibleStopMoveReset Restablecer el estado de detencin de movimiento, pero sin iniciar los movimientos del robotStorePath1Almacenar la ltima trayectoria generadaRestoPath1Restaurar una trayectoria almacenada anteriormenteClearPath Eliminar toda la trayectoria de movimiento del nivel actual de trayectorias de movimiento.PathLevel Obtener el nivel de trayectoria actualSyncMoveSuspend1Suspender el movimiento coordinado sincronizado en el nivel StorePathSyncMoveResume1Reanudar el movimiento coordinado sincronizado en el nivel StorePathFuncin Finalidad:IsStopMoveAct Obtener el estado de los indicadores de movimiento de paro.6.7Obtencin de la informacin de robot en un sistema MultiMoveSe utiliza para obtener un nombre o una referencia al robot en la tarea de programa actual.Funcin Finalidad:RobName Obtener el nombre del robot controlado en la tarea de programa actual, si lo hay.Dato Finalidad:ROB_ID Obtener datos que contienen una referencia al robot controlado en la tarea de programa actual, si lo hay.1. Slo si el robot est equipado con la opcin Path recovery.MovimientoDescripcin general de RAPID 23 Copyright 2004-2007 ABB. Todos los derechos reservados.6.8Control de ejes externosPara el posicionamiento del robot y de los ejes externos se usan las mismas instrucciones. Sin embargo, algunas instrucciones slo afectan a los movimientos de los ejes externos.Instruccin Finalidad:DeactUnit Desactivar una unidad mecnica externaActUnit Activar una unidad mecnica externaMechUnitLoad Definir una carga til para una unidad mecnicaFuncin Finalidad:GetNextMechUnit Obtener el nombre de las unidades mecnicas del sistema del robotIsMechUnitActive Comprobar si una unidad mecnica est activada o noMovimiento24 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.9Ejes independientesEl eje 6 del robot (o el 4 en el caso del sistema IRB 2400 /4400) o un eje externo pueden moverse independientemente del resto de movimientos. Tambin es posible restablecer el rea de trabajo de un eje, con lo que se reducen los tiempos de ciclo.Instruccin Finalidad:IndAMove1Poner un eje en el modo independiente y mover el eje hasta una posicin absolutaIndCMove1Poner un eje en el modo independiente e iniciar un movimiento continuo del ejeIndDMove1Poner un eje en el modo independiente y mover el eje una distancia deltaIndRMove1Poner un eje en el modo independiente y mover el eje hasta una posicin relativa (dentro de la revolucin del eje)IndReset1Poner un eje en el modo dependiente o/y restablecer el rea de trabajoHollowWristReset2Restablecer la posicin de los ejes de mueca en los manipuladores de mueca huecos, por ejemplo, en los sistemas IRB 5402 y IRB 5403.Funcin Finalidad:IndInpos1Comprobar si un eje independiente est en posicinIndSpeed1Comprobar si un eje independiente ha alcanzado la velocidad programada1. Slo si el robot est equipado con la opcin Independent movement.2. Slo si el robot est equipado con la opcin Independent movement. La instruccin HollowWristReset slo puede usarse en los robots IRB 5402 y IRB 5403.MovimientoDescripcin general de RAPID 25 Copyright 2004-2007 ABB. Todos los derechos reservados.6.10Correccin de trayectoriaInstruccin Finalidad:CorrCon1Conectarse con un generador de correccinCorrWrite1Escribir offsets en el sistema de coordenadas de trayectoria de un generador de correccionesCorrDiscon1Desconectarse de un generador de conexin con el que se ha conectado anteriormenteCorrClear1Eliminar todos los generadores de correccin conectadosFuncin Finalidad:CorrRead1Leer todas las correcciones entregadas por todos los generadores de correccin conectadosTipo de datos Finalidad:corrdescr1Aadir offsets geomtricos al sistema de coordenadas de trayectoria6.11Grabadora de trayectoriasInstruccin Finalidad:PathRecStart2Iniciar la grabacin de la trayectoria del robotPathRecStop2Detener la grabacin de la trayectoria del robotPathRecMoveBwd2Mover el robot hacia atrs por una trayectoria grabadaPathRecMoveFwd2Mover el robot de nuevo a la posicin en la que se ejecut PathRecMoveBwd Funcin Finalidad:PathRecValidBwd2Comprobar si la grabadora de trayectorias est activa y si est disponible una trayectoria hacia atrs grabadaPathRecValidFwd2Comprobar si la grabadora de trayectorias puede utilizarse para moverse hacia adelanteTipo de datos Finalidad:pathrecid Identificar un punto de ruptura para la grabadora de trayectorias1. Slo si el robot est equipado con la opcin Path offset or RobotWare-Arc sensor.2. Slo si el robot est equipado con la opcin Path recovery.Movimiento26 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.12Conveyor trackingInstruccin Finalidad:WaitWObj1Esperar a que exista un objeto de trabajo en el transportadorDropWObj1Soltar el objeto de trabajo sobre el transportador6.13Sincronizacin de sensoresLa sincronizacin de sensores es la funcin por la cual la velocidad del robot depende de un sensor que puede montarse sobre un transportador mvil o el eje de un motor de empuje.Instruccin Finalidad:WaitSensor2Conectarse con un objeto de la ventana inicial de una unidad mecnica con sensor.SyncToSensor2Iniciar o detener la sincronizacin de los movimientos del robot con el movimiento de los sensoresDropSensor2Desconectarse del objeto actual6.14Identificacin de carga y deteccin de colisionesInstruccin Finalidad:MotionSup3Desactiva/activa la supervisin del movimientoParIdPosValid Posicin de robot vlida para la identificacin de parmetrosParIdRobValid Tipo de robot vlido para la identificacin de parmetrosLoadId Identificacin de carga de la herramienta o la carga tilManLoadId Identificacin de carga del manipulador externoTipo de datos Finalidad:loadidnum Representar un entero con una constante simblicaparidnum Representar un entero con una constante simblicaparidvalidnum Representar un entero con una constante simblica1. Slo si el robot est equipado con la opcin Conveyor tracking.2. Slo si el robot est equipado con la opcin Sensor synchronization.3. Slo si el robot est equipado con la opcin Collision detection.MovimientoDescripcin general de RAPID 27 Copyright 2004-2007 ABB. Todos los derechos reservados.6.15Funciones de posicinFuncin Finalidad:Offs Aadir un offset a una posicin del robot, expresada en relacin con el objeto de trabajoRelTool Aadir un offset, expresado en el sistema de coordenadas de la herramientaCalcRobT Calcular el valor de robtarget a partir del valor de jointtargetCPos Leer la posicin actual (slo los valores x, y, z del robot)CRobT Leer la posicin actual (robtarget completo)CJointT Leer los ngulos actuales de las articulacionesReadMotor Leer los ngulos actuales de los motoresCTool Leer el valor actual de tooldataCWObj Leer el valor actual de wobjdataORobT Eliminar un desplazamiento de programa de una posicin determinadaMirPos Obtener la posicin espejo de otra posicinCalcJointT Calcular los ngulos de las articulaciones a partir del valor de robtargetDistance La distancia entre dos posiciones6.16Comprobacin de la interrupcin de una trayectoria despus de una cada de alimentacinFuncin Finalidad:PFRestart1Comprobar si la trayectoria fue interrumpida como consecuencia de la cada de alimentacin6.17Funciones de estadoFuncin Finalidad:CSpeedOverride Leer el ajuste de velocidad establecido por el usuario en las ventanas de programa o produccin.1. Slo si el robot est equipado con la opcin Advanced RAPID.Movimiento28 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.6.18Datos de movimientoLos datos de movimiento se utilizan como argumentos de las instrucciones de posicionamiento.Tipo de dato Para definir:robtarget La posicin finaljointtarget La posicin final de una instruccin MoveAbsJ oMoveExtJ speeddata La velocidadzonedata La exactitud de la posicin (punto de paro o punto de paso)tooldata El sistema de coordenadas de la herramienta y la carga de la herramientawobjdata El sistema de coordenadas del objeto de trabajostoppointdata La finalizacin de la posicinidentno Un nmero utilizado para controlar la sincronizacin de dos o ms movimientos sincronizados y coordinados entre s6.19Datos bsicos de los movimientosTipo de dato Para definir:pos Una posicin (x, y, z)orient Una orientacinpose Un sistema de coordenadas (posicin y orientacin)confdata La configuracin de los ejes del robotextjoint La posicin de los ejes externosrobjoint La posicin de los ejes del robotloaddata Una cargamecunit Una unidad mecnica externaSeales de entrada y salidaDescripcin general de RAPID 29 Copyright 2004-2007 ABB. Todos los derechos reservados.7Seales de entrada y salidaEl robot puede contar con varias seales de usuario digitales y analgicas que pueden leerse y modificarse desde el propio programa.7.1Principios de programacinLos nombres de las seales se definen en los parmetros del sistema. Estos nombres estn siempre disponibles en el programa para la lectura o el establecimiento de ope-raciones de E/S. El valor de una seal analgica o de un grupo de seales digitales se especifica como un valor numrico.7.2Modificacin del valor de una sealInstruccin Finalidad:InvertDO Invertir el valor de una seal digital de salidaPulseDO Generar un pulso en una seal digital de salidaReset Restablecer una seal digital de salida (ponerla a 0)Set Activar una seal digital de salida (cambiarla a 1)SetAO Cambiar el valor de una seal analgica de salidaSetDO Cambiar el valor de una seal digital de salida (su valor simblico, por ejemplo high/low)SetGO Cambiar el valor de un grupo de seales digitales de salida7.3Lectura del valor de una seal de entradaEl valor de una seal de entrada puede leerse directamente desde el programa, como en los ejemplos siguientes:! Digital input IF di1 = 1 THEN ...! Digital group input IF gi1 = 5 THEN ...! Analog input IF ai1 > 5.2 THEN ...Seales de entrada y salida30 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.7.4Lectura del valor de una seal de salidaFuncin Finalidad:AOutput Leer el valor actual de una seal analgica de salidaDOutput Leer el valor actual de una seal digital de salidaGOutput Leer el valor actual de un grupo de seales digitales de salida7.5Comprobacin de la entrada en las seales de salidaInstruccin Finalidad:WaitDI Esperar hasta que se activa o se pone a cero una entrada digitalWaitDO Esperar hasta que se activa o se pone a cero una salida digitalFuncin Finalidad:TestDI Comprobar si una entrada digital est activada7.6Desactivacin y activacin de mdulos de E/SLos mdulos de E/S estn activados automticamente en el momento de la puesta en marcha del sistema, pero pueden desactivarse durante la ejecucin del programa y reactivarse ms tarde.Instruccin Finalidad:IODisable Desactivar un mdulo de E/SIOEnable Activar un mdulo de E/SSeales de entrada y salidaDescripcin general de RAPID 31 Copyright 2004-2007 ABB. Todos los derechos reservados.7.7Definicin de seales de entrada y salidaTipo de dato Para definir:dionum El valor simblico de una seal digitalsignalai El nombre de una seal analgica de entrada*signalao El nombre de una seal analgica de salida*signaldi El nombre de una seal digital de entrada*signaldo El nombre de una seal digital de salida*signalgi El nombre de un grupo de seales digitales de entrada*signalgo El nombre de un grupo de seales digitales de salida*Instruccin Finalidad:AliasIO1Definir una seal con un nombre de alias7.8Obtencin del estado del bus y la unidad de E/STipo de dato Para definir:iounit_state El estado de la unidad de E/Sbustate El estado del bus de E/SFuncin Finalidad:IOUnitState Devuelve el estado actual de la unidad de E/S.Instruccin Finalidad:IOBusState Obtener el estado actual del bus de E/S. 7.9Inicio de un bus de E/SInstruccin Finalidad:IOBusStart Iniciar un bus de E/S.1. Slo si el robot est equipado con la opcin Advanced RAPID-Alias I/O signals.Seales de entrada y salida32 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.ComunicacinDescripcin general de RAPID 33 Copyright 2004-2007 ABB. Todos los derechos reservados.8ComunicacinExisten cuatro formas posibles de comunicarse a travs de canales serie:- Es posible enviar mensajes a la pantalla del FlexPendant y el usuario puede res-ponder a las preguntas, por ejemplo, sobre el nmero de piezas a procesar.- Es posible almacenar informacin alfanumrica en archivos de texto de la memoria de almacenamiento o leerse de stos. Por ejemplo, es posible almace-nar de esta forma las estadsticas de produccin y procesarlas ms adelante en un PC. Tambin es posible enviar directamente la informacin a una impresora conectada al robot.- Es posible transferir informacin binaria entre el robot y un sensor, por ejemplo. - Tambin es posible transferir informacin binaria entre el robot y otro ordena-dor, por ejemplo, a travs de un protocolo de comunicaciones.8.1Principios de programacinLa decisin de utilizar informacin alfanumrica o binaria depende de cmo manejan esta informacin los equipos con los que se comunica el robot. Por ejemplo, un archivo puede contener datos almacenados en formato alfanumrico o binario. Si se requiere una comunicacin en ambos sentidos de forma simultnea, debe utilizarse la transmisin binaria.En primer lugar es necesario abrir el canal serie o el archivo. Al hacerlo, se asigna al canal o archivo un descriptor que se utiliza posteriormente como referencia al leer o escribir. El FlexPendant est disponible en todo momento y no es necesario abrirlo.Es posible imprimir tanto textos como los valores de determinados tipos de datos.8.2Comunicacin a travs del FlexPendant, grupo de funciones TPInstruccin Finalidad:TPErase Vaciar la pantalla de usuario del FlexPendantTPWrite Escribir un texto en la pantalla de usuario del FlexPendantErrWrite Escribir un texto en la pantalla del FlexPendant y almacenarlo a la vez en el registro de errores del programa.TPReadFK Asignar etiquetas a las teclas de funcin y leer qu tecla se ha pulsado TPReadNum Leer un valor numrico del FlexPendantTPShow Seleccionar una ventana del FlexPendant desde RAPIDTipo de dato Finalidad:tpnum Representar la ventana del FlexPendant con una constante simblicaComunicacin34 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.8.3Comunicacin a travs del FlexPendant, grupo de funciones UIInstruccin Finalidad:UIMsgBox Escribir un mensaje en el FlexPendant Leer el botn presionado en el FlexPendant Tipo basicUIShow Abrir una aplicacin en el FlexPendant desde RAPIDFuncin Finalidad:UIMessageBox Escribir un mensaje en el FlexPendant Leer el botn presionado en el FlexPendant Tipo advancedUINumEntry Leer un valor numrico del FlexPendantUINumTune Ajustar un valor numrico del FlexPendantUIAlphaEntry Leer un texto del FlexPendantUIListView Seleccionar un elemento de una lista del FlexPendantUIClientExist Obtener una indicacin de si el FlexPendant est conectado al sistemaTipo de dato Finalidad:icondata Representar un icono con una constante simblicabuttondata Representar un botn con una constante simblicalistitem Definir elementos de listas de menbtnres Representar con una constante simblica un botn seleccionadoID de instancia para UIShowComunicacinDescripcin general de RAPID 35 Copyright 2004-2007 ABB. Todos los derechos reservados.8.4Lectura o escritura a travs de un canal serie o un archivo alfanumricoInstruccin Finalidad:Open1Abrir un canal o un archivo para lectura o escrituraWrite1Escribir un texto en el canal o el archivoClose1Cerrar el canal o el archivoFuncin Finalidad:ReadNum1Leer un valor numricoReadStr1Leer una cadena de caracteres8.5Comunicacin a travs de canales serie o archivos o buses de campo binariosInstruccin Finalidad:Open1Abrir un canal serie o un archivo para una transferencia binaria de datosWriteBin1Escribir en un canal serie o un archivo binarioWriteAnyBin1Escribir en cualquier canal serie o archivo binarioWriteStrBin1Escribir una cadena de caracteres en cualquier canal serie o archivo binarioRewind1Seleccionar el principio del archivo como posicin actualClose1Cerrar el canal o el archivoClearIOBuff1Vaciar el bfer de entrada de un canal serieReadAnyBin1Leer de cualquier canal serie binarioWriteRawBytes1Escribir los datos de tipo rawbytes en un canal serie o un archivo o un bus de campo binarioReadRawBytes1Leer los datos de tipo rawbytes de un canal serie o un archivo o un bus de campo binarioFuncin Finalidad:ReadBin1Leer de un canal serie binarioReadStrBin1Leer una cadena de caracteres de un canal serie o un archivo binario1. Slo si el robot est equipado con la opcin File and serial channel handlingComunicacin36 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.8.6Comunicacin a travs de datos rawbytesLas instrucciones y funciones siguientes se usan en apoyo de las instrucciones de comunicacin WriteRawBytes y ReadRawBytes.Instruccin Finalidad:ClearRawBytes1Cambiar la variable rawbytes a ceroCopyRawBytes1Copiar de una variable rawbytes a otraPackRawBytes1Empaquetar el contenido de una variable en un contenedor de tipo rawbytesUnPackRawBytes1Desempaquetar el contenido de un contenedor de tipo rawbytes en unavariablePackDNHeader2Empaquetar el ttulo del mensaje DeviceNet en un contenedor de rawbytesFuncin Finalidad::RawBytesLen1Obtener la longitud actual de los bytes vlidos en una variable rawbyte1. Slo si el robot est equipado con la opcin File and serial channel handling.2. Slo si el robot est equipado con la opcin Fieldbus command interface.ComunicacinDescripcin general de RAPID 37 Copyright 2004-2007 ABB. Todos los derechos reservados.8.7Datos para canales, archivos y buses de campo en serieTipo de dato Para definir:iodev1Una referencia a un canal serie o un archivo, para usarla posteriormente en operaciones de lectura y escriturarawbytes1Un contenedor general de datos, que se utiliza para la comunicacin con los dispositivos de E/SInstruccin Finalidad:SocketCreate1Crear un nuevo zcaloSocketConnect1Conectarse al ordenador remoto (slo aplicaciones cliente)SocketSend1Enviar datos al ordenador remotoSocketReceive1Recibir datos del ordenador remotoSocketClose1Cerrar el zcaloSocketBind1Enlazar un zcalo a un puerto (slo aplicaciones de servidor)SocketListen1Permanecer a la escucha de conexiones (slo aplicaciones deservidor)SocketAccept1Aceptar conexiones (slo aplicaciones de servidor)Funcin Finalidad:SocketGetStatus1Obtener el estado actual del zcaloTipo de dato Para definir:socketdev1Dispositivo de zcalosocketstatus1Estado de zcalo1. Slo si el robot est equipado con la opcin Socket Messaging.Comunicacin38 Descripcin general de RAPID Copyright 2004-2007 ABB. Todos los derechos reservados.InterrupcionesDescripcin general de RAPID 39 Copyright 2004-2007 ABB. Todos los derechos reservados.9InterrupcionesEl programa utiliza las interrupciones para tener la posibilidad de tratar directamente un evento, independientemente de qu instruccin se est ejecutando en cada momento.Por ejemplo, el programa se interrumpe cuando se cambia a uno el valor de una entrada determinada. Cuando esto se produce, se interrumpe el programa normal y se ejecuta una rutina TRAP especial. Una vez ejecutada completamente la rutina, la ejecucin del programa se reanuda en el punto en que se interrumpi.9.1Principios de programacinCada interrupcin tiene asignada una identidad de interrupcin. Obtiene su identidad mediante la creacin de una variable (del tipo de datos intnum) y conectndola a una rutina TRAP.A partir de ese momento, la identidad de interrupcin (variable) se utiliza para solicitar una interrupcin, es decir, para especificar el motivo de la interrupcin. Puede tratarse de uno de los eventos siguientes:- Cambio del valor de una entrada o una salida a uno o a cero.- Transcurre un intervalo determinado despus de la peticin de una interrupcin.- Se alcanza una posicin determinada.Cuando se solicita una interrupcin, sta queda activada automticamente, pero es posible desactivarla temporalmente. Esto puede realizarse de dos formas:- Es posible desactivar todas las interrupciones. Todas las interrupciones que se produzcan durante este intervalo se sitan en una cola y se generan automticamente cuando se activen de nue