Sei sulla pagina 1di 799

ABB Flexible Automation AB Gua de Referencia RAPID

MAIN MENU
Indice Introduccin Resumen RAPID Charactersticas Bsicas RAPID Principos de Movimiento y de E/S Tipos de Datos Instrucciones Funciones Datos y Programas Predefinidos Referencia Rpida Funciones especiales de este robot Indice, Glosario ArcWare SpotWare GlueWare Programacin Off-line

ABB Flexible Automation AB Internal Manual for the On-line Manual

WELCOME to the Internal manual for the On-line Manual


Use the tool field in the Acrobat Reader to manoeuvre through the on-line manual. The buttons Go back and Go forward take you step by step through the document, view to view in the order you have seen them. The buttons Previous/Next page move forward or backwards in the document one page at the time. You can also use the buttons PageUp/PageDown on the key board.

The buttons First/Last page move forward or backwards to the last or first page of the document.

To mark text in the document. For use in another document the text can be copied with the command Copy in the menu Edit. To mark graphics in the document (in the menu Tools). For use in another document the graphics can be copied in the same way as text, see above.

It is also possible to print the manual, use the function Print.... in the menu File. The cursor, in shape of a hand, changes to a pointing finger when it moves over a linked area. To jump to a linked view, click with the mouse button. For more information, see the Acrobat Reader on-line manual under the menu Help.

Click on the Main menu button to continue to the Users Guide on-line Manual.
Main menu

INDICE
Pgina

1 Indice ........................................................................................................ 1-1 2 Introduccin ............................................................................................... 2-3


1 Otros Manuales .................................................................................................... 2 Cmo utilizar este Manual .................................................................................. 2.1 Convenciones tipogrficas ............................................................................ 2.2 Reglas de sintaxis.......................................................................................... 2.3 Sintaxis formal .............................................................................................. 1 La Estructura del Lenguaje ................................................................................ 2 Control del Flujo del Programa ......................................................................... 2.1 Principios de programacin .......................................................................... 2.2 Llamada a otra rutina .................................................................................... 2.3 Control del programa dentro de la rutina ...................................................... 2.4 Paro de la ejecucin del programa ................................................................ 3 Instrucciones varias ............................................................................................. 3.1 Asignar un valor a un dato ............................................................................ 3.2 Condicin de Espera ..................................................................................... 3.3 Comentarios .................................................................................................. 3.4 Carga de mdulos de programa .................................................................... 3.5 Funciones varias............................................................................................ 3.6 Datos bsicos................................................................................................. 4 Caractersticas de movimiento ........................................................................... 4.1 Principios de programacin .......................................................................... 4.2 Definicin de la velocidad ............................................................................ 4.3 Definicin de la aceleracin.......................................................................... 4.4 Definicin de la gestin de la configuracin ................................................ 4.5 Definicin de la carga til ............................................................................. 4.6 Definicin del comportamiento del robot cerca de un punto singular .......... 4.7 Desplazamiento de un programa................................................................... 4.8 Servo suave ................................................................................................... 4.9 Valores de ajuste del robot............................................................................ 4.10 Datos para las caractersticas de movimiento ............................................. 5 Movimiento........................................................................................................... 5.1 Principios de programacin .......................................................................... 5.2 Instrucciones de posicionamiento ................................................................. 5.3 Bsqueda ....................................................................................................... 2-3 2-3 2-4 2-5 2-6 3-5 3-7 3-7 3-7 3-8 3-8 3-9 3-9 3-9 3-9 3-10 3-10 3-10 3-11 3-11 3-11 3-12 3-12 3-12 3-12 3-13 3-13 3-13 3-14 3-15 3-15 3-16 3-16

3 Resumen RAPID....................................................................................... 2-1

Gua de Referencia RAPID

1-1

Pgina 5.4 Activacin de salidas o interrupciones en posiciones especficas ................ 5.5 Control del movimiento en caso de ocurrir un error/interrupcin ................ 5.6 Control de los ejes externos .......................................................................... 5.7 Ejes independientes....................................................................................... 5.8 Funciones de posicin................................................................................... 5.9 Datos de movimiento .................................................................................... 5.10 Datos bsicos para los movimientos ........................................................... 6 Seales de entrada y salida ................................................................................. 6.1 Principios de programacin .......................................................................... 6.2 Cambio del valor de una seal ...................................................................... 6.3 Lectura del valor de una seal de entrada..................................................... 6.4 Lectura del valor de una seal de salida ....................................................... 6.5 Comprobacin deentradas en seales de salida ............................................ 6.6 Datos para las seales de entrada y salida .................................................... 7 Comunicacin....................................................................................................... 7.1 Principios de programacin .......................................................................... 7.2 Comunicacin utilizando la unidad de programacin .................................. 7.3 Lectura desde o escritura en un canal/archivo serie de caracteres................ 7.4 Comunicacin mediante canales serie binarios ............................................ 7.5 Datos de los canales serie ............................................................................. 8 Interrupciones ...................................................................................................... 8.1 Principios de programacin .......................................................................... 8.2 Conexin de las interrupciones a las rutinas de tratamiento de interrupcin 8.3 Peticin de interrupciones............................................................................. 8.4 Anulacin de interrupciones ......................................................................... 8.5 Habilitacin/Inhabilitacin de las interrupciones ......................................... 8.6 Tipos de datos de las interrupciones ............................................................. 9 Recuperacin de errores ..................................................................................... 9.1 Principios de programacin........................................................................... 9.2 Creacin de una situacin de error desde dentro del programa .................... 9.3 Rearranque/regreso del gestor de errores...................................................... 9.4 Datos para la gestin de los errores............................................................... 10 Sistema y Hora ................................................................................................... 10.1 Principios de programacin ........................................................................ 10.2 Utilizacin de un reloj para cronometrar un acontecimiento...................... 10.3 Lectura de la fecha y hora utilizadas........................................................... 3-16 3-17 3-17 3-18 3-18 3-19 3-19 3-20 3-20 3-20 3-20 3-20 3-21 3-21 3-22 3-22 3-23 3-23 3-23 3-24 3-25 3-25 3-25 3-26 3-26 3-26 3-26 3-27 3-27 3-27 3-28 3-28 3-29 3-29 3-29 3-29

1-2

Gua de Referencia RAPID

Pgina 11 Matemticas ....................................................................................................... 11.1 Principios de programacin ........................................................................ 11.2 Clculos sencillos sobre datos numricos................................................... 11.3 Clculos ms avanzados.............................................................................. 11.4 Funciones aritmticas.................................................................................. 12 Soldadura por Puntos........................................................................................ 12.1 Caractersticas de la soldadura por puntos .................................................. 12.2 Principios de SpotWare............................................................................... 12.3 Principios de SpotWare Plus....................................................................... 12.4 Principios de programacin ........................................................................ 12.5 Instrucciones de soldadura por puntos ........................................................ 12.6 Datos de soldadura por puntos .................................................................... 13 Soldadura al Arco .............................................................................................. 13.1 Principios de programacin ........................................................................ 13.2 Instrucciones de soldadura al arco .............................................................. 13.3 Datos de soldadura al arco .......................................................................... 14 GlueWare............................................................................................................ 14.1 Caractersticas de aplicacin de adhesivo................................................... 14.2 Principios de programacin ........................................................................ 14.3 Instrucciones de aplicacin de adhesivo ..................................................... 14.4 Datos de aplicacin de adhesivo ................................................................. 15 Comunicacin externa del computador .......................................................... 15.1 Principios de programacin ........................................................................ 15.2 Envo de un mensaje controlado por el programa desde el robot al computador...................................................................................... 16 Instrucciones de Servicio................................................................................... 16.1 Direccionamiento de un valor a una seal de test del robot........................ 17 Funciones de cadena .......................................................................................... 17.1 Operaciones Bsicas ................................................................................... 17.2 Comparacin y Bsqueda ........................................................................... 17.3 Conversin .................................................................................................. 18 Resumen de sintaxis........................................................................................... 18.1 Instrucciones ............................................................................................... 18.2 Funciones .................................................................................................... 3-30 3-30 3-30 3-30 3-31 3-32 3-33 3-34 3-34 3-35 3-35 3-36 3-37 3-37 3-37 3-38 3-39 3-39 3-39 3-40 3-40 3-41 3-41 3-41 3-42 3-42 3-43 3-43 3-43 3-43 3-45 3-45 3-48

Gua de Referencia RAPID

1-3

Pgina

4 5 Caractersticas Bsicas RAPID ............................................................... 5-1


1 Elementos Bsicos................................................................................................ 1.1 Identificadores............................................................................................... 1.2 Espacios y caracteres de fin de lnea............................................................. 1.3 Valores numricos ........................................................................................ 1.4 Valores lgicos.............................................................................................. 1.5 Valores de cadena ......................................................................................... 1.6 Comentarios .................................................................................................. 1.7 Comodines .................................................................................................... 1.8 Encabezado de archivo ................................................................................. 1.9 Sintaxis.......................................................................................................... 2 Mdulos ................................................................................................................ 2.1 Mdulos del programa .................................................................................. 2.2 Mdulos del sistema ..................................................................................... 2.3 Declaraciones de los mdulos....................................................................... 2.4 Sintaxis.......................................................................................................... 3 Rutinas .................................................................................................................. 3.1 Alcance de las rutinas ................................................................................... 3.2 Parmetros..................................................................................................... 3.3 Final de una rutina ........................................................................................ 3.4 Declaraciones de rutina................................................................................. 3.5 Llamada de procedimiento............................................................................ 3.6 Sintaxis.......................................................................................................... 4 Tipos de Datos ...................................................................................................... 4.1 Tipos de datos sin valor ................................................................................ 4.2 Tipos de datos iguales a (equivalente a) ....................................................... 4.3 Sintaxis.......................................................................................................... 5 Datos ..................................................................................................................... 5.1 Alcance de los datos...................................................................................... 5.2 Declaracin de un dato variable.................................................................... 5.3 Declaracin de un dato persistente ............................................................... 5.4 Declaracin de un dato constante ................................................................. 5.5 Datos de inicio .............................................................................................. 5.6 Sintaxis.......................................................................................................... 6 Instrucciones ........................................................................................................ 6.1 Sintaxis.......................................................................................................... 1-4 5-3 5-3 5-4 5-4 5-4 5-4 5-5 5-5 5-6 5-6 5-8 5-8 5-9 5-9 5-9 5-11 5-11 5-12 5-13 5-13 5-14 5-15 5-18 5-18 5-18 5-19 5-20 5-20 5-21 5-22 5-22 5-22 5-23 5-25 5-25

Gua de Referencia RAPID

Pgina 7 Expresiones........................................................................................................... 7.1 Expresiones aritmticas................................................................................. 7.2 Expresiones lgicas....................................................................................... 7.3 Expresiones de cadena .................................................................................. 7.4 Utilizacin de datos en las expresiones......................................................... 7.5 Utilizacin de agregados en las expresiones................................................. 7.6 Utilizacin de llamadas a funcin en las expresiones................................... 7.7 Prioridad entre los operadores....................................................................... 7.8 Sintaxis.......................................................................................................... 8 Recuperacin de Errores..................................................................................... 8.1 Gestores de error ........................................................................................... 9 Interrupciones ...................................................................................................... 9.1 Procesamiento de las interrupciones ............................................................. 9.2 Rutinas de tratamiento de las interrupciones................................................. 10 Ejecucin hacia atrs......................................................................................... 10.1 Gestores de ejecucin hacia atrs................................................................ 11 Multitareas ......................................................................................................... 11.1 Sincronizacin de las tareas ........................................................................ 11.2 Comunicacin entre tareas .......................................................................... 11.3 Tipo de tarea................................................................................................ 11.4 Prioridades .................................................................................................. 11.5 Tamao de las tareas ................................................................................... 11.6 Recomendacin importante......................................................................... 1 Sistemas de Coordenadas.................................................................................... 1.1 El punto central de la herramienta del robot (TCP) ...................................... 1.2 Sistemas de coordenadas utilizados para determinar la posicin del TCP ... 1.3 Sistemas de coordenadas utilizados para determinar la direccin de la herramienta .......................................................................... 1.4 Informacin relacionada ............................................................................... 2 Posicionamiento durante la Ejecucin del Programa ...................................... 2.1 Generalidades................................................................................................ 2.2 Interpolacin de la posicin y orientacin de la herramienta ....................... 2.3 Interpolacin de las trayectorias esquina ...................................................... 2.4 Ejes independientes....................................................................................... 2.5 Servo Suave................................................................................................... 5-26 5-26 5-27 5-27 5-28 5-29 5-29 5-30 5-31 5-34 5-34 5-36 5-36 5-37 5-38 5-38 5-40 5-41 5-43 5-44 5-44 5-45 5-46 6-3 6-3 6-3 6-8 6-12 6-13 6-13 6-13 6-16 6-22 6-25

6 Principos de Movimiento y de E/S .......................................................... 6-1

Gua de Referencia RAPID

1-5

Pgina 2.6 Resolucin de la trayectoria.......................................................................... 2.7 Paro y rearranque .......................................................................................... 2.8 Informacin relacionada ............................................................................... Sincronizacin con Instrucciones Lgicas ......................................................... 3.1 Ejecucin secuencial del programa en los puntos de paro............................ 3.2 Ejecucin secuencial del programa en los puntos de paso ........................... 3.3 Ejecucin concurrente del programa ............................................................ 3.4 Sincronizacin de la trayectoria.................................................................... 3.5 Informacin relacionada ............................................................................... Configuracin del Robot .................................................................................... 4.1 Datos para la configuracin del robot 6400C ............................................... 4.2 Informacin relacionada ............................................................................... Puntos Singulares ................................................................................................ 5.1 Ejecucin del programa con puntos singulares............................................. 5.2 Movimiento con puntos singulares ............................................................... 5.3 Informacin relacionada ............................................................................... Principios de E/S.................................................................................................. 6.1 Caractersticas de las seales ........................................................................ 6.2 Seales del sistema ....................................................................................... 6.3 Conexiones enlazadas ................................................................................... 6.4 Limitaciones.................................................................................................. 6.5 Informacin relacionada ............................................................................... 6-25 6-26 6-27 6-28 6-28 6-28 6-29 6-31 6-32 6-33 6-35 6-36 6-37 6-38 6-38 6-39 6-40 6-40 6-41 6-41 6-42 6-43

7 Tipos de Datos ........................................................................................... 7-1


bool - Valores lgicos ................................................................................. 7-bool-1 clock - Medida del tiempo ......................................................................... 7-clock-1 confdata - Datos de configuracin del robot ........................................... 7-confdata-1 dionum - Valores digitales 0 - 1 ................................................................ 7-dionum-1 errnum - Nmero de error........................................................................ 7-errnum-1 extjoint - Posicin de los ejes externos ..................................................... 7-extjoint-1 intnum - Identificacin de la interrupcin .............................................. 7-intnum-1 iodev - Canales y archivos de serie........................................................... 7-iodev-1 jointtarget - Datos de posicin de los ejes................................................7-jointtarget-1 loaddata - Datos de carga.......................................................................... 7-loaddata-1 mecunit - Unidad mecnica ...................................................................... 7-mecunit-1 motsetdata - Datos de movimiento ...........................................................7-motsetdata-1 num - Valores numricos (registros)........................................................ 7-num-1

1-6

Gua de Referencia RAPID

Pgina o_jointtarget - Dato de posicin original de un eje ............................ 7-o_jointtarget-1 orient - Orientacin .............................................................................. 7-orient-1 o_robtarget - Datos de posicin original............................................. 7-o_robtarget-1 pos - Posiciones (slo X, Y y Z) ............................................................ 7-pos-1 pose - Transformacin de coordenadas .............................................. 7-pose-1 progdisp - Desplazamiento de programa............................................ 7-progdisp-1 robjoint - Posicin de los ejes del robot .............................................. 7-robjoint-1 robtarget - Datos de posicin ............................................................... 7-robtarget-1 signalxx - Seales digitales y analgicas ............................................. 7-signalxx-1 speeddata - Datos de velocidad............................................................ 7-speeddata-1 string - Cadenas de Carcteres............................................................ 7-string-1 symnum - Nmero simblico ............................................................... 7-symnum-1 tooldata - Datos de herramienta.......................................................... 7-tooldata-1 triggdata - Eventos de posicionamiento - disparo.............................. 7-triggdata-1 tunetype - Tipo de ajuste servo............................................................ 7-tunetype-1 wobjdata - Datos del objeto de trabajo............................................... 7-wobjdata-1 zonedata - Datos de zona ...................................................................... 7--zonedata-1 Datos del Sistema .................................................................................. 7-System data-1

8 Instrucciones ............................................................................................. 8-1


:= - Asignacin de un valor ....................................................................... 8-:=-1 AccSet - Reduccin de la aceleracin........................................................... 8-AccSet-1 ActUnit - Activacin de una unidad mecnica............................................ 8-ActUnit-1 Add - Adicin de un valor numrico............................................................ 8-Add-1 Break - Interrupcin de la ejecucin del programa ................................... 8-Break-1 CallByVar - Llamada de un procedimiento mediante una variable................................................................. 8-CallByVar-1 Clear - Borrado de un valor................................................................. 8-Clear-1 ClkReset - Puesta a cero de un reloj para el cronometraje .............. 8-ClkReset-1 ClkStart - Arranque de un reloj para el cronometraje..................... 8-ClkStart-1 ClkStop - Paro de un reloj de cronometraje ...................................... 8-ClkStop-1 Close - Cerrar un archivo o un canal serie......................................... 8-Close-1 comment - Comentarios ....................................................................... 8-comment-1 Compact IF - Si se cumple una condicin, entonces... (una instruccin).......................................................................... 8-Compact IF-1 ConfJ - Control de la configuracin durante el movimiento eje a eje ............................................................... 8-ConfJ-1 ConfL - Control de la configuracin durante el movimiento lineal . 8-ConfL-1

Gua de Referencia RAPID

1-7

Pgina CONNECT - Conexin de una interrupcin a una rutina de tratamiento de interrupciones.................................................... 8-CONNECT-1 DeactUnit - Desactivacin de una unidad mecnica.......................... 8-DeActUnit-1 Decr - Disminucin de 1 ....................................................................... 8-Decr-1 EOffsOff - Desactivacin de un offset de los ejes externos ............... 8-EOffsOff-1 EOffsOn - Activacin de un offset de los ejes externos ..................... 8-EOffsOn-1 EOffsSet - Activacin de un offset de ejes externos utilizando un valor ...................................................................... 8-EOffsSet-1 ErrWrite - Escribir un Mensaje de Error.......................................... 8-ErrWrite-1 EXIT - Fin de ejecucin del programa ............................................... 8-EXIT-1 FOR - Repeticin de un nmero dado de veces ................................. 8-FOR-1 GOTO - Ir a una instruccin nueva identificada por una etiqueta (label)8-GOTO-1 GripLoad - Definicin de la carga til del robot ............................... 8-GripLoad-1 IDelete - Anulacin de una interrupcin ............................................ 8-IDelete-1 IDisable - Inhabilitacin de las interrupciones .................................. 8-IDisable-1 IEnable - Habilitacin de las interrupciones...................................... 8-IEnable-1 IF - Si se cumple una condicin, entonces...; si no... .......................... 8-IF-1 Incr - Incremento de 1.......................................................................... 8-Incr-1 IndAMove - Movimiento de una posicin absoluta independiente .. 8-IndAMove-1 IndCMove - Movimiento continuo independiente............................. 8-IndCMove-1 IndDMove - Movimiento de una posicin delta independiente ........ 8-IndRMove-1 IndReset - Reinicializacin independiente ......................................... 8-IndReset-1 IndRMove - Movimiento de una posicin relativa independiente ... 8-IndRMove-1 InvertDO - Inversin del valor de una seal de salida digital .......... 8-InvertDO-1 ISignalDI - Orden de interrupcin a partir de una seal de entrada digital .................................................. 8-ISignalDI-1 ISignalDO - Orden de interrupcin a partir de una seal de salida digital...................................................... 8-ISignalDO-1 ISleep - Desactivacin de una interrupcin........................................ 8-ISleep-1 ITimer - Ordena una interrupcin temporizada ............................... 8-ITimer-1 IWatch - Habilitacin de una interrupcin........................................ 8-IWatch-1 label - Nombre de lnea ........................................................................ 8-label-1 Load - Cargar un mdulo de programa durante la ejecucin ........ 8-Load-1 MoveAbsJ - Movimiento del robot a una posicin de ejes absoluta 8-MoveAbsJ-1 MoveC - Movimiento circular del robot............................................. 8-MoveC-1 MoveJ - Movimiento eje a eje del robot ............................................. 8-MoveJ-1 MoveL - Movimiento lineal del robot ................................................. 8-MoveL-1

1-8

Gua de Referencia RAPID

Pgina Open - Apertura de un archivo o de un canal serie........................... 8-Open-1 PDispOff - Desactivacin de un desplazamiento de programa......... 8-PDispOff-1 PDispOn - Activacin de un desplazamiento de programa ............. 8-PDispOn-1 PDispSet - Activacin de un desplazamiento del programa utilizando un valor .................................................... 8-PDispSet-1 ProcCall - Llamada de un procedimiento nuevo ............................... 8-ProcCall-1 PulseDO - Generacin de un pulso en una seal de salida digital.... 8-PulseDO-1 RAISE - Llamada al gestor de error ................................................... 8-RAISE-1 Reset - Puesta a cero de una seal de salida digital ........................... 8-Reset-1 RestoPath - Restauracin de la trayectoria despus de una interrupcin....................................................... 8-RestoPath-1 RETRY - Rearranque despus de un error........................................ 8-RETRY-1 RETURN - Fin de ejecucin de una rutina ........................................ 8-RETURN-1 SearchC - Bsqueda circular utilizando el robot.............................. 8-SearchC-1 SearchL - Bsqueda lineal utilizando el robot ................................... 8-SearchL-1 Set - Activacin de una seal de salida digital.................................... 8-Set-1 SetAO - Cambio del valor de una seal de salida analgica............. 8-SetAO-1 SetDO - Cambio del valor de una seal de salida digital .................. 8-SetDO-1 SetGO - Cambio del valor de un grupo de seales de salidas digitales 8-SetGO-1 SingArea - Definicin de la interpolacin en torno a puntos singulares....................................................... 8-SingArea-1 SoftAct - Activacin del servo suave ................................................... 8-SoftAct-1 SoftDeact - Desactivacin del servo suave .......................................... 8-SoftDeAct-1 StartMove - Rearranque del movimiento del robot .......................... 8-StartMove-1 Stop - Paro de la ejecucin del programa........................................... 8-Stop-1 StopMove - Paro del movimiento del robot........................................ 8-StopMove-1 StorePath - Almacenamiento de una trayectoria cuando se produce una interrupcin ......................................... 8-StorePath-1 TEST - Dependiendo del valor de una expresin............................... 8-TEST-1 TPErase - Borrado del texto impreso en la unidad de programacin 8-TPErase-1 TPReadFK - Lectura de las teclas de funcin.................................... 8-TPReadFK-1 TPReadNum - Lectura de un nmero en la unidad de programacin......................................................... 8-TPReadNum-1 TPWrite - Escritura en la unidad de programacin ......................... 8-TPWrite-1 TriggC - Movimiento circular del robot con eventos ........................ 8-TriggC-1 TriggEquip - Definicin de un evento de E/S de tiempo-posicin fijas............................................................... 8-TriggEquip-1 TriggInt - Definicin de una interrupcin relativa a una posicin ................................................................ 8-TriggInt-1 Gua de Referencia RAPID 1-9

Pgina TriggIO - Definicin de un evento de E/S de posicin fija................ 8-TriggIO-1 TriggJ - Movimientos de los ejes del robot con eventos .................... 8-TriggJ-1 TriggL - Movimientos lineales del robot con eventos........................ 8-TriggL-1 TRYNEXT - Salto de una instruccin que ha causado un error ..... 8-TRYNEXT-1 TuneReset - Reinicializacin del ajuste del servo .............................. 8-TuneServo-1 TuneServo - Ajuste de los servos......................................................... 8-TuneServo-1 UnLoad - Descarga de un mdulo de programa durante la ejecucin 8-UnLoad-1 VelSet - Cambio de la velocidad programada.................................... 8-VelSet-1 WaitDI - Espera hasta la activacin de una seal de entrada digital......................................................................... 8-WaitDI-1 WaitDO - Espera hasta la activacin de una seal de salida digital 8-WaitDO-1 WaitTime - Espera durante un tiempo especificado ......................... 8-WaitTime-1 WaitUntil - Esperar hasta el cumplimiento de una condicin.......... 8-WaitUntil-1 WHILE - Repeticin de una instruccin mientras... ......................... 8-WHILE-1 Write - Escritura en un archivo de caracteres o en un canal serie .. 8-Write-1 WriteBin - Escritura en un canal serie binario.................................. 8-WriteBin-1

9 Funciones ................................................................................................... 9-1


Abs - Obtencin del valor absoluto .......................................................... 9-Abs-1 ACos - Clculo del valor del arco coseno ................................................ 9-ACos-1 ASin - Clculo del valor del arco seno ..................................................... 9-ASin-1 ATan - Clculo del valor del arco tangente............................................. 9-ATan-1 ATan2 - Clculo del valor del arco tangente2......................................... 9-ATan2-1 CDate - Lectura de la fecha actual como una cadena ............................ 9-CDate-1 CJointT - Lectura de los ngulos actuales de los ejes ............................ 9-CJointT-1 Cos - Clculo del valor del coseno............................................................ 9--Cos-1 CPos - Lectura de los datos de posicin actuales (pos) .......................... 9-CPos-1 CRobT - Lectura de los datos de la posicin actuales (robtarget) ........ 9-CRobT-1 CTime - Lectura de la hora actual como una cadena ............................ 9-CTime-1 CTool - Lectura de los datos de herramienta actuales........................... 9-CTool-1 CWObj - Lectura de los datos del objeto de trabajo actuales............... 9-CWobj-1 DefDFrame - Definicin de una base de desplazamiento.......................9-DefDFrame-1 DefFrame - Definicin de una base de coordenadas ..............................9-DefFrame-1 Dim - Obtencin del tamao de una matriz ............................................ 9-Dim-1 DOutput - Lectura del valor de una seal de salida digital ................... 9-DOutput-1 EulerZYX - Obtencin de ngulos Euler a partir de una variable de orientacin.............................................9-EulerZYX-1 Exp - Clculo del valor exponencial......................................................... 9-Exp-1 GetTime - Lectura de la hora actual como un valor numrico .................................................................. 9-GetTime-1 1-10 Gua de Referencia RAPID

Pgina GOutput - Lectura del valor de un grupo de seales de salida digital ............................................................... 9-GOutput-1 IndInpos - Estado de la posicin independiente..................................... 9-IndInpos-1 IndSpeed - Estado de la velocidad independiente.................................. 9-IndSpeed-1 IsPers - Es Persistente................................................................................ 9-IsPers-1 IsVar - Es Variable .................................................................................... 9-IsVar-1 MirPos - Creacin de la imagen espejo de una posicin ........................ 9-MirPos-1 NumToStr - Conversin de un valor numrico en cadena.....................9-NumToStr-1 Offs - Desplazamiento de una posicin del robot.................................... 9-Offs-1 OpMode - Lectura del modo de operacin.............................................. 9-OpMode-1 OrientZYX - Clculo de una variable de orientacin a partir de ngulos Euler.............................................9-OrientZYX-1 ORobT - Eliminacin de un desplazamiento de programa de una posicin .......................................................... 9-ORobT-1 PoseInv - Inversin de la posicin ............................................................ 9-PoseInv-1 PoseMult - Multiplicacin de los datos de posicin ................................ 9-PoseMult-1 PoseVect - Aplicacin de una transformacin a un vector .................... 9-PoseVect-1 Pow - Clculo de la potencia de un valor................................................. 9-Pow-1 Present - Comprobacin de la utilizacin de un parmetro opcional................................................................ 9-Present-1 ReadBin - Lectura a partir de un canal serie binario ............................ 9-ReadBin-1 ReadMotor - Lectura de los ngulos del motor actuales........................9-ReadMotor-1 ReadNum - Lectura de un nmero a partir de un archivo o de un canal serie...............................................................9-ReadNum-1 ReadStr - Lectura de una cadena a partir de un archivo o de un canal serie ......................................................... 9-ReadStr-1 RelTool - Ejecucin de un desplazamiento relativo a la herramienta................................................................................ 9-RelTool-1 Round - Round es un valor numrico ...................................................... 9-Round-1 RunMode - Lectura del modo de funcionamiento ..................................9-RunMode-1 Sin - Clculo del valor del seno................................................................. 9-Sin-1 Sqrt - Clculo del valor de la raz cuadrada ........................................... 9-Sqrt-1 StrFind - Bsqueda de un carcter en una cadena................................. 9-StrFind-1 StrLen - Obtencin de la longitud de la cadena...................................... 9-StrLen-1 StrMap - Mapa de una cadena ................................................................. 9-StrMap-1 StrMatch - Bsqueda de una estructura en una cadena ........................ 9-StrMatch-1 StrMemb - Comprobar si un carcter pertenece a un conjunto ........... 9-StrMemb-1 StrOrder - Comprobar si las cadenas estn ordenadas ......................... 9-StrOrder-1 StrPart - Obtencin de una parte de una cadena ................................... 9-StrPart-1 Gua de Referencia RAPID 1-11

Pgina StrToVal - Conversin de una cadena en un valor numrico ............... 9-StrToVal-1 Tan - Clculo del valor de la tangente ..................................................... 9-Tan-1 TestDI - Comprobacin de la activacin de una entrada digital ...................................................................... 9-TestDI-1 Trunc - Truncar un valor numrico ........................................................ 9-Trunc-1 ValToStr - Conversin de un valor en una cadena................................. 9-ValToStr-1

10 Datos y Programas Predefinidos ........................................................... 10-1


1 Mdulo User del Sistema ................................................................................... 1.1 Contenido...................................................................................................... 1.2 Creacin de nuevos datos en este mdulo .................................................... 1.3 Eliminacin de estos datos............................................................................ 1 Programacin Off-line ........................................................................................ 1.1 Formato de los archivos ................................................................................ 1.2 Edicin .......................................................................................................... 1.3 Comprobacin de la sintaxis......................................................................... 1.4 Ejemplos ....................................................................................................... 1.5 Creacin de instrucciones propias del usuario.............................................. 10-3 10-3 10-3 10-4 11-3 11-3 11-3 11-3 11-4 11-5

11 Programacin Off-line........................................................................... 11-1

12 13 ArcWare .................................................................................................. 13-1


seamdata - Datos iniciales y finales de soldadura...................................13-seamdata-1 weavedata - Datos de oscilacin ...............................................................13-weavedata-1 welddata - Datos de soldadura .................................................................13-welddata-1 ArcC - Soldadura al arco con movimiento circular ............................... 13-ArcC-1 ArcL - Soldadura al arco con movimiento lineal ................................... 13-ArcL-1

14 SpotWare ................................................................................................. 14-1


gundata - Datos de la pinza de soldadura por puntos ............................ 14-gundata-1 spotdata - Datos de soldadura por puntos............................................... 14-spotdata-1 SpotL - Soldadura por puntos con movimiento...................................... 14-SpotL-1 Mdulo del Sistema SWUSER..................................................................14-SWUSER-1 Mdulo del Sistema SWUSRC .................................................................14-SWUSRC-1 Mdulo del sistema SWUSRF ..................................................................14-SWUSRF-1 Mdulo del Sistema SWTOOL.................................................................14-SWTOOL-1

15 GlueWare................................................................................................. 15-1
ggundata - Datos de pistola de aplicacin de adhesivo..........................15-ggundata-1 GlueC - Aplicacin de adhesivo con un movimiento circular ............... 15-GlueC-1

1-12

Gua de Referencia RAPID

Pgina GlueL - Aplicacin de adhesivo con un movimiento lineal .................... 15-GlueL-1 Mdulo del Sistema GLUSER ..................................................................15-GLUSER-1

16 17 18 Referencia Rpida .................................................................................. 18-1


1 La Ventana de Movimiento............................................................................... 18-3 1.1 Ventana: Movimiento ................................................................................... 18-3 2 La Ventana de Entradas/Salidas ........................................................................ 18-4 2.1 Ventana: Entradas/Salidas............................................................................. 18-4 3 La Ventana de Programa.................................................................................. 18-6 3.1 Movimiento entre diferentes partes del programa ........................................ 18-6 3.2 Mens generales............................................................................................ 18-7 3.3 Ventana: Instrucciones de Programa............................................................. 18-10 3.4 Ventana: Rutinas del Programa..................................................................... 18-11 3.5 Ventana: Datos del Programa ....................................................................... 18-13 3.6 Ventana: Tipos de Datos del Programa......................................................... 18-15 3.7 Ventana: Test del Programa.......................................................................... 18-16 3.8 Ventana: Mdulos del Programa................................................................... 18-17 4 La Ventana de Produccin.................................................................................. 18-18 4.1 Ventana: Funcionamiento en Produccin ..................................................... 18-18 5 El Administrador de Archivos............................................................................ 18-20 5.1 Ventana: Administrador de Archivos ........................................................... 18-20 6 La ventana de Servicio ........................................................................................ 18-22 6.1 Mens generales............................................................................................ 18-22 6.2 Ventana Registro........................................................................................... 18-24 6.3 Ventana de Calibracin ................................................................................. 18-25 6.4 Ventana de Conmutacin .............................................................................. 18-26 7 Los Parmetros del Sistema................................................................................ 18-27 7.1 Ventana: Parmetros del Sistema.................................................................. 18-27

19 Funciones especiales de este robot ........................................................ 19-1 20 Indice, Glosario....................................................................................... 20-1

Gua de Referencia RAPID

1-13

Pgina

1-14

Gua de Referencia RAPID

INDICE
A Abs 9-Abs-1 AccSet 8-AccSet-1 ACos 9-ACos-1 ActUnit 8-ActUnit-1 Adicin 8-Add-1 agregado 5-18 alcance alcance de las rutinas 5-11 alcance de los datos 5-20 AND 5-27 aplicacin de adhesivo 15-GlueC-1, 15GlueL-1 ArcC 13-ArcC-1 archivo cerrar 8-Close-1 escritura 8-Write-1, 8-WriteBin-1 leer 9-ReadBin-1, 9-ReadNum-1, 9ReadStr-1 ArcL 13-ArcL-1 arco coseno 9-ACos-1 arco tangente 9-ATan-1, 9-ATan2-1 aritmtica 8-:=-1 asignacin 8-:=-1 asignar un valor a un dato 3-9 ASin 9-ASin-1 ATan 9-ATan-1 ATan2 9-ATan2-1 B backward handler 5-44 bool 7-bool-1 borrado del contenido del visualizador de la unidad de programacin. 8-TPErase1 Borrar 8-Clear-1 Break 8-Break-1 C C_MOTSET 7-System data-1 C_PROGDISP 7-System data-1 cadena 5-4 cadena de texto 7-string-1 calentamiento 13-seamdata-4 CallByVar 8-CallByVar-1 canal serie abrir 8-Open-1 archivo 8-WriteBin-1 cerrar 8-Close-1 escritura 8-Write-1 leer 9-ReadBin-1, 9-ReadNum-1, 9ReadStr-1 carga activar carga til 8-GripLoad-1 carga til 7-loaddata-1 activar 8-GripLoad-1 CDate 9-CDate-1 Cerrar 8-Close-1 ClkRead 9-ClkRead-1 ClkStart 8-ClkStart-1 ClkStop 8-ClkStop-1 clock 7-clock-1 stop 8-ClkStop-1 Comentarios 8-comment-1 comentarios 3-9, 5-5 comodines 5-5 Compact IF 8-Compact IF-1 componente de un registro 5-18 comunicacin 3-41 condicin 8-IF-1 conexiones enlazadas 6-41 confdata 7-confdata-1 configuracin de los ejes 6-33 configuracin del robot 6-33 ConfJ 8-ConfJ-1 ConfL -ConfL-1 CONNECT 8-CONNECT-1 CONST 5-22 constante 5-20 control de la configuracin 8-ConfJ-1, -ConfL-1 convenciones tipogrficas 2-4 Cos 9--Cos-1 countinuously movement 8-IndCMove-1 CPos 9-CPos-1 CRobT 9-CRobT-1 cronmetro 7-clock-1, 8-ClkStart-1 CTime 9-CTime-1 cuaternio 7-orient-2

Gua de Referencia RAPID

20-1

D datos 5-20 utilizados en expresiones 5-28 datos de carga 7-loaddata-1 datos de programa 5-20 datos de rutina 5-20 datos del sistema 7-System data-1 DeactUnit 8-DeActUnit-1 declaracin dato constante 5-22 dato persistente 5-22 dato variable 5-21 mdulo 5-9 rutina 5-13 Decr 8-Decr-1 desplazamiento posicin 9-Offs-1 desplazamiento de programa activar 8-PDispOn-1 desactivar 8-PDispOff-1 eliminar de la posicin 9-ORobT-1 desplazamiento de un programa 3-13 Dim 9-Dim-1 dionum 7-dionum-1 disminucin 8-Decr-1 disminucin de la velocidad 8-VelSet-1 DIV 5-26 DOutput 9-DOutput-1 E ejecucin concurrente 6-29 ejecucin hacia atrs 5-38 ejes externos activar 8-ActUnit-1 coordinados 6-7 desactivar 8-DeActUnit-1 ejes externos coordinados 6-7 encabezado de archivo 5-6 encendido 13-seamdata-3 EOffsOff 8-EOffsOff-1 EOffsOn 8-EOffsOn-1 EOffsSet 8-EOffsSet-1 ERRNO 5-34, 7-System data-1 errnum 7-errnum-1 ErrWrite 8-ErrWrite-1 escribir en la unidad de programacin 8-TP-

Write-1 espera activacin de una entrada digital 8-WaitDI-1 activacin de una salida digital 8-WaitDO-1 esperar cualquier condicin 8-WaitUntil-1 hasta que el robot est en posicin 8WaitTime-1 un tiempo especfico 8-WaitTime-1 etiqueta 8-label-1 EulerZYX 9-EulerZYX-1 EXIT 8-EXIT-1 Exp 9-Exp-1 expresin 5-26 expresin de cadena 5-27 expresiones aritmticas 5-26 expresiones lgicas 5-27 extjoint 7-extjoint-1 F fase final 13-seamdata-6 fecha 9-CDate-1 file abrir 8-Open-1 unload 8-UnLoad-1 fino 7--zonedata-1 FOR 8-FOR-1 funcin 5-11 G Gestor de ejecucin hacia atrs 11-5 gestor de ejecucin hacia atrs 5-41 gestor de errores 5-34 GetTime 9-GetTime-1 ggundata 15-ggundata-1 global dato 5-20 rutina 5-11 GlueC 15-GlueC-1 GlueL 15-GlueL-1 GlueWare 3-39 GOTO 8-GOTO-1 GOutput 9-GOutput-1 GripLoad 8-GripLoad-1 grupo de E/S 8-SetGO-1, 9-GOutput-1

20-2

Gua de Referencia RAPID

H hora 9-CTime-1, 9-GetTime-1 I IDelete 8-IDelete-1 identificadores 5-3 IDisable 8-IDisable-1 IEnable 8-IEnable-1 IF 8-Compact IF-1, 8-IF-1 Incr 8-Incr-1 incremento 8-Incr-1 IndAMove 8-IndAMove-1 IndCMove 8-IndCMove-1 IndDMove 8-IndRMove-1 independent inpos 9-IndSpeed-1 independent motion 8-IndCMove-1, 8-IndRMove-1 IndInpos 9-IndInpos-1, 9-IndSpeed-1 IndReset 8-IndReset-1 IndRMove 8-IndRMove-1 IndSpeed 9-IndSpeed-1 inpos independiente 9-IndInpos-1 instrucciones de bsqueda 3-16 instrucciones de comprobacin de la configuracin 3-12 instrucciones de desplazamiento 3-13 instrucciones de entrada 3-20 instrucciones de espera 3-9 instrucciones de movimiento 3-16 instrucciones de posicionamiento 3-16 instrucciones de salida 3-20 instrucciones del flujo del programa 3-7 instrucciones matemticas 3-30, 3-43 instrucciones para determinar las caractersticas de movimiento 3-11 instrucciones para la hora 3-29 interpolacin 6-13 interpolacin circular 6-15 interpolacin de trayectoria esquina 6-16 interpolacin lineal 6-14 interpolacin lineal modificada 6-16 Interrupcin borrar 8-IDelete-1 interrupcin 3-25 a partir de una entrada digital 8-ISignalDI-1 a partir de una salida digital 8-ISignal-

DO-1 activacin 8-IWatch-1 conexin 8-CONNECT-1 desactivacin 8-ISleep-1 habilitacin 8-IEnable-1 identidad 7-intnum-1 inhabilitacin 8-IDisable-1 temporizada 8-ITimer-1 interrupciones 5-36 INTNO 7-System data-1 intnum 7-intnum-1 InvertDO 8-InvertDO-1 iodev 7-iodev-1 ISignalDI 8-ISignalDI-1 ISignalDO 8-ISignalDO-1 ISleep 8-ISleep-1 ITimer 8-ITimer-1 IWatch 8-IWatch-1 J jinterpolacin eje a eje 6-13 jointtarget 7-o_jointtarget-1 L lectura tecla de funcin 8-TPReadFK-1 leer archivo 9-ReadBin-1, 9-ReadNum-1, 9ReadStr-1 canal serie 9-ReadBin-1, 9-ReadNum-1, 9-ReadStr-1 fecha actual 9-CDate-1 grupo de salidas 9-GOutput-1 hora actual 9-CTime-1, 9-GetTime-1 posicin del robot utilizado 9-CRobT-1 reloj 9-ClkRead-1 salida digital 9-DOutput-1 llamada a funcin 5-29 llamada a otra rutina 3-7 llamada de un procedimiento nuevo 8-ProcCall-1 llenado del crter 13-seamdata-7 lmovimiento lineal 8-MoveL-1 Load 8-Load-1 local dato 5-20 rutina 5-11

RAPID Reference Manual

20-3

M matriz 5-21 obtener tamao 9-Dim-1 mechanical unit 7-mecunit-1 mecunit 7-mecunit-1 MOD 5-26 mdulo 5-8 declaracin 5-9 mdulos del programa 5-8 mdulos del sistema 5-9 motsetdata 7-motsetdata-1 MoveC 8-MoveC-1 MoveJ 8-MoveJ-1 MoveL 8-MoveL-1 movimiento crculo 8-MoveC-1 eje a eje 8-MoveJ-1 lineal 8-MoveL-1 movimiento circular 8-MoveC-1 movimiento eje a eje. 8-MoveJ-1 movimiento independiente 8-IndAMove-1 mulittareas 5-40 N NOT 5-27 num 7-num-1 nmero de error 5-34 O objetos de trabajo 7-wobjdata-1 Offs 9-Offs-1 offset 9-Offs-1 Open 8-Open-1 operador prioridad 5-30 OR 5-27 orient 7-orient-1 OrientZYX 9-OrientZYX-1 ORobT 9-ORobT-1 P palabras reservadas 5-3 parmetro opcional 5-12 parmetros 5-12 Paro 8-Stop-1 paro de la ejecucin del programa 3-8 PDispOff 8-PDispOff-1 20-4

PDispOn 8-PDispOn-1 PERS 5-22 persistente 5-20 pos 7-pos-1 pose 7-pose-1 PoseInv 9-PoseInv-1 PoseMult 9-PoseMult-1 posicin del robot 7-o_robtarget-1, 7-robtarget-1 Pow 9-Pow-1 Presente 9-Present-1 principios de E/S 6-40 ProcCall 8-ProcCall-1 procedimiento 5-11 procedimiento nuevo llamar 8-ProcCall-1 programa 5-8 programacin offline 11-3 programming 11-3 PulseDO 8-PulseDO-1 punto central de la herramienta 6-3 punto de paro 7--zonedata-1 punto de paso 7--zonedata-1 R RAISE 8-RAISE-1 raz cuadrada 9-Sqrt-1 ReadBin 9-ReadBin-1 ReadNum 9-ReadNum-1 ReadStr 9-ReadStr-1 recuperacin de errores 5-34 reintento 8-RETRY-1, 8-TRYNEXT-1 reduccin de la aceleracin 8-AccSet-1 registro 5-18 reglas de sintaxis 2-5 reloj arranque 8-ClkStart-1 leer 9-ClkRead-1 RelTool 9-ATan2-1, 9-DefFrame-1, 9-OpMode-1, 9-Pow-1, 9-RunMode-1 Repeticin 8-FOR-1 repeticin 8-WHILE-1 Reset 8-Reset-1 reset measuring system 8-IndReset-1 RestoPath 8-RestoPath-1 RETRY 8-RETRY-1 RETURN 8-RETURN-1

Gua de Referencia RAPID

robot joint position 7-o_jointtarget-1 robtarget 7-o_robtarget-1, 7-robtarget-1 rutina 5-11 declaracin 5-13 rutina de tratamiento de interrupciones 5-11 rutina de tratamiento de interrupciones. 5-36 rutina principal (main) 5-8 S salida analgica activacin 8-SetAO-1 salida digital 9-DOutput-1 activacin 8-Set-1, 8-SetDO-1 pulso 8-PulseDO-1 reinicializar 8-Reset-1 salto 8-GOTO-1 seamdata (datos iniciales y finales) 13-seamdata-1 SearchC 8-SearchC-1 SearchL 8-SearchL-1 servo suave 3-13 Set 8-Set-1 SetAO 8-SetAO-1 SetDO 8-SetDO-1 SetGO 8-SetGO-1 signalai 7-signalxx-1 signalao 7-signalxx-1 signaldi 7-signalxx-1 signaldo 7-signalxx-1 signalgi 7-signalxx-1 signalgo 7-signalxx-1 simulated spot welding 15-GlueC-6, 15GlueL-7 Sin 9-Sin-1 sincronizacin de E/S 6-28 SingArea 8-SingArea-1 sistema de coordenadas de desplazamiento 6-6 sistema de coordenadas de la base 6-3 sistema de coordenadas de la herramienta 69 sistema de coordenadas de la mueca 6-9 sistema de coordenadas del objeto 6-5, 7wobjdata-1 sistema de coordenadas del usuario 6-5, 7wobjdata-1 sistema de coordenadas mundo 6-4 sistemas de coordenadas 6-3

soldadura al arco 13-ArcC-1, 13-ArcL-1 soldadura por puntos 3-32 speeddata 7-speeddata-1 Sqrt 9-Sqrt-1 StartMove 8-StartMove-1 StopMove 8-StopMove-1 StorePath 8-StorePath-1 string 7-string-1 switch (interruptor) 5-12 Symnum 7-symnum-1 T Tan 9-Tan-1 TCP 6-3 estacionario 6-10 TCP estacionario 6-10 TEST 8-TEST-1 TestDI 9-TestDI-1 tipos de datos 5-18 tipos de datos equivalente a 5-18 tipos de datos igual a 5-18 tipos de datos sin valor 5-18 tooldata 7-tooldata-1 TPErase 8-TPErase-1 TPReadFK 8-TPReadFK-1 TPReadNum 8-TPReadNum-1 TPWrite 8-TPWrite-1 trayectoria esquina 7--zonedata-1 TriggC (Trig Circular) 8-TriggC-1 triggdata 7-triggdata-1 TriggEquip 8-TriggEquip-1 TriggInt 8-TriggInt-1 TriggIO 8-TriggIO-1 TriggJ (Trigg Joint) 8-TriggJ-1 TriggL (Trigg Linear) 8-TriggL-1 TRYNEXT 8-TRYNEXT-1 tunetype 7-tunetype-1 U unidad de accionamiento comn 8-ActUnit1, 8-DeActUnit-1 unidad mecnica activar 8-ActUnit-1 desactivar 8-DeActUnit-1 UnLoad 8-UnLoad-1 Usuario - mdulo del sistema 10-3 V valor absoluto 9-Abs-1

RAPID Reference Manual

20-5

valor del arco seno 9-ASin-1 valor exponencial 9-Exp-1, 9-Pow-1 valor lgico 7-bool-1 valor numrico 7-num-1 valores lgicos 5-4 valores numricos 5-4 VAR 5-21 variable 5-20 velocidad 7-speeddata-1 disminucin 8-VelSet-1 mx. 8-VelSet-1 velocidad mxima 8-VelSet-1 VelSet 8-VelSet-1 W WaitDI 8-WaitDI-1 WaitDO 8-WaitDO-1 WaitTime 8-WaitTime-1 WaitUntil 8-WaitUntil-1 weavedata (datos de oscilacin) 13-weavedata-1 welddata (datos de soldadura) 13-welddata1 WHILE 8-WHILE-1 wobjdata 7-wobjdata-1 Write 8-Write-1 WriteBin 8-WriteBin-1 X XOR 5-27 Z zonedata 7--zonedata-1

20-6

Gua de Referencia RAPID

Introduccin
INDICE
Pgina 1 Otros Manuales ............................................................................................................... 2 Cmo utilizar este Manual ............................................................................................. 2.1 Convenciones tipogrficas...................................................................................... 2.2 Reglas de sintaxis ................................................................................................... 2.3 Sintaxis formal........................................................................................................ 3 3 4 5 6

Gua de Referencia RAPID

2-1

Introduccin

2-2

Gua de Referencia RAPID

Introduccin

Introduccin
Esta es una gua de referencia que contiene una explicacin detallada del lenguaje de programacin as como de todos los tipos de datos, instrucciones y funciones. Si el usuario desea llevar a cabo una programacin off-line, esta gua ser particularmente til al respecto. Se recomienda utilizar en primer lugar la Gua del Usuario cuando se desee empezar a programar el robot, hasta haber adquirido cierta familiaridad con el sistema.

1 Otros Manuales
Antes de utilizar el robot por primera vez, se recomienda al usuario leer detenidamente el documento titulado Funcionamiento Bsico. Ello le proporcionar las bases necesarias para el manejo del robot. La Gua del Usuario proporciona las instrucciones paso a paso para la realizacin de diferentes tareas, como por ejemplo, para mover manualmente el robot, para programar, o para arrancar un programa dentro del funcionamiento de produccin. El Manual de Producto describe como se deber instalar el robot, as como los procedimientos de mantenimiento y el diagnstico de averas. Este manual contiene tambin un documento titulado Especificacin del Producto que proporciona una visin general de las caractersticas y capacidades del robot.

2 Cmo utilizar este Manual


Para encontrar repuesta a preguntas del tipo Qu instruccin debo utilizar? o Qu significa esta instruccin?, se deber consultar el Captulo 3: Resumen RAPID. Este captulo describe brevemente todas las instrucciones, funciones y tipos de datos agrupados de acuerdo con las listas de seleccin de instrucciones que se utilizan en la programacin. Asimismo, contiene un resumen de la sintaxis, lo cual es particularmente til cuando se lleva a cabo una programacin off-line. En el Captulo 4: Ejemplos, se encontrarn una serie de ejemplos del programa. El Captulo 5: Caractersticas Bsicas describe los detalles internos del lenguaje. El usuario normalmente no deber leer este captulo a menos de ser un programador experimentado. El Captulo 6: Principios de Movimiento y de E/S describe los diferentes sistemas de coordenadas del robot, su velocidad, as como otras caractersticas de movimiento utilizadas durante diferentes tipos de ejecucin. Los Captulos 7 a 9 describen todos los tipos de datos, instrucciones y funciones. Para una mxima facilidad de manejo, aparecen descritos siguiendo un orden alfabtico. Este manual ofrece una descripcin de todos los datos y programas disponibles en el robot en el momento de la entrega. Adems de estos datos, existe una serie de datos y programas predefinidos que son suministrados con el robot, y que vienen en un soporte informtico separado, o bien directamente cargados en el robot. El Gua de Referencia RAPID 2-3

Introduccin
Captulo 10: Programas y Datos Predefinidos describe lo que ocurre cuando dichos datos ya estn cargados en el robot. En el caso en que el usuario desea realizar una programacin off-line, deber consultar el Captulo 11: Programacin off-line en el que se encontrarn distintas recomendaciones. Los Captulos 13 a 15 contiene las diversas funcionalidades del robot cuando ste est equipado con algn software de proceso como ArcWare, GlueWare o SpotWare. Si el usuario desea buscar informacin sobre la funcin de un comando particular, deber referirse al Captulo 18: Referencia Rpida. Este captulo podr utilizarse tambin como gua de bolsillo cuando se est trabajando con el robot. Para facilitar la localizacin y la comprensin de los trminos utilizados, el Captulo 20 contiene un ndice y un glosario. En el caso en que el robot sea entregado, o ampliado con algn tipo de funcionalidad adicional, ello aparecer descrito en el Captulo 19: Funcionalidad especial de este Robot.

2.1 Convenciones tipogrficas Los comandos situados debajo de cada una de las cinco teclas del men en la parte superior del visualizador de la unidad de programacin se encuentran escritas bajo la forma de Men: Comando. Por ejemplo, para activar el comando de Impresin del men Archivo, se deber seleccionar Archivo: Imprimir. Los nombres de las teclas de funcin y los nombres de las entradas de campos estn escritas en letra itlica y negrita, ejemplo Modpos. Las palabras que pertenecen al lenguaje de programacin utilizado, como por ejemplo los nombres de instruccin, aparecen escritas en letra itlica, por ejemplo, MoveL. Los ejemplos de programas aparecen siempre visualizados de la misma forma en que aparecen en disquetes o impresora. Lo que difiere de lo que aparece en la unidad de programacin se refiere a lo siguiente: - Algunos cdigos de control que son ocultos en el visualizador de la unidad de programacin y que aparecen impresos, por ejemplo, los cdigos que indican el principio y el final de una rutina. - Datos y rutinas que aparecen impresos de manera formal, por ejemplo, VAR num reg1;.

2-4

Gua de Referencia RAPID

Introduccin

2.2 Reglas de sintaxis Las instrucciones y las funciones aparecen descritas utilizando tanto la sintaxis simplificada como la sintaxis formal. Si el usuario desea utilizar la unidad de programacin para llevar a cabo las operaciones de programacin, normalmente le bastar con utilizar la sintaxis simplificada, ya que el robot automticamente se asegura de que se est utilizando la sintaxis adecuada. Sintaxis simplificada Ejemplo:

TPWrite
Instruccin

String [\Num] | [\Bool] | [\Pos] | [\Orient]


Argumento obligatorio Argumento opcional Argumentos mtuamente exclusivos

- Los argumentos opcionales estn marcados entre corchetes [ ]. Estos argumentos podrn ser omitidos. - Los argumentos que son mutuamente exclusivos, es decir, los que no pueden estar en una misma instruccin al mismo tiempo, estn separados por una barra vertical |. - Los argumentos que pueden ser repetidos un nmero arbitrario de veces estn marcados entre llaves { }.

Gua de Referencia RAPID

2-5

Introduccin

2.3 Sintaxis formal Ejemplo: TPWrite [String:=] <expression (IN) of string> [\Num:= <expression (IN) of num> ] | [\Bool:= <expression (IN) of bool> ] | [\Pos:= <expression (IN) of pos> ] | [\Orient:= <expression (IN) of orient> ];

- El texto indicado entre corchetes [ ] puede ser omitido. - Los argumentos que son mutuamente exclusivos, es decir, los que no pueden constar en una misma instruccin al mismo tiempo, est separados por una barra vertical |. - Los argumentos que pueden ser repetidos un nmero arbitrario de veces estn marcados entre llaves { }. - Los smbolos que estn escritos con la finalidad de obtener una sintaxis correcta estn marcados entre comillas sencillas . - El tipo de datos del argumento (itlicas) y las dems caractersticas estn marcados entre ngulos < >. Vase a la descripcin de los parmetros de una rutina para informacin ms detallada. Los elementos bsicos del lenguaje as como algunas instrucciones especficas estn escritas utilizando una sintaxis especial, EBNF, que est basada en las mismas normas, pero con algunas aadiduras. Ejemplo: GOTO <identifier>; <identifier> ::= <ident> | <ID> <ident> ::= <letter> {<letter> | <digit> | _}

- El smbolo ::= significa se define como. - El texto marcado entre ngulos < > aparece definido en una lnea separada.

2-6

Gua de Referencia RAPID

Resumen RAPID
INDICE
Pgina 1 La Estructura del Lenguaje ........................................................................................... 5 2 Control del Flujo del Programa..................................................................................... 7 2.1 Principios de programacin ................................................................................... 7 2.2 Llamada a otra rutina............................................................................................. 7 2.3 Control del programa dentro de la rutina............................................................... 8 2.4 Paro de la ejecucin del programa......................................................................... 8 3 Instrucciones varias ........................................................................................................ 9 3.1 Asignar un valor a un dato..................................................................................... 9 3.2 Condicin de Espera.............................................................................................. 9 3.3 Comentarios........................................................................................................... 9 3.4 Carga de mdulos de programa ............................................................................. 10 3.5 Funciones varias .................................................................................................... 10 3.6 Datos bsicos ......................................................................................................... 10 4 Caractersticas de movimiento....................................................................................... 11 4.1 Principios de programacin ................................................................................... 11 4.2 Definicin de la velocidad..................................................................................... 11 4.3 Definicin de la aceleracin .................................................................................. 12 4.4 Definicin de la gestin de la configuracin ......................................................... 12 4.5 Definicin de la carga til ..................................................................................... 12 4.6 Definicin del comportamiento del robot cerca de un punto singular .................. 12 4.7 Desplazamiento de un programa ........................................................................... 13 4.8 Servo suave............................................................................................................ 13 4.9 Valores de ajuste del robot .................................................................................... 13 4.10 Datos para las caractersticas de movimiento...................................................... 14 5 Movimiento ...................................................................................................................... 15 5.1 Principios de programacin ................................................................................... 15 5.2 Instrucciones de posicionamiento.......................................................................... 16 5.3 Bsqueda ............................................................................................................... 16 5.4 Activacin de salidas o interrupciones en posiciones especficas......................... 16 5.5 Control del movimiento en caso de ocurrir un error/interrupcin......................... 17 5.6 Control de los ejes externos................................................................................... 17 5.7 Ejes independientes ............................................................................................... 18 5.8 Funciones de posicin ........................................................................................... 18 5.9 Datos de movimiento............................................................................................. 19 5.10 Datos bsicos para los movimientos.................................................................... 19 6 Seales de entrada y salida............................................................................................. 20

Gua de Referencia RAPID

3-1

Resumen RAPID
Pgina 6.1 Principios de programacin................................................................................... 20 6.2 Cambio del valor de una seal .............................................................................. 20 6.3 Lectura del valor de una seal de entrada ............................................................. 20 6.4 Lectura del valor de una seal de salida................................................................ 20 6.5 Comprobacin deentradas en seales de salida..................................................... 21 6.6 Datos para las seales de entrada y salida ............................................................. 21 7 Comunicacin.................................................................................................................. 22 7.1 Principios de programacin................................................................................... 22 7.2 Comunicacin utilizando la unidad de programacin ........................................... 23 7.3 Lectura desde o escritura en un canal/archivo serie de caracteres ........................ 23 7.4 Comunicacin mediante canales serie binarios..................................................... 23 7.5 Datos de los canales serie ...................................................................................... 24 8 Interrupciones ................................................................................................................. 25 8.1 Principios de programacin................................................................................... 25 8.2 Conexin de las interrupciones a las rutinas de tratamiento de interrupcin........ 25 8.3 Peticin de interrupciones ..................................................................................... 26 8.4 Anulacin de interrupciones.................................................................................. 26 8.5 Habilitacin/Inhabilitacin de las interrupciones.................................................. 26 8.6 Tipos de datos de las interrupciones...................................................................... 26 9 Recuperacin de errores................................................................................................. 27 9.1 Principios de programacin ................................................................................... 27 9.2 Creacin de una situacin de error desde dentro del programa............................. 27 9.3 Rearranque/regreso del gestor de errores .............................................................. 28 9.4 Datos para la gestin de los errores ....................................................................... 28 10 Sistema y Hora .............................................................................................................. 29 10.1 Principios de programacin................................................................................. 29 10.2 Utilizacin de un reloj para cronometrar un acontecimiento .............................. 29 10.3 Lectura de la fecha y hora utilizadas ................................................................... 29 11 Matemticas................................................................................................................... 30 11.1 Principios de programacin................................................................................. 30 11.2 Clculos sencillos sobre datos numricos ........................................................... 30 11.3 Clculos ms avanzados ...................................................................................... 30 11.4 Funciones aritmticas .......................................................................................... 31 12 Soldadura por Puntos ................................................................................................... 32 12.1 Caractersticas de la soldadura por puntos .......................................................... 33 12.2 Principios de SpotWare ....................................................................................... 34

3-2

Gua de Referencia RAPID

Resumen RAPID
Pgina 12.3 Principios de SpotWare Plus ............................................................................... 34 12.4 Principios de programacin................................................................................. 35 12.5 Instrucciones de soldadura por puntos................................................................. 35 12.6 Datos de soldadura por puntos............................................................................. 36 Soldadura al Arco ......................................................................................................... 37 13.1 Principios de programacin................................................................................. 37 13.2 Instrucciones de soldadura al arco....................................................................... 37 13.3 Datos de soldadura al arco................................................................................... 38 GlueWare ....................................................................................................................... 39 14.1 Caractersticas de aplicacin de adhesivo ........................................................... 39 14.2 Principios de programacin................................................................................. 39 14.3 Instrucciones de aplicacin de adhesivo.............................................................. 40 14.4 Datos de aplicacin de adhesivo.......................................................................... 40 Comunicacin externa del computador ..................................................................... 41 15.1 Principios de programacin................................................................................. 41 15.2 Envo de un mensaje controlado por el programa desde el robot al computador 41 Instrucciones de Servicio .............................................................................................. 42 16.1 Direccionamiento de un valor a una seal de test del robot ................................ 42 Funciones de cadena ..................................................................................................... 43 17.1 Operaciones Bsicas ............................................................................................ 43 17.2 Comparacin y Bsqueda.................................................................................... 43 17.3 Conversin........................................................................................................... 43 Resumen de sintaxis ...................................................................................................... 45 18.1 Instrucciones........................................................................................................ 45 18.2 Funciones............................................................................................................. 48

13

14

15

16 17

18

Gua de Referencia RAPID

3-3

3-4

Gua de Referencia RAPID

Resumen RAPID

La Estructura del Lenguaje

1 La Estructura del Lenguaje


El programa est formado por una serie de instrucciones que describen el trabajo del robot. As, existe una serie de instrucciones especficas para los diferentes comandos, por ejemplo una instruccin para mover el robot, una instruccin para activar una salida, etc. Las instrucciones suelen tener una serie de argumentos asociados que definen lo que va a producirse en una instruccin determinada. Por ejemplo, la instruccin para poner a cero una salida contiene un argumento que define la salida que debe ser reinicializada; por ejemplo, Reset do5. Estos argumentos pueden ser especificados de una de las siguientes maneras: - como un valor numrico, por ejemplo, 5 o 4,6 - como una referencia a datos, por ejemplo, reg1 - como una expresin, por ejemplo, 5+reg1*2 - como una llamada de funcin, por ejemplo, Abs(reg1) - como un valor de cadena "Producing part A" Existen tres tipos de rutinas procedimientos, funciones y rutinas de tratamiento de interrupcin (rutinas trap). - Un procedimiento se usa como un subprograma. - Una funcin devuelve un valor de un tipo especfico y se usa como un argumento de una instruccin. - Las rutinas de tratamiento de interrupcin proporcionan un medio para responder a interrupciones del sistema. Una rutina de tratamiento de interrupcin estar asociada con una interrupcin especfica; por ejemplo, cuando se activa una entrada, ser ejecutada automticamente si aquella interrupcin especfica ocurre en el sistema. La informacin puede tambin ser almacenada en datos, por ejemplo, datos de la herramienta (que contienen toda la informacin referente a la herramienta, como su TCP y su peso) y datos numricos (que podrn utilizarse, por ejemplo, para contar el nmero de piezas que deben ser procesadas por el robot). Los datos estn agrupados en diferentes tipos de datos que describen distintos tipos de informaciones, como las herramientas, las posiciones y las cargas. Como estos datos pueden ser creados y se les puede asignar nombres arbitrarios, no hay ninguna limitacin (excepto las limitaciones impuestas por la memoria) para el nmero de datos. Estos datos pueden ser de tipo global en el programa o local dentro de una rutina.

Gua de Referencia RAPID

3-5

La Estructura del Lenguaje

Resumen RAPID

Existen tres tipos de datos constantes, variables y persistentes. - Un dato de tipo constante representa un valor fijo y slo se le podr asignar un valor nuevo manualmente. - Un nuevo valor podr ser asignado a un dato de tipo variable durante la ejecucin del programa. - Un dato de tipo persistente puede ser descrito como una variable persistente. Cuando se guarda un programa, el valor de inicializacin refleja el valor utilizado para el dato de tipo persistente. Otros rasgos del lenguaje son: - Parmetros de rutina - Expresiones aritmticas y lgicas - Gestin automtica de los errores - Programas modulares - Multitareas

3-6

Gua de Referencia RAPID

Resumen RAPID

Control del Flujo del Programa

2 Control del Flujo del Programa


El programa se ejecuta generalmente de forma secuencial, es decir, instruccin por instruccin. En algunas ocasiones, para poder procesar diferentes situaciones aparecidas durante la ejecucin del programa son necesarias instrucciones que interrumpen esta ejecucin secuencial y que llaman a otra instruccin.

2.1 Principios de programacin


El flujo del programa puede ser controlado de acuerdo con cinco principios diferentes: - Llamando a otra rutina (procedimiento) y, una vez que esta rutina ha sido ejecutada, el sistema contina la ejecucin con la siguiente instruccin de la llamada de la rutina. - Ejecutando diferentes instrucciones segn si una condicin dada se cumple o no. - Repitiendo una secuencia de instrucciones un cierto nmero de veces o hasta que se haya cumplido una condicin dada. - Saltando a una etiqueta dentro de la misma rutina. - Parando la ejecucin del programa.

2.2 Llamada a otra rutina


Instruccin ProcCall CallByVar RETURN Sirve para: Llamar (saltar a) a otra rutina Llamar procedimientos con nombres especficos Regresar a la rutina original

Gua de Referencia RAPID

3-7

Control del Flujo del Programa

Resumen RAPID

2.3 Control del programa dentro de la rutina


Instruccin Compact IF IF FOR WHILE TEST GOTO label Sirve para: Ejecutar una instruccin nicamente si se ha cumplido una condicin Ejecutar una secuencia de instrucciones diferentes dependiendo de si se ha cumplido o no una condicin Repetir una seccin del programa un cierto nmero de veces Repetir una secuencia de instrucciones diferentes mientras se cumpla una condicin dada. Ejecutar diferentes instrucciones dependiendo del valor de una expresin Saltar a una etiqueta Especificar una etiqueta (nombre de lnea)

2.4 Paro de la ejecucin del programa


Instruccin Stop EXIT Break Sirve para: Parar la ejecucin del programa Parar la ejecucin del programa cuando el rearranque de un programa no es permitido. Parar la ejecucin del programa temporalmente para el diagnstico y solucin de averas.

3-8

Gua de Referencia RAPID

Resumen RAPID

Instrucciones varias

3 Instrucciones varias
Instrucciones varias sirve para realizar las siguientes operaciones - asignar valores a datos, - esperar cierto tiempo o esperar hasta que se haya cumplido una condicin, - introducir un comentario en el programa - cargar mdulos de programa.

3.1 Asignar un valor a un dato


Se puede asignar un valor arbitrario a los datos. El dato puede ser inicializado con un valor constante, por ejemplo 5, o actualizado, mediante una expresin aritmtica, por ejemplo, reg1+5*reg3. Instruccin := Sirve para: Asignar un valor a un dato

3.2 Condicin de Espera


Se puede programar el robot para que espere durante cierto tiempo, o que espere hasta que una condicin arbitraria se haya cumplido; por ejemplo, esperar hasta que se haya activado una entrada. Instruccin WaitTime WaitUntil WaitDI WaitDO Sirve para: Esperar cierto tiempo o esperar hasta que el robot se detenga Esperar hasta que se haya cumplido una condicin Esperar hasta que se haya activado una entrada digital Esperar hasta que se haya activado una salida digital

3.3 Comentarios
Los comentarios son introducidos en el programa nicamente para aumentar su facilidad de lectura. La ejecucin del programa no se ve afectada por un comentario. Instruccin comment Sirve para: Introducir comentarios en el programa

Gua de Referencia RAPID

3-9

Instrucciones varias

Resumen RAPID

3.4 Carga de mdulos de programa


Los mdulos de programa podrn ser cargados desde la memoria de masa o ser borrados desde la memoria de programa. De esta forma programas extensos podrn ser cargados con una memoria pequea.

3.5 Funciones varias


Funcin OpMode RunMode Dim Present IsPers IsVar Load UnLoad Sirve para: Leer el modo de funcionamiento que est utilizando el robot Leer el modo de ejecucin del programa que est utilizando el robot Obtener las dimensiones de una matriz Descubrir si un parmetro opcional estaba presente en el momento en que se hizo la llamada a la rutina. Comprobar si un parmetro es un dato persistente Comprobar si un parmetro es un dato variable Cargar un mdulo de programa en la memoria de programa Descargar un mdulo de programa desde la memoria de programa

3.6 Datos bsicos


Tipos de datos bool num symnum string switch Sirven para definir: Datos lgicos (con los valores verdaderos o falsos) Valores numricos (decimales o enteros) Datos numricos con un valor simblico Cadenas de caracteres Parmetros de rutina sin valor

3-10

Gua de Referencia RAPID

Resumen RAPID

Caractersticas de movimiento

4 Caractersticas de movimiento
Algunas de las caractersticas de movimiento del robot se determinan utilizando instrucciones lgicas que se aplican a todos los movimientos: - Velocidad mxima y correccin de la velocidad - Aceleracin - Gestin de las diferentes configuraciones del robot - Carga til - Comportamiento del robot cerca de un punto singular - Desplazamiento del programa - Servo suave - Valores de ajuste

4.1 Principios de programacin


Las caractersticas bsicas del movimiento del robot estn determinadas por los datos especificados en cada instruccin de posicionamiento. Sin embargo, algunos datos estn especificados en instrucciones separadas y se aplican a todos los movimientos hasta que estos datos cambian. Las caractersticas generales de movimiento estn especificadas mediante una serie de instrucciones, pero tambin pueden leerse mediante las variables del sistema C_MOTSET o C_PROGDISP. Los valores por defecto quedan activados automticamente (ejecutando la rutina SYS_RESET en el mdulo del sistema BASE): - al arrancar el sistema, - al cargar un programa nuevo, - al arrancar un programa desde el principio.

4.2 Definicin de la velocidad


La velocidad absoluta es programada como un argumento en la instruccin de posicionamiento. Adems, la velocidad mxima y el ajuste de la velocidad (un porcentaje de la velocidad programada) puede ser definida. Instruccin VelSet Sirve para definir: La velocidad mxima y el ajuste de la velocidad

Gua de Referencia RAPID

3-11

Caractersticas de movimiento

Resumen RAPID

4.3 Definicin de la aceleracin


Cuando se manipulan piezas frgiles, por ejemplo, se podr reducir la aceleracin para una parte del programa. Instruccin AccSet Sirve para definir: La aceleracin mxima permitida

4.4 Definicin de la gestin de la configuracin


La configuracin del robot suele ser comprobada normalmente durante el movimiento. Si se utiliza un movimiento eje a eje, la configuracin correcta ser adoptada. Si se utiliza un movimiento lineal o circular, el robot se mover siempre hacia la configuracin ms cercana a la programada, pero se realizar una comprobacin para ver si es la misma que la programada. Pero esto podr cambiarse si se desea. Instruccin ConfJ ConfL Sirve para definir: El control de la configuracin activado/desactivado durante el movimiento eje a eje El control de la configuracin activado/desactivado durante el movimiento lineal

4.5 Definicin de la carga til


Para obtener la mejor capacidad de produccin del robot, se deber definir la carga til correcta. Instruccin GripLoad Sirve para definir: La carga til de la pinza

4.6 Definicin del comportamiento del robot cerca de un punto singular


Se podr programar el robot para que evite los puntos singulares cambiando la orientacin de la herramienta automticamente. Instruccin SingArea Sirve para definir: El mtodo de interpolacin a travs de los puntos singulares

3-12

Gua de Referencia RAPID

Resumen RAPID

Caractersticas de movimiento

4.7 Desplazamiento de un programa


Cuando una parte del programa debe ser desplazada, por ejemplo, despus de una bsqueda, se aadir un desplazamiento de programa. Instruccin PDispOn PDispSet PDispOff EOffsOn EOffsSet EOffsOff Funcin DefDFrame DefFrame ORobT Sirve para: Activar el desplazamiento de programa Activar el desplazamiento de programa especificando un valor Desactivar un desplazamiento de programa Activar un offset de un eje externo Activar un offset de un eje externo especificando un valor Desactivar un offset de un eje externo Sirve para: Calcular un desplazamiento de programa a partir de tres posiciones Calcular un desplazamiento de programa a partir de seis posiciones Eliminar un desplazamiento de programa a partir de una posicin

4.8 Servo suave


La funcin servo suave puede aplicarse a uno o varios ejes del robot. Esta funcin proporciona al robot una gran flexibilidad y puede, por ejemplo, sustituir una herramienta. Instruccin SoftAct SoftDeact Sirve para: Activar el servo suave para uno o varios ejes Desactivar el servo suave

4.9 Valores de ajuste del robot


Por lo general, el robot tiene la facultad de optimizar su rendimiento; sin embargo, en algunos casos muy especiales, puede ocurrir un desajuste. Por ello, se podr ajustar los valores de ajuste del robot a fin de conseguir siempre el mximo rendimiento. Instruccin TuneServo TuneReset tunetype Sirve para: Ajustar los valores de ajuste del robot Reinicializar el ajuste a valores normales Representar el tipo de ajuste como una constante simblica

Gua de Referencia RAPID

3-13

Caractersticas de movimiento

Resumen RAPID

4.10 Datos para las caractersticas de movimiento


Tipos de dato motsetdata progdisp Sirve para definir: Caractersticas de movimiento excepto el desplazamiento de programa Desplazamiento de programa

3-14

Gua de Referencia RAPID

Resumen RAPID

Movimiento

5 Movimiento
Los movimientos del robot estn programados como movimientos posicin por posicin, es decir, movimiento a partir de la posicin actual a una posicin nueva. La trayectoria entre estas dos posiciones es entonces calculada automticamente por el robot.

5.1 Principios de programacin


Las caractersticas bsicas de movimiento, tales como el tipo de trayectoria, se especifican escogiendo la instruccin de posicionamiento adecuada. Las caractersticas de movimiento restantes se especifican definiendo los datos que son los argumentos de la instruccin: - Datos de posicin (posicin final del robot y de los ejes externos) - Datos de velocidad (velocidad deseada) - Datos de zona (precisin de la posicin) - Datos de herramienta (por ejemplo, la posicin del TCP) - Datos de la pieza de trabajo (por ejemplo, el sistema de coordenadas utilizado) Algunas de las caractersticas de movimiento del robot se determinan mediante instrucciones lgicas que se aplican a todos los movimientos (Vase Caractersticas de movimiento pgina 11): - Velocidad mxima y ajuste de la velocidad - Aceleracin - Gestin de las distintas configuraciones del robot - Carga til - Comportamiento del robot cerca de los puntos singulares - Desplazamiento del programa - Servo suave - Valores de ajuste Tanto el robot como los ejes externos se posicionan utilizando las mismas instrucciones. Los ejes externos se mueven a una velocidad constante y llegan a la posicin final al mismo tiempo que el robot.

Gua de Referencia RAPID

3-15

Movimiento

Resumen RAPID

5.2 Instrucciones de posicionamiento


Instruccin MoveC MoveJ MoveL MoveAbsJ Tipo de movimiento: El Punto Central de la Herramienta (TCP) sigue una trayectoria circular Movimiento eje a eje El Punto Central de la Herramienta (TCP) sigue una trayectoria lineal. Movimiento absoluto de los ejes

5.3 Bsqueda
Durante el movimiento, el robot puede realizar una bsqueda de, por ejemplo, la posicin de una pieza. La posicin buscada (indicada por una seal de un sensor) es almacenada y podr ser utilizada posteriormente para posicionar el robot o para calcular un desplazamiento de programa. Instruccin SearchC SearchL Tipo de movimiento: Bsqueda a lo largo de una trayectoria circular Bsqueda a lo largo de una trayectoria lineal

5.4 Activacin de salidas o interrupciones en posiciones especficas


Normalmente, las instrucciones lgicas se ejecutan durante la transicin entre una instruccin de posicionamiento a otra. No obstante, si se utilizan instrucciones de movimiento especiales, stas podrn ejecutarse cuando el robot se encuentra en una posicin especfica.

3-16

Gua de Referencia RAPID

Resumen RAPID
Instruccin TriggIO
1

Movimiento
Sirve para: Definir una condicin de disparo para la activacin de una salida en una posicin determinada. Definir una condicin de disparo para la ejecucin de una rutina de tratamiento de interrupciones en una posicin determinada. Define una condicin de disparo para activar una salida a una posicin especfica con la posibilidad de incluir una compensacin de tiempo por el retraso en el equipo externo. Hacer funcionar el robot (TCP) de forma circular con una condicin de disparo activada Hacer funcionar el robot eje a eje con una condicin de disparo activada Hacer funcionar el robot (TCP) de forma lineal con una condicin de disparo activada Sirve para definir: Condiciones de disparo

TriggInt1

TriggEquip1

TriggC1 TriggJ1 TriggL1 Tipo de dato triggdata1

5.5 Control del movimiento en caso de ocurrir un error/interrupcin


Para poder solucionar un error o atender a una interrupcin, el movimiento podr ser detenido temporalmente y luego rearrancado de nuevo. Instruccin StopMove StartMove StorePath
1 1

Sirve para: Parar los movimientos del robot Rearrancar los movimientos del robot Almacenar la ltima trayectoria generada Volver a generar una trayectoria almacenada con anterioridad

RestoPath

1. Unicamente si el robot est equipado con la opcin Funciones Avanzadas.

5.6 Control de los ejes externos


El robot y los ejes externos se suelen posicionar utilizando las mismas instrucciones. Algunas instrucciones, sin embargo, slo afectan los movimientos de los ejes externos. Instruccin DeactUnit ActUnit Sirve para: Desactivar una unidad mecnica externa Activar una unidad mecnica externa

1. Unicamente si el robot est equipado con la opcin Funciones Avanzadas.

Gua de Referencia RAPID

3-17

Movimiento

Resumen RAPID

5.7 Ejes independientes


El eje 6 de un robot, o un eje externo, podrn ser movidos independientemente de los dems movimientos. El rea de trabajo de un eje tambin podr ser reinicializada, lo cual tendr por efecto reducir los tiempos de ciclo. Funcin IndAMove2 IndCMove2 IndDMove2 IndRMove2 IndReset2 IndInpos2 IndSpeed2 Sirven para: Cambiar un eje al modo independiente y mover el eje a una posicin absoluta Cambiar un eje al modo independiente y arrancar un movimiento continuo del eje Cambiar un eje al modo independiente y mover el eje de una distancia delta Cambiar un eje al modo independiente y mover el eje a una posicin relativa (dentro de la revolucin de ejes) Cambiar un eje al modo dependiente o/y reinicializar el rea de trabajo Comprobar si un eje independiente est en su posicin Comprobar si un eje independiente ha alcanzado la velocidad programada

2. nicamente si el robot est equipado con la opcin Movimiento Avanzado.

5.8 Funciones de posicin


Funciones Offs RelTool CPos CRobT CJointT ReadMotor CTool CWObj ORobT MirPos Sirven para: Aadir un offset a una posicin del robot, expresado respecto al objeto de trabajo Aadir un offset, expresado en el sistema de coordenadas de la herramienta Leer la posicin utilizada (slo x, y, z del robot) Leer la posicin utilizada (la robtarget completa) Leer los ngulos utilizados de los ejes Leer los ngulos utilizados del motor Leer el valor utilizado del dato de herramienta Leer el valor utilizado del dato del objeto Eliminar un desplazamiento de programa desde una posicin Realizar una copia espejo de una posicin

3-18

Gua de Referencia RAPID

Resumen RAPID

Movimiento

5.9 Datos de movimiento


Los datos de movimiento se utilizan como un argumento en las instrucciones de posicionamiento. Tipo de datos robtarget jointtarget speeddata zonedata tooldata wobjdata Sirven para definir: La posicin final La posicin final de una instruccin MoveAbsJ La velocidad La precisin de la posicin (punto de paro o punto de paso) El sistema de coordenadas de la herramienta y el peso de la herramienta El sistema de coordenadas del objeto de trabajo

5.10 Datos bsicos para los movimientos


Tipo de datos pos orient pose confdata extjoint robjoint o_robtarget o_jointtarget loaddata mecunit Sirven para definir: Una posicin (x, y, z) Una orientacin Un sistema de coordenadas (posicin + orientacin) La configuracin de los ejes del robot La posicin de los ejes externos La posicin de los ejes del robot La posicin original del robot cuando se utiliza Limit ModPos La posicin original del robot cuando se utiliza Limit ModPos para MoveAbsJ Una carga Una unidad mecnica externa

Gua de Referencia RAPID

3-19

Seales de entrada y salida

Resumen RAPID

6 Seales de entrada y salida


El robot est normalmente equipado con una serie de seales digitales y analgicas para el usuario que pueden ser ledas y cambiadas desde dentro del programa.

6.1 Principios de programacin


Los nombres de las seales se definen en los parmetros del sistema y mediante estos nombres, se podrn leer las seales desde el programa. El valor de una seal analgica o de un grupo de seales digitales est especificado como un valor numrico.

6.2 Cambio del valor de una seal


Instruccin InvertDO PulseDO Reset Set SetAO SetDO SetGO Sirve para: Invertir el valor de una seal de salida digital Generar un pulso en una seal de salida digital Reinicilizar una seal de salida digital (poner a 0) Activar una seal de salida digital (poner a 1) Cambiar el valor de una seal de salida analgica Cambiar el valor de una seal de salida digital (valor simblico; por ejemplo, high/low, activado/desactivado) Cambiar el valor de un grupo de seales de salida digitales

6.3 Lectura del valor de una seal de entrada


Se podr leer directamente el valor de una seal de entrada, por ejemplo, IF di1=1 THEN...

6.4 Lectura del valor de una seal de salida


Funcin DOutput GOutput Sirve para leer el valor de: Una seal de salida digital Un grupo de seales de salida digital

3-20

Gua de Referencia RAPID

Resumen RAPID

Seales de entrada y salida

6.5 Comprobacin deentradas en seales de salida


Instruccin WaitDI WaitDO Funcin TestDI Sirve para: Esperar hasta que una entrada digital sea activada o reinicilizada Esperar hasta que una salida digital sea activada o reinicilizada Sirve para: Comprobar si se ha activado una entrada digital

6.6 Datos para las seales de entrada y salida


Tipo de datos dionum signalai signalao signaldi signaldo signalgi signalgo Sirve para definir: El valor simblico de una seal digital El nombre de una seal de entrada analgica* El nombre de una seal de salida analgica* El nombre de una seal de entrada digital* El nombre de una seal de salida digital* El nombre de un grupo de seales de entrada digitales* El nombre de un grupo de seales de salida digitales*

* Slo podrn ser definidas utilizando los parmetros del sistema.

Gua de Referencia RAPID

3-21

7 ComunicacinExisten cuatro formas distintas de comunicar a travs de

- Los mensajes aparecen en el visualizador de la unidad de programac usuario puede responder a preguntas, como por ejemplo, el nmero que deben ser procesadas.

- Se puede escribir o leer informacin de tipo caracteres a partir de ar texto desde la memoria de masa, por ejemplo. De esta manera, se po cenar por ejemplo, estadsticas de produccin que podrn ser almace procesadas posteriormente en un PC. La informacin tambin podr mida directamente en una impresora conectada al sistema robot.

- Informacin binaria que puede ser transferida entre el robot y un sen ejemplo. - Informacin binaria 7.1 Principios de programacin que puede ser transferida entre el por ejemplo, con un protocolo de enlace. La decisin de utilizar informacin basada en caracteres o informacin binaria depender de la manera en que el equipo, con el que el robot comunica, manipula esa informacin. As por ejemplo, un archivo puede contener datos que se almacenan bajo forma de caracteres o en binario. Si el sistema requiere una comunicacin en ambos sentidos de forma simultnea, se necesitar un tipo de transmisin binaria. Cada canal serie o archivo deber en primer lugar ser abierto. Al realizar esta operacin, el canal/archivo recibe un nombre que se utiliza posteriormente como una referencia en el momento de la lectura/escritura. La unidad de programacin se podr utilizar en cualquier momento y no necesita ser abierta. Tanto el texto como el valor de algunos tipos de datos podrn ser impresos.

robot y otro co

3-22

Gua de Referencia RAPID

Comunicacin

Resumen RAPID

Resumen RAPID

Comunicacin

7.2 Comunicacin utilizando la unidad de programacin


Instruccin TPErase TPWrite ErrWrite Sirve para: Borrar la informacin contenida en el visualizador de la unidad de programacin Escribir texto en el visualizador de la unidad de programacin Escribir texto en el visualizador de la unidad de programacin y simultneamente almacenar este mensaje en la lista de errores del programa Poner una etiqueta a las teclas de funcin y leer qu tecla ha sido pulsada Leer un valor numrico desde la unidad de programacin

TPReadFK TPReadNum

7.3 Lectura desde o escritura en un canal/archivo serie de caracteres


Instruccin Open1 Write1 Close1 Funcin ReadNum1 ReadStr1 Sirve para: Abrir un canal/archivo para la lectura o escritura Escribir texto en el canal/archivo Cerrar el canal/archivo Sirve para: Leer un valor numrico Leer una cadena de texto

7.4 Comunicacin mediante canales serie binarios


Instruccin Open1 WriteBin1 Close1 Sirve para: Abrir un canal/archivo serie para la transferencia binaria de datos Escribir en un canal serie binario Cerrar el canal/archivo

Funcin ReadBin1

Sirve para: Leer desde un canal serie binario

1. Unicamente si el robot est equipado con la opcin Funciones avanzadas.

Gua de Referencia RAPID

3-23

Comunicacin

Resumen RAPID

7.5 Datos de los canales serie


Tipo de datos iodev Sirve para definir: Una referencia a un canal/archivo serie, que posteriormente podr ser utilizado para la lectura y escritura.

3-24

Gua de Referencia RAPID

Resumen RAPID

Interrupciones

8 Interrupciones
Las interrupciones son utilizadas por el programa para permitirle tratar directamente cualquier evento ocurrido en el sistema, independientemente de la instruccin que se est ejecutando cuando ocurre la interrupcin. El programa es interrumpido, por ejemplo, cuando se activa una entrada especfica en 1. Cuando ello ocurre, el programa utilizado se interrumpe y se ejecuta un tipo especial de rutina de tratamiento de interrupcin. Una vez esto se ha ejecutado, la ejecucin del programa prosigue a partir de donde se haba interrumpido.

8.1 Principios de programacin


Cada interrupcin tiene asignada una identificacin de interrupcin propia, que se obtiene creando una variable (de tipo de datos intnum) y relacionndola con una rutina de tratamiento de interrupcin. La identificacin de la interrupcin (variable) se utiliza entonces para dar la orden a una interrupcin, es decir, para especificar el motivo de la interrupcin. El motivo puede ser uno de los siguientes acontecimientos: - Una entrada o una salida est activada en 1 o en 0. - Ha pasado un cierto periodo de tiempo despus de que se haya dado la orden a una interrupcin. - Se ha alcanzado una posicin especfica. Cuando se da la orden a una interrupcin, sta se encuentra automticamente habilitada, pero podr ser temporalmente inhabilitada. Ello se puede producir de dos maneras: - Todas las interrupciones pueden ser inhabilitadas. Todas las interrupciones que ocurren durante este tiempo quedan almacenadas en una cola y son posteriormente generadas de forma automtica cuando vuelvan a ser habilitadas de nuevo. - Las interrupciones pueden ser desactivadas individualmente. El sistema no tendr en cuenta ninguna interrupcin que ocurra durante este tiempo.

8.2 Conexin de las interrupciones a las rutinas de tratamiento de interrupcin


Instruccin CONNECT Sirve para: Conectar una variable (identificacin de la interrupcin) a una rutina de tratamiento de interrupcin.

Gua de Referencia RAPID

3-25

Interrupciones

Resumen RAPID

8.3 Peticin de interrupciones


Instruccin ISignalDI ISignalDO ITimer TriggInt1 Sirve para solicitar: Una interrupcin desde una seal de entrada digital Una interrupcin desde una seal de salida digital Una interrupcin temporizada Una interrupcin de posicin fija (de la lista de seleccin de Movimiento)

8.4 Anulacin de interrupciones


Instruccin IDelete Sirve para: Anular (borrar) una interrupcin

8.5 Habilitacin/Inhabilitacin de las interrupciones


Instruccin ISleep IWatch IDisable IEnable Sirve para: Desactivar una interrupcin individual Activar una interrupcin individual Inhabilitar todas las interrupciones Habilitar todas las interrupciones

8.6 Tipos de datos de las interrupciones


Tipo de dato intnum Sirve para definir: La identificacin de una interrupcin.

1. Unicamente si el robot est equipado con la opcin Funciones Avanzadas.

3-26

Gua de Referencia RAPID

Resumen RAPID

Recuperacin de errores

9 Recuperacin de errores
Muchos de los errores que ocurren cuando se est ejecutando un programa pueden ser procesados en el programa, esto significa que la ejecucin del programa no tiene por qu ser interrumpida. Estos errores pueden ser de dos tipos: un error detectado por el robot, como por ejemplo una divisin por cero, o bien un error detectado por el programa, como los errores que ocurren cuando se lee un valor incorrecto con un lector de cdigo de barras.

9.1 Principios de programacin


Cuando ocurre un error, se llama al gestor de error de la rutina (siempre y cuando haya uno). Tambin se puede crear un error desde dentro del programa y luego saltar al gestor de errores. Si la rutina no dispone de un gestor de errores, se realizar una llamada al gestor de errores de la rutina que ha llamado la rutina actual que se est utilizando. Si no encuentra ninguno all, se realizar una llamada al gestor de errores de la rutina que llam aquella rutina, y as sucesivamente, hasta alcanzar el gestor de errores interno del robot que procesar el error, generar un mensaje de error y detendr la ejecucin del programa. En el gestor de errores, estos podrn ser tratados utilizando instrucciones normales. Los datos de sistema ERRNO podrn ser utilizados para determinar el tipo de error que se ha producido. Para regresar del gestor de errores existen varias formas. En versiones ms modernas, si la rutina corriente no posee ningn gestor de errores, el gestor de errores interno del robot se hace cargo inmediatamente del error. El gestor de errores interno genera un mensaje de error, detendr la ejecucin del programa y situar el indicador del programa en la instruccin defectuosa. Por consiguiente, una buena norma a aplicar en estos casos consiste en lo siguiente: si el usuario desea llamar el gestor de error de la rutina que llam la rutina actual (propagar el error), entonces, deber: - Aadir un gestor de error en la rutina corriente - Aadir la instruccin RAISE en este gestor de error

9.2 Creacin de una situacin de error desde dentro del programa


Instruccin RAISE Sirve para: Crear un error y llamar el gestor de errores

Gua de Referencia RAPID

3-27

Recuperacin de errores

Resumen RAPID

9.3 Rearranque/regreso del gestor de errores


Instruccin EXIT RAISE RETRY TRYNEXT RETURN Sirve para: Detener la ejecucin del programa en el caso de ocurrir un error muy grave Llamada del gestor de errores de la rutina que ha llamado la rutina actual utilizada Volver a ejecutar la instruccin que ha originado el error Ejecutar la instruccin siguiente a la que ha provocado el error Regresar a la rutina que ha llamado la rutina actual utilizada

9.4 Datos para la gestin de los errores


Tipo de dato errnum Sirve para definir: El motivo que ha originado el error

3-28

Gua de Referencia RAPID

Resumen RAPID

Sistema y Hora

10 Sistema y Hora
Las instrucciones de sistema y hora permiten al usuario contar, controlar y registrar el tiempo.

10.1 Principios de programacin


Las instrucciones de reloj ofrecen al usuario la posibilidad de utilizar relojes que funcionan como cronmetros. De esta manera se puede utilizar el programa del robot para cronometrar cualquier acontecimiento deseado. La hora o fecha actual deben registrarse en una cadena. Esta cadena podr posteriormente ser visualizada en el visualizador de la unidad de programacin o ser utilizada para registrar la fecha y la hora en los archivos de listas de mensajes. Tambin existe la posibilidad de registrar alguno de los componentes de la hora del sistema como un valor numrico. Ello permite al programa del robot realizar una actividad a una hora determinada o en un da determinado de la semana.

10.2 Utilizacin de un reloj para cronometrar un acontecimiento


Instruccin ClkReset ClkStart ClkStop Funcin ClkRead Tipo de dato clock Sirve para: Poner a cero un reloj para el cronometraje Arrancar un reloj para el cronometraje Parar un reloj para el cronometraje Sirve para: Leer el reloj del cronometraje Sirve para: El almacenamiento del tiempo de cronometraje en segundos

10.3 Lectura de la fecha y hora utilizadas


Funcin CDate CTime GetTime Sirve para: Leer la fecha actual como una cadena Leer la hora actual como una cadena Leer la hora actual como un valor numrico

Gua de Referencia RAPID

3-29

Matemticas

Resumen RAPID

11 Matemticas
Las instrucciones y las funciones matemticas sirven para calcular y cambiar el valor de los datos.

11.1 Principios de programacin


Los clculos suelen realizarse utilizando la instruccin de asignacin, por ejemplo, reg1:= reg2 + reg3 / 5. Existen tambin algunas instrucciones para llevar a cabo operaciones sencillas, como la puesta a cero de una variable numrica.

11.2 Clculos sencillos sobre datos numricos


Instruccin Clear Add Incr Decr Sirve para: Poner a cero un valor Sumar o restar un valor Incrementar en 1 Disminuir en 1

11.3 Clculos ms avanzados


Instruccin := Sirve para: Llevar a cabo clculos con cualquier tipo de datos

3-30

Gua de Referencia RAPID

Resumen RAPID

Matemticas

11.4 Funciones aritmticas Funcin Abs Round Trunc Sqrt Exp Pow ACos ASin ATan ATan2 Cos Sin Tan EulerZYX OrientZYX PoseInv PoseMult PoseVect Sirve para: Calcular el valor absoluto Redondear un valor numrico Truncar un valor numrico Calcular la raz cuadrada Calcular el valor exponencial con la base e Calcular el valor exponencial con una base arbitraria Calcular el valor del arco coseno Calcular el valor del arco seno Calcular el valor del arco tangente incluido entre [-90,90] Calcular el valor del arco tangente incluido entre [-180,180] Calcular el valor del coseno Calcular el valor del seno Calcular el valor de la tangente Calcular los ngulos Euler desde una orientacin Calcular la orientacin desde los ngulos Euler Invertir una posicin Multiplicar una posicin Multiplicar una posicin y un vector

Gua de Referencia RAPID

3-31

Soldadura por Puntos

Resumen RAPID

12 Soldadura por Puntos


El paquete de software SpotWare contiene utilidades para las aplicaciones de soldadura por puntos que estn equipadas con un temporizador de soldadura y con una pinza de soldadura. La aplicacin SpotWare ofrece un posicionamiento rpido y preciso combinando la manipulacin de la pinza, el arranque del proceso y la supervisin de un temporizador externo de soldadura. La comunicacin con el equipo de soldadura se realiza mediante las entradas y salidas digitales. El sistema acepta algunos interfaces serie de temporizador de soldadura como: Bosch PSS5000, NADEX, ABB Timer. Vase el documento separado. Deber tenerse en cuenta que SpotWare y SpotWare Plus, son paquetes que pueden ser ampliamente personalizados. Las rutinas del usuario sirven para ser adaptadas a la situacin del entorno.

3-32

Gua de Referencia RAPID

Resumen RAPID

Soldadura por Puntos

12.1 Caractersticas de la soldadura por puntos


El paquete SpotWare ofrece las siguientes caractersticas: - Posicionamiento rpido y preciso - Manipulacin de una pinza con dos carreras - Pinza sencilla/doble - Semicierre de la pinza - Supervisin definida por el usuario del equipo perifrico antes del arranque de la soldadura - Supervisin definida por el usuario del equipo perifrico despus de la soldadura - Monitorizacin del temporizador externo de soldadura - Recuperacin de errores de soldadura mediante una resoldadura automtica - Regreso a la posicin de soldadura por puntos - Contador de puntos de soldadura - Liberacin del movimiento despus de una soldadura en funcin del tiempo o de una seal - Rearranque rpido despus de una soldadura - Rutinas de servicio definidas por el usuario - Preactivacin y comprobacin de la presin de la pinza - Soldadura de simulacin - Ejecucin a la inversa con control de la pinza - Interfaces serie y paralelos del temporizador de soldadura - Ayuda para compaginar el programa con el temporizador de inicio del arco. La aplicacin SpotWare Plus contiene tambin las siguientes caractersticas: - Apertura/cierre de la pinza y supervisin definidos por el usuario - Ajuste de la presin definida por el usuario - Clculo del tiempo de semicierre definido por el usuario - Informacin de los datos corrientes de SpotL - Supervisin autnoma definida por el usuario, como por ejemplo la seal de corriente de soldadura controlada por estado y el arranque de la refrigeracin del agua - Soldadura manual, apertura y cierre de la pinza iniciada por entrada digital - Posibilidad de arranque del proceso de soldadura sin tener en cuenta el evento de posicin

Gua de Referencia RAPID

3-33

Soldadura por Puntos

Resumen RAPID

12.2 Principios de SpotWare


En el momento de la ejecucin de una instruccin SpotL, se ejecuta una secuencia principal formada por instrucciones de movimiento e instrucciones lgicas. Durante el movimiento es posible activar seales predefinidas pero no la ejecucin de cdigos RAPID. En entradas bien definidas, ciertas llamadas a rutinas del usuario ofrecen posibilidades de adaptacin al entorno de la planta. Asimismo, existe una serie de parmetros predefinidos disponibles para modificar el comportamiento de la instruccin SpotL. La parte en RAPID de la instruccin SpotL se ejecuta nicamente cuando el programa del usuario est en funcionamiento. Un paro en el programa del usuario inmediatamente detiene la ejecucin RAPID interna de la instruccin SpotL. Equipo aceptado: - Un temporizador de soldadura para la monitorizacin con un interface estndar paralelo (serie). - Pinza sencilla/doble con una seal de aviso para el cierre de la pinza y otra para la activacin del tiempo de apertura. - Nivel de presin predeterminado 1..4.

12.3 Principios de SpotWare Plus


La aplicacin SpotWare Plus est basada en una gestin separada del movimiento, de la soldadura por puntos y de la supervisin. En su camino hacia la posicin programada, la tarea de movimiento disparar acciones dentro de la tarea de soldadura por puntos. Los eventos asociados a posicin son activados por seales digitales virtuales. Las tareas utilizan tanto sus propias variables internas incorporadas como datos persistentes que son completamente transparentes para todas las tareas. Un paro de programa tendr por efecto nicamente el paro de la ejecucin de la tarea de movimiento. El proceso y la supervisin llevan a cabo sus tareas hasta que alcanzan un paro de proceso bien definido. Entre otras cosas, ello provocar la apertura de la pinza despus de que se haya terminado una soldadura incluso despus de haber ocurrido el paro del programa. La apertura y el cierre de la pinza se ejecutan siempre mediante las rutinas RAPID incluso si se han activado manualmente desde la ventana de E/S de la unidad de programacin. Estas rutinas de la pinza podrn ser cambiadas, desde las simples funciones de activado/desactivado, hasta las funciones ms complejas como el control analgico de la pinza. Dado que las tareas de proceso y de supervisin actan sobre eventos asociados a posicin de E/S, ejecutarn el disparo que ha sido enviado por el movimiento (SpotL) o que

3-34

Gua de Referencia RAPID

Resumen RAPID

Soldadura por Puntos

ha sido manualmente activado (unidad de programacin o de forma externa). Ello ofrece la posibilidad de realizar una soldadura independiente en cualquier sitio sin tener que programar una posicin nueva. Tambin se podr definir nuevos eventos de supervisin y conectarlos a eventos asociados a posiciones de seal digital. Por defecto, el sistema tiene incorporado una seal de potencia de soldadura en funcin del estado y un control de la seal de refrigeracin del agua. Equipo aceptado: - Un temporizador de soldadura para la monitorizacin con un interface estndar paralelo (serie). - Cualquier tipo de cierre de la pinza sencilla/doble y de control de apertura de la pinza. - Cualquier tipo de presin predeterminada. - Las acciones que controla SpotL son independientes del equipo de soldadura por puntos, como contactores, etc.

12.4 Principios de programacin


Tanto el movimiento lineal del robot como el control del proceso de la soldadura por puntos estn contenidos en una sola instruccin, SpotL. El proceso de la soldadura por puntos est especificado por: - Datos de soldadura por puntos (Spotdata): datos del proceso de la soldadura por puntos - Datos de la pinza (Gundata): datos de la pinza de soldadura por puntos - El mdulo del sistema SWUSER, SWUSRF y SWUSRC: rutinas en RAPID y datos generales para funciones de personalizacin del sistema. Ver el apartado Datos y Programas predefinidos - ProcessWare. - Parmetros del sistema: la configuracin de las E/S. Vase la Gua del Usuario Parmetros del Sistema.

12.5 Instrucciones de soldadura por puntos


Instruccin SpotL Sirve para: Controlar el movimiento, la apertura/cierre de la pinza y el proceso de soldadura. Mover el TCP a lo largo de una trayectoria lineal y realizar una soldadura por puntos en la posicin final.

Gua de Referencia RAPID

3-35

Soldadura por Puntos

Resumen RAPID

12.6 Datos de soldadura por puntos


Tipos de datos spotdata gundata Sirve para definir: El control del proceso de la soldadura por puntos La pinza de soldadura por puntos

3-36

Gua de Referencia RAPID

Resumen RAPID

Soldadura al Arco

13 Soldadura al Arco
El paquete de software Arcware permite llevar a cabo una gran cantidad de funciones de soldadura. As, por ejemplo, el rellenado del crter y el arranque por oscilacin, son funciones que pueden ser programadas. Mediante la utilizacin de Arcware, el proceso completo de soldadura ser entonces controlado y monitorizado por el robot a travs de diferentes entradas y salidas digitales y analgicas.

13.1 Principios de programacin


Las mismas instrucciones sern utilizadas tanto para el control de los movimientos del robot como para el proceso de soldadura correspondiente. Las instrucciones de soldadura al arco indican los datos de soldadura y los datos iniciales y finales que se utilizan en la soldadura correspondiente. Las caractersticas de la soldadura en la fase principal de soldadura estn definidas en los datos de soldadura. Las fases de inicio y final estn definidas en los datos iniciales y finales de soldadura. Las oscilaciones estn definidas en los datos de oscilacin, que tambin forman parte de las instrucciones de soldadura al arco. Ciertas funciones, como el arranque por oscilacin, se encuentran definidas en los parmetros del sistema. El proceso de soldadura est dividido en las siguientes fases:

INICIO

SOLDADURA

FINAL
LLENADO FINAL

PRELIMINAR ENCENDIDO

CALENTAMIENTO

13.2 Instrucciones de soldadura al arco


Instruccin ArcC ArcL Tipo de movimiento: Movimiento del TCP a lo largo de una trayectoria circular Movimiento del TCP a lo largo de una trayectoria lineal

Gua de Referencia RAPID

3-37

Soldadura al Arco

Resumen RAPID

13.3 Datos de soldadura al arco


Tipos de datos welddata seamdata weavedata trackdata Sirven para definir: La fase de soldadura La fase de inicio y final de una soldadura Las caractersticas de oscilacin Seguimiento de la costura mediante el interface serie de sensor

3-38

Gua de Referencia RAPID

Resumen RAPID

GlueWare

14 GlueWare
El paquete GlueWare proporciona las facilidades para las funciones de aplicacin de adhesivo que estn equipadas con una o dos pistolas de aplicacin de adhesivo. La aplicacin GlueWare proporciona un posicionamiento rpido y preciso combinado con una manipulacin de la pistola, y el arranque y paro del proceso. La comunicacin con el equipo de aplicacin de adhesivo se lleva a cabo mediante salidas digitales y analgicas.

14.1 Caractersticas de aplicacin de adhesivo


El paquete GlueWare contiene las siguientes caractersticas: - Posicionamiento rpido y preciso - Gestin de pistolas de act./desact. y de pistolas proporcionales - El sistema es capaz de gestionar dos pistolas diferentes en un mismo programa, y cada pistola est controlada por una seal digital (on/off) y dos seales analgicas (flujos). - Semiapertura y semicierre de la pistola respectivamente - Aplicacin simulada de adhesivo

14.2 Principios de programacin


Tanto el movimiento del robot como el control del proceso de la aplicacin de adhesivo estn incluidos en una instruccin, GlueL y GlueC respectivamente. El proceso de aplicacin de adhesivo est especificado por: - Gundata: Datos de la pistola de aplicacin de adhesivo. Vase Tipos de datos ggundata. - El mdulo del sistema GLUSER: rutinas RAPID y datos globales para la personalizacin del sistema. Vase Datos y Programas predefinidos - Mdulo del Sistema GLUSER. - Parmetros del sistema: la configuracin de E/S. Vase Parmetros del Sistema - Aplicacin de adhesivo

Gua de Referencia RAPID

3-39

GlueWare

Resumen RAPID

14.3 Instrucciones de aplicacin de adhesivo


Instruccin GlueL GlueC Sirve para: Mover el TCP a lo largo de una trayectoria lineal y llevar a cabo la aplicacin de adhesivo con los datos especificados. Mover el TCP a lo largo de una trayectoria circular y llevar a cabo la aplicacin de adhesivo con los datos especificados.

14.4 Datos de aplicacin de adhesivo


Tipo de datos ggundata Sirven para definir: La pistola de aplicacin de adhesivo utilizada

3-40

Gua de Referencia RAPID

Resumen RAPID

Comunicacin externa del computador

15 Comunicacin externa del computador


El robot puede estar controlado a partir de un computador superior. En este caso, se utilizar un protocolo especial de comunicaciones para la transferencia de informacin.

15.1 Principios de programacin


Dado que se usa un protocolo de comunicaciones comn para la transferencia de informacin a partir del robot hacia el computador superior y viceversa, el robot y el computador pueden comunicar entre ellos sin necesidad de una programacin. El computador puede, por ejemplo, cambiar los valores en los datos del programa sin que el usuario tenga que realizar ningn tipo de programacin (excepto para la definicin de estos datos). La programacin es necesaria nicamente cuando la informacin controlada por el programa tiene que ser enviada desde el robot al computador superior.

15.2 Envo de un mensaje controlado por el programa desde el robot al computador


Instruccin SCWrite1 Sirve para: Enviar un mensaje al computador superior

1. Solamente si el robot est equipado con la opcin Enlace Serie RAP.

Gua de Referencia RAPID

3-41

Instrucciones de Servicio

Resumen RAPID

16 Instrucciones de Servicio
El sistema dispone de una serie de instrucciones que sirven para hacer el test del sistema robot. Vase el captulo referente a las Herramientas para la deteccin de averas del Manual de Producto para ms informacin.

16.1 Direccionamiento de un valor a una seal de test del robot


Se podr dirigir una seal de referencia, como por ejemplo la velocidad de un motor, hacia una seal de salida analgica situada en la tarjeta del bus del robot. Instruccin TestSign Tipo de dato testsignal Sirve para: Definir y activar una seal de test Sirve para definir: El tipo de la seal de test

3-42

Gua de Referencia RAPID

Resumen RAPID

Funciones de cadena

17 Funciones de cadena
Las funciones de cadena se utilizan para operaciones realizadas con cadenas como por ejemplo, la copia, la concatenacin, la comparacin, la bsqueda, la conversin, etc.

17.1 Operaciones Bsicas


Tipo de datos string Sirve para definir: Cadena. Constantes predefinidas STR_DIGIT, STR_UPPER, STR_LOWER y STR_WHITE Instruccin/Operador Sirve para: := + Funcin StrLen StrPart Asignar un valor (copia de una cadena) Concatenacin de cadena Sirve para: Tomar la longitud de la cadena Tomar parte de la cadena

17.2 Comparacin y Bsqueda


Operador = <> Funcin StrMemb StrFind StrMatch StrOrder Sirve para: Comprobar si es igual a Comprobar si no es igual a Sirve para: Comprobar si el carcter forma parte de un conjunto Buscar un carcter en una cadena Buscar una estructura en una cadena Comprobar si las cadenas estn ordenadas

17.3 Conversin
Funcin NumToStr ValToStr StrToVal StrMap Sirve para: Convertir un valor numrico en cadena Convertir un valor en una cadena Convertir una cadena en un valor Realizar un mapa de la cadena

Gua de Referencia RAPID

3-43

Funciones de cadena

Resumen RAPID

3-44

Gua de Referencia RAPID

Resumen RAPID

Resumen de sintaxis

18 Resumen de sintaxis
18.1 Instrucciones Data := Value AccSet Acc Ramp

ActUnit MecUnit Add Name AddValue Break CallBy Var Clear Name Clock Clock Clock IODevice Name Number

ClkReset ClkStart ClkStop Close

! Comment ConfJ ConfL [\On] | [\Off] [\On] | [\Off]

CONNECT Interrupt WITH Trap routine DeactUnit MecUnit Decr Name EOffsSet EAxOffs ErrWrite [ \W ] Header Reason [ \RL2] [ \RL3] [ \RL4] FOR Loop counter FROM Start value TO End value [STEP Step value] DO ... ENDFOR GOTO Label

Gua de Referencia RAPID

3-45

Resumen de sintaxis
GripLoad IDelete IF Load Interrupt ...

Resumen RAPID

Condition

IF Condition THEN ... {ELSEIF Condition THEN ...} [ELSE ...] ENDIF Incr Name MecUnit Axis [\ToAbsPos] | [\ToAbsNum] Speed MecUnit Axis Speed [\Ramp] MecUnit Axis Delta Speed [\Ramp]

IndAMove [\Ramp] IndCMove IndDMove

IndReset MecUnit Axis [\RefPos] | [\RefNum] | [\Short] | [\Fwd] | [\Bwd] | [\Old] IndRMove MecUnit Axis [\ToRelPos] | [\ToRelNum] | [\Short] | [\Fwd] | [\Bwd] | Speed [\Ramp] InvertDO Signal

ISignalDI [ \Single ] Signal TriggValue Interrupt ISignalDO [ \Single ] Signal TriggValue Interrupt ISleep ITimer IWatch Label: MoveAbsJ MoveC MoveJ [ \Conc ] ToJointPos Speed [ \V ] | [ \T ] Zone [ \Z] Tool [ \WObj ] Interrupt [ \Single ] Time Interrupt Interrupt

[ \Conc ] CirPoint ToPoint Speed [ \V ] | [ \T ] Zone [ \Z] Tool [ \WObj ] [ \Conc ] ToPoint Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ]

3-46

Gua de Referencia RAPID

Resumen RAPID
MoveL Open

Resumen de sintaxis
[ \Conc ] ToPoint Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ]

Object [\File] IODevice [\Read] | [\Write] | [\Append] | [\Bin]

PDispOn [ \Rot ] [ \ExeP ] ProgPoint Tool [ \WObj ] PDispSet DispFrame Procedure PulseDO RAISE Reset { Argument } [ \PLength ] Signal [ Error no ] Signal [ Return value ]

RETURN

SearchC [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint CirPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] SearchL [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] Set Signal Signal Value [ \SDelay ] Signal Value Signal Value [ \Wrist] | [ \Arm] | [ \Off]

SetAO SetDO SetGO SingArea

SoftAct Axis Softness [\Ramp ] Stop [ \NoRegain ]

TEST Test data {CASE Test value {, Test value} : ...} [ DEFAULT: ...] ENDTEST TPReadFK Answer String FK1 FK2 FK3 FK4 FK5 [\MaxTime] [\DIBreak] [\BreakFlag] TPReadNum Answer String [\MaxTime] [\DIBreak] [\BreakFlag] TPWrite String [\Num] | [\Bool] | [\Pos] | [\Orient]

TriggC CirPoint ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ]


Gua de Referencia RAPID 3-47

Resumen de sintaxis
[ \T4] Zone Tool [ \WObj ]

Resumen RAPID

TriggInt TriggData Distance [ \Start ] | [ \Time ] Interrupt TriggIO TriggData Distance [ \Start ] | [ \Time ] [ \DOp ] | [ \GOp ] | [\AOp ] SetValue [ \DODelay ] | [ \AORamp ] TriggJ ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ] Zone Tool [\WObj] TriggL ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ] TuneServo MecUnit Axis TuneValue TuneServo MecUnit Axis TuneValue [\Type] Unload FilePath [\File] VelSet Override Max

WaitDI Signal Value [\MaxTime] [\TimeFlag] WaitDO WaitTime WaitUntil WHILE Signal Value [\MaxTime] [\TimeFlag] [\InPos] Time [\InPos] Cond [\MaxTime] [\TimeFlag] Condition DO ... ENDWHILE

Write IODevice String [\Num] | [\Bool] | [\Pos] | [\Orient] [\NoNewLine] WriteBin IODevice Buffer NChar

18.2 Funciones Abs (Input) ACos (Value) ASin (Value)

ATan (Value)

3-48

Gua de Referencia RAPID

Resumen RAPID
ATan2 ClkRead Cos CPos CRobT (Y X)

Resumen de sintaxis

(Clock)

(Angle) ([Tool] [\WObj]) ([Tool] [\WObj]) (OldP1 OldP2 OldP3 NewP1 NewP2 NewP3)

DefDFrame

DefFrame (NewP1 NewP2 NewP3 [\Origin]) Dim (ArrPar DimNo) (Signal) ([\X] | [\Y] | [\Z] Rotation)

DOutput EulerZYX Exp

(Exponent) (Signal) ( [\WDay] | [\Hour] | [\Min] | [\Sec] )

GOutput GetTime

IndInpos MecUnit Axis IndSpeed MecUnit Axis [\InSpeed] | [\ZeroSpeed] IsPers (DatObj) IsVar (DatObj) MirPlane [\WObj] [\MirY])

MirPos (Point NumToStr Offs

(Val Dec [\Exp])

(Point XOffset YOffset ZOffset) (ZAngle YAngle XAngle)

OrientZYX

ORobT (OrgPoint [\InPDisp] | [\InEOffs]) PoseInv PoseMult PoseVect (Pose) (Pose1 Pose2) (Pose Pos)

Gua de Referencia RAPID

3-49

Resumen de sintaxis
Pow (Base Exponent) (OptPar) (IODevice [\Time])

Resumen RAPID

Present ReadBin

ReadMotor [\MecUnit ] Axis ReadNum (IODevice [\Time]) ReadStr (IODevice [\Time]) Dy Dz [\Rx] [\Ry] [\Rz])

RelTool (Point Dx Round ( Val [\Dec]) Sin Sqrt (Angle) (Value)

StrFind StrLen StrMap StrMatch

(Str ChPos Set [\NotInSet]) (Str) ( Str FromMap ToMap) (Str ChPos Pattern)

StrMemb (Str ChPos Set) StrOrder ( Str1 Str2 Order) StrPart (Str ChPos Len)

StrToVal ( Str Val ) Tan (Angle) TestDI (Signal) Trunc ( Val [\Dec] )

ValToStr ( Val )

3-50

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


INDICE
Pgina 1 Elementos Bsicos ........................................................................................................... 3 1.1 Identificadores ........................................................................................................ 3 1.2 Espacios y caracteres de fin de lnea ...................................................................... 4 1.3 Valores numricos .................................................................................................. 4 1.4 Valores lgicos ....................................................................................................... 4 1.5 Valores de cadena................................................................................................... 4 1.6 Comentarios............................................................................................................ 5 1.7 Comodines .............................................................................................................. 5 1.8 Encabezado de archivo ........................................................................................... 6 1.9 Sintaxis ................................................................................................................... 6 2 Mdulos ............................................................................................................................ 8 2.1 Mdulos del programa............................................................................................ 8 2.2 Mdulos del sistema ............................................................................................... 9 2.3 Declaraciones de los mdulos ................................................................................ 9 2.4 Sintaxis ................................................................................................................... 9 3 Rutinas ............................................................................................................................. 11 3.1 Alcance de las rutinas ............................................................................................. 11 3.2 Parmetros .............................................................................................................. 12 3.3 Final de una rutina .................................................................................................. 13 3.4 Declaraciones de rutina .......................................................................................... 13 3.5 Llamada de procedimiento ..................................................................................... 14 3.6 Sintaxis ................................................................................................................... 15 4 Tipos de Datos ................................................................................................................. 18 4.1 Tipos de datos sin valor.......................................................................................... 18 4.2 Tipos de datos iguales a (equivalente a)................................................................. 18 4.3 Sintaxis ................................................................................................................... 19 5 Datos ................................................................................................................................. 20 5.1 Alcance de los datos ............................................................................................... 20 5.2 Declaracin de un dato variable ............................................................................. 21 5.3 Declaracin de un dato persistente ......................................................................... 22 5.4 Declaracin de un dato constante ........................................................................... 22 5.5 Datos de inicio ........................................................................................................ 22 5.6 Sintaxis ................................................................................................................... 23 6 Instrucciones.................................................................................................................... 25 6.1 Sintaxis ................................................................................................................... 25 7 Expresiones ...................................................................................................................... 26

Gua de Referencia RAPID

5-1

Caractersticas Bsicas RAPID


Pgina 7.1 Expresiones aritmticas .......................................................................................... 26 7.2 Expresiones lgicas ................................................................................................ 27 7.3 Expresiones de cadena............................................................................................ 27 7.4 Utilizacin de datos en las expresiones.................................................................. 28 7.5 Utilizacin de agregados en las expresiones .......................................................... 29 7.6 Utilizacin de llamadas a funcin en las expresiones ............................................ 29 7.7 Prioridad entre los operadores ................................................................................ 30 7.8 Sintaxis ................................................................................................................... 31 8 Recuperacin de Errores................................................................................................ 34 8.1 Gestores de error .................................................................................................... 34 9 Interrupciones ................................................................................................................. 36 9.1 Procesamiento de las interrupciones....................................................................... 36 9.2 Rutinas de tratamiento de las interrupciones .......................................................... 37 10 Ejecucin hacia atrs .................................................................................................... 38 10.1 Gestores de ejecucin hacia atrs ......................................................................... 38 11 Multitareas..................................................................................................................... 40 11.1 Sincronizacin de las tareas ................................................................................. 41 11.2 Comunicacin entre tareas ................................................................................... 43 11.3 Tipo de tarea......................................................................................................... 44 11.4 Prioridades............................................................................................................ 44 11.5 Tamao de las tareas ............................................................................................ 45 11.6 Recomendacin importante .................................................................................. 46

5-2

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Elementos Bsicos

1 Elementos Bsicos
1.1 Identificadores
Los identificadores sirven para nombrar los mdulos, las rutinas, los datos y las etiquetas; por ejemplo: MODULE nombre_mdulo PROC nombre_rutina() VAR pos nombre_dato; nombre_etiqueta :

El primer carcter de un identificador deber ser siempre una letra. Los dems caracteres podrn ser letras, cifras o subrayado _. La longitud mxima de cualquier identificador es de 16 caracteres, y cada uno de estos caracteres es significante. Los identificadores que son idnticos excepto que estn escritos en letras maysculas o viceversa, sern considerados como un mismo identificador. Palabras reservadas Las palabras que se listan a continuacin son palabras reservadas. Esto significa que tienen un significado particular en lenguaje RAPID y por lo tanto no debern utilizarse como identificadores. Asimismo, hay una serie de nombres predefinidos para los tipos de datos, los datos del sistema, instrucciones y funciones, que no debern utilizarse como identificadores. Vase los captulos 7, 8, 9, 10, 13, 14 y 15 de este manual. AND CONST ELSE ENDIF ENDTRAP FALSE GOTO MOD NOVIEW RAISE STEP TO VAR XOR BACKWARD DEFAULT ELSEIF ENDMODULE ENDWHILE FOR IF MODULE OR READONLY SYSMODULE TRAP VIEWONLY CASE DIV ENDFOR ENDPROC ERROR FROM INOUT NOSTEPIN PERS RETRY TEST TRUE WHILE CONNECT DO ENDFUNC ENDTEST EXIT FUNC LOCAL NOT PROC RETURN THEN TRYNEXT WITH

Gua de Referencia RAPID

5-3

Elementos Bsicos
1.2 Espacios y caracteres de fin de lnea

Caractersticas Bsicas RAPID

El lenguaje de programacin RAPID es un lenguaje sin formatos, lo que significa que los espacios podrn utilizarse en cualquier parte excepto en: - los identificadores - las palabras reservadas - los valores numricos - los comodines. Los caracteres de fin de lnea, los tabuladores y los caracteres de fin de pgina pueden usarse en todos los lugares donde se puede usar un espacio, excepto dentro de los comentarios. Los identificadores, las palabras reservadas y los valores numricos debern estar separados entre s por un espacio, un carcter de fin de lnea, un tabulador, o un carcter de fin de lnea. Los espacios innecesarios y los caracteres de fin de lnea sern automticamente borrados de un programa cargado en la memoria de programa. Por ello, deber recordarse que los programas cargados a partir de un disquete y luego almacenados de nuevo podrn no ser iguales.

1.3 Valores numricos


Un valor numrico puede expresarse de diferentes formas: - como un nmero entero, por ejemplo: 3, -100, 3E2 - un nmero decimal, por ejemplo: 3,5, -0,345, -245E-2 El valor deber situarse dentro de los lmites especificados por el formato estndar ANSI IEEE 754-1985 de coma flotante (simple precisin).

1.4 Valores lgicos


Un valor lgico podr expresarse como TRUE (verdadero) o FALSE (falso).

1.5 Valores de cadena


Un valor de cadena es una secuencia de caracteres (ISO 8859-1) y de caracteres de control (caracteres que no estn incluidos en ISO 8859-1 en la gama de cdigos numricos entre 0-255). Se podrn incluir cdigos de caracteres, pudiendo contener tambin caracteres que no se pueden imprimir (datos binarios). Ejemplo: "Esto es una cadena" "Esta cadena se termina con el cdigo de control BEL \07"

En el caso en que se incluya una barra invertida \ (que indica un cdigo de carcter) o unas comillas de abrir y cerrar, ambos debern escribirse dos veces.

5-4

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


Ejemplo:

Elementos Bsicos

"Esta cadena contiene un caracter "" comillas" "Esta cadena contiene un carcter \\ barra invertida"

1.6 Comentarios
Los comentarios sirven para facilitar la comprensin del programa. Por lo tanto, se debe saber que no afectan de ningn modo el funcionamiento del programa. Un comentario empieza siempre con un signo de exclamacin ! y acaba con un carcter de fin de lnea. Siempre ocupa una lnea entera y no puede estar nunca entre dos mdulos; por ejemplo: ! comentario IF reg1 > 5 THEN ! comentario reg2 := 0; ENDIF

1.7 Comodines
Los comodines se utilizarn para representar de forma temporal ciertas partes del programa que todava no han sido definidas. Un programa que contiene comodines ser correcto desde el punto de vista sintctico y podr ser cargado en la memoria del programa. Comodn <DDN> <RDN> <PAR> <ALT> <DIM> <SMT> <VAR> <EIT> <CSE> <EXP> <ARG> <ID> Representa: una declaracin de datos una declaracin de rutina un parmetro alternativo formal opcional un parmetro formal opcional una definicin de la dimensin formal de la matriz una instruccin una referencia (variable, persistente o parmetro) a datos de objeto la clusula else de una instruccin if la clusula case de una instruccin test una expresin un argumento de llamada de procedimiento un identificador

Gua de Referencia RAPID

5-5

Elementos Bsicos

Caractersticas Bsicas RAPID

1.8 Encabezado de archivo


Un archivo de un programa empieza siempre con el siguiente encabezado: %%% VERSION:1 LANGUAGE:ENGLISH %%% (Versin M94 o M94A del programa) (o cualquier otro idioma: francs o espaol)

1.9 Sintaxis
Identificadores <identificador> ::= <ident> | <ID> <ident> ::= <letra> {<letra> | <dgito> | _} Valores numricos <nmero literal> ::= <ntegro> [ <exponente> ] | <ntegro> . [ <ntegro> ] [ <exponente> ] | [ <ntegro> ] . <ntegro> [ <exponente> ] <ntegro> ::= <dgito> {<dgito>} <exponente> ::= (E | e) [+ | -] <ntegro> Valores lgicos <booleno literal> ::= TRUE | FALSE Cadenas de valores <cadena literal> ::= " {<carcter> | <cdigo carcter> } " <cdigo carcter> ::= \ <dgito hex> <dgito hex> <dgito hex> ::= <dgito> | A | B | C | D | E | F | a | b | c | d | e | f Comentarios <comentario> ::= ! {<carcter> | <tab>} <nuevalnea> Caracteres <carcter> ::= -- ISO 8859-1 -5-6 Gua de Referencia RAPID

Caractersticas Bsicas RAPID


<nuevalnea> ::= -- carcter control nuevalnea-<dgito> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <letra> ::= <letra mayscula> | <letra minscula> <letra mayscula> ::=
A|B|C |D|E|F |G|H|I|J |K |L | M | N | O |P | Q | R | S| T |U|V|W |X|Y|Z |||| | | | ||| | || | | | | 1) | | | | | | | | | | | | 2) | 3)

Elementos Bsicos

<letra minscula> ::=


a|b|c|d|e|f|g|h|i|j |k|l|m|n|o|p|q|r|s|t |u|v|w|x|y |z|| || | | | | | | | | | | | | | | 1) | | | | | | | | | | | | 2) | 3) |

1) Letra eth islandesa. 2) Letra Y con acento agudo 3) Letra thorn islandesa.

Gua de Referencia RAPID

5-7

Mdulos

Caractersticas Bsicas RAPID

2 Mdulos
Una aplicacin est dividida en un programa y mdulos del sistema. El programa est tambin dividido a su vez en mdulos (vase la Figura 1). Aplicacin Programa
Datos programa Rutina principal Mdulo principal Mdulo1 Mdulo2 Mdulo3 Mdulo4 Datos programa Rutina4 Rutina5 Rutina1 Rutina2 Rutina3

Mdulo sistema1 Datos programa Mdulo sistema2 Rutina6 Rutina7 Figura 1 El programa est dividido en mdulos.

2.1 Mdulos del programa


Un mdulo de programa puede estar formado de diferentes datos y rutinas. Cada mdulo o el programa entero, podr ser copiado en un disquete, a la memoria RAM, etc., y viceversa. Uno de los mdulos contiene el procedimiento de entrada, un procedimiento global llamado main (principal). Ejecutar el programa significa, en hechos reales, ejecutar el procedimiento principal. El programa puede incluir varios mdulos, pero slo uno de ellos contiene un procedimiento principal. Un mdulo puede, por ejemplo, definir el interface con el equipo externo o contener datos geomtricos que han sido generados o bien por sistemas CAD o creados in situ mediante la unidad de programacin. Mientras que las pequeas instalaciones suelen estar contenidas en un mdulo, las instalaciones ms complejas pueden tener un mdulo principal que hace referencia a rutinas y/o a datos contenidos en uno o varios otros mdulos. 5-8 Gua de Referencia RAPID

Caractersticas Bsicas RAPID


2.2 Mdulos del sistema

Mdulos

Los mdulos del sistema sirven para la definicin de los datos y rutinas normales, especficos del sistema, como por ejemplo, las herramientas. No sern incluidos cuando se salva un programa, lo cual significa que cualquier actualizacin realizada en un mdulo del sistema afectar a todos los programas que se encuentran en l, o que han sido cargados en una etapa ulterior en la memoria del programa.

2.3 Declaraciones de los mdulos


Una declaracin de mdulo especifica el nombre y los atributos de este mdulo. Dichos atributos slo podrn aadirse de forma off-line, y no mediante la unidad de programacin. A continuacin se ofrecen algunos ejemplos de atributos de un mdulo: Atributo SYSMODULE NOSTEPIN VIEWONLY READONLY NOVIEW Si est especificado: el mdulo ser un mdulo del sistema; de lo contrario, ser un mdulo del programa. no se podr entrar en el mdulo durante una ejecucin paso a paso. el mdulo no podr ser modificado el mdulo no podr ser modificado, pero sus atributos podrn ser eliminados el mdulo no podr ser visualizado, slo ejecutado. Las rutinas globales podrn ser alcanzadas desde otros mdulos y siempre son ejecutadas como NOSTEPIN. Los valores actuales de los datos globales podrn ser alcanzados desde otros mdulos o desde la ventana de datos de la unidad de programacin. Un mdulo o un programa que contiene un mdulo de programa NOVIEW no podr ser salvado. Por esta razn, NOVIEW deber utilizarse con prioridad para los mdulos del sistema. NOVIEW slo podr ser definido off-line desde un PC. MODULE nombre_mdulo (SYSMODULE, VIEWONLY) !declaraciones datos !declaraciones rutinas ENDMODULE

por ejemplo:

Un mdulo no podr tener el mismo nombre que otro mdulo o que una rutina global o que un dato.

2.4 Sintaxis
Declaracin de un mdulo <declaracin mdulo> ::= MODULE <nombre mdulo> [ <lista atributos mdulos> ] <lista declaracin datos> <lista declaracin rutina> ENDMODULE Gua de Referencia RAPID 5-9

Mdulos

Caractersticas Bsicas RAPID

<nombre mdulo> ::= <identificador> <lista atributos mdulos> ::= ( <atributos del mdulo> { , <atributos del mdulo> } ) <atributos del mdulo> ::= | SYSMODULE | NOVIEW | NOSTEPIN | VIEWONLY | READONLY (Nota Si se utilizan dos o ms atributos, debern estar en el orden en que se indica anteriormente, el atributo NOVIEW slo podr ser especificado solo o junto con el atributo SYSMODULE.) <lista declaracin datos> ::= { <declaracin de datos> } <lista declaracin rutina> ::= { <declaracin de rutina> }

5-10

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Rutinas

3 Rutinas
Existen tres tipos de rutinas (subprogramas): los procedimientos, las funciones y las rutinas de tratamiento de interrupciones. - Los procedimientos no devuelven ningn valor y se utilizan en el contexto de las instrucciones. - Las funciones devuelven un valor de un tipo especfico y se utilizan en el contexto de las expresiones. - Las rutinas de tratamiento de interrupciones proporcionan una manera de procesar las interrupciones. Una rutina de tratamiento de interrupciones puede estar asociada a una interrupcin especfica y entonces, en el caso en que dicha interrupcin ocurra en una etapa ulterior, se volver a ejecutar automticamente. No se podr nunca llamar explcitamente una rutina de tratamiento de interrupciones desde el programa.

3.1 Alcance de las rutinas


El alcance de una rutina indica el rea en la que la rutina est accesible. La directiva opcional de una declaracin de una rutina, la clasifica como una rutina local (dentro del mdulo), o como global. Ejemplo: LOCAL PROC rutina_local (... PROC rutina_global (...

Las siguientes pautas referentes al alcance son aplicables a las rutinas (vase el ejemplo de la Figura 2): - El alcance de una rutina global puede incluir cualquier mdulo. - El alcance de una rutina local comprende el mdulo en el que se encuentra. - Dentro de su alcance, una rutina local oculta todas las rutinas globales o datos que tengan el mismo nombre. - Dentro de su alcance, una rutina oculta las instrucciones y rutinas predefinidas o datos que tengan el mismo nombre. Mdulo1
Rutina Local a Rutina Local b Rutina c Rutina d Rutina e

Mdulo2
Rutina Local a Rutina Local e Rutina f Rutina g Rutina h

Figura 2 Ejemplo: Las rutinas siguientes podrn ser llamadas desde la Rutina h: Mdulo1 - Rutina c, d. Mdulo2 - Todas las rutinas.

Una rutina no deber tener el mismo nombre que otra rutina o datos dentro del mismo mdulo. Una rutina global no deber tener el mismo nombre que otra rutina global o que datos globales de otro mdulo. Gua de Referencia RAPID 5-11

Rutinas
3.2 Parmetros

Caractersticas Bsicas RAPID

La lista de parmetros de una declaracin de rutina especifica los argumentos (parmetros actuales) que debern ser suministrados cuando se llama a una rutina. Existen cuatro tipos diferentes de parmetros (en el modo de acceso normal): - Normalmente, un parmetro suele ser utilizado nicamente como una entrada y es procesado como una variable de rutina. El cambio de esta variable no cambiar el argumento correspondiente. - Un parmetro INOUT especifica que el argumento correspondiente debe ser una variable (entero, elemento o componente) o un entero persistente que puede ser cambiado por la rutina. - Un parmetro VAR especifica que el argumento correspondiente debe ser una variable (entero, elemento o componente) que puede ser cambiada por la rutina. - Un parmetro PERS especifica que el argumento correspondiente deber ser un persistente entero que podr ser cambiado por la rutina. Si un parmetro INOUT, VAR o PERS es actualizado, ello significa que el argumento en s ser actualizado, es decir, que se posibilita la utilizacin de argumentos para devolver valores a la rutina que llama. Ejemplo: PROC rutina1 (num par_in, INOUT num par_inout, VAR num par_var,PERS num par_pers) Un parmetro puede ser opcional y puede ser omitido en la lista de argumentos de una llamada de rutina. Un parmetro opcional se reconoce por la barra invertida \ que le precede. Ejemplo: PROC rutina2 (num par_necesario \num par_opcional) No se podr hacer referencia a un valor de un parmetro opcional que es omitido en una llamada de rutina. Esto significa que las llamadas de rutina debern ser comprobadas por si se encuentra algn parmetro opcional antes de poder utilizar un parmetro opcional. Puede ocurrir que dos o ms parmetros opcionales sean mutuamente exclusivos (es decir, declarados para excluirse mutuamente), y esto significa que slo podr haber uno de ellos presente en la llamada de rutina. Esto est indicado por una lnea | situada entre los parmetros correspondientes. Ejemplo: PROC rutina3 (\num excluye1 | num excluye2) El tipo especial, switch, slo podr ser asignado a parmetros opcionales y proporciona una manera de utilizar los argumentos switch, es decir, argumentos que slo estn especificados por los nombres (y no por los valores). Un valor no podr ser transferido a un parmetro switch. La nica forma de utilizar un parmetro switch es comprobar su presencia mediante la funcin predefinida, Present. Ejemplo: PROC rutina4 (\switch on | switch off) ... IF present (off ) THEN ... ENDPROC Las matrices pueden utilizarse como argumentos. El grado de un argumento de matriz deber corresponder con el grado del parmetro formal correspondiente. La dimensin de la matriz ser definida por el parmetro (sealada con un *). As, la dimensin actual depender de la dimensin del argumento correspondiente en una llamada de rutina. Una rutina podr determinar las dimensiones actuales de un parmetro utilizando la funcin

5-12

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


predefinida, Dim. Ejemplo: PROC rutina5 (VAR num palet{*,*})

Rutinas

3.3 Final de una rutina


El final de la ejecucin de un procedimiento est indicado explcitamente mediante una instruccin RETURN o bien puede estar indicado de forma implcita cuando se alcance el final (ENDPROC, BACWARD o ERROR) del procedimiento. La evaluacin de una funcin deber terminarse con una instruccin RETURN. El final de la ejecucin de una rutina de tratamiento de interrupciones est indicado de forma explcita mediante la instruccin RETURN o bien, de forma implcita cuando se alcanza el final (ENDTRAP o ERROR) de esta rutina de tratamiento de interrupciones. La ejecucin continuar a partir del punto en que ocurri la interrupcin.

3.4 Declaraciones de rutina


Una rutina puede comprender declaraciones de rutina (incluyendo parmetros), datos, un cuerpo de instrucciones, un gestor de ejecucin hacia atrs (slo para procedimientos) y un gestor de errores (vase la Figura 3). Las declaraciones de rutina no podrn ser anidadas, es decir, que no se podr declarar una rutina dentro de una rutina. Mdulo
Declaraciones de datos Rutina a Declaracin de rutina Rutina b Declaraciones de datos Rutina c Cuerpo (Instrucciones) Rutina d Gestor de ejecucin atrs Rutina e Gestor de errores Figura 3 Una rutina puede contener declaraciones, datos, un cuerpo de instrucciones, un gestor de ejecucin hacia atrs y un gestor de errores.

Gua de Referencia RAPID

5-13

Rutinas
Declaracin de un procedimiento Ejemplo:

Caractersticas Bsicas RAPID

Multiplicacin de todos los elementos de una matriz numrica por un factor; PROC mulmatriz (VAR num matriz {*}, num factor) FOR ndice FROM 1 TO dim( matriz, 1 ) DO matriz{ndice } := matriz{ndice } * factor; ENDFOR ENDPROC

Declaracin de una funcin Una funcin puede devolver cualquier valor de tipo de dato, pero no un valor de matriz. Ejemplo: Devolver la longitud de un vector; FUNC num veclen (pos vector) RETURN Sqrt(Pow(vector.x,2)+Pow(vector.y,2)+Pow(vector.z,2)); ENDFUNC Declaracin de una rutina de tratamiento de interrupciones Ejemplo: Respuesta a la interrupcin de alimentador vaco; TRAP alim_vaco espera_alim; RETURN; ENDTRAP

3.5 Llamada de procedimiento


Cuando se llama un procedimiento, los argumentos que corresponden a los parmetros del procedimiento debern utilizarse: Los parmetros de mandato debern ser especificados. Adems, debern ser especificados siguiendo el orden correcto. Los argumentos opcionales podrn ser omitidos. Los argumentos condicionales podrn utilizarse para transferir los parmetros de una llamada de rutina a otra. Vase el captulo Utilizacin de llamadas a funcin en las expresiones en la pgina 29 para ms detalles. El nombre del procedimiento podr ser especificado de forma fija utilizando un identificador (early binding) o bien podr ser evaluado durante el tiempo de funcionamiento desde una expresin de tipo cadena (late binding). Incluso si el mtodo early binding debe ser considerado como la forma de llamada de proceso normal, late binding con frecuencia proporciona un cdigo compacto y muy eficaz. Late binding se define colo-

5-14

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Rutinas

cando el signo de porcentaje antes y despus de la cadena que denota el nombre del proceso. Ejemplo: ! early binding test products_id case 1: proc1 x, y, z; case 2: proc2 x, y, z; case 3: .... ! mismo ejemplo utilizando binding % proc + NumToStr(product_id, 0) % x, y, z; .... ! mismo ejemplo otra vez utilizando otra variante de late binding VAR string procname {3} :=[proc1,proc2, proc3]; .... % procname {product_id} % x, y, z; .... Tngase en cuenta que late binding est disponible nicamente para llamadas de procedimientos, y no para llamadas de funcin.

3.6 Sintaxis
Declaracin de una rutina <declaracin rutina> ::= [LOCAL] ( <declaracin procedimiento> | <declaracin funcin> | <declaracin trap> ) | <comentario> | <RDN> Parmetros <lista parmetros> ::= <primera declaracin parmetro>{ <siguiente declaracin parmetro> } <primera declaracin parmetro> ::= <declaracin parmetro> | <declaracin parmetro opcional> | <PAR> <siguiente declaracin parmetro> ::= , <declaracin parmetro> | <declaracin parmetro opcional> | , <PAR>

Gua de Referencia RAPID

5-15

Rutinas

Caractersticas Bsicas RAPID


<declaracin parmetro opcional> ::= \ ( <declaracin parmetro> | <ALT> ) { | ( <declaracin parmetro> | <ALT> ) } <declaracin parmetro> ::= [ VAR | PERS | INOUT] <tipo dato> <identificador> [ {( * { , * } ) | <DIM>]} | switch <identificador> Declaracin de un procedimiento <declaracin procedimiento> ::= PROC <nombre procedimiento> ( [ <lista parmetro> ] ) <lista declaracin datos> <lista instruccin> [ BACKWARD <lista instruccin> ] [ ERROR <lista instruccin> ] ENDPROC <nombre procedimiento> ::= <identificador> <lista declaracin datos> ::= {<declaracin datos>} Declaracin de una funcin <declaracin funcin> ::= FUNC <tipo valor dato> <nombre funcin> ( [ <lista parmetro> ] ) <lista declaracin datos> <lista instruccin> [ ERROR <lista instruccin> ] ENDFUNC <nombre funcin> ::= <identificador> Declaracin de una rutina de tratamiento de interrupciones <declaracin trap> ::= TRAP <nombre trap> <lista declaracin datos> <lista instruccin> [ ERROR <lista instruccin> ] ENDTRAP <nombre trap> ::= <identificador> Llamada de procedimiento <llamada procedimiento> ::= <procedimiento> [ <lista argumento procedimiento>] ; <procedimiento> :: = <identificador> | % <expresin> %

5-16

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Rutinas

<lista argumento procedimiento> ::= <primer argumento procedimiento> { <argumento procedimiento> } <primer argumento procedimiento> ::= <argumento procedimiento requerido> | <argumento procedimiento opcional> | <argumento procedimiento condicional> | <ARG> <argumento procedimiento> ::= , <argumento procedimiento requerido> | <argumento procedimiento opcional> | <argumento procedimiento condicional> | , <ARG> <argumento procedimiento requerido> ::= [ <identificador> := ] <expresin> <argumento procedimiento opcional> ::= \ <identificador> [ := <expresin> ] <argumento procedimiento condicional> ::= \ <identificador> ? ( <parmetro> | <VAR> )

Gua de Referencia RAPID

5-17

Tipos de Datos

Caractersticas Bsicas RAPID

4 Tipos de Datos
Existen dos grupos diferentes de tipos de datos: - El tipo atmico se refiere a los datos cuya definicin no est basada en ningn otro tipo y que no puede ser dividido en partes ni componentes, por ejemplo, num. - El tipo registro es un tipo de dato compuesto formado por componentes ordenados y nombrados, por ejemplo, pos. Un componente puede ser de tipo atmico o registro. Un valor de registro puede ser expresado mediante una representacin agregada; por ejemplo: [ 300, 500, long] Valor agregado registro pos.

Se podr acceder a un componente especfico de un dato registro utilizando el nombre de este componente; por ejemplo: pos1.x := 300; asignacin del componente x de pos1.

4.1 Tipos de datos sin valor


Todo tipo de dato disponible puede ser un tipo de dato valor o bien un tipo de dato sin valor. De forma general, diremos que un tipo de dato valor representa alguna forma de valor. Los datos sin valor no podrn ser utilizados en operaciones que tratan con valores, es decir en: - Inicializacin - Asignacin (:=) - Comprobaciones del tipo Igual a (=) y no igual a (<>) - Instrucciones TEST - Parmetros IN (modo de acceso) en llamadas de rutina - Tipos de datos de funcin (retorno) Los tipos de datos de entrada (signalai, signaldi, signalgi) son del tipo de dato llamado semi valores. Estos datos pueden utilizarse en operaciones que tratan con valores, excepto para la inicializacin y la asignacin. Slo los tipos de datos sin valor o semi valores sern definidos en la descripcin de los tipos de datos.

4.2 Tipos de datos iguales a (equivalente a)


Un tipo de dato equivalente ser definido como siendo igual a otro tipo. Los datos del mismo tipo podrn ser sustituidos uno por otro. Ejemplo: VAR dionum alto:=1; Esto es correcto siempre y VAR num nivel; cuando dionum sea un tipo nivel := alto; equivalente a num. 5-18 Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Tipos de Datos

4.3 Sintaxis
<tipo datos> ::= <identificador>

Gua de Referencia RAPID

5-19

Datos

Caractersticas Bsicas RAPID

5 Datos
Existen tres tipos de datos: variables, persistentes y constantes. - Un dato variable podr tener asignado un valor nuevo durante la ejecucin del programa. - Un dato persistente puede describirse como una variable persistente. Es una variable que tiene la particularidad de que su valor de inicializacin se actualiza a medida que va variando. (Cuando se guarda un programa, el valor de inicializacin de cualquier declaracin persistente refleja el ltimo valor que ha tomado el dato persistente). - Un dato constante representa un valor esttico al que no se le podr asignar ningn valor nuevo. Una declaracin de datos introduce datos asociando un nombre (identificador) a un tipo de dato. Todos los datos utilizados deben ser siempre declarados excepto cuando se trata de datos predefinidos y de variables de bucle.

5.1 Alcance de los datos


El alcance de los datos representa el rea en la que el dato es visible. La directiva opcional de una declaracin de dato clasifica los datos en dos grupos: locales (dentro del mdulo), y en globales. Observar que la directiva local podr utilizarse nicamente al nivel de mdulo, no dentro de una rutina. Ejemplo: LOCAL VAR num variable_local; VAR num variable_global;

Los datos declarados fuera de una rutina se llaman datos de programa. Las siguientes normas relativas al alcance se aplican a los datos de programa: - El alcance de los datos de programa predefinidos o globales pueden incluir cualquier mdulo. - El alcance de los datos de programa locales comprenden el mdulo en el que estn definidos. - Dentro de su alcance, los datos de programa locales ocultan todos los datos globales o rutinas que tengan el mismo nombre (incluyendo las instrucciones, las rutinas predefinidas y los datos). Los datos de programa no debern tener el mismo nombre que otros datos o que una rutina en el mismo mdulo. Los datos de programa globales no debern tener el mismo nombre que otros datos globales o que una rutina en otro mdulo. Un dato persistente no deber tener el mismo nombre que otro dato persistente en el mismo programa. Los datos declarados dentro de una rutina se llaman datos de rutina. Observar que los parmetros de una rutina son procesados como datos de rutina. Las siguientes pautas referidas al alcance se aplican a los datos de rutina: - El alcance de los datos de rutina comprenden la rutina en que se encuentran. - Dentro de su alcance, los datos de rutina ocultan cualquier otra rutina o dato que tenga el mismo nombre. 5-20 Gua de Referencia RAPID

Caractersticas Bsicas RAPID


Vase el ejemplo de la Figura 4. Mdulo1
Datos locales a Datos locales b Datos c Datos d Datos e Rutina h Datos h1 Dato c Figura 4 Ejemplo: Los siguientes datos podrn ser llamados a partir de la rutina e: Mdulo1: Datos c, d. Mdulo2: Datos a, f, g, e1. Los siguientes datos podrn ser llamados a partir de la rutina h: Mdulo1: Datos d. Mdulo2: Datos a, f, g, h1, c.

Datos

Mdulo2
Datos locales a Datos locales f Datos g Rutina local e Datos e1

Los datos de rutina no debern tener el mismo nombre que otros datos o una etiqueta en la misma rutina.

5.2 Declaracin de un dato variable


Un dato variable es introducido por medio de una declaracin de dato variable. Ejemplo: VAR num x;

Se podr atribuir a todo tipo de variables un formato de matriz (del grado 1, 2 o 3) aadiendo una informacin dimensional a la declaracin. Una dimensin es un valor entero mayor que 0. Ejemplo: VAR pos palet{14, 18};

Los datos variables con tipos de valor podrn ser inicializados (es decir, que se les atribuir un valor inicial). La expresin utilizada para inicializar una variable de programa deber ser constante. Observar que el valor de una variable no inicializada podr utilizarse, pero ser no definida, es decir que estar en 0. Ejemplo: VAR cadena nombre_autor := "John Smith"; VAR pos inicio:= [100, 100, 50]; VAR num nummax{10} := [1, 2, 3, 9, 8, 7, 6, 5, 4, 3];

El valor de inicializacin se activa cuando: - se abre el programa, - se ejecuta el programa desde el principio.

Gua de Referencia RAPID

5-21

Datos

Caractersticas Bsicas RAPID

5.3 Declaracin de un dato persistente


Los datos persistentes slo podrn ser declarados en el nivel de mdulo, y por lo tanto, no podrn ser declarados dentro de una rutina, y debern tener un valor inicial. Este valor de inicializacin deber ser un valor simple (sin datos ni operandos), o un agregado simple con componentes que, a su vez, son valores o agregados simples. Ejemplo: PERS pos puntref:= [100.23, 778.55, 1183.98];

Se podr dar un formato de matriz (de grado 1, 2 o 3) a los datos persistentes de cualquier tipo aadiendo informacin dimensional a la declaracin. Una dimensin es un valor entero mayor que 0. Ejemplo: PERS pos pallet {14, 18};

Observar que si el valor de un dato persistente es actualizado, ello provocar automticamente la actualizacin del valor de inicializacin en la declaracin del dato persistente. Ejemplo: PERS num reg1 := 0; ... reg1 := 5; Despus de la ejecucin, el programa tendr el siguiente aspecto: PERS num reg1 := 5; ... reg1 := 5;

5.4 Declaracin de un dato constante


Un dato constante es introducido por medio de una declaracin constante. El valor de una constante no podr ser modificado. Ejemplo: CONST num pi := 3.141592654;

Se podr dar un formato de matriz (del grado 1, 2 o 3) a una constante de cualquier tipo aadiendo una informacin dimensional a la declaracin. Una dimensin es un valor entero mayor que 0. Ejemplo: CONST pos dat {3} := [[614, 778, 1020], [914, 998, 1021], [814, 998, 1022]];

5.5 Datos de inicio


En la siguiente tabla, el usuario podr observar lo que ocurre en diferentes situaciones, por ejemplo, cuando se produce un arranque en fro o en caliente.

5-22

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Datos

Tabla 1
Eventos del sistema Afecta a Constante Variable Persistente Interrupciones ordenadas Rutina de arranque Reini_sist (con caract. de mov.) Archivos Trayectoria Potencia act. (Arranque caliente) Incambiada Incambiada Incambiada Re-ordenadas Abrir programa Cierre o programa nuevo Incambiada Incambiada Incambiada Desaparece Arranque programa (Mover PP a principal) Init Init Init Incambiada Arranque programa (Mover PP a Rutina) Init Init Init Incambiada Arranque programa (Despus de ciclo) Incambiada Incambiada Incambiada Incambiada Arranque programa (Despus de paro) Incambiada Incambiada Incambiada Incambiada Start program (Mover PP a cursor) Incambiada Incambiada Incambiada Incambiada

Init Init Init Desaparece

No ejecutar

Ejecutar*

Ejecutar

Ejecutar

No Ejecutar

No Ejecutar

No Ejecutar

No Ejecutar

Incambiada Recreada despus de potencia desactivada

Se cierra Desaparece

Se cierra Desaparece

Se cierra Desaparece

Se cierra Desaparece

Incambiada Incambiada

Incambiada Incambiada

Incambiada Desaparece

* No ejecutar cuando la memoria est vaca, slamente cuando un programa debe ser primeramente cambiado.

5.6 Sintaxis
Declaracin de un dato <declaracin dato> ::= [LOCAL] ( <declaracin variable> | <declaracin persistente> | <declaracin constante> ) | <comentario> | <DDN> Declaracin de un dato variable <declaracin variable> ::= VAR <tipo datos> <definicin variable> ; <definicin variable> ::= <identificador> [ { <dim> { , <dim> } } ] [ := <expresin constante> ] <dim> ::= <expresin constante>

Gua de Referencia RAPID

5-23

Datos
Declaracin de un dato persistente

Caractersticas Bsicas RAPID

<declaracin persistente> ::= PERS <tipo datos> <definicin persistente> ; <definicin persistente> ::= <identificador> [ { <dim> { , <dim> } } ] := <expresin literal> Declaracin de un dato constante <declaracin constante> ::= CONST <tipo datos> <definicin constante> ; <definicin constante> ::= <identificador> [ { <dim> { , <dim> } } ] := <expresin constante> <dim> ::= <expresin constante>

5-24

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Instrucciones

6 Instrucciones
Las instrucciones son ejecutadas de forma sucesiva a menos que una instruccin de flujo de programa, una interrupcin o un error obligue a continuar la ejecucin en cualquier otro lugar. La mayora de instrucciones terminan con un punto y coma ;. Una etiqueta termina con dos puntos :. Ciertas instrucciones podrn contener otras instrucciones y entonces finalizarn con palabras clave especficas, segn se indica a continuacin: Instruccin IF FOR WHILE TEST Ejemplo: Palabra de finalizacin ENDIF ENDFOR ENDWHILE ENDTEST WHILE ndice < 100 DO . ndice := ndice + 1; ENDWHILE

6.1 Sintaxis
<lista instruccin> ::= { <instruccin> } <instruccin> ::= [<instruccin de acuerdo con el captulo correspondiente de este manual> | <SMT>

Gua de Referencia RAPID

5-25

Expresiones

Caractersticas Bsicas RAPID

7 Expresiones
Una expresin especifica la evaluacin de un valor. Podr utilizarse, por ejemplo: - en una instruccin de asignacin - como una condicin en una instruccin IF - como un argumento en una instruccin ej. a:=3*b/c; ej. IF a>=3 THEN ... ej. WaitTime tiempo;

- como un argumento en una llamada de funcin ej. a:=Abs(3*b);

7.1 Expresiones aritmticas


Una expresin aritmtica sirve para evaluar un valor numrico. Ejemplo: 2*pi*radio

En la Tabla 2 se indican los diferentes tipos de operaciones posibles.


Tabla 2 Operaciones aritmticas
Operador + + + * * suma mantener el signo suma de un vector resta cambio de signo resta de un vector multiplicacin multiplicacin de un vector por un escalar producto de vectores enlace de rotaciones divisin
2)

Operacin

Tipos de operando num + num +num o +pos pos + pos num - num -num o -pos pos - pos num * num num * pos o pos * num

Tipo de resultado num3) igual1)3) pos num3) igual 1)3) pos num3) pos

* * / DIV

pos * pos orient * orient num / num num DIV num num MOD num

pos orient num num num

divisin entera mdulo entero; resto

MOD 2)

1. El resultado ser del mismo tipo que el operando. Si el operando tiene un tipo de datos equivalente, el resultado ser del tipo equivalente de base (num o pos). 2. Operaciones con enteros, por ejemplo: 14 DIV 4=3, 14 MOD 4=2. (No se aceptarn operandos que no sean enteros) 3. Conserva una representacin (exacta) con enteros siempre y cuando los operandos y resultados estn dentro del subconjunto de enteros del tipo num.

5-26

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Expresiones

7.2 Expresiones lgicas


Una expresin lgica sirve para evaluar un valor lgico (VERDADERO/FALSO). Ejemplo: a>5 AND b=3

En la Tabla 3 se indican los diferentes tipos de operaciones posibles.


Tabla 3 Operaciones lgicas
Operador < <= = >= > <> AND XOR OR NOT menor que menor o igual que igual que mayor o igual que mayor que no igual que y exclusivo o o negacin Operacin Tipo de operando num < num num <= num any = any
1) 1)

Tipo de resultado bool bool bool bool bool bool bool bool bool bool

num >= num num > num cualquiera 1) <> cualquiera1) bool AND bool bool XOR bool bool OR bool NOT bool

1) Solamente tipos de datos valor. Los operandos deben ser del mismo tipo. a AND b a Verdadero Falso b Verdadero Verdadero Falso Falso Falso Falso a XOR b a Verdadero Falso b Verdadero Falso Verdadero Falso Verdadero Falso

NOT b a OR b a Verdadero Falso b b Verdadero Verdadero Verdadero Verdadero Falso Falso Verdadero Falso Verdadero Falso

7.3 Expresiones de cadena


Una expresin de cadena sirve para llevar a cabo operaciones en las cadenas. Ejemplo: IN + PUT dar el resultado INPUT

Gua de Referencia RAPID

5-27

Expresiones

Caractersticas Bsicas RAPID

La Tabla 4 muestra la nica operacin posible.


.

Tabla 4 Operacin de cadenas


Operador + Operacin concatenacin de cadena Tipo de operando string + string Tipo de resultado string

7.4 Utilizacin de datos en las expresiones


Un dato variable entero, persistente o constante puede formar parte de una expresin. Ejemplo: Matrices Un dato variable, persistente o constante declarado como una matriz podr hacer referencia a la matriz completa o a un elemento de la misma. Para hacer referencia a un elemento de matriz, se utilizar el nmero de ndice del elemento. El ndice est formado por un valor entero mayor que 0 y no deber exceder la dimensin declarada. El valor de ndice 1 seleccionar el primer elemento. El nmero de elementos de la lista de ndice deber cuadrar con el valor declarado (1, 2 o 3) de la matriz. Ejemplo: VAR num fila {3}; VAR num columna{3}; VAR num valor; . valor := columna{3}; fila := columna; 2*pi*radio

slo un elemento de la matriz todos los elementos de la matriz

Registros Un dato variable, persistente o constante declarados como un registro podrn hacer referencia al registro completo o a un elemento individual. Se har referencia a un componente de un registro utilizando el nombre del componente. Ejemplo: VAR pos reposo; VAR pos pos1; VAR num valor y; .. valory := reposo.y; pos1 := reposo;

slo el componente Y la posicin completa

5-28

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Expresiones

7.5 Utilizacin de agregados en las expresiones


Un agregado se utiliza en los valores de matriz o de registro. Ejemplo: pos := [x, y, 2*x] matpos := [[0, 0, 100], [0,0,z]] agregado de registro pos agregado de matriz pos

Debe ser posible determinar el tipo de dato de un agregado del contexto. El tipo de dato de cada miembro del agregado deber ser igual que el tipo del miembro correspondiente del tipo determinado. Ejemplo: VAR pos p1; p1 :=[1, -100, 12] IF [1, -100, 12] = [a,b,b] THEN pos tipo agregado - determinado por p1 incorrecto porque el tipo de dato de ninguno de los agregados puede ser determinado por el contexto.

7.6 Utilizacin de llamadas a funcin en las expresiones


Una llamada a funcin inicia la evaluacin de una funcin especfica y recibe el valor devuelto por la funcin. Ejemplo: Sin(ngulo)

Los argumentos de una llamada de funcin sirven para transferir datos a (y posiblemente de) la funcin llamada. El tipo de dato de un argumento debe ser el mismo que el tipo del parmetro correspondiente de la funcin. Los argumentos opcionales podrn ser omitidos pero el orden de los argumentos (presentes) deber ser el mismo que el orden de los parmetros formales. Adems, dos o ms argumentos opcionales podrn ser declarados de forma que se excluyan mutuamente; en tal caso, slo uno de ellos deber estar presente en la lista de argumentos. Un argumento requerido (obligatorio) ser separado del argumento precedente por una coma ,. El nombre del parmetro formal podr ser omitido o incluido. Ejemplo: Polar(3.937, 0.785398) dos argumentos requeridos Polar(Dist:=3.937, Angulo:=0.785398) ... utilizacin de nombres

Un argumento opcional deber estar precedido de una barra invertida \ y del nombre del parmetro formal. Un argumento del tipo switch es un argumento un tanto especial; puede ocurrir que no incluya ninguna expresin de argumento. En vez de ello, un argumento de este tipo slo podr ser "presente" o "no presente". Ejemplo: Cosine(45) Cosine(0.785398\Rad) Dist(p2) Dist(\distance:=pos1, p2) un argumento requerido ... y uno tipo switch un argumento requerido ... y uno opcional

Gua de Referencia RAPID

5-29

Expresiones

Caractersticas Bsicas RAPID

Los argumentos condicionales se utilizan para asegurar una propagacin suave de los argumentos opcionales en las cadenas de llamadas de rutinas. Se considera que un argumento condicional est presente cuando el parmetro opcional especificado (de la funcin llamada) est presente, de lo contrario se considera simplemente que ha sido omitido. Observar que el parmetro especificado deber ser opcional. Ejemplo: PROC Read_from_file (iodev File \num Maxtime) .. character:=ReadBin (File \Time?Maxtime); ! Max. tiempo ser utilizado nicamente si est especificado cuando se llama la rutina ! Read_from_file .. ENDPROC

La lista de parmetros de una funcin atribuye un modo de acceso normal a cada parmetro. El modo de acceso normal podr ser in, inout, var o pers: - Un parmetro IN (por defecto) permite que el argumento sea cualquier expresin. La funcin llamada visualiza el parmetro como una constante. - Un parmetro INOUT requiere que el argumento correspondiente sea una variable (entero, elemento de matriz o componente de registro) o un entero persistente. La funcin llamada obtiene un acceso total (lectura/escritura) al argumento. - Un parmetro VAR requiere que el argumento correspondiente sea una variable (entero, elemento de matriz o componente de registro). La funcin llamada obtiene un acceso total (lectura/escritura) al argumento. - Un parmetro PERS requiere que el argumento correspondiente sea un persistente entero. La funcin llamada obtiene un acceso total (lectura/actualizacin) al argumento.

7.7 Prioridad entre los operadores


La prioridad relativa de los operadores determina el orden en que son evaluados. Los parntesis proporcionan una manera de anular la prioridad del operador. La reglas que se indican a continuacin implican la siguiente prioridad del operador: * / DIV MOD +< > <> <= >= = AND XOR OR NOT - ms alta

- ms baja

Un operador con una prioridad alta ser evaluada antes que un operador con una prioridad baja. Los operadores que tengan la misma prioridad sern evaluados de izquierda a derecha.

5-30

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


Ejemplo Expresin a+b+c a+b*c a OR b OR c a AND b OR c AND d a < b AND c < d Orden de evaluacin (a + b) + c a + (b * c) (a OR b) OR c (a AND b) OR (c AND d) (a < b) AND (c < d)

Expresiones

Comentario regla de izquierda a derecha * ms alto que + regla de izquierda a derecha AND ms alto que OR < ms alto que AND

7.8 Sintaxis
Expresiones <expresin> ::= <expr> | <EXP> <expr> ::= [ NOT ] <trmino lgico> { ( OR | XOR ) <trmino lgico> } <trmino lgico> ::= <relacin> { AND <relacin> } <relacin> ::= <expresin simple> [ <relop> <expresin simple> ] <expresin simple> ::= [ <addop> ] <trmino> { <addop> <trmino> } <trmino> ::= <primario> { <mulop> <primario> } <primario> ::= <literal> | <variable> | <persistente> | <constante> | <parmetro> | <llamada funcin> | <agregado> | ( <expr> ) Operadores <relop> ::= < | <= | = | > | >= | <> <addop> ::= + | - <mulop> ::= * | / | DIV | MOD Valores constantes <literal> ::= <num literal> | <cadena literal> | <bool literal>

Gua de Referencia RAPID

5-31

Expresiones
Datos <variable> ::=

Caractersticas Bsicas RAPID

<variable entera> | <elemento variable> | <componente variable> <variable entera> ::= <ident> <elemento variable> ::= <variable entera> { <lista ndice> } <lista ndice> ::= <expr> { , <expr> } <componente variable> ::= <variable> . <nombre componente> <nombre componente> ::= <ident> <persistente> ::= <persistente entera> | <elemento persistente> | <componente persistente> <constante> ::= <constante entera> | <elemento constante> | <componente constante> Agregados <agregado> ::= [ <expr> { , <expr> } ] Llamadas de funcin <llamada funcin> ::= <funcin> ( [ <lista argumento funcin> ] ) <funcin> ::= <ident> <lista argumento funcin> ::= <primer argumento de la funcin> { <argumento de la funcin> } <primer argumento de la funcin> ::= <argumento de la funcin requerida> | <argumento de la funcin opcional> | <argumento de la funcin condicional> <argumento de la funcin> ::= , <argumento de la funcin requerida> | <argumento de la funcin opcional> | <argumento de la funcin condicional> <argumento de la funcin requerida> ::= [ <ident> := ] <expr> <argumento de la funcin opcional> ::= \ <ident> [ := <expr> ] <argumento de la funcin condicional> ::= \ <ident> ?[ := <parmetro> ] Expresiones especiales <expresin constante> ::= <expresin> <expresin literal> ::= <expresin> <expresin condicional> ::= <expresin>

5-32

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


Parmetros <parmetro> ::= <parmetro entero> | <elemento parmetro> | <componente parmetro>

Expresiones

Gua de Referencia RAPID

5-33

Recuperacin de Errores

Caractersticas Bsicas RAPID

8 Recuperacin de Errores
Un error de ejecucin es una situacin anormal, si se considera el proceso de ejecucin de una parte especfica de un programa de trabajo. Un error hace que la continuacin de la ejecucin sea imposible (o por lo menos peligrosa). Desbordamiento y divisin por cero son ejemplos de errores. Los errores son identificados por su nico nmero de error que el robot reconoce siempre. La ocurrencia de un error provoca la suspensin de la ejecucin normal del programa y el control pasa a un gestor de errores. El concepto del gestor de errores hace que sea posible proporcionar una respuesta y posiblemente recuperar la situacin de error que ha aparecido durante la ejecucin del programa. En el caso en que no se pueda proseguir con la ejecucin del programa, el gestor de errores podr por lo menos asegurar que la interrupcin del programa sea suave.

8.1 Gestores de error


Cualquier rutina puede incluir un gestor de errores. El gestor de errores forma realmente parte de la rutina y el alcance de cualquier dato de rutina comprende tambin el gestor de errores de la rutina. En el caso en que ocurra un error durante la ejecucin de la rutina, el control ser transferido a su gestor de errores. Ejemplo: FUNC num divsegur( num x, num y) RETURN x / y; ERROR IF ERRNO = ERR_DIVZERO THEN TPWrite "El nmero no puede ser igual a 0"; RETURN x; ENDIF !All other errors are propagated RAISE ENDFUNC

La variable del sistema ERRNO contiene el cdigo de error del error ms reciente y ser utilizado por el gestor de errores para poder identificarlo. Despus de que se hayan tomado todas las medidas necesarias, el gestor de errores podr: - Proseguir con la ejecucin, empezando por la instruccin en la que se ha producido el error. Esto se llevar a cabo utilizando la instruccin RETRY. En el caso en que esta instruccin vuelva a provocar el mismo error, se producirn hasta cinco recuperaciones del error; despus de ello, la ejecucin se detendr. - Continuar la ejecucin, empezando con la instruccin siguiente a la instruccin en la que ha ocurrido el error. Esto se consigue utilizando la instruccin TRYNEXT. - Devolver el control al que ha llamado la rutina utilizando la instruccin RETURN. En el caso en que la rutina sea una funcin, la instruccin RETURN deber especificar un valor de retorno apropiado. - Propagar el error al que ha llamado la rutina utilizando la instruccin RAISE. Un gestor de errores normalmente debe acabar con la instruccin RAISE o EXIT, a fin

5-34

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Recuperacin de Errores

de hacerse cargo de los errores que no pueden ser procesados. En una cadena de llamadas de rutinas, cada rutina puede tener su propio gestor de errores. En el caso en que ocurra un error en una rutina que no dispone de un gestor de errores (o si el error ha sido propagado de forma explcita mediante la instruccin RAISE) volver a aparecer el mismo error en el punto que se llam la rutina -el error ha sido propagado. Si se alcanza el principio de una cadena de llamada sin encontrar ningn gestor de errores, se llamar el gestor de errores del sistema. El gestor de errores del sistema slo registrar el error y detendr la ejecucin. Si un error es propagado desde una rutina de tratamiento de interrupciones, el gestor de errores del sistema producir inmediatamente el paro de la ejecucin del programa. La recuperacin de errores no estar disponible para las instrucciones que se encuentran en el gestor de ejecucin hacia atrs. Estos tipos de errores debern ser siempre enviados al gestor de errores del sistema. Adems de los errores detectados y generados por el robot, un programa puede, de forma explcita, provocar errores mediante la instruccin RAISE. Esta utilidad podr utilizarse para resolver situaciones muy complejas. Podr utilizarse, por ejemplo, para salir de posiciones profundamente anidadas, es decir, de situaciones en que se han llamado a subrutinas dentro de subrutinas de forma excesiva. Se podr utilizar cualquier nmero de error entre 1 y 99 en una instruccin RAISE. Los errores suscitados de forma explcita son procesados exactamente de la misma forma que los errores provocados por el sistema. Obsrvese, no obstante, que no ser posible resolver o responder a errores que ocurren dentro de una clusula de error. Este tipo de errores son siempre enviados al gestor de errores del sistema.

Gua de Referencia RAPID

5-35

Interrupciones

Caractersticas Bsicas RAPID

9 Interrupciones
Las interrupciones son eventos definidos por el programa, identificados por los nmeros de interrupcin. Una interrupcin se produce cuando se da una condicin de interrupcin. Al contrario de los errores, la ocurrencia de una interrupcin no est directamente relacionada con (sincronizada con) una posicin de una instruccin especfica. La ocurrencia de una interrupcin provoca una suspensin de la ejecucin normal del programa y el control es transferido a una rutina de tratamiento de interrupciones. Aunque el robot reconozca inmediatamente la ocurrencia de una interrupcin (el nico retraso ser debido a la velocidad del controlador), su respuesta -llamada a la rutina de tratamiento de interrupciones correspondiente- slo podr tener lugar en unas posiciones especficas del programa, que son las siguientes: - cuando se entra en la siguiente instruccin, - en cualquier momento durante la ejecucin de una instruccin de espera, por ejemplo, WaitUntil, - en cualquier momento durante la ejecucin de una instruccin de movimiento, por ejemplo, MoveL. Esto suele provocar un retraso que oscila entre 5 y 120 ms entre el reconocimiento de la interrupcin y la respuesta, segn el tipo de movimiento que se est realizando en el momento de la interrupcin. La generacin de interrupciones podr ser inhabilitada y habilitada. Si se inhabilitan las interrupciones, todas las que se produzcan sern puestas en una cola y no aparecern hasta que se vuelvan a habilitar de nuevo. Observar que la cola de interrupciones puede contener ms de una interrupcin en espera. Las interrupciones de una cola aparecern siguiendo un orden FIFO (la primera que entra es la primera que sale). Las interrupciones estn siempre inhabilitadas durante la ejecucin de una rutina de tratamiento de interrupciones. Cuando se realiza una ejecucin paso a paso y cuando el programa ha sido detenido, las interrupciones no sern procesadas. Las interrupciones que se producen bajo estas circunstancias no sern tratadas. El nmero mximo de interrupciones simultneas es de 40.

9.1 Procesamiento de las interrupciones


El robot reconocer una interrupcin gracias a su definicin. La definicin especifica la condicin de la interrupcin y la habilita. Ejemplo: VAR intnum sig1int; . ISignalDI di1, alto, sig1int;

Una interrupcin habilitada puede posteriormente ser inhabilitada (y viceversa). Ejemplo: ISleep sig1int; . IWatch sig1int; inhabilitada habilitada Gua de Referencia RAPID

5-36

Caractersticas Bsicas RAPID

Interrupciones

Cuando se borra una interrupcin desaparece tambin su definicin. No es necesario borrar de forma explcita una definicin de interrupcin, pero no se podr definir una interrupcin nueva a una variable de interrupcin hasta que se haya borrado la definicin precedente. Ejemplo: IDelete sig1int;

9.2 Rutinas de tratamiento de las interrupciones


Las rutinas de tratamiento de las interrupciones proporcionan un medio para procesar las interrupciones. Una rutina de tratamiento de interrupciones podr ser conectada a una interrupcin particular mediante la instruccin CONNECT. En el caso en que ocurra una interrupcin, el control es inmediatamente transferido a la rutina de tratamiento de interrupciones asociadas (siempre y cuando haya una). Si ocurre una interrupcin que no ha sido conectada a ninguna rutina de tratamiento de interrupciones, la interrupcin ser considerada como un error fatal, es decir, que provoca inmediatamente el paro de la ejecucin del programa. Ejemplo: VAR intnum vaco; VAR intnum lleno; .PROC main() . CONNECT vacoWITH etrap; CONNECT lleno WITH ftrap; ISignalDI di1, alto, vaco; ISignalDI di3, alto, lleno; . IDelete vaco; IDelete lleno; ENDPROC TRAP etrap abrir_valv ; RETURN; ENDTRAP TRAP ftrap cerrar_valv; RETURN; ENDTRAP respuesta a la interrupcin alimentador vaco conexin de rutina tratamiento de interrupciones define las interrupciones del alimentador

respuesta a la interrupcin alimentador lleno

Varias interrupciones podrn ser conectadas a la misma rutina de tratamiento de interrupciones. La variable del sistema INTNO contiene el nmero de interrupcin y podr ser utilizada por una rutina de tratamiento de interrupciones para la identificacin de la interrupcin. Despus de haber tomado las medidas necesarias, se podr finalizar una rutina de tratamiento de interrupciones utilizando la instruccin RETURN o cuando se alcanza el final (ENDTRAP o ERROR) de la rutina de tratamiento de interrupciones. La ejecucin continua a partir del lugar en que ocurri la interrupcin. Gua de Referencia RAPID 5-37

Ejecucin hacia atrs

Caractersticas Bsicas RAPID

10 Ejecucin hacia atrs


Un programa puede ser ejecutado hacia atrs, una instruccin a la vez. Las siguientes restricciones generales se aplican a la ejecucin hacia atrs: - Las instrucciones IF, FOR, WHILE y TEST no pueden ser ejecutadas hacia atrs. - No se podr salir hacia atrs de una rutina, cuando se alcance el principio de la rutina.

10.1 Gestores de ejecucin hacia atrs


Los procedimientos pueden contener un gestor de ejecucin hacia atrs que define la ejecucin hacia atrs de una llamada de procedimiento. El gestor de ejecucin hacia atrs constituye realmente una parte del procedimiento y el alcance de cualquier dato de rutina tambin comprende el gestor de ejecucin hacia atrs del procedimiento. Ejemplo: PROC MoveTo () MoveL p1,v500,z10,tool1; MoveL p2,v500,z10,tool1; MoveL p3,v500,z10,tool1; BACKWARD MoveL p3,v100,z10,tool1; MoveL p2,v100,z10,tool1; MoveL p1,v100,z10,tool1; ENDPROC

Cuando el procedimiento es llamado durante una ejecucin hacia adelante, ocurre lo siguiente: PROC MoveTo () MoveL p1,v500,z10,tool1; MoveL p2,v500,z10,tool1; MoveL p3,v500,z10,tool1; BACKWARD MoveL p3,v100,z10,tool1; MoveL p2,v100,z10,tool1; MoveL p1,v100,z10,tool1; ENDPROC

.. MoveTo; ..

5-38

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Ejecucin hacia atrs

Cuando el procedimiento es llamado durante la ejecucin hacia atrs, ocurre lo siguiente:

.. MoveTo; ..

PROC MoveTo () MoveL p1,v500,z10,tool1; MoveL p2,v500,z10,tool1; MoveL p3,v500,z10,tool1; BACKWARD MoveL p3,v100,z10,tool1; MoveL p2,v100,z10,tool1; MoveL p1,v100,z10,tool1; ENDPROC

Las instrucciones que se encuentran en el gestor de errores o en el gestor de ejecucin hacia atrs de una rutina no podrn ser ejecutadas hacia atrs. La ejecucin hacia atrs no podr ser anidada, es decir que dos instrucciones en una cadena de llamada no podrn ser ejecutadas simultneamente hacia atrs. Un procedimiento sin gestor de ejecucin hacia atrs no podr ser ejecutado hacia atrs. Un procedimiento con un gestor de ejecucin hacia atrs vaco ser ejecutado como ninguna operacin.

Gua de Referencia RAPID

5-39

Multitareas

Caractersticas Bsicas RAPID

11 Multitareas
As como los eventos en una clula robot se producen en paralelo, de la misma forma, los programas pueden ejecutarse en paralelo. La funcin Multitarea RAPID sirve para ejecutar programas de una forma pseudo paralela respecto a la ejecucin normal. La ejecucin arranca al activar el sistema y seguir funcionando indefinidamente a menos que ocurra un error en ese programa. Un programa paralelo puede situarse en el primer plano o en el segundo plano respecto a otro programa. Tambin puede estar en el mismo nivel que otro programa. Para utilizar esta funcin, el robot deber ser configurado con una TAREA adicional para cada programa de segundo plano. Se podrn ejecutar hasta 10 tareas diferentes en pseudo paralelo. Cada tarea est formada por un conjunto de mdulos, de la misma forma que el programa normal. Todos los mdulos son locales para cada tarea. Los datos variables y constantes son locales para cada tarea, pero los persistentes no. Un dato persistente con el mismo nombre y del mismo tipo es alcanzable en todas las tareas. En el caso en que dos datos persistentes tengan el mismo nombre y que el tipo o el tamao difieran, se producir un error de tiempo de ejecucin. Una tarea tiene su propia gestin de rutinas de tratamiento de interrupciones y las rutinas de evento se disparan nicamente en sus propios estados del sistema (por ejemplo, Inicio/Paro/Reinicio ....). No obstante la funcin Multitareas RAPID tiene una serie de limitaciones:

5-40

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Multitareas

- No se deber mezclar un programa paralelo con un PLC. El tiempo de respuesta es el mismo que el tiempo de respuesta de interrupcin para cada tarea. Esto se aplica, por supuesto, siempre y cuando la tarea no est situada en segundo plano de otro programa que est funcionando. - Slo se dispondr de una unidad de programacin fsica, por lo tanto, se deber tener en cuenta que la peticin de escritura (TPWrite) de la unidad de programacin no se mezcle en la ventana del usuario comn a todas las tareas. - Cuando se ejecuta una instruccin de espera en el modo manual, aparecer una ventana de simulacin al cabo de 3 segundos. Esto slo ocurrir en la tarea principal. - Las instrucciones de movimiento slo podrn ejecutarse en la tarea principal (Vase la Gua del Usuario - Parmetros del Sistema). - La ejecucin de una tarea quedar interrumpida durante el tiempo en que algunas otras tareas estn accediendo al sistema de archivo, es decir, si el operador elige salvar o abrir un programa, o si el programa en una tarea utiliza las instrucciones de cargar/borrar/leer/escribir. - La unidad de programacin no podr tener acceso a otras tareas que la tarea principal. Por ello, el desarrollo del programa RAPID para otras tareas slo podr llevarse a cabo si se ha cargado el cdigo en la tarea principal o bien en off-line. Para cualquier ajuste de parmetros, vase la Gua del Usuario - Parmetros del Sistema.

11.1 Sincronizacin de las tareas


En muchas aplicaciones una tarea paralela slo podr supervisar una unidad, independientemente de la ejecucin de las dems tareas. En este caso no se necesitar ningn mecanismo de sincronizacin. Sin embargo, existen otras aplicaciones que por ejemplo, requieren el conocimiento de lo que est realizando la tarea principal. Sincronizacin utilizando la interrogacin Esta es la forma ms sencilla de realizar la sincronizacin, pero es muy lenta. Los datos persistentes sern utilizados junto con las instrucciones WaitUntil, IF, WHILE o GOTO. En el caso en que la instruccin WaitUntil sea utilizada, el sistema realizar una interrogacin interna cada 100 ms; no obstante el sistema no ser capaz de interrogar con una frecuencia ms elevada en otras aplicaciones. Ejemplo TAREA 0 MODULE module1

Gua de Referencia RAPID

5-41

Multitareas
PERS BOOL startsync:=FALSE; PROC main() startsync:= TRUE; . ENDPROC ENDMODULE TAREA 1 MODULE module2 PERS BOOL startsync:=FALSE; PROC main() WaitUntil startsync; . ENDPROC ENDMODULE Sincronizacin utilizando una interrupcin

Caractersticas Bsicas RAPID

Para utilizar esta funcin, se deber preparar previamente una conexin enlazada entre dos seales de E/S; una salida enlazada a una entrada. Entonces, se utilizarn las instrucciones SetDO, ISignalDI o WaitDI. Ejemplo En este ejemplo do1 est enlazada con di1. TAREA 0 MODULE module1 PERS BOOL startsync:=FALSE; PROC main() SetDO do1,1; . ENDPROC ENDMODULE TAREA 1 MODULE module2 LOCAL VAR intnum isiint1; PROC main() CONNECT isiint1 WITH isi_trap; ISignalDI di1, 1, isiint1;

5-42

Gua de Referencia RAPID

Caractersticas Bsicas RAPID


WHILE TRUE DO WaitTime 200; ENDWHILE ENDPROC TRAP isi_trap . ENDTRAP ENDMODULE

Multitareas

11.2 Comunicacin entre tareas


Todos los tipos de datos pueden ser enviados entre dos (o ms) tareas con variables persistentes. Una variable persistente es global en todas las tareas. La variable persistente deber ser del mismo tipo y tamao (dimensin de matriz) en todas las tareas que lo declaran. De lo contrario ocurrir un error de tiempo de funcionamiento. Todas las declaraciones debern especificar un valor de inicio a la variable persistente, pero solo ser usado por el primer mdulo cargado con la declaracin. Ejemplo TAREA 0 MODULE module1 PERS BOOL startsync:=FALSE; PERS STRING stringtosend:=; PROC main() stringtosend:=this is a test; startsync:= TRUE ENDPROC ENDMODULE TAREA 1 MODULE module2 PERS BOOL startsync:=FALSE; PERS STRING stringtosend:=; PROC main() WaitUntil startsync; !read string

Gua de Referencia RAPID

5-43

Multitareas
IF stringtosend = this is a test THEN ENDPROC ENDMODULE

Caractersticas Bsicas RAPID

11.3 Tipo de tarea


Cada tarea adicional (no 0) es arrancada en la secuencia de arranque del sistema. En el caso en que la tarea sea del tipo STATIC ser rearrancada en la posicin actual (es decir a partir de donde se encontraba el indicador de punto de arranque del programa (PP) cuando el sistema qued desactivado) pero en cambio, si el tipo est puesto en SEMISTATIC ser rearrancado desde el principio, cada vez que se active el sistema. Tambin se podr activar la tarea en el tipo NORMAL, y entonces tendr el mismo comportamiento que la tarea 0 (la tarea principal, controlando el movimiento del robot). Desde la unidad de programacin no se podr arrancar ninguna tarea excepto la tarea 0, con lo cual, la nica manera de arrancar otra tarea NORMAL ser utilizando el software de comunicacin.

11.4 Prioridades
La forma de ejecutar las tareas por defecto consiste en ejecutar todas las tareas al mismo nivel de forma progresiva, como en una rueda, (es decir, que se da un paso bsico en cada ejemplo). Siempre se podr cambiar la prioridad de una tarea colocando dicha tarea en segundo plano respecto a otra. Entonces, el segundo plano se ejecuta nicamente cuando el primer plano est esperando algn evento o cuando ha detenido su ejecucin (est parado). Un programa robot con instrucciones de movimiento estar parado la mayor parte del tiempo. El ejemplo siguiente describe una situacin en que el sistema tiene 10 tareas. (vase la Figura 5) Cadena en rueda 1: Cadena en rueda 2: Cadena en rueda 3: Cadena en rueda 4: tareas 0, 1, y 8 estn funcionando tareas 0, 3, 4, 5 y 8 estn funcionando tareas 1 y 2 estn paradas tareas 2, 4 y 5 estn funcionando tareas 1, 2, 9 y 10 estn paradas tareas 6 y 7 estn funcionando tareas 0, 1, 2, 3, 4, 5, 8 y 9 estn paradas

5-44

Gua de Referencia RAPID

Caractersticas Bsicas RAPID

Multitareas

cadena 1
tarea 0

cadena 2

tarea 1

tarea 2

tarea 3

tarea 4

tarea 5

tarea 6 tarea 7

cadena 4 cadena 3

tarea 8

tarea 9

Figura 5 Las tareas pueden tener distintas prioridades.

11.5 Tamao de las tareas


El sistema suministra una rea de memoria con una instalacin que depende del tamao. Esta rea es compartida por todas las tareas. Si la memoria de una tarea ha sido definida en los parmetros del sistema, le ser atribuida una cierta cantidad de memoria. Todas las tareas sin especificacin de tamaos compartirn la parte libre del rea proporcionada de la siguiente forma. Si el tamao de la tarea principal no ha sido especificada, se le atribuir el porcentaje del rea libre que est especificada en el parmetro MemoryTask0 (vase Parmetros del Sistema). El resto del rea libre quedar dividida entre las dems tareas de forma equitativa. El valor de una variable persistente quedar almacenada en una parte separada del sistema, y no afectar el rea de la memoria anterior. Vase Parmetros del Sistema.

Gua de Referencia RAPID

5-45

Multitareas

Caractersticas Bsicas RAPID

11.6 Recomendacin importante


En el momento de especificar las prioridades de las tareas, el usuario deber recordar lo siguiente: - Utilizar siempre el mecanismo de interrupcin o bucles con retardos en las tareas de supervisin. De lo contrario, la unidad de programacin no tendr el tiempo suficiente para la interaccin con el usuario. Y en el caso en que las tareas de supervisin estn en primer plano, el sistema no permitir que ninguna otra tarea sea ejecutada en segundo plano.

5-46

Gua de Referencia RAPID

Principios de Movimiento y de E/S


INDICE
Pgina 1 Sistemas de Coordenadas ............................................................................................... 3 1.1 El punto central de la herramienta del robot (TCP)................................................ 3 1.2 Sistemas de coordenadas utilizados para determinar la posicin del TCP............. 3 1.2.1 Sistema de coordenadas de la base .............................................................. 3 1.2.2 Sistema de coordenadas mundo ................................................................... 4 1.2.3 Sistema de coordenadas del usuario............................................................. 5 1.2.4 Sistema de coordenadas del objeto .............................................................. 5 1.2.5 Sistema de coordenadas de desplazamiento................................................. 6 1.2.6 Ejes externos coordinados............................................................................ 7 1.3 Sistemas de coordenadas utilizados para determinar la direccin de la herramienta 8 1.3.1 Sistema de coordenadas de la mueca ......................................................... 9 1.3.2 Sistema de coordenadas de la herramienta .................................................. 9 1.3.3 TCPs estacionarios....................................................................................... 10 1.4 Informacin relacionada ......................................................................................... 12 2 Posicionamiento durante la Ejecucin del Programa.................................................. 13 2.1 Generalidades ......................................................................................................... 13 2.2 Interpolacin de la posicin y orientacin de la herramienta................................. 13 2.2.1 Interpolacin eje a eje .................................................................................. 13 2.2.2 Interpolacin lineal ...................................................................................... 14 2.2.3 Interpolacin circular ................................................................................... 15 2.2.4 Sing Area\Wrist............................................................................................ 16 2.3 Interpolacin de las trayectorias esquina................................................................ 16 2.3.1 Interpolacin eje a eje en las trayectorias esquina ....................................... 17 2.3.2 Interpolacin lineal de una posicin en las trayectorias esquina ................. 18 2.3.3 Interpolacin lineal de la orientacin en las trayectorias esquina................ 19 2.3.4 Interpolacin de los ejes externos en trayectorias esquina .......................... 19 2.3.5 Trayectorias esquina cuando se cambia el mtodo de interpolacin ........... 20 2.3.6 Interpolacin al cambiar de sistema de coordenadas ................................... 20 2.3.7 Trayectorias esquina con zonas que se superponen ..................................... 20 2.3.8 Especificacin del tiempo en la programacin de los puntos de paso......... 21 2.4 Ejes independientes ................................................................................................ 22 2.4.1 Ejecucin del programa ............................................................................... 22 2.4.2 Ejecucin paso a paso .................................................................................. 23 2.4.3 Movimiento.................................................................................................. 23 2.4.4 Area de trabajo ............................................................................................. 23 2.4.5 Velocidad y aceleracin............................................................................... 24 2.4.6 Ejes del robot ............................................................................................... 24 Gua de Referencia RAPID 6-1

Principios de Movimiento y de E/S

2.5 Servo Suave ............................................................................................................ 2.6 Resolucin de la trayectoria ................................................................................... 2.7 Paro y rearranque.................................................................................................... 2.8 Informacin relacionada......................................................................................... Sincronizacin con Instrucciones Lgicas .................................................................... 3.1 Ejecucin secuencial del programa en los puntos de paro ..................................... 3.2 Ejecucin secuencial del programa en los puntos de paso..................................... 3.3 Ejecucin concurrente del programa...................................................................... 3.4 Sincronizacin de la trayectoria ............................................................................. 3.5 Informacin relacionada......................................................................................... Configuracin del Robot ............................................................................................... 4.1 Datos para la configuracin del robot 6400C......................................................... 4.2 Informacin relacionada......................................................................................... Puntos Singulares............................................................................................................ Figura 39 Puntos singulares/IRB 6400C .............................................................. 5.1 Ejecucin del programa con puntos singulares ...................................................... 5.2 Movimiento con puntos singulares......................................................................... 5.3 Informacin relacionada......................................................................................... Principios de E/S ............................................................................................................. 6.1 Caractersticas de las seales.................................................................................. 6.2 Seales del sistema................................................................................................. 6.3 Conexiones enlazadas............................................................................................. 6.4 Limitaciones ........................................................................................................... 6.5 Informacin relacionada.........................................................................................

25 25 26 27 28 28 28 29 31 32 33 35 36 37 38 38 38 39 40 40 41 41 42 43

6-2

Gua de Referencia RAPID

Principios de Movimiento y de E/S

Sistemas de Coordenadas

1 Sistemas de Coordenadas
1.1 El punto central de la herramienta del robot (TCP)
Tanto la posicin del robot como todos sus movimientos se refieren siempre al punto central de la herramienta. Este punto suele estar definido como estando situado en alguna parte de la herramienta, por ejemplo, en la boca de una pistola de aplicacin de adhesivo, en el centro de una pinza o en el extremo de una varilla fija terminada en punta. Se podrn definir varios TCPs (herramientas), pero slo podr haber un TCP activado a la vez. Cuando se registra una posicin, lo que se registra es la posicin del TCP. Es tambin el punto que se mueve a lo largo de una trayectoria especfica, a una velocidad determinada. Si el robot est sujetando una pieza y que est trabajando en una herramienta estacionaria, se deber utilizar un TCP estacionario. Si esa herramienta est activa, la trayectoria y la velocidad programadas se referirn al objeto de trabajo. Vase el apartado sobre TCPs estacionarios de la pgina 10.

1.2 Sistemas de coordenadas utilizados para determinar la posicin del TCP


La posicin de la herramienta (TCP) puede ser especificada en distintos sistemas de coordenadas para facilitar la programacin y el reajuste de los programas. El sistema de coordenadas definido depender de la tarea que debe realizar el robot. Cuando ningn sistema de coordenadas ha sido definido, las posiciones del robot sern definidas en el sistema de coordenadas de la base.

1.2.1 Sistema de coordenadas de la base En una aplicacin simple, la programacin puede realizarse en el sistema de coordenadas de la base; en este ejemplo, el eje z- coincide con el eje 1 del robot (vase la Figura 1).

Z Y X Figura 1 El sistema de coordenadas de la base.

Gua de Referencia RAPID

6-3

Sistemas de Coordenadas

Principios de Movimiento y de E/S

El sistema de coordenadas de la base se sita en la base del robot: - El origen est situado en la interseccin del eje 1 y la superficie de montaje de la base. - El plano xy es el mismo que la superficie de montaje de la base. - El eje x- apunta hacia adelante. - El eje y- apunta hacia la izquierda (desde la perspectiva del robot). - El eje z- apunta hacia arriba.

1.2.2 Sistema de coordenadas mundo Si el robot ha sido montado en el suelo, la programacin en el sistema de coordenadas de la base resultar fcil. Si, de lo contrario, se ha realizado un montaje suspendido del robot, la programacin en el sistema de coordenadas de la base resultar ms difcil debido a que las direcciones de sus ejes no son las mismas que las direcciones principales del rea de trabajo. En estos casos, se recomienda la definicin de un sistema de coordenadas mundo. El sistema de coordenadas mundo coincidir con el sistema de coordenadas de la base si no se ha definido especficamente. En ciertas ocasiones, varios robots pueden estar trabajando dentro de la misma rea de trabajo en una planta. En estos casos, se deber utilizar un sistema de coordenadas mundo comn para permitir que los programas de robot puedan comunicarse entre s. Tambin puede resultar ventajoso utilizar este tipo de coordenadas cuando las posiciones deban referirse a un punto fijo en el taller. Vase el ejemplo de la Figura 2.

Sistema de coordenadas de la base del robot 2

X Y Z Z Y X
Sistema de coordenadas de base del robot 1

z y
Sistema de coordenadas mundo

x
Figura 2 Dos robots (uno de ellos es de montaje suspendido) con un sistema de coordenadas mundo comn.

6-4

Gua de Referencia RAPID

Principios de Movimiento y de E/S


1.2.3 Sistema de coordenadas del usuario

Sistemas de Coordenadas

Un robot puede trabajar con diferentes tiles o superficies de trabajo que tienen distintas posiciones y distintas orientaciones. Se podr definir para cada til un sistema de coordenadas del usuario. En el caso en que todas las posiciones estn almacenadas en coordenadas del objeto, el usuario no tendr que volver a programar si el til debe ser movido o girado. Slo con mover/girar el sistema de coordenadas del usuario en la misma medida en que el til ha sido movido/girado, todas las posiciones programadas seguirn el til y no se requerir ninguna programacin nueva. El sistema de coordenadas del usuario se definir basndose en el sistema de coordenadas mundo (vase la Figura 3).
Z

Sistema de coordenadas del usuario 1

Y X Z
Sistema de coordenadas del usuario 2

Y X

Z Y X
Sistemas de coordenadas de la base

y
Sistema de coordenadas mundo

x
Figura 3 Dos sistemas de coordenadas del usuario que describen la posicin de dos tiles diferentes.

1.2.4 Sistema de coordenadas del objeto El sistema de coordenadas del usuario sirve para utilizar distintos sistemas de coordenadas segn las diferentes tiles o superficies de trabajo. Un til, no obstante, podr incluir varios objetos de trabajo que deben ser procesados o manipulados por el robot. De esta manera, a menudo resultar til definir un sistema de coordenadas para cada objeto, para facilitar el ajuste del programa si se ha movido el objeto o si se desea programar un objeto nuevo, el mismo que el anterior, pero en un lugar diferente. Un sistema de coordenadas referido a un objeto se denomina un sistema de coordenadas del objeto. Este sistema de coordenadas es muy adecuado tambin para la programacin off-line, ya que las posiciones especificadas pueden sacarse directamente de un dibujo del objeto de trabajo. El sistema de coordenadas del objeto tambin podr utilizarse para mover el robot. Gua de Referencia RAPID 6-5

Sistemas de Coordenadas

Principios de Movimiento y de E/S

El sistema de coordenadas del objeto ser definido basndose en el sistema de coordenadas del usuario (vase la Figura 4).

z z
Sistema de coordenadas del usuario

z
Sistema de coordenadas del objeto 1

y y x y x
Sistema de coordenadas del objeto 2

z y
Sistema de coordenadas mundo

x
Figura 4 Dos sistemas de coordenadas del objeto que describen la posicin de dos objetos de trabajo diferentes situados en un mismo soporte.

Las posiciones programadas estn definidas siempre respecto a un sistema de coordenadas del objeto. El hecho de mover/girar el soporte, podr ser compensado moviendo/girando el sistema de coordenadas del usuario. As, no ser necesario cambiar las posiciones programadas ni los sistemas de coordenadas definidos del objeto. Por lo tanto si se mueve/gira el objeto de trabajo, esto podr ser compensado moviendo/girando el sistema de coordenadas del objeto. En el caso en que el sistema de coordenadas del usuario sea mvil, es decir, que se utilicen ejes externos coordinados, entonces el sistema de coordenadas del objeto se mover junto con el sistema de coordenadas del usuario. Esto hace posible que se pueda mover el robot respecto al objeto incluso cuando se est manipulando el banco de trabajo.

1.2.5 Sistema de coordenadas de desplazamiento En algunas ocasiones, se deber realizar la misma trayectoria en lugares diferentes del mismo objeto. Para evitar el volver a programar todas las posiciones cada vez, se definir un sistema de coordenadas, conocido bajo el nombre de sistema de coordenadas de desplazamiento. Este sistema de coordenadas podr utilizarse tambin conjuntamente con las bsquedas, para compensar las diferencias en las posiciones de las piezas individuales. El sistema de coordenadas de desplazamiento se definir basndose en el sistema de coordenadas del objeto (vase la Figura 5). 6-6 Gua de Referencia RAPID

Principios de Movimiento y de E/S

Sistemas de Coordenadas

y y
Posicin original

Posicin nueva

x
Sistema de coordenadas de desplazamiento

x
Sistema de coordenadas del objeto

Figura 5 Si el desplazamiento de programa est activado, todas las posiciones sern desplazadas.

1.2.6 Ejes externos coordinados Coordinacin del sistema de coordenadas del usuario Cuando un objeto de trabajo est situado en una unidad mecnica externa que se mueve mientras el robot est ejecutando una trayectoria definida en el sistema de coordenadas del objeto, se podr definir un sistema de coordenadas mvil del usuario. La posicin y la orientacin del sistema de coordenadas del usuario, en este caso, depender de las rotaciones del eje de la unidad externa. La trayectoria y la velocidad programadas se referirn entonces al objeto de trabajo (vase la Figura 6) y no habr ninguna necesidad de considerar el hecho de que el objeto es movido por la unidad externa. z
Sistema de coordenadas del usuario

y x
eje 2 eje 3

eje 1

z y
Sistema de coordenadas mundo

x
Figura 6 Un sistema de coordenadas del usuario definido para seguir los movimientos de la unidad mecnica externa del eje 3.

Gua de Referencia RAPID

6-7

Sistemas de Coordenadas

Principios de Movimiento y de E/S

Coordinacin del sistema de coordenadas en la base Tambin se podr definir un sistema de coordenadas mvil para la base del robot. Esto ofrece especial inters en el momento de la instalacin cuando se lleva a cabo el montaje del robot en un sistema de desplazamiento lineal o en un montaje en prtico, por ejemplo. La posicin y la orientacin del sistema de coordenadas de la base, como para el sistema de coordenadas mvil del usuario, dependern de los movimientos de la unidad externa. La trayectoria y la velocidad programadas se referirn al sistema de coordenadas del objeto (Figura 7) y por tanto no habr que considerar el hecho de que la base del robot est movida por una unidad externa. Se podr definir al mismo tiempo un sistema de coordenadas del usuario coordinado y un sistema de coordenadas de la base coordinado.

Sistema de coordenadas del usuario Sistema de coordenadas del objeto Sistema de coordenadas mundo Sistema de desplazamiento lineal

Sistema de coordenadas de la base

Figura 7 Interpolacin coordinada con un sistema de desplazamiento lineal que mueve el sistema de coordenadas en la base del robot.

Para ser capaz de calcular el sistema de coordenadas del usuario y el sistema de coordenadas de la base, cuando las unidades implicadas son movidas por una unidad externa, el robot deber conocer: Las posiciones de calibracin del sistema de coordenadas del usuario, y del sistema de coordenadas de la base. Las relaciones entre los ngulos de los ejes externos y la traslacin/rotacin del sistema de coordenadas del usuario y del sistema de coordenadas de la base. Estas relaciones estn definidas en los parmetros del sistema.

1.3 Sistemas de coordenadas utilizados para determinar la direccin de la herramienta


La orientacin de una herramienta en una posicin programada es dada por la orientacin del sistema de coordenadas de la herramienta. El sistema de coordenadas de la herramienta se refiere al sistema de coordenadas de la mueca, definido en la brida de montaje de la mueca del robot. 6-8 Gua de Referencia RAPID

Principios de Movimiento y de E/S


1.3.1 Sistema de coordenadas de la mueca

Sistemas de Coordenadas

En una aplicacin sencilla, se utilizar el sistema de coordenadas de la mueca para definir la orientacin de la herramienta; en este caso, el eje z- coincidir con el eje 6 del robot (vase la Figura 8).

x
Figura 8 El sistema de coordenadas de la mueca.

El sistema de coordenadas de la mueca no podr cambiarse y ser siempre el mismo que la brida de montaje del robot, con las siguientes caractersticas: - El origen est situado en el centro de la brida de montaje (en la superficie de montaje). - El eje x- apunta hacia la direccin opuesta, hacia el orificio de control para el pasador de la brida de montaje. - El eje z- apunta hacia afuera, perpendicularmente a la brida de montaje.

1.3.2 Sistema de coordenadas de la herramienta La herramienta que ha sido montada en la brida de montaje del robot requiere a menudo su propio sistema de coordenadas para permitir la definicin de su TCP, que es el origen del sistema de coordenadas de la herramienta. El sistema de coordenadas de la herramienta podr utilizarse tambin para conseguir las direcciones de movimiento apropiadas al mover el robot. En el caso en que se reemplace o se avere una herramienta, lo que se deber hacer es volver a definir el sistema de coordenadas de la herramienta. Normalmente no se deber cambiar el programa. El TCP (origen) ser seleccionado como el punto en la herramienta que debe ser posicionado correctamente, por ejemplo, la boquilla de una pistola de aplicacin de adhesivo. Los ejes de coordenadas de la herramienta sern definidos como siendo los ejes correspondientes a dicha herramienta.

Gua de Referencia RAPID

6-9

Sistemas de Coordenadas

Principios de Movimiento y de E/S

x x
Extremo

Extremo

z
Figura 9 Sistema de coordenadas de la herramienta, tal como se suele definir para una pistola de soldadura al arco (izquierda) y para una pistola de soldadura por puntos (derecha).

El sistema de coordenadas de la herramienta se definir basndose en el sistema de coordenadas de la mueca (vase la Figura 10). y

Sistema de coordenadas de la herramienta

Figura 10 El sistema de coordenadas de la herramienta ser definido respecto al sistema de coordenadas de la mueca.

1.3.3 TCPs estacionarios Cuando el robot est sujetando una pieza y trabaja con una herramienta estacionaria, se deber utilizar un TCP estacionario. Si esta herramienta est activada, la trayectoria y la velocidad programadas se referirn al objeto de trabajo sujetado por el robot. Esto significa que los sistemas de coordenadas sern invertidos, como se indica en la Figura 11.

6-10

Gua de Referencia RAPID

Principios de Movimiento y de E/S

Sistemas de Coordenadas

Z
Sistema de coordenadas del objeto

Z Y X
Sistema de coordenadas de la herramienta

Z Y X
Sistema de coordenadas de la base

y
Sistema de coordenadas mundo

x
Figura 11 Cuando se utiliza un TCP estacionario, el sistema de coordenadas del objeto suele estar basado en el sistema de coordenadas de la mueca.

En el ejemplo de la Figura 11, no se utiliza ningn sistema de coordenadas del usuario ni ningn sistema de coordenadas de desplazamiento de programa. No obstante, es posible utilizarlos y, en el caso en que lo sean, se referirn el uno al otro, como se indica en la Figura 12. z

y z
Sistema coordenadas del objeto

y z

x y
Sistema de coordenadas de desplazamiento

Sistema de coordenadas del usuario

x y
Sistema de coordenadas de la mueca

x
Figura 12 El sistema de coordenadas de desplazamiento de programa tambin podr utilizarse con un TCP estacionario.

Gua de Referencia RAPID

6-11

1.4 Informacin relacionada


Descrita en: Definicin del sistema de coordenadas mundo Definicin del sistema de coordenadas del usuario Definicin del sistema de coordenadas del objeto Definicin del sistema de coordenadas de la herramienta Gua del Usuario - Parmetros del Sistema Gua del Usuario - Calibracin Tipos de Datos - wobjdata Gua del Usuario - Calibracin Tipos de Datos - wobjdata Gua del Usuario - Calibracin Tipos de Datos - tooldata

Definicin del punto central de la herramienta Gua del Usuario - Calibracin Tipos de Datos - tooldata Definicin del sistema de coordenadas de desplazamiento de programa Movimiento en los diferentes sistemas de coordenadas Gua del Usuario - Calibracin Resumen RAPID - Caractersticas de Movimiento Gua del Usuario - Movimiento

6-12

Gua de Referencia RAPID

Ejecucin del Programa

2 Posicionamiento durante la Ejecucin del Programa


2.1 Generalidades
Durante la ejecucin del programa, las instrucciones de posicionamiento del programa robot controlan todos los movimientos. La tarea principal de las instrucciones de posicionamiento consiste en proporcionar la siguiente informacin sobre la manera de realizar los movimientos: - El punto de destino del movimiento (definido como la posicin del punto central de la herramienta, la orientacin de la herramienta, la configuracin del robot y la posicin de los ejes externos). - El mtodo de interpolacin utilizado para alcanzar el punto de destino, como por ejemplo, la interpolacin eje a eje, la interpolacin lineal o circular. - La velocidad del robot y de los ejes externos. - Los datos de zona (definen como el robot y los ejes externos deben alcanzar el punto de destino). - Los sistemas de coordenadas (herramienta, usuario y objeto) utilizados para el movimiento. Como una alternativa para la definicin de la velocidad del robot y de los ejes externos, se podr programar el tiempo para el movimiento. No obstante, esto deber evitarse en el caso en que se utilice la funcin de oscilacin. En vez de ello, se deber usar las velocidades de la orientacin y de los ejes externos para limitar la velocidad, cuando no se realizan movimientos con el TCP o cuando se realizan movimientos pequeos. En la manipulacin de materiales y en aplicaciones de paletizacin con movimientos frecuentes e intensivos, puede ocurrir que la supervisin del sistema de accionamiento se dispare y detenga el robot a fin de impedir que se produzca un sobrecalentamiento de los motores. Si esto ocurre, el tiempo de ciclo deber ser aumentado ligeramente reduciendo la velocidad programada o la aceleracin.

2.2 Interpolacin de la posicin y orientacin de la herramienta


2.2.1 Interpolacin eje a eje Cuando la precisin de la trayectoria no es un factor demasiado importante, se utilizar este tipo de movimiento para mover la herramienta rpidamente de una posicin a otra. La interpolacin eje a eje permite tambin que un eje pueda moverse de una posicin a otra dentro de su rea de trabajo, en un nico movimiento. Todos los ejes se mueven del punto de arranque al punto de destino a una velocidad de ejes constante (vase la Figura 13).

Gua de Referencia RAPID

6-13

Ejecucin del Programa

Punto de destino Punto de arranque Trayectoria con interpolacin de ejes

Figura 13 La interpolacin eje a eje es con frecuencia la forma ms rpida para moverse entre dos puntos ya que los ejes del robot siguen el camino ms corto entre el punto de arranque y el punto de destino (desde la perspectiva de los ngulos de los ejes).

La velocidad del punto central de la herramienta est expresado en mm/s (en el sistema de coordenadas del objeto). Dado que se trata de una interpolacin eje a eje, la velocidad no ser exactamente igual que el valor programado. Durante la interpolacin, se determinar la velocidad del eje restringido, es decir, el eje que se desplaza ms rpidamente respecto a su velocidad mxima para realizar el movimiento. A continuacin, sern calculadas las velocidades de los ejes restantes de forma que todos los ejes alcancen el punto de destino al mismo tiempo. Todos los ejes son coordinados de forma a obtener una trayectoria que sea independiente de la velocidad. La aceleracin ser automticamente optimizada para conseguir la mxima capacidad del robot. 2.2.2 Interpolacin lineal En una interpolacin lineal, el TCP se desplaza siguiendo una lnea recta a partir del punto de arranque hasta el punto de destino (vase la Figura 14).
e

Punto de arranque
Figura 14 Interpolacin lineal sin reorientacin de la herramienta.

Punto de destino

Para obtener una trayectoria lineal en el sistema de coordenadas del objeto, los ejes del robot debern seguir una trayectoria que no es lineal dentro del rea de trabajo. Cuanto menos lineal sea la configuracin del robot, ms aceleraciones y deceleraciones se requerirn para que el robot se mueva en lnea recta y para obtener la orientacin deseada de la herramienta. En el caso en que la configuracin sea extremadamente no lineal (por ejemplo en la proximidad de puntos singulares del brazo y de la mueca), uno o ms ejes requerirn un par ms elevado de lo que los motores pueden ofrecer. En estos casos, la velocidad de todos los ejes ser automticamente reducida.

6-14

Gua de Referencia RAPID

Ejecucin del Programa


La orientacin de la herramienta permanece constante durante todo el movimiento a menos que se haya programado una reorientacin. Si se reorienta la herramienta, la rotacin se realizar a una velocidad constante. Se podr especificar una velocidad de rotacin mxima (en grados por segundo) al realizar la rotacin de la herramienta. Si la velocidad tiene un valor bajo, la reorientacin ser suave, independientemente de la velocidad definida para el punto central de la herramienta. Si la velocidad tiene un valor elevado, la velocidad de reorientacin ser limitada nicamente por las velocidades mximas de los motores. Mientras que ningn motor no exceda el lmite del par, se mantendr la velocidad definida. Si, de lo contrario, uno de los motores excediera el lmite de corriente, la velocidad de todo el movimiento (con respecto a la posicin y la orientacin) sera reducida. Todos los ejes estn coordinados de forma a obtener una trayectoria independiente de la velocidad. La aceleracin es optimizada automticamente.

2.2.3 Interpolacin circular Para definir una trayectoria circular se debern utilizar tres posiciones programadas que definen un segmento circular. El primer punto que se deber programar es el punto de arranque del segmento circular. El punto siguiente es un punto auxiliar (punto de crculo) que sirve para definir la curvatura del crculo, y el tercer punto indicar el final del crculo (vase la Figura 15). Los tres puntos programados debern ser lo ms equidistantes posibles en el arco circular para conseguir una trayectoria lo ms precisa posible. La orientacin definida para el punto auxiliar sirve para seleccionar entre una curvatura pequea y una curvatura grande para la orientacin del punto de arranque al punto de destino. En el caso en que la orientacin programada sea la misma que la del crculo en el punto de arranque y de destino y que la orientacin en el punto auxiliar sea prcticamente la misma orientacin que la del crculo, la orientacin de la herramienta permanecer constante respecto a la trayectoria. Punto de crculo

Punto de destino

Punto de arranque
Figura 15 Interpolacin circular con una curvatura pequea para una parte del crculo (arco circular) con un punto de arranque, un punto de crculo y un punto de destino.

Gua de Referencia RAPID

6-15

Ejecucin del Programa


No obstante, si la orientacin en el punto auxiliar est programada ms cerca de la orientacin girada de 180, se seleccionar la curvatura alternativa (vase la Figura 16).

Punto de crculo

Punto de destino

Punto de arranque
Figura 16 Una Interpolacin circular con una curvatura grande se obtendr definiendo la orientacin del punto de crculo en la direccin opuesta al punto de arranque.

Mientras que ningn par del motor exceda los lmites mximos permitidos, la herramienta se mover a la velocidad programada en el arco circular. En el caso en que el par de algn motor sea insuficiente, la velocidad ser automticamente reducida en aquellos lugares de la trayectoria circular donde la capacidad del motor sea insuficiente. Todos los ejes estn coordinados de modo a obtener una trayectoria que sea independiente de la velocidad. La aceleracin est optimizada automticamente.

2.2.4 Sing Area\Wrist Durante una ejecucin en proximidad de un punto singular, la interpolacin lineal o circular puede resultar problemtica. En este caso, se recomienda utilizar una interpolacin modificada, lo cual significa que los ejes de la mueca son interpolados eje a eje, y el TCP sigue una trayectoria lineal o circular. La orientacin de la herramienta, no obstante, diferir de algo de la orientacin programada. En el caso de Sing Area\Wrist la orientacin en el punto auxiliar de crculo ser la misma que la programada. No obstante, la herramienta no tendr una direccin constante respecto al plano circular, como en la interpolacin circular normal. Cuando la trayectoria circular pasa por un punto singular, la orientacin de las posiciones programadas algunas veces debern ser modificadas a fin de evitar grandes movimientos de la mueca, que pueden ocurrir si se genera una nueva configuracin completa de la mueca cuando se ejecuta el crculo (ejes 4 y 6 movidos de 180 grados cada uno).

2.3 Interpolacin de las trayectorias esquina


El punto de destino se definir como un punto de paro en vistas a obtener un movimiento punto a punto. Esto significa que el robot y todos los ejes externos se pararn y que no se podr continuar con el posicionamiento hasta que la velocidad de todos los ejes sea cero y que los ejes estn cerca de su destino. 6-16 Gua de Referencia RAPID

Ejecucin del Programa


Los puntos de paso se utilizan para conseguir movimientos continuos junto a las posiciones programadas. De esta forma, el robot evitar las posiciones pasando a una velocidad elevada sin tener la necesidad de reducir la velocidad de forma innecesaria. Un punto de paso generar una trayectoria esquina (trayectoria parablica) ms all del punto programado, lo que normalmente significar que la posicin programada nunca ser alcanzada. El principio y el final de esta trayectoria esquina ser definida determinando una zona alrededor de la posicin programada (vase la Figura 17). La zona para la trayectoria del TCP

Posicin programada

Trayectoria esquina

Figura 17 Un punto de paso genera una trayectoria esquina para evitar el punto programado.

Todos los ejes estn coordinados de forma a obtener una trayectoria que es independiente de la velocidad. La aceleracin est optimizada automticamente.

2.3.1 Interpolacin eje a eje en las trayectorias esquina El tamao de las trayectorias esquina (zonas) para el movimiento del TCP se expresa en mm (vase la Figura 18). Puesto que la interpolacin se realiza eje a eje, el tamao de las zonas (en mm) deber volverse a calcular en ngulos de los ejes (radianes). Este clculo tiene un factor de error (normalmente del 10% como mximo), lo que significa que la zona verdadera se desviar de algo respecto a la programada. Si se han programado diferentes velocidades antes o despus de la posicin, el cambio de una velocidad a otra ser suave y tendr lugar dentro de la trayectoria esquina sin afectar a la trayectoria actual.

Gua de Referencia RAPID

6-17

Ejecucin del Programa


Punto de paso programado Zona

Punto de arranque

Punto de destino

Trayectoria esquina
Figura 18 Durante la interpolacin eje a eje, se generar una trayectoria para evitar el punto de paso.

2.3.2 Interpolacin lineal de una posicin en las trayectorias esquina El tamao de las trayectorias esquina (zonas) para el movimiento del TCP se expresa en mm (vase la Figura 19). Posicin esquina programada Zona

Punto de arranque

Trayectoria esquina

Punto de destino

Figura 19 Durante la interpolacin lineal, se genera una trayectoria esquina para evitar un punto de paso.

Si se han programado diferentes velocidades antes o despus de la posicin esquina, el cambio de una a otra ser suave y tendr lugar dentro de la zona esquina sin afectar la trayectoria actual. En el caso en que la herramienta deba llevar a cabo un proceso (como de soldadura al arco, de aplicacin de adhesivo o de corte por chorro de agua) en la trayectoria esquina, el tamao de la zona debera ser ajustado para conseguir la trayectoria deseada. En el caso en que la forma de la trayectoria esquina parablica no corresponda con la geometra del objeto, las posiciones programadas podrn colocarse ms cerca entre s, posibilitando as la aproximacin a la trayectoria deseada utilizando dos o ms trayectorias parablicas ms pequeas.

6-18

Gua de Referencia RAPID

Ejecucin del Programa


2.3.3 Interpolacin lineal de la orientacin en las trayectorias esquina Se podrn definir zonas para las orientaciones de la herramienta, exactamente de la misma manera que se pueden definir zonas para las posiciones de las herramientas. La zona de la orientacin ser normalmente mayor que la zona de posicin. En este caso, la reorientacin iniciar la interpolacin hacia la orientacin de la posicin siguiente antes de que empiece la trayectoria esquina. La reorientacin ser entonces ms suave y probablemente no ser necesario reducir la velocidad para llevar a cabo la reorientacin. La herramienta ser reorientada de forma que la orientacin al final de la zona ser la misma que si se hubiera programado un punto de paro (vase la Figura 20, 21, 22).

AAAA AAAAAAAAAAAAAAAA A A AAAA AAAAAAAAAAAAAAAAAAA A A AAAA AAAA

AAAA AA AAAAAAAAAAAAAAAA A AAAA AA AAAAAAAAAAAAAAAA A AAAA AAAA

Figura 20 Se han programado tres posiciones con diferentes orientaciones de la herramienta

Figura 21 Si todas las posiciones fueran puntos de paro, la ejecucin del programa tendra este aspecto.

Tamao de la zona Figura 22 Si la posicin central fuera un punto de paso, la ejecucin del programa tendra este aspecto.

La zona de orientacin para el movimiento de la herramienta se suele expresar en mm. De esta forma, el usuario podr determinar directamente el lugar en la trayectoria donde la zona de orientacin empieza y acaba. Si no se mueve la herramienta, el tamao de la zona ser expresada en grados del ngulo de rotacin en lugar de mm de TCP. En el caso en que se hayan programado diferentes velocidades de reorientacin antes o despus del punto de paso, y si las velocidades de reorientacin limitan el movimiento, el cambio de una velocidad a otra tendr lugar de forma suave dentro de la trayectoria esquina.

2.3.4 Interpolacin de los ejes externos en trayectorias esquina Tambin se podrn definir zonas para los ejes externos, de la misma forma que para la orientacin. En el caso en que la zona de ejes externos es mayor que la zona del TCP, la interpolacin de los ejes externos hacia el destino de la posicin programada siguiente, empezar antes de que empiece la trayectoria esquina del TCP. Esto puede

Gua de Referencia RAPID

6-19

Ejecucin del Programa


utilizarse para suavizar los movimientos de los ejes externos de la misma forma que se utiliza la zona de orientacin para suavizar los movimientos de la mueca.

2.3.5 Trayectorias esquina cuando se cambia el mtodo de interpolacin Las trayectorias esquina son tambin generadas cuando se cambia de mtodo de interpolacin. El mtodo de interpolacin utilizado en las trayectorias esquinas actuales ser determinado de forma que el cambio de un mtodo a otro sea lo ms suave posible. Si las zonas de trayectoria esquina para la orientacin y para la posicin no son del mismo tamao, se podr usar ms de un mtodo de interpolacin en la trayectoria esquina (vase la Figura 23). p1 Interpolacin lineal Interpolacin Sing Area/Wrist p4 Interpolacin eje a eje

p2 Interpolacin Sing Area\Wrist Zona de posicin

p3

Zona de orientacin

Figura 23 Interpolacin durante el cambio de mtodo de interpolacin. La interpolacin lineal ha sido programada entre p1 y p2; la interpolacin eje a eje entre p2 y p3; y la interpolacin Sing Area/Wrist entre p3 y p4.

En el caso en que se cambie de interpolacin, de un movimiento de TCP normal a una reorientacin sin un movimiento de TCP o viceversa, no se generar ninguna zona esquina. Sera el mismo caso si la interpolacin se cambiara a o desde un movimiento de eje externo sin un movimiento de TCP.

2.3.6 Interpolacin al cambiar de sistema de coordenadas Cuando hay un cambio de sistema de coordenadas en una trayectoria esquina, por ejemplo, un TCP nuevo o un objeto de trabajo nuevo, se utilizar la interpolacin eje a eje de la trayectoria esquina. Esto es aplicable tambin cuando se pasa de un funcionamiento coordinado a un funcionamiento no coordinado o viceversa.

2.3.7 Trayectorias esquina con zonas que se superponen Si las posiciones programadas se encuentran cerca unas de otras, puede ocurrir que las zonas programadas se superpongan. Para conseguir una trayectoria bien definida y una velocidad ptima en todas circunstancias, el robot reducir el tamao de la zona a la mitad de la distancia de una posicin programada superpuesta a otra (vase la Figura

6-20

Gua de Referencia RAPID

Ejecucin del Programa


24). Siempre se usar el mismo radio de zona para entradas o salidas de una posicin programada, con el objetivo de obtener trayectorias esquina simtricas. Trayectoria generada p2 p1 Zonas de posicin programadas Zonas esquina calculadas por el robot p3

p4

Figura 24 Interpolacin con zonas de posicin que se superponen. Las zonas alrededor de p2 y p3 son mayores que la mitad de la distancia entre p2 y p3. As, el robot reducir el tamao de las zonas para que sean iguales a la mitad de la distancia entre p2 y p3, generando de esta forma trayectorias de esquina simtricas dentro de las zonas.

Puede ocurrir que las zonas de trayectorias esquina de la posicin y de la orientacin se superpongan. En cuanto una de estas zonas de trayectoria esquina se superponen, el tamao de la zona ser reducido (vase la Figura 25). Zona de orientacin programada Zona de orientacin generada p1 p3 Zonas de posicin Zona de orientacin
Figura 25 Interpolacin con zonas de orientacin que se superponen. La zona de orientacin en p2 es mayor que la mitad de la distancia entre p2 y p3 y ser as reducida a la mitad de la distancia entre p2 y p3. Las zonas de posicin no se superponen y por consiguiente no sern reducidas; la zona de orientacin en p3 tampoco ser reducida.

Trayectoria generada p2

p4

2.3.8 Especificacin del tiempo en la programacin de los puntos de paso Ocasionalmente, puede ocurrir que si el movimiento siguiente no ha sido programado en el tiempo, los puntos de paso programados pueden originar un punto de paro. Esto

Gua de Referencia RAPID

6-21

Ejecucin del Programa


podra ocurrir cuando: - Una serie de instrucciones lgicas con tiempos de ejecucin largos han sido programados entre movimientos cortos. - Los puntos se encuentran muy juntos entre s y se utilizan altas velocidades. En el caso en que los puntos de paro constituyan un problema, entonces se deber utilizar una ejecucin concurrente del programa.

2.4 Ejes independientes


Un eje independiente es un eje que se mueve de forma independiente respecto a los dems ejes del sistema robot. Se puede, si se desea, activar un eje en el modo independiente y ms adelante, volver a activarlo en el modo normal. Existe un conjunto especial de instrucciones que sirve para manipular los ejes independientes. El movimiento del eje se encuentra especificado por cuatro instrucciones diferentes de movimiento. Por ejemplo, la instruccin IndCMove provocar el arranque del eje en un movimiento continuo. Entonces, el eje continuar movindose a una velocidad constante (independientemente de lo que est realizando el robot) hasta que se ejecute otra instruccin nueva independiente. Para volver a pasar en el modo normal, se deber usar una instruccin de reinicializacin, IndReset. La instruccin de reinicializacin puede tambin accionar una referencia nueva para el sistema de medida -un tipo de sincronizacin nueva para el eje. Cuando se haya vuelto a cambiar el eje en el modo normal, se podr ejecutarlo como si fuera un eje normal.

2.4.1 Ejecucin del programa La ejecucin de una instruccin Ind_Move, tendr por resultado el cambio inmediato del modo de un eje, pasndolo al modo independiente. Esto se produce incluso si el eje se est moviendo en ese momento, por ejemplo como cuando se ha programado un punto anterior como un punto de paso o cuando se est llevando a cabo simultneamente la ejecucin del programa. En el caso en que se ejecute una instruccin Ind_Move nueva antes de que haya terminado la ltima instruccin, inmediatamente la instruccin nueva se superpondr sobre la instruccin antigua. Si se interrumpe la ejecucin del programa cuando un eje independiente se est moviendo, ste se detendr. Cuando se reanude la ejecucin del programa, el eje independiente volver a arrancar inmediatamente. No se produce ninguna coordinacin activa entre un eje independiente y los dems ejes en el modo normal. Si se produce una prdida de tensin mientras un eje est en el modo independiente, no se podr rearrancar el programa. Aparecer entonces un mensaje de error y se deber arrancar el programa desde el principio.

6-22

Gua de Referencia RAPID

Ejecucin del Programa


Observar que no se podr desactivar una unidad mecnica si uno de sus ejes est en el modo independiente.

2.4.2 Ejecucin paso a paso Durante la ejecucin paso a paso, un eje independiente ser ejecutado nicamente cuando otra instruccin sea ejecutada. El movimiento del eje tambin se ejecutar paso a paso de acuerdo con la ejecucin de otras instrucciones, vase la Figura 26.
.

El eje independiente alcanza la posicin final IndAMove Tiempo de espera 10 MoveL MoveL

10 s
Velocidad del eje independiente Velocidad del eje normal

Figura 26 Ejecucin paso a paso de un eje independiente.

2.4.3 Movimiento Cuando los ejes estn en el modo independiente no podrn ser movidos. Si se realiza un intento de hacer funcionar un eje manualmente, ste no se mover y aparecer visualizado un mensaje de error. Para salir del modo independiente, se deber ejecutar una instruccin IndReset o mover el puntero del programa al men principal.

2.4.4 Area de trabajo El rea de trabajo fsica abarca el movimiento total del eje. El rea de trabajo lgica es el rea utilizada por las instrucciones RAPID y que aparece en la ventana de movimiento. Despus de haber llevado la sincronizacin del sistema (actualizado el cuenta revoluciones), el rea de trabajo fsica y lgica deben coincidir. Mediante la instruccin IndReset se podr mover el rea de trabajo lgica, vase la Figura 27.

Gua de Referencia RAPID

6-23

Ejecucin del Programa


Area de trabajo lgica 0 despus de IndReset

Area de trabajo lgica despus de la sincronizacin 0 0 Area de trabajo fsica

Area de trabajo lgica en el modo independiente


Figura 27 El rea de trabajo lgica puede ser movida, utilizando la instruccin IndReset.

La resolucin de las posiciones disminuye conforme uno se aparta de la posicin lgica 0. Una baja resolucin junto con un ajuste rgido del controlador puede provocar un par inaceptable, ruido y una inestabilidad de controlador. Comprobar el ajuste del controlador y la capacidad del eje junto al lmite del rea de trabajo en el momento de la instalacin. Comprobar tambin si la resolucin de la posicin y la eficacia de la trayectoria son aceptables.

2.4.5 Velocidad y aceleracin En el modo manual a velocidad reducida, la velocidad queda reducida al mismo nivel que si el eje estuviera funcionando como si no fuera independiente. Observar que la funcin IndSpeed\InSpeed no ser VERDADERA (TRUE) si la velocidad del eje es reducida. La instruccin VelSet y la correccin de velocidad expresados en porcentajes en la ventana de produccin sern activas para el movimiento independiente. Observar que la correccin mediante la ventana de produccin inhabilita el valor TRUE de la funcin IndSpeed\InSpeed. En el modo independiente, el valor ms bajo de aceleracin y deceleracin, especificados en el archivo de configuracin sern utilizados para la aceleracin y la deceleracin. Este valor podr ser reducido por el valor rampa en la instruccin (1100%). La instruccin AccSet no afecta a los ejes en el modo independiente.

2.4.6 Ejes del robot Unicamente el eje robot 6 podr usarse como eje independiente. Normalmente slo se usa la instruccin IndReset para este eje. Si se usa el eje 6 como eje independiente, pueden ocurrir problemas de singularidad debido a que se sigue usando la funcin de transformacin de la coordenada normal de 6 ejes. En el caso en que surja un problema, se deber ejecutar el mismo programa con el eje 6 en el modo normal. Modificar los puntos o utilizar las instrucciones SingArea\Wrist o MoveJ. El eje 6 est tambin activo internamente en el clculo de la capacidad de la trayectoria. De ello resulta que un movimiento interno del eje 6 puede reducir la velocidad de los

6-24

Gua de Referencia RAPID

Ejecucin del Programa


dems ejes del sistema. El rea de trabajo independiente del eje 6 est definida con los ejes 4 y 5 en posicin inicial. Si el eje 4 o 5 est fuera de la posicin inicial, el rea de trabajo del eje 6 se mover debido al acoplamiento del engranaje. No obstante, la lectura de la posicin del eje 6 en la unidad de programacin est compensada con las posiciones de los ejes 4 y 5 mediante el acoplamiento del engranaje.

2.5 Servo Suave


En ciertas aplicaciones se requiere un servo que acta como un muelle mecnico. Esto significa que la fuerza del robot en el objeto de trabajo aumentar en funcin de la distancia entre la posicin programada (detrs del objeto de trabajo) y la posicin de contacto (herramienta del robot - objeto de trabajo). La relacin entre la desviacin de la posicin y la fuerza, ser definida mediante un parmetro denominado suavidad. Cuanto ms elevado sea el parmetro de suavidad, mayor ser la desviacin de la posicin para obtener la misma fuerza. El parmetro de suavidad est activado en el programa y es posible cambiar los valores de suavidad en cualquier sitio en el programa. Se podr determinar diferentes valores de suavidad para los distintos ejes. Tambin se podr mezclar ejes que tengan un servo normal con ejes que tengan un servo suave. La activacin y desactivacin del servo suave as como el cambio de los valores de suavidad podr realizarse cuando el robot est en movimiento. Cuando esto ocurre, se realizar un ajuste entre los distintos modos de servo y entre los distintos valores de suavidad para conseguir transiciones suaves. El tiempo de ajuste podr determinarse desde el programa con la rampa de parmetros. Con el parmetro ramp = 1, las transiciones tardarn 0,5 segundos, y de forma general el tiempo de transicin ser ramp x 0,5 en segundos. Obsrvese que la desactivacin del servo suave no deber realizarse cuando haya una fuerza ejercida entre el robot y el objeto de trabajo. Con valores de suavidad altos, existe un riesgo de que las desviaciones de la posicin servo sea tan alto, que los ejes se movern fuera del rea de trabajo del robot.

2.6 Resolucin de la trayectoria


El robot dispone de un parmetro llamado resolucin de trayectoria, que puede utilizarse en instalaciones de robot que tienen ejes externos con tiempos de deceleracin largos. En tales aplicaciones, el mensaje de aviso siguiente 50082 Deceleracin demasiado larga podr aparecer simultneamente con un paro instantneo de los movimientos. En el caso en que esto constituya un problema, el parmetro de resolucin de trayectoria deber ser aumentado hasta que desaparezca el problema. La necesidad de un ajuste del parmetro de resolucin de trayectoria aumentar en los

Gua de Referencia RAPID

6-25

Ejecucin del Programa


siguientes casos: Cuando el valor de aceleracin de un eje externo (y del robot) haya disminuido (Acc Set, primer parmetro) Cuando la rampa de aceleracin haya disminuido (Acc Set, segundo parmetro) Cuando la velocidad haya aumentado Cuando la distancia entre las posiciones programadas cercanas haya disminuido Cuando haya aumentado el nmero de ejes controlados simultneamente Cuando se ha usado una interpolacin coordinada. Para conseguir una alta resolucin de trayectoria tambin a alta velocidad, es importante utilizar un valor de resolucin de trayectoria lo ms bajo posible.

2.7 Paro y rearranque


Un movimiento puede ser detenido de tres maneras diferentes: 1. Con un paro normal el robot se parar en la trayectoria, lo que facilitar el rearranque. 2. Con un paro rpido el robot se parar en menos tiempo que en un paro normal, pero la trayectoria de deceleracin no seguir la trayectoria programada. Este mtodo de paro se utilizar, por ejemplo, para un paro de bsqueda, cuando es importante parar el movimiento en cuanto antes. 3. Con un paro instantneo los frenos mecnicos se utilizan para obtener una menor distancia de deceleracin, que es lo ms corta posible segn se ha especificado por razones de seguridad. La desviacin de la trayectoria ser normalmente mayor para un paro instantneo que para un paro rpido. Despus de un paro (cualquiera de los tipos anteriores) siempre se podr realizar un rearranque en la trayectoria interrumpida. En el caso en que el robot se haya detenido fuera de la trayectoria programada, el rearranque empezar con un regreso a la posicin en la trayectoria, donde el robot debera haber parado. Un rearranque despus de un corte de potencia es equivalente a un rearranque despus de un paro instantneo. Deber tenerse en cuenta que el robot siempre regresar a la trayectoria antes de que el funcionamiento del programa interrumpido sea rearrancado, incluso en los casos en que el corte de potencia ha ocurrido mientras se estaba ejecutando una instruccin lgica. Al rearranque, todos los tiempos son contados desde el principio; por ejemplo, el posicionamiento en el tiempo o una interrupcin en la instruccin WaitTime.

6-26

Gua de Referencia RAPID

Ejecucin del Programa


2.8 Informacin relacionada
Descrita en: Definicin de la velocidad Definicin de las zonas (trayectorias esquina) Instrucciones para la interpolacin eje a eje Instrucciones para la interpolacin lineal Instrucciones para la interpolacin circular Instrucciones para la interpolacin modificada Singularidad Ejecucin concurrente del programa Tipos de Datos - speeddata Tipos de Datos - zonedata Instrucciones - MoveJ Instrucciones - MoveL Instrucciones - MoveC Instrucciones - SingArea Principios de Movimiento y de E/S Singularidad Principios de Movimiento y de E/S Sincronizacin con instrucciones lgicas

Gua de Referencia RAPID

6-27

Instrucciones Lgicas

3 Sincronizacin con Instrucciones Lgicas


Las instrucciones suelen ejecutarse de forma secuencial en el programa. No obstante, las instrucciones lgicas pueden tambin ser ejecutadas en posiciones especficas o durante el movimiento que se est ejecutando. Una instruccin lgica es cualquier instruccin que no genera ningn movimiento del robot o de los ejes externos, como por ejemplo, una instruccin de E/S.

3.1 Ejecucin secuencial del programa en los puntos de paro


Si una instruccin de posicionamiento ha sido programada como un punto de paro, la instruccin siguiente no ser ejecutada hasta que el robot y los ejes externos se hayan parado, es decir, cuando la posicin programada haya sido alcanzada (vase la Figura 28). p1 Ejecucin de SetDO MoveL p1, v1000, fine, herram1; SetDO do1, on; MoveL p2, v1000, z30, herram1;
Figura 28 Una instruccin lgica despus de un punto de paro no se ejecuta antes de haber alcanzado la posicin de destino.

3.2 Ejecucin secuencial del programa en los puntos de paso


Si una instruccin de posicionamiento ha sido programada como un punto de paso, las instrucciones lgicas siguientes se ejecutarn cierto tiempo antes de alcanzar la zona ms grande (para posicin, orientacin o ejes externos). Vase la Figura 29. Estas instrucciones sern ejecutadas a continuacin en orden. Ejecucin de SetDO p1 Zona de posicin MoveL p1, v1000, z30, herram1; SetDO do1, on; MoveL p2, v1000, z30, herram1; DT Zona de orientacin

Figura 29 Una instruccin lgica que sigue un punto de paso se ejecutar antes de alcanzar la zona ms grande.

6-28

Gua de Referencia RAPID

Instrucciones Lgicas
El momento en que se ejecutan estas instrucciones (DT) comprende los siguientes componentes de tiempo: - El tiempo necesario al robot para prever el siguiente movimiento: 0,1 segundos aproximadamente. - El retraso del robot (retraso del servo) en segundos: de 0 a 1,0 segundos en funcin de la velocidad y de la capacidad de deceleracin actual del robot.

3.3 Ejecucin concurrente del programa


La ejecucin concurrente del programa ser programada utilizando el argumento \Conc en la instruccin de posicionamiento. Este argumento sirve para: - Ejecutar una o ms instrucciones lgicas al mismo tiempo que el robot se mueve, para reducir el tiempo de ciclo (por ejemplo, utilizado durante la comunicacin a travs de canales serie). Cuando una instruccin de posicionamiento con el argumento \Conc es ejecutada, las siguientes instrucciones lgicas sern tambin ejecutadas (de forma secuencial) segn lo siguiente: - Si el robot no se mueve o si la instruccin de posicionamiento anterior termina en un punto de paro, las instrucciones lgicas sern ejecutadas en cuanto la instruccin de posicionamiento corriente arranque (al mismo tiempo que el movimiento). Vase la Figura 30. - Si la instruccin de posicionamiento anterior termina en un punto de paso, las instrucciones lgicas se ejecutarn en un tiempo determinado (DT) antes de alcanzar la zona ms grande (para la posicin, orientacin o ejes externos). Vase la Figura 31.

Ejecucin de SetDO p2 p1 MoveL p1, v1000, fine, herram1; MoveL \Conc, p2, v1000, z30, herram1; SetDO do1, on; MoveL p3, v1000, z30, herram1;
Figura 30 En el caso de una ejecucin concurrente de programa despus de un punto de paro, la instruccin de posicionamiento y las instrucciones lgicas siguientes se iniciarn en el mismo momento.

Gua de Referencia RAPID

6-29

Instrucciones Lgicas

Ejecucin de SetDO DT

Zona ms grande

p2 p1

MoveL p1, v1000, z30, herram1; MoveL \Conc, p2, v1000, z30, herram1; SetDO do1, on; MoveL p3, v1000, z30, herram1;
Figura 31 En el caso de una ejecucin concurrente del programa despus de un punto de paso, las instrucciones lgicas iniciarn su ejecucin antes de las instrucciones de posicionamiento que comportan el argumento \Conc.

Las instrucciones que afectan de forma indirecta a los movimientos, como ConfL y SingArea, sern ejecutadas de la misma manera que otras instrucciones lgicas. No obstante, no afectarn a los movimientos ordenados por las instrucciones de posicionamiento anteriores. En el caso en que varias instrucciones de posicionamiento con el argumento \Conc y varias instrucciones lgicas en una secuencia larga estn mezcladas, se aplicar lo siguiente: - Las instrucciones de posicionamiento se ejecutarn despus de la ejecucin de las instrucciones de posicionamiento anteriores. - Las instrucciones lgicas se ejecutarn directamente, segn el orden en que han sido programadas. Esto ocurre al mismo tiempo que el movimiento (vase la Figura 32), lo que significa que las instrucciones lgicas se ejecutarn en una etapa anterior, a la trayectoria en que han sido programadas. - Los movimientos no podrn ser rearrancados despus de que el programa se haya parado, si hay dos o ms instrucciones de posicionamiento en secuencia, en espera de ejecucin.

6-30

Gua de Referencia RAPID

Instrucciones Lgicas

Ejecucin de SetDO y SetAO DT

Zona ms grande

p2 p1

MoveL p1, v1000, z30, herram1; MoveL \Conc, p2, v1000, z30, herram1; SetDO do1, on; MoveL \Conc, p3, v1000, z30, herram1; SetAO ao2, 5;
Figura 32 Si varias instrucciones de posicionamiento con el argumento \Conc han sido programadas de forma secuencial, todas las instrucciones lgicas conectadas se ejecutarn en el mismo momento que la primera posicin.

Durante la ejecucin concurrente del programa, se programarn las siguientes instrucciones para finalizar la secuencia y posteriormente para volver a sincronizar las instrucciones de posicionamiento y las instrucciones lgicas: - una instruccin de posicionamiento sin el argumento \Conc, - la instruccin WaitTime o WaitUntil con el argumento \Inpos.

3.4 Sincronizacin de la trayectoria


Para sincronizar el equipo de proceso (como por ejemplo, en la aplicacin de adhesivo, de pintura y de soldadura al arco) con los movimientos del robot, se podrn generar distintos tipos de seales de sincronizacin de trayectoria. Con lo que llamamos un evento de posiciones, se generar una seal de disparo cuando el robot pasa por una posicin predefinida en la trayectoria. Con un evento de tiempo, se generar una seal en un tiempo predefinido antes de que el robot se pare en una posicin de paro. Adems, el sistema de control tambin manipula eventos de oscilacin, que generan pulsos en ngulos de fase predefinidos de un movimiento de oscilacin. Todas las seales sincronizadas de las posiciones pueden obtenerse tanto antes como

Gua de Referencia RAPID

6-31

Instrucciones Lgicas
despus (tiempo de retraso) del momento en que el robot ha pasado la posicin predefinida. La posicin es dada por una posicin programada y podr ser ajustada como una distancia de trayectoria antes de la posicin programada. La precisin es de 2 ms. Del lado de la trayectoria justo antes de la posicin final (mx. 12 mm a 500 mm/s), la seal podr ser no obstante retrasada de 24 ms. En el caso de ocurrir un corte de potencia mientras se ejecuta una instruccin de disparo, la condicin de disparo es activada a partir del nuevo punto de arranque. Esto a su vez, significa que la seal se activar de forma incorrecta si se usa el argumento \Start. En el caso en que la condicin de disparo ha ocurrido antes del corte de potencia, entonces el evento asociado a posicin ser de nuevo activado.

3.5 Informacin relacionada


Descrita en: Instrucciones de posicionamiento Definicin del tamao de zona Resumen RAPID - Movimiento Tipos de Datos - zonedata

6-32

Gua de Referencia RAPID

4 Configuracin del Robot


Normalmente se puede alcanzar la misma posicin y orientacin de la herramienta del robot de varias formas diferentes, utilizando distintos conjuntos de ngulo de ejes. En esto consisten las configuraciones distintas del robot. Si, por ejemplo, una posicin se encuentra aproximadamente en el medio del rea de trabajo, ciertos robots podrn alcanzar esta posicin desde arriba o desde abajo (vase la Figura 33). Esto podr conseguirse tambin girando la parte delantera del brazo superior del robot (eje 4) boca abajo mientras se gira los ejes 5 y 6 a la posicin y orientacin deseadas (vase la Figura 34).

Figura 33 Dos configuraciones de brazo diferentes utilizadas para alcanzar la misma posicin y orientacin. En una de las configuraciones, los brazos apuntan hacia arriba y para alcanzar la otra configuracin, el eje 1 deber ser girado de 180 grados.

eje 6

eje 4 eje 5

Figura 34 Dos configuraciones de mueca distintas utilizadas para alcanzar la misma posicin y orientacin. En la configuracin en la que la parte delantera del brazo superior apunta hacia arriba (la de abajo), el eje 4 ha sido girado de 180 grados, el eje 5 de 180 grados, y el eje 6 de 180 grados con el objetivo de alcanzar la configuracin en la que la parte delantera del brazo superior apunta hacia abajo (la de arriba).

Gua de Referencia RAPID

6-33

Lo normal es que se desee que el robot alcance la misma configuracin durante la ejecucin del programa que la que se ha programado previamente. Para conseguir esto, se puede pedir al robot que compruebe la configuracin y, en el caso en que no se obtenga la configuracin correcta, la ejecucin del programa se parar. Si no se realiza ninguna comprobacin de la configuracin, el robot podr empezar a mover sus brazos y mueca de forma inesperada, lo que podra provocar una colisin con el equipo perifrico. La configuracin del robot se especifica definiendo los cuadrantes apropiados para los ejes 1, 4 y 6. Si tanto el robot como la posicin programada tienen el mismo cuadrante para estos ejes, significa que la configuracin del robot es correcta.

1 2

0 3

Figura 35 Cuadrante para un ngulo positivo de un eje: int eje ----------------- . 2 angulo

-3 -2

-4 -1

Figura 36 Cuadrante para un ngulo negativo de un eje: int eje ----------------- 1 2 angulo

La comprobacin de la configuracin implica la comparacin de la configuracin de la posicin programada con la del robot. Durante el movimiento lineal, el robot siempre se mover a la configuracin ms cercana posible a la programada. Si, adems, la comprobacin de la configuracin est activada, la ejecucin del programa se detendr en cuanto alguno de los ejes se desve ms que el nmero especificado de grados. Si se utiliza la comprobacin de la configuracin durante el movimiento eje a eje, o durante un movimiento lineal modificado, el robot siempre se mover a la configuracin de ejes programada. Si no se consigue la posicin y orientacin programadas, la ejecucin del programa se detiene antes de iniciar el movimiento. En el caso en que la comprobacin de la configuracin no est activada, el robot se mover a la posicin y orientacin especificadas adoptando la configuracin ms cercana a la programada. Cuando la ejecucin de una posicin programada se para debido a un error de

6-34

Gua de Referencia RAPID

configuracin, el motivo causante podr ser alguno de los siguientes: La posicin ha sido programada off-line con una configuracin incorrecta. Se ha cambiado la herramienta del robot y ello ha obligado el robot a tomar otra configuracin que la programada. La posicin ha sido sometida a una operacin de estructura activa (desplazamiento, usuario, objeto, base). La configuracin correcta en la posicin de destino podr encontrarse posicionando el robot cerca de ella y leyendo la configuracin en la unidad de programacin. En el caso en que los parmetros de configuracin cambien debido a una operacin de estructura activa, se podr desactivar la comprobacin de configuracin.

4.1 Datos para la configuracin del robot 6400C


El IRB 6400C es ligeramente diferente en cuanto a su configuracin. La diferencia radica en la interpretacin del dato de configuracin confdata cf1. cf1 sirve para seleccionar una de las dos posibles configuraciones de los ejes principales (ejes 1, 2 y 3): - cf1 = 0 es la configuracin hacia adelante - cf1 = 1 es la configuracin hacia atrs. La Figura 37 muestra un ejemplo de una configuracin hacia adelante y de una configuracin hacia atrs que dan como resultado la misma posicin y la misma orientacin.

HACIA ADELANTE, cf1 = 0

HACIA ATRAS, cf1 = 1.

Figura 37 Misma posicin y orientacin obtenida con dos configuraciones distintas de ejes principales.

Gua de Referencia RAPID

6-35

La configuracin hacia adelante es la parte delantera del rea de trabajo del robot con el brazo dirigido hacia adelante. La configuracin hacia atrs es la parte trasera del rea de trabajo con el brazo dirigido hacia atrs.

4.2 Informacin relacionada


Descrita en: Definicin de la configuracin del robot Tipos de Datos - confdata Activacin/desactivacin de la comprobacin Resumen RAPID - Caractede la configuracin rsticas de Movimiento

6-36

Gua de Referencia RAPID

5 Puntos Singulares
Ciertas posiciones del rea de trabajo del robot podrn alcanzarse mediante un nmero infinito de configuraciones del robot para el posicionamiento y la orientacin de la herramienta. Estas posiciones, conocidas bajo el nombre de puntos singulares (singularidades), constituyen un problema en el momento de calcular los ngulos del brazo del robot basndose en la posicin y orientacin de la herramienta. De forma general, un robot puede tener dos tipos de singularidades: las singularidades de brazo y las singularidades de mueca. Las singularidades de brazo son siempre configuraciones en que el centro de la mueca (la interseccin de los ejes 4, 5 y 6) termina directamente por encima del eje 1 (vase la Figura 38). Las singularidades de mueca son configuraciones en que el eje 4 y el eje 6 se encuentran en la misma lnea, es decir, que el eje 5 forma un ngulo igual a 0 (vase la Figura 39).
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A AZ A base

Singularidad en la interseccin del centro de la mueca y del eje 1

Centro de rotacin del eje 1

X base Figura 38 La singularidad del brazo se produce cuando el centro de la mueca y el eje 1 se encuentran en un punto de interseccin.

Eje 5 con un ngulo de 0 grados Eje 6 paralelo al eje 4


AAAAAAAAAAAAAAAA AA AAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AA AAAA AA

Figura 39 La singularidad de la mueca se produce cuando el eje 5 es igual a 0 grados.

Gua de Referencia RAPID

6-37

Puntos singulares/IRB 6400C Entre el rea de trabajo del robot, con el brazo dirigido hacia adelante y el brazo dirigido hacia atrs, hay un punto singular situado encima del robot. Tambin hay un punto singular en los lados del robot. Estos puntos contienen una singularidad y tienen limitaciones cinemticas. Una posicin en estos puntos no podr ser especificada como delantera/trasera y slo podr ser alcanzada con MoveAbsJ. Cuando el robot est en un punto singular: - Slo se podr utilizar MoveAbsJ o mover el robot eje a eje.

5.1 Ejecucin del programa con puntos singulares


Durante la interpolacin eje a eje, el robot no tendr nunca ningn problema para pasar por los puntos singulares. Durante la ejecucin de una trayectoria lineal o circular cerca de un punto singular, las velocidades de ciertos ejes (1 y 6/4 y 6) pueden ser muy elevadas. Para no exceder las velocidades mximas de los ejes, se reducir la velocidad de la trayectoria lineal. Las altas velocidades de los ejes pueden reducirse utilizando el modo (Area Sing \Mueca) cuando los ejes de la mueca estn interpolados en ngulos de ejes mientras siguen manteniendo la trayectoria lineal de la herramienta del robot. Un error de orientacin comparado con la interpolacin lineal total ser introducido. Tener en cuenta que la configuracin del robot cambia drsticamente cuando el robot pasa junto a un punto singular con una interpolacin lineal o circular. Para evitar tener que realizar una nueva configuracin, se deber programar la primera posicin en el otro lado de la singularidad con una orientacin que hace que la reconfiguracin es innecesaria. Tener en cuenta tambin que el robot no debe estar en un punto singular cuando slo se mueven los ejes externos, puesto que ello puede provocar que los ejes del robot realicen movimientos incontrolados.

5.2 Movimiento con puntos singulares


Durante la interpolacin eje a eje, el robot no tendr nunca ningn problema para pasar por puntos singulares. Durante la interpolacin lineal, el robot podr pasar por puntos singulares pero a una velocidad reducida.

6-38

Gua de Referencia RAPID

5.3 Informacin relacionada


Descrita en: Control de como debe actuar el robot en la ejecucin de posiciones cerca de puntos singulares Instrucciones - SingArea

Gua de Referencia RAPID

6-39

6 Principios de E/S
El robot suele tener una o ms tarjetas de E/S. Cada una de las tarjetas tiene varios canales digitales y/o analgicos que debern ser conectados a seales lgicas antes de poder ser utilizados. Esta operacin se lleva a cabo en los parmetros del sistema y normalmente ya se ha realizado utilizando nombres estndar antes de la entrega del sistema. Los nombres lgicos debern utilizarse siempre durante la programacin. Se podr conectar un canal fsico a varios nombres lgicos, aunque tambin puede ocurrir que un canal fsico no tenga ninguna conexin lgica (vase la Figura 40).

Canal fsico IN1 IN2 . . . . IN16 tarjeta E/S OUT1 OUT2 . . . . OUT16

Seal lgica do1 alimentador

pinza do2 alimentador2 do16

Figura 40 Para poder utilizar una tarjeta de E/S, se deber atribuir nombres lgicos a sus canales. En el ejemplo de la figura, la salida fsica 2 ha sido conectada a dos nombres lgicos diferentes. Por otra parte, IN16, no tiene ningn nombre lgico atribuido y por lo tanto no podr ser utilizado.

6.1 Caractersticas de las seales


Las caractersticas de una seal dependen del canal fsico utilizado as como de la definicin del canal en los parmetros del sistema. El canal fsico determina los retardos y los niveles de tensin (referirse al documento Especificacin del Producto). Las caractersticas, el filtrado y el escalado entre los valores fsicos y los valores programados estn definidos en los parmetros del sistema. Cuando se conecta la alimentacin al robot, todas las seales pasan a 0, y no se vern afectadas, por los paros de emergencia o eventos similares. Una salida puede activarse en 1 o 0 desde dentro del programa. Esto tambin puede lle-

6-40

Gua de Referencia RAPID

varse a cabo utilizando un retardo en el cambio o un pulso. En el caso en que se ordena para una salida un pulso o un cambio con retardo, la ejecucin del programa continua. El cambio se realizar sin afectar el resto de la ejecucin del programa. Por otra parte, en el caso en que se ordene un nuevo cambio para la misma salida antes de que haya transcurrido el tiempo especificado, el primer cambio ser anulado y no se llevar a cabo (vase la Figura 41). SetDO \SDelay:=1, do1; WaitTime 0.5; PulseDO do1; Valor de la seal 1 Tiempo 0 0.5 1
Figura 41 La instruccin SetDO no se llevar a cabo porque se ha introducido una nueva orden antes de que el tiempo de espera haya transcurrido.

6.2 Seales del sistema


Las seales lgicas podrn ser conectadas entre ellas mediante la utilizacin de unas funciones especiales del sistema. En el caso, por ejemplo, en que se haya conectado una entrada a la funcin del sistema Iniciar, se generar automticamente un arranque de programa en cuanto esta entrada est habilitada. Estas funciones del sistema suelen ser habilitadas nicamente en el modo automtico. Para ms informacin, referirse al Captulo 9, Parmetros del Sistema o al captulo referido a la Instalacin y Puesta en marcha - Comunicacin PLC del Manual de Producto.

6.3 Conexiones enlazadas


Las seales digitales pueden ser conectadas entre ellas de forma que automticamente

Gua de Referencia RAPID

6-41

se influyan mutuamente: - Una seal de salida puede estar conectada a una o ms seales de entrada o de salida. - Una seal de entrada puede estar conectada a una o ms seales de entrada o de salida. - Si la misma seal ha sido utilizada en varias seales enlazadas, el valor de esta seal ser el mismo que el ltimo valor habilitado (cambiado). - Las conexiones enlazables podrn ser interconectadas, en otras palabras, una seal enlazada puede afectar a otra. No debern, por supuesto, estar conectadas de modo a formar un bucle sinfn; por ejemplo, no se deber nunca enlazar la seal di1 a di2 mientras que la seal di2 est enlazada a la seal di1. - En el caso en que haya una seal enlazada a una seal de entrada, la conexin fsica correspondiente ser automticamente inhabilitada. Cualquier cambio en este canal fsico no ser detectado. - Los pulsos o los retrasos no sern transmitidos a las seales enlazadas. - Las condiciones lgicas podrn ser definidas utilizando NOT, AND y OR (Opcin: Funciones avanzadas). Ejemplos: - di2=di1 - di3=di2 - do4=di2 Si di1 cambia, di2, di3 y do4 sern cambiados al valor correspondiente. - do8=do7 - di8=di5 Si do7 se activa a 1, do8 tambin lo ser a 1. Si di5 se activa posteriormente en 0, do8 tambin cambiar (a pesar de que do7 est todava en 1). - do5=di6 y do1 Do5 est activado en 1 si di6 y do1 estn en 1.

6.4 Limitaciones
Se podrn generar pulsos a un mximo de 10 seales a la vez y slo se podrn retardar 20 seales a la vez.

6-42

Gua de Referencia RAPID

6.5 Informacin relacionada


Descrita en: Definicin de las tarjetas y de las seales de E/S Instrucciones de manipulacin de las E/S Manipulacin manual de las E/S Gua del Usuario - Parmetros del Sistema Resumen RAPID - Seales de Entrada y Salida Gua del Usuario - Entradas y Salidas

Gua de Referencia RAPID

6-43

6-44

Gua de Referencia RAPID

bool

Valores lgicos
Bool se usa para los valores lgicos true/false (verdadero/falso).

Descripcin
El valor del tipo de dato bool puede ser TRUE (VERDADERO) o FALSE (FALSO).

Ejemplos
flag1 := TRUE; flag tiene asignado el valor TRUE. VAR bool valor1; VAR num reg1; . valor1:= reg1 > 100; valor1 tiene asignado el valor TRUE si reg1 es mayor que 100; de lo contrario, le ser asignado FALSE. IF valor1 Set do1; La seal do1 ser activada si valor1 es TRUE. valor1 := reg1 > 100; valor2 := reg1 > 20 AND NOT valor1; valor2 tiene asignado el valor TRUE si reg1 se encuentra entre 20 y 100.

Informacin Relacionada
Descrita en: Expresiones lgicas Operaciones que usan valores lgicos Caractersticas Bsicas - Expresiones Caractersticas Bsicas - Expresiones

Gua de Referencia RAPID

7-bool-1

7-bool-2

Gua de Referencia RAPID

clock

Medida del tiempo


Clock se usa para la medida del tiempo. Las funciones clock se utilizan como un cronmetro.

Descripcin
Los datos del tipo clock almacenan una medida del tiempo en segundos y tienen una resolucin de 0,01 segundos.

Ejemplo
VAR clock reloj1; ClkReset reloj1; El reloj, reloj1, es declarado y puesto a cero. Antes de utilizar ClkReset, ClkStart, ClkStop y ClkRead, se deber declarar una variable de tipo de dato clock en el programa.

Limitaciones
El tiempo mximo que puede ser almacenado en una variable de reloj es de aproximadamente 49 das (4.294.967 segundos). Las instrucciones ClkStart, ClkStop y ClkRead indican desbordamiento de reloj en el caso poco probable en que ocurra una. Un reloj deber declararse como un tipo de variable VAR, no como un tipo de variable persistente.

Caractersticas
Clock es un tipo de datos sin valor y no puede ser utilizado en operaciones orientadas a valores.

Gua de Referencia RAPID

7-clock-1

Informacin Relacionada
Descrita en: Resumen de Instrucciones de Fecha y Hora Caractersticas de los datos sin valor Resumen RAPID - Sistema y Hora Caractersticas Bsicas - Tipos de Datos

7-clock-2

Gua de Referencia RAPID

confdata

Datos de configuracin del robot

Confdata sirve para definir las configuraciones de los ejes del robot.

Descripcin
Todas las posiciones del robot estn definidas y almacenadas utilizando coordenadas rectangulares. Al calcular las posiciones de los ejes correspondientes, habr a menudo dos o ms soluciones posibles. Ello significa que el robot es capaz de alcanzar la misma posicin, es decir, que la herramienta es capaz de llegar a la misma posicin y con la misma orientacin, mediante varias posiciones o configuraciones diferentes de los ejes del robot. Para determinar sin ambigedad una de estas configuraciones posibles, ser especificada utilizando tres valores de ejes. Estos valores definen el cuadrante utilizado del eje 1, del eje 4 y del eje 6. Los cuadrantes estn numerados segn el orden 0, 1, 2, etc. (tambin pueden ser negativos). El nmero del cuadrante est conectado al ngulo de unin utilizado del eje. Para cada eje, el cuadrante 0 es el primer cuarto, de 0 a 90, en una direccin positiva partiendo desde la posicin 0; el cuadrante 1 es el cuarto siguiente, de 90 a 180, etc. El cuadrante -1 es el cuarto 0 - (-90), etc. (vase la Figura 1).

-4

-1

-3

-2

Figura 1 Los cuadrantes de configuracin del eje 6.

Datos de configuracin del robot para el modelo 6400C


El modelo IRB 6400C requiere una configuracin ligeramente diferente. La diferencia radica en la interpretacin de los datos de configuracin confdata cf1. cf1 sirve para seleccionar una de las dos posibles configuraciones de ejes principales (ejes 1, 2 y 3): - cf1 = 0 es la configuracin hacia adelante - cf1 = 1 es la configuracin hacia atrs La Figura 2 muestra un ejemplo de una configuracin hacia adelante y de una

Gua de Referencia RAPID

7-confdata-1

configuracin hacia atrs que dan como resultado la misma posicin y orientacin.

HACIA ADELANTE, cf1 = 0

HACIA ATRAS, cf1 = 1.

Figura 2 Se obtiene la misma posicin y orientacin con dos configuraciones de ejes principales diferentes.

La configuracin hacia adelante est formada por la parte delantera del rea de trabajo del robot con el brazo dirigido hacia adelante. La configuracin hacia atrs est formada por la parte trasera del rea de trabajo del robot con el brazo dirigido hacia atrs.

Componentes
cf1 Tipo de dato: num El cuadrante utilizado del eje 1, expresado en un nmero entero negativo o positivo. cf4 Tipo de dato: num El cuadrante utilizado del eje 4, expresado en un nmero entero negativo o positivo. cf6 Tipo de dato: num El cuadrante utilizado del eje 6, expresado en un nmero entero negativo o positivo. cfx Este componente no se utiliza de momento. Tipo de dato: num

7-confdata-2

Gua de Referencia RAPID

Ejemplo
VAR confdata conf15 := [1, -1, 0, 0] La configuracin conf15 del robot est definida de la siguiente manera: - La configuracin del eje 1 del robot es el cuadrante 1, es decir, 90-180o. - La configuracin del eje 4 del robot es el cuadrante -1, es decir, 0-(-90o). - La configuracin del eje 6 del robot es el cuadrante 0, es decir, 0 - 90o.

Estructura
< estructura de confdata > < cf1 de tipo num > < cf4 de tipo num > < cf6 de tipo num > < cfx de tipo num >

Informacin relacionada
Descrita en: Sistemas de coordenadas Manipulacin de los datos de configuracin Principios de Movimiento y de E/S Sistemas de Coordenadas Principios de Movimiento y de E/S Configuracin del Robot

Gua de Referencia RAPID

7-confdata-3

7-confdata-4

Gua de Referencia RAPID

dionum

Valores digitales 0 - 1

Dionum (entradas y salidas digitales numricas) se usa para los valores digitales (0 o 1). Este tipo de datos se utiliza en combinacin con instrucciones y funciones que manipulan seales de entrada y salida digitales.

Descripcin
El tipo de datos dionum representa un valor digital 0 o 1.

Ejemplos
CONST dionum cerrado := 1; Definicin de una constante cerrado con un valor igual a 1. SetDO pinza1, cerrado; La seal pinza1 est activada en cerrado, es decir, en 1.

Manipulacin de errores
Si un argumento del tipo dionum tiene un valor que no es igual ni a 0 ni a 1, se genera un error en la ejecucin del programa.

Caractersticas
Dionum es otro nombre de un tipo de datos num y por consiguiente hereda sus caractersticas.

Gua de Referencia RAPID

7-dionum-1

Informacin Relacionada
Descrita en: Instrucciones resumidas de entradas/salidas Configuracin de las E/S Tipos de datos en general Resumen RAPID Seales de Entradas y Salidas Gua del Usuario - Parmetros del Sistema Caractersticas Bsicas - Tipos de Datos

7-dionum-2

Gua de Referencia RAPID

errnum

Nmero de error

Errnum sirve para describir todos los errores recuperables (que no son fatales) que ocurren durante la ejecucin del programa, como por ejemplo, la divisin por cero.

Descripcin
Cuando el robot detecta un error durante la ejecucin del programa, ste puede ser procesado por el gestor de errores de la rutina. Ejemplos tpicos de este tipo de errores son los valores que son demasiado elevados y la divisin por cero. La variable del sistema ERRNO, del tipo errnum, tiene asignados diferentes valores que dependen de la naturaleza del error. El gestor de errores es capaz de corregir un error leyendo esta variable, para que la ejecucin del programa pueda proseguir de forma adecuada. Utilizando la instruccin RAISE puede crearse un error desde dentro del programa. Este tipo especfico de error puede ser detectado en el gestor de errores especificando un nmero de error como un argumento de RAISE.

Ejemplos
reg1 := reg2 / reg3; . ERROR IF ERRNO = ERR_DIVZERO THEN reg3 := 1; RETRY; ENDIF Si reg3 = 0, el robot detecta un error cuando la divisin tiene lugar. Este error, no obstante, ser detectado y corregido asignando a reg3 el valor 1. Despus de sto, la divisin puede volver a realizarse y la ejecucin del programa puede continuar. CONST errnum error_maq := 1; . IF di1=0 RAISE error_maq; . ERROR IF ERRNO=error_maq RAISE; Se produce un error en una mquina (detectado mediante una seal de entrada di1). Se produce un salto al gestor de error de la rutina que, a su vez, llama al gestor de error de la rutina que ha efectuado la llamada a la rutina actual donde el error podr posiblemente ser corregido. La constante, error_maq, sirve para hacer saber al gestor de error qu tipo de error ha ocurrido.

Gua de Referencia RAPID

7-errnum-1

Datos predefinidos
La variable del sistema ERRNO se utiliza para leer el ltimo error que ha ocurrido. Se pueden utilizar una serie de constantes predefinidas para determinar el tipo de error que ha ocurrido. Nombre ERR_ALRDYCNT Causa del error La variable de interrupcin sigue estando conectada a una rutina de tratamiento de interrupciones Hay ms de un argumento condicional presente para el mismo parmetro El argumento no es una referencia persistente El argumento no es una referencia variable El eje no est activado El eje no es independiente El eje se est moviendo El parmetro eje en la instruccin TestSign y SetCurrRef es incorrecto. Ha ocurrido un error de llamada de procedimiento durante el funcionamiento (late binding) El objetivo CONNECT no es una referencia variable Tiempo excedido cuando se ejecuta una instruccin ReadBin, ReadNum o ReadStr Divisin por cero Nmero mximo de reintentos excedido Se ha realizado un intento de ejecutar una instruccin utilizando un comodn Acceso incorrecto a un archivo No se ha encontrado el archivo No se puede abrir un archivo Ningn valor de retorno Dimensin incorrecta de matriz Intento de utilizacin de una vlvula de orientacin incorrecta (cuaternion) El nmero de error en RAISE est fuera de alcance No hay ms nmeros de interrupciones disponibles El valor entero es demasiado elevado El argumento negativo no est permitido

ERR_ARGDUPCND ERR_ARGNOTPER ERR_ARGNOTVAR ERR_AXIS_ACT ERR_AXIS_IND ERR_AXIS_MOVING ERR_AXIS_PAR ERR_CALLPROC ERR_CNTOTVAR ERR_DEV_MAXTIME ERR_DIVZERO ERR_EXCRTYMAX ERR_EXECPHR ERR_FILEACC ERR_FILNOTFND ERR_FILEOPEN ERR_FNCNORET ERR_ILLDIM ERR_ILLQUAT ERR_ILLRAISE ERR_INOMAX ERR_MAXINTVAL ERR_NEGARG

7-errnum-2

Gua de Referencia RAPID

ERR_NOTARR ERR_NOTEQDIM ERR_NOTINTVAL ERR_NOTPRES

ERR_OUTOFBND ERR_REFUNKDAT ERR_REFUNKFUN ERR_REFUNKPRC ERR_REFUNKTRP ERR_PATHDIST ERR_RCVDATA ERR_SC_WRITE ERR_STEP_PAR ERR_STRTOOLNG ERR_TP_DIBREAK ERR_TP_MAXTIME ERR_UNIT_PAR ERR_UNKINO ERR_UNLOAD ERR_WAIT_MAXTIME ERR_WHLSEARCH

El dato no es una matriz La dimensin de matriz utilizada al llamar la rutina no coincide con sus parmetros No es un valor entero Se ha utilizado un parmetro a pesar del hecho de que el argumento correspondiente no ha sido utilizado a la llamada de rutina El ndice de matriz se encuentra fuera de los lmites permitidos Referencia a datos de objetos enteros desconocidos Referencia a una funcin desconocida Referencia a un procedimiento desconocido Referencia a una rutina de tratamiento de interrupciones desconocida Distancia de regreso demasiado grande para la instruccin StartMove Se ha realizado un intento de leer un dato no numrico xxx con ReadNum Error producido cuando se ha realizado un envo al computador externo Paso del parmetro en n SetCurrRef es incorrecto La cadena es demasiado larga Una instruccin TPRead ha sido interrumpida por una entrada digital Tiempo excedido cuando se ejecuta una instruccin TPRead El parmetro Unidad_Mec en TestSign y SetCurrRef es incorrecto Nmero de interrupcin desconocido Error cargado Tiempo excedido cuando se ejecuta una instruccin WaitDI o WaitUntil Sin paro de bsqueda

Caractersticas
Errnum es un nombre equivalente de un tipo de dato num y por consiguiente hereda sus caractersticas.

Gua de Referencia RAPID

7-errnum-3

Informacin relacionada
Descrita en: Recuperacin de errores Resumen RAPID - Recuperacin de errores Caractersticas Bsicas - Recuperacin de errores Caractersticas Bsicas - Tipos de Datos

Tipos de datos en general, y otros equivalentes

7-errnum-4

Gua de Referencia RAPID

extjoint

Posicin de los ejes externos

Extjoint sirve para definir las posiciones de los ejes externos, de los posicionadores o de los manipuladores de piezas de trabajo.

Descripcin
El robot puede controlar hasta seis ejes externos adems de sus seis ejes internos, es decir, un total de doce ejes. Los seis ejes externos son denominados de forma lgica: a, b, c, d, e, f. Cada uno de estos ejes lgicos podr ser conectado a un eje fsico y, en este caso, la conexin ser definida en los parmetros del sistema. Los datos del tipo extjoint sirven para almacenar los valores de posicin para cada uno de los ejes lgicos de a - f. La posicin de cada eje lgico conectado a un eje fsico ser definida segn las siguientes instrucciones: - Para los ejes rotativos la posicin ser definida como la rotacin en grados a partir de la posicin de calibracin. - Para los ejes lineales la posicin ser definida como la distancia en mm a partir de la posicin de calibracin. En el caso en que un eje lgico no est conectado a un eje fsico, el valor 9E9 ser utilizado como un valor de posicin, indicando que el eje no est conectado. En el momento de la ejecucin, los datos de posicin de cada eje sern comprobados y tambin se comprobar si el eje correspondiente est conectado o no. Si el valor de posicin almacenado no corresponde con la conexin del eje actual, se aplicar lo siguiente: - Si la posicin no ha sido definida en los datos de posicin (el valor es 9E9), el valor ser ignorado aunque el eje est conectado y no activado. Pero si el eje est activado, se producir un error. - Si la posicin ha sido definida en los datos de posicin, aunque el eje no est conectado, no se tendr en cuenta el valor. En el caso en que se utilice un offset de eje externo (instruccin EOffsOn o EOffsSet), las posiciones sern especificadas en el sistema de coordenadas ExtOffs.

Componentes
eax_a (eje externo a) Tipo de dato: num

La posicin del eje lgico externo a, expresado en grados o en mm (segn el tipo de eje utilizado).

Gua de Referencia RAPID

7-extjoint-1

eax_b (eje externo b)

Tipo de dato: num

La posicin del eje lgico externo b, expresado en grados o en mm (segn el tipo de eje utilizado). ... eax_f (eje externo f) Tipo de dato: num

La posicin del eje lgico externo f, expresado en grados o en mm (segn el tipo de eje utilizado).

Ejemplo
VAR extjoint posex10 := [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ; La posicin de un posicionador externo, posex10, ser definida segn lo siguiente: - La posicin del eje lgico externo a es 11, expresado en grados o mm (segn el tipo de eje utilizado). - La posicin del eje lgico externo b es 12.3, expresado en grados o en mm (segn el tipo de eje utilizado). - Los ejes del c al f no han sido definidos.

Estructura
< dataobject de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

Informacin relacionada
Descrito en: Datos de posicin Sistema de coordenadas ExtOffs Tipos de datos - robtarget Instrucciones - EOffsOn

7-extjoint-2

Gua de Referencia RAPID

intnum

Identificacin de la interrupcin
Intnum (interrupt numeric) sirve para identificar una interrupcin.

Descripcin
Cuando se relaciona una variable del tipo intnum a una rutina de tratamiento de interrupcin, se le da un valor especfico que identifica la interrupcin. Esta variable es posteriormente utilizada cada vez que se procesa una interrupcin, como cuando se la llama o cuando se la inhabilita. Se puede relacionar ms de una identificacin de interrupcin a la misma rutina de tratamiento de interrupcin. La variable del sistema INTNO podr as ser utilizada en una rutina de tratamiento de la interrupcin para determinar el tipo de interrupcin que se produce.

Ejemplos
VAR intnum error_transp; . CONNECT error_transp WITH correg_transp; ISignalDI di1, 1, error_transp; Se generar una interrupcin cuando la entrada di1 se activa. Cuando esto ocurre, se realiza una llamada a la rutina de tratamiento de interrupcin correg_transp.

Gua de Referencia RAPID

7-intnum-1

VAR intnum error_transp1; VAR intnum error_transp2; . PROC init_interrupt(); . CONNECT error_transp1 WITH correg_transp; ISignalDI di1, 1, error_transp1; CONNECT error_transp2 WITH correg_transp; ISignalDI di2, 1, error_transp2; . ENDPROC . TRAP correg_transp IF INTNO=error_transp1 THEN . ELSE . ENDIF . ENDTRAP Se generar una interrupcin cuando cualquier de las entradas di1 o di2 se activan. Entonces se realiza una llamada a la rutina de tratamiento de interrupciones correg_transp. La variable del sistema INTNO es utilizada en la rutina de tratamiento de interrupciones para descubrir qu tipo de interrupcin ha ocurrido.

Caractersticas
Intnum es otro nombre de un tipo de datos num y por consiguiente hereda sus caractersticas.

Informacin Relacionada
Descrita en: Resumen de interrupciones Otros tipos de datos Resumen RAPID - Interrupciones Caractersticas Bsicas Tipos de Datos

7-intnum-2

Gua de Referencia RAPID

iodev

Canales y archivos de serie


Iodev (I/O device) se usa para los canales serie, como impresoras y archivos.

Descripcin
El tipo de datos iodev contiene una referencia a un archivo o a un canal serie. Puede estar enlazado a la unidad fsica mediante la instruccin Open y luego ser utilizado para la lectura y escritura.

Ejemplo
VAR iodev archivo5; . Open "flp1:LOGDIR/INFIL.DOC", file\Read; input := ReadNum(archivo5); Se abre el archivo INFIL.DOC en el directorio LOGDIR del disco para la lectura. Para la lectura del archivo, archivo5 se utiliza como una referencia en lugar del nombre del archivo.

Caractersticas
Iodev es un tipo de dato sin valor.

Informacin Relacionada
Descrita en: Comunicacin a travs de canales serie Configuracin de los canales serie Resumen RAPID- Comunicacin Gua del Usuario - Parmetros del Sistema

Caractersticas de los tipos de datos sin valor Caractersticas Bsicas - Tipos de Datos

Gua de Referencia RAPID

7-iodev-1

7-iodev-2

Gua de Referencia RAPID

jointtarget

Datos de posicin de los ejes

Jointtarget sirve para definir la posicin a la que el robot y los ejes externos se movern utilizando la instruccin MoveAbsJ.

Descripcin
Jointtarget define la posicin de cada eje individual, tanto para el robot como para los ejes externos.

Componentes
robax (ejes del robot) Tipo de dato: robjoint

Son las posiciones de los ejes del robot expresadas en grados. La posicin de los ejes es definida como la rotacin en grados del eje (brazo) correspondiente en una direccin positiva o negativa a partir de la posicin de calibracin del eje. extax (ejes externos) La posicin de los ejes externos. La posicin es definida segn las siguientes indicaciones para cada eje individual (eax_a, eax_b ... eax_f): - Para los ejes de rotacin, la posicin es definida como la rotacin, expresada en grados, a partir de la posicin de calibracin. - Para los ejes lineales, la posicin es definida como la distancia, expresada en mm, a partir de la posicin de calibracin. Los ejes externos eax_a ... son ejes lgicos. La relacin existente entre el nmero del eje lgico y el nmero del eje fsico se encuentra definida en los parmetros del sistema. El valor 9E9 ser definido para los ejes que no estn conectados. En el caso en que los ejes definidos en los datos de posicin difieran de los ejes que estn realmente conectados durante la ejecucin del programa, se aplicar lo siguiente: - En el caso en que la posicin no est definida en los datos de posicin (valor 9E9) no se tendr en cuenta el valor, si el eje est conectado y no activado. Pero si el eje est activado, el sistema generar un error. - En el caso en que la posicin sea definida en los datos de posicin y que el eje todava no est conectado, no se tendr en cuenta el valor. Tipo de dato: extjoint

Gua de Referencia RAPID

7-jointtarget-1

Ejemplos
CONST jointtarget calib_pos := [ [ 0, 0, 0, 0, 0, 0], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ]; La posicin de calibracin normal para el IRB2400 se encuentra definida en calib_pos mediante el tipo de dato jointtarget. La posicin de calibracin normal 0 (expresada en grados o en mm) tambin estar definida para el eje lgico externo a. En cambio, los ejes externos b a f no estn definidos.

Estructura
< dataobject de jointtarget > < robax de robjoint > < rax_1 de num > < rax_2 de num > < rax_3 de num > < rax_4 de num > < rax_5 de num > < rax_6 de num > < extax de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

Informacin relacionada
Descrita en: Movimiento a la posicin de un eje Instrucciones de posicionamiento Configuracin de los ejes externos Instrucciones - MoveAbsJ Resumen RAPID - Movimiento Gua del Usuario - Parmetros del Sistema

7-jointtarget-2

Gua de Referencia RAPID

loaddata

Datos de carga

Loaddata sirve para describir las cargas instaladas a la brida de montaje del robot. Los datos de carga definen la carga til del robot, es decir, la carga soportada por el til del robot. La carga de la herramienta est especificada en los datos de la herramienta (tooldata) que incluyen los datos de carga.

Descripcin
Las cargas especificadas sirven para determinar un modelo de dinmica del robot, de forma que los movimientos del robot puedan ser controlados de la mejor manera posible. Si se especifican datos incorrectos de carga, se pueden generar las siguientes consecuencias: - Si la carga especificada es mayor que el valor real de la carga; -> El robot no ser utilizado a su capacidad mxima -> La precisin de la trayectoria es incorrecta incluyendo el riesgo de vibraciones. - Si la carga especificada es menor que el valor real de la carga; -> La precisin de la trayectoria es incorrecta incluyendo el riesgo de vibraciones. La carga ser activada/desactivada utilizando la instruccin GripLoad.

Componentes
mass El peso de la carga en kg. cog (centro de gravedad) El centro de gravedad de la carga (x, y, z) en mm. El centro de gravedad de la carga til ser definido utilizando el sistema de coordenadas de la herramienta (el sistema de coordenadas del objeto cuando se usa una herramienta fija). El centro de gravedad de una herramienta ser definida utilizando el sistema de coordenadas de la mueca. aom (ejes del momento) Tipo de dato: orient Tipo de dato: pos Tipo de dato: num

La orientacin de los ejes de momento de la carga en el centro de gravedad, expresada bajo la forma de un quaternion (q1, q2, q3 y q4). Gua de Referencia RAPID 7-loaddata-1

Los ejes de momento de una carga til sern definidos mediante el sistema de coordenadas de la herramienta, con el origen situado en el centro de gravedad de la carga (vase la Figura 1), mediante el sistema de coordenadas del objeto cuando se utiliza una herramienta fija. Si la orientacin est definida como q1=1 y q2 ... q4=0, significa que los ejes de momento estn situados paralelamente a los ejes de coordenadas de la herramienta. Sistema de coordenadas de la mueca

Y Y

Pinza Sistema de coordenadas de la herramienta Z

AAAAA AAAA Ejes de momento AAAAAAA A AAAA AAAA AA AAAAAAA A AAAA AAAA AA AAAAAAA AAAAAAA AAAAA Z de la carga til AAAA AA AAAA AAAA AAAAAAA AAAAAAAAAAAAAAAAAA A A A AA AAAAA AAAA A A A A A A A A A A Carga til A A A A AAA A AA AAA A XAAA AAA El centro de gravedad de la carga AAA

Figura 1 El centro de gravedad de la carga til y los ejes de momento (los ejes de momento son paralelos a los ejes de coordenadas de la herramienta en este ejemplo).

ix

(momento de inercia alrededor de x)

Tipo de dato: num

El momento de inercia de la carga alrededor del eje x, expresado en kgm2. La orientacin de los ejes de momento y el momento de inercia normalmente no necesitan ser definidos. Sin embargo, si se define correctamente el momento de inercia, aumentar el nivel de precisin de la trayectoria cuando se manipulan grandes lminas de metal, etc. Si el momento de inercia para todos los componentes ix, iy, iz es equivalente a 0 kgm2, implica una carga puntual. El momento de inercia se calcular utilizando varias frmulas, segn la forma de la carga, pero, debido a la falta de espacio, no se describe aqu (ver otras fuentes de referencia). Normalmente, slo se deber definir el momento de inercia cuando la distancia entre la brida de montaje y el centro de gravedad sea menor que la dimensin de la carga (vase la Figura 2).

7-loaddata-2

Gua de Referencia RAPID

carga til distancia x dimensin

Figura 2 Normalmente, el momento de inercia deber ser definido cuando la distancia sea menor que la dimensin.

iy

(momento de inercia alrededor de y)

Tipo de dato: num

El momento de inercia de la carga alrededor del eje y expresado en kgm2. Para ms informacin, vase ix. iz (momento de inercia alrededor de z) Tipo de dato: num

El momento de inercia de la carga del eje z expresado en kgm2. Para ms informacin, vase ix.

Ejemplos
PERS loaddata pieza1 := [ 5, [50, 0, 50], [1, 0, 0, 0], 0, 0, 0]; Para definir la carga til de la Figura 1 se deber utilizar los siguientes valores: - Peso de 5 kg. - El centro de gravedad es x = 50, y = 0, z = 50 mm en el sistema de coordenadas de la herramienta. - La carga til es una carga puntual. Set pinza; WaitTime 0.3; GripLoad pieza1; La conexin de la carga til, pieza1, se especifica en el mismo momento en que el robot coge la carga pieza1. Reset pinza; WaitTime 0.3; GripLoad load0; La desconexin de una carga til, se especifica en el mismo momento en que el robot deja la carga.

Gua de Referencia RAPID

7-loaddata-3

Limitaciones
La carga til deber ser definida nicamente como una variable persistente (PERS) y no dentro de una rutina. Los valores utilizados sern entonces almacenados al guardar el programa en un disquete y volvern ser utilizados en el momento en que se carguen. El argumento del tipo datos de carga (loaddata) en la instruccin GripLoad deber ser un dato persistente entero (no un elemento matriz ni un componente de registro).

Datos predefinidos
La carga load0 define una carga til de un peso equivalente a 0 kg, es decir ninguna carga. Esta carga se utiliza como argumento de la instruccin GripLoad para desconectar una carga til. Siempre se podr acceder a la carga load0 desde el programa, sin embargo no podr ser cambiada (se encuentra almacenada en el mdulo del sistema BASE). PERS loaddata load0 := [ 0, [0, 0, 0], [1, 0, 0, 0],0, 0 ,0 ];

Estructura
< dataobject of loaddata > < mass of num > < cog of pos > < x of num > < y of num > < z of num > < aom of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num > < ix of num > < iy of num > < iz of num >

Informacin Relacionada
Descrita en: Sistema de coordenadas Definicin de cargas de la herramienta Activacin de las cargas tiles Principios de Movimiento y de E/S Sistemas de Coordenadas Tipos de datos - tooldata Instrucciones - GripLoad

7-loaddata-4

Gua de Referencia RAPID

mecunit

Unidad mecnica

Mecunit sirve para definir las diferentes unidades mecnicas que pueden ser controladas y a las que se puede acceder desde el robot y desde el programa. Los nombres de las unidades mecnicas estn definidos en los parmetros del sistema y por lo tanto, no debern ser definidos en el programa.

Descripcin
Los tipos de dato mecunit contienen nicamente una referencia a la unidad mecnica.

Limitaciones
Los tipos de datos mecunit no debern ser definidos en el programa. El tipo de dato podr, no obstante, ser utilizado como un parmetro al declarar una rutina.

Datos predefinidos
Siempre se podr acceder desde el programa (datos instalados) a las unidades mecnicas definidas en los parmetros del sistema.

Caractersticas
Mecunit es un tipo de dato sin valor. Ello significa que los datos de este tipo no permiten la realizacin de operaciones con valores.

Informacin relacionada
Descrita en: Activacin/Desactivacin de las unidades mecnicas Configuracin de las unidades mecnicas Instrucciones - ActUnit, DeactUnit Gua del Usuario - Parmetros del Sistema

Caractersticas de los tipos de datos sin valor Caractersticas Bsicas - Tipos de Datos

Gua de Referencia RAPID

7-mecunit-1

7-mecunit-2

Gua de Referencia RAPID

motsetdata

Datos de movimiento

Motsetdata sirve para definir una serie de caractersticas de movimiento que afectan a todas las instrucciones de posicionamiento del programa: - Velocidad mxima y correcin de la velocidad - Datos de aceleracin - Comportamiento del sistema cerca de un punto singular - Manipulacin de las diferentes configuraciones del robot - Carga til Normalmente este tipo de datos no debe ser usado ya que estas caractersticas deben ser determinadas nicamente mediante las instrucciones VelSet, AccSet, SingArea, ConfJ, ConfL, LimConfL y GripLoad. Se podr acceder a los valores de estas caractersticas de movimiento utilizando la variable del sistema C_MOTSET.

Descripcin
Las caractersticas de movimiento utilizadas (almacenadas en la variable del sistema C_MOTSET) afectan a todos los movimientos.

Componentes
vel.oride Tipo de dato: veldata/num

La velocidad como un porcentaje de la velocidad programada. vel.max Velocidad mxima en mm/s. acc.acc Tipo de dato: accdata/num Tipo de dato: veldata/num

Aceleracin y deceleracin como un porcentaje de los valores normales. acc.ramp Tipo de dato: accdata/num

El nivel con el que la aceleracin y la deceleracin aumenta como un porcentaje de los valores normales.

Gua de Referencia RAPID

7-motsetdata-1

sing.wrist

Tipo de dato: singdata/ bool

Se permite variar la orientacin de la herramienta para evitar una singularidad de la mueca. sing.arm Tipo de dato: singdata/bool

Se permite variar la orientacin de la herramienta para evitar una singularidad del brazo. sing.base Tipo de dato: singdata/bool

No se acepta ninguna desviacin de la orientacin de la herramienta. conf.jsup Tipo de dato: confsupdata/ bool

La supervisin de la configuracin de los ejes est activa durante el movimiento eje a eje. conf.lsup Tipo de dato: confsupdata/ bool

La supervisin de la configuracin de los ejes est activa durante el movimiento lineal y circular. conf.ax1 Tipo de dato: confsupdata/ num

Desviacin mxima permitida en grados para el eje 1. conf.ax4 Tipo de dato: confsupdata/ num

Desviacin mxima permitida en grados para el eje 4. conf.ax6 Tipo de dato: confsupdata/ num

Desviacin mxima permitida en grados para el eje 6. grip.load La carga til del robot (sin incluir la pinza). grip.acc Tipo de dato: gripdata/num Tipo de dato: gripdata/ loaddata

Datos de aceleracin de la carga utilizada (no se utiliza en esta versin).

7-motsetdata-2

Gua de Referencia RAPID

Limitaciones
Slo uno de los siguientes componentes sing.wrist, sing.arm o sing.base puede tener un valor igual a TRUE.

Ejemplo
IF C_MOTSET.vel.oride > 50 THEN ... ELSE ... ENDIF Diferentes partes del programa son ejecutadas en funcin del ajuste de velocidad utilizado.

Datos predefinidos
C_MOTSET describe las caractersticas de movimiento del robot utilizadas y siempre se podr acceder a ellas desde el programa (datos instalados). Por otra parte, C_MOTSET, slo podr cambiarse mediante una serie de instrucciones, y no por asignaciones. Los siguientes valores por defecto de los parmetros de movimiento se activan: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin del programa. PERS motsetdata C_MOTSET := [ [ 100, 500 ], [ 100, 100 ], [ FALSE, FALSE, TRUE ], [ TRUE, TRUE, 30, 45, 90 ], [ [ 0, [ 0, 0, 0 ], [ 1, 0, 0, 0 ], 0, 0, 0 ], -1 ] ] -> veldata -> accdata -> singdata -> confsupdata -> gripdata

Gua de Referencia RAPID

7-motsetdata-3

Estructura
<dataobject of motsetdata> <vel of veldata > < oride of num > < max of num > <acc of accdata > < acc of num > < ramp of num > <sing of singdata > < wrist of bool > < arm of bool > < base of bool > <conf of confsupdata > < jsup of bool > <lsup of bool > < ax1 of num > < ax4 of num > < ax6 of num > <grip of gripdata > < load of loaddata > < mass of num> < cog of pos > < x of num > < y of num > < z of num > <aom of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num > < ix of num > < iy of num> < iz of num > < acc of num > -> Es afectado por la instruccin VelSet -> Es afectado por la instruccin AccSet -> Es afectado por la instruccin SingArea

-> Es afectado por las instrucciones ConfJ, ConfL y LimConfL

-> Es afectado por la instruccin GripLoad

Informacin relativa
Descrita en: Instrucciones para la activacin de los parmetros de movimiento Resumen RAPID Caractersticas de movimiento

7-motsetdata-4

Gua de Referencia RAPID

num

Valores numricos (registros)


Num se usa para los valores numricos; por ejemplo, para los contadores.

Descripcin
El valor de un tipo de dato num puede ser - un nmero entero; por ejemplo, -5, - un nmero decimal; por ejemplo, 3,45. Tambin puede estar escrito de forma exponencial; por ejemplo, 2E3 (= 2*103 = 2000), 2,5E-2 (= 0,025). Los nmeros enteros entre -8388607 y +8388608 son siempre almacenados como nmeros enteros exactos. Los nmeros decimales no son ms que nmeros aproximados y no debern, por ello, ser utilizados en comparaciones del tipo es igual a o no es igual a. En el caso de divisiones y operaciones que utilizan nmeros decimales, el resultado ser tambin un nmero decimal; es decir, no un nmero entero exacto. E.g. a := 10; b := 5; IF a/b=2 THEN ...

Dado que el resultado de a/b no es un nmero entero, esta condicin no ser necesariamente satisfecha.

Ejemplo
VAR num reg1; . reg1 := 3; reg1 tiene asignado el valor 3. a := 10 DIV 3; b := 10 MOD 3; Divisin entera donde a tiene asignado un nmero entero (=3) y b is tiene asignado al resto (=1).

Gua de Referencia RAPID

7-num-1

Datos Predefinidos
La constante pi () ya ha sido definida en el mdulo del sistema BASE. CONST num pi := 3.1415926;

Informacin Relacionada
Descrita en: Expresiones numricas Operaciones que utilizan valores numricos Caractersticas Bsicas - Expresiones Caractersticas Bsicas - Expresiones

7-num-2

Gua de Referencia RAPID

o_jointtarget Dato de posicin original de un eje


o_jointtarget (original joint target) se utiliza en combinacin con la funcin Absolute Limit Modpos. Cuando se usa esta funcin para modificar una posicin, la posicin original es almacenada como un dato del tipo o_jointtarget.

Descripcin
Si se ha activado la funcin Absolute Limit Modpos y que se ha modificado con la funcin Modpos una posicin con nombre dentro de una instruccin de movimiento, entonces se salvar la posicin programada original. Ejemplo de un programa antes de Modpos: CONST jointtarget jpos40 := [[0, 0, 0, 0, 0, 0], [0, 9E9, 9E9, 9E9, 9E9, 9E9]];

... MoveAbsJ jpos40, v1000, z50, tool1; El mismo programa despus ModPos en el que el punto jpos40 ha sido corregido de dos grados para el eje 1 del robot: CONST jointtarget jpos40 := [[2, 0, 0, 0, 0, 0], [0, 9E9, 9E9, 9E9, 9E9, 9E9]]; CONST o_jointtarget o_jpos40 := [[0, 0, 0, 0, 0, 0], [0, 9E9, 9E9, 9E9, 9E9, 9E9]]; ... MoveAbsJ jpos40, v1000, z50, tool1; El punto original programado ha sido salvado en o_jpos40 (por el tipo de dato o_jointtarget) y el punto modificado ha sido salvado en jpos40 (por el tipo de dato jointtarget). Al salvar el punto original programado, el robot puede monitorizar que posteriores modificaciones Modpos del punto correspondiente, estn dentro de los lmites aceptables desde el punto original programado. La convencin fija del nombre significa que un punto original programado con el nombre xxxxx ser salvado con el nombre o_xxxxx al utilizar Absolute Limit Modpos.

Componentes
robax (ejes del robot) Tipo de dato: robjoint

Posiciones de los ejes del robot expresadas en grados.

Gua de Referencia RAPID

7-o_jointtarget-1

extax

(ejes externos) La posicin de los ejes externos.

Tipo de dato: extjoint

Estructura
< dataobject de o_jointtarget > < robax de robjoint> < rax_1 de num > < rax_2 de num > < rax_3 de num > < rax_4 de num > < rax_5 de num > < rax_6 de num > < extax de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

Informacin relacionada
Descrita en: Datos de posicin Configuracin de Limit Modpos Tipos de Datos - Jointtarget Gua del Usuario - Parmetros del Sistema

7-o_jointtarget-2

Gua de Referencia RAPID

orient

Orientacin
Orient se usa para las orientaciones (como la orientacin de una herramienta) y las rotaciones (como la rotacin de un sistema de coordenadas).

Descripcin
La orientacin se describe bajo la forma de un quaternion formado pro cuatro elementos: q1, q2, q3 y q4. Para ms informacin sobre como se calculan, vase a continuacin.

Componentes
q1 Quaternion 1. q2 Quaternion 2. q3 Quaternion 3. q4 Quaternion 4. Tipo de dato: num Tipo de dato: num Tipo de dato: num Tipo de dato: num

Ejemplo
VAR orient orient1; . orient1 := [1, 0, 0, 0]; La orientacin orient1 tiene asignado el valor q1=1, q2-q4=0; estos valores corresponden a ninguna rotacin.

Limitaciones
La orientacin debe ser normalizada; es decir que la suma de los cuatro debe ser igual a 1:
2 2 2 2 q1 + q 2 + q3 + q4 = 1

Gua de Referencia RAPID

7-orient-1

Qu es un Quaternion?
La orientacin de un sistema de coordenadas (como la de una herramienta) puede ser descrita como una matriz rotacional que describe la direccin de los ejes del sistema de coordenadas respecto a un sistema de referencia (vase la Figura 1). z z x
Sistema de coordenadas de referencia

Sistema de coord. rotativo

Figura 1 La rotacin de un sistema de coordenadas est descrita mediante un quaternion.

Los ejes de los sistemas de coordenadas rotativos (x, y, z) son vectores que pueden ser expresados en el sistema de coordenadas de referencia segn lo siguiente: x = (x1, x2, x3) y = (y1, y2, y3) z = (z1, z2, z3) Esto significa que el componente x- de vector x- en el sistema de coordenadas de referencia ser x1, el componente y- ser x2, etc. Estos tres vectores pueden ser puestos juntos en una matriz rotacional, donde cada uno de los vectores forman una columna:

x1 y1 x2 y2

z1 z2

x3 y3 z3
Un quaternion no es ms que una forma ms concisa de describir esta matriz rotacional; los quaternions se calculan basndose en los elementos de la matriz rotacional:
x1 + y2 + z3 + 1 q1 = ----------------------------------------2 x 1 y2 z3 + 1 q2 = ---------------------------------------2 y 2 x1 z3 + 1 q3 = ---------------------------------------2 z3 x 1 y2 + 1 q4 = ---------------------------------------2

signo q2 = signo (y3-z2) signo q3 = signo (z1-x3) signo q4 = signo (x2-y1)

7-orient-2

Gua de Referencia RAPID

Ejemplo 1 Una herramienta est orientada de forma que su eje Zapunte recto hacia adelante (en la misma direccin que el eje X del sistema de coordenadas en la base). El eje Yde la herramienta corresponde al eje Y del sistema de coordenadas en la base (vase la Figura 3). Cmo est definida la orientacin de la herramienta en el dato de posicin (robtarget)? La orientacin de la herramienta en una posicin programada est normalmente relacionada con el sistema de coordenadas del objeto de trabajo utilizado. En este ejemplo, no se utiliza ningn objeto de trabajo y el sistema de coordenadas en la base es igual al sistema de coordenadas global. As, la orientacin es relativa con el sistema de coordenadas en la base.

Z X Z

X
Figura 2 La direccin de una herramienta de acuerdo con el ejemplo 1.

Los ejes estarn relacionados de la siguiente forma: x = -z = (0, 0, -1) y = y = (0, 1, 0) z = x = (1, 0, 0) Lo cual corresponde a la siguiente matriz rotacional:
0 0 1 0 1 0 1 0 0

La matriz rotacional proporciona al quaternion correspondiente:


2 0+1+0+1 q1 = ---------------------------------- = ------ = 0,707 2 2 010+1 q2 = --------------------------------- = 0 2 2 100+1 q3 = --------------------------------- = ------ = 0,707 2 2 001+1 q4 = --------------------------------- = 0 2

signo q3 = signo (1+1) = +

Ejemplo 2 La direccin de la herramienta ha sido girada de 30o en los ejes X- y Z-respecto al sistema de coordenadas de la mueca (vase la Figura 3). Cmo estar definida la ori-

Gua de Referencia RAPID

7-orient-3

entacin de la herramienta en los datos de la herramienta?

Z Z X

Figura 3 La direccin de la herramienta de acuerdo con el ejemplo2.

Los ejes estarn relacionados de la forma siguiente: x = (cos30o, 0, -sin30o) y = (0, 1, 0) z = (sin30o, 0, cos30o) Lo cual corresponde a la siguiente matriz rotacional:
cos 30 0 sin 30 0 1 0 sin 30 0 cos 30

La matriz rotacional proporciona al quaternion correspondiente:


cos 30 + 1 + cos 30 + 1 q1 = ---------------------------------------------------------------- = 0,965926 2 cos 30 1 cos 30 + 1 q2 = --------------------------------------------------------------- = 0 2 1 cos 30 cos 30 + 1 q3 = --------------------------------------------------------------- = 0,258819 2 cos 30 cos 30 1 + 1 q4 = --------------------------------------------------------------- = 0 2

signo q3 = signo (sin30o+sin30o) = +

Estructura
<dataobject of orient> <q1 of num> <q2 of num> <q3 of num> <q4 of num>

Informacin Relacionada
Descrita en: Operaciones sobre orientaciones Caractersticas Bsicas - Expresiones

7-orient-4

Gua de Referencia RAPID

o_robtarget

Datos de posicin original

o_robtarget (original robot target) se utiliza en combinacin con la funcin Absolute Limit Modpos. Cuando esta funcin es utilizada para modificar una posicin, la posicin original queda almacenada como un dato del tipo o_robtarget.

Descripcin
En el caso en que la funcin Absolute Limit Modpos ha sido activada y que una posicin nombrada en una instruccin de movimiento es modificada con la funcin Modpos, entonces la posicin programada original queda almacenada. Ejemplo de un programa antes de Modpos: CONST robtarget p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0], [500, 9E9, 9E9, 9E9, 9E9, 9E9] ];

... MoveL p50, v1000, z50, tool1; El mismo programa despus de ModPos en el cual el punto p50 ha sido corregido a 502 en la direccin -x: CONST robtarget p50 := [[502, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0], [500, 9E9, 9E9, 9E9, 9E9, 9E9] ]; CONST o_robtarget o_p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0], [ 500, 9E9, 9E9, 9E9, 9E9, 9E9] ]; ... MoveL p50, v1000, z50, tool1; El punto original programado ha sido almacenado en o_p50 (por el tipo de dato o_robtarget) y el punto modificado, ha sido almacenado en p50 (por el tipo de dato robtarget). Al guardar el punto original programado, el robot podr monitorizar que posteriores modificaciones Modpos del punto en cuestin estn dentro de los lmites aceptables del punto original programado. La convencin fija del nombre significa que un punto original programado con el nombre xxxxx ser guardado con el nombre o_xxxxx al utilizar Absolute Limit Modpos.

Componentes
trans (traslacin) Tipo de dato: pos

La posicin (x, y, z) del punto central de la herramienta expresada en mm.

Gua de Referencia RAPID

7-o_robtarget-1

rot

(rotacin)

Tipo de dato: orient

La orientacin de la herramienta, expresada bajo la forma de un cuaternio (q1, q2, q3 y q4). robconf (configuracin del robot) Tipo de dato: confdata

La configuracin de los ejes del robot (cf1, cf4, cf6 y cfx). extax (ejes externos) La posicin de los ejes externos. Tipo de dato: extjoint

Estructura
< dataobject de o_robtarget > < trans de pos > < x de num > < y de num > < z de num > < rot de orient > < q1 de num > < q2 de num > < q3 de num > < q4 de num > < robconf de confdata > < cf1 de num > < cf4 de num > < cf6 de num > < cfx de num > < extax de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

Informacin relacionada
Descrita en: Datos de posicin Configuracin de Limit Modpos Tipos de Datos - Robtarget Gua del Usuario - Parmetros del Sistema

7-o_robtarget-2

Gua de Referencia RAPID

pos

Posiciones (slo X, Y y Z)
Pos se usa para las posiciones (slo X, Y y Z). El tipo de dato robtarget se usa para determinar la posicin del robot incluyendo la orientacin de la herramienta y la configuracin de los ejes.

Descripcin
Los datos del tipo pos describen la posicin de las coordenadas: X, Y y Z.

Componentes
x El valor X de la posicin. y El valor Y de la posicin. z El valor Z de la posicin. Tipo de dato: num Tipo de dato: num Tipo de dato: num

Ejemplos
VAR pos pos1; . pos1 := [500, 0, 940]; La posicin pos1 tiene asignado el valor: X=500 mm, Y=0 mm, Z=940 mm. pos1.x := pos1.x + 50; La posicin pos1 es desplazada 50 mm en la direccin X.

Estructura
<dataobject of pos> <x of num> <y of num> <z of num>

Gua de Referencia RAPID

7-pos-1

Informacin Relacionada
Descrita en: Operaciones sobre las posiciones Posicin del robot incluyendo la orientacin Caractersticas Bsicas - Expresiones Tipos de datos - robtarget

7-pos-2

Gua de Referencia RAPID

pose

Transformacin de coordenadas
Pose se usa para cambiar de un sistema de coordenadas a otro.

Descripcin
Los datos del tipo pose describen como se desplaza un sistema de coordenadas y se hace girar en torno a otro sistema de coordenadas. Los datos pueden, por ejemplo, describir como est posicionado el sistema de coordenadas de la herramienta respecto al sistema de coordenas de la mueca.

Componentes
trans (translacin) Tipo de dato: pos

El desplazamiento en la posicin (x, y, z) del sistema de coordenadas. rot (rotacin) La rotacin del sistema de coordenadas. Tipo de dato: orient

Ejemplo
VAR pose base1; . base1.trans := [50, 0, 40]; base1.rot := [1, 0, 0, 0]; El gambio de coordenadas base1 tiene asignado un valor que corresponde a un desplazamiento en la posicin, donde X=50 mm, Y=0 mm, Z=40 mm; no hay, por la tanto, ninguna rotacin.

Estructura
<dataobject of pose> <trans of pos> <rot of orient>

Gua de Referencia RAPID

7-pose-1

Informacin Relacionada
Descrita en: Qu es un quaternion? Tipos de Datos - orient

7-pose-2

Gua de Referencia RAPID

progdisp

Desplazamiento de programa

Progdisp sirve para almacenar el desplazamiento de programa utilizado del robot y de los ejes externos. Este tipo de dato normalmente no debe ser utilizado ya que el dato se activar cuando se utilicen las instrucciones PDispSet, PDispOn, PDispoff, EOffsSet, EOffsOn y EOffsOff. Se utiliza nicamente para almacenar de forma temporal el valor utilizado para un uso posterior.

Descripcin
Se podr acceder a los valores utilizados para el desplazamiento del programa utilizando la variable del sistema C_PROGDISP. Para ms informacin, vanse las instrucciones PDispSet, PDispOn, EOffsSet y EOffsOn.

Componentes
pdisp (desplazamiento de programa) Tipo de dato: pose

El desplazamiento del programa del robot expresado mediante la utilizacin de una translacin y de una orientacin. La translacin est expresada en mm. eoffs (offset externo) Tipo de dato: extjoint

El offset de cada uno de los ejes externos. Si el eje es lineal, el valor ser expresado en mm; si es de rotacin, el valor ser expresado en grados.

Gua de Referencia RAPID

7-progdisp-1

Ejemplo
VAR progdisp despl1; . SearchL sen1, pbusc, p10, v100, herram1; PDispOn \ExeP:=pbusc, *, herram1; EOffsOn \ExeP:=pbusc, *; . despl1:=C_PROGDISP; PDispOff; EOffsOff; . PDispSet despl1.pdisp; EOffsSet despl1.eoffs; En primer lugar, un desplazamiento de programa ser activado a partir de una posicin buscada. Luego, ser desactivado de forma temporal almacenando el valor en la variable despl1 y, posteriormente, ser activada de nuevo mediante las instrucciones PDispSet y EOffsSet.

Datos predefinidos
La variable del sistema C_PROGDISP describe el desplazamiento de programa utilizado del robot y de los ejes externos. Siempre se podr acceder a ella desde el programa. Por otra parte, C_PROGDISP, slo podr cambiarse utilizando una serie de instrucciones y no por asignacin.

Estructura
< dataobject de progdisp > <pdisp de pose> < trans de pos > < x de num > < y de num > < z de num > < rot de orient > < q1 de num > < q2 de num > < q3 de num > < q4 de num > < edefs de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

7-progdisp-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Instrucciones para la definicin de un desplazamiento de programa Sistemas de coordenadas Resumen RAPID - Caractersticas de Movimiento Principios de Movimiento y de E/S Sistemas de Coordenadas

Gua de Referencia RAPID

7-progdisp-3

7-progdisp-4

Gua de Referencia RAPID

robjoint

Posicin de los ejes del robot

Robjoint sirve para definir la posicin, expresada en grados, de los ejes del robot.

Descripcin
Los datos del tipo robjoint sirven para almacenar las posiciones, en grados, de los ejes 1 a 6 del robot. La posicin de eje se define como la rotacin en grados del eje (brazo) respectivo en una direccin positiva o negativa a partir de la posicin de calibracin del eje.

Componentes
rax_1 (eje 1 del robot) Tipo de dato: num

La posicin del eje 1 del robot, en grados, a partir de la posicin de calibracin. ... rax_6 (eje 6 del robot) Tipo de dato: num

La posicin del eje 6 del robot, en grados, a partir de la posicin de calibracin.

Estructura
< dataobject de robjoint > < rax_1 de num > < rax_2 de num > < rax_3 de num > < rax_4 de num > < rax_5 de num > < rax_6 de num >

Informacin relacionada
Descrita en: Datos de posicin de los ejes Movimiento a una posicin de los ejes Tipos de Datos - jointtarget Instrucciones - MoveAbsJ

Gua de Referencia RAPID

7-robjoint-1

7-robjoint-2

Gua de Referencia RAPID

robtarget

Datos de posicin

Robtarget sirve para definir la posicin del robot y de los ejes externos.

Descripcin
Los datos de posicin sirven para definir la posicin en las instrucciones de posicionamiento a las que el robot y los ejes externos deben moverse. Dado que el robot es capaz de alcanzar una misma posicin de varias formas diferentes, se deber especificar la configuracin de los ejes. Esto servir para definir los valores de los ejes en el caso de que sean ambiguos, por ejemplo: - si el robot est en una posicin hacia adelante o hacia atrs, - si el eje 4 apunta hacia abajo o hacia arriba, - si el eje 6 tiene una vuelta positiva o negativa. La posicin ser definida basndose en el sistema de coordenadas del objeto de trabajo, incluyendo cualquier desplazamiento de programa. Si la posicin es programada con cualquier otro objeto de trabajo que el utilizado en la instruccin, el robot no se mover de la forma esperada. Asegurarse de que se est utilizando el mismo objeto de trabajo que el que se ha utilizado al programar las instrucciones de posicionamiento. Una utilizacin incorrecta puede provocar daos al personal o al equipo.

Componentes
trans (traslacin) Tipo de dato: pos

La posicin (x, y, z) del punto central de la herramienta expresada en mm. La posicin se especifica respecto al sistema de coordenadas del objeto utilizado, incluyendo el desplazamiento del programa. Si no se especifica ningn objeto de trabajo, se usar el sistema de coordenadas mundo. rot (rotacin) Tipo de dato: orient

La orientacin de la herramienta expresada bajo la forma de un quaternion (q1, q2, q3 y q4). La orientacin se especifica respecto al sistema de coordenadas del objeto utilizado, incluyendo el desplazamiento del programa. Si no se especifica ningn objeto de trabajo, se usar el sistema de coordenadas mundo.

Gua de Referencia RAPID

7-robtarget-1

robconf

(configuracin del robot)

Tipo de dato: confdata

La configuracin de los ejes del robot (cf1, cf4, cf6 y cfx). Esto se define bajo la forma del cuarto utilizado del eje 1, del eje 4 y del eje 6. El primer cuarto 0-90 o est definida como 0. El componente cfx no se utiliza en esta versin. Para ms informacin, vase el tipo de dato confdata. extax (ejes externos) La posicin de los ejes externos. La posicin ser definida como se indica a continuacin para cada eje individual (eax_a, eax_b ... eax_f): - Para los ejes rotativos, la posicin ser definida como la rotacin en grados a partir de la posicin de calibracin. - Para los ejes lineales, la posicin ser definida como la distancia en mm a partir de la posicin de calibracin. Los ejes externos eax_a ... son ejes lgicos. La forma en que el nmero de los ejes lgicos y el nmero de los ejes fsicos estn relacionados entre s se encuentra definida en los parmetros del sistema. El valor 9E9 ser definido para los ejes que no estn conectados. Si los ejes definidos en los datos de posicin difieren de los ejes que estn conectados en realidad para la ejecucin del programa, se aplicar lo siguiente: - Si la posicin no est definida en los datos de posicin (el valor 9E9) no se tendr en cuenta el valor, si el eje est conectado y no est activado. Pero si el eje est activado, el sistema producir un error. - Si la posicin est definida en los datos de posicin y que el eje todava no est conectado, no se tendr en cuenta el valor. Tipo de dato: extjoint

Ejemplos
CONST robtarget p15 := [ [600, 500, 225,3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ]; Una posicin p15 ser definida de la siguiente manera: - La posicin del robot: x = 600, y = 500, z = 225,3 mm en el sistema de coordenadas del objeto. - La orientacin de la herramienta en la misma direccin que el sistema de coordenadas del objeto. - La configuracin del eje del robot: eje 1 y 4 en la posicin 90-180, el eje 6 en la posicin 0-90. - La posicin de los ejes externos lgicos, a y b, expresada en grados o en mm. (dependiendo del tipo de ejes). Los ejes c y f no estn definidos.

7-robtarget-2

Gua de Referencia RAPID

VAR robtarget p20; ... p20 := CRobT(); p20 := Offs(p20,10,0,0); La posicin p20 ser activada en la misma posicin que la posicin actual del robot llamando la funcin CRobT. La posicin se mover entonces de 10 mm en la direccin x-.

Limitaciones
Cuando se utiliza la funcin de edicin configurable Absolute Limit Modpos, el nmero de caracteres del nombre del dato del tipo robtarget, est limitado a 14 (en otros casos, est limitado a 16).

Estructura
< dataobject de robtarget > < trans de pos > < x de num > < y de num > < z de num > < rot de orient > < q1 de num > < q2 de num > < q3 de num > < q4 de num > < robconf de confdata > < cf1 de num > < cf4 de num > < cf6 de num > < cfx de num > < extax de extjoint > < eax_a de num > < eax_b de num > < eax_c de num > < eax_d de num > < eax_e de num > < eax_f de num >

Gua de Referencia RAPID

7-robtarget-3

Informacin relacionada
Descrita en: Instrucciones de posicionamiento Sistemas de coordenadas Manipulacin de los datos de configuracin Configuracin de los ejes externos Qu es un quaternion? Resumen RAPID- Movimiento Principios de Movimiento y de E/S Sistemas de coordenadas Principios de Movimiento y de E/S Configuracin del Robot Gua del Usuario - Parmetros del sistema Tipos de datos - Orient

7-robtarget-4

Gua de Referencia RAPID

signalxx

Seales digitales y analgicas

Los tipos de datos incluidos en signalxx se usan para las seales digitales y analgicas de entrada y de salida. Los nombres de las seales estn definidos en los parmetros del sistema y por lo tanto no debern ser definidos en el programa.

Descripcin
Tipo de dato signalai signalao signaldi signaldo signalgi signalgo Sirve para las seales de entrada analgicas las seales de salida analgicas las seales de entrada digitales las seales de salida digitales los grupos de seales de entrada digitales los grupos de seales de salida digitales

Las variables del tipo signalxo slo contienen una referencia a la seal. El valor de la seal es determinado cuando se utiliza una instruccin, por ejemplo, DOutput. Las variables del tipo signalxi contienen una referencia a una seal as como un mtodo para recuperar el valor. El valor de la seal de entrada es devuelto cuando se llama a una funcin, por ejemplo, DInput, o cuando se usa la variable en un contexto de valores, por ejemplo, IFsignal_y=1 THEN.

Limitaciones
Los datos del tipo signalxx no debern ser definidos en el programa. En el caso en que lo estn, aparecer visualizado un mensaje de error en cuanto una instruccin o funcin que se refiere a esta seal, sea ejecutada. Por otro lado, el tipo de dato podr ser utilizado como parmetro al declarar una rutina.

Datos predefinidos
Siempre se podr acceder a las seales definidas en los parmetros del sistema desde el programa, utilizando las variables de las seales predefinidas (datos instalados). Obsrvese, sin embargo, que si se definen otros datos con el mismo nombre, estas seales no podrn ser utilizadas.

Gua de Referencia RAPID

7-signalxx-1

Caractersticas
Signalxo es un tipo de dato sin valor. Por lo tanto, los datos de este tipo no permiten la realizacin de operaciones orientadas a valores. Signalxi es un tipo de dato semi valor.

Informacin relacionada
Descrita en: Resumen de instrucciones de entradas/salidas Resumen RAPIDSeales de Entrada y Salida Funciones de las entradas/salidas en general Configuracin de las E/S Caractersticas de tipos de datos sin valor Principios de Movimiento y E/SPrincipios de E/S Gua del Usuario - Parmetros del Sistema Caractersticas Bsicas - Tipos de datos

7-signalxx-2

Gua de Referencia RAPID

speeddata

Datos de velocidad

Speeddata sirve para especificar la velocidad a la que se movern tanto los ejes externos como el robot.

Descripcin
Los datos de velocidad definen la velocidad: - a la que se mueve el punto central de la herramienta, - de la reorientacin de la herramienta, - a la que se mueven los ejes externos rotativos o lineales. Cuando se combinan diferentes tipos de movimiento, a menudo hay una de las velocidades que limita todos los movimientos. La velocidad de los dems movimientos ser reducida de tal manera que todos los movimientos acabarn su ejecucin al mismo tiempo. La velocidad ser tambin restringida por la capacidad del robot. Esto difiere segn el tipo de robot y la trayectoria utilizada.

Componentes
v_tcp (velocidad del tcp) Tipo de dato: num

La velocidad del punto central de la herramienta (TCP) en mm/s. Si se utilizan ejes externos coordinados o una herramienta estacionaria, la velocidad ser especificada respecto al objeto de trabajo. v_ori (velocidad de orientacin) Tipo de dato: num

La velocidad de reorientacin del TCP expresado en grados/s. Si se utilizan ejes externos coordinados o una herramienta estacionaria, la velocidad ser especificada respecto al objeto de trabajo. v_leax (velocidad de los ejes externos lineales) Tipo de dato: num

La velocidad de los ejes externos lineales en mm/s. v_reax (velocidad de los ejes externos rotativos) Tipo de dato: num

La velocidad de los ejes externos rotativos en grados/s.

Gua de Referencia RAPID

7-speeddata-1

Ejemplo
VAR speeddata vmedia := [ 1000, 30, 200, 15 ]; El dato de velocidad vmedia ser definido con las siguientes velocidades: - 1000 mm/s para el TCP. - 30 grados/s para la reorientacin de la herramienta. - 200 mm/s para los ejes externos lineales. - 15 grados/s para los ejes externos rotativos. vmedia.v_tcp := 900; La velocidad del TCP ser cambiada a 900 mm/s.

Datos predefinidos
Una serie de datos de velocidad estn ya definidos en el mdulo del sistema BASE. Nombre v5 v10 v20 v30 v40 v50 v60 v80 v100 v150 v200 v300 v400 v500 v600 v800 v1000 v1500 v2000 v2500 v3000 vmax Vel. TCP 5 mm/s 10 mm/s 20 mm/s 30 mm/s 40 mm/s 50 mm/s 60 mm/s 80 mm/s 100 mm/s 150 mm/s 200 mm/s 300 mm/s 400 mm/s 500 mm/s 600 mm/s 800 mm/s 1000 mm/s 1500 mm/s 2000 mm/s 2500 mm/s 3000 mm/s 5000 mm/s Orientacin 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s o 500 /s Ejes ext. lineal 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s Ejes ext. rotat. 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s

7-speeddata-2

Gua de Referencia RAPID

Estructura
< dato del tipo de speeddata > < v_tcp de num > < v_ori de num > < v_leax de num > < v_reax de num >

Informacin relacionada
Descrita en: Instrucciones de posicionamiento Movimiento/Velocidad en general Resumen RAPID - Movimiento Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa Instrucciones - VelSet Gua del Usuario - Parmetros del Sistema Especificacin del Producto

Definicin de la velocidad mxima Configuracin de los ejes externos Capacidad de movimiento

Gua de Referencia RAPID

7-speeddata-3

7-speeddata-4

Gua de Referencia RAPID

string

Cadenas de Carcteres
String se usa para las cadenas de caracteres.

Descripcin
Una cadena de caracteres est formada por una serie de caracteres (como mximo 80) incluidos entre comillas ("), ejemplo: "Esto es una cadena de caracteres".

En el caso en que se desee incluir comillas dentro de la cadena de caracteres, debern repetirse dos veces, ejemplo: "Esta cadena contiene un ""caracter".

Ejemplo
VAR string text; . text := "arranque boquilla1"; TPWrite text; El texto "arranque boquilla1"ser introducido en la unidad de programacin.

Limitaciones
Una cadena puede tener de 0 a 80 caracteres, incluyendo las comillas adicionales. Una cadena puede contener cualquiera de los caracteres especificados en la norma ISO 8859-1 as como los caracteres de control (caracteres no contenidos en ISO 8859-1 con un cdigo numrico entre 0-255).

Gua de Referencia RAPID

7-string-1

Datos Predefinidos
Hay una serie de constantes de cadenas predefinidas (datos instalados) que pueden utilizarse junto con funciones de cadena. Nombre STR_DIGIT STR_UPPER Grupo de caracteres <caracter> ::= 0|1|2|3|4|5|6|7|8|9 <letra mayscula> ::= A|B|C|D|E|F|G|H|I|J |K|L|M|N|O|P|Q|R|S|T |U|V|W|X|Y|Z|||| |||||||||| | | | 1) | | | | | | | | | | | | 2) | 3) <letra minscula> ::= a|b|c|d|e|f|g|h|i|j |k|l|m|n|o|p|q|r|s|t |u|v|w|x|y|z|||| |||||||||| | | | 1) | | | | | | | | | | | | 2) | 3) | | <en blanco> ::=

STR_LOWER

STR_WHITE

1) Letra eth islandesa. 2) Letra Y con acento agudo 3) Letra thorn islandesa.

Informacin Relacionada
Descrita en: Operaciones que utilizan cadenas Valores de las cadenas Caractersticas Bsicas - Expresiones Caractersticas Bsicas - Elementos de Base

7-string-2

Gua de Referencia RAPID

symnum

Nmero simblico

Symnum sirve para representar un nmero entero con una constante simblica.

Descripcin
Una constante symnum est prevista para ser utilizada cuando se comprueba el valor de retorno de las funciones OpMode y RunMode. Vase el ejemplo siguiente.

Ejemplo
IF RunMode() = RUN_CONT_CYCLE THEN . . ELSE . . ENDIF

Datos Predefinidos
A continuacin se indican las constantes simblicas del tipo de dato symnum que estn predefinidas y que pueden ser utilizadas cuando se comprueba los valores de retorno de las funciones OpMode y RunMode.
Valor 0 1 2 3 4 Constante simblica RUN_UNDEF RUN_CONT_CYCLE RUN_INSTR_FWD RUN_INSTR_BWD RUN_SIM Comentario Modo de ejecucin no definido Modo de ejecucin continuo o cclico Modo de ejecucin hacia adelante Modo de ejecucin hacia atrs Modo de ejecucin simulada

Gua de Referencia RAPID

7-symnum-1

Valor 0 1 2

Constante simblica OP_UNDEF OP_AUTO OP_MAN_PROG

Comentario Modo de funcionamiento no definido Modo de funcionamiento automtico Modo de funcionamiento manual max. 250 mm/s Modo de funcionamiento manual Velocidad total, 100%

OP_MAN_TEST

Caractersticas
Symnum es un tipo de dato equivalente de num y por consiguiente hereda sus caractersticas.

Informacin relacionada
Descrita en: Tipos de datos en general, tipos de datos equivalentes Caractersticas BASIC - Tipos de Datos

7-symnum-2

Gua de Referencia RAPID

tooldata

Datos de herramienta

Tooldata se usa para describir las caractersticas de una herramienta, como por ejemplo, una boquilla de soldadura o una pinza. Si la herramienta est fija en el espacio (si se trata de una herramienta estacionaria), se definirn los datos de herramienta normales correspondientes as como la pinza que sujeta el objeto de trabajo.

Descripcin
Los datos de herramienta afectarn a los movimientos del robot en la siguiente medida: - El punto central de la herramienta (TCP) se refiere a un punto que cumplir con la trayectoria especificada y con la exigencia de velocidad. En el caso en que se reoriente la herramienta o si se usan ejes externos coordinados, solamente este punto seguir la trayectoria deseada a la velocidad programada. - En el caso en que se use una herramienta estacionaria, tanto la velocidad como la trayectoria programadas se referirn al objeto de trabajo. - La carga de la herramienta sirve para controlar los movimientos del robot de la mejor manera posible. La definicin de una carga incorrecta puede provocar oscilaciones, por ejemplo. - Las posiciones programadas se refieren a la posicin del TCP utilizado y a la orientacin respecto al sistema de coordenadas de la herramienta. Ello significa que si, por ejemplo, se ha reemplazado una herramienta porque est daada, se podr todava utilizar el programa antiguo si se vuelve a definir el sistema de coordenadas de la herramienta. Los datos de herramienta tambin se usan al mover el robot para: - Definir el TCP que no debe moverse cuando se reorienta la mueca. - Definir el sistema de coordenadas de la herramienta con vistas a facilitar el movimiento o rotacin de las direcciones de la herramienta.

Componentes
robhold (en el robot) Tipo de datos: bool

Define si el robot est sujetando la herramienta o no: - TRUE -> El robot est sujetando la herramienta.

- FALSE -> El robot no est sujetando la herramienta, es decir, se trata de una herramienta estacionaria.

Gua de Referencia RAPID

7-tooldata-1

tframe (coordenadas de la herramienta)

Tipo de dato: pose

El sistema de coordenadas de la herramienta, es decir: - La posicin del TCP (x, y, z) en mm. - Las direcciones de la herramienta expresadas bajo la forma de un cuaternio (q1, q2, q3 y q4). Tanto la posicin como la rotacin se definen utilizando el sistema de coordenadas de la mueca (vase la Figura 1.) Si se desea utilizar una herramienta estacionaria, la definicin se realizar respecto al sistema de coordenadas del mundo. Si la direccin de la herramienta no est especificada, el sistema de coordenadas de la herramienta y el sistema de coordenadas de la mueca coincidirn.

El orificio de control

El sistema de coordenadas de la mueca Y Z El sistema de coordenadas de la herramienta TCP Y X Z

Figura 1 Definicin del sistema de coordenadas de la herramienta.

tload (carga de la herramienta) La carga de la herramienta, es decir: - El peso de la herramienta en kg.

Tipo de dato: loaddata

- El centro de gravedad de la herramienta (x, y, z) en mm. - Los ejes de momento de la herramienta, expresados como un cuaternio (q1, q2, q3, q4). - El momento de inercia de la herramienta de los ejes de momento x, y, z, expresado en kgm2. Si todos los componentes han sido definidos como 0 kgm2, la herramienta ser considerada como si se tratara de una carga puntual. Para ms informacin, vase el tipo de dato loaddata. Si se utiliza una herramienta estacionaria, se deber definir la carga de la pinza que sujeta el objeto de trabajo. Obsrvese que slo se deber especificar la carga de la herramienta. La carga til manipulada por una pinza se activa/desactiva mediante la instruccin GripLoad.

7-tooldata-2

Gua de Referencia RAPID

Examples
PERS tooldata pinza := [ TRUE, [[97.4, 0, 223.1], [0.924, 0, 0.383 ,0]], [5, [23, 0, 75], [1, 0, 0, 0], 0, 0, 0]]; La herramienta de la Figura 1 deber ser descrita utilizando los siguientes valores: - El robot est sujetando la herramienta. - El TCP est situado en el punto 223,1 mm en lnea recta a partir del eje 6 y 97,4 mm a lo largo del eje X del sistema de coordenadas de la mueca. - Las direcciones X y Z de la herramienta debern girarse de 45 respecto al sistema de coordenadas de la mueca. - La herramienta pesa 5 kg. - El centro de gravedad est situado en el punto 75 mm en lnea recta a partir del eje 6 y 23 mm a lo largo del eje X del sistema de coordenadas de la mueca. - La carga puede ser considerada como una carga puntual, es decir, sin ningn momento de inercia. pinza.tframe.trans.z := 225.2; El TCP de la herramienta, gripper, ser ajustado a 225,2 en la direccin z.

Limitaciones
Los datos de herramienta (tooldata) debern ser definidos nicamente como variables persistentes (PERS) y no debern ser definidos dentro de una rutina. Los valores utilizados sern almacenados luego, cuando el programa sea almacenado en un disquete y se recuperaran al cargar el disquete. El argumento del tipo datos de herramienta en cualquier instruccin de movimiento deber ser un dato persistente entero (no un elemento matriz ni un componente de registro).

Datos predefinidos
La herramienta tool0 define el sistema de coordenadas de la mueca y tiene como punto de origen el centro de la brida de montaje. Se podr siempre acceder a tool0 desde el programa, aunque no puedan ser cambiados (estn almacenados en el mdulo del sistema BASE). PERS tooldata tool0 := [ TRUE, [ [0, 0, 0], [1, 0, 0 ,0] ], [0, [0, 0, 0], [1, 0, 0, 0], 0, 0, 0] ];

Gua de Referencia RAPID

7-tooldata-3

Estructura
< dataobject of tooldata > < robhold of bool > < tframe of pose > < trans of pos > < x of num > < y of num > < z of num > < rot of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num > < tload of loaddata > < mass of num > < cog of pos > < x of num > < y of num > < z of num > < aom of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num > < ix of num > < iy of num > < iz of num >

Informacin Relacionada
Descrita en: Instrucciones de posicionamiento Sistemas de coordenadas Definicin de la carga til Resumen RAPID- Movimiento Principios de Movimiento y de E/S Sistemas de coordenadas Instrucciones - Gripload

7-tooldata-4

Gua de Referencia RAPID

triggdata Eventos de posicionamiento - disparo


Triggdata sirve para almacenar datos referentes a un evento de posicionamiento durante un movimiento del robot. Un evento de posicionamiento puede tomar la forma de la activacin de una seal de salida o de la ejecucin de una rutina de interrupcin en una posicin especfica a lo largo de la trayectoria de movimiento del robot.

Descripcin
Para definir las condiciones de las medidas respectivas en un evento de posicionamiento, se utilizan las variables del tipo triggdata. El contenido de los datos de la variable ser formado en el programa utilizando una de las instrucciones TriggIO o TriggInt, y es utilizado por una de las instrucciones TriggL, TriggC o TriggJ.

Ejemplo
VAR triggdata gunoff; TriggIO gunoff, 5 \DOp:=gun, off; TriggL p1, v500, gunoff, fine, gun1; La seal de salida digital gun est activada en el valor off cuando el TCP est en una posicin de 5 mm antes del punto p1.

Caractersticas
Triggdata es un tipo de dato sin valor.

Informacin relacionada
Descrita en: Definicin de los disparos Uso de los disparos Caractersticas de tipos de datos sin valor Instrucciones - TriggIO, TriggInt Instrucciones - TriggL, TriggC, TriggJ Caractersticas Bsicas - Tipos de Datos

Gua de Referencia RAPID

7-triggdata-1

7-triggdata-2

Gua de Referencia RAPID

tunetype

Tipo de ajuste servo

Tunetype sirve para representar un entero con una constante simblica.

Descripcin
La constante tunetype ha sido concebida para ser utilizada como un argumento para la instruccin TuneServo. Vase el ejemplo siguiente.

Ejemplo
TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP;

Datos predefinidos
Las siguientes constantes simblicas del tipo de dato tunetype son predefinidas y se utilizarn como argumentos para la instruccin TuneServo.

Valor 0 1 TUNE_DF TUNE_KP

Constante simblica

Comentarios Reduce las oscilaciones Afecta la ganancia de control de posicin Afecta la ganancia de control de velocidad Afecta el tiempo de integracin de control de la velocidad

TUNE_KV

TUNE_TI

Caractersticas
Tunetype es un tipo de dato equivalente a num y por consiguiente hereda sus mismas caractersticas.

Gua de Referencia RAPID

7-tunetype-1

Informacin relacionada
Descrita en: Tipos de datos en general, tipos de datos equivalentes Caractersticas Bsicas - Tipos de Datos

7-tunetype-2

Gua de Referencia RAPID

wobjdata

Datos del objeto de trabajo

Wobjdata se usa para describir el objeto de trabajo que el robot est soldando, procesando, moviendo, etc.

Descripcin
Si los objetos de trabajo han sido definidos en una instruccin de posicionamiento, la posicin estar basada en las coordenadas del objeto de trabajo. Las ventajas de ello son las siguientes: - Si los datos de posicin son introducidos de forma manual, como en la programacin off-line, los valores podrn sacarse de un grfico. - Los programas podrn ser reutilizados rpidamente siguiendo los cambios realizados en la instalacin del robot. As, por ejemplo, si se mueve una fijacin, slo se deber volver a definir el sistema de coordenadas del usuario. - Las variaciones respecto a la forma en que el objeto de trabajo est fijado podrn ser compensadas. Para ello, sin embargo, se necesitar algn tipo de sensor para posicionar el objeto de trabajo. Si se utiliza una herramienta estacionaria o ejes externos coordinados, se deber definir el objeto de trabajo, ya que la trayectoria y la velocidad se referirn al objeto de trabajo y no al TCP. Los datos del objeto de trabajo podrn ser utilizados tambin para el movimiento: - El robot podr ser movido en las direcciones del objeto de trabajo. - La posicin utilizada que se visualiza est basada en el sistema de coordenadas del objeto de trabajo.

Componentes
robhold (en el robot) Tipo de dato: bool

Define si el robot est sujetando o no el objeto de trabajo: - TRUE -> El robot est sujetando el objeto de trabajo, es decir, que est utilizando una herramienta estacionaria.

- FALSE -> El robot no est sujetando el objeto de trabajo, es decir, que el robot est sujetando la herramienta.

Gua de Referencia RAPID

7-wobjdata-1

ufprog

(sistema de coordenadas del usuario/programada) Tipo de dato: bool

Define si se usa o no un sistema de coordenadas fijo del usuario: - TRUE -> Sistema de coordenadas fijo del usuario.

- FALSE -> Sistema de coordenadas mvil del usuario, es decir, que se estn usando ejes externos coordinados. ufmec (sistema de coordenadas de la unidad mecnica) Tipo de dato: string

La unidad mecnica con la que los movimientos del robot estn coordinados. Slo se especifica en el caso de sistemas de coordenadas mvil del usuario (ufprog es FALSE). Est especificado con el nombre con el que est definido en los parmetros del sistema, por ejemplo, "orbit_a". uframe (sistema de coordenadas del usuario) Tipo de dato: pose

El sistema de coordenadas del usuario, es decir, la posicin de la superficie de trabajo o el utillaje utilizados (vase la Figura 1): - La posicin del origen del sistema de coordenadas (x, y, z) en mm. - La rotacin del sistema de coordenadas, expresado como un cuaternio (q1, q2, q3, q4). Si el robot est sujetando la herramienta, el sistema de coordenadas del usuario ser definido como sistema de coordenadas globales (como sistema de coordenadas de la mueca si se usa una herramienta estacionaria). Cuando se usan los ejes externos coordinados (ufprog es FALSE), el sistema de coordenadas del usuario ser definido en los parmetros del sistema. oframe (sistema de coordenadas del objeto) Tipo de dato: pose

El sistema de coordenadas del objeto, es decir, la posicin del objeto de trabajo utilizado (vase la Figura 1): - La posicin del origen del sistema de coordenadas (x, y, z) en mm. - La rotacin del sistema de coordenadas, expresado como un cuaternio (q1, q2, q3, q4). El sistema de coordenadas del objeto est definido en el sistema de coordenadas del usuario.

7-wobjdata-2

Gua de Referencia RAPID

AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA

X Z

Coordenadas de la herramienta Y TCP Z Y Coordenadas del usuario Z Z Coordenadas del objeto Y X

X Coordenadas en la base

Y X Coordenadas del mundo

Figura 1 Los diferentes sistemas de coordenadas del robot (cuando el robot est sujetando la herramienta).

Ejemplo
PERS wobjdata obj2 :=[ FALSE, TRUE, "", [ [300, 600, 200], [1, 0, 0 ,0] ], [ [0, 200, 30], [1, 0, 0 ,0] ] ]; El objeto de trabajo de la Figura 1 se describe utilizando los siguientes valores: - El robot no est sujetando el objeto de trabajo. - Se usa el sistema de coordenadas fijo del usuario. - El sistema de coordenadas del usuario no ha sido girado y las coordenadas de su origen estn en x= 300, y = 600, z = 200 mm en el sistema de coordenadas del mundo. - El sistema de coordenadas del objeto no ha sido girado y las coordenadas de su origen estn en x= 0, y= 200, z= 30 mm en el sistema de coordenadas del usuario. obj2.oframe.trans.z := 38.3; - La posicin del objeto de trabajo obj2 est ajustada en 38,3 mm en la direccin z.

Limitaciones
Los datos del objeto de trabajo debern definirse como una variable persistente (PERS) y no debern definirse dentro de una rutina. Los valores utilizados sern entonces guardados cuando el programa sea almacenado en un disquete y sern reutilizados al cargar de nuevo el contenido del disquete. El argumento del tipo datos de objeto de trabajo en cualquier instruccin de movimiento deber ser un dato persistente entero (no un elemento matriz ni un componente de registro). Gua de Referencia RAPID 7-wobjdata-3

Datos predefinidos
Los datos del objeto de trabajo wobj0 debern ser definidos de forma que el sistema de coordenadas del objeto coincida con el sistema de coordenadas mundo. El robot no sujeta el objeto de trabajo. Siempre se podr acceder a Wobj0 desde el programa, pero nunca podr ser cambiado (se encuentra almacenado en el mdulo del sistema BASE). PERS wobjdata wobj0 := [ FALSE, TRUE, , [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];

Estructura
< dataobject of wobjdata > < robhold of bool > < ufprog of bool> < ufmec of string > < uframe of pose > < trans of pos > < x of num > < y of num > < z of num > < rot of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num > < oframe of pose > < trans of pos > < x of num > < y of num > < z of num > < rot of orient > < q1 of num > < q2 of num > < q3 of num > < q4 of num >

7-wobjdata-4

Gua de Referencia RAPID

Informacin Relacionada
Descrita en: Instrucciones de posicionamiento Sistemas de coordenadas Ejes externos coordinados Calibracin de los ejes externos coordinados Resumen RAPID - Movimiento Principios de Movimiento y de E/S Sistemas de coordenadas Principios de Movimiento y de E/S Sistemas de coordenadas Gua del Usuario - Parmetros del Sistema

Gua de Referencia RAPID

7-wobjdata-5

7-wobjdata-6

Gua de Referencia RAPID

zonedata

Datos de zona

Zonedata se usa para especificar como debe terminarse una posicin, es decir, a qu distancia de la posicin programada deben encontrarse los ejes antes de moverse hacia la posicin siguiente.

Descripcin
Una posicin puede terminarse en un punto de paro o un punto de paso. Un punto de paro significa que tanto el robot como los ejes externos deben alcanzar la posicin especificada (parada) antes de que la ejecucin del programa prosiga con la instruccin siguiente. Un punto de paso significa que la posicin programada nunca es alcanzada. En lugar de ello, la direccin del movimiento es cambiada antes de que se pueda alcanzar dicha posicin. Para cada posicin, se podr definir dos zonas distintas (reas): - La zona de la trayectoria del TCP. - La zona extendida de reorientacin de la herramienta y de los ejes externos.

La zona de la trayectoria del TCP Inicio de la reorientacin hacia la posicin siguiente Inicio de la trayectoria esquina del TCP
Figura 1 Las zonas de un punto de paso.

Posicin programada

La zona extendida

Las zonas funcionan de la misma manera durante el movimiento de los ejes, sin embargo, el tamao de la zona puede diferir de algo respecto a la programada. El tamao de la zona nunca podr ser mayor que la mitad de la distancia a la posicin ms cercana (hacia adelante o hacia atrs). Si una zona mayor es especificada, el robot automticamente la reducir.

Gua de Referencia RAPID

7-zonedata-1

La zona de la trayectoria del TCP Una trayectoria esquina (parablica) es generada tan pronto como se alcanza el borde de la zona (vase la Figura 1). La zona de reorientacin de la herramienta La reorientacin se inicia en cuanto el TCP alcanza la zona extendida. La herramienta es reorientada de forma que la orientacin sea la misma al abandonar la zona que si hubiera habido un punto de paro programado. La reorientacin ser ms suave si se aumenta el tamao de la zona y habr menos riesgo de tener que reducir la velocidad para llevar a cabo la reorientacin.

AAAAA AA AAAA AAAAAAAAAAAAAAAA A A A AA AAAAA

AAAA AAAA AAAAAAAAAAAAAAAA A A A AAAA

Figura 2 Tres posiciones han sido programadas; la ltima con una orientacin de herramienta diferente.

Figura 3 Si todas las posiciones fueran puntos de paro, la ejecucin del programa tendra este aspecto.

Tamao de la zona Figura 4 Si la posicin del medio fuera un punto de paso, la ejecucin del programa tendra este aspecto

La zona de los ejes externos Los ejes externos empiezan a moverse hacia la siguiente posicin tan pronto como el TCP alcanza la zona extendida. De esta forma, un eje lento puede iniciar una aceleracin en una etapa anterior y luego seguir ejecutando el programa de forma ms regular. Zona reducida Con mayores reorientaciones de la herramienta o con movimientos ms amplios de los ejes externos, la zona extendida e incluso la zona del TCP podrn ser reducidas por el robot. La zona ser definida como el tamao relativo ms pequeo de la zona basndose en los componentes de zona (vase la pgina siguiente) y

7-zonedata-2

Gua de Referencia RAPID

en el movimiento programado.
90 mm MoveL con movimientos de 200 mm pzone_ori de la herramienta, reorientacin de P1 25 de la herram y con zona de z60 Los tamaos relativos de la zona son pzone_tcp ________________________ = 60/200 = 30% longitud movimiento P1 - P2 pzone_ori ________________________ = 90/200 = 45% longitud movimiento P1 - P2 zone_ori ________________________ = 9o/25o = 36% ngulo de reorientacin P1 - P2 Figura 5 Ejemplo de zona reducida al 36% del movimiento 60 mm pzone_tcp P2

9o zone_ori

MoveL con movimientos de 200 mm 90 mm 60 mm 9o de la herramienta, reorientacin de pzone_ori pzone_tcp zone_ori 60o de la herram y con zona de z60 P1 Los tamaos relativos de la zona son pzone_tcp ________________________ = 60/200 = 30% longitud movimiento P1 - P2 zone_ori ________________________ = 9o/60o = 15% ngulo de reorientacin P1 - P2 Figura 6 Ejemplo de zona reducida al 15% del movimiento P2

Componentes
finep (punto fino) Tipo de dato: bool

Define si el movimiento debe terminar como un punto de paro (punto fino) o como un punto de paso. TRUE -> El movimiento termina como un punto de paro. Los componentes restantes en los datos de zona no son utilizados. FALSE -> El movimiento termina como un punto de paso. (zona de la trayectoria TCP) Tipo de dato: num

pzone_tcp

El tamao (el radio) de la zona del TCP en mm. La zona extendida ser definida como el tamao relativo ms pequeo de la zona basado en los siguientes componentes y en el movimiento programado. pzone_ori (zona de la trayectoria de la orientacin) Tipo de dato: num

El tamao de la zona (el radio) de la reorientacin de la herramienta. El tamao

Gua de Referencia RAPID

7-zonedata-3

se definir como siendo la distancia del TCP a partir del punto programado, en mm. El tamao deber ser mayor que el valor correspondiente de la pzone_tcp. Si se especifica un valor ms bajo, el tamao de la zona aumentar automticamente para aumentar de la misma forma los valores de pzone_tcp. pzone_eax (zona de la trayectoria de los ejes externos) Tipo de dato: num

El tamao de la zona (el radio) de los ejes externos. El tamao se definir como siendo la distancia del TCP a partir del punto programado, en mm. El tamao deber ser mayor que el valor correspondiente de la pzone_tcp. Si se especifica un valor ms bajo, el tamao de la zona aumentar automticamente para aumentar de la misma forma los valores de pzone_tcp. zone_ori (zona de la orientacin) Tipo de dato: num

El tamao de la zona de la reorientacin de la herramienta en grados. Si el robot est sujetando el objeto de trabajo, esto representar un ngulo de rotacin del objeto de trabajo. zone_leax (zona de los ejes externos lineales) Tipo de dato: num

El tamao de la zona de los ejes externos lineales en mm. zone_reax (zona de los ejes externos rotativos) Tipo de dato: num

El tamao de zona de los ejes externos rotativos en grados.

Ejemplos
VAR zonedata trayec := [ FALSE, 25, 40, 40, 10, 35, 5]; El dato de zona trayec ser definido mediante las siguientes caractersticas: - El tamao de zona de la trayectoria del TCP es de 25 mm. - El tamao de zona de la reorientacin de la herramienta es de 40 mm (movimiento del TCP). - El tamao de zona de los ejes externos es de 40 mm (movimiento del TCP). Sin embargo, si el TCP est parado, o si hay una reorientacin ms amplia, o si el movimiento de los ejes externos es mayor respecto a la zona, se aplicarn los siguientes valores: - El tamao de la zona de la reorientacin de la herramienta es de 10 grados. - El tamao de la zona de los ejes externos lineales es de 35 mm. - El tamao de la zona de los ejes externos rotativos es de 5 grados.

7-zonedata-4

Gua de Referencia RAPID

trayec.pzone_tcp := 40; El tamao de la zona de la trayectoria del TCP est ajustada a los 40 mm.

Datos predefinidos
Hay una serie de datos de zona que ya estn definidos en el mdulo del sistema BASE. Puntos de paro Nombre fine 0 mm

Puntos de paso movimiento del TCP z1 z5 z10 z15 z20 z30 z40 z50 z60 z80 z100 z150 z200 1 mm 5 mm 10 mm 15 mm 20 mm 30 mm 40 mm 50 mm 60 mm 80 mm 100 mm 150 mm 200 mm 1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm 1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm reorientacin de la herramienta Ejes rotat. 0.1 o 0.8 o 1.5 o 2.3 o 3.0o 4.5 o 6.0 o 7.5 o 9.0 o 12 o 15 o 23 o 30 o 0.1 o 0.8 o 1.5 o 2.3 o 3.0 o 4.5 o 6.0 o 7.5 o 9.0 o 12 o 15 o 23 o 30 o 1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm

Nombre trayec.TCP Orientacin Ejes ext. Orientacin Ejes lin.

Estructura
< data object de zonedata > < finep de bool > < pzone_tcp de num > < pzone_ori de num > < pzone_eax de num > < zone_ori de num > < zone_leax de num > < zone_reax de num >

Gua de Referencia RAPID

7-zonedata-5

Informacin relacionada
Descrita en: Instrucciones de posicionamiento Movimientos/Trayectorias en general Resumen RAPID - Movimiento Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa Gua del Usuario - Parmetros del Sistema

Configuracin de los ejes externos

7-zonedata-6

Gua de Referencia RAPID

Datos del Sistema


Los datos del sistema son los datos internos del robot a los que accede el programa para su lectura. Pueden ser utilizados para leer el estado utilizado, por ejemplo, la velocidad mxima utilizada. La siguiente tabla contiene una relacin de todos los datos del sistema.
Nombre C_MOTSET Descripcin Caractersticas de movimiento utilizadas, es decir: -velocidad mx. y ajuste de la velocidad - aceleracin mxima - movimiento relativo a puntos singulares - control de la configuracin de los ejes - carga til en la pinza C_PROGDISP Desplazamiento del programa utilizado del robot y de los ejes externos. progdisp Instrucciones - PDispSet - PDispOn - PDispOff - EOffsSet - EOffsOn - EOffsOff El robot Tipos de datos- progdisp Instrucciones - PDispSet Instrucciones - PDispOn Instrucciones - PDispOff Instrucciones - EOffsSet Instrucciones- EOffsOn Instrucciones - EOffsOff Tipos de datos- errnum Resumen RAPID Recuperacin de errores Tipos de datos- intnum Resumen RAPID - Interrupciones Tipo de dato motsetdata Cambiado por Instrucciones - VelSet - AccSet - SingArea - ConfL,Conf - GripLoad Vase tambin Tipos de datos- motsetdata Instrucciones - VelSet Instrucciones - AccSet Instrucciones - SingArea Instrucciones - ConfL, ConfJ Instrucciones - GripLoad

ERRNO

El ltimo error ocurrido

errnum

INTNO

La ltima interrupcin ocurrida

intnum

El robot

Gua de Referencia RAPID

7-Datos del Sistema-1

7-Datos del Sistema-2

Gua de Referencia RAPID

:=

Asignacin de un valor
La instruccin := sirve para asignar un valor a un dato. Este valor puede ser cualquier valor constante contenido en una expresin aritmtica, por ejemplo, reg1+5*reg3.

Ejemplos
reg1 := 5; reg1 tiene asignado el valor 5. reg1 := reg2 - reg3; reg1 tiene asignado el valor resultante del clculo reg2-reg3. contador := contador + 1; contador ha sido incrementado en1.

Argumentos Dato := Valor


Dato El dato al que se desea asignar un Valor El valor deseado. Tipo de dato: Igual que Dato Tipos de dato: Todos

Ejemplos
herram1.tframe.trans.x := herram1.tframe.trans.x + 20; El TCP del herram1 ser movido de 20 mm en la direccin X. palet{5,8} := Abs(valor); Un elemento de la matriz pallet tiene asignado un valor igual al valor absoluto de la variable valor.

Gua de Referencia RAPID

8-:=-1

Limitaciones
El dato (cuyo valor debe ser cambiado) no debe ser ni: - una constante - un tipo de dato sin valor. Los datos y valores deben tener tipos de datos similares (los mismos o equivalentes).

Sintaxis
(EBNF) <assignment target> := <expresin> ; <assignment target> ::= <variable> |<persistente> |<DOB>

Informacin Relacionada
Descrita en: Expresiones Tipos de datos sin valor Asignacin de un valor inicial a un dato Asignacin manual de un valor a un dato Caractersticas Bsicas- Expresiones Caractersticas Bsicas- Tipos de Datos Caractersticas Bsicas - Datos Gua del Usuario - Programacin y Pruebas

8-:=-2

Gua de Referencia RAPID

AccSet

Reduccin de la aceleracin
AccSet sirve cuando se manipulan cargas frgiles. Permite aceleraciones y deceleraciones ms lentas, para la realizacin de movimientos ms suaves del robot.

Ejemplos
AccSet 50, 100; La aceleracin est limitada al 50% del valor normal. AccSet 100, 50; La rampa de aceleracin est limitada al 50% del valor normal.

Argumentos AccSet
Acc

Acc Rampa
Tipo de dato: num

La aceleracin y deceleracin como un porcentaje de los valores normales. El 100% corresponde a la aceleracin mxima. Valor mximo: 100%. Un valor de entrada < 20% da el 20% de aceleracin mxima. Rampa Tipo de dato: num

El coeficiente con el que la aceleracin y deceleracin aumenta como porcentaje de los valores normales (vase la Figura 1). Los impulsos del movimiento podrn reducirse disminuyendo este valor. El 100% corresponde al coeficiente mximo. Valor mximo: 100%. Un valor de entrada < 10% da el 10% de la aceleracin mxima.
Aceleracin

Tiempo AccSet 100, 100, es decir, una aceleracin normal Aceleracin Aceleracin

Tiempo AccSet 30, 100 AccSet 100, 30

Tiempo

Figura 1 La reduccin de la aceleracin origina movimientos ms suaves.

Gua de Referencia RAPID

8-AccSet-1

Ejecucin del Programa


La aceleracin se aplica tanto al robot como a los ejes externos hasta que se haya ejecutado una nueva instruccin AccSet. Los valores por defecto (100%) se activan automticamente - a la puesta en marcha en fro - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin del programa.

Sintaxis
AccSet [ Acc := ] < expression (IN) of num > , [ Rampa := ] < expression (IN) of num > ;

Informacin relacionada
Descrita en: Instrucciones de posicionamiento Resumen RAPID - Movimiento

8-AccSet-2

Gua de Referencia RAPID

ActUnit

Activacin de una unidad mecnica

ActUnit sirve para activar una unidad mecnica. Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo, cuando se utilizan unidades de accionamiento comunes.

Ejemplo
ActUnit orbit_a; Activacin de la unidad mecnica orbit_a.

Argumentos ActUnit MecUnit


MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica que debe ser activada.

Ejecucin del programa


Cuando el robot y los ejes externos estn inmovilizados, la unidad mecnica especificada ser activada. Ello significa que ser controlada y monitorizada por el robot. En el caso en que varias unidades mecnicas compartan una misma unidad de accionamiento, la activacin de una de estas unidades mecnicas conectar tambin esta unidad a la unidad de accionamiento comn.

Limitaciones
La instruccin ActUnit no podr utilizarse en: - la secuencia de programa StorePath ... RestoPath - rutina de evento REARRANQUE La instruccin de movimiento anterior a esta instruccin deber terminar con un punto de paro para que en esta instruccin sea posible realizar un rearranque despus de un corte de potencia.

Gua de Referencia RAPID

8-ActUnit-1

Sintaxis
ActUnit [MecUnit := ] < variable (VAR) of mecunit> ;

Informacin relacionada
Descrita en: Desactivacin de las unidades mecnicas Unidades mecnicas Ms ejemplos Instrucciones - DeactUnit Tipos de Datos - mecunit Instrucciones - DeactUnit

8-ActUnit-2

Gua de Referencia RAPID

Add

Adicin de un valor numrico


Add sirve para sumar o restar un valor a o de una variable o persistente numrica.

Ejemplos
Add reg1, 3; 3 ha sido aadido a reg1, es decir, reg1:=reg1+3. Add reg1, -reg2; El valor de reg2 ha sido restado de reg1, es decir, reg1:=reg1-reg2.

Argumentos Add Nombre ValorAadir


Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea cambiar. ValorAadir El valor que se desea aadir. Tipo de dato: num

Sintaxis
Add [ Nombre := ] < variable o persistente (INOUT) de num > , [ ValorAadir:= ] < expresin (IN) de num > ;

Informacin relacionada
Descrita en: Incrementar una variable de 1 Disminuir una variable de 1 Cambiar un dato utilizando una expresin arbitraria, por ejemplo, una multiplicacin Instrucciones - Incr Instrucciones - Decr Instrucciones - :=

Gua de Referencia RAPID

8-Add-1

8-Add-2

Gua de Referencia RAPID

Break Interrupcin de la ejecucin del programa


Break sirve para realizar una interrupcin inmediata en la ejecucin del programa para propsitos de deteccin y eliminacin de los cdigos de errores del programa RAPID.

Ejemplo
.. Break; ... La ejecucin del programa se detiene y entonces es posible realizar un anlisis de las variables, valores, etc.. para propsitos de deteccin y eliminacin de errores.

Ejecucin del programa


La instruccin detiene la ejecucin del programa en seguida, sin esperar que el robot y los ejes externos hayan alcanzado su punto de destino programado del movimiento que se est realizando en este momento. La ejecucin del programa podr entonces ser rearrancada a partir de la instruccin siguiente.

Sintaxis
Break;

Informacin relacionada
Descrita en: Paro de la actividad del programa Paro despus de un error fatal Terminar la ejecucin del programa Slo detener los movimientos del robot Instrucciones - Stop Instrucciones - EXIT Instrucciones - EXIT Instrucciones - StopMove

Gua de Referencia RAPID

8-Break-1

8-Break-2

Gua de Referencia RAPID

CallByVar

Llamada de un procedimiento mediante una variable

CallByVar (Call By Variable) sirve para llamar procedimientos con nombres especficos, por ejemplo, proc_name1, proc_name2, proc_name3 ... proc_namex mediante una variable.

Ejemplo
reg1 := 2; CallByVar proc, reg1; El procedimiento proc2 es llamado.

Argumentos CallByVar Nombre Nmero Nombre


Tipo de dato: string

Es la primera parte del nombre del procedimiento, por ejemplo, proc_name.

Nmero

Tipo de dato: num

Es el valor numrico del nmero del procedimiento. Este valor ser convertido en una cadena y producir la segunda parte del nombre del procedimiento, por ejemplo, 1. El valor deber ser un nmero entero positivo.

Ejemplo
Seleccin esttica de una llamada de procedimiento TEST reg1 CASE 1: lf_door door_loc; CASE 2: rf_door door_loc; CASE 3: lr_door door_loc; CASE 4: rr_door door_loc; DEFAULT: EXIT; ENDTEST Dependiendo de si el valor del registro reg1 es 1, 2, 3 o 4, diferentes procedi-

Gua de Referencia RAPID

8-CallByVar-1

mientos sern llamados para realizar el tipo de trabajo apropiado para la puerta seleccionada. La situacin de la puerta se encuentra en el argumento door_loc. Seleccin dinmica de la llamada de procedimiento con una sintaxis en RAPID reg1 := 2; %proc+NumToStr(reg1,0)% door_loc; El procedimiento proc2 es llamado con el argumento door_loc. Limitacin: Todos los procedimientos deben tener un nombre especfico, por ejemplo, proc1, proc2, proc3. Seleccin dinmica de la llamada de procedimiento con CallByVar reg1 := 2; CallByVar proc,reg1; El procedimiento proc2 es llamado. Limitacin: Todos los procedimientos deben tener un nombre especfico, por ejemplo, proc1, proc2, proc3, y no se podrn utilizar argumentos.

Limitaciones
Slo puede utilizarse para llamar procedimientos sin parmetros. La ejecucin de CallByVar es un poco ms larga en tiempo que la ejecucin de una llamada normal de procedimiento.

Gestin de errores
Si el procedimiento especfico no ha sido encontrado, la variable del sistema ERRNO se activar en ERR_CALLPROC.

Sintaxis
CallByVar [Name :=] <expresin (IN) de string>, [Number :=] <expresin (IN) de num>;

8-CallByVar-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Llamada de procedimientos Caractersticas Bsicas - Rutinas Gua del Usuario - El lenguaje de programacin RAPID

Gua de Referencia RAPID

8-CallByVar-3

8-CallByVar-4

Gua de Referencia RAPID

Clear

Borrado de un valor
Clear sirve para inicializar una variable o persistente numrica, es decir, activarlas en el valor 0.

Ejemplo
Clear reg1; El valor de Reg1 queda eliminado, es decir que, reg1:=0.

Argumentos Clear
Nombre

Nombre
Tipo de dato: num

El nombre de la variable o persistente que se desea eliminar.

Sintaxis
Clear [ Nombre := ] < variable o persistente (INOUT) de num > ;

Informacin relacionada
Descrita en: Incrementar la variable de 1 Disminuir la variable de 1 Instrucciones - Incr Instrucciones - Decr

Gua de Referencia RAPID

8-Clear-1

8-Clear-2

Gua de Referencia RAPID

ClkReset

Puesta a cero de un reloj para el cronometraje

ClkReset sirve para poner a cero un reloj que funciona como un cronmetro. Esta instruccin puede utilizarse antes de usar un reloj, para asegurarse de que est a 0.

Ejemplo
ClkReset reloj1; El reloj reloj1 ser puesto a cero.

Argumentos ClkReset
Reloj El nombre del reloj que se desea reinicializar.

Reloj
Tipo de dato: reloj

Ejecucin del programa


Cuando se reinicializa un reloj, ste se pondr a 0. Si el reloj est funcionando, se parar y luego se reinicializar.

Sintaxis
ClkReset [ Reloj := ] < variable (VAR) de reloj > ;

Informacin Relacionada
Descrita en: Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

Gua de Referencia RAPID

8-ClkReset-1

8-ClkReset-2

Gua de Referencia RAPID

ClkStart

Arranque de un reloj para el cronometraje

ClkStart sirve para arrancar un reloj que funciona como un cronmetro.

Ejemplo
ClkStart reloj1; El reloj reloj1 ser arrancado.

Argumentos ClkStart
Reloj El nombre del reloj que se desea arrancar.

Reloj
Tipo de dato: reloj

Ejecucin del programa


Cuando se arranca un reloj, seguir funcionando y contando los segundos hasta que sea detenido. Cuando la ejecucin del programa se para, el reloj sigue funcionando. Sin embargo, el acontecimiento que se deseaba cronometrar puede ya no ser vlido. Por ejemplo, si el programa estaba cronometrando el tiempo de espera de una entrada, puede ocurrir que la entrada haya sido recibida mientras el programa estaba detenido. En este caso, el programa no ser capaz de ver el acontecimiento que ocurri mientras el programa estaba parado. El reloj seguir funcionando cuando se corte el suministro de potencia siempre y cuando el sistema de alimentacin de bateras de seguridad mantenga el programa que contiene la variable del reloj. Cuando el reloj est funcionando, podr ser ledo, parado o reinicializado.

Ejemplo
VAR reloj reloj2; ClkReset reloj2; ClkStart reloj2; WaitUntil DInput(di1) = 1; ClkStop reloj2;

Gua de Referencia RAPID

8-ClkStart-1

time:=ClkRead(reloj2); El tiempo de espera que di1 tardar para pasar a 1 est siendo cronometrado.

Sintaxis
ClkStart [ Reloj := ] < variable (VAR) de reloj > ;

Informacin Relacionada
Descrita en: Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

8-ClkStart-2

Gua de Referencia RAPID

ClkStop

Paro de un reloj de cronometraje

ClkStop sirve para parar un reloj que funciona como cronmetro.

Ejemplo
ClkStop reloj1; El reloj reloj1 ser parado.

Argumentos ClkStop
Reloj El nombre del reloj que se desea parar.

Reloj
Tipo de dato: reloj

Ejecucin del programa


Cuando se para un reloj, ste dejar de funcionar. Si se para un reloj, podr ser ledo, arrancado de nuevo o reinicializado.

Sintaxis
ClkStop [ Reloj := ] < variable (VAR) de reloj > ;

Informacin Relacionada
Descrita en: Otras instrucciones de reloj Ms ejemplos Resumen RAPID - Sistema y Hora Instrucciones - ClkStart

Gua de Referencia RAPID

8-ClkStop-1

8-ClkStop-2

Gua de Referencia RAPID

Close

Cerrar un archivo o un canal serie


Close sirve para cerrar un archivo o un canal serie.

Ejemplo
Close canal2; El canal serie denominado canal2 ser cerrado.

Argumentos Close DispositivoE/S


Tipo de dato: iodev

DispositivoE/S

El nombre (referencia) del archivo o del canal serie que se desea cerrar.

Ejecucin del programa


El archivo o canal serie especificado ser cerrado y por lo tanto para realizar una lectura o escritura, deber volver a abrirse. Si el archivo o canal serie ya est cerrado, el sistema ignorar la instruccin.

Sintaxis
Close

[DispositivoE/S :=] <variable (VAR) de iodev>;

Informacin Relacionada
Descrita en: Abrir un archivo o un canal serie Resumen RAPID - Comunicacin

Gua de Referencia RAPID

8-Close-1

8-Close-2

Gua de Referencia RAPID

comment

Comentarios

Comment sirve nicamente para que el programa sea ms inteligible. No tiene ningn efecto en la ejecucin del programa.

Ejemplo
! Ir a la posicin situada encima del pallet MoveL p100, v500, z20, herram1; Se ha introducido un comentario en el programa para hacerlo ms inteligible.

Argumentos ! Comentario Comentario


Cualquier texto. Cadena de texto

Ejecucin del Programa


La ejecucin del programa no se ver en nada afectada por la instruccin de comentario.

Sintaxis
(EBNF) ! {<carcter>} <nuevalinea>

Informacin relacionada
Descrita en: Caracteres permitidos en un comentario Comentarios dentro de las declaraciones de datos y de rutinas Caractersticas BsicasElementos de Base Caractersticas BsicasElementos de Base

Gua de Referencia RAPID

8-comment-1

8-comment-2

Gua de Referencia RAPID

Compact IF

Si se cumple una condicin, entonces... (una instruccin)

Compact IF sirve cuando una sola instruccin debe ser ejecutada nicamente si se cumple una condicin especfica. En el caso en que diferentes instrucciones deban ser ejecutadas, segn se cumpla una condicin especfica o no, se utilizar la instruccin IF.

Ejemplos
IF reg1 > 5 GOTO sig; Si reg1 es mayor que 5, entonces la ejecucin del programa prosigue a la etiqueta sig. IF contador> 10 Set do1; La seal do1 se activar si el contador> 10.

Argumentos IF Condicin ...


Tipo de dato: bool

Condicin

La condicin que debe cumplirse para que la instruccin pueda ejecutarse.

Sintaxis
(EBNF) IF <expresin condicional> ( <instruccin> | <SMT>) ;

Informacin Relacionada
Descrita en: Condiciones (expresiones lgicas) IF con varias instrucciones Caractersticas Bsicas - Expresiones Instrucciones - IF

Gua de Referencia RAPID

8-Compact IF-1

8-Compact IF-2

Gua de Referencia RAPID

ConfJ

Control de la configuracin durante el movimiento eje a eje


ConfJ (Configuration Joint) sirve para especificar si la configuracin del robot va a ser controlada o no durante el movimiento eje a eje. Si la configuracin no va a ser controlada, el robot podr, en algunas ocasiones, utilizar una configuracin distinta de la que haba sido programada. Con ConfJ\Off, el robot no podr cambiar de configuracin de los ejes principales; buscar una solucin con la misma configuracin de ejes principales que la que tiene. Se mover a la configuracin de mueca ms cercana de los ejes 4 y 6.

Ejemplos
ConfJ \Off; MoveJ *, v1000, fine, herram1; El robot se mueve a la posicin y en la orientacin programadas. En el caso en que esta posicin pueda ser alcanzada de varias maneras diferentes, con distintas configuraciones de los ejes, el sistema escoger la posicin ms cercana posible. ConfJ \On; MoveJ *, v1000, fine, herram1; El robot se mueve a la posicin, con la orientacin y la configuracin de ejes programadas. Si ello no es posible, la ejecucin del programa se detiene.

Argumentos ConfJ \On [\On] | [\Off]


Tipo de dato: switch El robot siempre se mueve a la configuracin de ejes programada. Si ello no es posible utilizando la posicin y la orientacin programadas, la ejecucin del programa se para.

\Off

Tipo de dato: switch El robot siempre se mueve a la configuracin de ejes ms cercana.

Ejecucin del programa


Si se selecciona el argumento \On (o ningn argumento) el robot siempre se mueve a la configuracin de ejes programada. Si esto no es posible utilizando la posicin y la orientacin programadas, la ejecucin del programa se detiene antes de que se inicie el

Gua de Referencia RAPID

8-ConfJ-1

movimiento. Si se selecciona el argumento \Off, el robot siempre se mover a la configuracin de ejes ms cercana. Esta puede ser distinta de la programada si la configuracin ha sido especificada de forma incorrecta manualmente o si se ha realizado un desplazamiento del programa. El control de la configuracin se activar por defecto, es decir que se activa automticamente: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se arranca la ejecucin del programa desde el principio.

Sintaxis
ConfJ [ \ On] | [ \ Off] ;

Informacin Relacionada
Descrita en: Manipulacin de las distintas configuraciones Principios de Movimiento y de E/SConfiguracin del Robot Configuracin del robot en el movimiento lineal Instrucciones - ConfL

8-ConfJ-2

Gua de Referencia RAPID

ConfL

Control de la configuracin durante el movimiento lineal


ConfL (Configuration Linear) sirve para especificar si la configuracin del robot debe ser controlada o no durante un movimiento circular o lineal. En el caso en que la configuracin no sea controlada, la configuracin en el momento de la ejecucin podr diferir de la configuracin realizada en el momento de la programacin. Puede ocurrir tambin que haya algn cambio de orientacin en los movimientos del robot cuando se cambie el modo a un movimiento eje a eje.

Ejemplos
ConfL \On; MoveL *, v1000, fine, herram1; La ejecucin del programa se detiene cuando el robot no puede alcanzar la configuracin programada desde la posicin actual. SingArea \Wrist; Confl \On; MoveL *, v1000, fine, tool1; El robot se mueve a la posicin programada, con la orientacin y configuracin de los ejes deseada. En el caso en que ello no sea posible, la ejecucin del programa se detiene. ConfL \Off; MoveL *, v1000, fine, herram1; No aparecer ningn mensaje de error cuando la configuracin programada no corresponda con la configuracin adoptada en la ejecucin del programa.

Argumentos ConfL \On


La configuracin del robot ser monitorizada.

[\On] | [\Off]
Tipo de dato: switch

\Off
La configuracin del robot no ser monitorizada.

Tipo de dato: switch

Gua de Referencia RAPID

8-ConfL-1

Ejecucin del programa


Durante un movimiento lineal o circular, el robot siempre se mueve a la posicin programada y a la orientacin que tenga la configuracin de ejes ms cercana. En el caso en que se seleccione el argumento \On (o ningn argumento) entonces el robot comprueba que la configuracin programada de los ejes de la mueca sea alcanzable desde la posicin actual. En el caso en que no sea alcanzable, la ejecucin del programa se detiene, pero ser posible volver a arrancar el programa, incluso si los ejes de la mueca continuan hacia una configuracin incorrecta. En un punto de paro, el robot realizar una comprobacin de que todas las configuraciones de los ejes hayan sido respetadas, no slo los ejes de la mueca. En el caso en que tambin se utilice SingArea\Wrist, el robot siempre se mover a la configuracin programada de los ejes de la mueca y las dems configuraciones de los ejes restantes sern comprobadas por el robot en un punto de paro. En el caso en que se seleccione el argumento \Off, no habr ninguna monitorizacin de la configuracin. La monitorizacin est activada por defecto. Se activa automticamente: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa

Sintaxis
ConfL [ \ On] | [ \ Off] ;

Informacin relacionada
Descrita en: Manipulacin de distintas configuraciones Configuracin del robot durante un movimiento eje a eje Principios de Movimiento y de E/S Configuracin del Robot Instrucciones - ConfJ

8-ConfL-2

Gua de Referencia RAPID

CONNECT

Conexin de una interrupcin a una rutina de tratamiento de interrupciones

CONNECT sirve para encontrar la identificacin de una interrupcin y conectarla a una rutina de tratamiento de interrupciones. La interrupcin es definida ordenando un evento de interrupcin y especificando su identificacin. As, cuando ocurre el evento, la rutina de tratamiento de interrupciones se ejecuta automticamente.

Ejemplo
VAR intnum aliment_bajo; CONNECT aliment_bajo WITH aliment_vaco; ISignalDI di1, 1 , aliment_bajo; La identificacin de interrupcin aliment_bajo es creada y es conectada a la rutina de tratamiento de interrupciones aliment_vacio. La interrupcin ha sido definida como entrada di1 se est activando. En otras palabras, cuando esta seal se activa, la rutina de tratamiento de interrupcin aliment_vacio se ejecuta.

Argumentos CONNECT Interrupcin WITH Rutina tratamiento interrup


Interrupcin Tipo de dato: intnum

La variable que debe ser asignada a la identificacin de la interrupcin. Esto no deber ser declarado dentro de una rutina (datos de rutina).

Rutina tratamiento interrup

Identificador

El nombre de la rutina de tratamiento de interrupciones.

Ejecucin del programa


La variable tiene asignada una identificacin de interrupcin que podr ser utilizada posteriormente al ordenar o inhabilitar las interrupciones. Esta identificacin est tambin conectada a la rutina de tratamiento de interrupciones especificada. Observar que antes de poder procesar un evento, se deber ordenar una interrupcin, es decir que el evento deber ser especificado.

Gua de Referencia RAPID

8-CONNECT-1

Limitaciones
Una interrupcin (identificacin de interrupcin) no podr estar nunca conectada a ms de una rutina de tratamiento de interrupciones. No obstante, diferentes interrupciones podrn ser conectadas a la misma rutina de tratamiento de interrupciones. Cuando se ha conectado una interrupcin a una rutina de tratamiento de interrupciones, no se podr transferir o volver a conectar dicha interrupcin a otra rutina; deber primero ser borrada mediante la instruccin IDelete.

Gestin de errores
En el caso en que la variable de interrupcin est ya conectada a una rutina de tratamiento de interrupciones, la variable del sistema ERRNO se activar en ERR_ALRDYCNT. En el caso en que la variable de interrupcin no sea una referencia de variable, la variable del sistema ERRNO se activar en ERR_CNTNOTVAR. En el caso en que ya no hayan nmeros de interrupcin disponibles, la variable del sistema ERRNO se activar ERR_INOMAX. Estos errores pueden ser manipulados en el gestor de errores.

Sintaxis
(EBNF) CONNECT <elemento conexin> WITH <trap>; <elemento conexin> ::= <variable> | <parmetro> | <VAR> <trap> ::= <identificador>

Informacin relacionada
Descrita en: Resumen de interrupciones Ms informacin sobre la manipulacin de las interrupciones Resumen RAPID - Interrupciones Caractersticas Bsicas- Interrupciones

8-CONNECT-2

Gua de Referencia RAPID

DeactUnit

Desactivacin de una unidad mecnica

DeactUnit sirve para desactivar una unidad mecnica. Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo, cuando se usan unidades de accionamiento comunes.

Ejemplos
DeactUnit orbit_a; Desactivacin de la unidad mecnica orbit_a. MoveL p10, v100, fine, herram1; DeactUnit transportador; MoveL p20, v100, z10, herram1; MoveL p30, v100, fine, herram1; ActUnit transportador; MoveL p40, v100, z10, herram1; La unidad transportador estar estacionaria cuando el robot se mueva a la posicin p20 y p30. Despus de esto, tanto el robot como el transportador se movern a la posicin p40. MoveL p10, v100, fine, herram1; DeactUnit orbit1; ActUnit orbit2; MoveL p20, v100, z10, herram1; La unidad orbit1 ser desactivada y la unidad orbit2 activada.

Argumentos DeactUnit MecUnit


MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica que deber ser desactivada.

Ejecucin del programa


Cuando el robot y los ejes externos se hayan inmovilizado, la unidad mecnica especificada ser desactivada. Esto significa que no ser controlada ni monitorizada hasta que se vuelva a activar. En el caso en que varias unidades mecnicas compartan una misma unidad de accionamiento, la desactivacin de una de las unidades mecnicas desconectar tambin esta unidad de la unidad de accionamiento comn.

Gua de Referencia RAPID

8-DeactUnit-1

Limitaciones
La instruccin DeactUnit no puede ser utilizada - en secuencias de programa StorePath ... RestoPath - en la rutina de evento REARRANQUE - cuando uno de los ejes de la unidad mecnica est en modo independiente La instruccin de movimiento anterior a esta instruccin deber terminar con un punto de paro para que en esta instruccin sea posible realizar un rearranque despus de un corte de potencia.

Sintaxis
DeactUnit [MecUnit := ] < variable (VAR) de mecunit> ;

Informacin relacionada
Descrita en: Activacin de las unidades mecnicas Unidades mecnicas Instrucciones - ActUnit Tipos de Datos - mecunit

8-DeactUnit-2

Gua de Referencia RAPID

Decr

Disminucin de 1
Decr sirve para restar 1 de una variable o persistente numrica.

Ejemplo
Decr reg1; 1 ser restado de reg1, es decir, reg1:=reg1-1.

Argumentos Decr Name


Name Tipo de dato: num

El nombre de la variable o persistente que se desea disminuir.

Ejemplo
TPReadNum num_part, "Cuntas piezas deben ser procesadas? "; WHILE num_part>0 DO part_produc; dec_part; ENDWHILE Se pide al operador que introduzca el nmero de piezas que van a ser procesadas. La variable num_part sirve para contar el nmero que quedan por procesar.

Sintaxis
Decr [ Name := ] < variable o persistente (INOUT) de num > ;

Gua de Referencia RAPID

8-Decr-1

Informacin relacionada
Descrita en: Incrementar una variable de 1 Restar cualquier valor de una variable Cambio de datos utilizando una expresin arbitraria, por ejemplo, multiplicacin Instrucciones - Incr Instrucciones - Add Instrucciones - :=

8-Decr-2

Gua de Referencia RAPID

EOffsOff

Desactivacin de un offset de los ejes externos

EOffsOff (External Offset Off) sirve para desactivar un offset de los ejes externos. El offset de los ejes externos ser activado mediante la instruccin EOffsSet o EOffsOn y se aplica a todos los movimientos hasta que se active cualquier otro offset de ejes externos o hasta que se desactive el offset de los ejes externos.

Ejemplos
EOffsOff; Desactivacin del offset de los ejes externos. MoveL p10, v500, z10, herram1; EOffsOn \ExeP:=p10, p11; MoveL p20, v500, z10, herram1; MoveL p30, v500, z10, herram1; EOffsOff; MoveL p40, v500, z10, herram1; Un offset est definido como la diferencia entre la posicin de cada eje en la posicin p10 y p11. Este desplazamiento afecta a los movimientos a p20 y p30, pero no a p40.

Ejecucin del programa


Los offsets activados de los ejes externos sern reactivados.

Sintaxis
EOffsOff ;

Informacin relacionada
Descrita en: Definicin de un offset utilizando dos posiciones Definicin de los valores utilizados por los offsets Desactivacin del movimiento de desplazamiento del robot Instrucciones - EOffsOn Instrucciones - EOffsSet Instrucciones - PDispOff

Gua de Referencia RAPID

8-EOffsOff-1

8-EOffsOff-2

Gua de Referencia RAPID

EOffsOn

Activacin de un offset de los ejes externos

EOffsOn (External Offset On) sirve para definir y activar un offset de ejes externos utilizando dos posiciones.

Ejemplos
MoveL p10, v500, z10, herram1; EOffsOn \ExeP:=p10, p20; Activacin de un offset de los ejes externos. Esto se calcula para cada eje, basndose en la diferencia entre las posiciones p10 y p20. MoveL p10, v500, fine, herram1; EOffsOn *; Activacin de un offset de los ejes externos. Dado que se ha utilizado un punto de paro en la instruccin precedente, no ser necesario utilizar el argumento \ExeP. El desplazamiento ser calculado sobre la base de la diferencia entre la posicin utilizada de cada eje y el punto programado (*) almacenado en la instruccin.

Argumentos EOffsOn [ \ExeP ] PuntProg [\ExeP ] (Punto Ejecutado)


Tipo de dato: robtarget

La nueva posicin de los ejes durante la ejecucin del programa. Si se omite este argumento, se utilizar la posicin normal de los ejes durante la ejecucin del programa.

PuntProg (Punto Programado)

Tipo de dato: robtarget

La posicin original de los ejes durante la programacin.

Ejecucin del programa


El offset ser calculado como la diferencia entre ExeP y PuntProg para cada eje externo separado. En el caso en que el ExeP no haya sido especificado, se utilizar en su lugar la posicin normal de los ejes durante la ejecucin del programa. Dado que es la posicin correspondiente de los ejes la que se ha utilizado, los ejes no debern moverse cuando EOffsOn ha sido ejecutada.

Gua de Referencia RAPID

8-EOffsOn-1

Este offset se utilizar entonces para desplazar la posicin de los ejes externos en instrucciones de posicionamiento siguientes y permanecer activado hasta que se active otro offset (la instruccin EOffsSet o EOffsOn) o hasta que se desactive el offset de los ejes externos (la instruccin EOffsOff). Slo se podr activar un offset para cada eje externo individual a la vez. Por otra parte, se podrn programar varios EOffsOn uno detrs de otro. En el caso en que lo sean, los diferentes offset sern aadidos. El offset de los ejes externos ser reinicializado automticamente: - a la puesta en marcha en fro - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa.

Ejemplo
SearchL sen1, pbusc, p10, v100, herram1; PDispOn \ExeP:=pbusc, *, herram1; EOffsOn \ExeP:=pbusc, *; Se realiza una bsqueda en la que la posicin buscada del robot y de los ejes externos se encuentra almacenada en la posicin pbusc. Cualquier movimiento realizado despus de esto empezar a partir de esta posicin utilizando un desplazamiento de programa tanto del robot como de los ejes externos. Esto se calcula basndose en la diferencia entre la posicin buscada y el punto programado (*) almacenado en la instruccin.

Sintaxis
EOffsOn [ \ ExeP := < expresin (IN) de robtarget > ,] [ PuntProg := ] < expresin (IN) de robtarget > ;

Informacin relacionada
Descrita en: Desactivacin del offset de los ejes externos Definicin del offset utilizando valores Sistemas de Coordenadas Instrucciones - EOffsOff Instrucciones - EOffsSet Principios de Movimiento y de E/S Sistemas de Coordenadas

Desplazamiento de los movimientos del robot Instrucciones - PDispOn

8-EOffsOn-2

Gua de Referencia RAPID

EOffsSet

Activacin de un offset de ejes externos utilizando un valor

EOffsSet (External Offset Set) sirve para definir y activar un offset de ejes externos que utiliza valores.

Ejemplo
VAR extjoint eax_a_p100 := [100, 0, 0, 0, 0, 0]; . EOffsSet eax_a_p100; La activacin de un offset eax_a_p100 de ejes externos, significa (siempre y cuando el eje externo a sea lineal) que: - El sistema de coordenadas ExtOffs ha sido desplazado de 100 mm para el eje lgico a (vase la Figura 1). - Mientras que el offset est activado, todas las posiciones sern desplazadas de 100 mm en la direccin del eje x-.
.

100 Sistema de Coordenadas Normal 0 Sistema de Coordenadas ExtOffs 0


Figura 1 Desplazamiento de un eje externo.

+X

+X

Argumentos EOffsSet EAxOffs


EAxOffs (Offset Eje Externo) Tipo de dato: extjoint

El offset de los ejes externos ser definido como un dato del tipo extjoint, expresado en: - mm para los ejes lineales - grados para los ejes rotativos

Gua de Referencia RAPID

8-EOffsSet-1

Ejecucin del programa


El offset de los ejes externos se activar cuando la instruccin EOffsSet se active y permanecer en este estado hasta que se active cualquier otro offset (la instruccin EOffsSet o EOffsOn) o hasta que se desactive el offset de los ejes externos (la instruccin EOffsOff). Slo se podr activar un offset de ejes externos a la vez. No se deber acumular los offset utilizando la instruccin EOffsSet. El offset de los ejes externos sern reseteados automticamente: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin del programa

Sintaxis
EOffsSet [ EAxOffs := ] < expresin (IN) de extjoint> ;

Informacin relacionada
Descrita en: Desactivacin de un offset de ejes externos Definicin de un offset utilizando dos posiciones Definicin de los datos del tipo extjoint Sistemas de Coordenadas Instrucciones - EOffsOff Instrucciones - EOffsSet Tipos de datos - extjoint Principios de Movimiento y de E/S Sistemas de Coordenadas

Desplazamiento de los movimientos del robot Instrucciones - PDispOn

8-EOffsSet-2

Gua de Referencia RAPID

ErrWrite

Escribir un Mensaje de Error

ErrWrite (Error Write) sirve para visualizar un mensaje de error en la unidad de programacin y escribirlo en la lista de mensajes del robot.

Ejemplo
eErrWrite PLC error , Fatal error in PLC; Stop; Un mensaje est almacenado en la lista del robot. El mensaje aparece tambin en el visualizador de la unidad de programacin. ErrWrite \ W, Search error, No hit for the first search; RAISE try_search_again; Un mensaje est almacenado nicamente en la lista del robot. A continuacin, la ejecucin del programa prosigue.

Argumentos ErrWrite [ \W ] Header Reason [ \RL2] [ \RL3] [ \RL4]


[ \W ] (Aviso) Tipo de dato: switch

Produce un mensaje de aviso que ser almacenado nicamente en la lista de mensajes de error del robot (y por tanto, no aparecer directamente en el visualizador de la unidad de programacin). Header Tipo de dato: string

Es el encabezado del mensaje de error (24 caracteres como mximo). Reason Tipo de dato: string

Es el motivo que ha provocado el error (lnea 1 de 40 caracteres como mximo). [ \RL2] (Motivo Lnea 2) Tipo de dato: string

Es el motivo que ha provocado el error (lnea 2 de 40 caracteres como mximo). [ \RL3] (Motivo Lnea 3) Tipo de dato: string

Es el motivo que ha provocado el error (lnea 3 de 40 caracteres como mximo). [ \RL4] (Motivo Lnea 4) Tipo de dato: string

Es el motivo que ha provocado el error (lnea 4 de 40 caracteres como mximo).

Gua de Referencia RAPID

8-ErrWrite-1

Ejecucin del programa


Un mensaje de error (5 lneas como mximo) aparece visualizado en la unidad de programacin y es escrito en la lista de mensajes del robot. ErrWrite siempre genera el error de programa n 80001 o en el caso de ocurrir un aviso (argumento \W) genera el n 80002.

Sintaxis
ErrWrite [ \ W , ] [ Header := ] < expresin (IN) de string> , [ Reason := ] < expresin (IN) de string> [ \ RL2 := < expresin (IN) de string> ] [ \ RL3 := < expresin (IN) de string> ] [ \ RL4 := < expresin (IN) de string> ] ;

Informacin relacionada
Descrita en: Visualizacin de un mensaje nicamente en la unidad de programacin Listas de mensajes Instrucciones - TPWrite Gua del Usuario - Servicio

8-ErrWrite-2

Gua de Referencia RAPID

EXIT

Fin de ejecucin del programa


EXIT sirve para finalizar la ejecucin del programa. El rearranque del programa se bloquea, es decir, que el programa slo podr ser rearrancado nicamente a partir de la primera instruccin de la rutina principal (si el punto de arranque no ha sido movido manualmente). La instruccin EXIT deber utilizarse cuando ocurren errores muy graves o cuando se desea parar la ejecucin del programa definitivamente. La instruccin Stop se usa para parar de forma temporal la ejecucin del programa.

Ejemplo
EXIT; La ejecucin del programa se para y no puede ser rearrancada a partir de esta posicin en el programa.

Sintaxis
EXIT ;

Informacin Relacionada
Descrita en: Parada temporal de la ejecucin del programa Instrucciones - Stop

Gua de Referencia RAPID

8-EXIT-1

8-EXIT-2

Gua de Referencia RAPID

FOR

Repeticin de un nmero dado de veces


FOR se usa cuando una o varias instrucciones deben repetirse un nmero dado de veces. En el caso en que las instrucciones deban repetirse mientras se cumpla una condicin especfica, se deber usar la instruccin WHILE.

Ejemplo
FOR i FROM 1 TO 10 DO rutina1; ENDFOR Repite el procedimiento rutina1, 10 veces.

Argumentos FOR Contador bucle FROM Valor inicial TO Valor final [STEP Incremento] DO ... ENDFOR
Contador bucle Identificador

El nombre del dato que contendr el valor del contador de bucle actual. El dato es declarado automticamente y su nombre no podr coincidir con ningn otro nombre de ningn dato ya existente. Valor inicial El valor inicial deseado del contador de bucle. (suelen ser nmeros enteros). Valor final El valor final deseado del contador de bucle. (suelen ser nmeros enteros). Incremento Tipo de dato: Num Tipo de dato: Num Tipo de dato: Num

El valor con el que el contador de bucle deber ser incrementado (o disminuido). (suelen ser nmeros enteros). Si este valor no est especificado, el valor de incremento ser automticamente 1 (o -1 si el valor inicial es mayor que el valor final).

Gua de Referencia RAPID

8-FOR-1

Ejemplo
FOR i FROM 10 TO 2 STEP -1 DO a{i} := a{i-1}; ENDFOR Los valores de una matriz se ajustan de forma creciente, de la siguiente forma a {10}:=a{9}, a{9}:=a{8} etc.

Ejecucin del programa


1. Las expresiones correspondientes a los valores iniciales, final y de incremento sern calculadas. 2. El contador de bucle tendr asignado el valor inicial. 3. El valor del contador de bucle ser comprobado para ver si dicho valor se encuentra entre el valor inicial y el valor final o si es igual al valor inicial o al valor final. Si el valor del contador se encuentra fuera de esta gama, el bucle FOR se para y la ejecucin del programa continua con la instruccin que sigue ENDFOR. 4. Las instrucciones del bucle FOR se ejecutarn. 5. El contador de bucle ser incrementado (o disminuido) de acuerdo con el valor de incremento. 6. El bucle FOR se repetir, empezando a partir del punto 3.

Limitaciones
Slo se podr acceder al contador de bucle (del tipo de dato num) desde dentro del bucle FOR y por consiguiente esconder los dems datos y rutinas que tengan el mismo nombre. Slo podr ser ledo (no actualizado) por las instrucciones contenidas en el bucle FOR. No se podrn utilizar valores decimales para los valores iniciales, finales o de paro, en combinacin con una condicin de terminacin exacta para el bucle FOR (no definido en el caso en que el ltimo bucle est funcionando o no).

Sintaxis
(EBNF) FOR <variable bucle> FROM <expresin> TO <expresin> [ STEP <expresin> ] DO <lista instrucciones> ENDFOR <variable bucle> ::= <identificador>

8-FOR-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Expresiones Identificadores Caractersticas Bsicas - Expresiones Caractersticas Bsicas Elementos de Base

Gua de Referencia RAPID

8-FOR-3

8-FOR-4

Gua de Referencia RAPID

GOTO

Ir a una instruccin nueva identificada por una etiqueta (label)


GOTO sirve para transferir la ejecucin del programa a otra lnea (una etiqueta) dentro de la misma rutina.

Ejemplos
GOTO sig; . sig: La ejecucin del programa contina con la instruccin que viene despus de next. reg1 := 1; sig: . reg1 := reg1 + 1; IF reg1<=5 GOTO sig; El bucle de programa sig ser ejecutado cinco veces. IF reg1>100 GOTO valoralto; valorbajo: . GOTO prepar; valoralto: . prepar: Si reg1 es mayor que 100, el bucle de programa valoralto ser ejecutado; de lo contrario, se ejecutar el bucle valorbajo.

Argumentos GOTO
Etiqueta

Etiqueta
Identificador

La etiqueta a partir de donde la ejecucin del programa deber continuar.

Limitaciones
Slo se podr transferir la ejecucin del programa a una etiqueta dentro de la misma rutina.

Gua de Referencia RAPID

8-GOTO-1

Slo se podr transferir la ejecucin del programa a una etiqueta dentro de una instruccin IF o TEST si la instruccin GOTO est tambin situada dentro de la misma rama de esta instruccin. Slo se podr transferir la ejecucin del programa a una etiqueta dentro de una instruccin FOR o WHILE si la instruccin GOTO est tambin situada dentro de esta instruccin.

Sintaxis
(EBNF) GOTO <identificador>;

Informacin Relacionada
Descrita en: Etiqueta Otras instrucciones que cambian el flujo del programa Instrucciones - etiqueta Resumen RAPID Control del Flujo de Programa

8-GOTO-2

Gua de Referencia RAPID

GripLoad

Definicin de la carga til del robot

GripLoad sirve definir la carga til que el robot sujeta con su pinza.

Ejemplos
GripLoad pieza1; La pinza del robot sujeta una carga llamada pieza1. GripLoad load0; La pinza del robot suelta todas las cargas.

Argumentos GripLoad
Carga

Carga
Tipo de dato: loaddata

Los datos de carga que describen la carga til utilizada.

Ejecucin del programa


La carga especificada tendr una influencia en la optimizacin del robot. La carga por defecto, 0 kg, se activa automticamente - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa.

Sintaxis
GripLoad [ Carga := ] < persistente (PERS) de loaddata > ;

Gua de Referencia RAPID

8-GripLoad-1

Informacin Relacionada
Descrita en: Definicin de los datos de carga Definicin de los datos herramienta Tipos de Datos - loaddata Tipos de Datos - tooldata

8-GripLoad-2

Gua de Referencia RAPID

IDelete

Anulacin de una interrupcin


IDelete (Interrupt Delete) sirve para anular (borrar) una interrupcin. En el caso en que se desee inhabilitar temporalmente la instruccin, se deber utilizar la instruccin ISleep o IDisable.

Ejemplo
IDelete aliment_bajo; La interrupcin aliment_bajo ser anulada.

Argumentos IDelete Interrupcin


Tipo de dato: intnum

Interrupcin La identidad de la interrupcin.

Ejecucin del programa


La definicin de la interrupcin ha sido borrada completamente. Para volver a definirla, deber primero ser conectada de nuevo a una rutina de tratamiento de interrupciones. La instruccin deber estar precedida de un punto de paro. De lo contrario, la interrupcin ser desactivada antes de alcanzar el punto final. No se deber borrar las interrupciones; esta operacin se realiza automticamente cuando: - se carga un programa nuevo - se rearranca el programa desde el principio - se mueve el puntero del programa al principio de una rutina

Sintaxis
IDelete [ Interrupcin := ] < variable (VAR) de intnum > ;

Gua de Referencia RAPID

8-IDelete-1

Informacin relacionada
Descrita en: Resumen de interrupciones Inhabilitacin temporal de una interrupcin Inhabilitacin temporal de todas las interrupciones Resumen RAPID - Interrupciones Instrucciones - ISleep Instrucciones - IDisable

8-IDelete-2

Gua de Referencia RAPID

IDisable

Inhabilitacin de las interrupciones

IDisable (Interrupt Disable) sirve para inhabilitar todas las interrupciones temporalmente. Esta funcin puede utilizarse por ejemplo, en una parte particularmente sensible del programa donde no se permite que ocurran interrupciones para no perturbar su ejecucin normal.

Ejemplo
IDisable; FOR i FROM 1 TO 100 DO caracter[i]:=ReadBin(sensor); ENDFOR IEnable; No se permiten interrupciones mientras se est leyendo el canal serie.

Ejecucin del programa


Las interrupciones que ocurren mientras una instruccin IDisable est activada, quedarn registradas en una cola. Cuando las interrupciones vuelvan a ser admitidas por el programa, empezarn a generarse inmediatamente, y se ejecutarn una por una siguiendo el orden de la cola.

Sintaxis
IDisable;

Informacin Relacionada
Descrita en: Resumen de interrupciones Permisin de las interrupciones Resumen RAPID - Interrupcin Instrucciones - IEnable

Gua de Referencia RAPID

8-IDisable-1

8-IDisable-2

Gua de Referencia RAPID

IEnable

Habilitacin de las interrupciones

IEnable (Interrupt Enable) sirve para habilitar las interrupciones durante la ejecucin del programa.

Ejemplo
IDisable; FOR i FROM 1 TO 100 DO caracter[i]:=ReadBin(sensor); ENDFOR IEnable; No se permiten las interrupciones mientras se est leyendo el canal serie. Una vez finalizada la lectura, las interrupciones sern de nuevo permitidas.

Ejecucin del programa


Las interrupciones que ocurren mientras una instruccin IDisable est activada, quedan registradas en una cola. Cuando las interrupciones vuelven a ser permitidas (IEnable), empiezan a generarse, ejecutndose una por una siguiendo el orden de la cola. Luego, la ejecucin del programa contina en el programa normal y las interrupciones que se producen despus de esto sern tratadas segn van producindose. Las interrupciones siempre estn permitidas cuando se arranca un programa desde el principio. Las interrupciones inhabilitadas mediante la instruccin ISleep no se vern afectadas por la instruccin IEnable.

Sintaxis
IEnable;

Informacin Relacionada
Descrita en: Resumen de interrupciones Inhabilitacin de interrupciones Resumen RAPID - Interrupciones Instrucciones - IDisable

Gua de Referencia RAPID

8-IEnable-1

8-IEnable-2

Gua de Referencia RAPID

IF

Si se cumple una condicin, entonces...; si no...


IF sirve cuando diferentes instrucciones deben cumplirse segn se cumpla o no una condicin.

Ejemplos
IF reg1 > 5 THEN Set do1; Set do2; ENDIF Las seales do1 y do2 son activadas nicamente si reg1 es mayor que 5. IF reg1 > 5 THEN Set do1; Set do2; ELSE Reset do1; Reset do2; ENDIF Las seales do1 y do2 son activadas o desactivadas dependiendo si reg1 es mayor que 5 o no.

Argumentos IF Condicin THEN ... {ELSEIF Condicin THEN ...} [ELSE ...] ENDIF
Condicin Tipo de dato: bool

La condicin que debe cumplirse para que las instrucciones entre THEN y ELSE/ELSEIF puedan ejecutarse.

Ejemplo
IF contador > 100 THEN contador := 100; ELSEIF contador < 0 THEN contador := 0; ELSE contador := contador + 1;

Gua de Referencia RAPID

8-IF-1

ENDIF El contador ha sido incrementado en 1. Sin embargo, si el valor del contador est fuera del lmite 0-100, el contador tendr asignado el valor lmite correspondiente.

Ejecucin del programa


Las condiciones son comprobadas siguiendo un orden secuencial, hasta que una de ellas se cumpla. La ejecucin del programa contina con las instrucciones asociadas a esa condicin. Si no se cumple ninguna de las condiciones, la ejecucin del programa contina con las instrucciones que siguen ELSE. Si se cumple ms de una condicin, slo se ejecutarn las instrucciones que estn asociadas con la primera de las condiciones.

Sintaxis
(EBNF) IF <expresin condicional> THEN <lista instrucciones> {ELSEIF <expresin condicional> THEN <lista instrucciones> | <EIF>} [ELSE <lista instrucciones>] ENDIF

Informacin Relacionada
Descrita en: Condiciones (expresiones lgicas) Caractersticas Bsicas - Expresiones

8-IF-2

Gua de Referencia RAPID

Incr

Incremento de 1
Incr sirve para aadir 1 a una variable o persistente numrica.

Ejemplo
Incr reg1; 1 ser aadido a reg1, es decir, reg1:=reg1+1.

Argumentos Incr Nombre


Tipo de dato: num

Nombre

El nombre de la variable o persistente que se desea cambiar.

Ejemplo
WHILE DInput(stop_produc)=0 DO produc_part; Incr_parts; TPWrite "N de piezas producidas= "\Num:=parts; ENDWHILE En cada ciclo el nmero de piezas producidas ser actualizado en la unidad de programacin. El proceso de produccin continua su ejecucin mientras no se active la seal stop_production.

Sintaxis
Incr [ Nombre := ] < variable o persistente (INOUT) de num > ;

Gua de Referencia RAPID

8-Incr-1

Informacin relacionada
Descrita en: Disminuir una variable de 1 Adicin de cualquier valor a una variable Cambio de datos utilizando una expresin arbitraria, por ejemplo, la multiplicacin Instrucciones - Decr Instrucciones - Add Instrucciones - :=

8-Incr-2

Gua de Referencia RAPID

IndAMove

Movimiento de una posicin absoluta independiente

IndAMove sirve para cambiar un eje del modo en que est, pasarlo al modo independiente y moverlo a una posicin especfica. Un eje independiente es un eje que se mueve de forma independiente respecto a otros ejes del sistema robot. Dado que la ejecucin del programa continua inmediatamente, se podr ejecutar otras instrucciones (incluyendo instrucciones de posicionamiento) durante el tiempo que el eje independiente se est moviendo. En el caso en que el eje deba ser movido dentro de una revolucin, se deber utilizar la instruccin IndRMove en su lugar. Si el movimiento debe producirse a una corta distancia de la posicin actual, se deber usar la instruccin IndDMove.

Ejemplo
IndAMove Station_A,2\ToAbsPos:=p4,20; El eje 2 de Station_A ser movido a la posicin p4 a la velocidad de 20 grados/s.

Argumentos IndAMove MecUnit Axis [ \ToAbsPos ] | [ \ToAbsNum ] Speed [ \Ramp]


MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). [ \ToAbsPos ] (A Posicin Absoluta) Tipo de dato: robtarget

La posicin del eje especificada como un tipo de dato robtarget. Slo se utiliza el componente para este eje especfico. El valor es utilizado como un valor de posicin absoluta en grados (mm para los ejes lineales). La posicin del eje ser afectada si el eje ha sido desplazado utilizando la instruccin EOffsSet o EOffsOn. Para los ejes del robot, se deber utilizar el argumento \ToAbsNum.

Gua de Referencia RAPID

8-IndAMove-1

[ \ToAbsNum ]

(A valor Numrico Absoluto) Tipo de dato: num

La posicin de eje definida en grados (mm para el eje lineal). Con este argumento, la posicin NO estar afectada por ningn desplazamiento, por ejemplo, EOffsSet o PDispOn. Cumple la misma funcin que \ToAbsPos pero la diferencia es que la posicin es definida como un valor numrico, para facilitar el cambio manual de la posicin. Speed Tipo de dato: num

La velocidad del eje en grados/s (mm/s para el eje lineal). [ \Ramp ] Tipo de dato: num

Disminucin de la aceleracin y la deceleracin en funcin de la capacidad mxima (1 - 100%, 100% = capacidad mxima).

Ejecucin del programa


Cuando se ejecuta IndAMove, el eje especificado empieza a moverse con la velocidad programada a la posicin de ejes especificada. Si se ha programado \Ramp, se producir una reduccin de la aceleracin/deceleracin. Para volver a colocar los ejes en el modo normal, se deber utilizar la instruccin IndReset. En conexin con esto, se podr cambiar la posicin lgica del eje, de forma que un cierto nmero de revoluciones sern borradas de la posicin, por ejemplo, para evitar la rotacin para el siguiente movimiento. La velocidad podr ser modificada ejecutando otra instruccin IndAMove (u otra instruccin Ind_Move). Si se ha seleccionado una velocidad en la direccin opuesta, el eje se detiene y luego acelera para alcanzar la nueva direccin y la nueva velocidad. Para una ejecucin paso a paso de la instruccin, el eje estar activado nicamente en modo independiente. El eje inicia su movimiento cuando se ejecuta la siguiente instruccin, y continua mientras la ejecucin del programa tiene lugar. Para ms informacin al respecto, vase el Captulo 6, Principios de movimiento y de E/S. Cuando se mueve el puntero del programa al principio del programa, o a una rutina nueva, todos los ejes se activan automticamente en el modo normal, sin cambiar el sistema de medida (equivale a la ejecucin de la instruccin IndReset\Old). Observse que el uso de una instruccin IndAMove despus de una operacin IndCMove puede provocar que el eje realice el mismo nmero de revoluciones que ha realizado en la instruccin IndCMove en sentido inverso. Para impedir esto, se deber utilizar una instruccin IndReset antes de la instruccin IndAMove, o utilizar una instruccin IndRMove.

8-IndAMove-2

Gua de Referencia RAPID

Limitaciones
En el modo independiente, no se podr mover los ejes. En el caso en que se haya intentado hacer funcionar el eje manualmente, el eje no se mover y se generar un mensaje de error. Se deber ejecutar una instruccin IndReset o mover el puntero del programa al programa principal, par salir del modo independiente. Si se produce una prdida de tensin cuando un eje est en modo independiente, el programa no podr ser rearrancado. El sistema generar un mensaje de error y el programa deber ser arrancado desde el principio.

Ejemplo
ActUnit Station_A; weld_stationA; IndAMove Station_A,1\ToAbsNum:=90,20\Ramp:=50; ActUnit Station_B; weld_stationB_1; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; DeactUnit Station_A; weld_stationB_2; Station_A se activa cuando la soldadura ha empezado en la estacin A. Station_A (eje 1) ser entonces movido a la posicin de 90 grados mientras el robot est realizando la soldadura en la estacin B. La velocidad del eje es de 20 grados/s. La velocidad cambia con la aceleracin/deceleracin reducida a 50% de su capacidad mxima. Cuando la estacin A alcanza esta posicin, ser desactivada, y podr tener lugar de nuevo el proceso de carga en la estacin, al mismo tiempo que el robot contina el proceso de soldadura en la estacin B.

Gestin de errores
Si los ejes no estn activados, la variable del sistema ERRNO pasar a ser ERR_AXIS_ACT. Este error podr entonces ser manipulado en el gestor de errores.

Gua de Referencia RAPID

8-IndAMove-3

Sintaxis
IndAMove [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> [ \ToAbsPos:= ] < expresin (IN) de robtarget> | [ \ ToAbsNum:= ] < expresin (IN) de num> , [ Speed := ] < expresin (IN) de num> [ \ Ramp:= < expresin (IN) de num > ] ;

Informacin relacionada
Descrita en: Ejes independientes en general Volver a pasar al modo normal Reinicializar el sistema de medida Mover un eje independiente a una posicin especfica dentro de la revolucin actual Mover un eje independiente a una distancia especfica Comprobar el estado de velocidad de los ejes independientes Comprobar el estado de posicin de los ejes independientes Principios de Movimiento y de E/S Ejecucin del programa Instrucciones - IndReset Instrucciones - IndReset Instrucciones - IndRMove Instrucciones - IndDMove Funciones - IndSpeed Funciones - IndInpos

8-IndAMove-4

Gua de Referencia RAPID

IndCMove

Movimiento continuo independiente

IndCMove sirve para cambiar el modo de un eje al modo independiente e iniciar su movimiento de forma continua a una velocidad especfica. Un eje independiente es un eje que se mueve de forma independiente respecto a otros ejes del sistema robot. Dado que la ejecucin del programa continua inmediatamente, se podr ejecutar otras instrucciones (incluyendo instrucciones de posicionamiento) durante el tiempo que el eje independiente se est moviendo.

Ejemplo
IndCMove Station_A,2,-30.5; El eje 2 de Station_A empieza a moverse en una direccin negativa a una velocidad de 30,5 grados/s.

Argumentos IndCMove
MecUnit

MecUnit Axis Speed [ \Ramp ]


(Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). Speed Tipo de dato: num

La velocidad del eje en grados/s (mm/s para el eje lineal). La direccin del movimiento est especificada con el signo del argumento de velocidad. [ \Ramp ] Tipo de dato: num

Disminucin de la aceleracin y la deceleracin en funcin de la capacidad mxima (1 - 100%, 100% = capacidad mxima).

Ejecucin del programa


Cuando se ejecuta IndCMove, el eje especificado empieza a moverse a la velocidad programada. La direccin del movimiento viene especificada por el signo del argumento de velocidad. Si se ha programado el argumento \Ramp se producir una reduccin de la aceleracin/deceleracin.

Gua de Referencia RAPID

8-IndCMove-1

Para volver a colocar los ejes en el modo normal, se deber utilizar la instruccin IndReset. Con IndReset la posicin lgica del eje podr ser cambiada, de forma que el nmero de revoluciones realizadas anteriormente sern borradas, con el objeto, por ejemplo, de evitar la rotacin en sentido inverso en el siguiente movimiento. La velocidad podr ser modificada ejecutando otra instruccin IndCMove. Si se ha ordenado una velocidad en la direccin opuesta, el eje se detiene y luego acelera para alcanzar la nueva direccin y la nueva velocidad. Para parar el eje, se usar el argumento de velocidad 0. Entonces seguir estando en modo independiente. Durante la ejecucin paso a paso de la instruccin, el eje estar activado nicamente en modo independiente. El eje inicia su movimiento cuando se ha ejecutado la siguiente instruccin, y continua mientras la ejecucin del programa tiene lugar. Para ms informacin al respecto, vase el Captulo 6, Principios de Movimiento y de E/S. Cuando se mueve el puntero del programa al principio del programa, o a una rutina nueva, todos los ejes se activan automticamente en modo normal, sin cambiar el sistema de medida (equivale a la ejecucin de la instruccin IndReset\Old).

Limitaciones
La resolucin de la posicin del eje empeorar cuanto ms se aleje de su posicin cero lgica (normalmente el medio del rea de trabajo). Para volver a conseguir una alta resolucin, el rea de trabajo lgica ser puesta a cero con la instruccin IndReset. Para ms informacin al respecto, consultar el Captulo 6, Principios de Movimiento y de E/ S. En el modo independiente, no se podr mover los ejes. En el caso en que se haya intentado hacer funcionar el eje manualmente, ste no se mover y el sistema generar un mensaje de error. Se deber ejecutar una instruccin IndReset o mover el puntero del programa al men principal, para salir del modo independiente. Si se produce una prdida de tensin cuando un eje est en modo independiente, el programa no podr ser rearrancado. El sistema generar un mensaje de error y el programa deber ser arrancado desde el principio.

8-IndCMove-2

Gua de Referencia RAPID

Ejemplo
IndCMove Station_A,2,20; WaitUntil IndSpeed(Station_A,2 \InSpeed) = TRUE; WaitTime 0.2; MoveL p10, v1000, fine, tool1; IndCMove Station_A,2,-10\Ramp:=50; MoveL p20, v1000, z50, tool1; IndRMove Station_A,2 \ToRelPos:=p1 \Short,10; MoveL p30, v1000, fine, tool1; WaitUntil IndInpos(Station_A,2 ) = TRUE; WaitTime 0.2; IndReset Station_A,2 \RefPos:=p40\Short; MoveL p40, v1000, fine, tool1; El eje 2 de Station_A empieza a moverse en una direccin positiva a una velocidad de 20 grados/s. Cuando este eje haya alcanzado la velocidad seleccionada los ejes del robot empezarn a moverse. Cuando el robot alcanza la posicin p10, el eje externo cambia de direccin y gira a una velocidad de 10 grados/s. El cambio de velocidad se lleva a cabo con una aceleracin/deceleracin reducida al 50% de la capacidad mxima. Al mismo tiempo, el robot se mover hacia p20. Entonces, el eje 2 de Station_A se para lo ms rpidamente posible en la posicin p1 dentro de la revolucin actual. Cuando el eje 2 ha alcanzado esta posicin, y que el robot se ha parado en la posicin p30, el eje 2 regresar de nuevo al modo normal. El offset del sistema de medida para este eje es cambiado de un nmero entero de revoluciones de eje, de forma que la posicin actual est lo ms cerca posible de p40. Cuando el robot se mueve entonces a la posicin p40, el eje 2 de Station_A se mover, utilizando la va ms corta, a la posicin p40 (mx. 180 grados).

Gestin de errores
Si los ejes no estn activados, la variable del sistema ERRNO pasar a ser ERR_AXIS_ACT. Este error podr entonces ser manipulado en el gestor de errores.

Sintaxis
IndCMove [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> , [ Speed := ] < expresin (IN) de num> [ \ Ramp:= < expresin (IN) de num > ] ;

Gua de Referencia RAPID

8-IndCMove-3

Informacin relacionada
Descrita en: Ejes independientes en general Volver a pasar al modo normal Reinicializar el sistema de medida Mover un eje independiente a una posicin especfica Principios de Movimiento y de E/S Ejecucin del programa Instrucciones - IndReset Instrucciones - IndReset Instrucciones - IndAMove, IndRMove

Mover un eje independiente de una distancia Instrucciones - IndDMove especfica Comprobar el estado de velocidad de los ejes independientes Comprobar el estado de posicin de los ejes independientes Funciones - IndSpeed Funciones - IndInpos

8-IndCMove-4

Gua de Referencia RAPID

IndDMove

Movimiento de una posicin delta independiente

IndDMove sirve para cambiar el modo de un eje al modo independiente y mover el eje de una distancia especfica. Un eje independiente es un eje que se mueve de forma independiente respecto a otros ejes del sistema robot. Dado que la ejecucin del programa continua inmediatamente, se podr ejecutar otras instrucciones (incluyendo instrucciones de posicionamiento) durante el tiempo que el eje independiente se est moviendo. En el caso en que se deba mover el eje a una posicin especfica, se deber utilizar la instruccin IndAMove o IndRMove en su lugar.

Ejemplo
IndDMove Station_A,2,-30,20; El eje 2 de Station_A se mueve de 30 grados en una direccin negativa a una velocidad de 20 grados/s.

Argumentos IndDMove MecUnit Axis Delta Speed [ \Ramp ]


MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). Delta Tipo de dato: num La distancia de la que el eje actual debe ser movido, expresada en grados (mm para los ejes lineales). El signo especifica la direccin del movimiento. Speed Tipo de dato: num

La velocidad del eje en grados/s (mm/s para el eje lineal). [ \Ramp ] Tipo de dato: num

Disminucin de la aceleracin y la deceleracin en funcin de la capacidad mxima (1 - 100%, 100% = capacidad mxima).

Gua de Referencia RAPID

8-IndDMove-1

Ejecucin del programa


Cuando se ejecuta IndAMove, el eje especificado empieza a moverse a la velocidad programada de la distancia determinada. La direccin del movimiento viene indicada por el signo del argumento Delta. Si se ha programado el argumento \Ramp se producir una reduccin de la aceleracin/deceleracin. Si el eje se est moviendo, la nueva posicin es calculada a partir de la posicin instantnea de los ejes, cuando la instruccin IndDMove es ejecutada. Si una instruccin IndDMove con distancia 0 es ejecutada, el eje se parar y luego regresar a la posicin que tena en el momento en que se ejecut la instruccin. Para volver a colocar los ejes en el modo normal, se deber utilizar la instruccin IndReset. Con IndReset la posicin lgica del eje podr ser cambiada, de forma que el nmero de revoluciones realizadas anteriormente sern borradas, con el objeto, por ejemplo, de evitar la rotacin en sentido inverso en el siguiente movimiento. La velocidad podr ser modificada ejecutando otra instruccin IndDMove (u otra instruccin Ind_Move). Si se ha seleccionado una velocidad en la direccin opuesta, el eje se detiene y luego acelera para alcanzar la nueva direccin y la nueva velocidad. Durante la ejecucin paso a paso de la instruccin, el eje estar activado nicamente en modo independiente. El eje inicia su movimiento cuando se ha ejecutado la siguiente instruccin, y continua mientras la ejecucin del programa tiene lugar. Para ms informacin al respecto, vase el Captulo 6, Principios de Movimiento y de E/S. Cuando se mueve el puntero del programa al principio del programa, o a una rutina nueva, todos los ejes se activan automticamente en modo normal, sin cambiar el sistema de medida (equivale a la ejecucin de la instruccin IndReset\Old).

Limitaciones
En el modo independiente, no se podr mover los ejes. En el caso en que se haya intentado hacer funcionar el eje manualmente, ste no se mover y el sistema generar un mensaje de error. Se deber ejecutar una instruccin IndReset o mover el puntero del programa al men principal, para salir del modo independiente. Si se produce una prdida de tensin cuando un eje est en modo independiente, el programa no podr ser rearrancado. El sistema generar un mensaje de error y el programa deber ser arrancado desde el principio.

8-IndDMove-2

Gua de Referencia RAPID

Ejemplo
IndAMove Robot,6\ToAbsNum:=90,20; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; IndDMove Station_A,2,-30,20; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; IndDMove Station_A,2,400,20; El eje 6 del robot se mover a las siguientes posiciones: 90 grados 60 grados 460 grados (1 revolucin + 100 grados).

Gestin de errores
Si los ejes no estn activados, la variable del sistema ERRNO pasar a ser ERR_AXIS_ACT. Este error podr entonces ser manipulado en el gestor de errores.

Sintaxis
IndDMove [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> , [ Delta:= ] < expresin (IN) de num>, [ Speed := ] < expresin (IN) de num> [ \ Ramp:= < expresin (IN) de num > ] ;

Gua de Referencia RAPID

8-IndDMove-3

Informacin relativa
Descrita en: Ejes independientes en general Volver a pasar al modo normal Reinicializar el sistema de medida Mover un eje independiente a una posicin especfica Comprobar el estado de velocidad de los ejes independientes Comprobar el estado de posicin de los ejes independientes Principios de Movimiento y de E/S Ejecucin del programa Instrucciones - IndReset Instrucciones - IndReset Instrucciones - IndAMove, IndRMove Funciones - IndSpeed Funciones - IndInpos

8-IndDMove-4

Gua de Referencia RAPID

IndReset

Reinicializacin independiente

IndReset sirve para volver a cambiar un eje independiente al modo normal. Al mismo tiempo, el sistema de medida de los ejes de rotacin podrn ser movidos de un cierto nmero de revoluciones.

Ejemplo
IndCMove Station_A,2,5; MoveL *,v1000,fine,tool1; IndCMove Station_A,2,0; WaitUntil IndSpeed(Station_A,2\ZeroSpeed); WaitTime 0.2 IndReset Station_A,2; El eje 2 de Station _A se mover primero en el modo independiente y luego regresar al modo normal. El eje mantendr su posicin. Tngase en cuenta que el eje independiente actual, y los ejes normales, no debern moverse cuando se ha ejecutado la instruccin IndReset. Esto es porque la posicin previa es un punto de paro, y que una instruccin IndCMove es ejecutada a la velocidad cero. Adems, se utiliza una pausa de 0,2 segundos para garantizar que el ha alcanzado el estado correcto.

Argumentos IndReset MecUnit Axis [ \RefPos ] | [ \RefNum ] [ \Short ] | [ \Fwd ] | [ \Bwd ] | [ \Old ]
MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). [ \RefPos ] (Posicin de referencia) Tipo de dato: robtarget

La posicin del eje especificada como un tipo de dato robtarget. Slo se utiliza el componente para este eje especfico. La posicin deber estar dentro del rea de trabajo normal. Para los ejes del robot, se deber utilizar en su lugar el argumento \RefNum. El argumento slo deber ser definido junto con el argumento \Short, \Fwd o \Bwd. No est permitido junto con el argumento \Old.

Gua de Referencia RAPID

8-IndReset-1

[ \RefNum ]

(valor de referencia numrico)

Tipo de dato: num

La posicin del eje definida en grados (mm para el eje lineal). La posicin debe encontrarse dentro del rea de trabajo normal. El argumento slo deber definirse junto con el argumento \Short, \Fwd o \Bwd. No est permitido junto con el argumento \Old. Tiene la misma funcin que \RefPos pero la posicin es definida como un valor numrico para facilitar el cambio de posicin de forma manual. [ \Short ] Tipo de dato: switch

El sistema de medida cambiar de un nmero entero de revoluciones en el lado del eje, de forma que el eje est lo ms cerca posible de la posicin \RefPos o \RefNum especificada. Si se ejecuta una instruccin de posicionamiento con la misma posicin despus de IndReset, el eje se mover utilizando la ruta ms corta, menor que +180 grados, a fin de alcanzar la posicin. [ \Fwd ] (Hacia adelante) Tipo de dato: switch

El sistema de medida cambiar de un nmero entero de revoluciones en el lado del eje, de forma que la posicin de referencia se encontrar en el lado positivo de la posicin \RefPos o \RefNum especificada. Si una instruccin de posicionamiento con la misma posicin es ejecutada despus de IndReset, el eje girar en direccin positiva menos que 360 grados a fin de alcanzar la posicin. [ \Bwd ] (Hacia atrs) Tipo de dato: switch

El sistema de medida cambiar de un nmero entero de revoluciones en el lado del eje de forma que la posicin de referencia se encontrar en el lado negativo de la posicin \RefPos o \RefNum especificada. Si una instruccin de posicionamiento con la misma posicin es ejecutada despus de IndReset, el eje girar en direccin negativa menos que 360 grados a fin de alcanzar la posicin. [ \Old ] Tipo de dato: switch

Mantiene la antigua posicin. Tngase en cuenta que la resolucin es disminuida en posiciones muy lejanas de cero. Si no se especifica ningn argumento \Short, \Fwd, \Bwd o \Old, se utilizar \Old como valor por defecto.

Ejecucin del programa


Cuando se ejecuta IndReset, el eje independiente regresar al modo normal. Al mismo tiempo, el sistema de medida de este eje podr moverse de un nmero completo de revoluciones de eje. La instruccin tambin podr utilizarse en el modo normal a fin de cambiar el sistema de medida.

8-IndReset-2

Gua de Referencia RAPID

Observar que se utiliza la posicin slo para ajustar el sistema de medida - el eje no se mover a la posicin.

Limitaciones
La instruccin slo puede ejecutarse cuando todos los ejes activos que funcionan en modo normal estn inmviles. El eje en modo independiente que ser cambiado al modo normal tambin deber ser estacionario. Para los ejes en modo normal, esto se consigue ejecutando una instruccin de movimiento con el argumento fine. El eje independiente se para con una instruccin IndCMove que tiene Speed:=0 (seguida de un periodo de espera de 0,2 segundos), IndRMove, IndAMove o IndDMove. La resolucin de posiciones es disminuida conforme se va apartando de la posicin lgica 0. Un eje que progresivamente gira cada vez ms all de la posicin 0 deber ponerse en posicin cero utilizando la instruccin IndReset con un argumento distinto de \Old. El sistema de medida no puede cambiarse para los ejes lineales. Para garantizar un arranque adecuado despus la reinicializacin IndReset de un eje con un sistema de medida relativo (interruptores de sincronizacin), se deber aadir un retraso adicional de 0,12 segundos despus de la instruccin IndReset.

Ejemplo
IndAMove Station_A,1\ToAbsNum:=750,50; WaitUntil IndInpos(Station_A,1); WaitTime 0.2; IndReset Station_A,1 \RefNum:=0 \Short; . IndAMove Station_A,1\ToAbsNum:=750,50; WaitUntil IndInpos(Station_A,1); WaitTime 0.2; IndReset Station_A,1 \RefNum:=300 \Short; El eje 1 de Station_A se mover en primer lugar independientemente de la posicin de 750 grados (2 revoluciones y 30 grados). Al mismo tiempo, mientras cambia al modo normal, la posicin lgica es determinada a 30 grados. El eje 1 de Station_A se mover luego a la posicin de 750 grados (2 revoluciones y 30 grados). Al mismo tiempo, mientras cambia al modo normal, la posicin lgica es determinada a 390 grados (1 revolucin y 30 grados).

Gestin de errores
Si los ejes se estn moviendo, la variable del sistema ERRNO pasar a ser ERR_AXIS_MOVING.

Gua de Referencia RAPID

8-IndReset-3

Si los ejes no estn activados, la variable del sistema ERRNO pasar a ser ERR_AXIS_ACT. Este error podr entonces ser manipulado en el gestor de errores.

Sintaxis
IndReset [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> [ \ RefPos:= < expresin (IN) de robtarget> ] | [ \ RefNum:= < expresin (IN) de num> ] [ \ Short ] | [ \ Fwd ] | [ \ Bwd ] | [ \ Old ];

Informacin relacionada
Descrita en: Ejes independientes en general Cambio de un eje al modo independiente Comprobar el estado de velocidad de los ejes independientes Comprobar el estado de posicin de los ejes independientes Principios de Movimiento y de E/S Ejecucin del programa Instrucciones - IndAMove, IndCMove, IndDMove, IndRMove Funciones - IndSpeed Funciones - IndInpos

8-IndReset-4

Gua de Referencia RAPID

IndRMove

Movimiento de una posicin relativa independiente

IndRMove sirve para cambiar el modo de un eje de rotacin al modo independiente y mover el eje a una posicin especfica dentro de una revolucin. Un eje independiente es un eje que se mueve de forma independiente respecto a otros ejes del sistema robot. Dado que la ejecucin del programa continua inmediatamente, se podr ejecutar otras instrucciones (incluyendo instrucciones de posicionamiento) durante el tiempo que el eje independiente se est moviendo. En el caso en que se deba mover el eje a una posicin absoluta (varias revoluciones), o si el eje es lineal, se deber utilizar la instruccin IndAMove en su lugar. Si el movimiento debe tener lugar a cierta distancia a partir de la posicin actual, se deber utilizar la instruccin IndDMove.

Ejemplo
IndRMove Station_A,2\ToRelPos:=p5 \Short,20; El eje 2 de Station_A se mover siguiendo la va ms corta a la posicin p5 dentro de una revolucin (rotacin mxima de 180 grados) a una velocidad de 20 grados/s.

Argumentos IndRMove MecUnit Axis [ \ToRelPos ] | [ \ToRelNum ] [ \Short ] | [ \Fwd ] | [ \Bwd ] Speed [ \Ramp ]
MecUnit (Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). [ \ToRelPos ] (A Posicin Relativa) Tipo de dato: robtarget

La posicin especificada como un tipo de dato robtarget. Slo se utiliza el componente para este eje especfico. El valor es utilizado como un valor de posicin en grados dentro de una revolucin de eje. Esto significa que el eje se mueve menos que de una revolucin. La posicin del eje ser afectada si el eje es desplazado mientras se utiliza la instruccin EOffsSet o EOffsOn. Para los ejes del robot, se deber utilizar en su lugar el argumento \ToRelNum. Gua de Referencia RAPID 8-IndRMove-1

[ \ToRelNum ]

(A valor numrico relativo)

Tipo de dato: num

La posicin del eje definida en grados. Cuando se utiliza este argumento, la posicin NO ser afectada por ningn desplazamiento, por ejemplo, EOffsSet o PDispOn. Tiene la misma funcin que \ToRelPos pero la posicin es definida como un valor numrico para facilitar el cambio de la posicin de forma manual. [ \Short ] Tipo de dato: switch

El eje se mueve a la posicin nueva siguiendo la ruta ms corta. Esto significa que la rotacin mxima ser de 180 grados en cualquier direccin. Por lo tanto, la direccin del movimiento depender de la situacin actual del eje. [ \Fwd ] (Hacia adelante) Tipo de dato: switch

El eje se mueve en direccin positiva a la posicin nueva. Esto significa que la rotacin mxima ser de 360 grados y siempre en una direccin positiva (valor de posicin incrementado). [ \Bwd ] (Hacia Atrs) Tipo de dato: switch

El eje se mueve en direccin negativa a la posicin nueva. Esto significa que la rotacin mxima ser de 360 grados y siempre en una direccin negativa (valor de posicin disminuido). Si se omite el argumento \Short, \Fwd o \Bwd, \Short ser utilizado como valor por defecto. Speed La velocidad del eje en grados/s. [ \Ramp ] Tipo de dato: num Tipo de dato: num

Disminucin de la aceleracin y la deceleracin en funcin de la capacidad mxima (1 - 100%, 100% = capacidad mxima).

Ejecucin del programa


Cuando se ejecuta IndRMove, el eje especificado empieza a moverse con la velocidad programada, a la posicin de eje indicada, pero con una sola revolucin como mximo. Si se ha programado el argumento \Ramp se producir una reduccin de la aceleracin/ deceleracin. Para volver a colocar los ejes en el modo normal, se deber utilizar la instruccin IndReset. Con IndReset la posicin lgica del eje podr ser cambiada, de forma que el nmero de revoluciones realizadas anteriormente sern borradas, con el objeto, por ejemplo, de evitar la rotacin en sentido inverso en el siguiente movimiento.

8-IndRMove-2

Gua de Referencia RAPID

La velocidad podr ser modificada ejecutando otra instruccin IndRMove (u otra instruccin Ind_Move). Si se ha seleccionado una velocidad en la direccin opuesta, el eje se detiene y luego acelera para alcanzar la nueva direccin y la nueva velocidad. Durante la ejecucin paso a paso de la instruccin, el eje estar activado nicamente en modo independiente. El eje inicia su movimiento cuando se ha ejecutado la siguiente instruccin, y continua mientras la ejecucin del programa tiene lugar. Para ms informacin al respecto, vase el Captulo 6, Principios de Movimiento y de E/S. Cuando se mueve el puntero del programa al principio del programa, o a una rutina nueva, todos los ejes se activan automticamente en modo normal, sin cambiar el sistema de medida (equivale a la ejecucin de la instruccin IndReset\Old).

Limitaciones
En el modo independiente, no se podr mover los ejes. En el caso en que se haya intentado hacer funcionar el eje manualmente, ste no se mover y el sistema generar un mensaje de error. Se deber ejecutar una instruccin IndReset o mover el puntero del programa al men principal, para salir del modo independiente. Si se produce una prdida de tensin cuando un eje est en modo independiente, el programa no podr ser rearrancado. El sistema generar un mensaje de error y el programa deber ser arrancado desde el principio.

Ejemplos
IndRMove Station_A,1\ToRelPos:=p5 \Fwd,20\Ramp:=50; El eje 1 de Station_A empieza a moverse en una direccin positiva a la posicin p5 dentro de una revolucin (rotacin mxima de 360 grados) a una velocidad de 20 grados/s. La velocidad ser cambiada con una aceleracin/deceleracin reducida al 50% de la capacidad mxima. IndAMove Station_A,1\ToAbsNum:=90,20; WaitUntil IndInpos(Station_A,1 ) = TRUE; IndRMove Station_A,1\ToRelNum:=80 \Fwd,20; WaitTime 0.2; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; IndRMove Station_A,1\ToRelNum:=50 \Bwd,20; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; IndRMove Station_A,1\ToRelNum:=150 \Short,20; WaitUntil IndInpos(Station_A,1 ) = TRUE; WaitTime 0.2; IndAMove Station_A,1\ToAbsNum:=10,20; El eje 1 de Station_A se mueve a las posiciones siguientes: 90 grados 440 grados (1 revolucin + 80 grados) 410 grados (1 revolucin + 50 grados) 510 grados (1 revolucin + 150 grados) 10 grados Gua de Referencia RAPID

8-IndRMove-3

Gestin de errores
Si los ejes no estn activados, la variable del sistema ERRNO pasar a ser ERR_AXIS_ACT. Este error podr entonces ser manipulado en el gestor de errores.

Sintaxis
IndRMove [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> [ \ToRelPos:= < expresin (IN) de robtargets> ] | [ \ToRelNum:= < expresin (IN) de num> ] [ \Short ] | [ \ Fwd ] | [ \ Bwd ] , [ Speed := ] < expresin (IN) de num> [ \Ramp:= < expresin (IN) de num > ] ;

Informacin relacionada
Descrita en: Ejes independientes en general Volver a pasar al modo normal Reinicializar el sistema de medida Mover un eje independiente a una posicin absoluta Principios de Movimiento y de E/S Ejecucin del programa Instrucciones - IndReset Instrucciones - IndReset Instrucciones - IndAMove

Mover un eje independiente de una distancia Instrucciones - IndDMove especfica Ms ejemplos Comprobar el estado de velocidad de los ejes independientes Comprobar el estado de posicin de los ejes independientes Instrucciones - IndCMove Funciones - IndSpeed Funciones - IndInpos

8-IndRMove-4

Gua de Referencia RAPID

InvertDO

Inversin del valor de una seal de salida digital

InvertDO (Invert Digital Output) invierte el valor de una seal de salida digital (0 -> 1 y 1 -> 0).

Ejemplo
InvertDO do15; El valor utilizado del valor de la seal do15 ser invertida.

Argumentos InvertDO
Seal El nombre de la seal que se desea invertir.

Seal
Tipo de dato: signaldo

Ejecucin del programa


El valor utilizado por la seal es invertido (vase la Figura 1).
:

1 Nivel de la seal 0 Ejecucin de la instruccin InvertDO Ejecucin de la instruccin InvertDO 1 Nivel de la seal 0
Figura 1 Inversin de una seal de salida digital.

Sintaxis
InvertDO [ Seal := ] < variable (VAR) de signaldo > ;

Gua de Referencia RAPID

8-InvertDO-1

Informacin Relacionada
Descrita en: Instrucciones de entrada/salida Funciones de las entradas/salidas en general Configuracin de las E/S Resumen RAPID Seales de entrada y salida Principios de Movimiento y E/S Principios de E/S Gua del Usuario - Parmetros del sistema

8-InvertDO-2

Gua de Referencia RAPID

ISignalDI

Orden de interrupcin a partir de una seal de entrada digital

ISignalDI (Interrupt Signal Digital In) sirve para ordenar y habilitar una interrupcin a partir de una seal de entrada digital. Las seales del sistema pueden tambin generar interrupciones.

Ejemplos
VAR intnum seint1; CONNECT seint1 WITH intrutina1; ISignalDI di1,1,seint1; Ordena una interrupcin que ocurrir cada vez que la seal de entrada digital di1 se active en 1. Luego, se realizar una llamada a la rutina de tratamiento de interrupciones intrutina1. ISignalDI di1,0,seint1; Ordena una interrupcin que ocurrir cada vez que la seal de entrada digital di1 se active en 0. ISignalDI \Single, di1,1,seint1; Ordena una interrupcin que ocurrir nicamente la primera vez que la seal de entrada digital di1 se active en 1.

Argumentos ISignalDI [ \Single ] Seal ValorUmbral Interrupcin


[ \Single ] Tipo de dato: switch

Especifica si la interrupcin debe ocurrir una sola vez o cclicamente. Si el argumento Single est activado, la interrupcin slo se producir una vez. Si se omite el argumento, ocurrir una interrupcin cada vez que se cumpla la condicin. Seal Tipo de dato: signaldi Es el nombre de la seal que debe generar las interrupciones. ValorUmbral Tipo de dato: dionum

Es el valor al que la seal debe pasar para que ocurra una interrupcin.

Gua de Referencia RAPID

8-ISignalDI-1

El valor est especificado en 0 o 1 o en un valor simblico (por ejemplo: abierto/ cerrado). La seal ser activada por el flanco ascendente para el cambio de 0 a 1. Interrupcin Tipo de dato: intnum

La identidad de la interrupcin. Esta deber haber sido conectada previamente a una rutina de tratamiento de interrupciones, mediante la instruccin CONNECT.

Ejecucin del programa


Cuando la seal haya adoptado el valor especificado, se realizar una llamada a la rutina correspondiente de tratamiento de interrupciones. Cuando esto haya sido ejecutado, proseguir la ejecucin del programa a partir de donde ocurri la interrupcin. En el caso en que la seal cambie al valor especificado antes de que la interrupcin haya sido ordenada, no ocurrir ninguna interrupcin (vase la Figura 1).
:

1 Nivel de la seal 0 La interrupcin ha sido ordenada La interrupcin ha sido ordenada 1 Nivel de la seal 0 Ocurre la interrupcin

Ocurre la interrupcin

Figura 1 Interrupciones a partir de una seal de entrada digital en el nivel de seal 1.

Limitaciones
La misma variable para la identidad de la interrupcin no podr utilizarse ms que una vez, si en primer lugar no se borra. Las interrupciones debern no obstante utilizarse segn se indica en una de las siguientes alternativas. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1, 1, sig1int; WHILE TRUE DO : : ENDWHILE ENDPROC Cualquier activacin de una interrupcin se realizar al principio del programa. Estas

8-ISignalDI-2

Gua de Referencia RAPID

instrucciones se mantendrn por tanto fuera del flujo principal del programa. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1, 1, sig1int; : : IDelete sig1int; ENDPROC La interrupcin ser borrada al final del programa y luego ser reactivada. En este caso, deber notarse que la interrupcin est inactivada durante un corto periodo.

Sintaxis
ISignalDI [ \ Single,] [ Seal := ] < variable (VAR) de signaldi > , [ ValorUmbral:= ] < expresin (IN) de dionum >, [ Interrupcin := ] < variable (VAR) de intnum > ;

Informacin relacionada
Descrita en: Resumen de interrupciones Interrupcin desde una seal de salida Ms informacin sobre la gestin de interrupciones Ms ejemplos Resumen RAPID - Interrupciones Instrucciones - ISignalDO Caractersticas Bsicas - Interrupciones Tipos de datos - intnum

Gua de Referencia RAPID

8-ISignalDI-3

8-ISignalDI-4

Gua de Referencia RAPID

ISignalDO Orden de interrupcin a partir de una seal de salida digital


ISignalDO (Interrupt Signal Digital Out) sirve para ordenar y habilitar una interrupcin a partir de una seal de salida digital. Las seales del sistema pueden tambin generar interrupciones.

Ejemplos
VAR intnum seint1; CONNECT seint1 WITH intrutina1; ISignalDO do1,1,seint1; Ordena una interrupcin que ocurrir cada vez que la seal de salida digital do1 se active en 1. Luego, se realizar una llamada a la rutina de tratamiento de interrupciones intrutina1. ISignalDO do1,0,seint1; Ordena una interrupcin que ocurrir cada vez que la seal de salida digital do1 se active en 0. ISignalDO \Single, do1,1,seint1; Ordena una interrupcin que ocurrir nicamente la primera vez que la seal de salida digital do1 se active en 1.

Argumentos ISignalDo
[ \Single ]

[ \Single ] Seal ValorUmbral Interrupcin


Tipo de dato: switch

Especifica si la interrupcin debe ocurrir una sola vez o cclicamente. Si el argumento Single est activado, la interrupcin slo se producir una vez. Si se omite el argumento, ocurrir una interrupcin cada vez que se cumpla la condicin. Seal Tipo de dato: signaldo Es el nombre de la seal que debe generar las interrupciones. ValorUmbral Tipo de dato: dionum

Es el valor al que la seal debe pasar para que ocurra una interrupcin.

Gua de Referencia RAPID

8-ISignalDO-1

El valor est especificado en 0 o 1 o en un valor simblico (por ejemplo: abierto/ cerrado). La seal ser activada por el flanco ascendente para el cambio de 0 a 1. Interrupcin Tipo de dato: intnum

La identidad de la interrupcin. Esta deber haber sido conectada previamente a una rutina de tratamiento de interrupciones, mediante la instruccin CONNECT.

Ejecucin del programa


Cuando la seal haya adoptado el valor especificado, se realizar una llamada a la rutina correspondiente de tratamiento de interrupciones. Cuando sta haya sido ejecutado, proseguir la ejecucin del programa a partir de donde ocurri la interrupcin. En el caso en que la seal cambie al valor especificado antes de que la interrupcin haya sido ordenada, no ocurrir ninguna interrupcin (vase la Figura 1).
:

1 Nivel de la seal 0 La interrupcin ha sido ordenada La interrupcin ha sido ordenada 1 Nivel de la seal 0 Ocurre la interrupcin

Ocurre la interrupcin

Figura 1 Interrupciones a partir de una seal de salida digital en el nivel de seal 1.

Limitaciones
La misma variable para la identidad de la interrupcin no podr utilizarse ms que una vez, si en primer lugar no se borra. Las interrupciones debern no obstante utilizarse segn se indica en una de las siguientes alternativas. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDO do1, 1, sig1int; WHILE TRUE DO : : ENDWHILE ENDPROC Cualquier activacin de una interrupcin se realizar al principio del programa. Estas

8-ISignalDO-2

Gua de Referencia RAPID

instrucciones se mantendrn por tanto fuera del flujo principal del programa. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDO do1, 1, sig1int; : : IDelete sig1int; ENDPROC La interrupcin ser borrada al final del programa y luego ser reactivada. En este caso, deber notarse que la interrupcin est inactivada durante un corto periodo.

Sintaxis
ISignalDO [ \ Single,] [ Seal := ] < variable (VAR) de signaldo > , [ ValorUmbral:= ] < expresin (IN) de dionum >, [ Interrupcin := ] < variable (VAR) de intnum > ;

Informacin relacionada
Descrita en: Resumen de interrupciones Interrupcin desde una seal de entrada Ms informacin sobre la gestin de interrupciones Ms ejemplos Resumen RAPID - Interrupciones Instrucciones - ISignalDI Caractersticas Bsicas - Interrupciones Tipos de datos - intnum

Gua de Referencia RAPID

8-ISignalDO-3

8-ISignalDO-4

Gua de Referencia RAPID

ISleep

Desactivacin de una interrupcin


ISleep (Interrupt Sleep) sirve para desactivar temporalmente una interrupcin determinada.

Ejemplo
ISleep seint 1; La interrupcin seint 1 ser desactivada.

Argumentos ISleep Interrupcin


Tipo de dato: intnum

Interrupcin

La variable (identidad de la interrupcin) de la interrupcin.

Ejecucin del programa


El evento conectado a esta interrupcin no la generar hasta que la misma haya sido rehabilitada mediante la instruccin IWatch. Las interrupciones generadas mientras la instruccin ISleep est activada, sern ignoradas.

Ejemplo
VAR intnum intemps; CONNECT intemps WITH compr_canalserie; ITimer 60, intemps; . ISleep intemps; WriteBin canal1, buffer, 30; IWatch intemps; . TRAP compr_canalserie WriteBin canal1, buffer, 1; IF ReadBin(canal1\Time:=5) < 0 THEN TPWrite La comunicacin serie falla; EXIT; ENDIF ENDTRAP La comunicacin realizada a travs del canal serie canal1 est monitorizada

Gua de Referencia RAPID

8-ISleep-1

mediante interrupciones que son generadas cada 60 segundos. La rutina de tratamiento de interrupciones comprueba si la comunicacin funciona o no. Mientras la comunicacin est en curso, las interrupciones no estn permitidas.

Gestin de errores
Las interrupciones que no han sido ordenadas ni habilitadas no son permitidas. En el caso en que el nmero de interrupcin sea desconocido, la variable del sistema ERRNO se activar en ERR_UNKINO (vase Tipos de Datos - errnum). El error podr ser manipulado por el gestor de errores.

Sintaxis
ISleep [ Interrupcin := ] < variable (VAR) of intnum > ;

Informacin Relacionada
Descrita en: Resumen de interrupciones Habilitacin de interrupciones Inhabilitacin de todas las interrupciones Anulacin de una interrupcin Resumen RAPID - Interrupciones Instrucciones - IWatch Instrucciones - IDisable Instrucciones - IDelete

8-ISleep-2

Gua de Referencia RAPID

ITimer

Ordena una interrupcin temporizada


ITimer (Interrupt Timer) sirve para ordenar y habilitar una interrupcin temporizada. Esta instruccin puede utilizarse, por ejemplo, para comprobar el estado del equipo perifrico a cada instante.

Ejemplos
VAR intnum intemps; CONNECT intemps WITH rutinaint1; ITimer 60, intemps; Ordena una interrupcin que ocurrir cclicamente cada 60 segundos. Se realizar entonces una llamada a la rutina de tratamiento de interrupciones rutinaint1. ITimer \Single, 60, intemps; Ordena una interrupcin que ocurrir una sola vez, despus de 60 segundos.

Argumentos ITimer [ \Single ] Tiempo Interrupcin


[ \Single ] Tipo de dato: switch

Especifica si la interrupcin debe ocurrir una sola vez o cclicamente. En el caso en que se active el argumento Single, la interrupcin slo se producir una vez. Si se omite el argumento, la interrupcin ocurrir cada vez en el momento especificado. Tiempo Tipo de dato: num

Es el intervalo de tiempo que debe transcurrir antes de que ocurra la interrupcin. El valor deber ser especificado en segundos. Si se activa Single, este tiempo no podr ser inferior a 0,1 segundos. El tiempo correspondiente utilizado para las interrupciones cclicas es de 0,5 segundos. Interrupcin Tipo de dato: intnum

Es la variable (identidad de la interrupcin) de la interrupcin. Esta deber haber sido conectada previamente a una rutina de tratamiento de interrupciones mediante la instruccin CONNECT.

Gua de Referencia RAPID

8-ITimer-1

Ejecucin del programa


La rutina de tratamiento de interrupciones correspondiente ser llamada automticamente en un momento preciso segn la orden de interrupcin. Cuando esto haya sido ejecutado, proseguir la ejecucin del programa a partir de donde se produjo la interrupcin. Si la interrupcin se genera cclicamente, se iniciar un nuevo cmputo del tiempo a partir de cuando se produce la interrupcin.

Ejemplo
VAR intnum intemps; CONNECT intemps WITH compr_serie; ITimer 60, intemps; . TRAP compr_serie WriteBin canal1, buffer, 1; IF ReadBin(canal1\Time:=5) < 0 THEN TPWrite La comunicacin serie falla; EXIT; ENDIF ENDTRAP La comunicacin a travs del canal serie canal1 est monitorizada mediante las interrupciones que son generadas cada 60 segundos. La rutina de tratamiento de interrupciones comprueba que la comunicacin funciona. De lo contrario, la ejecucin del programa ser interrumpida y aparecer un mensaje de error.

Limitaciones
La misma variable para la identidad de la interrupcin no podr ser utilizada ms que una vez, sin ser borrada primero. Vase el captulo referente a Instrucciones ISignalDI.

Sintaxis
ITimer [ \Single ,] [ Tiempo := ] < expresin (IN) de num >, [ Interrupcin := ] < variable (VAR) de intnum > ;

8-ITimer-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Resumen de interrupciones Ms informacin sobre la gestin de las interrupciones Resumen RAPID - Interrupciones Caractersticas Bsicas - Interrupciones

Gua de Referencia RAPID

8-ITimer-3

8-ITimer-4

Gua de Referencia RAPID

IWatch

Habilitacin de una interrupcin

IWatch (Interrupt Watch) sirve para habilitar una interrupcin que ha sido previamente ordenada pero que haba sido desactivada mediante la instruccin ISleep.

Ejemplo
IWatch seint1; La interrupcin seint1, que haba sido previamente desactivada, ser activada.

Argumentos IWatch Interrupcin


Tipo de dato: intnum

Interrupcin

La variable (identidad de la interrupcin) de la interrupcin.

Ejecucin del programa


El evento conectado a esta interrupcin genera nuevas interrupciones. Las que han sido generadas mientras la instruccin ISleep estaba activada, sern ignoradas.

Ejemplo
VAR intnum seint1; CONNECT seint1 WITH rutinaint1; ISignalDI di1,1,seint1; . ISleep seint1; soldar1; IWatch seint1; Durante la ejecucin de la rutina soldar1, no se permitir ninguna interrupcin procedente de la seal di1.

Gestin de errores
Las interrupciones que no han sido ordenadas no sern permitidas. En el caso en que el nmero de interrupcin sea desconocido, la variable del sistema ERRNO se activar en ERR_UNKINO (vase Tipos de Datos - errnum). El error podr ser manipulado por el gestor de errores. Gua de Referencia RAPID 8-IWatch-1

Sintaxis
IWatch [ Interrupcin := ] < variable (VAR) de intnum > ;

Informacin relacionada
Descrita en: Resumen de interrupciones Desactivacin de una interrupcin Resumen RAPID - Interrupciones Instrucciones - ISleep

8-IWatch-2

Gua de Referencia RAPID

label

Nombre de lnea
Label sirve para dar nombre a una lnea del programa. Utilizando la instruccin GOTO, este nombre podr utilizarse para desplazar la ejecucin del programa a esa lnea.

Ejemplo
GOTO sig; . sig: La ejecucin del programa contina con la instruccin que viene despus de sig.

Argumentos Label:
Label El nombre que se desea dar a la lnea. Identificador

Ejecucin del programa


No pasa nada cuando se ejecuta esta instruccin.

Limitaciones
La etiqueta no debe ser nunca la misma que - otra etiqueta dentro de la misma rutina, - ningn nombre de dato dentro de la misma rutina. Una etiqueta esconde datos globales y rutinas con el mismo nombre dentro de la rutina en que est localizada.

Sintaxis
(EBNF) <identificador>:

Gua de Referencia RAPID

8-label-1

Informacin Relacionada
Descrita en: Identificadores Mover la ejecucin de un programa a una etiqueta Caractersticas Bsicas Elementos Bsicos Instrucciones - GOTO

8-label-2

Gua de Referencia RAPID

Load

Cargar un mdulo de programa durante la ejecucin


Load sirve para cargar un mdulo de programa en la memoria de programa durante la ejecucin. El mdulo de programa cargado ser aadido a los mdulos ya existentes de la memoria de programa.

Ejemplo
Load ram1disk \File:="PART_A.MOD"; Cargar el mdulo de programa PART_A.MOD a partir de ram1disk a la memoria de programa. (ram1disk es una constante de cadena predefinida "ram1disk:").

Argumentos Load TrayectoriadeArchivo [\Archivo] TrayectoriadeArchivo


Tipo de dato: string

Es la trayectoria de archivo y el nombre del archivo que ser cargado en la memoria de programa. El nombre de archivo deber ser excluido cuando se utiliza el argumento \Archivo.

[\Archivo]

Tipo de dato: string

Cuando el nombre del archivo es excluido del argumento TrayectoriadeArchivo entonces deber ser definido con este argumento.

Ejecucin del programa


La ejecucin del programa espera que el mdulo del programa haya acabado la secuencia de carga antes de proseguir con la siguiente instruccin. Para obtener una buena estructura de programa, que sea fcil de entender y de mantener, todas las secuencias de carga y descarga de mdulos de programa debern realizarse desde el mdulo principal que est siempre presente en la memoria del programa durante la ejecucin. Una vez que el programa ha sido cargado ser enlazado e inicializado. La inicializacin del mdulo cargado tiene por efecto poner todas las variables al nivel del mdulo a sus valores iniciales. Las referencias no resueltas sern aceptadas si el parmetro del sistema para Load ha sido activado (BindRef = NO). No obstante, cuando el programa es

Gua de Referencia RAPID

15-Load-1

arrancado, la funcin de la unidad de programacin Programa/Archivo/Comprobar no comprobar las referencias no resueltas si el parmetro BindRef = NO. Se producir un error de funcionamiento en el momento de la ejecucin de una referencia no resuelta.

Ejemplos
Load "ram1disk:DOORDIR/DOOR1.MOD"; Cargar el mdulo de programa DOOR1.MOD a partir de ram1disk al directorio DOORDIR de la memoria de programa. Load "ram1disk:DOORDIR" \File:="DOOR1.MOD"; Igual que el ejemplo anterior pero con una sintaxis diferente.

Limitaciones
No se permitir cargar un mdulo de programa que contenga una rutina principal. Las rutinas de tratamiento de interrupciones, los eventos de E/S del sistema y otras tareas de programas no podrn ser ejecutadas durante la secuencia de carga. Se deber evitar movimientos del robot durante la secuencia de carga. Se deber evitar utilizar el disco flexible para la secuencia de carga dado que la unidad de disco flexible tarda ms tiempo. Un paro de programa durante la ejecucin de la instruccin Load provocar un paro de proteccin en los motores y la aparicin del siguiente mensaje de error "20025 Stop order timeout" en el visualizador de la unidad de programacin.

Gestin de errores
En el caso en que el archivo especificado en las instrucciones Load no se encuentre, entonces la variable del sistema ERRNO se activar en ERR_FILNOTFND. En el caso en que el mdulo est ya cargado en la memoria de programa, entonces la variable del sistema ERRNO pasar a ser ERR_LOADED (vase "Tipos de Datos - errnum"). Estos errores podrn ser manipulados por el gestor de errores.

Sintaxis
Load [FilePath:=]<expresin (IN) de string> [\File:= <expresin (IN) de string>];

15-Load-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Descargar un mdulo de programa Aceptar referencias no resueltas Instrucciones - UnLoad Parmetros del Sistema - Controller Parmetros del Sistema - Tasks Parmetros del Sistema - BindRef

Gua de Referencia RAPID

15-Load-3

15-Load-4

Gua de Referencia RAPID

MoveAbsJ

Movimiento del robot a una posicin de ejes absoluta

MoveAbsJ (Move Absolute Joint) sirve para mover el robot a una posicin de eje absoluta, definida en las posiciones de los ejes. Se deber utilizar esta instruccin nicamente en los siguientes casos: - cuando el punto final es un punto singular - para posiciones ambiguas en el IRB 6400C, por ejemplo, para movimientos realizados con la herramienta por encima del robot. La posicin final del robot, durante un movimiento realizado con MoveAbsJ, no se ver afectada por la herramienta dada y el objeto de trabajo determinados ni por un desplazamiento del programa activo. No obstante, el robot utiliza estos datos para calcular la carga, la velocidad del TCP, y la trayectoria esquina. Se podrn utilizar las mismas herramientas que las utilizadas en instrucciones de movimiento adyacentes. El robot y los ejes externos se mueven a la posicin de destino siguiendo una trayectoria que no es lineal. Todos los ejes alcanzan la posicin de destino al mismo tiempo.

Ejemplos
MoveAbsJ p50, v1000, z50, herram2; El robot con la herramienta herram2, se mover siguiendo una trayectoria que no es lineal, a la posicin de eje absoluta p50, con un dato de velocidad de v1000 y un dato de zona de z50. MoveAbsJ *, v1000\T:=5, fine, pinza3; El robot con la herramienta pinza3, se mover siguiendo una trayectoria que no es lineal, a un punto de paro que es almacenado como una posicin de ejes absoluta en la instruccin (marcado con un asterisco *). El movimiento completo dura unos 5 s.

Argumentos MoveAbsJ
[ \Conc ]

[ \Conc ] A Pos Eje Velocidad [ \V ] | [ \T ] Zona [ \Z ] Herramienta [ \WObj ]


(Concurrente) Tipo de dato: switch

Las instrucciones lgicas siguientes se ejecutarn mientras el robot est en movimiento. El argumento sirve para acortar el tiempo de ciclo, cuando, por ejemplo, se realiza una comunicacin con el equipo externo, siempre y cuando no se est utilizando la sincronizacin.

Gua de Referencia RAPID

8-MoveAbsJ-1

Al utilizar el argumento \Conc, el nmero de instrucciones de movimiento que se suceden est limitado a 5. En una seccin de programa que incluye StorePathRestoPath, no se permitirn instrucciones de movimiento que contengan el argumento \Conc. En el caso de omitir este argumento, la instruccin siguiente se ejecutar nicamente despus de que el robot haya alcanzado la zona especificada. APosEje (A Posicin Eje) Tipo de dato: jointtarget

Es la posicin eje absoluta de destino del robot y de los ejes externos. Es definida como una posicin nombrada o almacenada directamente en la instruccin (marcada con un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del punto central de la herramienta, la reorientacin de la herramienta y los ejes externos. [ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Luego, ser sustituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total expresado en segundos durante el cual el robot se mueve. Luego ser sustituido por los datos de velocidad correspondientes. Zone Tipo de dato: zonedata Datos de zona para el movimiento. Los datos de zona describen el tamao de la trayectoria esquina generada. [ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisin de la posicin del TCP del robot directamente en la instruccin. La longitud de la trayectoria esquina est expresada en mm., y ser sustituida por la zona correspondiente especificada en los datos de zona. Tool La herramienta utilizada durante el movimiento. La posicin del TCP y la carga en la herramienta estn definidos en los datos de herramienta. La posicin del TCP sirve para decidir la velocidad y la trayectoria esquina del movimiento. Tipo de dato: tooldata

8-MoveAbsJ-2

Gua de Referencia RAPID

[ \WObj]

(Objeto de trabajo)

Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento. Este argumento podr ser omitido si la herramienta es sujetada por el robot. No obstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es estacionaria, o con ejes externos coordinados, entonces se deber especificar este argumento. En el caso de una herramienta estacionaria o de ejes externos coordinados, los datos utilizados por el sistema para decidir la velocidad y la trayectoria esquina del movimiento, se encuentran definidos en el objeto de trabajo.

Ejecucin del programa


La herramienta se mover a la posicin eje absoluta de destino, con una interpolacin de los ngulos de los ejes. Esto significa que cada eje se mueve a una velocidad de ejes constante y que todos los ejes alcanzan la posicin eje de destino al mismo tiempo, lo que resulta en una trayectoria que no es lineal. De forma general, el TCP se mueve a la velocidad programada aproximada. La herramienta es reorientada y los ejes externos se mueven al mismo tiempo que el TCP. En el caso en que el sistema no sea capaz de alcanzar la velocidad programada para la reorientacin o para los ejes externos, la velocidad del TCP ser reducida. Una trayectoria esquina suele ser generada cuando un movimiento es transferido a la siguiente seccin de la trayectoria. En el caso en que se haya especificado un punto de paro en los datos de zona, la ejecucin del programa slo continuar cuando el robot y los ejes externos hayan alcanzado la posicin de eje aproximada.

Ejemplos
MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, pinza3; La herramienta, pinza3, se mover siguiendo una trayectoria que no es lineal a una posicin de eje absoluta almacenada en la instruccin. El movimiento se llevar a cabo con los datos activos en v2000 y z40, la velocidad y el tamao de zona del TCP son 2200 mm/s y 45 mm respectivamente. MoveAbsJ \Conc, *, v2000, z40, pinza3; La herramienta, pinza3, se mover siguiendo una trayectoria que no es lineal a una posicin de eje absoluta almacenada en la instruccin. Las instrucciones lgicas siguientes son ejecutadas mientras el robot se est moviendo. GripLoad obj_mass; MoveAbsJ start, v2000, z40, grip3 \WObj:= obj; El robot mueve el objeto de trabajo obj, respecto a la herramienta fija pinza3 siguiendo una trayectoria que no es lineal, a una posicin de eje absoluta de arranque (start). Gua de Referencia RAPID 8-MoveAbsJ-3

Gestin de errores
Cuando se va a ejecutar el programa, el sistema realiza una comprobacin de que los argumentos Herram y \WObj no contienen datos contradictorios respecto a una herramienta mvil o estacionaria respectivamente.

Limitaciones
Un movimiento realizado con la instruccin MoveAbsJ no se ver afectado por un desplazamiento activo del programa, sin embargo se ver afectado por un offset activo para los ejes externos. Para ser capaz de retroceder la ejecucin en una situacin en que la instruccin MoveAbsJ est implicada, y para evitar problemas con puntos singulares o reas ambiguas, es esencial que las instrucciones siguientes cumplan ciertos requisitos, segn se indica en la figura siguiente (vase la Figura 1).

Punto singular

MoveAbsJ

MoveJ

Area ambigua
AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA

MoveAbsJ

Cualquier instrucc. de movimiento

MoveAbsJ

Figura 1 Limitacin para la ejecucin hacia atrs en un movimiento con la instruccin MoveAbsJ.

8-MoveAbsJ-4

Gua de Referencia RAPID

Sintaxis
MoveAbsJ [ \ Conc , ] [ ToJointPos := ] < expresin (IN) de jointtarget > , [ Speed := ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [Zone := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Tool := ] < expresin (PERS) de tooldata > [ \ WObj := < expresin (PERS) de wobjdata > ] ;

Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Resumen RAPID - Movimiento Definicin de jointtarget Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general Ejecucin concurrente del programa Tipos de Datos - jointtarget Tipos de Datos - speeddata Tipos de Datos - zonedata Tipos de Datos - tooldata Tipos de Datos - wobjdata Principios de movimiento y de E/S Principios de movimiento y de E/S Sincronizacin utilizando Instrucciones Lgicas

Gua de Referencia RAPID

8-MoveAbsJ-5

8-MoveAbsJ-6

Gua de Referencia RAPID

MoveC

Movimiento circular del robot


MoveC (Move Circular) sirve para mover el punto central de la herramienta (TCP) de forma circular a un destino especfico. Durante el movimiento, la orientacin suele permanecer constante respecto al crculo.

Ejemplos
MoveC p1, p2, v500, z30, herram2; El TCP de la herramienta, herram2, se mover de forma circular a la posicin p2, con un dato de velocidad de v500 y un dato de zona de z30. El crculo se define a partir de la posicin de arranque, el punto de crculo p1 y el punto de destino p2. MoveC *, *, v500 \T:=5, fine, pinza3; El TCP de la herramienta, pinza3, se mover de forma circular a un punto fino almacenado en la instruccin (marcado por el segundo asterisco *). El punto de crculo tambin est almacenado en la instruccin (marcado por el primer asterisco *). El movimiento completo tarda 5 segundos en realizarse. MoveL p1, v500, fine, herram1; MoveC p2, p3, v500, z20, herram1; MoveC p4, p1, v500, fine, herram1; Para realizar un crculo completo, las posiciones deben ser las mismas que las que se indican en la Figura 1. p1

p4

p2

p3
Figura 1 Un crculo completo se realiza mediante dos instrucciones MoveC.

Argumentos MoveC [ \Conc ] PuntoCirculo AlPunto Velocidad [ \V ] | [ \T ]

Gua de Referencia RAPID

8-MoveC-1

Zona [ \Z] Herramienta [ \WObj ]


[ \Conc ] (Concurrente) Tipo de dato: switch

Mientras el robot se mueve, se van ejecutando las instrucciones lgicas subsiguientes. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo, si no se requiere ninguna sincronizacin. Utilizando el argumento \Conc, el nmero de instrucciones de movimiento que se suceden est limitado a 5. En una seccin de programa que incluye StorePathRestoPath, no se permitir la presencia de instrucciones de movimiento con el argumento \Conc. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado la zona especfica. PuntoCrculo Tipo de dato: robtarget

Es el punto de crculo del robot. El punto de crculo es una posicin en el crculo, entre el punto de arranque y el punto de destino. Para obteber una mayor precisin, deber estar situado aproximadamente a mitad de camino entre el punto de arranque y el punto de destino. Si est situado demasiado cerca del punto de arranque o del punto de destino, el robot puede generar un aviso. El punto de crculo est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Las posiciones de los ejes externos no son utilizadas. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del TCP, la reorientacin de la herramienta y los ejes externos. [ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Luego, ser substituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot y los ejes externos se mueven. Luego, ser substituido por los datos de velocidad correspondientes.

8-MoveC-2

Gua de Referencia RAPID

Zona

Tipo de dato: zonedata Son los datos de zona para el movimiento. Los datos de zona describen el tamao de la trayectoria esquina generada.

[ \Z ]

(Zona)

Tipo de dato: num

Este argumento sirve para especificar la precisin de la posicin del TCP del robot directamente en la instruccin. La longitud de la trayectoria esquina est especificada en mm, y ser sustituida por la zona correspondiente especificada en los datos de zona. Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El TCP es el punto que se mueve al punto de destino especfico. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas del objeto) al que se refiere la posicin del robot en la instruccin. Este argumento puede ser omitido, y en el caso en que se omita, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado para que un crculo pueda ejecutarse respecto a un objeto de trabajo.

Gua de Referencia RAPID

8-MoveC-3

Ejecucin del programa


El robot y las unidades externas se movern al punto de destino de la siguiente manera: - El TCP de la herramienta se mover de forma circular a la velocidad constante programada. - La herramienta es reorientada a una velocidad constante desde la orientacin de la posicin de arranque a la orientacin del punto de destino. - La reorientacin se lleva a cabo respecto a la trayectoria circular. As, si la orientacin respecto a la trayectoria es la misma en el punto de arranque y en el punto de destino, la respectiva orientacin permanecer constante durante el movimiento (vase la Figura 2).
.

Orientacin de la herramienta Punto de arranque

Punto de crculo

Punto de destino
Figura 2 Orientacin de la herramienta durante el movimiento circular.

- La orientacin en el punto de crculo no es crtica; sirve nicamente para distinguir entre dos direcciones posibles de reorientacin. La precisin de la reorientacin sobre la trayectoria depender nicamente de la orientacin en el punto de arranque y en el punto de destino. - Los ejes externos no coordinados se ejecutan a una velocidad constante para que puedan llegar al punto de destino al mismo tiempo que los ejes del robot. La posicin en el crculo no es utilizada. En el caso en que la reorientacin o los ejes externos no puedan alcanzar la velocidad programada, la velocidad del TCP ser reducida. Una trayectoria esquina suele ser generada cuando el movimiento es transferido a la seccin siguiente de una trayectoria. Si se especifica un punto de paro en los datos de zona, la ejecucin del programa nicamente continuar cuando el robot y los ejes externos hayan alcanzado la posicin adecuada.

Ejemplos
MoveC *, *, v500 \V:=550, z40 \Z:=45, pinza3; El TCP de la herramienta, pinza3, se mover de forma circular a una posicin almacenada en la instruccin. El movimiento se llevar a cabo con unos datos de v500 y z40; la velocidad y el tamao de la zona del TCP son de 550 mm/s y de 45 mm respectivamente. 8-MoveC-4 Gua de Referencia RAPID

MoveC \Conc, *, *, v500, z40, pinza3; El TCP de la herramienta, pinza3, se mover de forma circular a una posicin almacenada en la instruccin. El punto de crculo est tambin almacenado en la instruccin. Las instrucciones lgicas siguientes se ejecutarn mientras el robot se mueve. MoveC cir1, p15, v500, z40, pinza3 \WObj:=fijacin; El TCP de la herramienta, pinza3, se mover de forma circular a la posicin, p15, pasando por el punto de crculo cir1. Estas posiciones estn especificadas en el sistema de coordenadas del objeto en la fijacin.

Limitaciones
Un cambio del modo de ejecucin, de delante hacia atrs o viceversa, mientras el robot est parado en una trayectoria circular no ser permitido y por tanto se originar un mensaje de error. La instruccin MoveC (o cualquier otra instruccin incluyendo un movimiento circular) no deber nunca ser arrancada desde el principio, con el TCP entre el punto de crculo y el punto final. De lo contrario el robot no emprender la trayectoria programada (posicionamiento en torno a la trayectoria circular en otra direccin comparada con la programada). El usuario deber asegurarse de que el robot puede alcanzar el punto de crculo durante la ejecucin del programa y dividir el segmento del crculo si necesario.

Sintaxis
MoveC [ \ Conc , ] [ PuntoCrculo:= ] < expresin (IN) de robtarget > , [ AlPunto:= ] < expresin (IN) de robtarget > , [ Velocidad:= ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [Zona := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Herramienta := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Gua de Referencia RAPID

8-MoveC-5

Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general Sistemas de coordenadas Ejecucin de un programa concurrente Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S Principios de Movimiento y de E/S Sistemas de coordenadas Principios de Movimiento y de E/S Sincronizacin utilizando instrucciones lgicas

8-MoveC-6

Gua de Referencia RAPID

MoveJ

Movimiento eje a eje del robot


MoveJ (Move Joint) sirve para mover el robot rpidamente desde un punto a otro punto cuando este movimiento no tiene que seguir una lnea recta. El robot y los ejes externos se movern a la posicin de destino siguiendo una trayectoria que no es lineal. Todos los ejes alcanzarn la posicin de destino al mismo tiempo.

Ejemplos
MoveJ p1, vmax, z30, herram2; El punto central de la herramienta (TCP), herram2, se mover siguiendo una trayectoria que no es lineal para alcanzar la posicin, p1, con el dato de velocidad vmax y el dato de zona z30. MoveJ *, vmax \T:=5, fine, pinza3; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria no lineal a un punto de paro almacenado en la instruccin (marcado con un asterisco *). El movimiento entero tardar 5 segundos en realizarse.

Argumentos MoveJ
[ \Conc ]

[ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ] Herramienta [ \WObj ]


(Concurrente) Tipo de dato: switch

Las instrucciones lgicas siguientes se ejecutarn mientras el robot est en movimiento. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo, si no se requiere ninguna sincronizacin. Utilizando el argumento \Conc, el nmero de instrucciones de movimiento que se suceden est limitado a 5. En una seccin de programa que incluye StorePathRestoPath, no se permitir la presencia de instrucciones de movimiento con el argumento \Conc. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado la zona especfica. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin).

Gua de Referencia RAPID

8-MoveJ-1

Velocidad

Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del TCP, la reorientacin de la herramienta y los ejes externos. [ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Luego, ser sustituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot se mueve. Luego, ser sustituido por los datos de velocidad correspondientes. Zona Tipo de dato: zonedata Son los datos de zona para el movimiento. Los datos de zona describen el tamao de la trayectoria esquina generada. [ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisin de la posicin del TCP del robot directamente en la instruccin. La longitud de la trayectoria esquina est especificada en mm, y ser sustituida por la zona correspondiente especificada en los datos de zona. Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El TCP es el punto que se mueve al punto de destino especfico. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento puede omitirse, y en el caso en que se omita, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado.

Ejecucin del programa


El punto central de la herramienta se mover al punto de destino con una interpolacin de los ngulos de los ejes. Ello significa que cada eje se mover a una velocidad de eje constante y que todos los ejes alcanzarn el punto de destino al mismo tiempo, lo cual originar una trayectoria que no es lineal. De forma general, el TCP se mover a la velocidad programada aproximada (indepen-

8-MoveJ-2

Gua de Referencia RAPID

dientemente de si los ejes externos estn coordinados o no). La herramienta ser reorientada y los ejes externos se movern al mismo tiempo que se mueve el TCP. En el caso en que la reorientacin o los ejes externos no puedan alcanzar la velocidad programada, la velocidad del TCP ser reducida. Una trayectoria esquina suele ser generada cuando el movimiento es transferido a la seccin siguiente de una trayectoria. Si se especifica un punto de paro en los datos de zona, la ejecucin del programa nicamente continuar cuando el robot y los ejes externos hayan alcanzado la posicin adecuada.

Ejemplos
MoveJ *, v2000\V:=2200, z40 \Z:=45, pinza3; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria que no es lineal, a una posicin almacenada en la instruccin. El movimiento se llevar a cabo con los datos de v2000 y z40; la velocidad y el tamao de la zona del TCP son de 2200 mm/s y de 45 mm respectivamente. MoveJ \Conc, *, v2000, z40, pinza3; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria que no es lineal, a una posicin almacenada en la instruccin. Las instrucciones lgicas siguientes se ejecutarn mientras el robot se mueve. MoveJ arranque, v2000, z40, pinza3 \WObj:=fijacin; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria que no es lineal, a una posicin, arranque. Esta posicin est especificada en el sistema de coordenadas del objeto, en la fijacin.

Sintaxis
MoveJ [ \ Conc , ] [ AlPunto:= ] < expresin (IN) de robtarget > , [ Velocidad:= ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [Zona := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Herramienta:= ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Gua de Referencia RAPID

8-MoveJ-3

Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general Sistemas de coordenadas Ejecucin de un programa concurrente Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S Principios de Movimiento y de E/SSistemas de Coordenadas Principios de Movimiento y de E/S Sincronizacin utilizando Instrucciones Lgicas

8-MoveJ-4

Gua de Referencia RAPID

MoveL

Movimiento lineal del robot


MoveL sirve para mover el punto central de la herramienta (TCP) de forma lineal a una posicin de destino determinada. Cuando el TCP debe permanecer estacionario, esta instruccin podr ser utilizada tambin para reorientar la herramienta.

Ejemplo
MoveL p1, v1000, z30, herram2; El TCP de la herramienta, herram2, se mover de forma lineal a la posicin p1, con un dato de velocidad de v1000 y un dato de zona de z30. MoveL *, v1000\T:=5, fine, pinza3; El TCP de la herramienta, pinza3, se mover de forma lineal a un punto fino almacenado en la instruccin (marcado con un asterisco *). El movimiento completo tardar 5 segundos en llevarse a cabo.

Argumentos MoveL [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ] Herram [ \WObj ]


[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lgicas siguientes se ejecutarn mientras el robot se mueve. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo, si no se requiere ninguna sincronizacin. Utilizando el argumento \Conc, el nmero de instrucciones de movimiento que se suceden est limitado a 5. En una seccin de programa que incluye StorePathRestoPath, no se permitir la presencia de instrucciones de movimiento con el argumento \Conc. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado la zona especfica. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del TCP, la reorientacin de la herramienta y los ejes externos. Gua de Referencia RAPID 8-MoveL-1

[ \V ]

(Velocidad)

Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Luego, ser sustituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot se mueve. Luego, ser sustituido por los datos de velocidad correspondientes. Zona Tipo de dato: zonedata Son los datos de zona para el movimiento. Los datos de zona describen el tamao de la trayectoria esquina generada. [ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisin de la posicin del TCP del robot directamente en la instruccin. La longitud de la trayectoria esquina est especificada en mm, y ser sustituida por la zona correspondiente especificada en los datos de zona. Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El TCP es el punto que se mueve al punto de destino especfico. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento puede omitirse, y en el caso en que se omita, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado para poder realizar un movimiento lineal respecto al objeto de trabajo.

Ejecucin del programa


El robot y las unidades externas se movern al punto de destino de la siguiente manera: - El TCP de la herramienta se mover de forma lineal a una velocidad programada constante. - La herramienta es reorientada a intervalos iguales sobre la trayectoria. - Los ejes externos no coordinados se movern a una velocidad constante para que puedan llegar al punto de destino al mismo tiempo que los ejes del robot. En el caso en que la reorientacin o los ejes externos no puedan alcanzar la velocidad programada, la velocidad del TCP ser reducida.

8-MoveL-2

Gua de Referencia RAPID

Una trayectoria esquina suele ser generada cuando el movimiento es transferido a la seccin siguiente de una trayectoria. Si se especifica un punto de paro en los datos de zona, la ejecucin del programa nicamente continuar cuando el robot y los ejes externos hayan alcanzado la posicin adecuada.

Ejemplos
MoveL *, v2000 \V:=2200, z40 \Z:=45, pinza3; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria lineal, a una posicin almacenada en la instruccin. El movimiento se llevar a cabo con los datos de v2000 y z40; la velocidad y el tamao de la zona del TCP son de 2200 mm/s y de 45 mm respectivamente. MoveJ \Conc, *, v2000, z40, pinza3; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria lineal, a una posicin almacenada en la instruccin. Las instrucciones lgicas siguientes se ejecutarn mientras el robot se mueve. MoveJ arranque, v2000, z40, pinza3 \WObj:=fijacin; El TCP de la herramienta, pinza3, se mover siguiendo una trayectoria lineal, a una posicin, arranque. Esta posicin est especificada en el sistema de coordenadas del objeto, en la fijacin.

Sintaxis
MoveL [ \ Conc , ] [ AlPunto:= ] < expresin (IN) de robtarget > , [ Velocidad:= ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [Zona := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Herramienta := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Gua de Referencia RAPID

8-MoveL-3

Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general Sistemas de coordenadas Ejecucin de un programa concurrente Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S Principios de Movimiento y de E/SSistemas de Coordenadas Principios de Movimiento y de E/S Sincronizacin utilizando instrucciones lgicas

8-MoveL-4

Gua de Referencia RAPID

Open

Apertura de un archivo o de un canal serie


Open sirve para abrir un archivo o un canal serie para la lectura o la escritura.

Ejemplo
VAR iodev archivodat; . Open "flp1:LOGDIR" \File:= "ARCHIVO1.DOC",archivodat; El archivo ARCHIVO1.DOC de la unidad flp1: (disquete), directorio LOGDIR, est abierto para la escritura. El nombre de referencia archivodat se utilizar posteriormente en el programa cuando se escriba en el archivo.

Argumentos Open Objeto [\File] Dispositivo E/S [\Read] | [\Write] | [\Append] | [\Bin]
Objeto Tipo de dato: string

El objeto de E/S que se desea abrir, por ejemplo, "flp1:", "ram disk:". [\File] Tipo de dato: string

El nombre del archivo. Este nombre puede tambin ser especificado en el argumento Objeto, por ejemplo, "flp1:LOGDIR/ARCHIVO.DOC". Dispositivo E/S Tipo de dato: iodev

Una referencia al archivo o al canal serie que se desea abrir. Esta referencia se utiliza luego para las operaciones de lectura y escritura en el archivo/canal. Los argumentos \Read, \Write, \Append y \Bin son mutuamente exclusivos. En el caso en que ninguno de stos haya sido especificado, la instruccin actuar en el mismo sentido que el argumento \Write. [\Read] Tipo de dato: switch

Abre un archivo basado en caracteres o un canal serie para la lectura. Al leer un archivo, la lectura empieza desde el principio del archivo. [\Write] Tipo de dato: switch

Abre un archivo basado en caracteres o un canal serie para la escritura. En el caso en que el archivo seleccionado ya exista, su contenido ser borrado. Cualquier cosa que se escriba a partir de entonces, se escribir al principio del archivo.

Gua de Referencia RAPID

8-Open-1

[\Append]

Tipo de dato: switch

Abre un archivo basado en caracteres o un canal serie para la escritura. En el caso en que el archivo seleccionado ya exista, todo lo que se escribir a partir de entonces se escribir al final del archivo. [\Bin] Tipo de dato: switch

Abre un canal serie binario para la lectura y escritura. Funciona como append, es decir, indicador de archivo al final del archivo.

Ejemplo
VAR iodev impresora; . Open "sio1:", impresora \Bin; Write impresora, "Este es un mensaje para la impresora"; Close impresora; El canal serie sio1: es abierto para la lectura y escritura en binario. El nombre de referencia impresora ser utilizado posteriormente al escribir y al cerrar el canal serie.

Ejecucin del programa


El canal serie/archivo especificado ser activado de forma que se pueda leer o escribir en l. Se podrn abrir diferentes archivos en la misma unidad al mismo tiempo.

Gestin de errores
En el caso en que no se pueda abrir un archivo, la variable del sistema ERRNO se convertir en ERR_FILEOPEN. Este error podr ser procesado posteriormente en el gestor de errores.

Sintaxis
Open [Objeto :=] <expresin (IN) de string> [\File:= <expresin (IN) de string>] , [Dispositivo E/S:=] <variable (VAR) de iodev> [\Read] | [\Write] | [\Append] | [\Bin] ;

8-Open-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Lectura y escritura de canales serie y archivos Resumen RAPID - Comunicacin

Gua de Referencia RAPID

8-Open-3

8-Open-4

Gua de Referencia RAPID

PDispOff

Desactivacin de un desplazamiento de programa

PDispOff (Program Displacement Off) sirve para desactivar un desplazamiento de programa. El programa de desplazamiento ser activado por la instruccin PDispSet o PDispOn y se aplica a todos los movimientos hasta que se active o desactive otro desplazamiento de programa.

Ejemplos
PDispOff; Desactivacin de un desplazamiento de programa. MoveL p10, v500, z10, herram1; PDispOn \ExeP:=p10, p11, herram1; MoveL p20, v500, z10, herram1; MoveL p30, v500, z10, herram1; PDispOff; MoveL p40, v500, z10, herram1; Un desplazamiento de programa ser definido como la diferencia entre las posiciones p10 y p11. Este desplazamiento afectar el movimiento a p20 y p30, pero no a p40.

Ejecucin del programa


Se resetear el desplazamiento de programa activo. Esto significa que el sistema de coordenadas del desplazamiento del programa ser el mismo que el sistema de coordenadas del objeto y as todas las posiciones programadas se referirn a ste ltimo.

Sintaxis
PDispOff ;

Gua de Referencia RAPID

8-PDispOff-1

Informacin relacionada
Descrita en: Definicin de un desplazamiento de programa utilizando dos posiciones Definicin de un desplazamiento de programa utilizando valores Instrucciones - PDispOn Instrucciones - PDispSet

8-PDispOff-2

Gua de Referencia RAPID

PDispOn

Activacin de un desplazamiento de programa

PDispOn (Program Displacement On) sirve para definir y activar un desplazamiento de programa utilizando dos posiciones de robot. El desplazamiento de programa sirve por ejemplo, despus de haber realizado una bsqueda o cuando trayectorias de movimiento similares se van repitiendo en diferentes lugares en el programa.

Ejemplos
MoveL p10, v500, z10, herram1; PDispOn \ExeP:=p10, p20, herram1; Activacin de un desplazamiento de programa (movimiento paralelo). Esto se calcular basndose en la diferencia entre las posiciones p10 y p20. MoveL p10, v500, fine, herram1; PDispOn *, herram1; Activacin de un desplazamiento de programa (movimiento paralelo). Dado que se ha utilizado un punto de paro en la instruccin anterior, no ser necesario utilizar el argumento \ExeP. El desplazamiento ser calculado basndose en la diferencia entre la posicin actual del robot y el punto programado (*) almacenado en la instruccin. PDispOn \Rot \ExeP:=p10, p20, herram1; Activacin de un desplazamiento de programa incluyendo una rotacin. Esto se calcular basndose en la diferencia entre las posiciones p10 y p20.

Argumentos PDispOn [ \Rot ] [ \ExeP ] PuntProg Herram [ \WObj ] [\Rot ] (Rotacin)


Tipo de dato: switch

La diferencia de la orientacin de la herramienta ser tomada en cuenta y ello implicar una rotacin del programa.

[\ExeP ] (Punto Ejecutado)

Tipo de dato: robtarget

La nueva posicin del robot en el momento de la ejecucin del programa. Si este argumento es omitido, se utilizar la posicin utilizada por el robot en el momento de la ejecucin del programa.

Gua de Referencia RAPID

8-PDispOn-1

PuntProg (Punto Programado)

Tipo de dato: robtarget

La posicin original del robot en el momento de la programacin. Herram Tipo de dato: tooldata

La herramienta utilizada durante la programacin, es decir, el TCP al que se refiere la posicin PuntProg. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posicin PuntProg. Este argumento podr ser omitido, y en el caso en que lo sea, la posicin se referir al sistema de coordenadas mundo. Sin embargo, si se utiliza un TCP estacionario o ejes externos coordenados, este argumento deber ser especificado. Los argumentos Herram y \WObj se utilizan nicamente para calcular el PuntProg durante la programacin. La posicin utilizada durante la ejecucin del programa ser calculada utilizando la herramienta y el objeto de trabajo activados del robot.

Ejecucin del programa


Un desplazamiento de programa significa que el sistema de coordenadas ProgDisp ser trasladado respecto al sistema de coordenadas del objeto. Dado que todas las posiciones se refieren al sistema de coordenadas ProgDisp, todas las posiciones programadas sern tambin desplazadas. Vase la Figura 1. y
Posicin nueva, ExeP

y
Posicin original, PuntProg

x
Desplazamiento de progr. Sistema de Cordenadas del Desplazamiento del Programa (ProgDisp)

x
Sistema de Coordenadas del Objeto

Figura 1 Desplazamiento de una posicin programada utilizando un desplazamiento de programa.

El desplazamiento de programa se activar cuando la instruccin PDispOn haya sido ejecutada y permanecer activado hasta que se active otro desplazamiento de programa (la instruccin PDispSet o PDispOn) o hasta que se desactive otro desplazamiento de programa (la instruccin PDispOff). Slo se podr activar un desplazamiento a la vez. No obstante, se podr programar varias instrucciones PDispOn, una tras otra y, en este caso, los diferentes

8-PDispOn-2

Gua de Referencia RAPID

desplazamientos del programa sern aadidos. El desplazamiento de programa ser calculado como la diferencia entre ExeP y PuntProg. En el caso en que ExeP no haya sido especificado, se utilizar la posicin utilizada del robot en este momento de la ejecucin del programa. Dado que se utiliza la posicin actual del robot, el robot no deber moverse cuando se ejecuta la instruccin PDispOn. Si se utiliza el argumento \Rot, la rotacin ser calculada tambin basndose en la orientacin de la herramienta en las dos posiciones. El desplazamiento ser calculado de forma que la posicin nueva (ExeP) tenga la misma posicin y orientacin, respecto al sistema de coordenadas desplazado ProgDisp, que la posicin antigua (PuntProg) respecto al sistema de coordenadas original (vase la Figura 2).
Posicin nueva, ExeP Orientacin nueva

y y
Posicin original, PuntProg Orientacin original Desplazamiento del progr.

Sistema de Coordenadas del Desplazamiento del Programa (ProgDisp)

x
Sistema de Coordenadas del Objeto

Figura 2 Translacin y rotacin de una posicin programada.

El desplazamiento del programa ser reinicializado automticamente: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin del programa

Ejemplo
PROC dibuja_cuadrado() PDispOn *, herram1; MoveL *, v500, z10, herram1; MoveL *, v500, z10, herram1; MoveL *, v500, z10, herram1; MoveL *, v500, z10, herram1; PDispOff; ENDPROC . MoveL p10, v500, fine, herram1; dibuja_cuadrado; MoveL p20, v500, fine, herram1; dibuja_cuadrado; MoveL p30, v500, fine, herram1;

Gua de Referencia RAPID

8-PDispOn-3

dibuja_cuadrado; La rutina dibuja_cuadrado sirve para ejecutar la misma estructura de movimiento en tres posiciones diferentes, basndose en las posiciones p10, p20 y p30. Vase la Figura 3.
p30 p20

p10

Figura 3 Utilizando un desplazamiento de programa, las estructuras de movimiento podrn ser reutilizadas.

SearchL sen1, pbusc, p10, v100, herram1\WObj:=fijacin1; PDispOn \ExeP:=pbusc, *, herram1 \WObj:=fijacin1; Se realiza una bsqueda en la que la posicin buscada del robot est almacenada en la posicin psearch. Cualquier movimiento llevado a cabo despus de esto empezar a partir de esta posicin utilizando un desplazamiento de programa (movimiento paralelo). Este ltimo ser calculado basndose en la diferencia entre la posicin buscada y el punto programado (*) almacenado en la instruccin. Todas las posiciones estn basadas en el sistema de coordenadas del objeto fixture1.

Sintaxis
PDispOn [ \ Rot , ] [ \ ExeP := ] < expresin (IN) de robtarget > ,] [ ProgPoint := ] < expresin (IN) de robtarget > , [ Tool := ] < persistente (PERS) de tooldata> [ \WObj := < persistente (PERS) de wobjdata> ] ;

8-PDispOn-4

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Desactivacin del desplazamiento del programa Definicin del desplazamiento del programa utilizando valores Sistemas de coordenadas Definicin de las herramientas Definicin de los objetos de trabajo Ms ejemplos Instrucciones - PDispOff Instrucciones - PDispSet Principios de Movimiento y de E/S Sistemas de Coordenadas Tipos de datos - tooldata Tipos de datos - wobjdata Instrucciones - PDispOff

Gua de Referencia RAPID

8-PDispOn-5

8-PDispOn-6

Gua de Referencia RAPID

PDispSet

Activacin de un desplazamiento del programa utilizando un valor

PDispSet (Program Displacement Set) sirve para definir y activar un desplazamiento de programa utilizando valores. Se utilizar un desplazamiento de programa cuando, por ejemplo, se repiten estructuras de movimiento similares a diferentes lugares del programa.

Ejemplo
VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ]; . PDispSet xp100; La activacin del desplazamiento de programa xp100 significa que: - El sistema de coordenadas ProgDisp ser desplazado de 100 mm del sistema de coordenadas del objeto, en direccin del eje x- positivo (vase la Figura 1). - Mientras este desplazamiento de programa est activado, todas las posiciones sern desplazadas de 100 mm en la direccin del eje x-. Objeto
AAAA AAA AAAA AAA AAAA AAA AAAA AAA AAAA AA AAA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA

DesplProg

100

Figura 1 Un desplazamiento de programa de 100 mm en el eje x-.

Argumentos PDispSet BaseDesp


BaseDesp(Base de Desplazamiento) Tipo de dato: pose

El desplazamiento de programa ser definido como un dato del tipo pose.

Ejecucin del programa


El desplazamiento de programa implica la translacin y/o la rotacin del sistema de coordenadas ProgDisp respecto al sistema de coordenadas del objeto. Dado que todas las posiciones se refieren al sistema de coordenadas ProgDisp, todas las posiciones programadas sern tambin desplazadas. Vase la Figura 2.

Gua de Referencia RAPID

8-PDispSet-1

y y
Posicin original Orientacin original Desplazamiento de progr

Posicin nueva Orientacin nueva

Sistema de Coordenadas del Desplazamiento del Programa (ProgDisp)

x
Sistema de Coordenadas del Objeto

Figura 2 Translacin y rotacin de una posicin programada.

El desplazamiento de programa se activar cuando la instruccin PDispSet se ejecute y permanecer activado hasta que se active otro desplazamiento de programa (la instruccin PDispSet o PDispOn) o hasta que se desactive el desplazamiento de programa (la instruccin PDispOff). Slo se podr activar un desplazamiento de programa a la vez. Los programas de desplazamiento no podrn aadirse el uno al otro utilizando PDispSet. El desplazamiento del programa ser reinicializado automticamente: - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa.

Sintaxis
PDispSet [ BaseDesp:= ] < expresin (IN) de pose> ;

Informacin relacionada
Descrita en: Desactivacin de un desplazamiento de programa Definicin de un desplazamiento de programa utilizando dos posiciones Definicin de los tipos de dato pose Sistemas de Coordenadas Ejemplos de utilizacin de un desplazamiento de programas Instrucciones - PDispOff Instrucciones - PDispOn Tipos de Datos - pose Principios de Movimiento y de E/S Sistemas de Coordenadas Instrucciones - PDispOn

8-PDispSet-2

Gua de Referencia RAPID

ProcCall

Llamada de un procedimiento nuevo

Una llamada procedimiento sirve para transferir la ejecucin del programa a otro procedimiento. Cuando el procedimiento ha sido ejecutado completamente, la ejecucin del programa continua con la instruccin que sigue la llamada de procedimiento. Normalmente se puede enviar una serie de argumentos al procedimiento nuevo. Estos tendrn por misin controlar el comportamiento del procedimiento y hacer que sea posible utilizar el mismo procedimiento para diferentes utilidades.

Ejemplos
weldpipe1; Llamada del procedimiento weldpipe1. errormessage; Set do1; . PROC errormessage() TPWrite "ERROR"; ENDPROC El procedimiento errormessage ser llamado. Cuando este procedimiento est listo, la ejecucin del programa regresar a la intruccin que sigue la llamada de procedimiento, Set do1.

Argumentos Procedure
Procedure El nombre del procedimiento que se desea llamar. Argument Tipo de dato: De acuerdo con la declaracin de procedimiento

{ Argument }
Identificador

Los argumentos del procedimiento (de acuerdo con los parmetros del procedimiento).

Gua de Referencia RAPID

8-ProcCall-1

Ejemplo
weldpipe2 10, lowspeed; Llamar al procedimineto weldpipe2, incluyendo dos argumentos. weldpipe3 10 \speed:=20; Llamar al procedimiento weldpipe3, incluyendo un argumento obligatorio y otro opcional.

Limitaciones
Los argumentos del procedimiento deben coincidir con sus parmetros: - Todos los argumentos obligatorios debern ser incluidos. - Debern ser colocados siguiendo el mismo orden. - Debern ser del mismo tipo de dato. - Debern ser del tipo correcto en relacin al modo de acceso (entrada, varible o persistente). Una rutina puede llamar a otra rutina que, a su vez, llama a otra rutina, y as sucesivamente. Una rutina tambin podr llamarse a s misma, es decir, que realizar una llamada recursiva. El nmero de niveles de rutina permitido depender del nmero de parmetros, pero por lo general se permiten ms de 10 niveles.

Sintaxis
(EBNF) <procedimiento> [ <lista argumento> ] ; <procedimiento> ::= <identificador>

Informacin relacionada
Descrita en: Argumentos, parmetros Ms ejemplos Caractersticas Bsicas - Rutinas Ejemplos

8-ProcCall-2

Gua de Referencia RAPID

PulseDO

Generacin de un pulso en una seal de salida digital

PulseDO sirve para generar un pulso en una seal de salida digital.

Ejemplos
PulseDO do15; Se generar un pulso de 0,2 s en la seal de salida do15. PulseDO \PLength:=1.0, conexin; Se generar un pulso de 1,0 s en la seal conexin.

Argumentos PulseDO
[ \PLength ]

[ \PLength ] Seal
(Duracin del pulso) Tipo de dato: num

La duracin del pulso en segundos (0,1 - 32 seg.). Si se omite el argumento, se generar un pulso de 0,2 segundos. Seal Tipo de dato: signaldo El nombre de la seal en la que deber generarse un pulso.

Ejecucin del programa


Se generar un pulso con una longitud de pulso especfica (vase la Figura 1).

Gua de Referencia RAPID

8-PulseDO-1

1 Nivel de la seal 0

A A A A A A A A A

Duracin del pulso A


A A A A A A A A

Ejecucin de la instruccin PulseDO Ejecucin de la instruccin PulseDO 1 Nivel de la seal 0


Figura 1 Generacin de un pulso en una seal de salida digital.

La instruccin siguiente se ejecutar despus del inicio del pulso. El pulso podr entonces ser activado/reinicializado sin afectar el resto de la ejecucin del programa.

Limitaciones
La duracin del pulso tiene una resolucin de 0,01 segundos. Los valores programados que difieran de ste sern redondeados.

Sintaxis
PulseDO [ \ PLength := < expresin (IN) de num > , ] [ Seal := ] < variable (VAR) de signaldo > ;

Informacin relacionada
Descrita en: Instrucciones de E/S Funciones de las E/S en general Configuracin de las E/S Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/SPrincipios de E/S Gua del Usuario - Parmetros del Sistema

8-PulseDO-2

Gua de Referencia RAPID

RAISE

Llamada al gestor de error


RAISE sirve para crear un error en el programa y luego llamar el gestor de errores de la rutina. RAISE tambin podr utilizarse en el gestor de errores para propagar el error actual al gestor de error de la rutina que llama. La instruccin puede, por ejemplo, utilizarse para saltar a un nivel superior en la estructura del programa, por ejemplo, al gestor de errores de la rutina principal, cuando ocurre un error en un nivel inferior.

Ejemplo
IF ... IF ... IF ... RAISE escape1; . ERROR IF ERRNO=escape1 RAISE; La rutina ser interrumpida para permitir retirarse de un nivel bajo del programa. Se produce un salto al gestor de errores de la rutina llamada.

Argumentos RAISE
N Error

[ N Error ]
Tipo de dato: errnum

Nmero de error: Cualquier nmero entre 1-90 que el gestor de errores puede utilizar para localizar el error que se ha producido (la variable del sistema ERRNO). El nmero de error deber ser especificado fuera del gestor de errores en una instruccin RAISE para ser capaz de transferir la ejecucin al gestor de errores de esta rutina. Si la instruccin est presente en un gestor de errores de una rutina, no es necesario que el nmero de error est especificado. En tal caso, el error ser propagado al gestor de errores de la rutina que llama.

Ejecucin del programa


La ejecucin del programa contina en el gestor de errores de la rutina. Cuando el ges-

Gua de Referencia RAPID

8-RAISE-1

tor de errores haya sido ejecutado, la ejecucin del programa proseguir con: - la rutina que ha llamado la rutina correspondiente (RETURN), - el gestor de errores de la rutina que ha llamado la rutina correspondiente (RAISE). En el caso en que la instruccin RAISE est presente en un gestor de errores de la rutina, la ejecucin del programa contina en el gestor de errores de la rutina que ha llamado la rutina correspondiente. El mismo nmero de error permanece activo. En el caso en que la instruccin RAISE est presente en una rutina de tratamiento de interrupciones, el error ser procesado por el gestor de errores del sistema.

Gestin de errores
En el caso en que el nmero de error est fuera de alcance, la variable del sistema ERRNO se activar en ERR_ILLRAISE (vase "Tipos de Datos - errnum"). Este error puede ser manipulado en el gestor de error.

Sintaxis
(EBNF) RAISE [<nmero de error>] ; <nmero de error> ::= <expresin>

Informacin relacionada
Descrita en: Gestin de errores Caractersticas Bsicas Recuperacin de errores

8-RAISE-2

Gua de Referencia RAPID

Reset

Puesta a cero de una seal de salida digital


Reset sirve para poner una salida digital a cero.

Ejemplos
Reset do15; La seal do15 se pondr a 0. Reset sold; La seal sold se pondr a 0.

Argumentos Reset
Seal El nombre de la seal que se desea poner a 0.

Seal
Tipo de dato: signaldo

Ejecucin del programa


El valor verdadero depende de la configuracin de la seal. Si la seal ha sido invertida en los parmetros del sistema, la instruccin har que el canal fsico se ponga en 1.

Sintaxis
Reset [ Seal := ] < variable (VAR) de signaldo > ;

Gua de Referencia RAPID

8-Reset-1

Informacin Relacionada
Descrita en: Activacin de una seal de salida digital Instrucciones de E/S Funciones de las E/S en general Configuracin de las E/S Instrucciones - Activacin Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/S Principios de E/S Gua del Usuario - Parmetros del Sistema

8-Reset-2

Gua de Referencia RAPID

RestoPath

Restauracin de la trayectoria despus de una interrupcin

RestoPath sirve para restaurar una trayectoria que ha sido almacenada previamente mediante la instruccin StorePath.

Ejemplo
RestoPath; Restaurar la trayectoria que ha sido almacenada anteriormente mediante la instruccin StorePath.

Ejecucin del programa


La trayectoria de movimiento utilizada del robot y de los ejes externos ser borrada y la trayectoria almacenada anteriormente mediante la instruccin StorePath ser restaurada. No se mover nada hasta que se ejecute la instruccin StartMove o que se realice un retorno utilizando la instruccin RETRY a partir de un gestor de errores.

Ejemplo
ArcL p100, v100, insol1, sold5, oscil1, z10, boq1; ... ERROR IF ERRNO=AW_WELD_ERR THEN limpia_boq; RETRY; ENDIF ... PROC limpia_boq() VAR robtarget p1; StorePath; p1 := CRobT(); MoveL plimp, v100, fine, boq1; ... MoveL p1, v100, fine, boq1; RestoPath; ENDPROC En el caso de ocurrir un error de soldadura, la ejecucin del programa continuar en el gestor de errores de la rutina, que, a su vez llamar limpia_boq. La trayectoria de movimiento que se est ejecutando en este momento ser entonces almacenada y el robot se mover a la posicin plimp donde el error ser rectificado. Una vez esto haya sido realizado, el robot regresar a la posicin

Gua de Referencia RAPID

8-RestoPath-1

donde ocurri el error, p1, y volver a almacenar el movimiento original. En este momento, la soldadura rearrancar automticamente, lo que significa que el robot regresar en la trayectoria antes de iniciar la soldadura y de proseguir con la ejecucin normal del programa.

Limitaciones
El movimiento que se est ejecutando en el momento deber en primer lugar ser parado, utilizando por ejemplo un punto de paro, antes de que la instruccin RestoPath pueda ser ejecutada. La instruccin de movimiento que precede a esta instruccin deber terminar con un punto de paro para que, en esta instruccin, sea posible realizar un rearranque despus de un corte de potencia.

Sintaxis
RestoPath;

Informacin relacionada
Descrita en: Almacenamiento de trayectorias Ms ejemplos Instrucciones - StorePath Instrucciones - StorePath

8-RestoPath-2

Gua de Referencia RAPID

RETRY

Rearranque despus de un error

RETRY sirve para rearrancar la ejecucin del programa despus de que se haya producido un error.

Ejemplo
reg2 := reg3/reg4; . ERROR IF ERRNO = ERR_DIVZERO THEN reg4 := 1; RETRY; ENDIF Se ha intentado dividir reg3 por reg4. Si reg4 es igual a 0 (divisin por cero), se realizar un salto al gestor de errores, que inicializar reg4. La instruccin RETRY se utilizar entonces para saltar del gestor de errores y se realizar otro intento para llevar a cabo la divisin.

Ejecucin del programa


La ejecucin del programa (vuelve a ejecutar) contina con la instruccin que ha provocado el error.

Gestin de errores
En el caso en que el nmero mximo de reintentos (5) est excedido, la variable del sistema ERRNO se activar en ERR_EXCRTYMAX (vase "Tipos de datos - errnum"). Este error podr ser manipulado por el gestor de errores.

Limitaciones
La instruccin solamente podr existir en un gestor de errores de rutina. En el caso de que el error haya sido creado al utilizar una instruccin RAISE, la ejecucin del programa no podr ser rearrancada mediante una instruccin RETRY, en vez de sta se deber usar la funcin TRYNEXT.

Sintaxis
RETRY ;

Gua de Referencia RAPID

8-RETRY-1

Informacin relacionada
Descrita en: Gestores de errores Continuar con la siguiente instruccin Caractersticas Bsicas Recuperacin de Errores Instrucciones - TRYNEXT

8-RETRY-2

Gua de Referencia RAPID

RETURN

Fin de ejecucin de una rutina

RETURN sirve para finalizar la ejecucin de una rutina. Si la rutina es una funcin, el valor de la funcin ser devuelto.

Ejemplos
mensajerror; Set do1; . PROC mensajerror() TPWrite "ERROR"; RETURN; ENDPROC El procedimiento mensajerror ser llamado. Cuando el procedimiento llega a la instruccin RETURN, la ejecucin del programa contina en la instruccin que sigue la llamada del procedimiento, Set do1. FUNC num valor_abs (num valor) IF valor<0 THEN RETURN -valor; ELSE RETURN valor; ENDIF ENDFUNC La funcin devuelve el valor absoluto de un nmero.

Argumentos RETURN
Valor devuelto El valor devuelto de una funcin. El valor devuelto debe ser especificado en una instruccin RETURN presente en la funcin. Si la instruccin est en un procedimiento o en una rutina de tratamiento de interrupciones, puede ocurrir que un valor devuelto no est especificado.

[ Valor devuelto ]
Tipo de dato: Segn la declaracin de la funcin

Gua de Referencia RAPID

8-RETURN-1

Ejecucin del programa


El resultado de la instruccin RETURN podr variar, dependiendo del tipo de rutina en la que est utilizada: - Rutina principal: En el caso en que el arranque del programa haya sido ordenado al final del ciclo, el programa se para. De lo contrario, la ejecucin del programa contina con la primera instruccin de la rutina principal. - Procedimiento: - Funcin: La ejecucin del programa contina con la instruccin que sigue a la llamada del procedimiento. Devuelve el valor de la funcin.

- Rutina tratamiento de interrupciones: La ejecucin del programa contina a partir de donde se ha producido la interrupcin. - Gestor de errores: En un procedimiento: La ejecucin del programa contina con la rutina que llam la rutina con el gestor de error (con la instruccin que sigue la llamada del procedimiento). En una funcin: El valor de la funcin es devuelto.

Sintaxis
(EBNF) RETURN [ <expresin> ];

Informacin Relacionada
Descrita en: Funciones y Procedimientos Rutinas de tratamiento de interrupciones Gestores de error Caractersticas Bsicas - Rutinas Caractersticas Bsicas Interrupciones Caractersticas Bsicas - Recuperacin de errores

8-RETURN-2

Gua de Referencia RAPID

SearchC

Bsqueda circular utilizando el robot

SearchC (Search Circular) sirve para buscar una posicin moviendo el punto central de la herramienta (TCP) de forma circular. Durante el movimiento, el robot supervisa una seal de entrada digital. Cuando el valor de la seal pasa a ser activa, el robot inmediatamente lee la posicin actual. Esta instruccin se suele utilizar cuando la herramienta sujetada por el robot es un sensor para la deteccin de la superficie. Utilizando la instruccin SearchC, se podr obtener las coordenadas generales de un objeto de trabajo.

Ejemplos
SearchC sen1, polmc, puntcirc, p10, v100, sensor; El TCP del sensor se mover de forma circular hacia la posicin p10 a una velocidad de v100. Cuando el valor de la seal sen1 pasa a ser activa, la posicin se almacenar en polmc. SearchC \Stop, sen1, polmc, puntcirc, p10, v100, sensor; El TCP del sensor se mover de forma circular hacia la posicin p10. Cuando el valor de la seal sen1 pasa a ser activa, la posicin se almacenar en polmc y el robot se detendr inmediatamente.

Argumentos SearchC [ \Stop ] | [ \PStop ] | [ \Sup ] Seal PuntBusc PuntCirc AlPunto Veloc [ \V ] | [ \T ] Herram [ \WObj ]
[ \Stop ] Tipo de dato: switch

El movimiento del robot se detendr, lo ms rpidamente posible sin mantener el TCP en la trayectoria, cuando el valor de la seal de bsqueda pasa a ser activa. No obstante, el robot se mover un poco antes de pararse y no regresar a la posicin buscada, es decir, a la posicin donde la seal ha cambiado. Si se omite este argumento, el movimiento continua (bsqueda sobre la marcha) a la posicin especificada en el argumento AlPunto. [ \PStop ] (Paro trayectoria) Tipo de dato: switch

El movimiento del robot es parado, lo ms rpidamente posible, manteniendo el TCP en la trayectoria, cuando el valor de la seal de bsqueda pasa a ser activa. No obstante, el robot se mueve de una pequea distancia antes de pararse y no regresar a la posicin buscada, es decir, a la posicin donde la seal ha cambiado.

Gua de Referencia RAPID

8-SearchC-1

[ \Sup ]

(Supervisin)

Tipo de dato: switch

La instruccin de bsqueda es sensible a la activacin de seales durante el movimiento completo, es decir, incluso despus de que el primer cambio de seal haya sido registrado. Si se produce ms de una deteccin durante una bsqueda, la ejecucin del programa se para. En el caso en que se omitan los argumentos \Stop, \PStop o \Sup, el movimiento continua (bsqueda sobre la marcha) a la posicin especificada en el argumento AlPunto. Seal Es el nombre de la seal que se debe supervisar. PuntBusc Tipo de dato: robtarget Tipo de dato: signaldi

La posicin del TCP y de los ejes externos cuando la seal de bsqueda ha sido activada. La posicin ser especificada en el sistema de coordenadas ms exterior teniendo en cuenta la herramienta especificada, el objeto de trabajo y el sistema de coordenadas ProgDisp/ExtOffs activo. PuntCirc Tipo de dato: robtarget

Es el punto de crculo del robot. Vase la instruccin MoveC para una descripcin ms detallada del movimiento circular. El punto de crculo est definido como una posicin con nombre o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin con nombre o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). SearchC siempre utiliza un punto de paro como dato de zona para el destino. Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. El dato de velocidad define la velocidad del punto central de la herramienta, de los ejes externos y de la reorientacin de la herramienta. [ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Ms adelante, este argumento ser sustituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual se mueve el robot. Ms adelante, este argumento ser sustituido por los datos de velocidad correspondientes.

8-SearchC-2

Gua de Referencia RAPID

Herram

Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El punto central de la herramienta es el punto que se mueve a la posicin de destino especificada. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refieren las posiciones del robot en la instruccin. Este argumento puede omitirse, y en el caso en que lo sea, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber estar especificado para un movimiento lineal referido al objeto de trabajo correspondiente.

Ejecucin del programa


Vase la instruccin MoveC para ms informacin respecto al movimiento circular. El movimiento se termina siempre con un punto de paro, es decir, que el robot se para en el punto de destino. Si se utiliza una funcin de bsqueda sobre la marcha, es decir, cuando el argumento \Stop no ha sido especificado, el movimiento del robot siempre continuar hacia el punto de destino programado. Si la bsqueda se realiza utilizando el argumento \Stop, o \PStop, el movimiento del robot se parar cuando se detecte la primera seal. La instruccin SearchC devuelve la posicin del TCP cuando el valor de la seal digital pasa a ser activa, segn se indica en la Figura 1.

1 0

tiempo

= Reaccin de la instruccin cuando cambia la seal

Figura 1 Deteccin de la seal activada por el flanco (la posicin ser almacenada cuando la seal pase a ser activa por primera vez).

Para obtener una respuesta rpida, se deber utilizar las seales de sensor sen1, sen2 o sen3 activadas por interrupciones, de la tarjeta de sistema.

Ejemplo
SearchC \Sup, sen1, polmc, puntcirc, p10, v100, sensor; El TCP del sensor se mover de forma circular hacia la posicin p10. Cuando cambie el valor de la seal sen1 pasa a ser activa, la posicin ser almacenada en polmc. En el caso en que el valor de la seal cambie dos veces, la ejecucin del Gua de Referencia RAPID 8-SearchC-3

programa se detiene.

Limitaciones
Los datos de zona de la instruccin de posicionamiento que preceden SearchC debern utilizarse con mucho cuidado. El arranque de la bsqueda, es decir, cuando la seal de E/S est lista para reaccionar, no corresponde en este caso con el punto de destino programado de la instruccin de posicionamiento anterior, sino que es un punto situado en la trayectoria real del robot. En la Figura 2 se indica un ejemplo de una situacin en que puede haber problemas por utilizar otros datos de zona que no sea fine. La instruccin SearchC no deber nunca ser rearrancada despus de haber pasado el punto de crculo. De lo contrario el robot no emprender la trayectoria programada (posicionamiento en torno a la trayectoria circular en otra direccin comparada con la programada).

Punto de arranque con datos de zona z10

Objeto buscado

Punto final Punto de arranque con datos de zona fine Figura 2 La deteccin se realiza en el lado incorrecto del objeto debido a la utilizacin de datos de zona incorrectos.

La distancia de paro normal cuando se utiliza una velocidad de bsqueda de 50 mm/s es de: - 1-3 mm sin el TCP en la trayectoria (argumento \Stop). - 12-16 mm con el TCP en la trayectoria (argumento \PStop).

Gestin de errores
Se generar un error durante una bsqueda cuando: - no ha ocurrido ninguna deteccin de seal - ha ocurrido ms de una deteccin de seal - esto genera un error nicamente si el argumento \Sup ha sido utilizado. Los errores sern procesados de distintas maneras segn el modo de funcionamiento utilizado:

8-SearchC-4

Gua de Referencia RAPID

Continuo hacia adelante No se devuelve ninguna posicin y el movimiento siempre continua hacia el punto de destino programado. La variable del sistema ERRNO se activar con el valor de ERR_WHLSEARCH y el error podr ser procesado en el gestor de errores de la rutina. Instruccin hacia adelante No se devuelve ninguna posicin y el movimiento siempre continua hacia el punto de destino programado. La ejecucin del programa se detiene con un mensaje de error. Instruccin hacia atrs Durante la ejecucin hacia atrs, la instruccin se limita en llevar a cabo el movimiento sin realizar ninguna supervisin de seales.

Sintaxis
SearchC [ \ Stop, ] | [ \ PStop ,] | [ \ Sup , ] [ Seal := ] < variable (VAR) de signaldi > , [ PuntBusc:= ] < variable o persistente (INOUT) de robtarget > , [ PuntCirc:= ] < expresin (IN) de robtarget > , [ AlPunto:= ] < expresin (IN) de robtarget > , [ Veloc:= ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [ Herram:= ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Informacin relacionada
Descrito en: Bsqueda lineal Movimiento circular Instrucciones - SearchL Principios de Movimiento y de E/S Posicionamiento durante la ejecucin del programa Tipos de datos - speeddata Tipos de datos - tooldata Tipos de datos - wobjdata Resumen RAPID - Recuperacin de errores Principios de Movimiento y de E/S Instrucciones - SearchL

Definicin de la velocidad Definicin de las herramientas Definicin de los objetos de trabajo Utilizacin de los gestores de error Movimientos en general Ms ejemplos de bsqueda

Gua de Referencia RAPID

8-SearchC-5

8-SearchC-6

Gua de Referencia RAPID

SearchL

Bsqueda lineal utilizando el robot

SearchL (Search Linear) sirve para buscar una posicin moviendo el punto central de la herramienta (TCP) de forma lineal. Durante el movimiento, el robot supervisa una seal de entrada digital. Cuando el valor de la seal pasa a ser activa, el robot inmediatamente lee la posicin actual. Esta instruccin suele utilizarse cuando la herramienta sujetada por el robot constituye un sensor para la deteccin de la superficie. Con esta instruccin SearchL, se podrn obtener las coordenadas generales de un objeto de trabajo.

Ejemplos
SearchL sen1, polmc, p10, v100, sensor; El TCP del sensor se mover de forma lineal hacia la posicin p10 a una velocidad de v100. Cuando el valor de la seal sen1 pasa a ser activa, la posicin queda almacenada en polmc. SearchL \Stop, sen1, polmc, p10, v100, sensor; El TCP del sensor se mover de forma lineal hacia la posicin p10. Cuando el valor de la seal sen1 pasa a ser activa, la posicin queda almacenada en polmc y el robot se para inmediatamente.

Argumentos SearchL [ \Stop ] | [ \PStop ] | [ \Sup ] Seal PuntBusc AlPunto Veloc [ \V ] | [ \T ] Herram [ \WObj ]
[ \Stop ] Tipo de dato: switch

El movimiento del robot se detiene, lo ms rpidamente posible sin mantener el TCP en la trayectoria, cuando el valor de la seal de bsqueda pasa a ser activa. No obstante, el robot se mover un poco antes de detenerse y no regresar a la posicin buscada, es decir, a la posicin donde ha cambiado la seal. Si se omite este argumento, el movimiento contina (bsqueda sobre la marcha) hasta la posicin especificada en el argumento AlPunto. [ \PStop ] (Paro trayectoria) Tipo de dato: switch

El movimiento del robot es parado, lo ms rpidamente posible, manteniendo el TCP en la trayectoria, cuando el valor de la seal de bsqueda pasa a ser activa. No obstante, el robot se mueve de una pequea distancia antes de pararse y no regresar a la posicin buscada, es decir, a la posicin donde la seal ha cambiado.

Gua de Referencia RAPID

8-SearchL-1

[\Sup ]

(Supervisin)

Tipo de dato: switch

La instruccin de bsqueda es sensible a la activacin de seales durante el movimiento completo, es decir, incluso despus de que el primer cambio de seal haya sido registrado. Si se produce ms de una deteccin durante una bsqueda, la ejecucin del programa se detiene. En el caso en que se omitan los argumentos \Stop, \PStop o \Sup, el movimiento continua (bsqueda sobre la marcha) a la posicin especificada en el argumento AlPunto. Seal Es el nombre de la seal que se debe supervisar. PuntBusc Tipo de dato: robtarget Tipo de dato: signaldi

Es la posicin del TCP y de los ejes externos cuando la seal de bsqueda se ha activado. La posicin ser especificada en el sistema de coordenadas ms exterior, teniendo en cuenta la herramienta especificada, el objeto de trabajo y el sistema de coordenadas ProgDisp/Extoffs activo. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin con nombre o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). SearchL siempre utiliza un punto de paro como dato de zona para el destino. Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del punto central de la herramienta, de los ejes externos y de la reorientacin de la herramienta. [ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente en la instruccin. Ms adelante, ser sustituido por la velocidad correspondiente especificada en los datos de velocidad. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot se mueve. Ms adelante, ser sustituido por los datos de velocidad correspondientes. Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El punto central de la herramienta es el punto que se mueve a la posicin de destino especificada.

8-SearchL-2

Gua de Referencia RAPID

[ \WObj]

(Objeto de Trabajo)

Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento podr ser omitido, y en el caso en que as sea, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado para un movimiento lineal relativo al objeto de trabajo correspondiente.

Ejecucin del programa


Vase la instruccin MoveL para ms informacin referente al movimiento lineal. El movimiento siempre termina con un punto de paro, es decir, que el robot se detiene en el punto de destino. Si se utiliza una funcin de bsqueda sobre la marcha, es decir, si el argumento \Stop no ha sido especificado, el movimiento del robot siempre seguir hacia el punto de destino programado. Si se realiza una bsqueda utilizando \Stop o \PStop, el movimiento del robot se detendr cuando se detecte la primera seal. La instruccin SearchL almacena la posicin del TCP cuando el valor de la seal digital pasa a ser activa, segn se indica en la Figura 1.

1 0

tiempo

= Reaccin de la instruccin cuando la seal cambia

Figura 1 Deteccin de la seal activada en el flanco (la posicin es almacenada cuando la seal cambia por primera vez nicamente).

Para obtener una respuesta rpida, se deber utilizar las seales de sensor sen1, sen2 o sen3 activadas por interrupciones, de la tarjeta de sistema.

Ejemplos
SearchL \Sup, sen1, polmc, p10, v100, sensor; El TCP del sensor se mover de forma lineal hacia la posicin p10. Cuando el valor de la seal sen1 pasa a ser activa, la posicin se almacenar en polmc. En el caso en que el valor de la seal cambie dos veces, la ejecucin del programa se detendr. SearchL \Stop, sen1, polmc, p10, v100, herram1; MoveL polmc, v100, fine, herram1; PDispOn *, herram1;

Gua de Referencia RAPID

8-SearchL-3

MoveL p100, v100, z10, herram1; MoveL p110, v100, z10, herram1; MoveL p120, v100, z10, herram1; PDispoff; El TCP de la herramienta herram1 se mover de forma lineal hacia la posicin p10. Cuando el valor de la seal sen1 pasa a ser activa, la posicin ser almacenada en polmc y el robot regresar a este punto. Cuando se utiliza el desplazamiento del programa, el robot se mover respecto a la posicin buscada, polmc.

Limitaciones
Los datos de zona de la instruccin de posicionamiento que preceden a SearchL debern utilizarse con mucho cuidado. El inicio de la bsqueda, es decir, cuando la seal de E/S est lista para reaccionar, no correspondr en este caso al punto de destino programado de la instruccin de posicionamiento anterior, sino a un punto situado en la trayectoria real del robot. En la Figura 2 a la Figura 4 se indican ejemplos de situaciones en que puede haber problemas por utilizar otros datos de zona que no sea fine.

Punto de arranque con datos de zona fine Punto de arranque con datos de zona z10

Objeto buscado Punto final

Figura 2 La deteccin se ha realizado en el lado incorrecto del objeto debido a la utilizacin de datos de zona incorrectos.

Punto de arranque con datos de zona fine Punto de arranque con datos de zona z10

Objeto buscado Punto final

Figura 3 No se detecta el objeto debido a la utilizacin de datos de zona incorrectos.

8-SearchL-4

Gua de Referencia RAPID

Punto de arranque con datos de zona fine Punto de arranque con datos de zona z10 Objeto buscado Punto final Figura 4 No se detecta el objeto debido a la utilizacin de datos de zona incorrectos.

La distancia de paro normal cuando se utiliza una velocidad de bsqueda de 50 mm/s es de: - 1-3 mm sin el TCP en la trayectoria (argumento \Stop). - 12-16 mm con el TCP en la trayectoria (argumento \Stop).

Gestin de errores
Se generar un error durante una bsqueda cuando: - no ha ocurrido ninguna deteccin de seal - ha ocurrido ms de una deteccin de seal - esto genera un error nicamente si el argumento \Sup ha sido utilizado. Los errores sern procesados de distintas maneras segn el modo de funcionamiento utilizado: Continuo hacia adelante No se devuelve ninguna posicin y el movimiento contina siempre hasta el punto de destino programado. La variable del sistema ERRNO se activar en ERR_WHLSEARCH y el error podr ser procesado en el gestor de errores de la rutina. Instruccin hacia adelante No se devuelve ninguna posicin y el movimiento contina siempre hasta el punto de destino programado. La ejecucin del programa se detiene con un mensaje de error. Instruccin hacia atrs Durante la ejecucin hacia atrs, la instruccin se limita a llevar a cabo el movimiento sin realizar ninguna supervisin de seales.

Ejemplo
MoveL p10, v100, fine, herram1; SearchL \Stop, sen1, polmc, p20, v100, herram1; . ERROR

Gua de Referencia RAPID

8-SearchL-5

IF ERRNO=ERR_WHLSEARCH THEN MoveL p10, v100, fine, herram1; RETRY; ENDIF El robot realiza una bsqueda a partir de la posicin p10 a p20. Si no ocurre ninguna deteccin de seal, el robot regresa a p10 y vuelve a intentar otra vez.

Sintaxis
SearchL [ \ Stop, ] | [ \ PStop ,] | [ \ Sup , ] [ Seal := ] < variable (VAR) de signaldi > , [ PuntBusc:= ] < variable o persistente (INOUT) de robtarget > , [ AlPunto:= ] < expresin (IN) de robtarget > , [ Veloc:= ] < expresin (IN) de speeddata > [ \ V := < expresin (IN) de num > ] | [ \ T := < expresin (IN) de num > ] , [ Herram:= ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Informacin relacionada
Descrita en: Bsqueda circular Movimiento lineal Instrucciones - SearchC Principios de Movimiento y de E/S Posicionamiento durante la ejecucin del programa Tipos de datos - speeddata Tipos de datos - tooldata Tipos de datos - wobjdata Resumen RAPID - Recuperacin de errores Principios de Movimiento y de E/S

Definicin de la velocidad Definicin de las herramientas Definicin de los objetos de trabajo Utilizacin de los gestores de error Movimiento en general

8-SearchL-6

Gua de Referencia RAPID

Set

Activacin de una seal de salida digital


Set sirve para colocar el valor de la seal de salida digital a uno.

Ejemplos
Set do15; La seal do15 se pondr en 1. Set sold; La seal sold se pondr en 1.

Argumentos Set
Seal El nombre de la seal que se desea poner a 1.

Seal
Tipo de seal: signaldo

Ejecucin del programa


El valor verdadero depender de la configuracin de la seal. En el caso en que la seal haya sido invertida en los parmetros del sistema, la instruccin har que el canal fsico se ponga en cero.

Sintaxis
Set [ Seal := ] < variable (VAR) de signaldo > ;

Gua de Referencia RAPID

8-Set-1

Informacin Relacionada
Descrita en: Activacin de una seal de salida digital a cero Instrucciones de Entradas/Salidas Funciones de las Entrada/Salida en general Configuracin de las E/S Instrucciones - Reinicializar Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/SPrincipios de E/S Gua del Usuario - Parmetros del Sistema

8-Set-2

Gua de Referencia RAPID

SetAO Cambio del valor de una seal de salida analgica


SetAO sirve para cambiar el valor de una seal de salida analgica.

Ejemplo
SetAO ao2, 5.5; La seal ao2 se pone a 5,5.

Argumentos SetAO
Seal

Seal Valor
Tipo de dato: signalao

El nombre de la seal de salida analgica que se desea cambiar. Valor El valor deseado de la seal. Tipo de dato: num

Ejecucin del programa


El valor programado es escalado (de acuerdo con los parmetros del sistema) antes de ser enviado a un canal fsico. Vase la Figura 1. Valor fsico de la seal de salida (V, mA, etc.) MAX SEAL AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA A AAA A A A A A A A A A A A A A A A

MAX PROGRAMA Valor lgico en el programa

MIN

A A A A A A A A A PROGRAMA A A A A A AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAA A AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAA A AA

MIN SEAL

Figura 1 Diagrama indicando como se escalan los valores de las seales analgicas.

Gua de Referencia RAPID

8-SetAO-1

Ejemplo
SetAO corrsold, sal_corr; La seal corrsold adoptar con el mismo valor que el valor utilizado de la variable sal_corr.

Sintaxis
SetAO [ Seal := ] < variable (VAR) de signalao > , [ Valor := ] < expresin (IN) de num > ;

Informacin Relacionada
Descrita en: Instrucciones de las Entradas/Salidas Resumen RAPID Seales de Entrada y Salida

Funciones de las Entradas/Salidas en general Principios de Movimiento y de E/S Principios de E/S Configuracin de las E/S Gua del Usuario - Parmetros del Sistema

8-SetAO-2

Gua de Referencia RAPID

SetDO

Cambio del valor de una seal de salida digital


SetDO sirve para cambiar el valor de una seal de salida digital, con o sin un retraso.

Ejemplos
SetDO do15, 1; La seal do15 se pondr en 1. SetDO sold, off; La seal sold pasar a off. SetDO \SDelay := 0,2, sold, alto; La seal sold se activar en alto con un retraso de 0,2 s. La ejecucin del programa continuar, sin embargo, con la instruccin siguiente.

Argumentos SetDO
[ \SDelay ]

[ \SDelay ] Seal Valor


(Retardo) Tipo de dato: num

Retrasa el cambio del tiempo especificado en segundos (0,1 - 32 seg.). La ejecucin del programa contina directamente con la instruccin siguiente. Una vez transcurrido el tiempo de espera, la seal cambia sin afectar por ello el resto de la ejecucin del programa. Si se omite el argumento, el valor de la seal cambia directamente. Seal El nombre de la seal que se desea cambiar. Valor El valor deseado de la seal. El valor se especifica a 0 o a 1. Tipo de dato: dionum Tipo de dato: signaldo

Ejecucin del programa


El valor verdadero depender de la configuracin de la seal. En el caso en que la seal haya sido invertida en los parmetros del sistema, el valor del canal fsico ser el opuesto.

Gua de Referencia RAPID

8-SetDO-1

Limitaciones
El tiempo de retraso tiene una resolucin de 0,01 segundos. Los valores programados que difieran de sto, sern redondeados.

Sintaxis
SetDO [ \ SDelay := < expresin (IN) de num > , ] [ Seal := ] < variable (VAR) de signaldo > , [ Valor := ] < expresin (IN) de dionum > ;

Informacin relacionada
Descrita en: Instrucciones de las Entradas/Salidas Resumen RAPID Seales de Entrada y Salida

Funciones de las Entradas/Salidas en general Principios de Movimiento y de E/S Principios de E/S Configuracin de las E/S Gua del Usuario - Parmetros del Sistema

8-SetDO-2

Gua de Referencia RAPID

SetGO

Cambio del valor de un grupo de seales de salidas digitales


SetGO sirve para cambiar el valor de un grupo de seales de salidas digitales.

Ejemplo
SetGO grup2, 12; La seal grup2 se pondr a 12. Si grup2 comprende 4 seales, por ejemplo, las salidas 6-9, las salidas 6 y 7 se pondrn a cero, mientras que la 8 y la 9 se pondrn a 1.

Argumentos SetGO
Seal

Seal Valor
Tipo de dato: signalgo

El nombre del grupo de seales que se desea cambiar. Valor Tipo de dato: num

El valor deseado para el grupo de seales (un nmero entero positivo). El valor permitido depende del nmero de seales del grupo: N de seales 1 2 3 4 5 6 7 8 Valor permitido 0-1 0-3 0-7 0 - 15 0 - 31 0 - 63 0 - 127 0 - 255 N de seales 9 10 11 12 13 14 15 16 Valor permitido 0 - 511 0 - 1023 0 - 2047 0 - 4095 0 - 8191 0 - 16383 0 - 32767 0 - 65535

Ejecucin del Programa


El valor programado se convertir en un nmero binario sin signo. Este nmero binario ser enviado al grupo de seales con el resultado que las seales individuales del grupo se pondrn a 0 o a 1. Debido a retrasos internos, el valor de la seal puede estar indefinida durante un corto periodo de tiempo. Gua de Referencia RAPID 8-SetGO-1

Sintaxis
SetGO [ Seal := ] < variable (VAR) de signalgo > , [ Valor := ] < expresin (IN) de num > ;

Informacin Relacionada
Descrita en: Otras instrucciones de Entrada/Salida Funciones de las Entradas/Salidas Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/S Principios de E/S Gua del Usuario - Parmetros del Sistema

Configuracin de las E/S (parmetros del sistema)

8-SetGO-2

Gua de Referencia RAPID

SingArea

Definicin de la interpolacin en torno a puntos singulares

SingArea (Singularity Area) sirve para definir como el robot debe moverse en la proximidad de puntos singulares.

Ejemplos
SingArea \Wrist; La orientacin de la herramienta puede ser modificada ligeramente para evitar un punto singular (eje 4 y 6 alineados). SingArea \Off; La orientacin de la herramienta no puede diferir de la orientacin programada. Si el robot pasa por un punto singular, uno o ms ejes pueden realizar un cambio de orientacin, originando as una reduccin de la velocidad.

Argumentos SingArea
[ \Wrist ]

[ \Wrist] | [ \Arm] | [ \Off]


Tipo de dato: switch

Se tolera una pequea diferencia en la orientacin de la herramienta a fin de evitar la singularidad de la mueca. Se usa cuando los ejes 4 y 6 estn alineados (eje 5 a 0 grados). [ \Arm ] Tipo de dato: switch

Se tolera una pequea diferencia en la orientacin de la herramienta a fin de evitar la singularidad del brazo. Se usa cuando el centro de la mueca coincide con la extensin del eje 1. [\Off ] Tipo de dato: switch

No se tolera ninguna diferencia en la orientacin de la herramienta. Se usa cuando no se pasa ningn punto singular o cuando no se permite que la orientacin sea cambiada en puntos singulares.

Ejecucin del programa


Si se especifica uno de los argumentos \Wrist o \Arm, la orientacin es interpolada eje a eje para evitar los puntos singulares. De esta forma, el TCP sigue la trayectoria correcta aunque la orientacin de la herramienta se desve un poco. Esto ocurrir tambin cuando no se pase por un punto singular. Gua de Referencia RAPID 8-SingArea-1

La interpolacin especificada se aplica a todos los movimientos siguientes hasta que se ejecute una nueva instruccin SingArea. El movimiento se ver afectado nicamente cuando se ejecuta una trayectoria lineal o circular. Por defecto, o si no se especifica ningn argumento, la ejecucin del programa utiliza automticamente el argumento /Off. Esto se activa automticamente - a la puesta en marcha - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa.

Limitaciones
Slo se podr especificar un argumento. Ello significa que las singularidades del brazo y de la mueca no pueden ser manipuladas al mismo tiempo.

Sintaxis
SingArea [ \ Wrist ] | [ \ Arm ] | [ \ Off ] ;

Informacin Relacionada
Descrita en: Singularidad Interpolacin Principios de Movimiento y de E/S Singularidad Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa

8-SingArea-2

Gua de Referencia RAPID

SoftAct

Activacin del servo suave

SoftAct (Soft Servo Activate) sirve para activar lo que se denomina servo suave en cualquiera de los ejes del robot.

Ejemplo
SoftAct 3, 20; Activacin del servo suave del eje 3, con un valor de suavidad del 20%. SoftAct 1, 90 \Ramp:=150; Activacin del servo suave del eje 1, con un valor de suavidad del 90% y un factor de rampa del 150%.

Argumentos SoftAct Eje Suavidad [\Rampa ]


Eje Es el nmero del eje utilizado en el robot (1 - 6). Suavidad Tipo de dato: num Tipo de dato: num

Es el valor de suavidad en porcentaje (0 - 100%). El 0% indica una suavidad mnima (rigidez mxima) y el 100 % indica una suavidad mxima. Rampa Tipo de dato: num

Es el Factor Rampa en porcentaje (>= 100%). El factor rampa sirve para controlar el grado de implicacin del servo suave. Un factor del 100% denota el valor normal; si se utilizan valores ms elevados, significa que el servo funcionar ms lentamente (rampa ms larga). El valor por defecto del factor rampa es del 100 %.

Ejecucin del programa


La suavidad es activada en el valor especificado para el eje utilizado. El valor de suavidad es vlido para todos los movimientos, hasta que se programe un valor de suavidad nuevo para el eje utilizado o hasta que el servo suave sea desactivado por una instruccin.

Gua de Referencia RAPID

8-SoftAct-1

Limitaciones
El mismo eje no deber ser activado dos veces, a menos que se encuentre una instruccin de movimiento entre ellas. As, la secuencia siguiente del programa deber ser evitada a fin de no provocar una sacudida en el movimiento del robot: SoftAct n , x; SoftAct n , y; (n = eje de robot n, x e y valores de suavidad)

Sintaxis
SoftAct [Eje := ] < expresin (IN) de num> , [Suavidad := ] < expresin (IN) de num> [ \Rampa := < expresin (IN) de num> ];

Informacin relacionada
Descrita en: Comportamiento con el servo suave activado Principios de movimiento y de E/S Posicionamiento durante la ejecucin de los movimientos del programa

8-SoftAct-2

Gua de Referencia RAPID

SoftDeact

Desactivacin del servo suave

SoftDeact (Soft Servo Deactivate) sirve para desactivar lo que se denomina servo suave en cualquiera de los ejes del robot.

Ejemplo
SoftDeact; Desactivacin del servo suave en todos los ejes.

Ejecucin del programa


El servo suave es desactivado en todos los ejes.

Sintaxis
SoftDeact;

Informacin relacionada
Descrita en: Activacin del servo suave Instrucciones - SoftAct

Gua de Referencia RAPID

8-SoftDeact-1

8-SoftDeact-2

Gua de Referencia RAPID

StartMove

Rearranque del movimiento del robot

StartMove sirve para reanudar el movimiento del robot y de los ejes externos despus de un paro ejecutado mediante de la instruccin StopMove.

Ejemplo
StopMove; WaitDI entrada_preparado, 1; StartMove; El robot empezar a moverse de nuevo cuando la entrada_ preparado se activa.

Ejecucin del programa


Cualquier proceso asociado con el movimiento parado ser rearrancado al mismo tiempo que rearranca el movimiento.

Gestin de errores
En el caso en que el robot est demasiado lejos de la trayectoria (ms de 10 mm o 20 grados) como para realizar un arranque del movimiento interrumpido, la variable del sistema ERRNO se activar en ERR_PATHDIST. Este error podr entonces ser manipulado por el gestor de errores.

Sintaxis
StartMove;

Informacin relacionada
Descrita en: Paro de movimientos Ms ejemplos Instrucciones - StopMove Instrucciones - StorePath

Gua de Referencia RAPID

8-StartMove-1

8-StartMove-2

Gua de Referencia RAPID

Stop

Paro de la ejecucin del programa


Stop sirve para detener temporalmente la ejecucin del programa. La ejecucin del programa tambin podr ser detenida utilizando la instruccin EXIT. Esto, no obstante, slo deber realizarse si se ha terminado una tarea, o si se produce un error muy grave, ya que la ejecucin del programa no podr ser rearrancada con EXIT.

Ejemplo
TPWrite "La lnea con el computador principal se ha interrumpido"; Stop; La ejecucin del programa ser detenida despus de que aparezca un mensaje en la unidad de programacin.

Argumentos Stop [ \NoRegain ]


Tipo de dato: switch

[ \NoRegain ]

Este argumento especifica para el siguiente arranque del programa en el modo manual, si el robot y los ejes externos deben o no regresar a la posicin de paro. En el modo automtico el robot y los ejes externos siempre regresan a la posicin de paro. En el caso en que el argumento NoRegain est activado, el robot y los ejes externos no regresarn a la posicin de paro (siempre y cuando hayan sido desviados de dicha posicin). En el caso en que se omita el argumento y que el robot o los ejes externos hayan sido desviados de la posicin de paro, el robot visualizar una pregunta en la unidad de programacin. Entonces, el usuario deber contestar a la pregunta especificando si desea que el robot regrese a la posicin de paro o no.

Ejecucin del programa


La instruccin detendr la ejecucin del programa en cuanto el robot y los ejes externos alcancen el punto de destino programado del movimiento que se est realizando en el momento. La ejecucin del programa podr entonces ser rearrancada a partir de la siguiente instruccin.

Gua de Referencia RAPID

8-Stop-1

Ejemplo
MoveL p1, v500, fine, tool1; TPWrite "Mover el robot a la posicin para esquina pallet 1"; Stop \NoRegain; p1_read := CRobT(); MoveL p2, v500, z50, tool1; La ejecucin del programa se detiene con el robot situado en la posicin p1. El operador mueve el robot a p1_read. Para el siguiente arranque de programa, el robot no regresar a p1, ya que la posicin p1_read puede ser almacenada en el programa.

Limitaciones
La instruccin de movimiento que precede esta instruccin deber terminar con un punto de paro para que en esta instruccin sea posible realizar un rearranque despus de un corte de potencia.

Sintaxis
Stop; [ \ NoRegain ];

Informacin relacionada
Descrita en: Paro despus de un error grave Paro de la ejecucin del programa Paro de los movimientos del robot Instrucciones - EXIT Instrucciones - EXIT Instrucciones - StopMove

8-Stop-2

Gua de Referencia RAPID

StopMove

Paro del movimiento del robot

StopMove sirve para detener los movimientos del robot y de los ejes externos de forma temporal. Si se ejecuta la instruccin StartMove, el movimiento ser reanudado. Esta instruccin podr, por ejemplo, utilizarse en una rutina de tratamiento de interrupciones para detener el robot de forma temporal cuando ocurre una interrupcin.

Ejemplo
StopMove; WaitDI entrada_preparado, 1; StartMove; El movimiento del robot ser detenido hasta que la entrada_preparado sea activada.

Ejecucin del programa


Los movimientos del robot y de los ejes externos se detendrn aunque los frenos no estn aplicados. Cualquier proceso asociado con el movimiento en curso quedar detenido al mismo tiempo que se detiene el movimiento.

Ejemplos
VAR intnum intno1; ... CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos VAR robtarget p10; StopMove; StorePath; p10:=CRobT(); MoveL home,v500,fine,tool1; WaitDI di1,0; Move L p10,v500,fine,tool1; RestoPath; StartMove; ENDTRAP Cuando la entrada di1 est activada en 1, se activa una interrupcin que a su vez activa la rutina de interrupciones go_to_home_pos. El movimiento actual es parado inmediatamente y el robot se mueve a la posicin de inicio home. Cuando

Gua de Referencia RAPID

8-StopMove-1

di1 est activada en 0, el robot regresa a la posicin donde ocurri la interrupcin y contina a moverse a lo largo de la trayectoria programada. VAR intnum intno1; ... CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos () VAR robtarget p10; StorePath; p10:=CRobT(); MoveL home,v500,fine,tool1; WaitDI di1,0; Move L p10,v500,fine,tool1; RestoPath; StartMove; ENDTRAP Este ejemplo es similar al anterior, pero el robot no se mueve a la posicin inicial home hasta que la instruccin de movimiento actual haya acabado.

Sintaxis
StopMove;

Informacin relacionada
Descrita en: Continuar un movimiento Interrupciones Instrucciones - StartMove Resumen RAPID - Interrupciones Caractersticas Bsicas - Interrupciones

8-StopMove-2

Gua de Referencia RAPID

StorePath

Almacenamiento de una trayectoria cuando se produce una interrupcin

StorePath sirve para almacenar la trayectoria de movimiento que se est ejecutando en el momento en que se produce un error o una interrupcin. El manipulador de errores o la rutina de tratamiento de interrupciones podr entonces iniciar un movimiento nuevo y, a partir de aqu, rearrancar el movimiento que ha sido almacenado anteriormente. Esta instruccin podr utilizarse para ir a una posicin de servicio o para limpiar la pinza, por ejemplo, cuando se produce un error.

Ejemplo
StorePath; La trayectoria de movimiento actual ser almacenada para ser utilizada en una etapa posterior.

Ejecucin del programa


La trayectoria de movimiento utilizada del robot y de los ejes externos ser guardada. Despus de esto, se podr iniciar otro movimiento en una rutina de tratamiento de interrupciones o en un manipulador de errores. Cuando el motivo que ha provocado el error o la interrupcin haya sido resuelto, la trayectoria de movimiento almacenada podr ser rearrancada.

Ejemplo
TRAP mquina_OK; VAR robtarget p1; StopMove; StorePath; p1 := CRobT(); MoveL p100, v100, fine, herram1; ... MoveL p1, v100, fine, herram1; RestoPath; StartMove; ENDTRAP Cuando ocurre una interrupcin que activa la rutina de tratamiento de interrupciones mquina_OK, la trayectoria de movimiento que el robot est ejecutando en este momento ser parada al final de la instruccin (AlPunto) y almacenada. Despus de esto, el robot resolver el problema que ha provocado la interrupcin, reemplazando por ejemplo, una pieza de la mquina y el movimiento normal ser rearrancado. Gua de Referencia RAPID 8-StorePath-1

Limitaciones
Slo se podr almacenar una trayectoria de movimiento a la vez.

Sintaxis
StorePath;

Informacin relacionada
Descrita en: Restaurar una trayectoria Ms ejemplos Instrucciones - RestoPath Instrucciones - RestoPath

8-StorePath-2

Gua de Referencia RAPID

TEST

Dependiendo del valor de una expresin...


TEST sirve cuando diferentes instrucciones deben ser ejecutadas dependiendo del valor de una expresin o de un dato. En el caso en que no haya demasiadas alternativas, se podr usar tambin la instruccin IF..ELSE.

Ejemplo
TEST reg1 CASE 1,2,3 : rutina1; CASE 4 : rutina2; DEFAULT : TPWrite "Eleccin ilegal"; Stop; ENDTEST Diferentes instrucciones sern ejecutadas dependiendo del valor de reg1. En el caso en que el valor sea 1-3, la rutina1 ser ejecutada. Si el valor es 4, la rutina2 ser ejecutada. De lo contrario, aparecer un mensaje de error visualizado y la ejecucin se detendr.

Argumentos TEST Dato de Test {CASE Valor de Test {, Valor de Test} : ...} [ DEFAULT: ...] ENDTEST
Dato de Test Tipo de dato: Todos

El dato o expresin con el que se desea que el valor test sea comparado. Valor de Test Tipo de dato: El mismo que el ante rior

El valor que el dato test debe tener para que las instrucciones asociadas se ejecuten.

Ejecucin del programa


El dato test ser comparado con los valores test de la primera condicin CASE. En el caso en que la comparacin sea verdadera, las instrucciones asociadas se ejecutarn. Despus de ello, la ejecucin del programa contina con la instruccin que sigue a ENDTEST.

Gua de Referencia RAPID

8-TEST-1

Si la primera condicin CASE no se cumple, se comprobarn las otras condiciones CASE y as, sucesivamente. En el caso en que no se cumpla ninguna de las condiciones, las instrucciones asociadas con DEFAULT (si existe) sern ejecutadas.

Sintaxis
(EBNF) TEST <expresin> {( CASE <valor de test> { , <valor de test> } : <lista instrucciones> ) | <CSE> } [ DEFAULT : <lista instrucciones> ] ENDTEST <valor de test> ::= <expresin>

Informacin Relacionada
Descrita en: Expresiones Caractersticas Bsicas - Expresiones

8-TEST-2

Gua de Referencia RAPID

TPErase

Borrado del texto impreso en la unidad de programacin

TPErase (Teach Pendant Erase) sirve para borrar el contenido del visualizador de la unidad de programacin.

Ejemplo
TPErase; TPWrite "Ejecucin iniciada"; El contenido del visualizador de la unidad de programacin ser borrado antes de que aparezca Ejecucin iniciada.

Ejecucin del programa


El visualizador de la unidad de programacin quedar libre de todo texto. La prxima vez que se introduzca texto, aparecer en la lnea superior del visualizador.

Sintaxis
TPErase;

Informacin Relacionada
Descrita en: Escribir en la unidad de programacin Resumen RAPID - Comunicacin

Gua de Referencia RAPID

8-TPErase-1

8-TPErase-2

Gua de Referencia RAPID

TPReadFK Lectura de las teclas de funcin


TPReadFK (Teach Pendant Read Function Key) sirve para introducir texto encima de las teclas de funcin y para descubrir la tecla que ha sido pulsada.

Ejemplo
TPReadFK reg1, "Ms ?", "", "", "", "S", "No"; El texto Ms? aparecer en el visualizador de la unidad de programacin y las teclas de funcin 4 y 5 se activarn mediante las cadenas de texto S y No respectivamente (vase la Figura 1). La ejecucin del programa esperar hasta que se pulse una de las teclas de funcin, 4 o 5. En otras palabras, reg1 tendr asignado el 4 o el 5 dependiendo de la tecla que se pulse.
Ms?

No

Figura 1 El usuario podr introducir informacin mediante las teclas de funcin.

Argumentos TPReadFK Contestacin Texto FK1 FK2 FK3 FK4 FK5 [\MaxTime] [DIBreak] [\BreakFlag]
Contestacin Tipo de dato: num

La variable para la cual, dependiendo de la tecla que se pulse, se obtiene el valor numrico 1..5. Si se pulsa la tecla de funcin 1, se obtendr 1 y as sucesivamente. Texto Tipo de dato: string

El texto informativo que se desea introducir en el visualizador (de 80 caracteres como mximo). FKx (Texto de la tecla de funcin)Tipo de dato: string El texto que se desea introducir como indicacin propia de la tecla de funcin (de 7 caracteres como mximo). FK1 es la tecla situada ms a la izquierda. Las teclas de funcin desprovistas de cualquier indicacin estn especificadas

Gua de Referencia RAPID

8-TPReadFK-1

con una cadena vaca "". [\MaxTime] Tipo de dato: num

Es el intervalo mximo de tiempo [s] que la ejecucin del programa espera. Si no se pulsa ninguna tecla de funcin durante este tiempo, el programa continua a ejecutarse en el gestor de errores, a menos que se utilice BreakFlag (vase a continuacin). La constante ERR_TP_MAXTIME podr ser utilizada para comprobar si el intervalo mximo de tiempo ha transcurrido o no. [\DIBreak] (Interrupcin Entrada Digital) Tipo de dato: signaldi

Es la seal digital que podra interrumpir el dilogo del usuario. Si no se pulsa ninguna tecla de funcin cuando la seal se activa en el valor 1 (o si ya est activada en 1), el programa continuar a ejecutarse en el gestor de errores, a menos que se utilice BreakFlag (vase a continuacin). La constante ERR_TP_DIBREAK podr ser utilizada para comprobar si esto ha ocurrido o no. [\BreakFlag] Tipo de dato: errnum

Es una variable que mantiene el cdigo de error si se utiliza maxtime o dibreak. Si se omite esta variable opcional, el gestor de errores ser ejecutado. Las constantes ERR_TP_MAXTIME y ERR_TP_ DIBREAK podrn utilizarse para seleccionar el motivo.

Ejecucin del programa


El texto de informacin aparece siempre escrito en una nueva lnea. Si el visualizador est lleno, este texto se mover de una lnea hacia arriba. Las cadenas de caracteres ms largas que la anchura de la unidad de programacin (40 caracteres) sern divididas en dos lneas. El texto indicativo estar escrito encima de las teclas de funcin correspondientes. Las teclas de funcin que no lleven ninguna indicacin sern desactivadas. La ejecucin del programa esperar hasta que se pulse una de las teclas de funcin activadas.

Ejemplo
VAR errnum errvar; ... TPReadFK reg1, "Ir a la posicin de servicio?", "", "", "", "Yes", "No" \MaxTime:= 600 \DIBreak:= di5\BreakFlag:= errvar; IF reg1 = 4 or OR errvar = ERR_TP_DIBREAK THEN MoveL service, v500, fine, tool1; Stop; END IF IF errvar = ERR_TP_MAXTIME EXIT; El robot se mueve a la posicin de servicio si la cuarta tecla de funcin ("S") est pulsada, o si se activa la entrada 5. Si no se da ninguna respuesta en los 10 minutos siguientes, la ejecucin se termina.

8-TPReadFK-2

Gua de Referencia RAPID

Sintaxis
TPReadFk [Contestacin:=] <variable o persistente (INOUT) de num>, [Texto:=] <expresin (IN) de string>, [FK1 :=] <expresin (IN) de string>, [FK2 :=] <expresin (IN) de string>, [FK3 :=] <expresin (IN) de string>, [FK4 :=] <expresin (IN) de string>, [FK5 :=] <expresin (IN) de string> [\MaxTime := <expresin (IN) de num>] [\DIBreak := <variable (VAR) de signaldi>] ; [\BreakFlag := <variable o persistente (INOUT) de errnum>];

Informacin relacionada
Descrita en: Lectura y escritura a partir de la unidad de programacin Respuestas a travs de la unidad de programacin Resumen RAPID - Comunicacin Funcionamiento de produccin

Gua de Referencia RAPID

8-TPReadFK-3

8-TPReadFK-4

Gua de Referencia RAPID

TPReadNum

Lectura de un nmero en la unidad de programacin

TPReadNum (Teach Pendant Read Numerical) sirve para la lectura de un nmero en la unidad de programacin.

Ejemplo
TPReadNum reg1, Cuntas unidades deben producirse? ; El texto Cuntas unidades deben producirse? aparece en el visualizador de la unidad de programacin. La ejecucin del programa espera hasta que se haya introducido un nmero a partir del teclado numrico de la unidad de programacin. Este nmero quedar almacenado en reg1.

Argumentos TPReadNum Contestacin Texto [\MaxTime] [DIBreak] [\BreakFlag]


Contestacin Tipo de dato: num

Es la variable que es devuelta para el nmero introducido en la unidad de programacin. Texto Tipo de dato: string

Es el texto de informacin que se desea introducir en la unidad de programacin (de 80 caracteres como mximo). [\MaxTime] Tipo de dato: num

Es el intervalo mximo de tiempo que la ejecucin del programa espera. Si no se introduce ningn nmero durante este tiempo, el programa contina a ejecutarse en el gestor de errores a menos que se haya utilizado BreakFlag (vase a continuacin). La constante ERR_TP_MAXTIME podr ser utilizada para comprobar si el intervalo mximo de tiempo ha transcurrido o no. [\DIBreak] (Interrupcin Entrada Digital) Tipo de dato: signaldi

Es la seal digital que podra interrumpir el dilogo del usuario. Si no se introduce ningn nmero cuando la seal se activa en 1 (o si ya est activada en 1), el programa contina ejecutndose en el gestor de errores a menos que se haya utilizado BreakFlag (vase a continuacin). La constante ERR_TP_DIBREAK podr ser utilizada para comprobar si ello ha ocurrido o no.

Gua de Referencia RAPID

8-TPReadNum-1

[\BreakFlag]

Tipo de dato: errnum

Es una variable que mantiene el cdigo de error si se ha utilizado maxtime o dibreak. Si se omite esta varible opcional, el gestor de error ser ejecutado. Las constantes ERR_TP_MAXTIME y ERR_TP_ DIBREAK podrn utilizarse para seleccionar el motivo.

Ejecucin del programa


El texto de informacin siempre aparece en una lnea nueva. Si el visualizador est lleno, el texto se mover de una lnea hacia arriba. Las cadenas de caracteres que son ms largas que la anchura de la unidad de programacin quedarn divididas (40 caracteres) en dos lneas. La ejecucin del programa esperar hasta que se teclee un nmero en el teclado numrico (pulsando luego la tecla Retorno o la tecla OK).

Ejemplo
TPReadNum reg1, Cuntas unidades deben producirse?; FOR i FROM 1 TO reg1 DO produc_unid; ENDFOR El texto Cuntas unidades deben producirse? aparece escrito en el visualizador de la unidad de programacin. La rutina produc_unid se repetir entonces el nmero de veces que se ha indicado a travs de la unidad de produccin.

Sintaxis
TPReadNum [Contestacin:=] <variable o persistente (INOUT) de num>, [Texto:=] <expresin (IN) de string>; [\MaxTime := <expresin (IN) de num>] [\DIBreak := <variable (VAR) de signaldi>] ; [\BreakFlag := <variable o persistente (INOUT) de errnum>] ;

8-TPReadNum-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Lectura y escritura en la unidad de programacin Introduccin de un nmero en la unidad de programacin Resumen RAPID - Comunicacin Gua del Usuario - Proceso de produccin

Ejemplos sobre como utilizar los Instrucciones - TPReadFK argumentos MaxTime, DIBreak y BreakFlag

Gua de Referencia RAPID

8-TPReadNum-3

8-TPReadNum-4

Gua de Referencia RAPID

TPWrite

Escritura en la unidad de programacin

TPWrite (Teach Pendant Write) sirve para escribir un texto en la unidad de programacin. El valor de ciertos datos as como texto podrn ser introducidos.

Ejemplos
TPWrite "Ejecucin iniciada"; El texto Ejecucin iniciada aparecer en la unidad de programacin. TPWrite "N de piezas producidas="\Num:=reg1; Si, por ejemplo, la respuesta a N de piezas producidas= 5, se deber introducir 5 en vez de reg1 en la unidad de programacin.

Argumentos TPWrite
Texto

Texto [\Num] | [\Bool] | [\Pos] | [\Orient]


Tipo de dato: string

La cadena de texto que se debe escribir (80 caracteres como mximo). [\Num] (Numeric) Tipo de dato: num

El dato cuyo valor numrico debe ser introducido despus de la cadena de texto. [\Bool] (Boolean) Tipo de dato: bool

El dato cuyo valor lgico debe ser introducido despus de la cadena de texto. [\Pos] (Position) Tipo de dato: pos

El dato cuya posicin debe ser introducida despus de la cadena de texto. [\Orient] (Orientation) Tipo de dato: orient

El dato cuya orientacin debe ser introducida despus de la cadena de texto.

Ejecucin del programa


El texto introducido en la unidad de programacin empieza siempre en una lnea nueva. Cuando el visualizador est lleno, el texto se mover de una lnea hacia arriba. Las cadenas de texto que son ms largas que la anchura de la unidad de programacin (40 caracteres) se dividirn en dos lneas. Gua de Referencia RAPID 8-TPWrite-1

Si se utiliza uno de los argumentos \Num, \Bool, \Pos o \Orient, su valor ser primero convertido en una cadena de texto antes de ser aadido a la primera cadena. La conversin del valor en cadena de texto se realiza segn lo siguiente: Argumento \Num \Num \Bool \Pos \Orient Valor 23 1.141367 VERDADERO Cadena de texto "23" "1.141367" "VERDADERO"

[1817.3,905.17,879.11] "[1817.3,905.17,879.11]" [0.96593,0,0.25882,0] "[0.96593,0,0.25882,0]"

Los decimales sern redondeados a cinco nmeros decimales, pero no podrn haber ms que seis cifras en la cadena de texto. Si el nmero decimal es inferior a 0,000005 o mayor que 0,999995, el nmero ser redondeado a un nmero entero.

Limitaciones
Los argumentos \Num, \Bool, \Pos y \Orient son mutuamente exclusivos y por lo tanto no podrn ser utilizados simultneamente en la misma instruccin.

Sintaxis
TPWrite [Texto:=] <expresin (IN) de string> [\Num:= <expresin (IN) de num> ] | [\Bool:= <expresin (IN) de bool> ] | [\Pos:= <expresin (IN) de pos> ] | [\Orient:= <expresin (IN) de orient> ];

Informacin relacionada
Descrita en: Borrado y lectura en la unidad de programacin Resumen RAPID - Comunicacin

8-TPWrite-2

Gua de Referencia RAPID

TriggC

Movimiento circular del robot con eventos


TriggC (Trigg Circular) sirve para activar seales de salida y/o ejecutar rutinas de interrupcin en posiciones fijas, al mismo tiempo que el robot se mueve en una trayectoria circular. Mediante las instrucciones TriggIO, TriggEquip o TriggInt se podrn definir uno o ms (4 como mximo) eventos. A continuacin, estas definiciones sern referidas en la instruccin TriggC.

Ejemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveL p1, v500, z50, gun1; TriggC p2, p3, v500, gunon, fine, gun1; La seal de salida digital gun se activa cuando el TCP del robot pasa en el punto que se encuentra en el medio de la trayectoria esquina del punto p1.
TriggC p2, p3, v500,gunon, fine, gun1;

Punto de arranque p1

Punto final p3

Punto de crculo p2 La seal de salida gun se activa en posicin on cuando el TCP del robot se encuentra aqu Figura 1 Ejemplo de un evento de E/S de posicin fija.

Argumentos TriggC
[ \Conc ]

[\Conc] PuntoCir AlPunto Veloc [ \T ] Trigg1 [ \T2 ] [ \T3 ] [ \T4] Zona Herram [ \WObj ]
(Concurrente) Tipo de dato: switch

Mientras el robot est en movimiento, diferentes instrucciones lgicas son ejecutadas. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo y no se requiere ninguna sincronizacin. Tambin podr utilizarse para ajustar la ejecucin de la trayectoria del robot, para evitar el mensaje de aviso 50024 Fallo de trayectoria esquina o el error 40082 Lmite de deceleracin.

Gua de Referencia RAPID

8-TriggC-1

Cuando se usa el argumento \Conc, el nmero de instrucciones de movimiento sucesivas ser limitado a 5. En una seccin de programa que incluye una secuencia StorePath-RestoPath, las instrucciones de movimiento con el argumento \Conc no estn permitidas. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado el punto de paro especificado o 100 ms antes de la zona especificada. PuntoCir Tipo de dato: robtarget

Es el punto circular del robot. Vase la instruccin MoveC para una descripcin ms detallada del movimiento circular. El punto circular est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Esta definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del punto central de la herramienta, de los ejes externos y de la reorientacin de la herramienta. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot se mueve. Ms adelante ser sustituido por el dato de velocidad correspondiente. Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, definidas anteriormente en el programa mediante la utilizacin de las instrucciones TriggIO, TriggEquip o TriggInt. [ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, definidas anteriormente en el programa mediante la utilizacin de las instrucciones TriggIO, TriggEquip o TriggInt. [ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, definidas anteriormente en el programa mediante la utilizacin de las instrucciones TriggIO, TriggEquip o TriggInt.

8-TriggC-2

Gua de Referencia RAPID

[ \T4 ]

(Trigg 4)

Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, definidas anteriormente en el programa mediante la utilizacin de las instrucciones TriggIO, TriggEquip o TriggInt. Zona Tipo de dato: zonedata Son los datos de zona para el movimiento. Los datos de zona describen el tamao de la trayectoria esquina generada. Herram Tipo de dato: tooldata

Es la herramienta utilizada cuando el robot se est moviendo. El punto central de la herramienta es el punto que es movido a la posicin de destino especificada. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento puede ser omitido, y en el caso en que lo sea, la posicin se referir al sistema de coordinadas mundo. Si, por otra parte, se est usando un TCP estacionario o unos ejes externos coordinados, este argumento deber ser especificado para un movimiento lineal relativo al objeto de trabajo correspondiente.

Ejecucin del programa


Vase la instruccin MoveC para ms informacin sobre el movimiento circular. Dado que las condiciones de disparo se han cumplido a medida que el robot se posiciona cada vez ms cerca del punto final, las actividades de disparo definidas se ejecutarn. Las condiciones de disparo se cumplen a cierta distancia antes de alcanzar el punto final de la instruccin, o a cierta distancia despus del punto de arranque de la instruccin, o a cierto punto definido en el tiempo (limitado a un periodo corto) antes de alcanzar el punto final de la instruccin. Durante la ejecucin paso a paso hacia adelante, las actividades de las E/S se llevarn a cabo pero las rutinas de interrupcin no sern ejecutadas. Durante la ejecucin paso a paso hacia atrs, no se llevar a cabo ninguna actividad de disparo.

Ejemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time , intno1; ... TriggC p1, p2, v500, trigg1, fine, gun1; Gua de Referencia RAPID 8-TriggC-3

TriggC p3, p4, v500, trigg1, fine, gun1; ... IDelete intno1; La rutina de tratamiento de interrupcin trap1 se ejecuta cuando el punto de trabajo est en una posicin que se encuentra a 0,1 s antes del punto p2 o p4 respectivamente.

Limitaciones
En el caso en que el punto de arranque utilizado se haya desviado de su posicin habitual, de forma que la longitud de posicionamiento total de la instruccin TriggC sea ms corta que la habitual, puede ocurrir que algunas o todas las condiciones de disparo se cumplan en una nica y misma posicin. En tales casos, la secuencia en la que se llevan a cabo las actividades de disparo no estar definida. La lgica del programa contenida en el programa del usuario puede no estar basada en una secuencia normal de actividades de disparo para un movimiento incompleto. No se deber nunca arrancar la instruccin TriggC desde el principio con el robot en una posicin despus de un punto de crculo. De lo contrario, ocurrira que el robot no emprender la trayectoria programada (posicionamiento en torno a una trayectoria circular en otra direccin comparada con la programada).

Sintaxis
TriggC [\ Conc ,] [ PuntoCirc:= ] < expresin (IN) de robtarget > , [ AlPunto:= ] < expresin (IN) de robtarget > , [ Veloc:= ] < expresin (IN) de speeddata > [ \ T := < expresin (IN) de num > ] , [Trigg1 := ] < variable (VAR) de triggdata > [ \ T2 := < variable (VAR) de triggdata > ] [ \ T3 := < variable (VAR) de triggdata > ] [ \ T4 := < variable (VAR) de triggdata > ] , [Zona := ] < expresin (IN) de zonedata > , [ Herram:= ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

8-TriggC-4

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Movimiento lineal con disparos Movimiento de ejes con disparos Definicin de los disparos Movimiento circular Instrucciones - TriggL Instrucciones - TriggJ Instrucciones - TriggIO, TriggEquip, TriggInt Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa Tipos de datos - speeddata Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S

Definicin de la velocidad Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general

Gua de Referencia RAPID

8-TriggC-5

8-TriggC-6

Gua de Referencia RAPID

TriggEquip

Definicin de un evento de E/S de tiempo-posicin fijas

TriggEquip (Trigg Equipment) sirve para definir las condiciones y acciones para la activacin de una seal digital, de un grupo de seales digitales o de una seal de salida analgica en una posicin fija en la trayectoria de movimiento del robot con la posibilidad de llevar a cabo una compensacin de tiempo para el retraso ocurrido en el equipo externo. Los datos definidos sern utilizados en una o ms instrucciones TriggL, TriggC o TriggJ siguientes.

Ejemplos
VAR triggdata gunon; TriggEquip gunon, 10, 0.1 \DOp:=gun, 1; TriggL p1, v500, gunon, z50, gun1; La herramienta gun1 se abre en el punto p2, cuando el TCP est a 10 mm antes del punto p1. Para alcanzar esto, la seal de salida digital gun est puesta en el valor 1, cuando el TCP est a 0.1 seg antes del punto p2. La pinza est totalmente abierta cuando el TCP alcanza el punto p2.

Punto de arranque

TriggL p1, v500, gunon, z50, gun1;

Punto final p1

10 mm
Punto p2 para la apertura de la pinza

Figura 1 Ejemplo de un evento de E/S de tiempo-posicin fijas.

Argumentos TriggEquip TriggData Distancia [ \Start ] EquipLag [ \DOp ] | [ \GOp ] | [\AOp ] SetValue [ \Inhib ]
TriggData Tipo de dato: triggdata

Es una variable utilizada para almacenar los datos triggdata retornados de esta instruccin. Estos datos triggdata sern utilizados luego en las instrucciones TriggL, TriggC o TriggJ siguientes.

Gua de Referencia RAPID

8-TriggEquip-1

Distancia

Tipo de dato: num

Define la posicin en la trayectoria donde debe ocurrir el evento de E/S. Especificada como siendo la distancia en mm (valor positivo) desde el punto final de la trayectoria de movimiento (aplicable si el argumento \ Start no ha sido activado). Vase la seccin titulada Ejecucin del programa para ms detalles. [ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto de arranque del movimiento en lugar de empezar en el punto final. EquipLag (Retraso del equipo) Tipo de dato: num

Sirve para especificar el retraso del equipo externo en segundos. Para la compensacin del retraso del equipo externo, se deber utilizar un valor de argumento positivo. Un valor de argumento positivo significa que la seal de E/S es activada por el sistema robot en un momento especfico antes de que el TCP fsico alcance la distancia especfica respecto al punto de arranque del movimiento o al punto final. Un valor de argumento negativo significa que la seal de E/S es activada por el sistema robot a un momento especfico despus de que el TCP fsico haya pasado la distancia especificada respecto al punto de arranque del movimiento o al punto final.

Punto de arranque Distancia \Arranque Distancia

Punto final

Retraso del equipo Figura 2 Utilizacin del argumento EquipLag.

[ \DOp ]

(Salida Digital)

Tipo de dato: signaldo

Es el nombre de la seal, cuando se desea cambiar una seal de salida digital. [ \GOp ] (Grupo Salida) Tipo de dato: signalgo

Es el nombre de la seal, cuando se desea cambiar un grupo de seales de salida digital.

8-TriggEquip-2

Gua de Referencia RAPID

[ \AOp ]

(Salida analgica)

Tipo de dato: signalao

Es el nombre de la seal, cuando se desea cambiar una seal de salida analgica. SetValue Tipo de dato: num

Es el valor deseado de la seal de salida (dentro del lmite permitido para la seal correspondiente). [ \Inhib] (Inhibicin) Tipo de dato: bool

Es el nombre de la bandera variable persistente para la inhibicin de la activacin de la seal durante el funcionamiento. Si se utiliza este argumento opcional y que el valor actual de la bandera especificada est en TRUE en el tiempo-posicin para la activacin de la seal, entonces la seal especificada (DOp, GOp o AOp) se activar en 0 en lugar de activarse en el valor deseado.

Ejecucin del programa


Cuando se ejecuta la instruccin TriggEquip, la condicin de disparo es almacenada en la variable especfica para el argumento TriggData. Ms adelante, cuando una de las instrucciones TriggL, TriggC o TriggJ es ejecutada, lo que se indica a continuacin se aplicar, con respecto a las definiciones contenidas en TriggEquip: La distancia especificada en el argumento Distancia: Movimiento lineal Movimiento circular Movimiento no-lineal La distancia en lnea recta La longitud del arco de crculo La longitud aproximada del arco a lo largo de la trayectoria (para obtener la precisin adecuada, la distancia no debe exceder la mitad de la longitud del arco).
Punto final con trayectoria esquina Si la Distancia es 0, la seal de salida se activa cuando el TCP del robot se encuentra aqu.

Figura 3 E/S de tiempo-posicin fijas en una trayectoria esquina.

El evento relativo al tiempo-posicin ser generado cuando se haya pasado el punto de arranque (punto final), si la distancia especificada a partir del punto final (punto de arranque) no se encuentra dentro de la longitud de movimiento de la instruccin utili-

Gua de Referencia RAPID

8-TriggEquip-3

zada (Trigg...). Si se utiliza el argumento EquipLag con un tiempo negativo (retraso), la seal de E/S podr ser activada despus del punto final.

Ejemplos
VAR triggdata glueflow; TriggEquip glueflow, 1 \Start, 0.05 \AOp:=glue, 5.3; MoveJ p1, v1000, z50, tool1; TriggL p2, v500, glueflow, z50, tool1; La seal de salida analgica glue se activa en el valor 5,3 cuando el TCP pasa por un punto situado a 1 mm despus del punto de arranque p1 con una compensacin para el retraso del equipo de 0,05 segundos. ... TriggL p3, v500, glueflow, z50, tool1; La seal de salida analgica glue est activada de nuevo en el valor 5,3 cuando el TCP pasa por un punto situado a 1 mm despus del punto de arranque p2.

Limitaciones
Respecto a la precisin de TriggEquip se aplicar lo siguiente cuando se activen E/S a una distancia especfica a partir del punto de arranque/final dentro de las instrucciones TriggL o TriggC: - Se obtendr una mejor precisin utilizando trayectorias esquinas que utilizando puntos de paro. - Cuando se activa una E/S por adelantado, la mejor precisin se obtendr cuando EquipLag < 60 ms, equivalente al retraso del servo del robot. Si EquipLag > 60 ms , se utilizar un mtodo aproximativo en el que las limitaciones dinmicas del robot son tomadas en cuenta. Si EquipLag > 60 ms, se deber utilizar SingArea en la proximidad de un punto singular con el objetivo de alcanzar una precisin aceptable. - Cuando se activen E/S retrasadas, especificando un EquipLag negativo, la resolucin obtenida ser mejor para las seales digitales (1 ms) que para las seales analgicas (10 ms).

8-TriggEquip-4

Gua de Referencia RAPID

Sintaxis
TriggEquip [ TriggData := ] < variable (VAR) de triggdata> , [ Distance := ] < expresin (IN) de num> [ \ Start ] , [ EquipLag :=] <expresin (IN) de num> [ \ DOp := < variable (VAR) de signaldo> ] | [ \ GOp := < variable (VAR) de signalgo> ] | [ \ AOp := < variable (VAR) de signalao> ] , [ SetValue := ] < expresin (IN) de num> [\ Inhibit := <persistente (PERS) de bool>] ,

Informacin relacionada
Descrita en: Uso de los disparos Definicin de otros disparos Ms ejemplos Activacin de E/S Instrucciones - TriggL, TriggC, TriggJ Instruccin - TriggIO, TriggInt Tipos de datos - triggdata Instrucciones - SetDO, SetGO, SetAO

Gua de Referencia RAPID

8-TriggEquip-5

8-TriggEquip-6

Gua de Referencia RAPID

TriggInt

Definicin de una interrupcin relativa a una posicin

TriggInt sirve para definir las condiciones y acciones para la ejecucin de una rutina de interrupcin en una posicin sobre la trayectoria de movimiento del robot. Los datos definidos sern utilizados en una o ms instrucciones TriggL, TriggC o TriggJ siguientes.

Ejemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 5, intno1; ... TriggL p1, v500, trigg1, z50, gun1; TriggL p2, v500, trigg1, z50, gun1; ... IDelete intno1; La rutina de tratamiento de interrupcin trap1 se ejecuta cuando el TCP est en una posicin situada a 5 mm antes del punto p1 o p2 respectivamente.

Punto de arranque

TriggL p1, v500, trigg1, z50, gun1;

Punto final p1 o p2

5 mm
La interrupcin se genera cuando el TCP se sita aqu Figura 1 Ejemplo de una interrupcin relativa a una posicin.

Argumentos TriggInt TriggData Distancia [ \Start ] | [ \Time ] Interrupcin


TriggData Tipo de dato: triggdata

Es una variable utilizada para el almacenamiento de los datos triggdata retornados de esta instruccin. Estos datos triggdata sern luego utilizados en las instrucciones TriggL, TriggC o TriggJ siguientes.

Gua de Referencia RAPID

8-TriggInt-1

Distancia

Tipo de dato: num

Define la posicin en la trayectoria, en el lugar donde la interrupcin deber ser generada. Se especifica como siendo la distancia en mm (valor positivo) desde la posicin final de la trayectoria de movimiento (aplicable siempre y cuando el argumento \ Start o \Time no haya sido activado). Vase la seccin titulada Ejecucin del Programa para ms detalles. [ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto de arranque del movimiento en lugar de empezar en el punto final. [ \Time ] Tipo de dato: switch

Se utiliza cuando el valor especificado del argumento Distancia es un tiempo en segundos (valor positivo) en vez de una distancia. Las interrupciones relativas a posiciones en el tiempo slo podrn utilizarse para tiempos cortos (< 0.5 s) antes de que el robot alcance el punto final de la instruccin. Vase la seccin titulada Limitaciones para ms detalles. Interrupcin Tipo de dato: intnum

Es una variable utilizada para la identificacin de una interrupcin.

Ejecucin del programa


Cuando se ejecuta la instruccin TriggInt, los datos son almacenados en una variable especfica para el argumento TriggData y la interrupcin que est especificada en la variable para el argumento Interrupt es activada. Ms adelante, cuando se ejecuta una de las instrucciones TriggL, TriggC o TriggJ, se aplica lo que se indica a continuacin referente a las definiciones contenidas en TriggInt:

8-TriggInt-2

Gua de Referencia RAPID

La distancia especificada en el argumento Distancia: Movimiento lineal Movimiento circular Movimiento no-lineal La distancia en lnea recta La longitud del arco de crculo La longitud aproximada del arco sobre la trayectoria (para obtener una precisin adecuada, la distancia no deber exceder la mitad de la longitud del arco).
Punto final con trayectoria esquina Si la Distancia es 0, la interrupcin ser generada cuando el TCP del robot est aqu

Figura 2 Interrupcin relativa a una posicin sobre una trayectoria esquina.

La interrupcin relativa a la posicin ser generada cuando se haya pasado el punto de arranque (punto final), siempre y cuando la distancia especificada desde el punto final (punto de arranque) no est dentro de la longitud de movimiento de la instruccin utilizada (Trigg...).

Ejemplos
Este ejemplo describe la programacin de las instrucciones que intervienen para la generacin de interrupciones relativas a la posicin: VAR intnum intno2; VAR triggdata trigg2; - Declaracin de las variables intno2 y trigg2 (no debern ser iniciadas). CONNECT intno2 WITH trap2; - Atribucin de los nmeros de interrupcin que estn almacenados en la variable intno2 - El nmero de interrupcin es atribuido a la rutina de tratamiento de interrupcin trap2 TriggInt trigg2, 0, intno2; - Aparece la bandera del nmero de interrupcin de la variable intno2 cuando es utilizada - La interrupcin es activada - El nmero de interrupcin y las condiciones de disparo definidas son almacenadas en la variable trigg2

Gua de Referencia RAPID

8-TriggInt-3

TriggL p1, v500, trigg2, z50, gun1; - El robot es movido al punto p1. - Cuando el TCP ha alcanzado el punto p1, se genera una interrupcin y se ejecuta la rutina de tratamiento de interrupcin trap2. TriggL p2, v500, trigg2, z50, gun1; - El robot es movido al punto p2 - Cuando el TCP alcanza el punto p2, se genera una interrupcin y la rutina de tratamiento de interrupcin trap2 se ejecuta otra vez. IDelete intno2; - El nmero de interrupcin contenido en la variable intno2 deja de ser atribuido.

Limitaciones
Los eventos de interrupciones relativos a la distancia (sin el argumento \Time) dan una mejor precisin cuando se utilizan puntos de paso que cuando se utilizan puntos de paro para el punto final (o de arranque). Los eventos de E/S relativos al tiempo (con el argumento \Time) dan una mejor precisin cuando se utilizan puntos de paro que cuando se utilizan puntos de paso. Los eventos de interrupciones relativos al tiempo (con el argumento \Time) slo podrn ser especificadas desde el punto final del movimiento. Este tiempo no deber exceder el tiempo de frenado utilizado por el robot, que es de aproximadamente 0.5 s (valores tpicos a una velocidad de 500 mm/seg para el IRB2400: 150 ms y para el IRB6400: 250 ms). En el caso en que el tiempo especificado sea mayor que el tiempo de frenado utilizado, la interrupcin seguir siendo generada, aunque no lo ser antes de que haya empezado el tiempo de frenado (ms tarde de lo especificado). No obstante, el tiempo total de movimiento del movimiento utilizado podr ser utilizado en movimientos rpidos y pequeos. Para obtener la mayor precisin cuando se activa una salida en una posicin fija sobre la trayectoria del robot, se deber utilizar preferentemente la instruccin TriggIO o TriggEquip en vez de las instrucciones TriggInt con SetDO/SetGO/SetAO en una rutina de interrupcin.

Sintaxis
TriggInt [ TriggData := ] < variable (VAR) de triggdata> , [ Distance := ] < expresin (IN) de num> [ \ Start ] | [ \ Time ] , [ Interrupt := ] < variable (VAR) de intnum> ;

8-TriggInt-4

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Utilizacin de disparos Definicin de E/S de posicin fija Ms ejemplos Interrupciones Instrucciones - TriggL, TriggC, TriggJ Instruccin - TriggIO, TriggEquip Tipos de datos - triggdata Caractersticas bsicas - Interrupciones

Gua de Referencia RAPID

8-TriggInt-5

8-TriggInt-6

Gua de Referencia RAPID

TriggIO

Definicin de un evento de E/S de posicin fija

TriggIO sirve para definir las condiciones y acciones para activar una seal digital, un grupo de seales digitales o una seal de salida analgica en una posicin fija en la trayectoria de movimiento del robot. Para obtener un evento de E/S de posicin fija, TriggIO compensa el retraso en el sistema de control (retraso entre el robot y el servo) pero no compensar ningn retraso en el equipo externo. Para una compesnacin de ambos retrasos, se deber utilizar TriggEquip. Los datos definidos sern utilizados en una o ms instrucciones TriggL, TriggC o TriggJ siguientes.

Ejemplos
VAR triggdata gunon; TriggIO gunon, 10 \DOp:=gun, 1; TriggL p1, v500, gunon, z50, gun1; La seal de salida digital gun est activada en el valor 1 cuando el TCP est a 10 mm antes del punto p1.

Punto de arranque

TriggL p1, v500, gunon, z50, gun1;

Punto final p1

10 mm
La seal de salida gun se activa cuando el punto est aqu Figura 1 Ejemplo de un evento de E/S de posicin fija.

Argumentos TriggIO TriggData Distancia [ \Start ] | [ \Time ] [ \DOp ] | [ \GOp ] | [\AOp ] SetValue [ \DODelay ]
TriggData Tipo de dato: triggdata

Es una variable utilizada para almacenar los datos triggdata retornados de esta instruccin. Estos datos triggdata sern utilizados luego en las instrucciones TriggL, TriggC o TriggJ siguientes. Gua de Referencia RAPID 8-TriggIO-1

Distancia

Tipo de dato: num

Define la posicin en la trayectoria donde debe ocurrir el evento de E/S. Especificada como siendo la distancia en mm (valor positivo) desde el punto final de la trayectoria de movimiento (aplicable si el argumento \ Start o \Time no ha sido activado). Vase la seccin titulada Ejecucin del programa para ms detalles. [ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto de arranque del movimiento en lugar de empezar en el punto final. [ \Time ] Tipo de dato: switch

Se utiliza cuando el valor especificado del argumento Distancia es un tiempo en segundos (valor positivo) en lugar de una distancia. Las E/S de posicin fija en el tiempo slo podrn ser utilizadas para periodos de tiempo cortos (< 0.5 s) antes de que el robot haya alcanzado el punto final de la instruccin. Vase la seccin titulada Limitaciones para ms detalles. [ \DOp ] (Salida Digital) Tipo de dato: signaldo

Es el nombre de la seal, cuando se desea cambiar una seal de salida digital. [ \GOp ] (Grupo Salida) Tipo de dato: signalgo

Es el nombre de la seal, cuando se desea cambiar un grupo de seales de salida digital. [ \AOp ] (Salida analgica) Tipo de dato: signalao

Es el nombre de la seal, cuando se desea cambiar una seal de salida analgica. SetValue Tipo de dato: num

Es el valor deseado de la seal de salida (dentro del lmite permitido para la seal correspondiente). [ \DODelay] (Retraso Salida Digital) Tipo de dato: num

Es el retraso expresado en segundos (valor positivo) para una seal de salida digital o para un grupo de seales de salida digitales. Se utiliza nicamente para retrasar la activacin de una seal de salida digital, despus de que el robot haya alcanzado la posicin especificada. No habr retraso si se ha omitido el argumento. El retraso no est sincronizado con el movimiento.

8-TriggIO-2

Gua de Referencia RAPID

Ejecucin del programa


Cuando se ejecuta la instruccin TriggIO, la condicin de disparo es almacenada en una variable especfica para el argumento TriggData. Ms adelante, cuando una de las instrucciones TriggL, TriggC o TriggJ es ejecutada, lo que se indica a continuacin se aplicar, con respecto a las definiciones contenidas en TriggIO: La distancia especificada en el argumento Distancia: Movimiento lineal Movimiento circular Movimiento no-lineal La distancia en lnea recta La longitud del arco de crculo La longitud aproximada del arco a lo largo de la trayectoria (para obtener la precisin adecuada, la distancia no debe exceder la mitad de la longitud del arco).
Punto final con trayectoria esquina Si la Distancia es 0, la seal de salida se activa cuando el TCP del robot se encuentra aqu.

Figura 2 E/S de posicin fija en una trayectoria esquina.

La E/S de posicin fija ser generada cuando se haya pasado el punto de arranque (punto final), si la distancia especificada a partir del punto final (punto de arranque) no se encuentra dentro de la longitud de movimiento de la instruccin utilizada (Trigg...).

Ejemplos
VAR triggdata glueflow; TriggIO glueflow, 1 \Start \AOp:=glue, 5.3; MoveJ p1, v1000, z50, tool1; TriggL p2, v500, glueflow, z50, tool1; La seal de salida analgica glue est activada en el valor 5,3 cuando el punto de trabajo pasa por un punto situado a 1 mm despus del punto de arranque p1. ... TriggL p3, v500, glueflow, z50, tool1; La seal de salida analgica glue est activada de nuevo en el valor 5,3 cuando el punto de trabajo pasa por un punto situado a 1 mm despus del punto de arran-

Gua de Referencia RAPID

8-TriggIO-3

que p2.

Limitaciones
Los eventos de E/S relativos a la distancia (sin el argumento \Time) dan una mejor precisin cuando se utilizan puntos de paso que cuando se utilizan puntos de paro para la posicin final (o de arranque). Los eventos de E/S relativos al tiempo (con el argumento \Time) dan una mejor precisin cuando se utilizan puntos de paro que cuando se utilizan puntos de paso. Los eventos de E/S relativos al tiempo (con el argumento \Time) slo podrn ser especificados a partir del punto final del movimiento. Este tiempo no podr exceder el tiempo normal de frenado del robot, que es de aproximadamente 0.5 s (valores tpicos a una velocidad de 500 mm/seg para el IRB2400: 150 ms y para el IRB6400: 250 ms). En el caso en que el tiempo especificado sea mayor que el tiempo de frenado habitual, das formas el evento ser generado, pero no antes de que haya empezado el frenado (ms tarde de lo especificado). No obstante, el tiempo del movimiento para la ejecucin del movimiento correspondiente podr ser utilizado en movimientos pequeos y rpidos.

Sintaxis
TriggIO [ TriggData := ] < variable (VAR) de triggdata> , [ Distance := ] < expresin (IN) de num> [ \ Start ] | [ \ Time ] [ \ DOp := < variable (VAR) de signaldo> ] | [ \ GOp := < variable (VAR) de signalgo> ] | [ \ AOp := < variable (VAR) de signalao> ] , [ SetValue := ] < expresin (IN) de num> [ \ DODelay := < expresin (IN) de num> ]

Informacin relacionada
Descrita en: Uso de los disparos Definicin de eventos de E/S relativos a tiempo-posicin Definicin de interrupciones relativas a la posicin Ms ejemplos Activacin de E/S Instruccin - TriggInt Tipos de datos - triggdata Instrucciones - SetDO, SetGO, SetAO Instruccin - TriggEquip Instrucciones - TriggL, TriggC, TriggJ

8-TriggIO-4

Gua de Referencia RAPID

TriggJ

Movimientos de los ejes del robot con eventos


TriggJ (Trigg Joint) sirve para activar seales de salida y/o ejecutar rutinas de interrupcin en posiciones fijas, al mismo tiempo que el robot se mueve en una trayectoria circular. Utilizando las instrucciones TriggIO, TriggEquip o TriggInt se podr definir uno o ms (4 como mximo) eventos y ms adelante estas definiciones sern referidas en la instruccin TriggJ.

Ejemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveL p1, v500, z50, gun1; TriggJ p2, v500, gunon, fine, gun1; La seal de salida digital gun se activa cuando el TCP del robot pasa por el punto central de la trayectoria esquina del punto p1.

Punto de arranque p1

TriggJ p2, v500,gunon, fine, gun1;

Punto final p2

La seal de salida gun se activa en posicin on cuando el TCP del robot se sita aqu Figura 1 Ejemplo de un evento de E/S de posicin fija.

Argumentos TriggJ
[ \Conc ]

[\Conc ] AlPunto Veloc [ \T ] Trigg1 [ \T2 ] [ \T3 ] [ \T4 ] Zona Herram [ \WObj ]
(Concurrente) Tipo de dato: switch

Mientras el robot est en movimiento, diferentes instrucciones lgicas son ejecutadas. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo y no se requiere ninguna sincronizacin. Tambin podr utilizarse para ajustar la ejecucin de la trayectoria del robot, para evitar el mensaje de aviso 50024 Fallo de trayectoria esquina o el error 40082 Lmite de deceleracin.

Gua de Referencia RAPID

8-TriggJ-1

Cuando se usa el argumento \Conc, el nmero de instrucciones de movimiento sucesivas ser limitado a 5. En una seccin de programa que incluye una secuencia StorePath-RestoPath, las instrucciones de movimiento con el argumento \Conc no estn permitidas. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado el punto de paro especificado o 100 ms antes de la zona especificada. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del punto central de la herramienta, de los ejes externos y de la reorientacin de la herramienta. [ \T ] (Tiempo) Tipo de dato: num

Este argumento se utiliza para especificar el tiempo total en segundos durante el cual el robot se mueve. Posteriormente ser sustituido por el dato de velocidad correspondiente. Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidas previamente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidas previamente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidas previamente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T4 ] (Trigg 4) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidas previamente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. Zona Tipo de dato: zonedata Son los datos de zona utilizados para el movimiento. Los datos de zona describen

8-TriggJ-2

Gua de Referencia RAPID

el tamao de la trayectoria esquina generada. Herram Tipo de dato: tooldata

Es la herramienta que se utiliza cuando el robot se mueve. El punto central de la herramienta es el punto que es movido a la posicin de destino especificada. [ \WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento puede ser omitido, y en el caso en que lo sea, la posicin se referir al sistema de coordenadas mundo. Por otra parte, si se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado para el movimiento lineal a realizar relativo al objeto de trabajo.

Ejecucin del programa


Vase la instruccin MoveJ para ms informacin sobre los movimientos de los ejes. Dado que las condiciones de disparo se cumplen cuando el robot se va acercando cada vez ms cerca del punto final, las actividades de disparo definidas se llevarn a cabo. Las condiciones de disparo se cumplen a cierta distancia antes del punto final de la instruccin, o a cierta distancia despus del punto de arranque de la instruccin, o tambin a cierto punto en el tiempo (limitado a un periodo de tiempo corto) antes del punto final de la instruccin. Durante la ejecucin paso a paso hacia adelante, las actividades de E/S se llevarn a cabo pero las rutinas de interrupcin no sern ejecutadas. Durante la ejecucin paso a paso hacia atrs, no se llevar a cabo ninguna actividad de disparo.

Ejemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time , intno1; ... TriggJ p1, v500, trigg1, fine, gun1; TriggJ p2, v500, trigg1, fine, gun1; ... IDelete intno1; La rutina de tratamiento de interrupcin trap1 se ejecuta cuando el punto de trabajo est en una posicin que se encuentra a 0,1 s antes del punto p1 o p2 respectivamente.

Gua de Referencia RAPID

8-TriggJ-3

Limitaciones
En el caso en que el punto de arranque se haya desviado respecto a la posicin habitual, de forma que la longitud de posicionamiento total de la instruccin TriggJ sea ms pequea que la habitual (por ejemplo, al inicio de TriggJ con la posicin del robot en el punto final), puede ocurrir que varias o todas las condiciones de disparo se cumplan inmediatamente en una misma posicin. En tales casos, la secuencia en la cual se llevarn a cabo las actividades de disparo no estarn definidas. La lgica del programa contenida en el programa del usuario no deber estar basada en una secuencia normal de actividades de disparo, para un movimiento incompleto.

Sintaxis
TriggJ [\ Conc ,] [ ToPoint := ] < expresin (IN) de robtarget > , [ Speed := ] < expresin (IN) de speeddata > [ \ T := < expresin (IN) de num > ] , [Trigg1 := ] < variable (VAR) de triggdata > [ \ T2 := < variable (VAR) de triggdata > ] [ \ T3 := < variable (VAR) de triggdata > ] [ \ T4 := < variable (VAR) de triggdata > ] , [Zone := ] < expresin (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Informacin relacionada
Descrita en: Movimiento lineal con disparos Movimiento circular con disparos Definicin de los disparos Movimiento de ejes Instrucciones - TriggL Instrucciones - TriggC Instrucciones - TriggIO, TriggEquip o TriggInt Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa Tipos de Datos - speeddata Tipos de Datos- tooldata Tipos de Datos - wobjdata Principios de Movimiento y de E/S

Definicin de la velocidad Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general

8-TriggJ-4

Gua de Referencia RAPID

TriggL

Movimientos lineales del robot con eventos


TriggL (Trigg Linear) sirve para activar seales de salida y/o ejecutar rutinas de interrupcin en posiciones fijas, al mismo tiempo que el robot est realizando un movimiento lineal. Utilizando las instrucciones TriggIO, TriggEquip o TriggInt se podr definir uno o ms eventos (4 como mximo) y posteriormente estas definiciones sern referidas en la instruccin TriggL.

Ejemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveJ p1, v500, z50, gun1; TriggL p2, v500, gunon, fine, gun1; La seal de salida digital gun est activada cuando el TCP del robot pasa por el punto central de la trayectoria esquina del punto p1.

Punto de arranque p1 TriggL p2, v500, gunon, fine, gun1;

Punto final p2

La seal de salida gun se activa en la posicin on cuando el TCP del robot est aqu Figura 1 Ejemplo de un evento de E/S de posicin fija

Argumentos TriggL
[ \Conc ]

[\Conc] AlPunto Veloc [ \T ] Trigg1 [ \T2 ] [ \T3 ] [ \T4 ] Zona Herram [ \WObj ]
(Concurrente) Tipo de dato: switch

Mientras el robot est en movimiento, diferentes instrucciones lgicas son ejecutadas. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se est comunicando con el equipo externo y no se requiere ninguna sincronizacin. Tambin podr utilizarse para ajustar la ejecucin de la trayectoria del robot, para evitar el mensaje de aviso 50024 Fallo de trayectoria esquina o el error 40082 Lmite de deceleracin.

Gua de Referencia RAPID

8-TriggL-1

Cuando se usa el argumento \Conc, el nmero de instrucciones de movimiento sucesivas ser limitado a 5. En una seccin de programa que incluye una secuencia StorePath-RestoPath, las instrucciones de movimiento con el argumento \Conc no estn permitidas. Si se omite este argumento, la instruccin siguiente se ejecutar solamente despus de que el robot haya alcanzado el punto de paro especificado o 100 ms antes de la zona especificada. AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Est definido como una posicin nombrada o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velocidad definen la velocidad del punto central de la herramienta, de los ejes externos y de la reorientacin de la herramienta. [ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cual el robot se mueve. Posteriormente, ser sustituido por los datos de velocidad correspondientes. Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo, definidas anteriormente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo, definida anteriormente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo, definida anteriormente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. [ \T4 ] (Trigg 4) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo, definida anteriormente en el programa mediante las instrucciones TriggIO, TriggEquip o TriggInt. Zona Tipo de dato: zonedata Son los datos de zona para el movimiento. Los datos de zona describen el tamao

8-TriggL-2

Gua de Referencia RAPID

de la trayectoria esquina generada. Herram Tipo de dato: tooldata

Es la herramienta que se est utilizando cuando el robot se est moviendo. El punto central de la herramienta es el punto que es movido al punto de destino especificado. [ \WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Este argumento puede ser omitido, y en el caso en que lo sea, la posicin se referir al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacionario o ejes externos coordinados, este argumento deber ser especificado para el movimiento lineal que se va a realizar, relativo al objeto de trabajo.

Ejecucin del programa


Vase la instruccin MoveL para ms informacin referente al movimiento lineal. Dado que las condiciones de disparo se cumplen cuando el robot se va acercando cada vez ms cerca del punto final, las actividades de disparo definidas se llevarn a cabo. Las condiciones de disparo se cumplen a cierta distancia antes del punto final de la instruccin, o a cierta distancia despus del punto de arranque de la instruccin, o tambin a cierto punto en el tiempo (limitado a un periodo de tiempo corto) antes del punto final de la instruccin. Durante la ejecucin paso a paso hacia adelante, las actividades de E/S se llevarn a cabo pero las rutinas de interrupcin no sern ejecutadas. Durante la ejecucin paso a paso hacia atrs, no se llevar a cabo ninguna actividad de disparo.

Ejemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time, intno1; ... TriggL p1, v500, trigg1, fine, gun1; TriggL p2, v500, trigg1, fine, gun1; ... IDelete intno1; La rutina de tratamiento de interrupcin trap1 se ejecuta cuando el punto de trabajo est en una posicin que se encuentra a 0,1 s antes del punto p1 o p2 respectivamente.

Gua de Referencia RAPID

8-TriggL-3

Limitaciones
En el caso en que el punto de arranque se haya desviado respecto a la posicin habitual, de forma que la longitud de posicionamiento total de la instruccin TriggL sea ms pequea que la habitual (por ejemplo al principio de TriggL con la posicin del robot en le punto final), puede ocurrir que varias o todas las condiciones de disparo se cumplan inmediatamente en una misma posicin. En tales casos, la secuencia en la cual se llevarn a cabo las actividades de disparo no estarn definidas. La lgica del programa contenida en el programa del usuario no deber estar basada en una secuencia normal de actividades de disparo, para un movimiento incompleto.

Sintaxis
TriggL [\ Conc ,] [ ToPoint := ] < expresin (IN) de robtarget > , [ Speed := ] < expresin (IN) de speeddata > [ \ T := < expresin (IN) de num > ] , [Trigg1 := ] < variable (VAR) de triggdata > [ \ T2 := < variable (VAR) de triggdata > ] [ \ T3 := < variable (VAR) de triggdata > ] [ \ T4 := < variable (VAR) de triggdata > ] , [Zone := ] < expresin (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;

Informacin relacionada
Descrita en: Movimiento circular con disparos Movimiento de ejes con disparo Definicin de los disparos Movimiento lineal Instrucciones - TriggC Instrucciones - TriggJ Instrucciones - TriggIO, TriggEquip TriggInt Principios de Movimiento y de E/S Posicionamiento durante la Ejecucin del Programa Tipos de Datos - speeddata Tipos de Datos - tooldata Tipos de Datos - wobjdata Principios de Movimiento y de E/S

Definicin de la velocidad Definicin de las herramientas Definicin de los objetos de trabajo Movimiento en general

8-TriggL-4

Gua de Referencia RAPID

TRYNEXT Salto de una instruccin que ha causado un error


TRYNEXT sirve para saltar una instruccin que ha causado un error. En vez de sta, se ejecutar la siguiente instruccin.

Ejemplo
reg2 := reg3/reg4; . ERROR IF ERRNO = ERR_DIVZERO THEN reg2:=0; TRYNEXT; ENDIF Se ha realizado un intento de divisin de reg3 por reg4. En el caso en que reg4 sea igual a 0 (divisin por cero), se realizar un salto al gestor de error, en el que reg2 est en 0. La instruccin TRYNEXT ser entonces utilizada para continuar con la siguiente instruccin.

Ejecucin del programa


La ejecucin del programa contina con la instruccin que sigue la instruccin que ha causado el error.

Limitaciones
La instruccin slo podr existir en un gestor de errores de una rutina.

Sintaxis
TRYNEXT;

Informacin relacionada
Descrita en: Gestores de error Caractersticas Bsicas Recuperacin de Errores

Gua de Referencia RAPID

8-TRYNEXT-1

8-TRYNEXT-2

Gua de Referencia RAPID

TuneReset

Reinicializacin del ajuste del servo

TuneReset sirve para reinicializar el comportamiento dinmico de todos los ejes del robot y de las unidades mecnicas externas a sus valores normales.

Ejemplo
TuneReset; Reinicializacin de los valores de ajuste para todos los ejes a 100%.

Ejecucin del programa


Los valores de ajuste de todos los ejes son reinicializados a 100%.

Sintaxis
TuneReset ;

Informacin relacionada
Descrita en: Ajuste de los servos Instrucciones - TuneServo

Gua de Referencia RAPID

8-TuneReset-1

8-TuneReset-2

Gua de Referencia RAPID

TuneServo

Ajuste de los servos

TuneServo sirve para ajustar el comportamiento dinmico de los diferentes ejes del robot. No es necesario utilizar la instruccin TuneServo en circunstancias normales, no obstante, en ciertas ocasiones se puede optimizar el ajuste segn la configuracin del robot y las caractersticas de carga. Para los ejes externos, la instruccin TuneServo puede usarse para la adaptacin de la carga. Tener en cuenta que una utilizacin incorrecta de esta instruccin TuneServo puede provocar movimientos de oscilacin o pares que pueden daar el robot. Siempre que se utilice TuneServo se deber recordar esto. Nota: Par obtener un ajuste ptimo, es imprescindible que se hayan usado los datos de carga correctos. Comprobar que se hayan usado los valores correctos antes de utilizar TuneServo.

Descripcin
Tune_df Tune_df sirve para reducir los desbordamientos y las oscilaciones a lo largo de la trayectoria. Siempre existe un valor de ajuste ptimo que podr variar segn la posicin y la longitud del movimiento. Este valor ptimo podr encontrarse cambiando el ajuste por pasos pequeos (1 - 2%) en los ejes implicados en este comportamiento no deseado. Habitualmente, el ajuste ptimo se alcanzar entre los lmites 70% - 130%. Valores de ajuste demasiado altos o demasiado bajos comportan un efecto negativo y perjudicar considerablemente los movimientos. Cuando el valor de ajuste en el punto de arranque de un movimiento largo difiere considerablemente del valor de ajuste en el punto final, podr resultar til en ciertos casos utilizar un punto intermediario con una zona esquina para poder definir el lugar donde el valor de ajuste va a cambiar. A continuacin se muestran algunos ejemplos de utilizacin de la instruccin TuneServo para optimizar el ajuste: IRB6400, en una aplicacin de prensa (carga extendida y flexible), ejes 4 - 6: Reducir el valor de ajuste para el eje de la mueca utilizado hasta que el movimiento sea aceptable. Un cambio en el movimiento ser a penas perceptible hasta que se acerque del valor ptimo. Un valor bajo perjudicar considerablemente el movimiento. Valor de ajuste tpico es del 25%. IRB6400, partes superiores del rea de trabajo. El eje 1 puede a menudo ser optimizado con un valor de ajuste del orden de 85% - 95%. IRB6400, movimiento corto (< 80 mm). El eje 1 puede a menudo ser optimizado con un valor de ajuste del orden de 94% - 98%.

Gua de Referencia RAPID

8-TuneServo-1

IRB2400, con sistema de desplazamiento lineal. En ciertos casos los ejes 2 - 3 podrn ser optimizados con un valor de ajuste del 110% - 130%. El movimiento a lo largo del sistema de desplazamiento lineal podr requerir un valor de ajuste diferente comparado con el movimiento en los ngulos rectos del sistema de desplazamiento. Los desbordamientos y oscilaciones podrn ser reducidas disminuyendo la aceleracin o la rampa de aceleracin (AccSet), aunque, ello aumente el tiempo del ciclo. Este es un mtodo alternativo a la utilizacin de TuneServo. Tune_kp, tune_kv, tune_ti, de los ejes externos Estos tipos de ajuste afectan la ganancia de control de posicin (kp) la ganancia de control de velocidad (kv) y el tiempo de integracin del control de la velocidad (ti) de los ejes externos. Se utilizan para la adaptacin de los ejes externos a diferentes inercias de carga. El ajuste bsico de los ejes externos tambin puede ser simplificado utilizando estos tipos de ajuste. Tune_kp, tune_kv, tune_ti, de los ejes del robot Para los ejes del robot, estos tipos de ajuste tienen otro significado y podrn ser utilizados para reducir errores de trayectoria a velocidad baja (< 500 mm/s). Los valores recomendados son: tune_kv 100 - 180%, tune_ti 50 - 100%. Tune_kp no deber utilizarse para los ejes del robot. Valores demasiado elevados o demasiado bajos de tune_kv/tune_ti provocarn vibraciones u oscilaciones. No utilizar nunca estos tipos de ajuste a velocidades elevadas o cuando se ha obtenido la precisin de trayectoria deseada.

Ejemplo
TuneServo IRB, 2, 90; Activacin del tipo de ajuste TUNE_DF con el valor de ajuste del 90% en el eje 2 de la unidad mecnica del IRB.

Argumentos TuneServo UnidadMec Eje ValorAjuste [\Tipo]


UnidadMec (Unidad Mecnica) Tipo de dato: mecunit

Es el nombre de la unidad mecnica. Eje Tipo de dato: num Es el nmero del eje utilizado de la unidad mecnica (1 - 6).

8-TuneServo-2

Gua de Referencia RAPID

ValorAjuste

Tipo de dato: num

Es el valor de ajuste expresado en un porcentaje (1 - 200). 100% es el valor normal. [\Tipo] Tipo de dato: tunetype

Tipo de ajuste servo. Los tipos disponibles son TUNE_DF, TUNE_KP, TUNE_KV y TUNE_TI. Estos tipos son predefinidos en el sistema con constantes. Este argumento puede ser omitido cuando se utiliza el tipo de ajuste TUNE_DF.

Ejemplo
TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP; Activacin del tipo de ajuste TUNE_KP con el valor de ajuste de 110% en el eje 1 en la unidad mecnica MHA160R1.

Ejecucin del programa


El tipo de ajuste y el valor de ajuste especificados se activan para el eje especificado. Este valor es aplicable para todos los movimientos hasta que se haya programado un valor nuevo para el eje utilizado, o hasta que los tipos y valores de ajuste de todos los ejes hayan sido reinicializados mediante la instruccin TuneReset.

Sintaxis
TuneServo [MecUnit := ] < variable (VAR) de mecunit> , [Axis := ] < expresin (IN) de num> , [TuneValue := ] < expresin (IN) de num> ; [\ Type := <expresin (IN) de tunetype>];

Gua de Referencia RAPID

8-TuneServo-3

Informacin relacionada
Descrita en: Otras instrucciones de movimiento Tipos de ajuste servo Reinicializacin de los ajustes servo Ajuste de los ejes externos Resumen RAPID - Movimientos Tipos de Datos - tunetype Instrucciones - TuneReset Parmetros del Sistema - Manipulador

8-TuneServo-4

Gua de Referencia RAPID

UnLoad

Descarga de un mdulo de programa durante la ejecucin

UnLoad sirve para descargar un mdulo de programa de la memoria de programa durante la ejecucin. El mdulo del programa deber haber sido previamente cargado en la memoria de programa mediante la instruccin Load.

Ejemplo
UnLoad ram1disk \File:="PART_A.MOD"; Descargar (Unload) el mdulo de programa PART_A.MOD desde la memoria de programa, que, previamente haba sido cargado en la memoria del programa con la instruccin Load. (Vase instrucciones Load). (ram1disk es una constante de cadena predefinida "ram1disk:").

Argumentos Descargar Trayectoriadearchivo [\Archivo] Trayectoriadearchivo


Tipo de dato: string

Es la trayectoria del archivo y el nombre del archivo que sern descargados de la memoria de programa. La trayectoria de archivo y el nombre del archivo deben ser los mismos que en la instruccin Load ejecutada previamente. El nombre del archivo ser excluido cuando el argumento \Archivo haya sido utilizado.

[\Archivo]

Tipo de dato: string

Cuando el nombre del archivo est excluido del argumento TrayectoriadeArchivo, entonces deber ser definido con este argumento. El nombre del archivo deber ser el mismo que el que se ha ejecutado previamente en la instruccin Load.

Ejecucin del programa


Para poder ejecutar una instruccin Unload en el programa, se deber haber ejecutado previamente una instruccin Load con la misma trayectoria de archivo y el mismo nombre en el programa. La ejecucin del programa espera que el mdulo de programa haya acabado de ser descargado antes de continuar con la instruccin siguiente.

Gua de Referencia RAPID

15-UnLoad-1

Una vez que el mdulo de programa ha sido descargado, el resto de los mdulos de programa sern vinculados. Para ms informacin, vase la instruccin Load.

Ejemplos
UnLoad "ram1disk:DOORDIR/DOOR1.MOD"; Descargar (Unload) el mdulo de programa DOOR1.MOD de la memoria de programa, que previamente haba sido cargado dentro de la memoria de programa con la instruccin Load. (Vase las instrucciones Load). UnLoad "ram1disk:DOORDIR" \File:="DOOR1.MOD"; Igual que el ejemplo anterior pero expresado con una sintaxis diferente.

Limitaciones
No se permitir descargar un mdulo de programa que se est ejecutando. Las rutinas de tratamiento de interrupciones, los eventos de E/S del sistema y otras tareas del programa no podrn ser ejecutadas durante la secuencia de descarga. Se debern evitar los movimientos del robot durante la secuencia de descarga. Un paro de programa generado durante la ejecucin de una instruccin de Descarga originar un paro de proteccin de los motores y el mensaje de error siguiente: "20025 Stop order timeout" que se visualizar en la unidad de programacin.

Gestin de errores
En el caso en que el archivo de la instruccin Unload no pueda ser descargado, debido a la ejecucin que est en curso dentro del mdulo o debido a una trayectoria incorrecta (mdulo no ha sido cargado con la instruccin Load), entonces la variable del sistema ERRNO ser activada en ERR_UNLOAD (vase Tipos de Datos - errnum). Este error ser manipulado entonces por el gestor de errores.

Sintaxis
UnLoad [FilePath:=]<expresin (IN) de string> [\File:= <expresin (IN) de string>];

15-UnLoad-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Cargar un mdulo de programa Aceptar referencias no resueltas Instrucciones - Load Parmetros del Sistema - Controller Parmetros del Sistema - Tasks Parmetros del Sistema - BindRef

Gua de Referencia RAPID

15-UnLoad-3

15-UnLoad-4

Gua de Referencia RAPID

VelSet

Cambio de la velocidad programada


VelSet sirve para aumentar o disminuir la velocidad programada de todas las instrucciones de posicionamiento siguientes. Esta instruccin puede utilizarse tambin para maximizar la velocidad.

Ejemplo
VelSet 50, 800; Todas las velocidades programadas sern disminuidas del 50% del valor especificado en la instruccin. La velocidad del TCP no podr, no obstante exceder los 800 mm/s.

Argumentos VelSet
Ajuste

Ajuste Max
Tipo de dato: num

Es la velocidad deseada expresada en un porcentaje de la velocidad programada. El 100% corresponde a la velocidad programada. Max Es la velocidad mxima del TCP en mm/s. Tipo de dato: num

Ejecucin del programa


La velocidad programada de todas las instrucciones de posicionamiento siguientes, se vern afectadas hasta que se ejecute una instruccin VelSet nueva. El argumento Ajuste afectar: - A todos los componentes de velocidad (TCP, orientacin, ejes externos lineales y rotativos) contenidos en speeddata. - Al ajuste de la velocidad programada en la instruccin de posicionamiento (el argumento \V). - A los movimientos temporizados. El argumento Ajuste no afectar: - A la velocidad de soldadura contenida en welddata. - A la velocidad de calentamiento y de llenado contenida en seamdata.

Gua de Referencia RAPID

8-VelSet-1

El argumento Max slo afectar a la velocidad del TCP. Los valores por defecto de Ajuste y Max son del 100% y de 5000 mm/s respectivamente. Estos valores se activan automticamente - a la puesta en marcha en fro - cuando se carga un programa nuevo - cuando se ejecuta la primera instruccin en el programa.

Ejemplo
VelSet 50, 800; MoveL p1, v1000, z10, herram1; MoveL p2, v2000, z10, herram1; MoveL p3, v1000\T:=5, z10, herram1; La velocidad es de 500 mm/s al punto p1 y de 800 mm/s al punto p2. Tardar 10 segundos para ir de p2 a p3.

Limitaciones
La velocidad mxima no ser tomada en cuenta cuando el tiempo est especificado en la instruccin de posicionamiento.

Sintaxis
VelSet [ Ajuste := ] < expresin (IN) de num > , [ Max := ] < expresin (IN) de num > ;

Informacin relacionada
Descrita en: Definicin de la velocidad Instrucciones de posicionamiento Tipos de Datos - speeddata Resumen RAPID - Movimiento

8-VelSet-2

Gua de Referencia RAPID

WaitDI

Espera hasta la activacin de una seal de entrada digital

WaitDI (Wait Digital Input) sirve para esperar hasta que se active una seal de entrada digital.

Ejemplos
WaitDI di4, 1; La ejecucin del programa continuar slo despus de que la entrada di4 haya sido activada. WaitDI grip_status, 0; La ejecucin del programa continuar slo despus de que la entrada grip_status haya sido reinicializada.

Argumentos WaitDI
Seal Es el nombre de la seal. Valor Es el valor deseado de la seal. [\MaxTime] (Tiempo Mximo) Tipo de dato: num Tipo de dato: dionum

Seal Valor [\MaxTime] [\TimeFlag]


Tipo de dato: signaldi

Es el intervalo mximo de tiempo de espera permitido, expresado en segundos. En el caso en que este intervalo de tiempo haya transcurrido antes de que la condicin se haya cumplido, el sistema llamar al gestor de errores, siempre y cuando disponga de uno, con el cdigo de error ERR_WAIT_MAXTIME. Si el sistema no dispone de ningn gestor de error, la ejecucin del robot se detendr. [\TimeFlag] (Bandera Tiempo Excedido) Tipo de dato: bool

Es el parmetro de salida que contiene el valor TRUE cuando el tiempo mximo de espera permitido ha transcurrido antes de que la condicin se haya cumplido. En el caso en que este parmetro est incluido en la instruccin, no se considerar como un error en el caso en que el tiempo mximo de espera haya transcurrido. Este argumento ser ignorado si el argumento MaxTime no est incluido en la instruccin.

Gua de Referencia RAPID

8-WaitDI-1

Ejecucin del programa


En el caso en que el valor de la seal es correcto cuando la instruccin es ejecutada, el programa sencillamente continuar con la instruccin siguiente. En el caso en que el valor de la seal no es correcto, el robot entra en un estado de espera y cuando la seal adopta el valor correcto, el programa continuar. El cambio es detectado mediante una interrupcin, que proporciona una respuesta rpida. Cuando el robot est esperando, el tiempo ser supervisado, y en el caso en que exceda el valor mximo de tiempo, el programa continuar siempre y cuando est especificado TimeFlag, o suscitar un error en el caso en que no lo est. Si se especifica TimeFlag, se activar en TRUE cuando el tiempo haya sido excedido, de lo contrario, se activar en FALSE.

Sintaxis
WaitDI [ Seal := ] < variable (VAR) de signaldi > , [ Valor := ] < expresin (IN) de dionum > ; [\MaxTime :=<expresin (IN) de num>] [\TimeFlag:=<variable (VAR) de bool>] ;

Informacin relacionada
Descrita en: Espera hasta que se cumpla una condicin Espera durante un tiempo especificado Instrucciones - WaitUntil Instrucciones - WaitTime

8-WaitDI-2

Gua de Referencia RAPID

WaitDO

Espera hasta la activacin de una seal de salida digital

WaitDO (Wait Digital Output) sirve para esperar hasta que se active una seal de salida digital.

Ejemplos
WaitDO do4, 1; La ejecucin del programa continuar slo despus de que la salida do4 haya sido activada. WaitDO grip_status, 0; La ejecucin del programa continuar slo despus de que la salida grip_status haya sido reinicializada.

Argumentos WaitDO
Seal Es el nombre de la seal. Valor Es el valor deseado de la seal. [\MaxTime] (Tiempo Mximo) Tipo de dato: num Tipo de dato: dionum

Seal Valor [\MaxTime] [\TimeFlag]


Tipo de dato: signaldo

Es el intervalo mximo de tiempo de espera permitido, expresado en segundos. En el caso en que este intervalo de tiempo haya transcurrido antes de que la condicin se haya cumplido, el sistema llamar al gestor de errores, siempre y cuando disponga de uno, con el cdigo de error ERR_WAIT_MAXTIME. Si el sistema no dispone de ningn gestor de error, la ejecucin del robot se detendr. [\TimeFlag] (Bandera Tiempo Excedido) Tipo de dato: bool

Es el parmetro de salida que contiene el valor TRUE cuando el tiempo mximo de espera permitido ha transcurrido antes de que la condicin se haya cumplido. En el caso en que este parmetro est incluido en la instruccin, no se considerar como un error en el caso en que el tiempo mximo de espera haya transcurrido. Este argumento ser ignorado si el argumento MaxTime no est incluido en la instruccin.

Gua de Referencia RAPID

8-WaitDO-1

Ejecucin del programa


En el caso en que el valor de la seal es correcto cuando la instruccin es ejecutada, el programa sencillamente continuar con la instruccin siguiente. En el caso en que el valor de la seal no es correcto, el robot entra en un estado de espera y cuando la seal adopta el valor correcto, el programa continuar. El cambio es detectado mediante una interrupcin, que proporciona una respuesta rpida. Cuando el robot est esperando, el tiempo ser supervisado, y en el caso en que exceda el valor mximo de tiempo, el programa continuar siempre y cuando est especificado TimeFlag, o suscitar un error en el caso en que no lo est. Si se especifica TimeFlag, se activar en TRUE cuando el tiempo haya sido excedido, de lo contrario, se activar en FALSE.

Sintaxis
WaitDO [ Seal := ] < variable (VAR) de signaldo > , [ Valor := ] < expresin (IN) de dionum > ; [\MaxTime :=<expresin (IN) de num>] [\TimeFlag:=<variable (VAR) de bool>] ;

Informacin relacionada
Descrita en: Espera hasta que se cumpla una condicin Espera durante un tiempo especificado Instrucciones - WaitUntil Instrucciones - WaitTime

8-WaitDO-2

Gua de Referencia RAPID

WaitTime Espera durante un tiempo especificado


WaitTime sirve para esperar durante un tiempo especfico. Esta instruccin puede utilizarse tambin para esperar hasta que el robot y los ejes externos se hayan inmovilizado.

Ejemplo
WaitTime 0.5; La ejecucin del programa espera 0,5 segundos.

Argumentos WaitTime
[\InPos]

[\InPos] Tiempo
Tipo de dato: switch

En el caso en que se utilice este argumento, tanto el robot como los ejes externos debern haberse detenido antes de que el tiempo de espera empiece a contar. Tiempo Tipo de dato: num

El tiempo, expresado en segundos, que la ejecucin del programa debe esperar.

Ejecucin del programa


La ejecucin del programa se detiene temporalmente durante un tiempo especificado. Sin embargo, la manipulacin de las interrupciones y otras funciones similares, siguen estando activas.

Ejemplo
WaitTime \InPos,0; La ejecucin del programa espera hasta que el robot y los ejes externos se hayan parado.

Limitaciones
En el caso en que se use el argumento \Inpos, la instruccin de movimiento que precede a esta instruccin deber terminar con un punto de paro para que en esta instruccin sea posible realizar un rearranque despus de un corte de potencia.

Gua de Referencia RAPID

8-WaitTime-1

Sintaxis
WaitTime [\InPos,] [Tiempo :=] <expresin (IN) de num>;

Informacin relacionada
Descrita en: Esperar hasta que se cumpla una condicin Esperar hasta que se haya activado/ reinicializado una E/S Instrucciones - WaitUntil Instrucciones - WaitDI

8-WaitTime-2

Gua de Referencia RAPID

WaitUntil

Esperar hasta el cumplimiento de una condicin

WaitUntil sirve para esperar hasta que se cumpla una condicin lgica; por ejemplo, el sistema podr esperar hasta que se haya activado una o varias entradas.

Ejemplo
WaitUntil di4 = 1; La ejecucin del programa continuar slo despus de que la entrada di4 haya sido activada.

Argumentos WaitUntil
[\InPos]

[\InPos] Cond [\MaxTime] [\TimeFlag]


Tipo de dato: switch

En el caso en que se utilice este argumento, tanto el robot como los ejes externos debern haberse detenido antes de que la condicin empiece a ser evaluada. Cond Es la expresin lgica que se debe esperar. [\MaxTime] Tipo de dato: num Tipo de dato: bool

Es el intervalo de tiempo de espera mximo permitido y expresado en segundos. En el caso en que este tiempo haya transcurrido antes de que se haya cumplido la condicin, el sistema llamar el gestor de errores, siempre y cuando haya uno, con el cdigo de error ERR_WAIT_MAXTIME. En el caso en que el sistema no disponga de gestor de errores la ejecucin del programa se detendr. [\TimeFlag] Tipo de dato: bool

Es el parmetro de salida que contiene el valor TRUE en el caso en que el tiempo de espera mximo permitido haya transcurrido antes de que se haya cumplido la condicin. Si este parmetro est incluido en la instruccin, el hecho de que el tiempo mximo haya transcurrido, no ser considerado como un error. Este argumento ser ignorado siempre que el argumento MaxTime no est incluido en la instruccin.

Ejecucin del programa


Si la condicin programada no se cumple con la ejecucin de la instruccin WaitUntil,

Gua de Referencia RAPID

8-WaitUntil-1

la condicin ser comprobada de nuevo cada 100 ms. Cuando el robot est esperando, el tiempo ser supervisado, y en el caso en que exceda el valor mximo de tiempo, el programa continuar siempre y cuando est especificado TimeFlag, o suscitar un error en el caso en que no lo est. Si se especifica TimeFlag, se activar en TRUE si el tiempo ha sido excedido, de lo contrario, se activar en FALSE.

Ejemplos
VAR bool tempmax; WaitUntil DInput(ent_inicio) = 1 AND DInput (estado_pinza) = 1\MaxTime := 60 \TimeFlag := tempmax; IF tempmax THEN TPWrite "No se ha recibido orden de arranque en el tiempo especificado"; ELSE ciclo_sig; ENDIF Si las dos condiciones de entrada no se han cumplido en 60 segundos, aparecer un mensaje de error en el visualizador de la unidad de programacin. WaitUntil \Inpos, di4= 1; La ejecucin del programa esperar hasta que el robot se haya inmovilizado y que la entrada di4 se haya activado.

Limitaciones
En el caso en que se use el argumento \Inpos, la instruccin de movimiento que precede esta instruccin deber terminar con un punto de paro para que en esta instruccin sea posible realizar un rearranque despus de un corte de potencia.

Sintaxis
WaitUntil [\InPos,] [Cond :=] <expresin (IN) de bool> [\MaxTime :=<expresin (IN) de num>] [\TimeFlag:=<variable (VAR) de bool>] ;

8-WaitUntil-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Esperar hasta que una entrada se haya activado/reinicializado Esperar durante un tiempo especfico Expresiones Instrucciones - WaitDI Instrucciones - WaitTime Caractersticas Bsicas - Expresiones

Gua de Referencia RAPID

8-WaitUntil-3

8-WaitUntil-4

Gua de Referencia RAPID

WHILE

Repeticin de una instruccin mientras...

WHILE se utiliza cuando una serie de instrucciones deben ser repetidas mientras una condicin especfica se vaya cumpliendo. En el caso en que sea posible determinar por adelantado el nmero de repeticiones, se podr utilizar la instruccin FOR.

Ejemplo
WHILE reg1 < reg2 DO ... reg1 := reg1 +1; ENDWHILE Repite las instrucciones del bucle WHILE mientras reg1 < reg2.

Argumentos WHILE
Condicin

Condicin DO ... ENDWHILE


Tipo de dato: bool

La condicin que debe ser cumplida para que las instrucciones del bucle WHILE puedan ejecutarse.

Ejecucin del programa


1. Se calcula la condicin. Si la condicin no ha sido cumplida, el bucle WHILE finaliza y la ejecucin del programa contina con la instruccin que sigue ENDWHILE. 2. Las instrucciones del bucle WHILE son ejecutadas. 3. Se repite el bucle WHILE empezando por el punto 1.

Sintaxis
(EBNF) WHILE <expresin condicional> DO <lista instrucciones> ENDWHILE

Gua de Referencia RAPID

8-WHILE-1

Informacin Relacionada
Descrita en: Expresiones Caractersticas Bsicas - Expresiones

8-WHILE-2

Gua de Referencia RAPID

Write

Escritura en un archivo de caracteres o en un canal serie


Write sirve para escribir en un archivo de caracteres o en un canal serie. El valor de algunos datos podrn ser introducidos como textos.

Ejemplos
Write archivo_event, "Ejecucin iniciada"; El texto Ejecucin iniciada ser introducido en el archivo con el nombre de referencia archivo_event. Write archivo_event, "N de piezas producidas="\Num:=reg1; El texto N de piezas producidas=5, por ejemplo, ser introducido en el archivo con el nombre de referencia archivo_event (presuponiendo que el contenido de reg1 es 5).

Argumentos Write Dispositivo E/S Texto [\Num] | [\Bool] | [\Pos] | [\Orient] [\NoNewLine]
Dispositivo E/S Tipo de dato: iodev

El nombre (referencia) del archivo o del canal serie utilizado. Texto El texto que se desea introducir. [\Num] (Numrico) Tipo de dato: num Tipo de dato: string

El dato cuyos valores numricos debern ser introducidos despus de la cadena de texto. [\Bool] (Boolean) Tipo de dato: bool

El dato cuyos valores lgicos debern ser introducidos despus de la cadena de texto. [\Pos] (Posicin) Tipo de dato: pos

El dato cuya posicin deber ser introducida despus de la cadena de texto.

Gua de Referencia RAPID

8-Write-1

[\Orient]

(Orientacin)

Tipo de dato: orient

El dato cuya orientacin deber ser introducida despus de la cadena de texto. [\NoNewLine] Tipo de dato: switch

Omite el smbolo de retorno de carro que normalmente indica el final del texto.

Ejecucin del programa


La cadena de texto ser introducida en un archivo o en un canal serie especfico. En el caso en que no se use el argumento \NoNewLine, se introducir un smbolo de retorno de carro (line-feed: LF). En el caso en que se utilice uno de los argumentos \Num, \Bool, \Pos o \Orient, su valor ser primeramente convertido en una cadena de texto antes de ser aadido a la primera cadena. La conversin del valor en cadena de texto ocurre de la siguiente forma: Argumentos \Num \Num \Bool \Pos \Orient Valor 23 1.141367 VERDADERO Cadena de texto "23" "1.141367" "VERDADERO"

[1817.3,905.17,879.11] "[1817.3,905.17,879.11]" [0.96593,0,0.25882,0] "[0.96593,0,0.25882,0]"

Los decimales sern redondeados a cinco nmeros decimales, y no podrn haber ms que seis cifras en una cadena. Si la parte decimal es menor que 0,000005 o mayor que 0,999995, el nmero ser redondeado a un nmero entero.

Ejemplo
VAR iodev impresora; . Open "sio1:", impresora\Write; WHILE DInput(stopprod)=0 DO produce_part; Write impresora, "Piezas producidas="\Num:=reg1\NoNewLine; Write impresora, " "\NoNewLine; Write impresora, CTime(); ENDWHILE Close impresora; Una lnea que incluye el nmero de piezas producidas as como la hora saldr en la impresora al final de cada ciclo. La impresora deber estar conectada al canal serie sio1:. El mensaje impreso tendr un aspecto parecido al siguiente: Piezas producidas=473 09:47:15

8-Write-2

Gua de Referencia RAPID

Limitaciones
Los argumentos \Num, \Bool, \Pos y \Orient son mutuamente exclusivos y por lo tanto no podrn ser utilizados simultneamente en la misma instruccin. Esta instruccin slo podr utilizarse para archivos o canales serie que hayan sido abiertos para la escritura.

Gestin de errores
Si ocurre un error durante la escritura, la variable del sistema ERRNO pasar a ERR_FILEACC. Este error podr ser procesado posteriormente por el gestor de errores.

Sintaxis
Write [Dispositivo de E/S:=] <variable (VAR) de iodev>, [Texto:=] <expresin (IN) de string> [\Num:= <expresin (IN) de num> ] | [\Bool:= <expresin (IN) de bool> ] | [\Pos:= <expresin (IN) de pos> ] | [\Orient:= <expresin (IN) de orient> ] [\NoNewLine];

Informacin relacionada
Descrita en: Apertura de un archivo o canal serie Resumen RAPID - Comunicacin

Gua de Referencia RAPID

8-Write-3

8-Write-4

Gua de Referencia RAPID

WriteBin

Escritura en un canal serie binario

WriteBin sirve para escribir un nmero de bytes en un canal serie binario.

Ejemplo
WriteBin canal2, buffer_text, 10; 10 caracteres de la lista buffer_text sern introducidos en el canal referido como canal2.

Argumentos WriteBin
IODevice Nombre (referencia) del canal serie utilizado. Buffer Tipo de dato: array de num

Dispositivo E/S Buffer NChar


Tipo de dato: iodev

La matriz que contiene los caracteres que se desea introducir. NCar (Nmero de Caracteres) Tipo de dato: num

El nmero de caracteres que se desean introducir a partir del Buffer.

Ejecucin del programa


La cantidad especificada de caracteres de la lista ser escrita en el canal serie.

Limitaciones
Esta instruccin slo podr utilizarse para los canales serie que hayan sido abiertos para la lectura y escritura binaria.

Gestin de errores
En el caso en que ocurra un error durante la escritura, la variable del sistema ERRNO pasar a en ERR_FILEACC. Este error podr ser procesado posteriormente en el gestor de errores.

Gua de Referencia RAPID

8-WriteBin-1

Ejemplo
VAR iodev canal; VAR num buffer_sal {20}; VAR num entrada; VAR num ncar; Open "sio1:", canal \Bin; buffer_sal {1} := 5; WriteBin canal, buffer_sal, 1; entrada:= ReadBin (canal \Time:= 0.1); IF entrada = 6 THEN buffer_sal{1} := 2; buffer_sal{2} := 72; buffer_sal{3} := 111; buffer_sal{4} := 108; buffer_sal{5} := 97; buffer_sal{6} := 32; buffer_sal{7} := 109; buffer_sal{8} := 117; buffer_sal{9} := 110; buffer_sal{10} := 100; buffer_sal{11} := 111; buffer_sal{12} := 3; WriteBin canal, buffer_sal, 12; ENDIF ( enq )

( ack ) ( stx ) ( H ) ( o ) ( l ) ( a ) ( i ) ( m ) ( u ) ( n ) ( d ) ( o ) ( etx )

La cadena de texto (con sus caracteres de control asociados) ser escrita en un canal serie.

Sintaxis
WriteBin [Dispositivo E/S:=] <variable (VAR) de iodev>, [Buffer:=] <matriz {*} (IN) de num>, [NCar:=] <expresin (IN) de num>;

Informacin Relacionada
Descrita en: Apertura (etc.) de canales serie Resumen RAPID - Comunicacin

8-WriteBin-2

Gua de Referencia RAPID

Abs

Obtencin del valor absoluto


Abs sirve para obtener el valor absoluto, es decir, el valor positivo de un dato numrico.

Ejemplo
reg1 := Abs(reg2); Reg1 tiene asignado el valor absoluto de reg2.

Valor de Retorno
El valor absoluto, es decir, un valor numrico positivo. ejemplo: Valor de entrada 3 -3 -2.53 Valor de retorno 3 3 2.53

Tipo de dato: num

Argumentos Abs (Entrada)


Entrada El valor de entrada. Tipo de dato: num

Ejemplo
TPReadNum num_piezas, "Cuantas piezas se deben producir? "; num_piezas := Abs(num_piezas); El sistema pide al usuario que introduzca el nmero de piezas que deben ser procesadas. Para garantizar que el valor sea mayor que cero, el valor proporcionado por el usuario ser convertido en un valor positivo.

Gua de Referencia RAPID

9-Abs-1

Sintaxis
Abs ( [ Entrada := ] < expression (IN) of num > ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-Abs-2

Gua de Referencia RAPID

ACos

Clculo del valor del arco coseno


ACos (Arc Cosine) sirve para calcular el valor del arco coseno.

Ejemplo
VAR num angulo; VAR num valor; . . angulo:= ACos(valor);

Valor de retorno

Tipo de dato: num

El valor del arco coseno, expresado en grados y comprendido entre [0, 180].

Argumentos ACos
Valor El valor del argumento, comprendido entre [-1, 1].

(Valor)
Tipo de dato: num

Sintaxis
Acos( [Valor :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-ACos-1

9-ACos-2

Gua de Referencia RAPID

ASin

Clculo del valor del arco seno


ASin (Arc Sine) sirve para calcular el valor del arco seno.

Ejemplo
VAR num angulo; VAR num valor; . . angulo := ASin(valor);

Valor de retorno

Tipo de dato: num

El valor del arco seno, expresado en grados, y comprendido entre [-90, 90].

Argumentos ASin
Valor El valor del argumento, comprendido entre [-1, 1].

(Valor)
Tipo de dato: num

Sintaxis
ASin( [Valor :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-ASin-1

9-ASin-2

Gua de Referencia RAPID

ATan

Clculo del valor del arco tangente


ATan (Arc Tangent) sirve para calcular el valor del arco tangente.

Ejemplo
VAR num angulo; VAR num valor; . . angulo := ATan(valor);

Valor de retorno

Tipo de dato: num

El valor del arco tangente, expresado en grados y comprendido entre [-90, 90].

Argumentos ATan
Valor El valor del argumento.

(Valor)
Tipo de dato: num

Sintaxis
ATan( [Valor :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Arco tangente con un valor de retorno comprendido entre [-180, 180] Resumen RAPID - Matemticas Funciones - ATan2

Gua de Referencia RAPID

9-ATan-1

9-ATan-2

Gua de Referencia RAPID

ATan2

Clculo del valor del arco tangente2


ATan2 (Arc Tangent2) sirve para calcular el valor del arco tangente2.

Ejemplo
VAR num angulo; VAR num x_valor; VAR num y_valor; . . angulo:= ATan2(y_valor, x_valor);

Valor de retorno

Tipo de dato: num

El valor del arco de tangente, expresado en grados y comprendido entre [-180, 180]. El valor ser igual a ATan(y/x), y estar comprendido entre [-180, 180], puesto que la funcin utiliza el signo de ambos argumentos para determinar el cuadrante del valor de retorno.

Argumentos ATan2 (Y
Y El valor del argumento del numerador. X El valor del argumento del denominador. Tipo de dato: num

X)
Tipo de dato: num

Sintaxis
ATan2( [Y :=] <expresin (IN) de num> , [X :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Gua de Referencia RAPID

9-ATan2-1

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Arco de tangente con slo un argumento Resumen RAPID - Matemticas Funciones - ATan

9-Atan2-2

Gua de Referencia RAPID

CDate

Lectura de la fecha actual como una cadena


CDate (Current Date) sirve para leer la fecha actual del sistema. Esta funcin sirve para hacer aparecer la fecha actual en el visualizador de la unidad de programacin o para introducir la fecha actual en un archivo de texto.

Ejemplo
VAR string fecha; fecha := CDate(); La fecha actual est almacenada en la variable fecha.

Valor de Retorno
La fecha actual en una cadena.

Tipo de dato: string

El formato estndar de la fecha es "ao-mes-da", por ejemplo: "93-05-16".

Ejemplo
fecha := CDate(); TPWrite "La fecha actual es: "+fecha; Write archivo_event , fecha; La fecha actual ser visualizada en la pantalla de la unidad de programacin y en un archivo de texto.

Sintaxis
CDate ( ) Una funcin con un valor de retorno del tipo string.

Informacin relacionada
Descrito en: Instrucciones de hora Activacin del reloj del sistema Resumen RAPID - Sistema y Hora Parmetros del Sistema

Gua de Referencia RAPID

9-CDate-1

9-CDate-2

Gua de Referencia RAPID

CJointT

Lectura de los ngulos actuales de los ejes

CJointT (Current Joint Target) sirve para leer los ngulos actuales de los ejes del robot y de los ejes externos.

Ejemplo
VAR jointtarget joints; joints := CJointT(); Los ngulos actuales de los ejes del robot y de los ejes externos estn almacenados en joints.

Valor de retorno

Tipo de dato: jointtarget

Los ngulos actuales de los ejes del robot, del lado del brazo, expresados en grados. Los valores actuales de los ejes externos, expresados en mm para los ejes lineales, y en grados para los ejes de rotacin. Los valores devueltos se refieren a la posicin de calibracin.

Sintaxis
CJointT() Una funcin con un valor de retorno del tipo de dato jointtarget.

Informacin relacionada
Descrita en: Definicin del eje Lectura del ngulo actual del motor Tipos de Datos - jointtarget Funciones - ReadMotor

Gua de Referencia RAPID

9-CJointT-1

9-CJointT-2

Gua de Referencia RAPID

ClkRead

Lectura de un reloj utilizado para el cronometraje

ClkRead sirve para la lectura de un reloj que funciona como un cronmetro.

Ejemplo
reg1:=ClkRead(reloj1); El reloj reloj1 ser ledo y la hora quedar almacenada en segundos en la variable reg1.

Valor de Retorno
La hora, en segundos, almacenada en el reloj.

Tipo de dato: num

Argumento ClkRead
Reloj El nombre del reloj que se desea leer.

(Reloj)
Tipo de dato: clock

Ejecucin del programa


Un reloj podr ser ledo cuando est parado o cuando est funcionando. Una vez que se ha ledo el reloj, se podr volver a leer, volver a arrancar, parar o poner a cero. Si el reloj se desborda, la ejecucin del programa se detiene y aparece un mensaje de error.

Sintaxis
ClkRead ( [ Reloj := ] < variable (VAR) of clock > ) Una funcin con un valor de retorno del tipo num.

Gua de Referencia RAPID

9-ClkRead-1

Informacin relacionada
Descrito en: Instrucciones de reloj Saturacin del reloj Ms ejemplos Resumen RAPID - Sistema y Hora Tipos de dato - clock Instrucciones - ClkStart

9-ClkRead-2

Gua de Referencia RAPID

Cos

Clculo del valor del coseno


Cos (Cosine) sirve para calcular el valor del coseno a partir del valor de un ngulo.

Ejemplo
VAR num ngulo; VAR num valor; . . valor := Cos(ngulo);

Valor de retorno
El valor del coseno, comprendido entre [-1, 1] .

Tipo de dato: num

Argumentos Cos (Angulo)


Tipo de dato: num

Angulo El valor del ngulo, expresado en grados.

Sintaxis
Cos( [Angulo :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-Cos-1

9-Cos-2

Gua de Referencia RAPID

CPos

Lectura de los datos de posicin actuales (pos)


CPos (Current Position) sirve para leer la posicin actual del robot. Esta funcin devuelve los valores x, y, z del TCP del robot como datos del tipo pos. Si se desea leer la posicin completa del robot (robtarget) se deber, en vez de ello, utilizar la funcin CRobT.

Ejemplo
VAR pos pos1; pos1 := CPos(\Tool:=tool1 \WObj:=wobj0); La posicin actual del TCP del robot ser almacenada en la variable pos1. La herramienta tool1 y el objeto de trabajo wobj0 sirven para calcular la posicin.

Valor de retorno

Tipo de dato: pos

La posicin actual (pos) del robot con x, y, z en el sistema de coordenadas ms externo, teniendo en cuenta el sistema de coordenadas ProgDisp activo, la herramienta y el objeto de trabajo especificados.

Argumentos CPos ([\Tool] [\WObj]) [\Tool]


Tipo de dato: tooldata

La herramienta utilizada para el clculo de la posicin actual del robot. En el caso en que se omita este argumento, el sistema utilizar la herramienta activa actual. [\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posicin actual del robot retornada por la funcin. En el caso en que se omita este argumento, el sistema utilizar el objeto de trabajo actual activado. En una buena programacin se deber especificar siempre el argumento \Tool y \WObj. Entonces, la funcin siempre retorna la posicin deseada, incluso si se ha activado manualmente alguna otra herramienta u objeto de trabajo.

Gua de Referencia RAPID

9-CPos-1

Ejecucin del programa


Las coordenadas devueltas indican la posicin del TCP en el sistema de coordenadas ProgDisp.

Ejemplo
VAR pos pos2; VAR pos pos3; VAR pos pos4; pos2 := CPos(\Tool:=grip3 \WObj:=fixture); . . pos3 := CPos(\Tool:=grip3 \WObj:=fixture); pos4 := pos3-pos2; La posicin x, y, z del robot est tomada en dos lugares en el programa utilizando la funcin CPos. La herramienta grip3 y el objeto de trabajo fixture sirven para calcular la posicin. Las distancias x, y, z recorridas entre estas posiciones sern entonces calculadas y almacenadas en la variable pos p4.

Sintaxis
CPos () [\Tool := <persistente (PERS) de tooldata>] [\WObj := <persistente (PERS) de wobjdata>] ) Una funcin con un valor de retorno del tipo de dato pos.

Informacin relacionada
Descrita en: Definicin de la posicin Definicin de las herramientas Definicin de los objetos de trabajo Sistemas de coordenadas Lectura de robtarget utilizado Tipos de datos - pos Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S Sistemas de Coordenadas Funciones - CRobT

9--2

Gua de Referencia RAPID

CRobT

Lectura de los datos de la posicin actuales (robtarget)

CRobT (Current Robot Target) sirve para leer la posicin actual del robot y de los ejes externos. Esta funcin devuelve un valor robtarget con la posicin (x, y, z), la orientacin (q1 ... q4), la configuracin de los ejes del robot y la posicin de los ejes externos. En el caso en que slo se deba leer los valores x, y, z del TCP del robot (pos), se deber en vez de ello, utilizar la funcin CPos.

Ejemplo
VAR robtarget p1; p1 := CRobT(\Tool:=tool1 \WObj:=wobj0); La posicin actual del robot y de los ejes externos ser almacenada en p1. La herramienta tool1 y el objeto de trabajo wobj0 sirven para calcular la posicin.

Valor de retorno

Tipo de dato: robtarget

La posicin actual del robot y de los ejes externos en el sistema de coordenadas ms externo, teniendo en cuenta el sistema de coordenadas ProgDisp/ExtOffs, la herramienta y el objeto de trabajo especificados.

Argumentos CRobT ([\Tool] [\WObj]) [\Tool]


Tipo de dato: tooldata

La herramienta utilizada para el clculo de la posicin actual del robot. En el caso en que se omita este argumento, se utilizar la herramienta actual activada. [\WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posicin actual del robot retornada por la funcin. En el caso en que se omita este argumento, se utilizar el objeto de trabajo actual activado. En una buena programacin se deber siempre especificar el argumento \Tool y

Gua de Referencia RAPID

9-CRobT-1

\WObj. Entonces, la funcin siempre retornar la posicin deseada, incluso si se ha activado manualmente alguna otra herramienta u objeto de trabajo.

Ejecucin del programa


Las coordenadas devueltas indican la posicin del TCP en el sistema de coordenadas ProgDisp. Los ejes externos estn representados en el sistema de coordenadas ExtOffs.

Ejemplo
VAR robtarget p2; p2 := ORobT( RobT(\Tool:=grip3 \WObj:=fixture) ); La posicin actual en el sistema de coordenadas del objeto (sin ningn ProgDisp ni ExtOffs) del robot y de los ejes externos ser almacenada en p2. La herramienta grip3 y el objeto de trabajo fixture sirven para calcular la posicin.

Sintaxis
CRobT ( [\Tool := <persistente (PERS) de tooldata>] [\WObj := <persistente (PERS) de wobjdata>] ) Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrita en: Definicin de la posicin Definicin de las herramientas Definicin de los objetos de trabajo Sistemas de coordenadas Sistema de coordenadas ExtOffs Lectura de la pos actual (slo x, y, z) Tipos de datos - robtarget Tipos de datos - tooldata Tipos de datos - wobjdata Principios de Movimiento y de E/S Sistemas de Coordenadas Instrucciones - EOffsOn Funciones - CPos

9-CRobT-2

Gua de Referencia RAPID

CTime

Lectura de la hora actual como una cadena


CTime sirve para leer la hora actual del sistema. Esta funcin sirve para hacer aparecer la hora actual en el visualizador de la unidad de programacin o para introducir la hora actual en un archivo de texto.

Ejemplo
VAR string tiempo; tiempo := CTime(); La hora actual ser almacenada en la variable tiempo.

Valor de Retorno
La hora actual en una cadena.

Tipo de dato: string

El formato estndar de la hora es "horas:minutos:segundos", por ejemplo: "18:20:46".

Ejemplo
tiempo := CTime(); TPWrite La hora actual es: +tiempo; Write archivo_event, tiempo; La hora actual ser visualizada en la pantalla de la unidad de programacin y quedar almacenada en un archivo de texto.

Sintaxis
CTime ( ) Una funcin con un valor de retorno del tipo string.

Gua de Referencia RAPID

9-CTime-1

Informacin relacionada
Descrito en: Instrucciones de fecha y hora Activacin del reloj del sistema Resumen RAPID - Sistema y Hora Parmetros del Sistema

9-CTime-2

Gua de Referencia RAPID

CTool

Lectura de los datos de herramienta actuales


CTool (Current Tool) sirve para leer los datos de la herramienta utilizada.

Ejemplo
PERS tooldata temp_tool; temp_tool := CTool(); El valor de la herramienta actual es almacenado en la variable temp_tool.

Valor de retorno

Tipo de dato: tooldata

Esta funcin retorna un valor tooldata manteniendo el valor de la herramienta actual, es decir, de la herramienta que se utiliz por ltima vez en una instruccin de movimiento. El valor retornado representa la posicin y la orientacin del TCP en el sistema de coordenadas central de la mueca, vase tooldata.

Sintaxis
CTool() Una funcin con un valor de retorno del tipo de dato tooldata.

Informacin relacionada
Descrita en: Definicin de las herramientas Sistemas de coordenadas Tipos de datos - tooldata Principios de Movimiento y de E/S Sistemas de Coordenadas

Gua de Referencia RAPID

9-CTool-1

9-CTool-2

Gua de Referencia RAPID

CWObj Lectura de los datos del objeto de trabajo actuales


CWObj (Current Work Object) sirve para leer los datos del objeto de trabajo actual.

Ejemplo
PERS wobjdata temp_wobj; temp_wobj := CWObj(); El valor del objeto de trabajo utilizado es almacenado en la variable temp_wobj.

Valor de retorno

Tipo de dato: wobjdata

Esta funcin retorna un valor wobjdata manteniendo el valor del objeto de trabajo actual, es decir el objeto de trabajo utilizado en ltimo lugar en una instruccin de movimiento. El valor devuelto representa la posicin del objeto de trabajo y la orientacin en el sistema de coordenadas mundo, vase wobjdata.

Sintaxis
CWObj() Una funcin con un valor de retorno del tipo de dato wobjdata.

Informacin relacionada
Descrita en: Definicin de los objetos de trabajo Sistemas de coordenadas Tipos de datos - wobjdata Principios de movimiento y de E/S Sistemas de Coordenadas

Gua de Referencia RAPID

9-CWObj-1

9-CWObj-2

Gua de Referencia RAPID

DefDFrame

Definicin de una base de desplazamiento

DefDFrame (Define Displacement Frame) sirve para calcular una base de desplazamiento a partir de tres posiciones de origen y de tres posiciones desplazadas.

Ejemplo
p3 p6

p5 p4 p1 p2

Se han almacenado tres posiciones, p1 a p3, relativos a un objeto en una posicin de origen. Despus de haber realizado el desplazamiento del objeto, las mismas posiciones son buscadas y almacenadas como p4 a p6. A partir de estas seis posiciones, se calcular la base de desplazamiento. A continuacin, la base calculada servir para desplazar todas las posiciones almacenadas en el programa. CONST robtarget p1 := [...]; CONST robtarget p2 := [...]; CONST robtarget p3 := [...]; VAR robtarget p4; VAR robtarget p5; VAR robtarget p6; VAR pose base1; . !Buscar las posiciones nuevas SearchL sen1, p4, *, v50, herram1; . SearchL sen1, p5, *, v50, herram1; . SearchL sen1, p6, *, v50, herram1; frame1 := DefDframe (p1, p2, p3, p4, p5, p6); . !activacin del desplazamiento definido por base1 PDispSet base1;

Valor de retorno
La base de desplazamiento.

Tipo de dato: pose

Gua de Referencia RAPID

9-DefDFrame-1

Argumentos DefDFrame (AntiguoP1 NuevoP2 NuevoP3)


AntiguoP1 La primera posicin de origen. AntiguoP2 La segunda posicin de origen. AntiguoP3 La tercera posicin de origen. NuevoP1 Tipo de dato: robtarget Tipo de dato: robtarget Tipo de dato: robtarget

AntiguoP2

AntiguoP3

NuevoP1

Tipo de dato: robtarget

La primera posicin desplazada. Esta posicin deber ser medida y determinada con gran precisin. NuevoP2 Tipo de dato: robtarget

La segunda posicin desplazada. Deber observarse que esta posicin podr ser medida y determinada con menor precisin en una direccin, por ejemplo, esta posicin deber colocarse en una lnea que describe una nueva direccin de p1 a p2. NuevoP3 Tipo de dato: robtarget

La tercera posicin desplazada. Esta posicin podr ser medida y determinada con menor precisin en dos direcciones, por ejemplo, deber ser colocada en un plano que describe el plano nuevo para p1, p2 y p3.

Sintaxis
DefDFrame( [AntiguoP1 :=] <expresin (IN) de robtarget> , [AntiguoP2 :=] <expresin (IN) de robtarget> , [AntiguoP3 :=] <expresin (IN) de robtarget> , [NuevoP1 :=] <expresin (IN) de robtarget> , [NuevoP2 :=] <expresin (IN) de robtarget> , [NuevoP3 :=] <expresin (IN) de robtarget> ) Una funcin con un valor de retorno del tipo de dato pose.

9-DefDFrame-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Activacin de la base de desplazamiento Definicin manual de la base de desplazamiento Instrucciones - PDispSet Programacin y Pruebas

Gua de Referencia RAPID

9-DefDFrame-3

9-DefDFrame-4

Gua de Referencia RAPID

DefFrame Definicin de una base de coordenadas


DefFrame (Define Frame) sirve para calcular una base de coordenadas, a partir de tres posiciones que definen la base.

Ejemplo
y z p3 z x p2 y base1 p1 base objeto x

Las tres posiciones, p1 a p3, relativas al sistema de coordenadas del objeto, son utilizadas para definir el sistema de coordenadas nuevo, base1. La primera posicin, p1, define el origen de base1, la segunda posicin, p2, define la direccin del eje-x y la tercera posicin, p3, define la situacin del plano xy-. La base base1 definida puede ser utilizada como base de desplazamiento, segn se indica en el ejemplo siguiente: CONST robtarget p1 := [...]; CONST robtarget p2 := [...]; CONST robtarget p3 := [...]; VAR pose base1; . . base1:= DefFrame (p1, p2, p3); . . !activacin del desplazamiento definido por base1 PDispSet base1;

Valor de retorno
La base calculada.

Tipo de dato: pose

El clculo se refiere al sistema de coordenadas del objeto activado.

Gua de Referencia RAPID

9-DefFrame-1

Argumentos DefFrame
NuevoP1

(NuevoP1

NuevoP2

NuevoP3 [\Origen])
Tipo de dato: robtarget

La primera posicin, que definir el origen de la nueva base. NuevoP2 Tipo de dato: robtarget

La segunda posicin, que definir la direccin del eje-x de la nueva base. NuevoP3 Tipo de dato: robtarget

La tercera posicin, que definir el plano xy- de la nueva base. La posicin del punto 3 se encontrar en el lado positivo y, segn se indica en la figura de la pgina anterior.

[\Origen]

Tipo de dato: num

Es el argumento opcional, que definir como se colocar el origen de la base de coordenadas. Origen = 1, significa que el origen est colocado en NuevoP1, es decir, el mismo que cuando este argumento es omitido. Origen = 2, significa que el origen est colocado en NuevoP2, segn se indica en la siguiente figura. z z NuevoP3 x y NuevoP2 base1 y

base objeto

NuevoP1

Origen = 3, significa que el origen est colocado en la lnea que pasa por NuevoP1 y NuevoP2, y por consiguiente NuevoP3 estar colocado en el eje y-, segn se indica en la siguiente figura.

9-DefFrame-2

Gua de Referencia RAPID

y z y NuevoP3 x NuevoP2 base1

base objeto

NuevoP1

Otros valores, o si se omite el Origen, pondrn el punto de origen en NuevoP1.

Sintaxis
DefFrame( [NuevoP1 :=] <expresin (IN) de robtarget> , [NuevoP2 :=] <expresin (IN) de robtarget> , [NuevoP3 :=] <expresin (IN) de robtarget> ) [\Origin := <expresin (IN) de num> ]) Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Activacin de la base de desplazamiento Resumen RAPID - Matemticas Instrucciones - PDispSet

Gua de Referencia RAPID

9-DefFrame-3

9-DefFrame-4

Gua de Referencia RAPID

Dim

Obtencin del tamao de una matriz


Dim (Dimension) sirve para obtener el nmero de elementos de una matriz.

Ejemplo
PROC mulmat(VAR num array{*}, num factor) FOR index FROM 1 TO Dim(array, 1) DO array{index} := array{index} * factor; ENDFOR ENDPROC Todos los elementos de una matriz num son multiplicados por un factor. Este procedimiento puede tomar cualquier matriz unidimensional del tipo de dato num como entrada.

Valor de Retorno

Tipo de dato: num

El nmero de elementos de matriz de la dimensin especificada.

Argumentos Dim
Parmat El nombre de la matriz. NumDim (Nmero Dimensin) Tipo de dato: num

(ParMat NumDim)
(Parmetro matriz) Tipo de dato: Cualquier tipo

La dimensin de matriz deseada:

1 = unidimensional 2 = bidimensional 3 = tridimensional

Gua de Referencia RAPID

9-Dim-1

Ejemplo
PROC sum_mat(VAR num array1{*,*,*}, num array2{*,*,*}) IF Dim(array1,1) <> Dim(array2,1) OR Dim(array1,2) <> Dim(array2,2) OR Dim(array1,3) <> Dim(array2,3) THEN TPWrite "El tamao de las matrices no es el mismo"; Stop; ELSE FOR i1 FROM 1 TO Dim(array1, 1) DO FOR i2 FROM 1 TO Dim(array1, 2) DO FOR i3 FROM 1 TO Dim(array1, 3) DO array1{i1,i2,i3} := array1{i1,i2,i3} + array2{i1,i2,i3}; ENDFOR ENDFOR ENDFOR ENDIF RETURN; ENDPROC Dos matrices han sido aadidas. Si el tamao de las matrices difiere, el programa se detendr y aparecer un mensaje de error. Este procedimiento podr utilizar cualquier matriz tridimensional del tipo de dato num como una entrada.

Sintaxis
Dim ( [ParMat:=] <referencia (REF) de cualquier tipo> , [NumDim:=] <expresin (IN) de num> ) Un parmetro REF requiere que el argumento correspondiente sea una constante, una variable o un dato entero persistente. El argumento podra ser tambin un parmetro IN, un parmetro VAR o un parmetro entero PERS. Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Parmetros de matriz Declaracin de matriz Caractersticas Bsicas - Rutinas Caractersticas Bsicas - Datos

9-Dim-2

Gua de Referencia RAPID

DOutput

Lectura del valor de una seal de salida digital

DOutput sirve para leer el valor actual de una seal de salida digital.

Ejemplo
IF DOutput(do2) = 1 THEN . . . Si el valor actual de la seal do2 es igual a 1, entonces. . .

Valor de Retorno
El valor actual de la seal (0 o 1).

Tipo de dato: dionum

Argumentos DOutput
Seal El nombre de la seal que se desea leer.

(Seal)
Tipo de dato: signaldo

Ejecucin del programa


El valor ledo depende de la configuracin de la seal. Si la seal ha sido invertida en los parmetros del sistema, el valor retornado por esta funcin ser el opuesto del valor verdadero del canal fsico.

Ejemplo
IF DOutput(modo_auto) <> activa THEN . . . Si el valor actual de la seal modo_auto es no activa, entonces ..., Observar que la seal deber primero haber sido definida como una salida del sistema en los parmetros del sistema.

Gua de Referencia RAPID

9-DOutput-1

Sintaxis
DOutput ( [ Seal := ] < variable (VAR) of signaldo > ) Una funcin con un valor de retorno del tipo de dato dionum.

Informacin relacionada
Descrito en: Instrucciones de Entrada/Salida Funciones de Entrada/Salida en general Configuracin de las E/S Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/S Principios de E/S Parmetros del Sistema

9-DOutput-2

Gua de Referencia RAPID

EulerZYX

Obtencin de ngulos Euler a partir de una variable de orientacin

EulerZYX (rotaciones Euler ZYX) sirve para obtener una componente de ngulo Euler a partir de una variable del tipo orientacin.

Ejemplo VAR num angulox; VAR num anguloy; VAR num anguloz; VAR pose object; . . angulox := GetEuler(\X, object.rot); anguloy := GetEuler(\Y, object.rot); anguloz := GetEuler(\Z, object.rot);

Valor de retorno

Tipo de dato: num

El ngulo Euler correspondiente, expresado en grados y comprendido entre [-180, 180].

Argumentos EulerZYX ([\X] | [\Y] | [\Z] Rotacin)

Los argumentos \X, \Y y \Z son mutuamente exclusivos. En el caso en que ninguno de ellos haya sido especificado, se generar un error. [\X] Obtiene la rotacin en torno al eje X. [\Y] Obtiene la rotacin en torno al ejeY. [\Z] Obtiene la rotacin en torno al eje Z. Rotacin La rotacin en su representacin de quaterniones. Tipo de dato: orient Tipo de dato: switch Tipo de dato: switch Tipo de dato: switch

Gua de Referencia RAPID

9-EulerZYX-1

Sintaxis
EulerZYX( ['\'X ,] | ['\'Y ,] | ['\'Z ,] Rotacin :=] <expresin (IN) de orient> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-EulerZYX-2

Gua de Referencia RAPID

Exp

Clculo del valor exponencial


Exp (Exponential) sirve para calcular el valor exponencial, ex.

Ejemplo
VAR num x; VAR num valor; . . valor:= Exp( x);

Valor de retorno
El valor exponencial ex .

Tipo de dato: num

Argumentos Exp (Exponente)


Tipo de dato: num

Exponente El valor del argumento exponente.

Sintaxis
Exp( [Exponente :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-Exp-1

9-Exp-2

Gua de Referencia RAPID

GetTime

Lectura de la hora actual como un valor numrico

GetTime sirve para leer un componente especfico de la hora actual del sistema como un valor numrico. GetTime podr utilizarse para: - hacer que el programa realice una operacin a una hora especfica, - realizar ciertas actividades en un da de trabajo, - impedir la realizacin de ciertas actividades durante el fin de semana, - responder a errores de forma diferente segn la hora del da.

Ejemplo
hora := GetTime(\Hour); La hora actual est almacenada en la variable hora.

Valor de Retorno

Tipo de dato: num

Uno de los cuatro componentes de hora especificados a continuacin.

Argumentos GetTime
[\WDay] Retorna el da de la semana actual. Gama: de 1 a 7 (de lunes a domingo). [\Hour] Retorna la hora actual. Gama: de 0 a 23. [\Min] Retorna el minuto actual. Gama: de 0 a 59. [\Sec] Retorna el segundo actual. Gama: de 0 a 59. Gua de Referencia RAPID 9-GetTime-1 Tipo de dato: switch Tipo de dato: switch Tipo de dato: switch

( [\WDay] | [\Hour] | [\Min] | [\Sec] )


Tipo de dato: switch

Se deber especificar uno de los argumentos, de lo contrario la ejecucin del programa se detendr y el sistema producir un mensaje de error.

Ejemplo
dia_sem:= GetTime(\WDay); hora := GetTime(\Hour); IF dia_sem< 6 AND hora >6 AND hora < 16 THEN produccin; ELSE mantenimiento; ENDIF Si es un da de trabajo y que la hora est comprendida entre 7:00 y 15:59 el robot llevar a cabo el proceso de produccin. A cualquier otra hora, el robot permanecer en el modo de mantenimiento.

Sintaxis
GetTime ( [\ WDay ] | [ \ Hour ] | [ \ Min ] | [ \ Sec ] ) Una funcin con un valor de retorno del tipo num.

Informacin relacionada
Descrito en: Instrucciones de fecha y hora Activacin del reloj del sistema Resumen RAPID - Sistema y Hora Parmetros del Sistema

9-GetTime-2

Gua de Referencia RAPID

GOutput

Lectura del valor de un grupo de seales de salida digital

GOutput sirve para leer el valor actual de un grupo de seales de salida digital.

Ejemplo
IF GOutput(go2) = 5 THEN ... Si el valor actual de la seal go2 es igual a 5, entonces ...

Valor de Retorno
El valor actual de la seal (un nmero entero positivo).

Tipo de dato: num

Los valores de cada seal del grupo son ledos e interpretados como un nmero binario sin signo. Este nmero binario ser luego convertido en un nmero entero. El valor devuelto se encuentra dentro de unos lmites que dependen del nmero de seales del grupo. N de seales 1 2 3 4 5 6 7 8 Valor de retorno 0-1 0-3 0-7 0 - 15 0 - 31 0 - 63 0 - 127 0 - 255 N de seales 9 10 11 12 13 14 15 16 Valor de retorno 0 - 511 0 - 1023 0 - 2047 0 - 4095 0 - 8191 0 - 16383 0 - 32767 0 - 65535

Argumentos GOutput
Seal El nombre del grupo de seales que se desea leer.

(Seal)
Tipo de dato: signalgo

Gua de Referencia RAPID

9-GOutput-1

Sintaxis
GOutput ( [ Seal := ] < variable (VAR) of signalgo > ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones de Entrada/Salida Funciones de Entrada/Salida en general Configuracin de las E/S Resumen RAPID Seales de Entrada y Salida Principios de Movimiento y de E/S Principios de E/S Parmetros del Sistema

9-GOutput-2

Gua de Referencia RAPID

IndInpos

Estado de la posicin independiente

IndInpos sirve para comprobar si un eje independiente ha alcanzado la posicin seleccionada.

Ejemplo
IndAMove Station_A,1\ToAbsNum:=90,20; WaitUntil IndInpos(Station_A,2) = TRUE; WaitTime 0.2; Esperar hasta que el eje 1 de Station_A est en la posicin de 90 grados.

Valor de retorno
Los valores de retorno desde IndInpos son: Valor de retorno TRUE FALSE

Tipo de dato: bool

Estado del eje En posicin y tiene velocidad cero. No est en posicin y/o no tiene velocidad cero.

Argumentos IndInpos
MecUnit

MecUnit Axis
(Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6).

Limitaciones
Un eje independiente ejecutado con la instruccin IndCMove siempre retornar el valor FALSE, incluso cuando la velocidad es cero. Un periodo de espera de 0,2 segundos deber ser aadido despus de la instruccin, para garantizar que el estado correcto ha sido conseguido. Este periodo de tiempo deber ser mayor para los ejes externos de poca capacidad.

Gua de Referencia RAPID

9-IndInpos-1

Gestin de errores
Si el eje no est en el modo independiente, la variable del sistema ERRNO ser activada en ERR_AXIS_IND.

Sintaxis
IndInpos ( [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num>) Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrita en: Ejes independientes en general Comprobar el estado de velocidad de los ejes independientes Principios de Movimiento y de E/S Ejecucin del programa Funciones - IndSpeed

9-IndInpos-2

Gua de Referencia RAPID

IndSpeed Estado de la velocidad independiente


IndSpeed sirve para comprobar si un eje independiente ha alcanzado la velocidad seleccionada.

Ejemplo
IndCMove Station_A, 2, 3.4; WaitUntil IndSpeed(Station_A,2 \InSpeed) = TRUE; WaitTime 0.2; Esperar hasta que el eje 2 de Station_A haya alcanzado la velocidad de 3,4 grados/s.

Valor de retorno
Los valores de retorno desde IndSpeed son: Valor de retorno opcin \InSpeed TRUE FALSE opcin \ZeroSpeed TRUE FALSE Velocidad cero. Sin velocidad cero. Valor de estado

Tipo de dato: bool

Ha alcanzado la velocidad seleccionada. No ha alcanzado la velocidad seleccionada.

Argumentos IndSpeed
MecUnit

MecUnit Axis [ \InSpeed ] | [ \ZeroSpeed ]


(Unidad Mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica. Axis Tipo de dato: num El nmero del eje utilizado por la unidad mecnica (1-6). [ \InSpeed ] Tipo de dato: switch

IndSpeed retorna el valor TRUE si el eje ha alcanzado la velocidad seleccionada, de lo contrario, retorna el valor FALSE. Gua de Referencia RAPID 9-IndSpeed-1

[ \ZeroSpeed ]

Tipo de dato: switch

IndSpeed retorna el valor TRUE si el eje tiene una velocidad cero, de lo contrario, retorna el valor FALSE. Si se omiten ambos argumentos \InSpeed y \ZeroSpeed, aparecer visualizado un mensaje de error.

Limitacin
La funcin IndSpeed\InSpeed retornar siempre el valor FALSE en las siguientes situaciones: - El robot est en modo manual con velocidad reducida. - La velocidad es reducida utilizando la instruccin VelSet. - La velocidad es reducida desde la ventana de produccin. Un periodo de espera de 0,2 segundos deber ser aadido despus de la instruccin, para garantizar que el estado correcto ha sido conseguido. Este periodo de tiempo deber ser mayor para los ejes externos de poca capacidad.

Gestin de errores
Si el eje no est en el modo independiente, la variable del sistema ERRNO ser activada en ERR_AXIS_IND.

Sintaxis
IndSpeed ( [ MecUnit:= ] < variable (VAR) de mecunit> , [ Axis:= ] < expresin (IN) de num> [ \ InSpeed ] | [ \ ZeroSpeed ] ) Una funcin con un valor de retorno del tipo de dato bool.

9-IndSpeed-2

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Ejes independientes en general Ms ejemplos Comprobar el estado de posicin de los ejes independientes Principios de Movimiento y de E/SEjecucin del programa Instrucciones - IndCMove Funciones - IndInpos

Gua de Referencia RAPID

9-IndSpeed-3

9-IndSpeed-4

Gua de Referencia RAPID

IsPers

Es Persistente
IsPers sirve para comprobar si un dato de objeto es una variable persistente o no.

Ejemplo
PROC procedure1 (INOUT num parameter1) IF IsVar(parameter1) THEN ! referencia de llamada a una variable ... ELSEIF IsPers(parameter1) THEN ! referencia de llamada a una variable persistente ... ELSE ! No debe ocurrir EXIT; ENDIF ENDPROC El procedimiento procedure1 ejecutar diferentes acciones dependiendo de si el parmetro utilizado parameter1 es una variable o una variable persistente.

Valor de retorno

Tipo de dato: bool

TRUE en el caso en que el parmetro INOUT utilizado que se ha comprobado es una variable persistente. FALSE en el caso en que el parmetro INOUT utilizado que se ha comprobado no es una variable persistente.

Argumentos IsPers (DatObj)


DatObj (Dato Objeto) Tipo de dato: cualquiera

Es el nombre del parmetro INOUT formal.

Sintaxis
IsPers( [ DatObj := ] < var o pers (INOUT) de cualquier tipo > ) Una funcin con un valor de retorno del tipo de dato bool.

Gua de Referencia RAPID

9-IsPers-1

Informacin relacionada
Descrita en: Comprobar si es una variable Tipos de parmetros (modos de acceso) Funcin - IsVar Caractersticas RAPID - Rutinas

9-IsPers-2

Gua de Referencia RAPID

IsVar

Es Variable
IsVar sirve para comprobar si un dato de objeto es una variable o no.

Ejemplo
PROC procedure1 (INOUT num parameter1) IF IsVAR(parameter1) THEN ! referencia de llamada a una variable ... ELSEIF IsPers(parameter1) THEN ! referencia de llamada a una variable persistente ... ELSE ! No debe ocurrir EXIT; ENDIF ENDPROC El procedimiento procedure1 ejecutar diferentes acciones dependiendo de si el parmetro utilizado parameter1 es una variable o una variable persistente.

Valor de retorno

Tipo de dato: bool

TRUE en el caso en que el parmetro INOUT utilizado que se ha comprobado es una variable. FALSE en el caso en que el parmetro INOUT utilizado que se ha comprobado no es una variable.

Argumentos IsVar (DatObj)


DatObj (Dato Objeto) Tipo de dato: cualquiera

Es el nombre del parmetro INOUT formal.

Sintaxis
IsVar( [ DatObj := ] < var o pers (INOUT) de cualquier tipo > ) Una funcin con un valor de retorno del tipo de dato bool.

Gua de Referencia RAPID

9-IsVar-1

Informacin relacionada
Descrita en: Comprobar si es persistente Tipos de parmetros (modos de acceso) Funcin - IsPers Caractersticas RAPID - Rutinas

9-IsVar-2

Gua de Referencia RAPID

MirPos

Creacin de la imagen espejo de una posicin

MirPos (Mirror Position) sirve para crear una imagen espejo de la rotacin y translacin de una posicin.

Ejemplo
CONST robtarget p1; VAR robtarget p2; PERS wobjdata mirror; . . p2 := MirPos(p1, mirror); p1 es un dato robtarget que almacena una posicin del robot y la orientacin de la herramienta. Se crear una imagen espejo de esta posicin en el plano xy- de la base definida por mirror, relativa al sistema de coordenadas mundo. El resultado es un dato robtarget nuevo, que est almacenado en p2.

Valor de retorno

Tipo de dato: robtarget

La posicin nueva que es la posicin espejo creada de la posicin de entrada.

Argumentos MirPos (Punto


Punto

PlanoEspej

[\WObj]

[\MirY])
Tipo de dato: robtarget

Es la posicin de entrada del robot. La parte de orientacin de esta posicin define la orientacin utilizada del sistema de coordenadas de la herramienta. PlanoEspej (Plano Espejo) Tipo de dato: wobjdata

Son los datos del objeto de trabajo que definen el plano espejo. El plano espejo es el plano xy- de la base del objeto definida en PlanoEspej. La situacin de la base del objeto ser definida respecto a la base del usuario, tambin definida en PlanoEspej, que, a su vez, ser definida respecto a la base de coordenadas mundo.

[\WObj]

(Objeto de Trabajo)

Tipo de dato: wobjdata

Son los datos del objeto de trabajo que definen la base del objeto, y la base del usuario, respecto a las cuales est definida la posicin de entrada, Point. Si se omite este argumento, la posicin ser definida respecto al sistema de coordenadas mundo. Gua de Referencia RAPID 9-MirPos-1

Nota Si la posicin ha sido creada con un objeto de trabajo activado, se deber referir a este objeto de trabajo en el argumento.

[\MirY]

(Espejo Y)

Tipo de dato: switch

Si se omite esto, que es la regla por defecto, se crear una imagen espejo de la base de la herramienta con respecto a los ejes x- y z-. Si se especifica este argumento, se crear una imagen espejo de la base de la herramienta con respecto a los ejes y- y z-.

Limitaciones
No se volver a realizar un clculo de la parte de configuracin del robot relativa al dato de entrada robtarget.

Sintaxis
MirPos( [ Punto:= ] < expresin (IN) de robtarget>, [PlanoEspej :=] <expresin (IN) de wobjdata> , [\WObj := <expresin (IN) de wobjdata> ] [\MirY ]) Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-MirPos-2

Gua de Referencia RAPID

NumToStr

Conversin de un valor numrico en cadena

NumToStr (Numeric To String) sirve para convertir un valor numrico en un cadena.

Ejemplo
VAR string str; str := NumToStr(0.38521,3); La variable str toma el valor "0.385". reg1 := 0.38521 str := NumToStr(reg1, 2\Exp); La variable str toma el valor "3.85E-01".

Valor de retorno

Tipo de dato: string

El valor numrico convertido en una cadena con el nmero especificado de decimales, indicando tambin el exponente si se requiere. El valor numrico ser redondeado si es necesario. La coma del decimal ser suprimida si no se incluye ningn decimal.

Argumentos NumToStr
Val

(Val Dec [\Exp])


(Valor) Tipo de dato: num

Es el valor numrico que se desea convertir. Dec (Decimales) Tipo de dato: num

Es el nmero de decimales. El nmero de decimales no deber ser negativo ni mayor que la precisin disponible para los valores numricos. [\Exp] (Exponente) Tipo de dato: switch

En el caso en que se utilice un exponente.

Gua de Referencia RAPID

9-NumToStr-1

Sintaxis
NumToStr( [ Val := ] <expresin (IN) de num> , [ Dec := ] <expresin (IN) de num> [ \Exp ] ) Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-NumToStr-2

Gua de Referencia RAPID

Offs

Desplazamiento de una posicin del robot


Offs sirve para aadir un offset a una posicin del robot.

Ejemplos
MoveL Offs(p2, 0, 0, 10), v1000, z50, herram1; El robot se mover a un punto que se encuentra a 10 mm de la posicin p2 (en la direccin z-). p1 := Offs (p1, 5, 10, 15); La posicin del robot p1 ser desplazada de 5 mm en la direccin x-, de 10 mm en la direccin y- y de 15 mm en la direccin z-.

Valor de Retorno
El dato de la posicin desplazada.

Tipo de dato: robtarget

Argumentos Offs
Punto El dato de la posicin que se desea desplazar. OffsetX El desplazamiento en la direccin x. OffsetY El desplazamiento en la direccin y. OffsetZ El desplazamiento en la direccin z. Tipo de dato: num Tipo de dato: num Tipo de dato: num

(Punto OffsetX OffsetY OffsetZ)


Tipo de dato: robtarget

Gua de Referencia RAPID

9-Offs-1

Ejemplo
PROC pallet (num fila, num columna, num distancia, PERS tooldata herram, PERS wobjdata wobj) VAR robtarget pospallet:=[[0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0], [9E9, 9E9, 9E9, 9E9, 9E9, 9E9]]; pospalett := Offs (pospalett, (fila-1)*distancia, (columna-1)*distancia, 0); MoveL pospalett, v100, fine, herram\WObj:=wobj; ENDPROC Se ha concebido una rutina para coger objetos de un pallet. Cada pallet ha sido definido como un objeto de trabajo (vase la Figura 1). La pieza que debe ser cogida (lnea y columna) y la distancia entre los objetos debern proporcionarse como parmetros de entrada. Para aumentar el ndice de lneas y columnas, se deber salir de la rutina.
Columnas O O Filas O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O eje YO O O O O O O O O O

O O eje XO O

Figura 1 La posicin y la orientacin de un pallet sern especificadas definiendo un objeto de trabajo.

Sintaxis
Offs ( [Punto :=] <expresin (IN) de robtarget> , [OffsetX :=] <expresin (IN) de num> , [OffsetY :=] <expresin (IN) de num> , [OffsetZ :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en: Dato de posicin Tipos de dato - robtarget

9-Offs-2

Gua de Referencia RAPID

OpMode

Lectura del modo de operacin

OpMode (Operating Mode) sirve para leer el modo de operacin utilizado del sistema.

Ejemplo
TEST OpMode() CASE OP_AUTO: ... CASE OP_MAN_PROG: ... CASE OP_MAN_TEST: ... DEFAULT: ... ENDTEST Se ejecutarn diferentes secciones del programa, dependiendo del modo de operacin utilizado.

Valor de retorno

Tipo de dato: symnum

El modo de operacin utilizado aparece indicado de la siguiente forma segn se observa en la tabla, a continuacin.
Valor de retorno 0 1 2 Constante simblica OP_UNDEF OP_AUTO OP_MAN_PROG Comentario Modo de operacin no definido Modo de operacin automtico Modo de operacin manual max. 250 mm/s Modo de operacin manual Velocidad total, 100 %

OP_MAN_TEST

Sintaxis
OpMode( ) Una funcin con un valor de retorno del tipo de dato symnum.

Informacin relacionada
Descrita en: Diferentes modos de operacin Lectura del modo de funcionamiento Gua de Referencia RAPID Puesta en Marcha - Panel de control Funciones - RunMode 9-OpMode-1

9-OpMode-2

Gua de Referencia RAPID

OrientZYX

Clculo de una variable de orientacin a partir de ngulos Euler

OrientZYX (Orient from Euler ZYX angles) sirve para calcular una variable de tipo orientacin a partir de ngulos Euler.

Ejemplo
VAR num angulox; VAR num anguloy; VAR num anguloz; VAR pose object; . object.rot := OrientZYX(anguloz, anguloy, angulox)

Valor de retorno
La orientacin obtenida a partir de los ngulos Euler.

Tipo de dato: orient

Las rotaciones se realizarn siguiendo el orden siguiente: -rotacin en torno al eje z, -rotacin en torno al eje y nuevo -rotacin en torno al eje x nuevo.

Argumentos OrientZYX
ZAngulo La rotacin, en grados, en torno al eje Z. YAngulo La rotacin, en grados, en torno al eje Y. XAngulo La rotacin, en grados, en torno al eje X. Las rotaciones se realizarn siguiendo el orden siguiente: -rotacin en torno al eje z, -rotacin en torno al eje y nuevo -rotacin en torno al eje x nuevo. Tipo de dato: num Tipo de dato: num

(ZAngulo YAngulo XAngulo)


Tipo de dato: num

Gua de Referencia RAPID

9-OrientZYX-1

Sintaxis
OrientZYX( [ZAngulo :=] <expresin (IN) de num> , [YAngulo :=] <expresin (IN) de num> , [XAngulo :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato orient.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-OrientZYX-2

Gua de Referencia RAPID

ORobT

Eliminacin de un desplazamiento de programa de una posicin

ORobT (Object Robot Target) sirve para transformar una posicin robot del sistema de coordenadas del desplazamiento de programa al sistema de coordenadas del objeto y/ o eliminar un offset de los ejes externos.

Ejemplo
VAR robtarget p10; VAR robtarget p11; p10 := CRobT(); p11 := ORobT(p10); Las posiciones actuales del robot y de los ejes externos estn almacenadas en p10 y p11. Los valores almacenados en p10 se refieren al sistema de coordenadas ProgDisp/ExtOffs. Los valores almacenados en p11 se refieren al sistema de coordenadas del objeto y no tienen ningn offset de los ejes externos.

Valor de retorno
El dato de posicin transformado.

Tipo de dato: robtarget

Argumentos ORobT (PuntOri [\InPDisp] | [\InEOffs])


PuntOri(Punto Original) El punto original que deber ser transformado. [\InPDisp] (En Desplazamiento de Programa) Tipo de dato: switch Devuelve la posicin del TCP en el sistema de coordenadas ProgDisp, es decir, que elimina nicamente el offset de los ejes externos. [\InEOffs] (En Offset Externo) Tipo de dato: switch Tipo de dato: robtarget

Devuelve los ejes externos en el sistema de coordenadas offset, es decir, que elimina nicamente el desplazamiento de programa del robot.

Gua de Referencia RAPID

9-ORobT-1

Ejemplos
p10 := ORobT(p10 \InEOffs ); La funcin ORobT eliminar todos los desplazamiento de programa activos, dejando la posicin del TCP referido al sistema de coordenadas del objeto. Los ejes externos permanecern en el sistema de coordenadas offset. p10 := ORobT(p10 \InPDisp ); La funcin ORobT eliminar todos los offset de los ejes externos. La posicin del TCP permanecer en el sistema de coordenadas ProgDisp.

Sintaxis
ORobT ( [ PuntOri:= ] < expresin (IN) de robtarget> [\InPDisp] | [\InEOffs]) Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrita en: Definicin del desplazamiento del programa del robot Definicin de los offset de los ejes externos Sistemas de Coordenadas Instrucciones - PDispOn, PDispSet Instrucciones - EOffsOn, EOffsSet Principios de Movimiento - Sistemas de Coordenadas

9-ORobT-2

Gua de Referencia RAPID

PoseInv

Inversin de la posicin

PoseInv (Pose Invert) calcula la transformacin inversa de una posicin.

Ejemplo
z1
Pose1 z0 Base1

y1
Base0 y0 x0 Pose1 representa las coordenadas de la Base1 respecto a la Base0. La transformacin que da como resultado las coordenadas de la Base0 respecto a la Base1 se obtiene realizando la transformacin inversa: VAR pose pose1; VAR pose pose2; . . pose2 := PoseInv(pose1); Pose2

x1

Valor de retorno
El valor de la posicin inversa.

Tipo de dato: pose

Argumentos PoseInv
Pose La posicin que se desea invertir.

(Pose)
Tipo de dato: pose

Gua de Referencia RAPID

9-PoseInv-1

Sintaxis
PoseInv( [Pose :=] <expresin (IN) de pose> ) Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-PoseInv-2

Gua de Referencia RAPID

PoseMult

Multiplicacin de los datos de posicin

PoseMult (Pose Multiply) sirve para calcular el producto de dos transformaciones de base. La forma ms corriente consiste en calcular una estructura nueva como el resultado de un desplazamiento aplicado a una estructura de base.

Ejemplo
z1 y1

z0

pose1 Base1
x1

pose2

z2
Base2

Base0 y0 x0

y2
pose3

x2

pose1 representa las coordenadas de la Base1 respecto a la Base0. pose2 representa las coordenadas de la Base2 respecto a la Base1. La transformacin que produce la pose3, las coordenadas de la Base2 respecto a la Base0, se obtiene por el producto de las dos transformaciones: VAR pose pose1; VAR pose pose2; VAR pose pose3; . . pose3 := PoseMult(pose1, pose2);

Valor de retorno
El valor del producto de las dos posiciones.

Tipo de dato: pose

Gua de Referencia RAPID

9-PoseMult-1

Argumentos PoseMult (Pose1 Pose2)


Pose1 La primera posicin. Pose2 La segunda posicin. Tipo de dato: pose Tipo de dato: pose

Sintaxis
PoseMult( [Pose1 :=] <expresin (IN) de pose> , [Pose2 :=] <expresin (IN) de pose> ) Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-PoseMult-2

Gua de Referencia RAPID

PoseVect

Aplicacin de una transformacin a un vector

PoseVect (Pose Vector) sirve para calcular el producto de una posicin y de un vector. Se utiliza generalmente para calcular un vector como resultado del efecto de un desplazamiento en un vector original.

Ejemplo

pos2 z0 pose1 Base0 y0 x0

z1

pos1

y1

Base1
x1

pose1 representa las coordenadas de la Base1 respecto a la Base0. pos1 es un vector respecto a la Base1. El vector correspondiente respecto a la Base0 se obtendr por el producto: VAR pose pose1; VAR pos pos1; VAR pos pos2; . . pos2:= PoseVect(pose1, pos1);

Valor de retorno
El valor del producto de la pose y de la pos original.

Tipo de dato: pos

Gua de Referencia RAPID

9-PoseVect-1

Argumentos PoseVect
Pose La transformacin que se desea aplicar. Pos La pos que se desea transformar. Tipo de dato: pos

(Pose Pos)
Tipo de dato: pose

Sintaxis
PoseVect( [Pose :=] <expresin (IN) de pose> , [Pos :=] <expresin (IN) de pos> ) Una funcin con un valor de retorno del tipo de dato pos.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-PoseVect-2

Gua de Referencia RAPID

Pow

Clculo de la potencia de un valor


Pow (Power) sirve para calcular el valor exponencial en cualquier base.

Ejemplo
VAR num x; VAR num y VAR num reg1; . reg1:= Pow(x, y); reg1 tiene asignado el valor xy.

Valor de retorno

Tipo de dato: num

El valor de la base x elevado a la potencia del exponente y ( xy ).

Argumentos Pow
Base El valor del argumento de la base. Exponente El valor del argumento del exponente. Tipo de dato: num

(Base Exponente)
Tipo de dato: num

Limitaciones
La ejecucin de la funcin xy dar como resultado un error si: . x < 0 y adems "y" no es un nmero entero; . x = 0 y adems "y" 0.

Sintaxis
Pow( [Base :=] <expresin (IN) de num> , [Exponente :=] <expresin (IN) de num> ) Gua de Referencia RAPID 9-Pow-1

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

9-Pow-2

Gua de Referencia RAPID

Present

Comprobacin de la utilizacin de un parmetro opcional

Present sirve para comprobar si se ha utilizado un argumento opcional al llamar una rutina. Un parmetro opcional puede no ser utilizado si no ha sido especificado al llamar la rutina. Esta funcin puede usarse para comprobar si un parmetro ha sido especificado, a fin de evitar que se produzcan errores.

Ejemplo
PROC aliment (\switch on | \switch off) IF Present (on) Set do1; IF Present (off) Reset do1; ENDPROC La salida do1, que controla una alimentacin, ser activada o desactivada dependiendo del argumento utilizado al llamar la rutina.

Valor de Retorno

Tipo de dato: bool

TRUE = El valor del parmetro ha sido definido al llamar la rutina. FALSE = No ha sido definido ningn valor de parmetro.

Argumentos Present (ParOpc)


Tipo de dato: Cualquier tipo

ParOpc (Parmetro opcional)

El nombre del parmetro opcional que se desea comprobar.

Gua de Referencia RAPID

9-Present-1

Ejemplo
PROC cola (\switch on, num flujocola, robtarget alpunto, speeddata velocidad, zonedata zona, PERS tooldata herram, \PERS wobjdata wobj) IF Present (on) PulseDO activ_cola; SetAO seal_cola, flujocola; IF Present (wobj) THEN MoveL alpunto, velocidad, zona, herram\WObj=wobj; ELSE MoveL alpunto, velocidad, zona, herram; ENDIF ENDPROC Se ha concebido una rutina de aplicacin de adhesivo. Si el argumento \on ha sido especificado al llamar la rutina, se generar un pulso en la seal activ_cola. El robot activar entonces una salida analgica seal_cola, que controla la pistola de aplicacin de adhesivo, y se mover a la posicin final. Dado que el parmetro wobj es opcional, se utilizarn diferentes instrucciones MoveL dependiendo de si se usa este argumento o no.

Sintaxis
Present ( [ParOpc:=] <referencia (REF) de cualquier tipo> ) Un parmetro REF requerir en este caso, el nombre del parmetro opcional. Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en: Parmetros de rutina Caractersticas Bsicas - Rutinas

9-Present-2

Gua de Referencia RAPID

ReadBin

Lectura a partir de un canal serie binario

ReadBin (Read Binary) sirve para leer un byte (8 bits) a partir de un canal serie binario.

Ejemplo
VAR iodev canalEnt; . Open "sio1:", canalEnt\Bin; carcter := ReadBin(canalEnt); Un byte ser ledo a partir de un canal binario canalEnt.

Valor de retorno

Tipo de dato: num

Un byte (8 bits) es ledo a partir de un canal serie especificado. Este byte ser convertido en el valor numrico positivo correspondiente. En el caso en que el archivo est vaco (final del archivo), el sistema devolver el nmero -1.

Argumentos ReadBin (DispositivoE/S [\Time])


DispositivoE/S Es el nombre (referencia) del canal serie utilizado. [\Time] Tipo de dato: num Tipo de dato: iodev

Es el tiempo mximo permitido para la operacin de lectura (excedido) en segundos. En el caso en que este argumento no haya sido especificado, el tiempo mximo estar fijado a 60 segundos. En el caso en que este tiempo haya transcurrido antes de que se haya terminado la operacin de lectura, el sistema llamar al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. En el caso en que no haya ningn gestor de errores, la ejecucin del programa ser detenida. La funcin (timeout) de tiempo excedido es operativa tambin durante el paro del programa y ser observable en un programa RAPID al arranque del programa.

Gua de Referencia RAPID

9-ReadBin-1

Ejecucin del programa


La ejecucin del programa espera hasta que un byte (8 bits) pueda ser ledo a partir de un canal serie binario.

Limitaciones
La funcin slo podr ser utilizada para los canales que hayan sido abiertos para la lectura y la escritura binarias.

Gestin de errores
En caso de ocurrir un error durante la lectura, la variable del sistema ERRNO se activar en ERR_FILEACC. Este error podr luego ser procesado en el gestor de errores.

Sintaxis
ReadBin( [Dispositivo E/S :=] <variable (VAR) de iodev> [\Time:= <expresin (IN) de num>]) Un funcin con un valor de retorno del tipo num.

Informacin relacionada
Descrita en: Apertura (etc.) de canales serie Resumen RAPID - Comunicacin

9-ReadBin-2

Gua de Referencia RAPID

ReadMotor

Lectura de los ngulos del motor actuales

ReadMotor sirve para leer los ngulos utilizados de los diferentes motores del robot y de los ejes externos. Esta funcin se usa fundamentalmente en el procedimiento de calibracin del robot.

Ejemplo
VAR num motor_angle2; motor_angle2 := ReadMotor(2); El ngulo del motor utilizado del segundo eje del robot ser almacenado en motor_angle2.

Valor de retorno

Tipo de dato: num

El ngulo actual del motor expresado en radianes para un eje especificado del robot o de los ejes externos.

Argumentos ReadMotor [\MecUnit ] Axis


UnitMec (Unidad Mecnica) Tipo de dato: mecunit

Es el nombre de la unidad mecnica para la que se debe leer un eje. En el caso en que se omita este argumento, se leer el eje del robot. Eje Es el nmero del eje que se debe leer (1 - 6). Tipo de dato: num

Ejecucin del programa


El ngulo del motor devuelto indica la posicin actual, en radianes, del motor e independientemente de cualquier offset de calibracin. El valor no se refiere a una posicin fija del robot sino nicamente a la posicin cero interna del resolver, es decir, normalmente la posicin cero del resolver ms prxima de la posicin de calibracin (la diferencia entre la posicin cero del resolver y la posicin de calibracin es el valor offset de la calibracin). El valor representa el movimiento completo de cada eje, incluso si se trata de varias vueltas.

Gua de Referencia RAPID

9-ReadMotor-1

Ejemplo
VAR num motor_angle3; motor_angle3 := ReadMotor(\MecUnit:=robot, 3); El ngulo actual del motor para el tercer eje del robot ser almacenado en motor_angle3.

Sintaxis
ReadMotor( [\MecUnit := < variable (VAR) de mecunit>,] [Axis := ] < expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrita en: Lectura del ngulo actual del eje Funciones - CJointT

9-ReadMotor-2

Gua de Referencia RAPID

ReadNum

Lectura de un nmero a partir de un archivo o de un canal serie

ReadNum (Read Numeric) sirve para leer un nmero a partir de un archivo de caracteres o de un canal serie.

Ejemplo
VAR iodev enarchiv; . Open "flp1:archiv.doc", enarchiv\Read; reg1 := ReadNum(enarchiv); Reg1 tiene asignado un nmero ledo en el archivo archiv.doc del disquete.

Valor de retorno

Tipo de dato: num

Es el valor numrico ledo de un archivo especfico. Si el archivo est vaco (final de archivo), el nmero 9.999E36 ser devuelto.

Argumentos ReadNum
DispositivoE/S

(DispositivoE/S [\Time])
Tipo de dato: iodev

Es el nombre (referencia) del archivo que se desea leer. [\Time] Tipo de dato: num

Es el tiempo mximo permitido para la operacin de lectura (excedido) en segundos. En el caso en que no se haya especificado este argumento, el tiempo mximo estar fijado a 60 segundos. En el caso en que este tiempo haya transcurrido antes de que la operacin de lectura se haya terminado, el sistema llamar al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. En el caso en que no haya ningn gestor de errores, la ejecucin ser detenida. La funcin (timeout) de tiempo excedido es operativa tambin durante el paro del programa y podr observarse en el programa RAPID al arranque del programa.

Gua de Referencia RAPID

9-ReadNum-1

Ejecucin del programa


La funcin lee una lnea de un archivo, es decir, lee todo hasta el retorno del carro (salto de lnea, LF) siguiente inclusive, pero no exceder los 80 caracteres. En el caso en que la lnea exceda los 80 caracteres, los caracteres restantes sern ledos a la siguiente lectura. La cadena que ha sido leda ser convertida posteriormente en un valor numrico; por ejemplo, 234,4 ser convertida en el valor numrico 234,4. En el caso en que todos los caracteres no sean cifras, el sistema devolver cero.

Ejemplo
reg1 := ReadNum(enarchiv); IF reg1 > EOF_NUM THEN TPWrite "El archivo est vaco" .. Antes de utilizar el nmero ledo de un archivo, se realizar una comprobacin para asegurarse de que el archivo no est vaco.

Limitaciones
La funcin slo podr utilizarse para los archivos que hayan sido abiertos para la lectura.

Gestin de errores
Si ocurre un error de acceso durante la lectura, la variable del sistema ERRNO se activar en ERR_FILEACC. Si se realiza un intento de lectura de datos no numricos, la variable del sistema ERRNO pasar a ser ERR_RCVDATA. Estos errores podrn ser procesados posteriormente en el gestor de errores.

Datos predefinidos
La constante EOF_NUM podr utilizarse para detener la lectura al final del archivo. CONST num EOF_NUM := 9.998E36;

Sintaxis
ReadNum ( [DispositivoE/S :=] <variable (VAR) de iodev>) [\Time := <expresin (IN) de num>]) 9-ReadNum-2 Gua de Referencia RAPID

Una funcin con un valor de retorno del tipo num.

Informacin relacionada
Descrita en: Apertura (etc.) de los canales serie Resumen RAPID - Comunicacin

Gua de Referencia RAPID

9-ReadNum-3

9-ReadNum-4

Gua de Referencia RAPID

ReadStr

Lectura de una cadena a partir de un archivo o de un canal serie

ReadStr (Read String) sirve para leer texto a partir de un archivo de caracteres o de un canal serie.

Ejemplo
VAR iodev enarchiv; . Open "flp1:archiv.doc", enarchiv\Read; text := ReadStr(enarchiv); Text tiene asignado una cadena de texto leda del archivo archiv.doc en el disquete.

Valor de Retorno

Tipo de dato: string

La cadena de texto leda a partir del archivo especificado. Si el archivo est vaco (final del archivo), la cadena "EOF" ser devuelta.

Argumentos ReadStr (DispositivoE/S [\Time])


Tipo de dato: iodev

DispositivoE/S

Es el nombre (referencia) del archivo que se desea leer. [\Time] Tipo de dato: num

Es el tiempo mximo permitido para la operacin de lectura (excedido) en segundos. En el caso en que no se haya especificado este argumento, el tiempo mximo estar fijado a 60 segundos. En el caso en que este tiempo haya transcurrido antes de que la operacin de lectura se haya terminado, el sistema llamar al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. En el caso en que no haya ningn gestor de errores, la ejecucin ser detenida.

Ejecucin del programa


La funcin lee una lnea de un archivo, es decir, lee todo hasta el retorno de carro (salto de lnea, LF) siguiente inclusive, pero no exceder los 80 caracteres. En el caso en que la lnea exceda los 80 caracteres, los caracteres restantes sern ledos a la siguiente lectura. Gua de Referencia RAPID 9-ReadStr-1

Ejemplo
text := ReadStr(enarchiv); IF text = EOF THEN TPWrite "El archivo est vaco"; . Antes de utilizar la cadena leda del archivo, se realizar una comprobacin para asegurarse de que el archivo no est vaco.

Limitaciones
La funcin slo podr utilizarse para archivos que hayan sido abiertos para la lectura.

Gestin de errores
Si ocurre un error durante la lectura, la variable del sistema ERRNO se activar en ERR_FILEACC. Este error podr ser procesado posteriormente en el gestor de errores.

Datos predefinidos
La constante EOF podr utilizarse para comprobar si el archivo estaba vaco en el momento de la lectura del archivo o para detener la lectura al final del archivo. CONST string EOF := "EOF";

Sintaxis
ReadStr ( [DispositivoE/S :=] <variable (VAR) of iodev>) [\Time := <expresin (IN) de num>]) Una funcin con un valor de retorno del tipo num.

Informacin relacionada
Descrita en: Apertura (etc.) de los canales serie Resumen RAPID - Comunicacin

9-ReadStr-2

Gua de Referencia RAPID

RelTool

Ejecucin de un desplazamiento relativo a la herramienta

RelTool (Relative Tool) sirve para aadir a una posicin del robot un desplazamiento y/o una rotacin, expresados en el sistema de coordenadas de la herramienta.

Ejemplo
MoveL RelTool (p1, 0, 0, 100), v100, fine, herram1;

El robot se mueve a una posicin que se encuentra a 100 mm del punto p1 en la direccin de la herramienta. MoveL RelTool (p1, 0, 0, 0 \Rz:= 25), v100, fine, herram1;

La herramienta ser girada 25o en torno al eje z-.

Valor de retorno

Tipo de dato: robtarget

La nueva posicin con la adicin de un desplazamiento y/o de una posible rotacin, relativos a la herramienta utilizada.

Argumentos RelTool
Punto

(Punto

Dx Dy Dz

[\Rx]

[\Ry]

[\Rz])
Tipo de dato: robtarget

Es la posicin de entrada del robot. La parte de orientacin de esta posicin define la orientacin utilizada del sistema de coordenadas de la herramienta. Dx Tipo de dato: num Es el desplazamiento expresado en mm en la direccin x del sistema de coordenadas de la herramienta. Dy Tipo de dato: num Es el desplazamiento expresado en mm en la direccin y del sistema de coordenadas de la herramienta. Dz Tipo de dato: num Es el desplazamiento expresado en mm en la direccin z del sistema de coordenadas de la herramienta.

Gua de Referencia RAPID

9-RelTool-1

[\Rx]

Tipo de dato: num Es la rotacin expresada en grados en torno al eje x del sistema de coordenadas de la herramienta.

[\Ry]

Tipo de dato: num Es la rotacin expresada en grados en torno al eje y del sistema de coordenadas de la herramienta.

[\Rz]

Tipo de dato: num Es la rotacin expresada en grados en torno al eje z del sistema de coordenadas de la herramienta.

En el caso en que se hayan especificado dos o tres rotaciones al mismo tiempo, ello se llevar a cabo en primer lugar en torno al eje x, luego en torno al eje y nuevo, y luego en torno al eje z nuevo.

Sintaxis
RelTool( [ Punto:= ] < expresin (IN) de robtarget>, [Dx :=] <expresin (IN) de num> , [Dy :=] <expresin (IN) de num> , [Dz :=] <expresin (IN) de num> [\Rx := <expresin (IN) de num> ] [\Ry := <expresin (IN) de num> ] [\Rz := <expresin (IN) de num> ]) Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Instrucciones de posicionamiento Resumen RAPID - Matemticas Resumen RAPID - Movimiento

9-RelTool-2

Gua de Referencia RAPID

Round

Round es un valor numrico


Round sirve para redondear un valor numrico a un nmero especificado de decimales o a un valor entero.

Ejemplo
VAR num val; val := Round(0,38521\Dec:=3); La variable val toma el valor de 0,385. val := Round(0,38521\Dec:=1); La variable val toma el valor de 0,4. val := Round(0,38521); La variable val toma el valor de 0.

Valor de retorno

Tipo de dato: num

Es el valor numrico redondeado al nmero especificado de decimales.

Argumentos Round
Val

( Val [\Dec])
(Valor) Tipo de dato: num

Es el valor numrico que se desea redondear. [\Dec] (Decimales) Tipo de dato: num

Es el nmero de decimales. En el caso en que el nmero especificado de decimales sea 0 o si se omite el argumento, el valor ser redondeado a un nmero entero. El nmero de decimales no deber ser negativo o mayor que la precisin disponible para el valor numrico.

Gua de Referencia RAPID

9-Round-1

Sintaxis
Round( [ Val := ] <expresin (IN) de num> [ \Dec := <expresin (IN) de num> ] ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Forma de truncar un valor Resumen RAPID - Matemticas Funciones - Trunc

9-Round-2

Gua de Referencia RAPID

RunMode

Lectura del modo de funcionamiento

RunMode (Running Mode) sirve para leer el modo de funcionamiento utilizado del sistema.

Ejemplo
IF RunMode() = RUN_CONT_CYCLE THEN . . ENDIF La seccin del programa ser ejecutada nicamente para una ejecucin continua o cclica.

Valor de retorno

Tipo de dato: symnum

El modo de funcionamiento utilizado se indica segn est definido en la tabla que se muestra a continuacin.
Valor de retorno 0 1 Constante simblica RUN_UNDEF RUN_CONT_CYCLE Comentario Modo de funcionamiento no definido Modo de funcionamiento cclico o continuo Modo de funcionamiento instruccin hacia adelante Modo de funcionamiento instruccin hacia atrs Modo de funcionamiento simulado

RUN_INSTR_FWD

RUN_INSTR_BWD

RUN_SIM

Sintaxis
RunMode( ) Una funcin con un valor de retorno del tipo de dato symnum.

Informacin relacionada
Descrita en: Lectura del modo de operacin Funciones - OpMode

Gua de Referencia RAPID

9-RunMode-1

9-RunMode-2

Gua de Referencia RAPID

Sin

Clculo del valor del seno


Sin (Sine) sirve para calcular el valor del seno a partir de un valor de un ngulo.

Ejemplo
VAR num angulo; VAR num valor; . . valor:= Sin(angulo);

Valor de retorno
El valor del seno, comprendido entre [-1, 1] .

Tipo de dato: num

Argumentos Sin (Angulo)


Angulo El valor del ngulo, expresado en grados. Tipo de dato: num

Sintaxis
Sin( [Angulo:=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-Sin-1

9-Sin-2

Gua de Referencia RAPID

Sqrt

Clculo del valor de la raz cuadrada


Sqrt (Square root) sirve para calcular el valor de la raz cuadrada.

Ejemplo
VAR num x_valor; VAR num y_valor; . . y_valor := Sqrt( x_valor);

Valor de retorno
El valor de la raz cuadrada.

Tipo de dato: num

Argumentos Sqrt
Valor El valor del argumento para la raz cuadrada (

(Valor)
Tipo de dato: num ); tiene que ser
0.

Sintaxis
Sqrt( [Valor:=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas

Gua de Referencia RAPID

9-Sqrt-1

9-Sqrt-2

Gua de Referencia RAPID

StrFind

Bsqueda de un carcter en una cadena

StrFind (String Find) sirve para realizar la bsqueda en una cadena de texto, empezando en una posicin especfica, de un carcter que constituye un elemento de un grupo especfico de caracteres.

Ejemplo
VAR num found; found := StrFind("Robotics",1,"aeiou"); La variable found toma el valor 2. found := StrFind("Robotics",1,"aeiou"\NotInSet); La variable found toma el valor 1. found := StrFind("IRB 6400",1,STR_DIGIT); La variable found toma el valor 5. found := StrFind("IRB 6400",1,STR_WHITE); La variable found toma el valor 4.

Valor de retorno

Tipo de dato: num

La posicin de carcter del primer carcter en o despus de la posicin especificada, que sea un elemento del grupo especificado. En el caso en que no hubiera dicho carcter, se devolver la longitud de la cadena +1.

Argumentos StrFind
Str

(Str ChPos Set [\NotInSet])


(Cadena) Tipo de dato: string

La cadena en la que hay que realizar la bsqueda. ChPos (Posicin del Carcter) Tipo de dato: num

Es el inicio de la bsqueda de la posicin del carcter. Se generar un error de ejecucin si la posicin se encuentra fuera de la cadena.

Gua de Referencia RAPID

9-StrFind-1

Set Es el grupo de caracteres que tiene ser analizado. [\NotInSet]

Tipo de dato: string

Tipo de dato: switch

Indica la bsqueda de un carcter que no se encuentra en el grupo de caracteres.

Sintaxis
StrFind( [ Str := ] <expresin (IN) de string> , [ ChPos := ] <expresin (IN) de num> , [ Set:= ] <expresin (IN) de string> [ \NotInSet ] ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadenas Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrFind-2

Gua de Referencia RAPID

StrLen

Obtencin de la longitud de la cadena


StrLen (String Length) sirve para encontrar la longitud actual de una cadena.

Ejemplo
VAR num len; len := StrLen("Robotics"); La variable len toma el valor de 8.

Valor de retorno
Es el nmero de caracteres dentro de la cadena (>=0).

Tipo de dato: num

Argumentos StrLen
Str

(Str)
(Cadena) Tipo de dato: string

Es la cadena en la que hay que contar el nmero de caracteres.

Sintaxis
StrLen( [ Str := ] <expresin (IN) de string> ) Una funcin con un valor de retorno del tipo de dato num.

Gua de Referencia RAPID

9-StrLen-1

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrLen-2

Gua de Referencia RAPID

StrMap

Mapa de una cadena

StrMap (String Mapping) sirve para crear una copia de una cadena en la que todos los caracteres son trasladados de acuerdo con una disposicin especfica de mapa.

Ejemplo
VAR string str; str := StrMap("Robotics","aeiou","AEIOU"); La variable str toma el valor "RObOtIcs". str := StrMap("Robotics",STR_LOWER, STR_UPPER); La variable str toma el valor "ROBOTICS".

Valor de retorno

Tipo de dato: string

La cadena es creada por traslacin de los caracteres de una cadena especfica segn lo especifican las cadenas "desde (from)" y "a (to)". Cada carcter de la cadena especificada, que se encuentre en la cadena "desde (from)" ser sustituido por el carcter en la posicin correspondiente en la cadena "a (to)". Los caracteres para los que no se ha definido ningn mapa sern copiados de forma idntica en la cadena resultante.

Argumentos StrMap
Str

( Str FromMap ToMap)


(Cadena) Tipo de dato: string

La cadena que se desea trasladar. FromMap Componente de ndice de la cadena. ToMap Componente de valor de la cadena. Tipo de dato: string Tipo de dato: string

Gua de Referencia RAPID

9-StrMap-1

Sintaxis
StrMap( [ Str := ] <expresin (IN) de string> , [ FromMap:= ] <expresin (IN) de string> , [ ToMap:= ] <expresin (IN) de string> ) Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrMap-2

Gua de Referencia RAPID

StrMatch

Bsqueda de una estructura en una cadena

StrMatch (String Match) sirve para buscar una estructura especfica dentro de una cadena, empezando desde una posicin especfica.

Ejemplo
VAR num found; found := StrMatch("Robotics",1,"bo"); La variable found toma el valor de 3.

Valor de retorno

Tipo de dato: num

La posicin del carcter de la primera subcadena, en la posicin especificada o despus de ella, que corresponda con la estructura de cadena especificada. En el caso en que no se encuentre ninguna subcadena, el sistema devolver la longitud de cadena +1.

Argumentos StrMatch
Str

(Str ChPos Pattern)


(Cadena) Tipo de dato: string

La cadena en la que hay que buscar. ChPos (Posicin del carcter) Tipo de dato: num

Inciar la bsqueda de la posicin del carcter. Se producir un error de ejecucin si la posicin se encuentra fuera de la cadena. Pattern Es la estructura de cadena que hay que buscar. Tipo de dato: string

Sintaxis
StrMatch( [ Str := ] <expresin (IN) de string> , [ ChPos := ] <expresin (IN) de num> , [ Pattern:= ] <expresin (IN) de string> )

Gua de Referencia RAPID

9-StrMatch-1

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrMatch-2

Gua de Referencia RAPID

StrMembComprobar si un carcter pertenece a un conjunto


StrMemb (String Member) sirve para comprobar si un carcter especfico dentro de una cadena pertenece a un conjunto especfico de caracteres.

Ejemplo
VAR bool memb; memb := StrMemb("Robotics",2,"aeiou"); La variable memb toma el valor TRUE, ya que o es un miembro del conjunto "aeiou". memb := StrMemb("Robotics",3,"aeiou"); La variable memb toma el valor FALSE, ya que b no es un miembro del conjunto "aeiou". memb := StrMemb("S-721 68 VSTERS",3,STR_DIGIT); La variable memb toma el valor TRUE.

Valor de retorno

Tipo de dato: bool

TRUE en el caso en que el carcter en la posicin especificada de la cadena especfica pertenece al conjunto especfico de caracteres.

Argumentos StrMemb
Str

(Str ChPos Set)


(Cadena) Tipo de dato: string

La cadena en la cual se debe realizar la comprobacin. ChPos (Posicin del carcter) Tipo de dato: num

La posicin del carcter que debe ser comprobada. Se generar un error de ejecucin si la posicin se encuentra fuera de la cadena. Set Conjunto de caracteres que deben ser comprobados. Tipo de dato: string

Gua de Referencia RAPID

9-StrMemb-1

Sintaxis
StrMemb( [ Str := ] <expresin (IN) de string> , [ ChPos := ] <expresin (IN) de num> , [ Set:= ] <expresin (IN) de string> ) Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de datos - string Caractersticas Bsicas Elementos Bsicos

9-StrMemb-2

Gua de Referencia RAPID

StrOrder Comprobar si las cadenas estn ordenadas


StrOrder (String Order) sirve para comprobar el orden de dos cadenas de acuerdo con una secuencia de orden de caracteres especfica.

Ejemplo
VAR bool le; le := StrOrder("FIRST","SECOND",STR_UPPER); La variable le toma el valor TRUE, porque "FIRST" viene antes de "SECOND" en la secuencia de orden de caracteres STR_UPPER.

Valor de retorno

Tipo de dato: bool

TRUE en el caso en que la primera cadena venga antes de la segunda cadena (Str1 <= Str2) cuando los caracteres estn ordenados segn se ha especificado. Se considerar que los caracteres que no estn incluidos en el orden definido, seguirn los que estn presentes.

Argumentos StrOrder
Str1

( Str1 Str2 Order)


(Cadena 1) Tipo de dato: string

Es el primer valor de cadena. Str2 (Cadena 2) Es el segundo valor de cadena. Order Es la secuencia de caracteres que define el orden. Tipo de dato: string Tipo de dato: string

Gua de Referencia RAPID

9-StrOrder-1

Sintaxis
StrOrder( [ Str1 := ] <expresin (IN) de string> , [ Str2 := ] <expresin (IN) de string> , [ Order := ] <expresin (IN) de string> ) Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrita en: Funciones de las cadensa Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrOrder-2

Gua de Referencia RAPID

StrPart

Obtencin de una parte de una cadena

StrPart (String Part) sirve para tomar una parte de una cadena y considerarla como una cadena nueva.

Ejemplo
VAR string part; part := StrPart("Robotics",1,5); La variable part toma el valor "Robot".

Valor de retorno

Tipo de dato: string

Es la subcadena de la cadena especificada, que tiene la longitud especfica y que empieza en la posicin de carcter especificada.

Argumentos StrPart
Str

(Str ChPos Len)


(Cadena) Tipo de dato: string

La cadena de la que se tomar una parte. ChPos (Posicin del carcter) Tipo de dato: num

Empieza la bsqueda de la posicin del carcter. Se producir un error de ejecucin si la posicin se encuentra fuera de la cadena. Len (Longitud) Tipo de dato: num

Es la longitud de la porcin de la cadena. Se producir un error de ejecucin cuando la longitud sea negativa o mayor que la longitud de la cadena, o si la subcadena se encuentra (parcialmente) fuera de la cadena.

Sintaxis
StrPart( [ Str := ] <expresin (IN) de string> , [ ChPos := ] <expresin (IN) de num> , [ Len:= ] <expresin (IN) de num> )

Gua de Referencia RAPID

9-StrPart-1

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrPart-2

Gua de Referencia RAPID

StrToVal

Conversin de una cadena en un valor numrico

StrToVal (String To Value) sirve para convertir una cadena en un valor de cualquier tipo de dato.

Ejemplo
VAR bool ok; VAR num nval; ok := StrToVal("3.85",nval); La variable ok toma el valor TRUE y nval toma el valor de 3,85.

Valor de retorno

Tipo de dato: bool

TRUE en el caso en que la conversin requerida haya sido satisfactoria, de lo contrario, ser FALSE.

Argumentos StrToVal
Str

( Str Val )
(Cadena) Tipo de dato: string

Un valor de cadena que contiene datos literales con un formato que corresponde al tipo de dato utilizado en el argumento Val. El formato es vlido como para los agregados literales en RAPID. Val (Valor) Tipo de dato: CUALQUIER TIPO

Es el nombre de la variable o del dato persistente de cualquier tipo para el almacenamiento del resultado de la conversin. El dato permanecer el mismo en el caso en que la conversin requerida haya fallado.

Ejemplo
VAR string 15 := [600, 500, 225.3]; VAR bool ok; VAR pos pos15; ok := StrToVal(str15,pos15);

Gua de Referencia RAPID

9-StrToVal-1

La variable ok adoptar el valor TRUE y la variable p15 adoptar el valor que est especificado en la cadena str15.

Sintaxis
StrToVal( [ Str := ] <expresin (IN) de string> , [ Val := ] <var o pers (INOUT) de CUALQUIER TIPO> ) Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-StrToVal-2

Gua de Referencia RAPID

Tan

Clculo del valor de la tangente


Tan (Tangente) sirve para calcular el valor de la tangente a partir de un valor de ngulo.

Ejemplo
VAR num angulo; VAR num valor; . . valor := Tan(angulo);

Valor de retorno
El valor de la tangente.

Tipo de dato: num

Argumentos Tan
Angulo El valor del ngulo, expresado en grados.

(Angulo)
Tipo de dato: num

Sintaxis
Tan( [Angulo :=] <expresin (IN) de num> ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Tangente del arco con valor de retorno comprendido entre [-180, 180] Resumen RAPID - Matemticas Funciones - ATan2

Gua de Referencia RAPID

9-Tan-1

9-Tan-2

Gua de Referencia RAPID

TestDI

Comprobacin de la activacin de una entrada digital


TestDI sirve para comprobar si una entrada digital est activada.

Ejemplos
IF TestDI (di2) THEN . . . Si el valor actual de la seal di2 es igual a 1, entonces . . . IF NOT TestDI (di2) THEN . . . Si el valor actual de la seal di2 es igual a 0, entonces . . . WaitUntil TestDI(di1) AND TestDI(di2); La ejecucin del programa continua nicamente despus de que las entradas di1 y di2 hayan sido activadas.

Valor de Retorno
TRUE = El valor actual de la seal es igual a 1. FALSE = El valor actual de la seal es igual a 0.

Tipo de dato: bool

Argumentos TestDI (Seal)


Seal El nombre de la seal que se desea comprobar. Tipo de dato: signaldi

Sintaxis
TestDI ( [ Seal := ] < variable (VAR) of signaldi > ) Una funcin con un valor de retorno del tipo de dato bool.

Gua de Referencia RAPID

9-TestDI-1

Informacin relacionada
Descrito en: Lectura del valor de una seal de entrada digital Instrucciones de Entrada/Salida Funciones - DInput Resumen RAPID Seales de Entrada y Salida

9-TestDI-2

Gua de Referencia RAPID

Trunc

Truncar un valor numrico


Trunc (Truncate) sirve para truncar un valor numrico a un nmero especificado de decimales o a un nmero entero.

Ejemplo
VAR num val; val := Trunc(0,38521\Dec:=3); La variable val toma el valor de 0,385. reg1 := 0,38521 val := Trunc(reg1\Dec:=1); La variable val toma el valor de 0,3. val := Trunc(0,38521); La variable val toma el valor de 0.

Valor de retorno

Tipo de dato: num

El valor numrico truncado al nmero especificado de decimales.

Argumentos Trunc ( Val [\Dec] )


Val (Valor) El valor numrico que debe ser truncado. [\Dec] (Decimales) Tipo de dato: num Tipo de dato: num

Es el nmero de decimales. En el caso en que el nmero especificado de decimales sea 0 o si se omite el argumento, el valor ser truncado a un valor entero. El nmero de decimales no deber ser negativo ni mayor que la precisin disponible para los valores numricos.

Gua de Referencia RAPID

9-Trunc-1

Sintaxis
Trunc( [ Val := ] <expresin (IN) de num> [ \Dec := <expresin (IN) de num> ] ) Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrita en: Instrucciones y funciones matemticas Redondear un valor Resumen RAPID - Matemticas Funciones - Round

9-Trunc-2

Gua de Referencia RAPID

ValToStr

Conversin de un valor en una cadena

ValToStr (Value To String) sirve para convertir un valor de cualquier tipo de dato en una cadena.

Ejemplo
VAR string str; VAR pos p := [100,200,300]; str := ValToStr(1,234567); La variable str toma el valor de "1,234567". str := ValToStr(TRUE); La variable str toma el valor de "TRUE". str := ValToStr(p); La variable str toma el valor de "[100,200,300]".

Valor de retorno

Tipo de dato: string

El valor convertido en una cadena con el formato RAPID estndar. Ello significa en principio que los nmeros decimales son redondeados a cinco decimales, pero no debern tener ms que 6 cifras. Se producir un error de ejecucin si la cadena resultante es demasiado larga.

Argumentos ValToStr
Val

( Val )
(Valor) Tipo de dato: ANYTYPE

Un valor de cualquier tipo de dato.

Sintaxis
ValToStr( [ Val := ] <expresin (IN) de ANYTYPE> ) Una funcin con un valor de retorno del tipo de dato string.

Gua de Referencia RAPID

9-ValToStr-1

Informacin relacionada
Descrita en: Funciones de las cadenas Definicin de una cadena Valores de las cadenas Resumen RAPID - Funciones de cadena Tipos de Datos - string Caractersticas Bsicas Elementos Bsicos

9-ValToStr-2

Gua de Referencia RAPID

INDICE
Pgina 1 Mdulo User del Sistema ................................................................................................ 1.1 Contenido ..................................................................................................................... 1.2 Creacin de nuevos datos en este mdulo.................................................................... 1.3 Eliminacin de estos datos ........................................................................................... 3 3 3 4

Gua de Referencia RAPID

10-1

10-2

Gua de Referencia RAPID

1 Mdulo User del Sistema


Con vistas a facilitar la programacin, el sistema dispone de una serie de datos predefinidos que son suministrados con el robot. Estos datos no deben ser creados y por lo tanto, podrn usarse directamente. Utilizando estos datos, la programacin inicial ser ms fcil. Sin embargo, se recomienda al usuario que atribuya sus propios nombres a los datos que desea utilizar a fin de que el programa sea ms fcil de leer.

1.1 Contenido
El mdulo User comprende cinco datos numricos (registros), un dato del objeto de trabajo, un reloj y dos valores simblicos para las seales digitales. Nombre reg1 reg2 reg3 reg4 reg5 wobj1 clock1 high low Tipo de dato num . . . num wobjdata clock dionum dionum Declaracin VAR num reg1:=0 . . . VAR num reg5:=0 PERS wobjdata wobj1:=wobj0 VAR clock clock1 CONST dionum high:=1 CONST dionum low:=0

User es un mdulo del sistema, lo cual significa que siempre est presente en la memoria de robot, independientemente del programa que est cargado.

1.2 Creacin de nuevos datos en este mdulo


Este mdulo puede ser utilizado para crear aquellos datos y rutinas que deben permanecer siempre presentes en la memoria del programa, independientemente de qu programa ha sido cargado, por ejemplo, las herramientas y rutinas de servicio. Seleccionar la funcin Ver: Mdulos de la ventana de Programa. Seleccionar el mdulo del sistema User y apretar la tecla Retorno . Cambiar, crear datos y rutinas siguiendo el procedimiento normal (referirse al apartado de Programacin y Prueba).

Gua de Referencia RAPID

10-3

1.3 Eliminacin de estos datos


Atencin: Si se borra el mdulo, la instruccin CallByVar no funcionar. Para eliminar todos los datos (es decir, el mdulo entero): Seleccionar la funcin Ver: Mdulos de la ventana de Programa. Seleccionar el mdulo User. Pulsar la tecla Borrar .

Para cambiar o eliminar datos individuales: Seleccionar la funcin Ver: Datos de la ventana de Programa. Seleccionar Datos: En todos los mdulos. Seleccionar los datos deseados. Si no aparecen indicados, pulsar la tecla de funcin Tipos para seleccionar el tipo de datos correcto. Cambiar o eliminar siguiendo el procedimiento normal (referirse al apartado de Programacin y Prueba).

10-4

Gua de Referencia RAPID

INDICE
Pgina 1 Programacin Off-line .................................................................................................... 1.1 Formato de los archivos......................................................................................... 1.2 Edicin................................................................................................................... 1.3 Comprobacin de la sintaxis.................................................................................. 1.4 Ejemplos ................................................................................................................ 1.5 Creacin de instrucciones propias del usuario ...................................................... 3 3 3 3 4 5

Gua de Referencia RAPID

11-1

11-2

Gua de Referencia RAPID

Programacin Off-line
1 Programacin Off-line
Los programas en RAPID podrn ser fcilmente creados, mantenidos y almacenados en un ordenador normal. Toda la informacin podr ser leda y cambiada directamente mediante un editor de texto normal. Este captulo explica el procedimiento que se debe seguir para conseguirlo. Adems de la programacin off-line, se podr utilizar la herramienta de computador QuickTeach.

1.1 Formato de los archivos El robot almacena y lee los programas RAPID en el formato TXT (ASCII) y es capaz de manipular tanto formatos DOS como UNIX. Si el usuario utiliza un procesador de textos para editar los programas, stos debern almacenarse en el formato TXT (ASCII) antes de poder ser utilizados en el robot.

1.2 Edicin Cuando el programa es creado o modificado en un procesador de textos, toda la informacin ser manipulada bajo la forma de texto. Esto significa que la informacin referente a datos y rutinas diferir un poco respecto a lo que aparece visualizado en la unidad de programacin. Tngase en cuenta que el valor de una posicin almacenada aparecer visualizada como un * en la unidad de programacin, mientras que el archivo de texto contendr el valor de la posicin utilizado (x, y, z, etc.). En vistas a minimizar el riesgo de errores en la sintaxis (programas defectuosos), es aconsejable que el usuario utilice una plantilla o modelo. Dicho modelo puede tener la forma de un programa creado previamente en el robot o mediante QuickTeach. Estos programas pueden ser ledos directamente por un procesador de textos sin tener que ser convertidos.

1.3 Comprobacin de la sintaxis Los programas debern ser sintcticamente correctos antes de ser cargados en el robot. Esto significa que el texto debe seguir las normas fundamentales del lenguaje RAPID. Se deber utilizar uno de los siguientes mtodos para detectar los errores del texto: Guardar el archivo en un disquete e intentar abrirlo en el robot. En el caso en que hayan errores de sintaxis, el programa no ser aceptado y aparecer un mensaje de error visualizado. Para obtener informacin sobre el tipo de error, el robot almacena una lista llamada PGMCPL1.LOG en el disco RAM interno. Copiar esta lista en un

Gua de Referencia RAPID

11-3

disquete utilizando el Administrador de Archivos del robot. Abrir la lista en un procesador de textos para poder leer las lneas que son incorrectas y recibir una descripcin del error. Abrir el archivo con QuickTeach o con ProgramMaker. Utilizar un programa de comprobacin de sintaxis RAPID para PC. Cuando el programa es sintcticamente correcto, podr ser comprobado y editado en el robot. Para asegurarse de que todas las referencias a las rutinas y datos son correctos, se deber utilizar el comando Archivo: Comprobar Programa. En el caso en que el programa haya sido modificado en el robot, podr ser almacenado en un disquete y procesado o guardado en un PC.

1.4 Ejemplos A continuacin se muestran varios ejemplos de la apariencia de las rutinas en formato de texto: %%% VERSION: 1 LANGUAGE: ENGLISH %%% MODULE main VAR intnum process_int ; ! Demo of RAPID program PROC main() MoveL p1, v200, fine, gun1; ENDPROC TRAP InvertDo12 ! Trap routine for TriggInt TEST INTNO CASE process_int: InvertDO do12; DEFAULT: TPWrite Unknown trap , number=\Num:=INTNO; ENDTEST ENDTRAP LOCAL FUNC num MaxNum(num t1, num t2) IF t1 > t2 THEN RETURN t1; ELSE RETURN t2; ENDIF ENDFUNC ENDMODULE

11-4

Gua de Referencia RAPID

1.5 Creacin de instrucciones propias del usuario Con vistas a facilitar la programacin, el usuario podr personalizar sus propias instrucciones. Estas sern creadas bajo la forma de rutinas normales, pero cuando se est programando o realizando pruebas de funcionamiento, bajo la forma de instrucciones: - Pueden sacarse de la Lista de Seleccin de Instrucciones y ser programadas como instrucciones normales. - La rutina completa ser ejecutada durante la ejecucin paso a paso. Crear un mdulo nuevo del sistema donde se podrn colocar las rutinas del usuario que funcionan como instrucciones. Alternativamente, el usuario podr colocarlos en el mdulo USER del sistema. Crear una rutina en este mdulo del sistema con el nombre que se desea atribuir a la nueva instruccin. Los argumentos de la instruccin se definen bajo la forma de parmetros de rutina. Observar que el nombre de los parmetros aparecern visualizados en la ventana durante la programacin y por ello se debern atribuir nombres que el usuario pueda reconocer. Colocar la rutina en una de las listas de seleccin Ms Comunes. En el caso en que la instruccin deba comportarse de una manera especial durante la ejecucin del programa hacia atrs, esto podr llevarse a cabo mediante la forma de un gestor de ejecucin hacia atrs. En el caso en que no haya este tipo de gestor, ser imposible poder ir ms all de la instruccin durante la ejecucin hacia atrs del programa (vase el Captulo 13 de este manual - Caractersticas Bsicas). Se podr introducir un gestor de ejecucin hacia atrs utilizando el comando Rutina: Aadir Gestor de ejecucin hacia atrs en la ventana Rutinas del Programa. Llevar a cabo un test completo de la rutina de forma a que funcione con diferentes tipos de datos de entrada (argumentos). Cambiar el atributo del mdulo a NOSTEPIN. La rutina completa ser entonces ejecutada durante la ejecucin paso a paso. Este atributo no obstante, deber ser introducido en off-line. Ejemplo: Para facilitar la manipulacin de la pinza, se crearn dos instrucciones nuevas, GripOpen y GripClose. El nombre de la seal de salida es dada al argumento de instruccin, por ejemplo, GripOpen gripper1. MODULE My_instr (SYSMODULE, NOSTEPIN) PROC GripOpen (VAR signaldo Gripper) Set Gripper; WaitTime 0.2; ENDPROC PROC GripClose (VAR signaldo Gripper) Reset Gripper; WaitTime 0.2; ENDPROC ENDMODULE

Gua de Referencia RAPID

11-5

11-6

Gua de Referencia RAPID

INDICE

seamdata weavedata welddata ArcC ArcL

Datos iniciales y finales de soldadura Datos de oscilacin Datos de soldadura Soldadura al arco con movimiento circular Soldadura al arco con movimiento lineal

Gua de Referencia RAPID

13-1

13-2

Gua de Referencia RAPID

seamdata Datos iniciales y finales de soldadura


Seamdata sirve para controlar el inicio y el final de la soldadura. Seamdata se utiliza tambin cuando se rearranca un proceso despus de que una operacin de soldadura haya sido interrumpida. La fase de soldadura actual est controlada mediante los datos de soldadura welddata.

Descripcin
Los datos iniciales y finales de soldadura describen datos cuyos valores, de forma general, pueden permanecer inalterados durante el ciclo completo de soldadura y tambin al soldar diferentes cordones. Estos datos se utilizan cuando se prepara la operacin de soldadura, al encender el arco, al calentar despus del encendido y tambin al finalizar la soldadura. Los datos iniciales y finales de soldadura estn incluidos en todas las instrucciones de soldadura al arco para facilitar el control de las fases iniciales y finales independientemente del lugar en que se producen las interrupciones o los rearranques. Nota Algunos componentes de los datos iniciales y finales de soldadura dependern de la configuracin del robot. Si se omite una caracterstica, el componente correspondiente se quedar fuera de los datos iniciales y finales de soldadura. Las condiciones que deben cumplirse para que existan los componentes, se encuentran descritas en los parmetros del sistema. Todas las tensiones pueden expresarse de dos maneras diferentes (determinadas por el equipo de soldadura): - Como valores absolutos (en este caso slo, se utilizarn los valores positivos). - Como correcciones de los valores determinados en el equipo de proceso (en este caso, se utilizarn los valores tanto positivos como negativos). El paso del electrodo de soldadura en este apartado se refiere a la soldadura MIG/ MAG. En el caso de la soldadura TIG: - La seal de hilo fro se obtiene de velocidad de hilo. - El valor de referencia necesario de la corriente de soldadura podr ser conectado a cualquiera de las tres salidas analgicas que no se utilizan. (La referencia de tensin de soldadura no ser utilizada).

Gua de Referencia RAPID

13-seamdata-1

La secuencia de soldadura

ENCENDIDO

CALENTAMIENTO

SOLDADURA

FINAL

gas
prog_calentamiento prog_encendido

n prog

prog_llenado

T1

T2

prog_soldadura

t
pot. activada T 5 alim.hilo activada
AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA

T 5

4x ref.. anal.

tiempo encendido excedido seal de supervisin arco_OK (di SR) mov.robot


AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA ocilacin AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAA AAAAAAA AAAAAAA AAAAAAA AAAAAAA AAAAAAA AAAAAAA AAAAAAA hacia AAAAAAA AAAAAAA AAAAAAA

t adelante T 6 T 7 T 8 pos sigu.

a pos

T D/T4 3 T1: purga_max. gas / tiempo predef_soldadura T2: tiempo preflujo_gas T3: movimiento_encendido retraso tiempo D/T4: distancia/tiempo calentamiento

T5: tiempo de postquemado T6: enfriamiento mx./tiempo predef_sold T7: tiempo de llenado T8: enfriamiento mx./tiempo postflujo_ga

13-seamdata-2

Gua de Referencia RAPID

Componentes
Grupo de componente: Encendido tiempo_purga Tipo de dato: num

Se trata del tiempo (en segundos) utilizado para llenar los conductos de gas y la pinza de soldadura, con gas de proteccin denominado gas de purga. En el caso en que la primera instruccin de soldadura contenga el argumento \On (arranque sobre la marcha), el flujo de gas ser activado en el tiempo de purga especificado antes de que se alcance la posicin programada. Si el tiempo de posicionamiento a la posicin de arranque de la soldadura es menor que el tiempo de purga del gas, o si el argumento \On no ha sido utilizado, el robot esperar en la posicin de arranque hasta que el tiempo de purga del gas haya transcurrido. tiempo_preflujo Tipo de dato: num

Es el tiempo (en segundos) utilizado para el preflujo de la pieza a soldar, con gas protector, denominado gas de preflujo. El robot est parado en la posicin durante este tiempo antes de que el arco se encienda. prog_enc (programa de encendido) Tipo de dato: num

Es la identidad (expresada como un nmero) de un programa de soldadura en un equipo de soldadura conectado. La informacin es enviada al equipo de soldadura para ser utilizada durante la fase de encendido del arco. Vase Parmetros del Sistema Soldadura al Arco - Equipo - tipo_portprog. tensin_enc Tipo de dato: num

Es la tensin de soldadura (en voltios) durante el encendido del arco. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos especificados en los parmetros del sistema, referentes a las seales analgicas. velhilo_enc Tipo de dato: num

Es la velocidad de alimentacin del electrodo de soldadura durante el encendido del arco. La unidad est definida en el parmetro del sistema Soldadura al Arco - Unidades - unidad_alimentacin y, de modo general, se expresa en m/minuto o en pulgadas por minuto. El valor especificado es escalado y enviado a la salida analgica correspon-

Gua de Referencia RAPID

13-seamdata-3

diente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. aj_tensin_enc (ajuste de la tensin de encendido)Tipo de dato: num

Es el ajuste de tensin de soldadura durante el encendido del arco. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede ser utilizada para otros propsitos cuando se necesita controlar un dispositivo mediante una seal de salida analgica. aj_corr_enc (ajuste de la corriente de encendido) Tipo de dato: num

El ajuste de corriente durante el encendido del arco. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede ser utilizada para otros propsitos cuando se debe controlar un dispositivo mediante una seal de salida analgica. retraso_mov_enc (retraso movimiento de encendido) Tipo de dato: num

Es el retraso (en segundos) a partir del tiempo en que el arco se considera estable en el encendido hasta que la fase de calentamiento haya empezado. Las referencias de encendido permanecen vlidas durante el retraso del movimiento de encendido. arranque_oscil (tipo de arranque del arco) Tipo de dato: num

Tipo de encendido del arco por oscilacin para el inicio de soldadura. El tipo de encendido por oscilacin al rearranque no se ver afectado (ser siempre por oscilacin). Tipos de arranque de oscilacin: 0 Sin oscilacin. No se producir ninguna oscilacin al inicio de soldadura. 1 Arranque por oscilacin. 2 Arranque rpido. El robot no espera la seal OK de arco en el punto de arranque. No obstante, el encendido ser considerado incorrecto si el tiempo de encendido ha sido excedido. Grupo de componentes: Calentamiento vel_cal Tipo de dato: num

Es la velocidad de la soldadura durante el calentamiento al principio de la fase de soldadura. La unidad utilizada est definida en el parmetro del sistema Soldadura al Arco - Unidades- velocidad_unidad y, de modo general, se expresa en mm/s o en pul13-seamdata-4 Gua de Referencia RAPID

gadas por minuto. tiempo_cal Tipo de dato: num

Es el tiempo de calentamiento (en segundos) al principio de la fase de soldadura. Se utiliza nicamente en el posicionamiento temporizado y cuando dist_cal o vel_cal es igual a cero. dist_cal Tipo de dato: num

Es la distancia durante la cual los datos de calentamiento deben estar activados al principio de la soldadura. La unidad utilizada est definida en los Parmetros del Sistema - Soldadura al Arco - Unidades - longitud_unidad y, de modo general, se expresa en mm. o en pulgadas. prog_cal (programa de calentamiento)Tipo de dato: num

Es la identidad (expresada como un nmero) de un programa de soldadura en un equipo de soldadura conectado. La informacin es enviada al equipo de soldadura cuando el arco ha sido encendido y se utiliza durante el encendido. Vase el Parmetro del Sistema Soldadura al Arco - Equipo - tipo_portprog. tensin_cal Tipo de dato: num

Es la tensin de soldadura (en voltios) durante la fase de calentamiento. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. velhilo_cal Tipo de dato: num

Es la velocidad de alimentacin del electrodo de soldadura durante la fase de calentamiento. La unidad utilizada est definida en el parmetro del sistema Soldadura al Arco - Unidades - unidad_alimentacin y, de modo general, se expresa en m/minuto o en pulgadas por minuto. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. aj_tensin_cal (ajuste de la tensin de calentamiento) Tipo de dato: num

Es el ajuste de la tensin para la fase de calentamiento. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas.

Gua de Referencia RAPID

13-seamdata-5

Esta seal puede utilizarse para otros propsitos cuando se necesita controlar un dispositivo mediante una seal de salida analgica. aj_corr_cal (ajuste de la corriente de calentamiento) Tipo de dato: num

Es el ajuste de corriente durante la fase de calentamiento. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede utilizarse para otros propsitos cuando se necesita controlar un dispositivo mediante una seal de salida analgica. Grupo de componentes: Final tiempo_enfr (tiempo de enfriamiento) Tipo de dato: num

Es el tiempo (en segundos) durante el cual el proceso se cierra antes de que otras actividades finales (como el llenado) tengan lugar. tiempo_llen Tipo de dato: num

Es el tiempo de llenado del crter (en segundos) en la fase final de la soldadura. tiempo_postq (tiempo de postquemado) Tipo de dato: num

Es el tiempo (en segundos) durante el cual el electrodo de soldadura es postquemado cuando la alimentacin del electrodo se ha detenido. Esto sirve para impedir que el electrodo quede pegado a la soldadura cuando se desactiva un proceso MIG/MAG. El tiempo de postquemado se utiliza dos veces en la fase final; primero, cuando la fase de soldadura se acaba, en segundo lugar, despus del llenado del crter. tiempo_enroll (tiempo de enrollado) Tipo de dato: num

Es el tiempo (en segundos) durante el cual el hilo es enrollado despus de haber desconectado la alimentacin de potencia. Esto sirve para impedir que el hilo quede pegado a la soldadura cuando se desactiva un proceso TIG. Las funciones de postquemado y enrollado son mutuamente exclusivas. tiempo_postflujo Tipo de dato: num

Es el tiempo (en segundos) requerido para purgar con gas protector despus del final de un proceso. El postflujo del gas sirve para impedir que el electrodo de soldadura y el cordn se oxiden durante el tiempo de enfriamiento. prog_llen (programa de acabado) Tipo de dato: num

La identidad (expresada como un nmero) de un programa de soldadura de un

13-seamdata-6

Gua de Referencia RAPID

equipo de soldadura conectado. La informacin es enviada al equipo de soldadura cuando la fase de soldadura haya acabado y es utilizada cuando se realiza el llenado del crter. Vase el Parmetro del Sistema Soldadura al Arco - Equipo - tipo_portprog. tensin_llen (tensin del llenado del crter) Tipo de dato: num

La tensin de soldadura (en voltios) durante el llenado del crter en la fase final de un proceso. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. velhilo_llen (alimentacin del hilo del llenado del crter) Tipo de dato: num

Es la velocidad de alimentacin del electrodo de soldadura en la fase del llenado del crter. La unidad utilizada est definida en el parmetro del sistema Soldadura al Arco - Unidades - unidad_alimentacin y, de modo general, se expresa en m/minuto o en pulgadas por minuto. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. aj_tensin_llen (ajuste de la tensin del llenado del crter) Tipo de dato: num

Es el ajuste de la tensin durante la fase de llenado del crter. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede utilizarse para otros propsitos cuando algn dispositivo debe ser controlado mediante una seal de salida analgica. aj_corr_llen (ajuste de la corriente de llenado) Tipo de dato: num

Es el ajuste de la corriente durante la fase de llenado del crter. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede utilizarse para otros propsitos cuando algn dispositivo debe ser controlado mediante una seal de salida analgica.

Gua de Referencia RAPID

13-seamdata-7

Estructura
<dato del tipo seamdata> <tiempo_purga_gas de num> <tiempo_preflujo_gas de num> <prog_enc de num> <tensin_enc de num> <velhilo_enc de num> <aj_tensin_enc de num> <aj_corr_enc de num> <retraso_mov_enc de num> <vel_cal de num> <tiempo_cal de num> <dist_cal de num> <prog_cal de num> <tensin_cal de num> <velhilo_cal de num> <aj_tensin_cal de num> <aj_corr_cal de num> <tiempo_enfr de num> <tiempo_llen de num> <tiempo_postq de num> <tiempo_enroll de num> <tiempo_postflujo_gas de num> <prog_fin de num> <tensin_llen de num> <velhilo_llen de num> <aj_tensin_llen de num> <aj_corr_llen de num> Observar que la estructura cambia dependiendo de la configuracin del robot.

Informacin relacionada
Descrita en: Datos de soldadura Tipo de datos - welddata Parmetros de instalacin para el Parmetros del Sistema - Soldadura al equipo y funciones de soldadura Arco Fases del proceso y esquemas de tiempo Instrucciones de soldadura al arco Resumen RAPID - Soldadura al Arco Instrucciones - ArcL, ArcC

13-seamdata-8

Gua de Referencia RAPID

weavedata

Datos de oscilacin

Weavedata sirve para definir cualquier oscilacin que se produzca durante la soldadura al arco. La oscilacin puede tener lugar durante las fases de calentamiento y de soldadura de una costura.

Descripcin
La oscilacin es un movimiento superpuesto a la trayectoria bsica del proceso. Existen tres tipos de trayectoria de oscilacin entre las cuales se puede escoger: en zigzag, en forma de V y triangular. Estos tres tipos se encuentran indicados en la Figura 1 a Figura 3. Todos los componentes de los datos de oscilacin se aplican a la fase de calentamiento y a la fase de soldadura. La unidad de los componentes de los datos de oscilacin que especifican una distancia est especificada en el parmetro Soldadura al Arco - Unidades - longitud_unidad y, de modo general, se expresa en mm o en pulgadas. (Estos componentes son longitudes de oscilacin_longitud, _anchura, _altura, _desviacin e intervalo). Nota Algunos de los componentes de los datos de oscilacin dependen de la configuracin del robot. Si se omite una caracterstica dada, el componente correspondiente quedar fuera de los datos de oscilacin. Las condiciones que deben cumplirse para que los componentes existan estn descritas en los parmetros del sistema.

Componentes
forma_osc (forma de la oscilacin de soldadura)Tipo de dato: num

La forma de la trayectoria de la oscilacin en la fase de soldadura. Valor especificado 0 1 Yw Xw Trayectoria de oscilacin Sin oscilacin. Oscilacin en zigzag segn se indica en la Figura 1. Zw Xw Yw Zw

Figura 1 La oscilacin en zigzag produce una oscilacin horizontal respecto a la costura.

Gua de Referencia RAPID

13-weavedata-1

Valor especificado 2

Tipo de oscilacin Oscilacin en forma de V segn se indica en la Figura 2. Zw Zw Yw Xw Xw Yw

Figura 2 La oscilacin en V produce una oscilacin en forma de una V, vertical respecto a la costura.

Oscilacin triangular segn se indica en la Figura 3. Yw Xw Zw Xw Yw Zw

Figura 3 La oscilacin triangular produce una oscilacin en forma de tringulo, vertical respecto a la costura.

tipo_osc

(tipo de interpolacin de oscilacin de soldadura) Tipo de dato: num

Es el tipo de oscilacin utilizado en la fase de soldadura. Valor especificado 0 1 long_osc Tipo de oscilacin Oscilacin geomtrica. Durante la oscilacin, todos los ejes son utilizados. Oscilacin de la mueca. Tipo de dato: num

Es la longitud del ciclo de oscilacin en la fase de soldadura (vase la Figura 4). Yw Xw


L L

Yw Xw

Figura 4 La longitud (L) del ciclo de oscilacin para una trayectoria en zig-zag, en forma de V y triangular.

ancho_osc

Tipo de dato: num

Es la anchura de la trayectoria de oscilacin en la fase de soldadura (vase la Figura 5).

13-weavedata-2

Gua de Referencia RAPID

Yw Xw

Yw Xw
W

Figura 5 La anchura (W) de la oscilacin para todos los tipos de trayectorias de oscilacin.

altura_osc

Tipo de dato: num

Es la altura de la trayectoria de oscilacin en una oscilacin en forma de V o triangular (vase la Figura 6). Zw Yw Yw Zw
H

Figura 6 La altura (H) de la trayectoria de oscilacin para una oscilacin en forma de V y triangular.

interv_izq

Tipo de dato: num

Es la longitud del intervalo utilizado para obligar al TCP a moverse nicamente en la direccin de la costura en el punto de giro de la izquierda de la oscilacin (vase la Figura 7). Yw Yw
triangular

zigzag en forma de V

Xw
DL

Xw

DL

Figura 7 La longitud del intervalo de la izquierda (DL) para los diferentes tipos de oscilacin.

interv_cent

Tipo de dato: num

Es la longitud del intervalo utilizado para obligar al TCP a moverse nicamente en la direccin de la costura en el punto central de la oscilacin (vase la Figura 8). Yw
zigzag en forma de V

Yw

triangular

Xw
DC

Xw

DC

DC

Figura 8 La longitud del intervalo central (DC) para los diferentes tipos de oscilacin.

Gua de Referencia RAPID

13-weavedata-3

interv_der

Tipo de dato: num

Es la longitud del intervalo utilizado para obligar al TCP a moverse nicamente en la direccin de la costura en el punto de giro de la derecha de la oscilacin (vase la Figura 9). Yw
zigzag en forma de V

Yw
triangular

Xw

Xw

DR

DR

Figura 9 La longitud del intervalo de la derecha (DR) para los diferentes tipos de oscilacin.

dir_osc

(ngulo de direccin de la oscilacin) Tipo de dato: num

Es el ngulo de direccin de la oscilacin, horizontal respecto a la costura (vase la Figura 10). Un ngulo de cero grados produce una oscilacin vertical respecto a la costura. Yw Yw Xw Xw Yw Xw

Figura 10 La forma de la trayectoria de oscilacin a 0 grados y a un ngulo positivo y negativo.

incl_osc

(ngulo de inclinacin de la oscilacin) Tipo de dato: num

Es el ngulo de inclinacin del ngulo, vertical a la costura (vase la Figura 11). Un ngulo de cero grados produce una oscilacin vertical respecto a la costura.

Zw Xw

Zw

Zw Xw Xw

Figura 11 La oscilacin en forma de V a 0 grados y a un ngulo positivo y negativo.

ori_osc

(ngulo de orientacin de la oscilacin) Tipo de dato: num

Es el ngulo de orientacin de la oscilacin, horizontal-vertical respecto a la costura (vase la Figura 12). Un ngulo de cero grados produce una oscilacin simtrica.

13-weavedata-4

Gua de Referencia RAPID

Zw Yw Yw

Zw Yw

Zw

Figura 12 La oscilacin triangular a 0 grados y a un ngulo positivo y negativo.

desv_osc

(desviacin del centro de la oscilacin) Tipo de dato: num

Es la desviacin horizontal respecto a la trayectoria de oscilacin (vase la Figura 13). La desviacin slo podr ser especificada para la oscilacin en zigzag y no deber ser mayor que la mitad de la anchura de la oscilacin.

Yw

Yw
B

Xw

Xw

Figura 13 La oscilacin en zig-zag con y sin desviacin (B).

coord_izq

Tipo de dato: num

Es la posicin de coordinacin a la izquierda de la trayectoria de oscilacin. Est especificada como un porcentaje de la anchura a la izquierda del centro de la oscilacin. Cuando la oscilacin se efecta ms all de este punto, habr una seal de salida digital que automticamente se pondr a uno, segn se indica en la Figura 14. Este tipo de coordinacin est concebida para el seguimiento de las costuras utilizando la funcin "WeldGuide" (Gua de Soldadura). La seal pasa a 1 Yw La seal pasa a cero

Xw
Figura 14 Cuando se utiliza "WeldGuide" (Gua de Soldadura), se requiere una seal de sincronizacin.

coord_der

Tipo de dato: num

Es la posicin de coordinacin a la derecha de la trayectoria de oscilacin. Est especificada como un porcentaje de la anchura a la derecha del centro de la oscilacin. Cuando la oscilacin se efecta ms all de este punto, habr una seal de salida digital que automticamente se pondr en uno, segn se indica en la Figura 15. Este tipo de coordinacin est concebida para el seguimiento de las costuras utilizando la funcin "WeldGuide" (Gua de Soldadura). Gua de Referencia RAPID 13-weavedata-5

Yw

La seal se activa en 1

Xw La seal se activa en 0

Figura 15 Cuando se utiliza "WeldGuide" (Gua de Soldadura), se requiere una seal de sincronizacin.

wg_track_on

Tipo de dato: num

Activacin del sensor de la gua de soldadura de la costura.

Limitaciones
La frecuencia de oscilacin mxima es de 2 Hz. La inclinacin de trayectoria de oscilacin no deber exceder la relacin 1:10 (84 grados). Vase la Figura 16.

dy

dy/dx < 10 dx

Figura 16 La trayectoria oscilacin no deber estar inclinada ms que en la relacin 1:10.

Estructura
<dato del tipo de weavedata> <forma_osc de num> <tipo_osc de num> <long_osc de num> <ancho_osc de num> <altura_osc de num> <interv_izq de num> <interv_cent de num> <interv_der de num> <dir_osc de num> <incl_osc de num> <ori_osc de num> <desv_osc de num> <coord_izq de num> <coord_der de num> <wg_track_activado de num>

13-weavedata-6

Gua de Referencia RAPID

Informacin relacionada
Descrita en: Parmetros de instalacin para el equipo y las funciones de soldadura Fases y tiempo de proceso Parmetros del Sistema - Soldadura al Arco Resumen RAPID - Soldadura al Arco

Instrucciones de soldadura al arco Instrucciones - ArcL, ArcC

Gua de Referencia RAPID

13-weavedata-7

13-weavedata-8

Gua de Referencia RAPID

welddata

Datos de soldadura

Welddata sirve para controlar la soldadura durante la fase principal de soldadura, es decir, a partir del momento en que el arco est encendido hasta que la soldadura est terminada. Otras fases, como por ejemplo las fases de inicio y finales estn controladas mediante los datos seamdata.

Descripcin
Los datos de soldadura describen los datos que se cambian con frecuencia durante la soldadura de un cordn. Los datos de soldadura utilizados en una instruccin dada aplicados a una trayectoria, afectan a la soldadura hasta alcanzar la posicin especificada. Utilizando instrucciones con datos de soldadura diferentes se podr obtener un control ptimo del equipo de soldadura durante toda la costura. Los datos de soldadura afectan a la soldadura cuando se ha establecido la fusin (despus del calentamiento) al principio de un proceso. En el caso de un arranque sobre la marcha, el arco no ser encendido hasta que la posicin de destino de la instruccin de soldadura al arco con el argumento \On haya sido alcanzada, lo que significa que los datos de soldadura no tienen ningn efecto en la soldadura en esta instruccin. En el caso en que una instruccin de soldadura al arco se cambie por otra durante una soldadura, los datos de soldadura nuevos sern aplicados a partir de la posicin central de la trayectoria esquina. Nota Algunos de los componentes de los datos de soldadura dependen de la configuracin del robot. En el caso en que se omita una caracterstica dada, el componente correspondiente quedar fuera de los datos de soldadura. Las condiciones que deben cumplirse para que los componentes existan estn descritas en los parmetros del sistema. Todas las tensiones pueden expresarse de dos formas diferentes (determinadas por el equipo de soldadura): - Como valores absolutos (en este caso, slo se utilizan los valores positivos). - Como correcciones de los valores especificados en el equipo de proceso (en este caso, se usarn tanto los valores positivos como los negativos). El paso del electrodo de soldadura en este apartado se refiere a la soldadura MIG/

Gua de Referencia RAPID

13-welddata-1

MAG. En el caso de la soldadura TIG: - La seal de hilo fro se obtiene de velocidad de hilo. - El valor de referencia necesario de la corriente de soldadura podr ser conectado a cualquiera de las tres salidas analgicas que no se utilizan. (La referencia de tensin de soldadura no ser utilizada).

Ejemplo
MoveJ p1, v100, z10, pistola1; MoveJ p2, v100, fine, pistola1; ArcL \On, p3, v100, cordn1, sold1, oscil1, fine, pistola1; ArcL p4, v100, cordn1, sold2, oscil1, z10, pistola1; ArcL \Off, p5, v100, cordn1,sold3, oscil3, fine, pistola1; MoveJ p6, v100, z10, pistola1; p1 p6 p2
xx xx xx xx xx xx xx

p5 p3 p4 soldadura 3
xxxxxx

soldadura 2 Direccin de la soldadura

Movimiento sin soldadura Arranque sobre la marcha Soldadura

Figura 1 Los datos de soldadura, como la velocidad y la tensin de soldadura podrn cambiarse en cada posicin.

El dato de soldadura es distinto para cada instruccin. Como que el argumento \On es utilizado en la primera instruccin, el primer dato de soldadura nunca es utilizado.

13-welddata-2

Gua de Referencia RAPID

La secuencia de soldadura

DATOS DE ENCENDIDO/CALENTAMIENTO

DATOS SOLD. 1

DATOS SOLD. 2

DATOS SOLD. 3

DATOS FINALES

nprograma

AAA AAA AAA AAA AAA AAA AAA AAA

(prog_llenado)

prog_sold 2

prog_sold 3

prog_sold 1

(prog_cal)

AA AA AA AA AA AA AA AA AA

4 ref. analgicas t

veloc. sold

t
retraso_distancia 1 retraso_distancia 2

INSTRUCCION 3 INSTRUCCION 1 INSTRUCCION 2

p3

posiciones: p0

p1 p2

Gua de Referencia RAPID

13-welddata-3

Componentes
prog_sold (programa de soldadura) Tipo de dato: num

Es la identidad (expresada como un nmero) de los programas de soldadura que ser enviada al equipo de soldadura. Vase el Parmetro del Sistema Soldadura al Arco - Equipo - tipo_portprog. vel_sold Es la velocidad de soldadura deseada. La unidad est definida en el parmetro del sistema Soldadura al Arco - Unidades - velocidad_unidad y, de modo general, est expresada en mm/s o en pulgadas por minuto. En el caso en que los movimientos de los ejes externos estn coordinados, la velocidad de soldadura ser la velocidad relativa entre la herramienta y el objeto. En el caso en que los movimientos de los ejes externos no estn coordinados, la velocidad de soldadura ser la velocidad del TCP. La velocidad de los ejes externos est entonces descrita en los datos de velocidad de la instruccin. El eje ms lento determina la velocidad para permitir que todos los ejes alcancen la posicin de destino al mismo tiempo. tensin_sold Tipo de dato: num Tipo de dato: num

Es la tensin de soldadura (en voltios) durante la fase de soldadura. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. velhilo_sold Tipo de dato: num

Es la velocidad de alimentacin del electrodo de soldadura durante la fase de soldadura. La unidad est definida en el parmetro del sistema Soldadura al Arco - Unidades - unidad_alimentacin y, de modo general, est expresada en metros por minuto o en pulgadas por minuto. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. dist_retraso Tipo de dato: num

Es la distancia de retraso (despus de la posicin de destino) para un cambio de un dato nuevo de soldadura en la siguiente instruccin de soldadura al arco. La unidad est definida en los Parmetros del Sistema - Soldadura al Arco - Uni-

13-welddata-4

Gua de Referencia RAPID

dades - longitud_unidad y, de modo general, est expresada en mm o en pulgadas. Generalmente, cuando se cambia una instruccin de soldadura al arco por otra, se genera un punto de paso. Ello producir un punto de cambio en el medio de la trayectoria esquina. Utilizando una distancia de retraso, el nuevo dato de soldadura empezar a tener efecto ms tarde (vase la Figura 2). En una instruccin de fin de soldadura, la distancia de retraso no tendr efecto. ArcL sold1 ArcL sold2
AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA Distancia de retraso AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ArcL\Off sold3

soldadura1 soldadura2

soldadura3 Movimiento sin soldadura AAAAAAAAA AAAAAAAAA Soldadura AAAAAAAAA AAAAAAAAA con diferentes datos

Figura 2 En este ejemplo, el cambio del dato de soldadura 1 por soldadura 2 est retrasado y soldadura 2 tiene una dist_retraso = 0. As, la distancia_retraso en soldadura 3 no tendr efecto.

La dist_retraso puede, por ejemplo, utilizarse en instrucciones ArcC para mover el cambio del dato de soldadura sin volver a programar las posiciones del crculo. aj_tensin_sold (ajuste de la tensin de soldadura) Tipo de dato: num

Es el ajuste de la tensin de soldadura durante la fase de soldadura. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede ser utilizada para otros propsitos cuando se necesita controlar un dispositivo mediante una seal de salida analgica. aj_corr_sold (ajuste de la corriente de soldadura) Tipo de dato: num

Es el ajuste de la corriente de soldadura durante la fase de soldadura. El valor especificado es escalado y enviado a la salida analgica correspondiente, de acuerdo con los datos determinados en los parmetros del sistema para las seales analgicas. Esta seal puede ser utilizada para otros propsitos cuando se necesita controlar un dispositivo mediante una seal de salida analgica.

Gua de Referencia RAPID

13-welddata-5

Ejemplos
Se desea un tipo de soldadura como el de la Figura 3, con una tensin de soldadura de 30 V y una velocidad de alimentacin de hilo de 15 m/min. La velocidad de soldadura es de 20 mm/s. p1
x xx xx xx xx

p2 p4 p3
xxxxxx

Movimiento sin soldadura Arranque sobre la marcha Soldadura

Figura 3 Soldadura entre dos puntos.

PERS welddata sold1 := [20,30,15,0]; MoveJ p1, v100, z20, pistola1; ArcL \On, p2, v100, cordn1, sold1, nooscil, fine, pistola1; ArcL \Off, p3, v100, cordn1, sold1, nooscil, fine, pistola1; MoveJ p4, v100, z20, pistola1; Los valores de los datos de soldadura de una soldadura como la de la Figura 3 son los siguientes: Componente vel_sold tensin_sold velhilo_sold dist_retraso soldadura1 20 mm/s 30 V 0 mm Velocidad respecto a la costura Enviado a una seal de salida analgica Sin retraso

15 m/min. Enviado a una seal de salida analgica

La identidad del programa de soldadura, el ajuste de la tensin de soldadura y el ajuste de la corriente de soldadura no estn activos en este ejemplo. El argumento del dato de soldadura no tiene ningn efecto en la instruccin ArcL \On.

13-welddata-6

Gua de Referencia RAPID

Se requiere un tipo de soldadura como el indicado en la Figura 4. La primera seccin debe ser soldada utilizando una tensin de 50 V y una velocidad de alimentacin de hilo de 20 m/min. Despus de haber recorrido una cierta distancia en el arco circular, la tensin deber ser aumentada a 55 V. La velocidad de soldadura es de 30 mm/s en cada seccin. p7 p1
x xx xx xx xx

p6 p2 p5 p3 50 V 55 V p4
xxxxxx

Movimiento sin soldadura Arranque sobre la marcha Soldadura

Figura 4 El dato de soldadura cambia despus de cierta distancia especificada en la trayectoria circular.

PERS welddata sold1 := [10,30,50,20,0]; PERS welddata sold2 := [10,30,55,20,17]; MoveJ p1, v100, z20, pistola1; ArcL \On, p2, v100, cordn1, sold1, nooscil, fine, pistola1; ArcL p3, v100, cordn1, sold1, nooscil, z10, pistola1; ArcC p4, p5, v100, cordn1, sold2, nooscil, z10, pistola1; ArcL \Off, p6, v100, cordn1, sold2, nooscil, fine, pistola1; MoveJ p7, v100, z20, pistola1; Los valores de los datos de soldadura para una soldadura como la de la Figura 4 son los siguientes: Componente prog_sold vel_sold tensin_sold velhilo_sold dist_retraso sold.1 10 30 mm/s 50 V 0 mm sold.2 10 30 mm/s 55 V 17 mm sold.2 est retrasada de 17 mm Identidad enviada al equipo de soldadura

20 m/min. 20 m/min.

El ajuste de la tensin de soldadura y el ajuste de la corriente de soldadura no estn activos en este ejemplo. El argumento de datos de soldadura no tiene ningn efecto en la instruccin ArcL \On.

Gua de Referencia RAPID

13-welddata-7

Estructura
<datos del tipo de welddata> <prog_sold de num> <veloc_sold de num> <tensin_sold de num> <velhilo_sold de num> <dist_retraso de num> <aj_tensin_sold de num> <aj_corr_sold de num> Observar que la estructura cambia segn la configuracin del robot.

Informacin relacionada
Descrita en: Datos iniciales y finales de soldadura Parmetros de instalacin para el equipo y funciones de soldadura Fases del proceso Tipos de datos - seamdata Parmetros del Sistema - Soldadura al Arco Resumen RAPID - Soldadura al Arco

Instrucciones de soldadura al arco Instrucciones - ArcL, ArcC

13-welddata-8

Gua de Referencia RAPID

ArcC Soldadura al arco con movimiento circular ArcC1 ArcC2


ArcC (Arc Circular) sirve para soldar en una trayectoria circular. La instruccin controla y monitoriza el proceso completo de soldadura segn lo siguiente: - El punto central de la herramienta se mueve de forma circular a la posicin de destino especificada. - Todas las fases, como las fases de inicio y finales del proceso de soldadura, estn controladas. - El proceso de soldadura est monitorizado continuamente. La nica diferencia entre ArcC, ArcC1 y ArcC2 radica en que estn conectadas a sistemas de proceso diferentes configurados en los Parmetros del Sistema. Aunque ArcC haya sido utilizado en los ejemplos, ArcC1 o ArcC2 podrn utilizarse tambin del mismo modo.

Ejemplo
MoveL . . . . ArcL \On, p1, v100, cordn1, sold5, nooscil, fine, pistola1; ArcC \Off, p2, p3, v100, cordn1, sold5, nooscil, fine, pistola1; MoveL . . . . Este ejemplo suelda un cordn circular entre los puntos p1 y p3 (pasando por el punto p2) segn se indica en la Figura 1. MoveL MoveL p3 p2 Direccin de la soldadura
xxxxxx

En la trayectoria hasta p1, se llevan a cabo los preparativos para el inicio de la soldadura, como el preflujo del gas. El proceso y el movimiento de soldadura actual empezarn entonces en la posicin p1 y acabarn en p3. Los procesos de inicio y final estn determinados por cordn1 y el proceso de soldadura por sold5. Los datos de oscilacin se llevarn a cabo de acuerdo con nooscil. (Sin oscilacin, si el valor del componente forma_osc es igual a cero.) V100 especifica la velocidad alcanzada durante el arranque sobre la marcha hasta p1. Gua de Referencia RAPID 13-ArcC-1

x xx xx xx xx xx x xx

ArcL\On

p1

ArcC\Off Movimiento sin soldadura Arranque sobre la marcha Soldadura y fin de soldadura

Figura 1 Soldadura con arranque sobre la marcha.

Argumentos ArcC
[\On]

[\On] | [\Off] PuntCirc AlPunto Veloc [\T ] Cordn Sold Oscil Zona [\Z] Herram [\WObj]
Tipo de dato: switch

El argumento \On sirve para obtener un arranque sobre la marcha (vase la Figura 1) que, a su vez, producir tiempos de ciclo ms cortos. El argumento \On slo podr utilizarse en la primera instruccin de soldadura al arco para obtener un cordn. Como que las instrucciones finales no pueden incluir el argumento \On, la soldadura con arranque sobre la marcha deber incluir por lo menos dos instrucciones. Los preparativos de inicio de un arranque sobre la marcha, por ejemplo, la purga del gas, se llevarn a cabo en la trayectoria hacia la posicin de inicio de la soldadura. Cuando no se utiliza el argumento \On, la soldadura empieza en la posicin anterior a la instruccin ArcC (vase la Figura 2) y el robot permanecer parado en la posicin anterior mientras todas las actividades de inicio de soldadura se estn llevando a cabo. Tanto si se utiliza como si no se utiliza un arranque sobre la marcha, la posicin de inicio de la soldadura ser siempre un punto de paro - independientemente de lo que est especificado en el argumento Zona para esta posicin. MoveL

ArcC\On

MoveL

Direccin de la soldadura

ArcC\Off Movimiento sin soldadura Soldadura y fin de soldadura

Figura 2 Si la soldadura es arrancada sin el argumento \On, la soldadura empieza en la posicin anterior.

[\Off]

Tipo de dato: switch

Si se utiliza el argumento \Off , la soldadura acaba cuando el robot alcance la posicin de destino. Independientemente de lo que est especificado en el argumento Zona, la posicin de destino ser un punto de paro. Si a una instruccin ArcC sin el argumento \Off le sigue una instruccin MoveJ, por ejemplo, la soldadura acabar, pero de una forma incontrolada. Las instruc-

13-ArcC-2

Gua de Referencia RAPID

ciones lgicas, como Set do1, sin embargo, podrn utilizarse entre dos instrucciones de soldadura al arco sin terminar el proceso de soldadura. PuntCirc Tipo de dato: robtarget

Es el punto circular del robot. El punto circular es una posicin situada en el crculo entre el punto de arranque y el punto de destino. Para una mayor precisin, deber estar situado a medio camino entre los puntos de arranque y de destino. Si est situado demasiado cerca del punto de arranque o de destino, puede ocurrir que el robot genere un mensaje de aviso. El punto circular es definido como una posicin con nombre o es almacenado directamente en la instruccin (marcado con un asterisco * en la instruccin). AlPunto Tipo de dato: robtarget

Es la posicin de destino del robot y de los ejes externos. Suele estar definido como una posicin con nombre o es almacenado directamente en la instruccin (indicado por un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata

La velocidad del TCP est controlada por el argumento Veloc en los siguientes casos: - Cuando se utiliza el argumento \On (preparativos del inicio de la soldadura en un arranque sobre la marcha). - Cuando el programa es ejecutado instruccin por instruccin (sin soldadura). La velocidad del TCP durante la soldadura es la misma que la utilizada para los argumentos Cordn y Sold (Vase la Figura 3). Los datos de velocidad describen tambin la velocidad de la reorientacin de la herramienta y la velocidad de cualquier eje externo no coordinado. MoveJ

ArcL\On

MoveJ

xxxxxx

Gua de Referencia RAPID

x xx xx xx xx xx

ArcC\Off Movimiento sin soldadura; velocidad de acuerdo con Veloc Arranque sobre la marcha; velocidad de acuerdo con Veloc Soldadura; velocidad de acuerdo con los argumentos Cordn y Sold (especificado en los componentes de velocidad de soldadura y de calentamiento).
Figura 3 La velocidad en diferentes fases del proceso de soldadura.

13-ArcC-3

[ \T]

(Tiempo)

Tipo de dato: num

El argumento \T sirve para especificar el tiempo total de los movimientos determinado en segundos directamente en la instruccin. El tiempo ser as sustituido por la velocidad especificada en los argumentos Veloc, Cordn y Sold. Este argumento puede utilizarse cuando, por ejemplo, uno o ms ejes externos no coordinados participan en el movimiento. Los ejes externos no coordinados debern, no obstante, evitarse ya que, cuando se utilizan, el programa ser ms difcil de ajustar. En vez de ello, utilcense ejes externos coordinados. La oscilacin es desactivada durante la ejecucin de instrucciones ArcX con argumentos \T. Cordn Tipo de dato: seamdata

Los datos iniciales y finales de soldadura describen las fases de inicio y finales de un proceso de soldadura. El argumento Cordn est incluido en todas las instrucciones de soldadura al arco, de forma que, independientemente de la posicin del robot cuando se interrumpe el proceso, se produce un final y un rearranque de soldadura adecuados. Normalmente los mismos datos iniciales y finales de soldadura se utilizan en todas las instrucciones de un cordn. Sold Tipo de dato: welddata Los datos de soldadura describen la fase de soldadura de un proceso de soldadura. Los datos de soldadura a menudo son cambiados de una instruccin a la siguiente durante la soldadura de un cordn. Oscil Tipo de dato: weavedata Los datos de oscilacin describen la oscilacin que debe tener lugar durante las fases de calentamiento y de soldadura. La soldadura sin oscilacin se obtiene especificando por ejemplo, el dato de oscilacin nooscil. (No hay oscilacin si el valor del componente forma_osc es igual a cero.) Zona Tipo de dato: zonedata Los datos de zona definen la distancia a la que deben estar los ejes, de la posicin programada antes de poder empezar el movimiento hacia la posicin siguiente. En el caso de un punto de paso, se gener una trayectoria esquina ms all que esta posicin. En el caso de un punto de paro (punto fino), el movimiento es interrumpido hasta que todos los ejes hayan alcanzado el punto programado. Un punto de paro se genera siempre automticamente en la posicin de inicio de una soldadura (incluso en el caso de un arranque sobre la marcha) y en la posicin final de soldadura controlada. Los puntos de paso, como z10, debern utilizarse para todas las dems posiciones de soldadura. Los datos de soldadura cambian a la siguiente instruccin de soldadura al arco en el punto central de una trayectoria esquina. (a menos que est retrasado por el 13-ArcC-4 Gua de Referencia RAPID

componente dist_retraso del argumento Sold). [ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisin de posicionamiento del TCP del robot directamente en la instruccin. El tamao de la zona est especificada en mm y es sustituida en la zona correspondiente determinada en los datos de zona. El argumento \Z es muy til tambin cuando se trata de ajustar trayectorias esquina individuales. Herram Tipo de dato: tooldata

Es la herramienta utilizada en el movimiento. El TCP de la herramienta es el punto que se mueve a la posicin de destino especificada. El eje z de la herramienta deber ser paralelo al elemento final. [ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posicin del robot en la instruccin. Cuando se omite este argumento, la posicin del robot se referir al sistema de coordenadas mundo. No obstante, deber especificarse, si se utiliza un TCP estacionario o ejes externos coordinados. \WObj podr utilizarse si se ha definido un sistema de coordenadas para el objeto correspondiente o para el cordn de soldadura.

Ejecucin del programa


Control del equipo de proceso El equipo de proceso est controlado por el robot de tal forma que todo el proceso y cada una de sus fases estn coordinadas con los movimientos del robot. Movimiento El robot y los ejes externos se mueven a la posicin de destino segn lo siguiente: - El TCP de la herramienta se mueve de forma circular a una velocidad programada constante. Cuando se utilizan ejes coordinados, se movern de forma circular a una velocidad programada constante respecto al objeto de trabajo. - La herramienta es reorientada a intervalos regulares durante toda su trayectoria. - Los ejes externos no coordinados se ejecutan a una velocidad constante, lo que significa que alcanzan su destino al mismo tiempo que los ejes del robot. En el caso en que se exceda la velocidad programada de reorientacin o de los ejes externos, estas velocidades sern limitadas, reduciendo la velocidad del TCP.

Gua de Referencia RAPID

13-ArcC-5

La posicin de destino se refiere: - al sistema de coordenadas del objeto especificado si se utiliza el argumento \WObj ; - al sistema de coordenadas mundo si no se utiliza el argumento \WObj .

Limitaciones
En la ocilacin, la distancia entre las posiciones programadas debern ser ms largas que el tiempo peridico de la oscilacin. Si la distancia es ms pequea y si hay un cambio significativo del ngulo de la trayectoria, la trayectoria de oscilacin ser distorsionada. No se deber nunca rearrancar la instruccin ArcC despus de haber pasado el punto de ciclo. De lo contrario, el robot no emprender la trayectoria programada (posicionamiento en torno a la trayectoria circular en otra direccin comparada con la programada).

Gestin de errores
El proceso est supervisado por una serie de seales de entrada. Si se detecta algo anormal, la ejecucin del programa ser detenida. Pero si, no obstante, se programa un gestor de errores, los errores que se definen a continuacin podrn ser remediados sin detener el proceso de produccin. Vase el ejemplo en la instruccin RestoPath. Constante de errores (valor ERRNO ) Descripcin AW_START_ERR AW_IGNI_ERR AW_WELD_ERR AW_EQIP_ERR AW_WIRE_ERR AW_STOP_ERR Error de condicin de inicio; supervisin de gas, agua, o antorcha Error de encendido; supervisin del arco Error de soldadura; supervisin del arco Error del equipo de soldadura; supervisin de tensin, de corriente, agua o gas durante la soldadura Error de hilo; supervisin de hilo Soldadura interrumpida por la entrada de paro del proceso

La supervisin del proceso est determinada como una parte de la configuracin del equipo de proceso. Al inicio del proceso, el robot comprueba que se hayan cumplido las siguientes condi-

13-ArcC-6

Gua de Referencia RAPID

ciones preliminares: - paro_proceso - agua_OK - gas_OK - antorcha_OK En el caso en que, despus de que el comando de inicio haya sido ejecutado, no se indica ningn perfil de inicio aprobado en la en