Manual RAPID Castellano
Manual RAPID Castellano
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
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-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
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
1-3
Pgina
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
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
1-6
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
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
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
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
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
Pgina GlueL - Aplicacin de adhesivo con un movimiento lineal .................... 15-GlueL-1 Mdulo del Sistema GLUSER ..................................................................15-GLUSER-1
1-13
Pgina
1-14
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
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
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
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
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
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
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
2-1
Introduccin
2-2
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.
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
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
- 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 { }.
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
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
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
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
3-3
3-4
Resumen RAPID
3-5
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
Resumen RAPID
3-7
Resumen RAPID
3-8
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.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
3-9
Instrucciones varias
Resumen RAPID
3-10
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
3-11
Caractersticas de movimiento
Resumen RAPID
3-12
Resumen RAPID
Caractersticas de movimiento
3-13
Caractersticas de movimiento
Resumen RAPID
3-14
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.
3-15
Movimiento
Resumen RAPID
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
3-16
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
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
3-17
Movimiento
Resumen RAPID
3-18
Resumen RAPID
Movimiento
3-19
Resumen RAPID
3-20
Resumen RAPID
3-21
- 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
Comunicacin
Resumen RAPID
Resumen RAPID
Comunicacin
TPReadFK TPReadNum
Funcin ReadBin1
3-23
Comunicacin
Resumen RAPID
3-24
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.
3-25
Interrupciones
Resumen RAPID
3-26
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.
3-27
Recuperacin de errores
Resumen RAPID
3-28
Resumen RAPID
Sistema y Hora
10 Sistema y Hora
Las instrucciones de sistema y hora permiten al usuario contar, controlar y registrar el tiempo.
3-29
Matemticas
Resumen RAPID
11 Matemticas
Las instrucciones y las funciones matemticas sirven para calcular y cambiar el valor de los datos.
3-30
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
3-31
Resumen RAPID
3-32
Resumen RAPID
3-33
Resumen RAPID
3-34
Resumen RAPID
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.
3-35
Resumen RAPID
3-36
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.
INICIO
SOLDADURA
FINAL
LLENADO FINAL
PRELIMINAR ENCENDIDO
CALENTAMIENTO
3-37
Soldadura al Arco
Resumen RAPID
3-38
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.
3-39
GlueWare
Resumen RAPID
3-40
Resumen 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.
3-42
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.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
3-43
Funciones de cadena
Resumen RAPID
3-44
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
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
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]
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
Resumen RAPID
MoveL Open
Resumen de sintaxis
[ \Conc ] ToPoint Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ]
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]
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]
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
ATan (Value)
3-48
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)
GOutput GetTime
IndInpos MecUnit Axis IndSpeed MecUnit Axis [\InSpeed] | [\ZeroSpeed] IsPers (DatObj) IsVar (DatObj) MirPlane [\WObj] [\MirY])
OrientZYX
ORobT (OrgPoint [\InPDisp] | [\InEOffs]) PoseInv PoseMult PoseVect (Pose) (Pose1 Pose2) (Pose Pos)
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])
(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
5-1
5-2
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
5-3
Elementos Bsicos
1.2 Espacios y caracteres de fin de lnea
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.
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
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
5-5
Elementos Bsicos
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
Elementos Bsicos
1) Letra eth islandesa. 2) Letra Y con acento agudo 3) Letra thorn islandesa.
5-7
Mdulos
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.
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.
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
<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
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.
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
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
Rutinas
5-13
Rutinas
Declaracin de un procedimiento Ejemplo:
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
5-14
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>
5-15
Rutinas
5-16
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> )
5-17
Tipos de Datos
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.
Tipos de Datos
4.3 Sintaxis
<tipo datos> ::= <identificador>
5-19
Datos
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.
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
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.
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.
5-21
Datos
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;
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-22
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
No ejecutar
Ejecutar*
Ejecutar
Ejecutar
No Ejecutar
No Ejecutar
No Ejecutar
No Ejecutar
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>
5-23
Datos
Declaracin de un dato persistente
<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
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>
5-25
Expresiones
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;
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
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
Expresiones
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
5-27
Expresiones
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;
5-28
Expresiones
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.
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
5-29
Expresiones
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.
- 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
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>
5-31
Expresiones
Datos <variable> ::=
<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
Expresiones
5-33
Recuperacin de Errores
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.
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
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.
5-35
Interrupciones
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.
Una interrupcin habilitada puede posteriormente ser inhabilitada (y viceversa). Ejemplo: ISleep sig1int; . IWatch sig1int; inhabilitada habilitada Gua de Referencia RAPID
5-36
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;
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
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
.. 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.
5-39
Multitareas
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
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.
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
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
Multitareas
5-43
Multitareas
IF stringtosend = this is a test THEN ENDPROC ENDMODULE
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
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
5-45
Multitareas
5-46
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
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.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).
6-3
Sistemas de Coordenadas
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.
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
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
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
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
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.
6-7
Sistemas de Coordenadas
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
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.
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.
6-9
Sistemas de Coordenadas
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
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
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
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.
6-11
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
6-13
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
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.
6-15
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).
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.
6-17
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
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
6-19
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
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
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
6-21
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
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
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.
6-23
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
6-25
6-26
6-27
Instrucciones Lgicas
Figura 29 Una instruccin lgica que sigue un punto de paso se ejecutar antes de alcanzar la zona ms grande.
6-28
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.
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.
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
Instrucciones Lgicas
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.
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.
6-32
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).
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
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.
Figura 37 Misma posicin y orientacin obtenida con dos configuraciones distintas de ejes principales.
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.
6-36
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
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.
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.
6-38
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
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-40
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-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
6-43
6-44
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
7-bool-1
7-bool-2
clock
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.
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
confdata
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
7-confdata-1
configuracin hacia atrs que dan como resultado la misma posicin y orientacin.
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
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
7-confdata-3
7-confdata-4
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.
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
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.
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
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.
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
7-errnum-4
extjoint
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).
7-extjoint-1
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
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.
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
iodev
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
7-iodev-1
7-iodev-2
jointtarget
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
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
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
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
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
Figura 2 Normalmente, el momento de inercia deber ser definido cuando la distancia sea menor que la dimensin.
iy
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.
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
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
7-mecunit-1
7-mecunit-2
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.
7-motsetdata-1
sing.wrist
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
7-motsetdata-2
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
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
Informacin relativa
Descrita en: Instrucciones para la activacin de los parmetros de movimiento Resumen RAPID Caractersticas de movimiento
7-motsetdata-4
num
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).
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
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
7-o_jointtarget-1
extax
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
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
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
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
7-orient-2
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
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-
7-orient-3
Z Z X
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
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
o_robtarget
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
7-o_robtarget-1
rot
(rotacin)
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
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>
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
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>
7-pose-1
Informacin Relacionada
Descrita en: Qu es un quaternion? Tipos de Datos - orient
7-pose-2
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.
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
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
7-progdisp-3
7-progdisp-4
robjoint
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
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
7-robjoint-1
7-robjoint-2
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.
7-robtarget-1
robconf
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
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 >
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
signalxx
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.
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
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
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
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
7-speeddata-3
7-speeddata-4
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).
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
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
7-symnum-1
Valor 0 1 2
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
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.
7-tooldata-1
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 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
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] ];
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
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
7-triggdata-1
7-triggdata-2
tunetype
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.
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.
7-tunetype-1
Informacin relacionada
Descrita en: Tipos de datos en general, tipos de datos equivalentes Caractersticas Bsicas - Tipos de Datos
7-tunetype-2
wobjdata
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.
7-wobjdata-1
ufprog
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
AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA AAAAAA
X Z
X Coordenadas en la base
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
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
7-wobjdata-5
7-wobjdata-6
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.
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.
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
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
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
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
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
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 >
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
7-zonedata-6
ERRNO
errnum
INTNO
intnum
El robot
:=
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.
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.
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
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
8-AccSet-1
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
ActUnit
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.
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.
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
Add
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.
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 - :=
8-Add-1
8-Add-2
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.
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
8-Break-1
8-Break-2
CallByVar
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.
Nmero
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-
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
Informacin relacionada
Descrita en: Llamada de procedimientos Caractersticas Bsicas - Rutinas Gua del Usuario - El lenguaje de programacin RAPID
8-CallByVar-3
8-CallByVar-4
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
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
8-Clear-1
8-Clear-2
ClkReset
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
Sintaxis
ClkReset [ Reloj := ] < variable (VAR) de reloj > ;
Informacin Relacionada
Descrita en: Otras instrucciones de reloj Resumen RAPID - Sistema y Hora
8-ClkReset-1
8-ClkReset-2
ClkStart
Ejemplo
ClkStart reloj1; El reloj reloj1 ser arrancado.
Argumentos ClkStart
Reloj El nombre del reloj que se desea arrancar.
Reloj
Tipo de dato: reloj
Ejemplo
VAR reloj reloj2; ClkReset reloj2; ClkStart reloj2; WaitUntil DInput(di1) = 1; ClkStop reloj2;
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
ClkStop
Ejemplo
ClkStop reloj1; El reloj reloj1 ser parado.
Argumentos ClkStop
Reloj El nombre del reloj que se desea parar.
Reloj
Tipo de dato: reloj
Sintaxis
ClkStop [ Reloj := ] < variable (VAR) de reloj > ;
Informacin Relacionada
Descrita en: Otras instrucciones de reloj Ms ejemplos Resumen RAPID - Sistema y Hora Instrucciones - ClkStart
8-ClkStop-1
8-ClkStop-2
Close
Ejemplo
Close canal2; El canal serie denominado canal2 ser cerrado.
DispositivoE/S
El nombre (referencia) del archivo o del canal serie que se desea cerrar.
Sintaxis
Close
Informacin Relacionada
Descrita en: Abrir un archivo o un canal serie Resumen RAPID - Comunicacin
8-Close-1
8-Close-2
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.
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
8-comment-1
8-comment-2
Compact IF
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.
Condicin
Sintaxis
(EBNF) IF <expresin condicional> ( <instruccin> | <SMT>) ;
Informacin Relacionada
Descrita en: Condiciones (expresiones lgicas) IF con varias instrucciones Caractersticas Bsicas - Expresiones Instrucciones - IF
8-Compact IF-1
8-Compact IF-2
ConfJ
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.
\Off
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
ConfL
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.
[\On] | [\Off]
Tipo de dato: switch
\Off
La configuracin del robot no ser monitorizada.
8-ConfL-1
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
CONNECT
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.
La variable que debe ser asignada a la identificacin de la interrupcin. Esto no deber ser declarado dentro de una rutina (datos de rutina).
Identificador
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
DeactUnit
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.
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
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.
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 > ;
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
EOffsOff
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.
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
8-EOffsOff-1
8-EOffsOff-2
EOffsOn
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.
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.
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
8-EOffsOn-2
EOffsSet
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-.
.
+X
+X
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
8-EOffsSet-1
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
8-EOffsSet-2
ErrWrite
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.
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
8-ErrWrite-1
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
EXIT
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
8-EXIT-1
8-EXIT-2
FOR
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).
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.
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
Informacin relacionada
Descrita en: Expresiones Identificadores Caractersticas Bsicas - Expresiones Caractersticas Bsicas Elementos de Base
8-FOR-3
8-FOR-4
GOTO
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
Limitaciones
Slo se podr transferir la ejecucin del programa a una etiqueta dentro de la misma rutina.
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
GripLoad
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
Sintaxis
GripLoad [ Carga := ] < persistente (PERS) de loaddata > ;
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
IDelete
Ejemplo
IDelete aliment_bajo; La interrupcin aliment_bajo ser anulada.
Sintaxis
IDelete [ Interrupcin := ] < variable (VAR) de intnum > ;
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
IDisable
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.
Sintaxis
IDisable;
Informacin Relacionada
Descrita en: Resumen de interrupciones Permisin de las interrupciones Resumen RAPID - Interrupcin Instrucciones - IEnable
8-IDisable-1
8-IDisable-2
IEnable
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.
Sintaxis
IEnable;
Informacin Relacionada
Descrita en: Resumen de interrupciones Inhabilitacin de interrupciones Resumen RAPID - Interrupciones Instrucciones - IDisable
8-IEnable-1
8-IEnable-2
IF
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;
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.
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
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.
Nombre
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 > ;
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
IndAMove
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.
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.
8-IndAMove-1
[ \ToAbsNum ]
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).
8-IndAMove-2
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.
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
IndCMove
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
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).
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
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 > ] ;
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
IndDMove
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.
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).
8-IndDMove-1
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
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 > ] ;
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
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.
8-IndReset-1
[ \RefNum ]
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.
8-IndReset-2
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.
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
IndRMove
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 ]
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).
8-IndRMove-2
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
InvertDO
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
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 > ;
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
ISignalDI
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.
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.
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.
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
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
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
8-ISignalDI-3
8-ISignalDI-4
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 ]
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.
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.
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
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
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
8-ISignalDO-3
8-ISignalDO-4
ISleep
Ejemplo
ISleep seint 1; La interrupcin seint 1 ser desactivada.
Interrupcin
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
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
ITimer
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.
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.
8-ITimer-1
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
Informacin relacionada
Descrita en: Resumen de interrupciones Ms informacin sobre la gestin de las interrupciones Resumen RAPID - Interrupciones Caractersticas Bsicas - Interrupciones
8-ITimer-3
8-ITimer-4
IWatch
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.
Interrupcin
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
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
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>:
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
Load
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:").
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]
Cuando el nombre del archivo es excluido del argumento TrayectoriadeArchivo entonces deber ser definido con este argumento.
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
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
15-Load-3
15-Load-4
MoveAbsJ
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 ]
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.
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
[ \WObj]
(Objeto de trabajo)
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.
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
MoveAbsJ
Figura 1 Limitacin para la ejecucin hacia atrs en un movimiento con la instruccin MoveAbsJ.
8-MoveAbsJ-4
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
8-MoveAbsJ-5
8-MoveAbsJ-6
MoveC
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.
8-MoveC-1
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
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)
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.
8-MoveC-3
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 > ] ;
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
MoveJ
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 ]
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).
8-MoveJ-1
Velocidad
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.
8-MoveJ-2
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 > ] ;
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
MoveL
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.
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)
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.
8-MoveL-2
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 > ] ;
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
Open
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.
8-Open-1
[\Append]
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.
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
Informacin relacionada
Descrita en: Lectura y escritura de canales serie y archivos Resumen RAPID - Comunicacin
8-Open-3
8-Open-4
PDispOff
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.
Sintaxis
PDispOff ;
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
PDispOn
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.
La diferencia de la orientacin de la herramienta ser tomada en cuenta y ello implicar una rotacin del programa.
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.
8-PDispOn-1
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.
y
Posicin original, PuntProg
x
Desplazamiento de progr. Sistema de Cordenadas del Desplazamiento del Programa (ProgDisp)
x
Sistema de Coordenadas del Objeto
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
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.
x
Sistema de Coordenadas del Objeto
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;
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
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
8-PDispOn-5
8-PDispOn-6
PDispSet
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
8-PDispSet-1
y y
Posicin original Orientacin original Desplazamiento de progr
x
Sistema de Coordenadas del Objeto
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
ProcCall
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).
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
PulseDO
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.
8-PulseDO-1
1 Nivel de la seal 0
A A A A A A A A A
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
RAISE
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.
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
Reset
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
Sintaxis
Reset [ Seal := ] < variable (VAR) de signaldo > ;
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
RestoPath
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.
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
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
RETRY
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.
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 ;
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
RETURN
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
8-RETURN-1
- 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
SearchC
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.
8-SearchC-1
[ \Sup ]
(Supervisin)
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
Herram
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.
1 0
tiempo
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).
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
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
8-SearchC-5
8-SearchC-6
SearchL
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.
8-SearchL-1
[\Sup ]
(Supervisin)
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
[ \WObj]
(Objeto de Trabajo)
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.
1 0
tiempo
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;
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
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
8-SearchL-4
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
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
Set
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
Sintaxis
Set [ Seal := ] < variable (VAR) de signaldo > ;
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
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
MIN
MIN SEAL
Figura 1 Diagrama indicando como se escalan los valores de las seales analgicas.
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
SetDO
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 ]
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
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
SetGO
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
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
8-SetGO-2
SingArea
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 ]
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.
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
SoftAct
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%.
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 %.
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
SoftDeact
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.
Sintaxis
SoftDeact;
Informacin relacionada
Descrita en: Activacin del servo suave Instrucciones - SoftAct
8-SoftDeact-1
8-SoftDeact-2
StartMove
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.
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
8-StartMove-1
8-StartMove-2
Stop
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.
[ \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.
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
StopMove
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.
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
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
StorePath
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.
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
TEST
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.
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
TPErase
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.
Sintaxis
TPErase;
Informacin Relacionada
Descrita en: Escribir en la unidad de programacin Resumen RAPID - Comunicacin
8-TPErase-1
8-TPErase-2
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
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
8-TPReadFK-1
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.
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
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
8-TPReadFK-3
8-TPReadFK-4
TPReadNum
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.
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.
8-TPReadNum-1
[\BreakFlag]
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.
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
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
8-TPReadNum-3
8-TPReadNum-4
TPWrite
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
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
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"
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
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.
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
[ \T4 ]
(Trigg 4)
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.
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
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
8-TriggC-5
8-TriggC-6
TriggEquip
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
Punto final p1
10 mm
Punto p2 para la apertura de la pinza
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.
8-TriggEquip-1
Distancia
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 final
[ \DOp ]
(Salida Digital)
Es el nombre de la seal, cuando se desea cambiar una seal de salida digital. [ \GOp ] (Grupo Salida) Tipo de dato: signalgo
8-TriggEquip-2
[ \AOp ]
(Salida analgica)
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.
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-
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
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
8-TriggEquip-5
8-TriggEquip-6
TriggInt
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
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.
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.
8-TriggInt-1
Distancia
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
8-TriggInt-2
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
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
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
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
8-TriggInt-5
8-TriggInt-6
TriggIO
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
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
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
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-
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
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
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.
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
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.
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.
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
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 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.
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
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.
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.
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
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.
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
8-TRYNEXT-1
8-TRYNEXT-2
TuneReset
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%.
Sintaxis
TuneReset ;
Informacin relacionada
Descrita en: Ajuste de los servos Instrucciones - TuneServo
8-TuneReset-1
8-TuneReset-2
TuneServo
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%.
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.
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
ValorAjuste
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.
Sintaxis
TuneServo [MecUnit := ] < variable (VAR) de mecunit> , [Axis := ] < expresin (IN) de num> , [TuneValue := ] < expresin (IN) de num> ; [\ Type := <expresin (IN) de tunetype>];
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
UnLoad
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:").
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]
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.
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
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
15-UnLoad-3
15-UnLoad-4
VelSet
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
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
WaitDI
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
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.
8-WaitDI-1
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
WaitDO
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
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.
8-WaitDO-1
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
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
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.
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
WaitUntil
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]
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.
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
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
8-WaitUntil-3
8-WaitUntil-4
WHILE
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
La condicin que debe ser cumplida para que las instrucciones del bucle WHILE puedan ejecutarse.
Sintaxis
(EBNF) WHILE <expresin condicional> DO <lista instrucciones> ENDWHILE
8-WHILE-1
Informacin Relacionada
Descrita en: Expresiones Caractersticas Bsicas - Expresiones
8-WHILE-2
Write
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
8-Write-1
[\Orient]
(Orientacin)
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.
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
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
8-Write-3
8-Write-4
WriteBin
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
La matriz que contiene los caracteres que se desea introducir. NCar (Nmero de Caracteres) Tipo de dato: num
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.
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 )
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
Abs
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
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.
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
ACos
Ejemplo
VAR num angulo; VAR num valor; . . angulo:= ACos(valor);
Valor de retorno
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
9-ACos-1
9-ACos-2
ASin
Ejemplo
VAR num angulo; VAR num valor; . . angulo := ASin(valor);
Valor de retorno
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
9-ASin-1
9-ASin-2
ATan
Ejemplo
VAR num angulo; VAR num valor; . . angulo := ATan(valor);
Valor de retorno
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
9-ATan-1
9-ATan-2
ATan2
Ejemplo
VAR num angulo; VAR num x_valor; VAR num y_valor; . . angulo:= ATan2(y_valor, x_valor);
Valor de retorno
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.
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
CDate
Ejemplo
VAR string fecha; fecha := CDate(); La fecha actual est almacenada en la variable fecha.
Valor de Retorno
La fecha actual en una cadena.
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
9-CDate-1
9-CDate-2
CJointT
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
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
9-CJointT-1
9-CJointT-2
ClkRead
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.
Argumento ClkRead
Reloj El nombre del reloj que se desea leer.
(Reloj)
Tipo de dato: clock
Sintaxis
ClkRead ( [ Reloj := ] < variable (VAR) of clock > ) Una funcin con un valor de retorno del tipo num.
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
Cos
Ejemplo
VAR num ngulo; VAR num valor; . . valor := Cos(ngulo);
Valor de retorno
El valor del coseno, comprendido entre [-1, 1] .
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
9-Cos-1
9-Cos-2
CPos
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
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.
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.
9-CPos-1
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
CRobT
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
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.
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
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.
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
CTime
Ejemplo
VAR string tiempo; tiempo := CTime(); La hora actual ser almacenada en la variable tiempo.
Valor de Retorno
La hora actual en una cadena.
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.
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
CTool
Ejemplo
PERS tooldata temp_tool; temp_tool := CTool(); El valor de la herramienta actual es almacenado en la variable temp_tool.
Valor de retorno
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
9-CTool-1
9-CTool-2
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
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
9-CWObj-1
9-CWObj-2
DefDFrame
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.
9-DefDFrame-1
AntiguoP2
AntiguoP3
NuevoP1
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
Informacin relacionada
Descrita en: Activacin de la base de desplazamiento Definicin manual de la base de desplazamiento Instrucciones - PDispSet Programacin y Pruebas
9-DefDFrame-3
9-DefDFrame-4
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.
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]
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
base objeto
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
9-DefFrame-3
9-DefFrame-4
Dim
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
Argumentos Dim
Parmat El nombre de la matriz. NumDim (Nmero Dimensin) Tipo de dato: num
(ParMat NumDim)
(Parmetro matriz) Tipo de dato: Cualquier tipo
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
DOutput
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).
Argumentos DOutput
Seal El nombre de la seal que se desea leer.
(Seal)
Tipo de dato: signaldo
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.
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
EulerZYX
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
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
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
Exp
Ejemplo
VAR num x; VAR num valor; . . valor:= Exp( x);
Valor de retorno
El valor exponencial ex .
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
9-Exp-1
9-Exp-2
GetTime
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
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
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
GOutput
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).
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
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
IndInpos
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
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.
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
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
Argumentos IndSpeed
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 ]
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
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
9-IndSpeed-3
9-IndSpeed-4
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
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.
Sintaxis
IsPers( [ DatObj := ] < var o pers (INOUT) de cualquier tipo > ) Una funcin con un valor de retorno del tipo de dato bool.
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
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
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.
Sintaxis
IsVar( [ DatObj := ] < var o pers (INOUT) de cualquier tipo > ) Una funcin con un valor de retorno del tipo de dato bool.
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
MirPos
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
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)
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)
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
NumToStr
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
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
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
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
Offs
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.
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
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
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
OpMode
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
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
OrientZYX
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.
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
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
ORobT
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.
Devuelve los ejes externos en el sistema de coordenadas offset, es decir, que elimina nicamente el desplazamiento de programa del robot.
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
PoseInv
Inversin de la 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.
Argumentos PoseInv
Pose La posicin que se desea invertir.
(Pose)
Tipo de dato: pose
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
PoseMult
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.
9-PoseMult-1
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
PoseVect
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
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.
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
Pow
Ejemplo
VAR num x; VAR num y VAR num reg1; . reg1:= Pow(x, y); reg1 tiene asignado el valor xy.
Valor de retorno
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
Informacin relacionada
Descrito en: Instrucciones y funciones matemticas Resumen RAPID - Matemticas
9-Pow-2
Present
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
TRUE = El valor del parmetro ha sido definido al llamar la rutina. FALSE = No ha sido definido ningn valor de parmetro.
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
ReadBin
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
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.
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.
9-ReadBin-1
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
ReadMotor
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
El ngulo actual del motor expresado en radianes para un eje especificado del robot o de los ejes externos.
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
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
ReadNum
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
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.
9-ReadNum-1
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
Informacin relacionada
Descrita en: Apertura (etc.) de los canales serie Resumen RAPID - Comunicacin
9-ReadNum-3
9-ReadNum-4
ReadStr
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
La cadena de texto leda a partir del archivo especificado. Si el archivo est vaco (final del archivo), la cadena "EOF" ser devuelta.
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.
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
RelTool
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;
Valor de retorno
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.
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
Round
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
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.
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
RunMode
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
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
9-RunMode-1
9-RunMode-2
Sin
Ejemplo
VAR num angulo; VAR num valor; . . valor:= Sin(angulo);
Valor de retorno
El valor del seno, comprendido entre [-1, 1] .
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
9-Sin-1
9-Sin-2
Sqrt
Ejemplo
VAR num x_valor; VAR num y_valor; . . y_valor := Sqrt( x_valor);
Valor de retorno
El valor de la raz cuadrada.
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
9-Sqrt-1
9-Sqrt-2
StrFind
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
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
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.
9-StrFind-1
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
StrLen
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).
Argumentos StrLen
Str
(Str)
(Cadena) Tipo de dato: string
Sintaxis
StrLen( [ Str := ] <expresin (IN) de string> ) Una funcin con un valor de retorno del tipo de dato num.
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
StrMap
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
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
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
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
StrMatch
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
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
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> )
9-StrMatch-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-StrMatch-2
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
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
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
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
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
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
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
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
StrPart
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
Es la subcadena de la cadena especificada, que tiene la longitud especfica y que empieza en la posicin de carcter especificada.
Argumentos StrPart
Str
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> )
9-StrPart-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-StrPart-2
StrToVal
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
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);
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
Tan
Ejemplo
VAR num angulo; VAR num valor; . . valor := Tan(angulo);
Valor de retorno
El valor de la tangente.
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
9-Tan-1
9-Tan-2
TestDI
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.
Sintaxis
TestDI ( [ Seal := ] < variable (VAR) of signaldi > ) Una funcin con un valor de retorno del tipo de dato bool.
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
Trunc
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
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.
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
ValToStr
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
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
Sintaxis
ValToStr( [ Val := ] <expresin (IN) de ANYTYPE> ) Una funcin con un valor de retorno del tipo de dato string.
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
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
10-1
10-2
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.
10-3
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
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
11-1
11-2
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
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
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
11-5
11-6
INDICE
Datos iniciales y finales de soldadura Datos de oscilacin Datos de soldadura Soldadura al arco con movimiento circular Soldadura al arco con movimiento lineal
13-1
13-2
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).
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.
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
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-
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
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.
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
13-seamdata-6
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.
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
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
13-weavedata-1
Valor especificado 2
Figura 2 La oscilacin en V produce una oscilacin en forma de una V, vertical respecto a la costura.
Figura 3 La oscilacin triangular produce una oscilacin en forma de tringulo, vertical respecto a la costura.
tipo_osc
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
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
13-weavedata-2
Yw Xw
Yw Xw
W
Figura 5 La anchura (W) de la oscilacin para todos los tipos de trayectorias de oscilacin.
altura_osc
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
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
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.
13-weavedata-3
interv_der
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
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
incl_osc
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
ori_osc
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
Zw Yw Yw
Zw Yw
Zw
desv_osc
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
coord_izq
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
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
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
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
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
13-weavedata-7
13-weavedata-8
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/
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
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
La secuencia de soldadura
DATOS DE ENCENDIDO/CALENTAMIENTO
DATOS SOLD. 1
DATOS SOLD. 2
DATOS SOLD. 3
DATOS FINALES
nprograma
(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
p3
posiciones: p0
p1 p2
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
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.
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
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
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
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
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.
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
13-welddata-8
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
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
Figura 2 Si la soldadura es arrancada sin el argumento \On, la soldadura empieza en la posicin anterior.
[\Off]
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
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
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)
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
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.
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
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 entrada digital, arc_OK, dentro de un perodo de tiempo predeterminado, el inicio del proceso ser interrumpido. Una vez que el proceso haya empezado, todas las entradas de supervisin seleccionadas sern continuamente monitorizadas: - paro_proceso, agua_OK, gas_OK, arc_OK, tensin_OK, corriente_OK, velhilo_OK. La supervisin wirestick_err ser comprobada al final de la soldadura.
Ejemplo
MoveL ... ArcC \On, *, *,v100, cordn1, sold5, oscil1, fine, pistola1\Wobj:=wobj1; ArcC *, *, v100, cordn1,sold5, oscil1, z10, pistola1\Wobj:=wobj1; ArcL *, v100, cordn1,sold5, oscil1, z10, pistola1\Wobj:=wobj1; ArcC \Off, *, *, v100, cordn1,sold3, oscil3, fine, pistola1\Wobj:=wobj1; MoveL ... En este ejemplo, se lleva a cabo una soldadura en la que los datos de soldadura y los datos de oscilacin son cambiados en la parte final de la soldadura, segn se indica en la Figura 4. Observar que una instruccin de soldadura al arco deber utilizarse para cambiar la direccin de la trayectoria a pesar de que no haya ningn dato de soldadura que se haya cambiado.
13-ArcC-7
MoveL ArcC\On
xxxx
ArcL
ArcC
MoveL
Figura 4 La direccin y los datos de soldadura podrn cambiarse programando varias instrucciones de soldadura al arco.
En este ejemplo, se presupone que se ha utilizado un eje externo coordinado para el movimiento. En este caso, el objeto de trabajo, wobj1 deber estar especificado en la instruccin.
Sintaxis
ArcC [ \On, ] | [ \Off, ] [ PuntCirc := ] < expresin (IN) de robtarget > , [ AlPunto := ] < expresin (IN) de robtarget > , [ Veloc := ] < expresin (IN) de speeddata > [ ( \ T := < expresin (IN) de num > ) ] , [ Cordn := ] < persistente (PERS) de seamdata > , [ Sold := ] < persistente (PERS) de welddata > , [ Oscil := ] < persistente (PERS) de weavedata > , [Zona := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Herram := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;
13-ArcC-8
Informacin relacionada
Descrita en: Realizacin de una soldadura lineal Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Definicin de los datos iniciales y finales de soldadura Definicin de los datos de soldadura Definicin de los datos de oscilacin Parmetros de instalacin para el equipo y funciones de soldadura Movimientos en general Sistemas de coordenadas Fases del proceso y subactividades Instrucciones - ArcL Resumen RAPID - Movimiento Tipos de Dato - speeddata Tipos de Dato - zonedata Tipos de Dato - tooldata Tipos de Dato - wobjdata Tipos de Dato - seamdata Tipos de Dato - welddata Tipos de Dato - weavedata Parmetros del Sistema - Soldadura al arco Principios de Movimiento Principios de Movimiento - Sistemas de coordenadas Resumen RAPID Soldadura al Arco
13-ArcC-9
13-ArcC-10
ArcL (Arc Linear) sirve para soldar en una trayectoria recta. La instruccin controla y monitoriza el proceso completo de soldadura segn lo siguiente: - El punto central de la herramienta se mueve de forma lineal 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 ArcL, ArcL1 y ArcL2 radica en que estn conectadas a sistemas de proceso diferentes segn la configuracin de los Parmetros del Sistema. Aunque ArcL haya sido utilizado en los ejemplos, ArcL1 o ArcL2 podrn utilizarse tambin del mismo modo.
Ejemplo
MoveJ . . . . ArcL \On, p1, v100, cordn1, sold5, nooscil, fine, pistola1; ArcL \Off, p2, v100, cordn1, sold5, nooscil, fine, pistola1; MoveJ . . . . Este ejemplo suelda un cordn recto entre los puntos p1 y p2, segn se indica en la Figura 1. MoveJ MoveJ p2 ArcL\Off 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. El proceso de inicio y de final est determinado 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-ArcL-1
xx xx xx xx xx xx xx
ArcL\On
p1
Arguments ArcL [\On] | [\Off] AlPunto Veloc [\T ] Cordn Sold Oscil Zona [\Z] Herram [\WObj]
[\On] 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 ArcL (vase la Figura 2) y el robot permanecer estacionario 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. MoveJ
ArcL
MoveJ
Direccin de la soldadura
Figura 2 Si la soldadura es arrancada sin el argumento \On, la soldadura empieza en la posicin anterior.
[\Off]
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 ArcL sin el argumento \Off le sigue una instruccin MoveJ,
13-ArcL-2
por ejemplo, la soldadura acabar, pero de una forma incontrolada. Las instrucciones lgicas, como Set do1, sin embargo, podrn utilizarse entre dos instrucciones de soldadura al arco sin terminar el proceso de soldadura. AlPunto Tipo de dato: robtarget
Es la posicin de destino del robot y de los ejes externos. Suele estar definida como una posicin con nombre o es almacenada directamente en la instruccin (indicada por un * en la instruccin). Veloc 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
[ \T]
x xx xx xx xx xx
ArcL\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.
(Tiempo)
El argumento \T sirve para especificar el tiempo total del movimiento 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 oscila-
13-ArcL-3
cin es desactivada durante la ejecucin de las 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 una 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. (Sin 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 componente retraso_distancia 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
13-ArcL-4
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.
13-ArcL-5
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.
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 condiciones 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 entrada digital, arc_OK, dentro de un perodo de tiempo predeterminado, el inicio del proceso ser interrumpido. Una vez que el proceso haya empezado, todas las entradas de supervisin seleccionadas sern continuamente monitorizadas: - paro_proceso, agua_OK, gas_OK, arc_OK, tensin_OK, corriente_OK, velhilo_OK.
13-ArcL-6
Ejemplo
MoveL ... ArcL \On, *,v100, cordn1, sold5, oscil1, fine, pistola1\Wobj:=wobj1; ArcL *, v100, cordn1, sold5, oscil1, z10, pistola1\Wobj:=wobj1; ArcL *, v100, cordn1, sold5, oscil1, z10, pistola1\Wobj:=wobj1; ArcL \Off, *, v100, cordn1, sold3, oscil3, fine, pistola1\Wobj:=wobj1; MoveL ... En este ejemplo, se lleva a cabo una soldadura en la que los datos de soldadura y los datos de oscilacin son cambiados en la parte final de la soldadura, segn se indica en la Figura 4. Observar que una instruccin de soldadura al arco deber utilizarse para cambiar la direccin de la trayectoria a pesar de que no haya ningn dato de soldadura que se haya cambiado. MoveL
xxxxxx
ArcL\On
ArcL
ArcL
MoveL
Figura 4 La direccin y los datos de soldadura podrn cambiarse programando varias instrucciones de ArcL.
En este ejemplo, se presupone que se ha utilizado un eje externo coordinado para el movimiento. En este caso, el objeto de trabajo, wobj1 deber estar especificado en la instruccin.
13-ArcL-7
Sintaxis
ArcL [ \On, ] | [ \Off, ] [ AlPunto := ] < expresin (IN) de robtarget > , [ Veloc := ] < expresin (IN) de speeddata > [ ( \ T := < expresin (IN) de num > ) ] , [ Cordn := ] < persistente (PERS) de seamdata > , [ Sold := ] < persistente (PERS) de welddata > , [ Oscil := ] < persistente (PERS) de weavedata > , [ Zona := ] < expresin (IN) de zonedata > [ \ Z := < expresin (IN) de num > ] , [ Herram := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;
Informacin relacionada
Descrita en: Realizacin de una soldadura circular Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de las herramientas Definicin de los objetos de trabajo Definicin de los datos iniciales y finales de soldadura Definicin de los datos de soldadura Definicin de los datos de oscilacin Parmetros de instalacin para el equipo y funciones de soldadura Movimientos en general Sistemas de coordenadas Fases del proceso y subactividades Instrucciones - ArcC Resumen RAPID - Movimiento Tipos de Dato - speeddata Tipos de Dato - zonedata Tipos de Dato - tooldata Tipos de Dato - wobjdata Tipos de Dato - seamdata Tipos de Dato - welddata Tipos de Dato - weavedata Parmetros del Sistema - Soldadura al arco Principios de Movimiento Principios de Movimiento - Sistemas de coordenadas Resumen RAPID Soldadura al Arco
13-ArcL-8
INDICE
gundata spotdata SpotL Mdulo del Sistema Mdulo del Sistema Mdulo del sistema Mdulo del Sistema
Datos de la pinza de soldadura por puntos Datos de soldadura por puntos Soldadura por puntos con movimiento SWUSER SWUSRC SWUSRF SWTOOL
14-1
14-2
gundata
Gundata sirve para definir los datos especficos de la pinza de soldadura por puntos, y para controlar la pinza de la mejor forma durante el proceso de soldadura.
Descripcin
Gundata se utiliza en las instrucciones de soldadura por puntos y presenta la siguiente estructura: - Nmero de pares de electrodos. - Nmero de niveles de presin. - Bandera para indicar si se requiere una seal para comprobar el cierre preciso de la pinza. - Bandera para indicar si se requiere una seal para comprobar la apertura precisa de la pinza. - Contador para registrar el nmero de soldaduras realizadas y el nmero mximo permitido (un contador y un valor mximo para cada par). - Tiempos de cierre. - Tiempos de apertura.
Componentes
nof_tips (nmero de electrodos) Tipo de dato: num
Si la bandera es TRUE, se requerir una seal activada para comprobar que el nivel de presin ordenado ha sido alcanzado antes de que pueda arrancar la soldadura. open_request (peticin de apertura) Tipo de dato: bool
Si la bandera es TRUE, se requerir una seal activada para comprobar que la pinza est abierta antes de iniciar el movimiento siguiente. El tiempo excedido es definido por sw_go_timeout. (Ver Programas y Datos Predefinidos - Mdulo del Sistema SWUSER)
14-gundata-1
Nota El tiempo_apertura deber haber transcurrido antes de realizar el test (ver a continuacin). Si la bandera es FALSE, el siguiente movimiento se iniciar siempre despus de tiempo_apertura (ver a continuacin). tip1_counter Tipo de dato: num
Contador para registrar el nmero de soldaduras realizadas con el primer par de electrodos. El contador se incrementa automticamente. La utilizacin del contador es opcional. La puesta a cero ser manipulada por el programa del usuario. tip2_counter Tipo de dato: num
Contador para registrar el nmero de soldaduras realizadas con el segundo par de electrodos. El contador se incrementa automticamente. La utilizacin del contador es opcional. La puesta a cero ser manipulada por el programa del usuario. tip1_max 1 Tipo de dato: num
Nmero mximo de soldaduras a realizar con el primer par de electrodos antes de realizar el mantenimiento de los electrodos. Este parmetro deber utilizarse para el rodamiento de los electrodos, etc. tip2_max 1 Tipo de dato: num
Valor mximo para el nmero de soldaduras permitidas con el segundo par de electrodos antes de realizar el mantenimiento de los electrodos. Podr utilizarse si se desea por el programa del usuario. close_time1 Tipo de dato: num
Tiempo [s] para cerrar la pinza si se ha activado la presin p1. close_time2 Tipo de dato: num
Tiempo [s] para cerrar la pinza si se ha activado la presin p2. close_time3 Tipo de dato: num
Tiempo [s] para cerrar la pinza si se ha activado la presin p3. close_time4 Tipo de dato: num
Tiempo [s] para cerrar la pinza si se ha activado la presin p4. build_up_p11 Tipo de dato: num
Tiempo [s] transcurrido para constituir la presin a partir del momento en que la pinza se ha casi cerrado. La presin p1 deber estar determinada por adelantado.
1. Deber ser definida nicamente si es utilizado por el programa del usuario.
14-gundata-2
Este parmetro podr utilizarse para medir el tiempo de cierre automticamente. build_up_p21 Tipo de dato: num
Tiempo [s] transcurrido para constituir la presin a partir del momento en que la pinza se ha casi cerrado. La presin p2 deber estar determinada por adelantado. build_up_p31 Tipo de dato: num
Tiempo [s] transcurrido para constituir la presin a partir del momento en que la pinza se ha casi cerrado. La presin p3 deber estar determinada por adelantado. build_up_p41 Tipo de dato: num
Tiempo [s] transcurrido para constituir la presin a partir del momento en que la pinza se ha casi cerrado. La presin p4 deber estar determinada por adelantado. open_time Tipo de dato: num
El tiempo [s] que siempre transcurre entre la orden de apertura de la pinza y el inicio del siguiente movimiento o el test para la comprobacin de la apertura de la pinza (ver antes).
Estructura
< dato del tipo de gundata> <nof_tips de num> <nof_plevels de num> <close_request de bool> <open_request de bool> <tip1_counter de num> <tip2_counter de num> <tip1_max de num> <tip2_max de num> <close_time1 de num> <close_time2 de num> <close_time3 de num> <close_time4 de num> <build_up_p1 de num> <build_up_p2 de num> <build_up_p3 de num> <build_up_p4 de num> <open_time de num>
14-gundata-3
Informacin relacionada
Descrita en: Instruccin de soldadura por puntos Instrucciones - SpotL Definicin del TCP de la herramienta, peso, etc.Tipos de datos - tooldata
14-gundata-4
spotdata
Spotdata sirve para definir los parmetros que controlan el temporizador de soldadura y la pinza de soldadura para la soldadura de un punto dado.
Descripcin
Spotdata se refiere a las instrucciones de soldadura por puntos y contiene los datos que controlan la soldadura en la instruccin utilizada. Spotdata ofrece la siguiente estructura: - Nmero de programa en el que se va a utilizar el temporizador de soldadura. - Electrodo que va a ser activado (en el caso de una pinza doble). - Presin deseada de la pinza (si est conectada). - Nmero del temporizador de soldadura (en el caso en que haya ms de uno).
Componentes
prog_no (nmero de programa) Tipo de dato: num
Define el programa interno en el temporizador de soldadura que se va a utilizar para la solddura. El lmite permitido es 0..sw_prog_max (definido en el mdulo del sistema SWUSER). tip_no (nmero par electrodo) Tipo de dato: num
Define el par de electrodos que se va a activar. Se dispone de las siguientes alternativas: 1: 2: 12: Par de electrodo 1 Par de electrodo 2 Pares de electrododos 1 y 2. Ambos pares se cierran al mismo tiempo. La soldadura se realiza por secuencias, en primer lugar el par 1, en segundo lugar, el par 2. Luego, ambos electrodos se abren al mismo tiempo. Pares de electrodos 2 y 1. Ambos pares se cierran al mismo tiempo. La soldadura se realiza por secuencias, en primer lugar el par 2, en segundo lugar, el par 1. Luego, ambos electrodos se abren al mismo tiempo.
21:
Para las pinzas que slo disponen de un par de electrodos, el valor ser de 1.
14-spotdata-1
gun_pressure
(presin pinza)
Define la presin de la pinza a utilizar. Se dispone de las siguientes alternativas: Presin de la pinza 1-4 timer_no (nmero temporizador de soldadura )Tipo de dato: num
Define el temporizador de soldadura a utilizar. Utilizado nicamente para algunos tipos de temporizadores de soldadura. Si slo se utiliza un temporizador (caso normal) el valor deber ser 1.
Ejemplo
PERS spotdata spot1:= [16, 1,4,1]; El dato de soldadura por puntos spot1 est programado para un equipo que contiene una sola pinza y un temporizador de soldadura. Cuando se utiliza spot1 ocurre lo siguiente: - El nmero de programa 16 controla la soldadura. - La presin de la pinza debe alcanzar el nivel 4 antes de permitir que empiece la soldadura.
Estructura
<dato del tipo de spotdata> <prog_no de num> <tip_no de num> <gun_pressure de num> <timer_no de num>
Informacin relacionada
Descrita en: La instruccin de soldadura por puntos Datos de la pinza Instrucciones - SpotL Tipos de Datos - Gundata
14-spotdata-2
SpotL
Ejemplo
SpotL p100, vmax, spot10, gun7, tool7; Esta es la nica instruccin necesaria para realizar una operacin completa de soldadura. El TCP para tool7 es movido siguiendo una trayectoria lineal a la posicin p100 con la velocidad proporcionada en vmax. La posicin de soldadura es siempre una posicin de paro dado que la soldadura se realiza siempre cuando el robot est parado. La pinza se cierra por adelantado conforme se dirige a la posicin. La soldadura empieza y ser supervisada hasta que se haya acabado y la pinza volver a abrirse. Nota El programa continua ejecutndose despus de que la soldadura haya empezado y no ser bloqueada hasta alcanzar la orden siguiente que contenga un movimiento de robot. Ello podr ser inhabilitado mediante el interruptor \NoConc (vase a continuacin). El dato de soldadura por puntos spot10 contiene los parmetros del equipo de soldadura. El dato de la pinza gun7 contiene datos de soldadura especficos de la pinza.
Argumentos SpotL
AlPunto
AlPunto Veloc Punto Sold [\InPos] [\NoConc] [\Retract] Pinza Herram [\WObj]
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 punto central de la herramienta, la reorientacin de la herramienta y los ejes externos.
14-SpotL-1
PuntoSold
Son los datos Spot, del punto soldado, asociados al equipo de proceso de soldadura.
[\InPos]
El argumento opcional \InPos inhabilita el semicierre de la pinza. La pinza ser cerrada en primer lugar cuando el robot haya alcanzado la posicin final. Este argumento aumentar el tiempo de ejecucin pero resulta muy til en situaciones con poco espacio.
[\NoConc]
El argumento opcional \NoConc impide que el programa continue su ejecucin hasta que haya acabado la soldadura que se est realizando. Debera utilizarse cuando la instruccin siguiente es una instruccin lgica.
[\Retract]
El argumento opcional \Retract har que la pinza se abra en su apertura total (retract) despus de la soldadura. En el caso en que este argumento sea omitido, la pinza se abrir en su semi-apertura (work). Pinza Tipo de dato: gundata
Son los datos de la herramienta especfica de soldadura que corresponden a la pinza que se est utilizando. Herram Tipo de dato: tooldata
Es la herramienta que se est utilizando cuando se mueve el robot. El punto central de la herramienta es el punto movido a una posicin de destino especfica, que deber ser la posicin de los electrodos cuando la pinza est cerrada. [\WObj] 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 tal caso, 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 poder realizar un movimiento lineal respecto al objeto de trabajo.
Personalizacin de SpotWare
El paquete de programa SpotWare ofrece al usuario una multitud de oportunidades para
14-SpotL-2
personalizar y adaptar a cada instalacin especfica la instruccin SpotL: - mediante los datos definidos por el usuario, que afectan el comportamiento interno en SpotL. (Vase Programas y Datos Predefinidos - Mdulo del Sistema SWUSER, SWUSRF, SWUSRC). - mediante rutinas definidas por el usuario que son llamadas en ciertos puntos predefinidos de soldadura en la secuencia interna. (Vase Programas y Datos Predefinidos - Mdulo del Sistema SWUSER, SWUSRF, SWUSRC). - mediante el cambio de la configuracin de E/S. (Vase Parmetros del SistemaSoldadura por puntos). Sin embargo, el cuerpo principal de esta instruccin SpotL est indicada en la configuracin por defecto de la instalacin.
14-SpotL-3
MoveL ...
Movimiento
Cerrar la pinza
Pinza cerrada
Activar la presin
Presin OK
Abrir la pinza
Arrancar la soldadura
Soldadura preparada
Bloquear el movimiento
Cerrado de la pinza El cerrado de la pinza se activa en un momento dado definido antes de alcanzar la posicin de soldadura, independientemente de la velocidad utilizada. La pinza debe estar cerrada cuando la pinza alcanza la posicin final. El tiempo de cerrado de la pinza se encuentra especificado en los datos de pinza. Se refiere al tiempo necesario para cerrar la pinza a partir de la carrera de soldadura y depender de la presin seleccionada de la pinza (especificada en los datos de soldadura por puntos spot). En los datos spot de soldadura por puntos, se podr escoger entre un mximo de cuatro presiones de pinza. La presin de la pinza se activa tan pronto como empieza el movimiento hacia la posicin. En el caso en que lo requieran los datos de pinza, el sistema realizar una comprobacin para ver si la presin de la pinza ha sido alcanzada o no. Cuando la pinza se est cerrando, si se desea, work_select podr ser activado en 1. Vase Programas y Datos Predefinidos. Soldadura La seal de arranque es enviada al temporizador tan pronto como el robot haya alcanzado la posicin final. Antes de que la seal de arranque sea enviada hay toda una serie de seales de supervisin que debern ser recibidas. Se trata de rutinas definidas por el usuario. Vase Programas y Datos Predefinidos. La seal de arranque estar activada durante todo el periodo que dura la soldadura. Ser reinicializada despus de la seal de soldadura preparada o despus de la seal de tiempo de soldadura excedido. Apertura de la pinza Dependiendo del parmetro \Retract la pinza puede tener una apertura total y una semi apertura, despus de haber acabado la soldadura. La apertura es siempre supervisada, de forma que se espera una seal de apertura de la pinza. Esto permitir el inicio del movimiento siguiente. Asimismo, la pinza se abrir despus de un error de soldadura y tambin en otras situaciones de error. Movimiento Para ganar tiempo, el indicador de punto de arranque del programa se desplaza a la instruccin de movimiento siguiente, mientras el robot est todava realizando la soldadura. Esto posibilita que el movimiento siguiente pueda arrancar inmediatamente tras haber recibido la orden. Esto significa que las instrucciones que se encuentran despus de la instruccin SpotL, que no sean de movimiento, como las instrucciones lgicas, puedan llevarse a cabo de forma concurrente con la soldadura. En el caso en que no se desee esto, se deber utilizar el parmetro NoConc. Se podr configurar una habilitacin de movimiento para el movimiento siguiente que Gua de Referencia RAPID 14-SpotL-5
ser una seal a partir de la pinza o cierto tiempo despus de la seal soldadura preparada. La posicin final se refiere al sistema de coordenadas del objeto en WObj. Funcionalidad adicional en SpotWare Plus SpotWare Plus abre una gama todava ms amplia para la personalizacin del paquete SpotWare, ofreciendo ms rutinas al usuario. Existen rutinas de base implementadas en el software de base. Las siguientes funciones podrn ser fcilmente programadas por el usuario: Cerrado de la pinza - sw_close_gun Apertura de la pinza - sw_open_gun Determinacin de la presin - sw_set_pressure Clculo del tiempo de semicierre - sw_close_time Observar que el cdigo por defecto tiene el mismo comportamiento que el descrito anteriormente para SpotWare. Vase Programas y Datos Predefinidos - Mdulos del Sistema SWUSRC. Secuencia interna: La seal de arranque podr ser enviada al temporizador inmediatamente - si ha sido configurada de esta forma - despus de que el sistema haya recibido la supervisin de la soldadura previa. Vase Programas y Datos Predefinidos - Mdulo del Sistema SWUSRC.
Soldadura simulada
Simulacin total de un temporizador Se activa colocando sw_sim_weld en TRUE. Ello tendr por efecto la inhabilitacin de la seal de arranque para el temporizador. El tiempo de simulacin est especificado en sw_sim_time. No se realiza ninguna supervisin previa de la soldadura. Simulacin en el temporizador Se activa colocando sw_inhib_weld en TRUE. Ello tendr por efecto la desactivacin de la seal current_enable para la soldadura siguiente. No se realiza ninguna supervisin previa de la soldadura.
Gestin de errores
Eventos en una situacin de error Cuando la instruccin SpotL ha sido parada por una supervisin, ocurrir lo siguiente: - Se activa la seal process_error. - Aparece un mensaje de error en el visualizador. - El mensaje de error es registrado en una lista.
14-SpotL-7
Situaciones de error Pueden ocurrir las siguientes situaciones de error: - Error de parmetro de instruccin. - Error de supervisin antes de la soldadura. - Error de soldadura. - Error de supervisin despus de la soldadura y antes del movimiento siguiente. - Error de supervisin para la presin de la pinza. - Error de supervisin para el cierre de la pinza (SpotWare Plus). - Error de supervisin para la apertura de la pinza. Las actividades de supervisin realizadas antes y despus de la soldadura podrn ser modificadas por el usuario. En SpotWare Plus todas las actividades de supervisin descritas anteriormente, excepto el error de soldadura y el error de parmetro, podrn ser modificadas por el usuario. Para parar la ejecucin con un mensaje de error, bastar con introducir el mensaje deseado en la cadena de error asignada y aparecer en la unidad de programacin. La accin que se describe a continuacin ha sido programada por defecto. Vase tambin Programas y Datos Predefinidos. Error de parmetro de instruccin El error ocurre cuando se llama la instruccin SpotL que contiene parmetros incorrectos. El programa se detiene. El parmetro deber ser cambiado y la instruccin correspondiente deber ser rearrancada desde el principio. Supervisin antes de la soldadura Las supervisiones contenidas en sw_preweld_sup se estn llevando a cabo. Vase Programas y Datos Predefinidos - Mdulo del Sistema SWUSER o SWUSRC.
14-SpotL-8
Error de soldadura Un error de soldadura ocurre cuando por ejemplo la seal preparado del temporizador de soldadura no ha sido activada a un momento determinado (sw_wr_timeout). La instruccin SpotL podr ser configurada para volver a soldar automticamente un cierto nmero de veces antes de que aparezca visualizado el error y que se detenga la ejecucin del programa, en la espera de una actividad manual. - La seal de arranque est desactivada. - La pinza se abre. - La seal de error de proceso est activada. - Se ofrecen las siguientes alternativas manuales: Modo automtico: Servicio / Resoldar Modo manual: Servicio / Saltar / Resoldar (vase la ventana de dilogo de la Figura 2).
Rearranque seleccionando la opcin Servicio (Si se usa SpotWare Plus, esta opcin no podr utilizarse en el modo de ejecucin stepwise forward, ejecucin paso a paso hacia adelante). - La seal de error de proceso es reinicializada. - La rutina definida por el usuario sw_service_wf se est ejecutando, por ejemplo movindose a una posicin de inicio. - El robot ha regresado al punto de soldadura por puntos. - Regreso a la ventana de dilogo como se indica en la Figura 2. Rearranque seleccionando la opcin Saltar - La seal reset_fault ha sido pulsada. - La seal de error de proceso es reinicializada. - La ejecucin del programa contina omitiendo la soldadura incorrecta.
14-SpotL-9
Rearranque seleccionando la accin manual SwRunProc (SptWare Plus slo) - El mismo resultado que con la opcin Resoldar. Rearranque seleccionando la opcin Resoldar - La seal reset_fault ha sido pulsada. - La seal de error de proceso ha sido reinicializada. - La pinza se cierra. - La seal de arranque es activada con un retraso de tiempo de sw_reset_time2 y la ejecucin del programa es reanudada. Supervisin despus de la soldadura Las supervisiones contenidas en la rutina definida por el usuario sw_postweld_sup se estn ejecutando. Vase Programas y Datos Predefinidos - Mdulo del Sistema SWUSER o SWUSRC. Error de cierre de la pinza El error ocurre cuando no se alcanza la presin determinada despus de un tiempo especfico. La seal p1_ok es supervisada si gun_pressure=1 en los datos de soldadura por puntos, spotdata etc. - La seal de error de proceso est activada. - Se presentar la siguiente alternativa para seleccionar manualmente: Servicio / Reintento - Seleccionar Servicio: la rutina definida por el usuario sw_service_cg se ejecuta. - Regreso a la alternativa para seleccionar manualmente: Servicio / Reintento. - Seleccionar Reintento: La pinza se cierra y el sistema volver a comprobar la presin. Error de apertura de la pinza El error ocurre cuando la pinza no se ha abierto despus de cierto tiempo. La seal tip1_open o tip1_open y tip2_open si nof_tips=2 contenida en los datos de la pinza. - La seal de error de proceso est activada. - Se presenta la siguiente alternativa para seleccionar manualmente: Servicio / Reintento - Seleccionar Servicio: la rutina definida por el usuario sw_service_og se ejecuta. - Regreso a la ventana de dilogo segn se indica en la Figura 2. - Seleccionar Reintento: la pinza se est abriendo y las seales son comprobadas de nuevo por el sistema.
14-SpotL-10
Recuperacin de error cuando ejemplo programa 0 ha sido detenido (SpotWare Plus) Cuando la tarea de programa 0 ha sido detenida (programa usuario parado/ejecucin paso a paso/accin manual) la accin de servicio no ser seleccionable ya que contiene movimientos del robot. En vez de ello, se podr seleccionar Final, que tendr por efecto abortar el proceso actual.
Comunicacin
La instruccin SpotL comunica con su equipo utilizando seales paralelas. Para una descripcin completa de la configuracin de las E/S, vase Parmetros del Sistema - Soldadura por Puntos. Algunos temporizadores de soldadura con interface serie son aceptados. En tales casos el interface paralelo de SpotL sigue siendo vlido y los mensajes de comunicacin serie aparecen visualizados en un mapa interno. Vase informacin separada.
14-SpotL-11
Sintaxis
SpotL [ AlPunto:= ] < expresin (IN) de robtarget > , [ Veloc:= ] < expresin (IN) de speeddata > , [ SoldadPuntos:= ] < persistente (PERS) de spotdata > [ \ InPos ] [ \ NoConc ] [ \ Retract] , [ Pinza:= ] < persistente (PERS) de gundata> , [ Herram:= ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] ;
14-SpotL-12
Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de la herramienta Definicin de los objetos de trabajo Definicin de los datos de soldadura por puntos Definicin de los datos de pinza Caractersticas de la soldadura por puntos Herramientas para la personalizacin Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Tipos de datos - spotdata Tipos de datos - gundata Resumen RAPID - Soldadura por puntos Programas y Datos Predefinidos Mdulo del Sistema SwUser, SwUsrF, SwUsrC Parmetros del sistema - Soldadura por puntos Principios de Movimiento y de E/S Principios de Movimiento y de E/S Sistemas de coordenadas
14-SpotL-13
14-SpotL-14
Contenido
Datos A continuacin se indican los datos globales predefinidos:
Nombre sw_weld_counter
Declaracin PERS num sw_weld_counter := 0 CONST num sw_gp_timeout := 2 CONST num sw_wr_timeout := 2 CONST num sw_go_timeout := 2 CONST num sw_prog_max := 63 CONST bool sw_inhib_weld := FALSE
Descripcin Contador de puntos de soldadura. En la instruccin SpotL el contador es automticamente actualizado. Tiempo excedido para la presin de la pinza [s] Tiempo excedido para la soldadura lista [s] Tiempo excedido para la apertura de la pinza [s] Valor Max para n_prog en datos de soldadura (spotdata). Bandera para activar el temporizador de soldadura en el modo de simulacin. Si TRUE: La seal habilitar_ corriente (current_enable) desaparecer cuando la siguiente instruccin SpotL se ejecute. Si FALSE: La seal habilitar_ corriente (current_enable) se activar cuando la siguiente instruccin SpotL se ejecute.
14-SWUSER-1
Nombre sw_sim_weld
Descripcin Bandera para simular a nivel interno el temporizador de soldadura. Si TRUE: La seal de arranque de soldadura no est activada. Tiempo de soldadura simulado si sw_sim_weld = TRUE. Nmero de reintentos automticos para volver a soldar despus de haber ocurrido la seal de tiempo excedido para soldadura_lista (weld_ready timeout). 0 = ninguna, 1 = impar, 2 = par Reinicializar el pulso [s] Tiempo de espera cada vez despus de haber cambiado habilitar_corriente (current_enable) y despus del pulso de reinicializacin [s]. Si TRUE: El semicierre de la pinza ha sido desactivado. Factor de correccin utilizado cuando el tiempo de semicierre siguiente de la pinza ha sido calculado. [%]. Ser automticamente reinicializado a 100 despus de cada clculo de semicierre. Es preferible que este dato sea cambiado en una instruccin de asignacin separada justo antes de la instruccin SpotL implicada. Si TRUE: La salida work_select estar activada en 1 cuando la pinza est cerrada. Si FALSE: La salida work_select no se ver afectada cuando la pinza est cerrada. Comunica al sistema como debe arrancar el proceso de soldadura en el temporizador: 0: El arranque del proceso de soldadura es disparado por una seal de arranque especfica (por ejemplo, start1). El nmero de programa est previamente determinado. 1: El proceso de soldadura es disparado por las salidas de los nmeros de programa. No se precisa determinar previamente el nmero de programa.
sw_sim_time sw_aut_reweld
CONST num sw_parity:= 2 CONST num sw_reset_time1 := 0.5 CONST num sw_reset_time2 := 0.5
sw_inpos sw_close_corr
sw_aut_work_sel
sw_start_type
14-SWUSER-2
Normalmente se recomienda utilizar el mdulo SWUSER para almacenar variables de los tipos spotdata, gundata y tooldata, utilizados en la aplicacin. A continuacin se indican las variables predefinidas. Sus nombres y valores podrn ser cambiados libremente.
Nombre gun1
Declaracin PERS gundata gun1 := [1, 4, TRUE, TRUE, 0, 0, 20000, 20000, 0.050, 0.050, 0.050, 0.050, 0, 0, 0, 0, 0] PERS tooldata toolg1 := [TRUE, [[0, 0, 0], [1, 0, 0, 0]], [-1, [0, 0, 0],[1, 0, 0, 0], 0, 0, 0]] PERS spotdata spot1 := [1, 1, 1, 1]
toolg1 spot1
Rutinas Hay dos grupos de rutinas predefinidas instaladas con la aplicacin. Todas son utilizadas por la instruccin SpotL. Estas rutinas tienen una serie de funciones atribuidas por defecto pero podrn ser fcilmente cambiadas. Rutinas de supervisin definidas por el usuario: sw_preweld_sup La rutina es ejecutada antes de cada inicio de proceso de soldadura. En el caso en que un texto de error sea asignado a la cadena de texto errtext, entonces el sistema ser automticamente parado y aparecer el mensaje de error en el visualizador con una posibilidad de rearrancar la rutina de supervisin y continuar la ejecucin del programa. Funciones atribuidas por defecto: En el caso en que las funciones de inhabilitar la soldadura o de simular la soldadura no estn activadas, entonces el sistema comprobar las siguientes seales de entrada digital: timer_ready flow_ok temp_ok current_ok En caso de ocurrir algn error, un texto de error correspondiente ser asignado a la cadena de texto errtext. En el caso en que timer_ready=0, entonces se realizar un intento de reinicializacin
14-SWUSER-3
del temporizador as como una comprobacin de la entrada antes de que el error aparezca indicado. sw_postweld_sup La rutina es ejecutada despus del proceso de soldadura, antes de ejecutarse el movimiento a la posicin siguiente. En el caso en que un texto de error sea asignado a la cadena de texto errtext, entonces el sistema ser automticamente parado y aparecer el mensaje de error en el visualizador con una posibilidad de rearrancar la rutina de supervisin y continuar la ejecucin del programa. Funciones atribuidas por defecto: La seal work_select es activada o reinicializada segn la posicin del interruptor Retract (apertura total de la pinza) en la instruccin. sw_bwd_sup La rutina es ejecutada cuando la instruccin SpotL es ejecutada hacia atrs, antes de ejecutarse el movimiento a la posicin anterior. Funciones atribuidas por defecto: La seal work_select es activada o reinicializada segn la posicin del interruptor Retract (apertura total de la pinza) en la instruccin. Rutinas de servicio definidas por el usuario: Despus de la ejecucin de una rutina de servicio, el robot se mover a la posicin de soldadura interrumpida utilizando una velocidad reducida. Aparecer visualizado el texto Rutina de servicio lista y se indicarn las antiguas teclas de funcin. sw_service_cg (cierre de la pinza_servicio_ soldadura por puntos) La rutina es ejecutada cuando se produce el error de pinza Presin de pinza no alcanzada y que se pulsa la tecla de funcin Servicio. Pulsando la funcin Reintento de la rutina de servicio, se realizar un nuevo intento de cierre de la pinza y a continuacin, la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. La rutina de servicio se termina cuando se pulsa la tecla Retorno. sw_service_og (apertura de la pinza_servicio_soldadura por puntos) La rutina es ejecutada cuando se produce el error de pinza Tiempo excedido de apertura de la pinza y que se pulsa la tecla de funcin Servicio.
14-SWUSER-4
Pulsando la funcin Reintento de la rutina de Servicio, se realizar un test nuevo en el caso en que la pinza est abierta y a continuacin, la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. La rutina de servicio se termina cuando se pulsa la tecla Retorno. sw_service_wf (fallo de soldadura_servicio_soldadura por puntos) La rutina es ejecutada cuando se produce el error Tiempo excedido de soldadura lista y que se pulsa la tecla de funcin Servicio. Pulsando la tecla Reintento de la rutina de Servicio, se realizar un nuevo intento de soldadura por puntos y a continuacin la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. La rutina de servicio se termina cuando se pulsa la tecla Retorno.
14-SWUSER-5
14-SWUSER-6
14-SWUSRC-1
Contenido
Datos A continuacin se indican los datos globales predefinidos:
Nombre sw_weld_counter
Descripcin Contador de puntos de soldadura. El contador ser automticamente actualizado en la instruccin SpotL. Tiempo excedido de la presin de la pinza [s] Tiempo excedido de soldadura lista [s] Tiempo excedido de la apertura de la pinza [s] Valor mximo para n_prog en los datos de soldadura por puntos (spotdata). Bandera para activar el temporizador de soldadura en el modo de simulacin. Si TRUE: La seal habilitar_corriente (current_enable) queda borrada cuando se ejecuta la siguiente instruccin SpotL. Si FALSE: La seal habilitar_corriente (current_enable) queda activada cuando se ejecuta la siguiente instruccin SpotL. Bandera para simular a nivel interno el temporizador de soldadura. Si TRUE: La seal de arranque de soldadura no est activada. Temporizador de soldadura simulado si sw_sim_weld = TRUE. Nmero de reintentos automticos para volver a soldar despus de haber ocurrido la seal de tiempo excedido de soldadura lista (weld_ready timeout). 0 = ninguna, 1 = impar, 2 = par Reinicializar el pulso [s] Tiempo de espera cada vez despus de haber cambiado habilitar_corriente (current_enable) y despus del pulso de reinicializacin [s]. TRUE significa que el arranque de la soldadura ha sido determinado independientmente de inpos, es decir, inmediatamente despus del cierre de la pinza. Tiempo de correccin para retraso interno. Este valor afecta el tiempo de semicierre. Si la resolucin del paso dinmico aumenta, este valor deber ser disminuido. Comunica al sistema como debe arrancar el proceso de soldadura en el temporizador: 0: El arranque del proceso de soldadura es disparado por una seal de arranque especfica (por ejemplo, start1). El nmero de programa est previamente determinado. 1: El proceso de soldadura es disparado por las salidas de los nmeros de programa. No se precisa determinar previamente el nmero de programa.
PERS num sw_gp_timeout := 2 PERS num sw_wr_timeout := 2 PERS num sw_go_timeout := 2 PERS num sw_prog_max := 63
sw_inhib_weld
sw_sim_weld
sw_sim_time
sw_aut_reweld
PERS num sw_parity:= 0 PERS num sw_reset_time1 := 0.5 PERS num sw_reset_time2 := 0.5
sw_async_weld
sw_servo_corr
sw_start_type
14-SWUSRC-2
Los siguientes datos predefinidos se usan en las acciones manuales para trabajar en: Nombre sw_man_gun Declaracin PERS gundata gun1:=[1, 4, TRUE, TRUE, 0, 0, 20000, 20000, 0.050, 0.050, 0.050, 0.050, 0, 0, 0, 0, 0] PERS spotdata spot1 := [1, 1, 1, 1]; PERS num sw_man_retr:=0;
sw_man_spot sw_man_retr
14-SWUSRC-3
Rutinas Las siguientes rutinas predefinidas estn instaladas con la aplicacin. Todas ellas son utilizadas por la instruccin SpotL. Estas rutinas tienen atribuidas una serie de funciones por defecto pero podrn ser fcilmente cambiadas. Rutinas de supervisin definidas por el usuario para SpotL: Las siguientes rutinas son llamadas por la secuencia SpotL. PROC sw_preweld_sup () supervisin de la presoldadura en la soldadura por puntos La rutina es ejecutada antes de cada inicio del proceso de soldadura. En el caso en que se haya asignado un texto de error a la cadena de texto errtext, entonces el sistema ser automticamente detenido y aparecer el mensaje de error en el visualizador con una posibilidad de rearranque de la rutina de supervisin y de reanudar la ejecucin del programa. Funciones atribuidas por defecto: En el caso en que la soldadura simulada o que las funciones de inhabilitacin de la soldadura no estn activadas, entonces se comprobarn las siguientes seales de entrada digital: timer_ready flow_ok temp_ok current_ok En el caso de un error, un mensaje de error adecuado ser asignado a la cadena de texto errtext. En el caso en que timer_ready = 0, entonces se producir un intento de reinicializacin del temporizador y una comprobacin de la entrada, antes de que el error aparezca indicado. PROC sw_postweld_sup () supervisin de la postsoldadura en la soldadura por puntos La rutina es ejecutada despus del proceso de soldadura y antes de que se realice el movimiento a la posicin siguiente. En el caso en que se haya asignado un texto de error a la cadena de texto errtext, entonces el sistema ser automticamente detenido y aparecer el mensaje de error en el visualizador con una posibilidad de rearranque de la rutina de supervisin y de reanudar la ejecucin del programa.
14-SWUSRC-4
Funciones atribuidas por defecto: La seal work_select estar activada o reinicializada de acuerdo con la posicin del interruptor Retract (apertura total de la pinza) en la instruccin. Rutinas de supervisin independientes definidas por el usuario: Las siguientes rutinas son llamadas independientemente de la secuencia SpotL. PROC sw_sup_init () iniciar supervisin de soldadura por puntos La rutina es ejecutada al arranque en caliente. Aqu los nmeros de interrupcin del usuario utilizados por la rutina de tratamiento de interrupciones sw_sup_trap debern ser inicializados. Funciones atribuidas por defecto: Conexin y activacin de las seales e interrupciones utilizadas por la rutina sw_sup_trap. PROC sw_motor_on () motor activado para la soldadura por puntos Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin imotor_on. Activar las salidas weld_power y pulse water_on. PROC sw_motor_off () motor desactivado para la soldadura por puntos Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin imotor_off. Reinicializar la salida weld_power. PROC sw_proc_ok () proceso de soldadura por puntos ok Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin iproc_ok. Activar las salidas weld_power y pulse water_on.
14-SWUSRC-5
PROC sw_proc_error () error de proceso en soldadura por puntos Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin iproc_error. Reinicializar la salida weld_power. PROC sw_sup_curren () habilitar corriente de supervisin en soldadura por puntos Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin icurr_enable. Activar las salidas weld_power y pulse water_on. PROC sw_sup_currdis () inhabilitar corriente de supervisin en soldadura por puntos Rutina llamada por la rutina de tratamiento de interrupciones sw_sup_trap. Funciones atribuidas por defecto: Conexin al nmero de interrupcin icurr_disable. Reinicializar la salida weld_power. Rutinas de tratamiento de interrupciones definidas por el usuario: Las interrupciones en estas rutinas de tratamiento de interrupciones estarn siempre preparadas para la ejecucin independientemente del estado actual del sistema. TRAP sw_sup_trap () Rutina de tratamiento de interrupcin de la supervisin en la soldadura por puntos Rutina de tratamiento de interrupciones conectada a la supervisin. Funciones atribuidas por defecto: Control de las seales de salida water_start y weld_power dependiendo del estado del sistema. Referirse a Parmetros del Sistema - Soldadura por puntos. Rutinas de proceso definidas por el usuario para la instruccin SpotL: Las siguientes rutinas son llamadas por la secuencia SpotL. PROC sw_close_gun cierre de la pinza en la soldadura por puntos La rutina es ejecutada cada vez que se ordena un cierre de la pinza. N.B. Tambin para las acciones manuales.
14-SWUSRC-6
Si un texto de error es asignado a la cadena de texto errtext_close, entonces el sistema ser automticamente detenido con el texto de error en el visualizador y con una posibilidad de rearrancar la rutina de supervisin y de continuar la ejecucin del programa. Funciones atribuidas por defecto: Referirse a Instrucciones - SpotL. PROC sw_open_gun (num context) apertura de la pinza en la soldadura por puntos La rutina es ejecutada cada vez que se ordena una apertura de una pinza. N.B. Tambin para las acciones manuales. Parmetros: contexto: razn de la apertura. Un valor negativo sirve para dejar de lado los tests de apertura de la pinza e ignorar el mensaje errtext_open cuando se requiere una apertura instantnea en una situacin de error. Si un texto de error es asignado a la cadena de texto errtext_close, entonces el sistema ser automticamente detenido con el texto de error en el visualizador y con una posibilidad de rearrancar la rutina de supervisin y de continuar la ejecucin del programa. Funciones atribuidas por defecto: Referirse a Instrucciones - SpotL. PROC sw_set_pressure () activacin de la presin en la soldadura por puntos La rutina es ejecutada durante la fase de preparacin del proceso de soldadura por puntos. Funciones atribuidas por defecto: Activacin del grupo de salida de presin de acuerdo con el parmetro presin_pinza. Referirse a Instrucciones - SpotL.
14-SWUSRC-7
14-SWUSRC-8
Contenido
Datos A continuacin se indican los datos globales predefinidos:
Nombre sw_inpos
Descripcin Si TRUE: El semicierre de la pinza ha sido desactivado El factor de correccin utilizado cuando el tiempo de semicierre de la pinza ha sido calculado [%]. Ser automticamente reinicializado a 100 despus de cada clculo de semicierre. Es preferible que este dato sea cambiado en una instruccin de asignacin separada justo antes de la instruccin SpotL implicada.
sw_close_corr
Normalmente, se recomienda utilizar el mdulo SWUSRF para almacenar variables de los tipos de datos de soldadura (spotdata), datos de pinza (gundata) y datos de la herramienta (tooldata), utilizados para la aplicacin. Las siguientes variables son predefinidas pero sus nombres y valores podrn ser cambiados libremente.
Nombre gun1
Declaracin PERS gundata gun1 := [1, 4, TRUE, TRUE, 0, 0, 20000, 20000, 0.050, 0.050, 0.050, 0.050, 0, 0, 0, 0, 0] PERS tooldata toolg1 := [TRUE, [[0, 0, 0], [1, 0, 0, 0]], [-1, [0, 0, 0],[1, 0, 0, 0], 0, 0, 0]] PERS spotdata spot1 := [1, 1, 1, 1]
toolg1
spot1
14-SWUSRF-1
Rutinas Las siguientes rutinas predefinidas estn instaladas con la aplicacin. Todas ellas son utilizadas por la instruccin SpotL. Estas rutinas tienen atribuidas una serie de funciones por defecto pero podrn ser fcilmente cambiadas. Rutinas de servicio definidas por el usuario: Despus de la ejecucin de una rutina de servicio, el robot se mover a la posicin de soldadura interrumpida utilizando una velocidad reducida. Aparecer visualizado el texto Rutina de servicio lista y se indicarn las antiguas teclas de funcin. PROC sw_service_cg (); cierre de la pinza_servicio_soldadura por puntos La rutina es ejecutada cuando se produce el error de pinza Presin de pinza no alcanzado y que se pulsa la tecla de funcin Servicio. Apretando la funcin Reintento de la rutina de servicio, se producir un nuevo intento de cierre de la pinza y a continuacin la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. Para finalizar la rutina de servicio, se deber apretar la tecla Retorno. PROC sw_service_og (); apertura de la pinza_servicio_soldadura por puntos La rutina es ejecutada cuando se produce el error de pinza Tiempo excedido de la apertura de la pinza y que se pulsa la tecla de funcin Servicio. Apretando la funcin Reintento de la rutina de servicio, se producir un nuevo intento de apertura de la pinza y a continuacin, la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. Para finalizar la rutina de servicio, se deber apretar la tecla Retorno. PROC sw_service_wf (); fallo de soldadura_servicio_soldadura por puntos La rutina es ejecutada cuando se produce el error Tiempo excedido de soldadura lista y que se pulsa la tecla de funcin Servicio. Apretando la funcin Reintento de la rutina de servicio, se producir un nuevo intento
14-SWUSRF-2
de soldadura del punto y a continuacin, la ejecucin del programa continuar. Funciones atribuidas por defecto: Ninguna funcin est atribuida, slo aparecer visualizado un texto de informacin y se indicar la tecla Retorno. Para finalizar la rutina de servicio, se deber apretar la tecla Retorno. Funciones y rutinas generales del usuario: Las siguientes rutinas estn conectadas a diferentes entradas en el software de base en RAPID de la aplicacin SpotWare. FUNC num sw_close_time (spotdata spot, gundata gun); clculo del tiempo de cierre en soldadura por puntos La funcin es ejecutada durante la preparacin del movimiento. Retorna el tiempo de semicierre de la pinza. Parmetros de entrada: Punto de soldadura del tipo spotdata: punto de soldadura actual proporcionado en la instruccin SpotL en preparacin. Pinza del tipo gundata: pistola actual proporcionada en la instruccin SpotL en preparacin. Funciones atribuidas por defecto: El tiempo resultante depender de los cuatro niveles de presin en los datos de pinza (gundata).
14-SWUSRF-3
14-SWUSRF-4
SWTOOL
El mdulo del sistema SWTOOL contiene funciones de datos y rutinas. El mdulo ha sido declarado NOVIEW y contiene utilidades que se utilizan como una caja de herramientas cuando se realiza la personalizacin de SpotWare Plus. Este mdulo suele ser accesible en todas las tareas RAPID de SpotWare Plus.
Contenido
Valores de retorno de funcin SW_OK SW_ERROR SW_CANCEL SW_TIMOUT
14-SWTOOL-1
Rutinas Las siguientes rutinas predefinidas vienen instaladas con la aplicacin. Sirven para modificar la instruccin SpotL. PROC SwSetCurrSpot (spotdata spot) SpotWeldSetCurrentSpot La funcin cambia el parmetro spotdata de datos de soldadura del proceso de soldadura por puntos que est en curso de ejecucin. PROC SwSetCurrGun (gundata gun) SpotWeldSetCurrentGun La funcin cambia el parmetro gundata de datos de pinza del proceso de soldadura por puntos que est en curso de ejecucin. PROC SwSetCurrRetr (num retr) SpotWeldSetCurrentRetract La funcin cambia el parmetro retract (apertura de la pinza) del proceso de soldadura por puntos que est en curso de ejecucin. retr 0: semi-apertura retr 1: apertura total PROC SwGetCurrNoConc (bool noconc) SpotWeldSetCurrentNoConcurrency La funcin cambia el parmetro NoConc del proceso de soldadura por puntos que est en curso de ejecucin. noconc TRUE: NoConc est presente noconc FALSE: NoConc no est presente
14-SWTOOL-2
Funciones Las siguientes funciones predefinidas vienen instaladas con la aplicacin. FUNC spotdata SwGetCurrSpot SpotWeldGetCurrentSpot La funcin retorna el contenido del parmetro spotdata de datos de soldadura por puntos del proceso de soldadura por puntos que est en curso de ejecucin. FUNC gundata SwGetCurrGun SpotWeldGetCurrentGun La funcin retorna el contenido del parmetro gundata de datos de pinza del proceso de soldadura por puntos que est en curso de ejecucin. FUNC num SwGetCurrRetr SpotWeldGetCurrentRetract La funcin retorna el contenido del parmetro retract (apertura de la pinza) del proceso de soldadura por puntos que est en curso de ejecucin. Valor de retorno 0: semi-apertura Valor de retorno 1: apertura total FUNC bool SwGetCurrNoConc SpotWeldGetCurrentNoConcurrency La funcin retorna el contenido del parmetro NoConc del proceso de soldadura por puntos que est en curso de ejecucin. Valor de retorno TRUE: NoConc est presente Valor de retorno FALSE: NoConc no est presente
14-SWTOOL-3
FUNC num SwWaitInput (VAR signaldi input, num value \num MaxWait) SpotWeldWaitInput Espera hasta que la seal de entrada haya alcanzado el valor. Se puede aadir como parmetro opcional un tiempo mximo MaxWait. Cuando se ejecuta una rutina de usuario llamada por el proceso de soldadura por puntos, en la que se supone que el proceso esperar una seal de entrada, esta funcin sirve para dejar que el sistema abandone el proceso actual. Valor de retorno SW_OK: La seal estaba activada en la salida value. Valor de retorno SW_TIMEOUT: El tiempo especificado en MaxWait ha sido excedido. Valor de retorno SW_CANCEL: El proceso SpotWare ha recibido un aborto y desea cancelar el proceso actual. Provocar un retorno desde la rutina del usuario actual. FUNC num SwWaitOutput (VAR signaldo output, num value \num MaxWait) SpotWeldWaitOutput Espera hasta que la seal de salida haya alcanzado el valor. Se puede aadir como parmetro opcional un tiempo mximo MaxWait. Cuando se ejecuta una rutina de usuario llamada por el proceso de soldadura por puntos, en la que se supone que el proceso esperar una seal de salida, esta funcin sirve para dejar que el sistema abandone el proceso actual. Valor de retorno SW_OK: La seal estaba activada en value. Valor de retorno SW_TIMEOUT: El tiempo especificado en MaxWait ha sido excedido. Valor de retorno SW_CANCEL: El proceso SpotWare ha recibido un aborto y desea cancelar el proceso actual. Provocar un retorno desde la rutina del usuario actual.
14-SWTOOL-4
INDICE
Datos de pistola de aplicacin de adhesivo Aplicacin de adhesivo con un movimiento circular Aplicacin de adhesivo con un movimiento lineal GLUSER
15-1
15-2
ggundata
Ggundata sirve para definir los datos especficos de la pistola de aplicacin de adhesivo, que sern utilizados posteriormente para controlar la pistola de aplicacin de adhesivo de la mejor forma durante el proceso de aplicacin de adhesivo. Observar que el TCP y el peso de la pistola de aplicacin de adhesivo estn definidos en tooldata.
Descripcin
Ggundata se utiliza en instrucciones de aplicacin de adhesivo y tiene la siguiente estructura: - La pistola que se debe usar (1 o 2). - Tiempo para semiapertura y semicierre de la pistola. - Tipo de flujo1 y flujo2. - Tiempos de preactivacin de flujo1 y flujo2 en posicin activada. - Tiempos de preactivacin de los cambios de flujo1 y flujo2. - Tiempos de preactivacin de flujo1 y flujo2 en posicin desactivada. - Tiempos para retraso en la pistola de adhesivo para diferentes velocidades - Valores de la velocidad a la que se activar el valor mximo lgico de las salidas analgicas.
Componentes
ggun_no (nmero de la pistola a usar) Tipo de dato: num
Nmero a definir si este dato ggundata es para la pistola 1 o la pistola 2. gl_on_time (tiempo de semiapertura) Tipo de dato: num
Tiempo en segundos necesario para la apertura de la pistola. gl_off_time (tiempo de semicierre) Tipo de dato: num
Tiempo en segundos necesario para el cierre la pistola. fl1_type (tipo de flujo1) Tipo de dato: num
Tipo de la seal de flujo1, activada en: ninguna, fija o proporcional, donde ninguna = 0, fija = 1 y proporcional = 2.
15-ggundata-1
fl1_on_time
Tiempo en segundos necesario para activar el flujo1 en la pistola cuando la instruccin ha sido programada con el argumento \On. fl1_time (preactivacin tiempo cambio flujo1) Tipo de dato: num Tiempo en segundos necesario para activar el flujo1 en la pistola cuando la instruccin ha sido programada sin los argumentos \On y \Off (es decir, el tiempo necesario para cambiar el flujo de un valor especfico a otro). fl1_off_time (preactivacin tiempo reinicializacin flujo1) ) Tipo de dato: num
Tiempo en segundos necesario para reinicializar el flujo1 en la pistola cuando la instruccin ha sido programada con el argumento \Off. fl1_delay (retraso flujo1) Tipo de dato: num
Tiempo en segundos para compensar el retraso de la pistola de adhesivo para diferentes velocidades del TCP. fl1_refspeed (vel. referencia adhesivo) Tipo de dato: num
Velocidad de referencia de aplicacin de adhesivo en mm/s. Normalmente es la velocidad mx. de aplicacin de adhesivo para esta pistola. Se utiliza en el clculo del valor de flujo1 para las seales proporcionales de velocidad. Este valor deber ser > 0 tambin cuando el tipo de flujo=fijo. fl2_type (tipo de flujo2) Tipo de dato: num
Tipo de seal de flujo2, activada en: ninguna, fija o propocional, donde ninguna = 0, fija = 1 y proporcional = 2. fl2_on_time (preactivacin tiempo flujo2) Tipo de dato: num Tiempo en segundos necesario para activar el flujo2 de la pistola cuando la instruccin ha sido programada con el argumento \On. fl2_time (preactivacin tiempo cambio flujo2) Tipo de dato: num Tiempo en segundos necesario para activar el flujo2 en la pistola cuando la instruccin ha sido programada sin los argumentos \On y \Off (es decir, el tiempo necesario para cambiar el flujo de un valor especfico a otro).
15-ggundata-2
fl2_off_time
Tiempo en segundos necesario para reinicializar el flujo2 en la pistola cuando la instruccin ha sido programada con el argumento \Off. fl2_delay (retraso flujo2) Tipo de dato: num
Tiempo en segundos para compensar el retraso de la pistola de adhesivo para diferentes velocidades del TCP. fl2_refspeed (vel. referencia adhesivo) Tipo de dato: num
Velocidad de referencia de aplicacin de adhesivo en mm/s. Normalmente es la velocidad mx. de aplicacin de adhesivo para esta pistola. Se utiliza en el clculo del valor de flujo2 para las seales proporcionales de velocidad. Este valor deber ser > 0 tambin cuando el tipo de flujo=fijo.
Limitaciones
Nmero mximo de pistolas: 2 Compensacin mx. retraso real (fl1_delay y fl2_delay): 60 - 80 ms Los valores de los diferentes tiempos dentro del conjunto de datos deber encontrarse entre 0 y 1 segundos. El valor de la velocidad de referencia deber ser > 0.
Datos predefinidos
El dato predefinido ggun1 define la utilizacin de la pistola nmero 1, un flujo1 y un flujo2 del tipo 2, es decir, que se utilizan valores de flujo proporcionales y todos los tiempos estn puestos en cero y la velocidad de referencia es de 1000 mm/s para cada flujo. PERS ggun1 := [1,0,0,2,0,0,0,0,1000,2,0,0,0,0,1000];
Estructura
< dataobject de ggundata> <ggun_no de num> <gl_on_time de num> <gl_off_time de num> <fl1_type de num> <fl1_on_time de num>
15-ggundata-3
<fl1_time de num> <fl1_off_time de num> <fl1_delay de num> <fl1_refspeed de num> <fl2_type de num> <fl2_on_time de num> <fl2_time de num> <fl2_off_time de num> <fl2_delay de num> <fl2_refspeed de num>
Informacin relacionada
Descrita en: Intruccin de aplicacin de adhesivo Instrucciones - GlueL / GlueC
15-ggundata-4
GlueC
Ejemplo 1
GlueL \On, p1, v250, ggun1 \F1:=100 \F2:=80, z30, tool7; GlueC p2, p3, v250, ggun1 \F1:=90 \F2:=70, z30, tool7; GlueL \Off, p4, v250, ggun1, z30, tool7; 1. El TCP para tool7 se mueve siguiendo una trayectoria lineal hacia la posicin p1 con la velocidad proporcionada en v250. Debido al argumento \On la pistola se abre y el flujo de adhesivo empieza segn los datos proporcionados en ggundata ggun1 con anticipacin en su camino hacia p1. El flujo de adhesivo empieza con los valores de porcentajes proporcionados por los parmetros \F1:=100 y \F2:=80. 2. El TCP se mover a continuacin de p1 hacia p3 con los valores de flujo proporcionados por la instruccin de adhesivo precedente. Antes de alcanzar p3, los valores de flujo pasan al 90% y al 70% respectivamente. El momento en que esto ocurre est especificado en ggun1. 3. El TCP se mover a continuacin de p3 hacia p4 con los valores de flujo proporcionados por la instruccin de adhesivo precedente. Debido al argumento \Off las salidas sern reinicializadas de acuerdo con los tiempos proporcionados en ggun1 antes de alcanzar p3. MoveJ p4 GlueL GlueL\On
xx xx xx xx
p3 S1 p2
S2 GlueC
Movimiento sin aplicacin adhes. xxxxxx Acciones preliminares Aplicacin de adhesivo con acciones preliminares al final de la aplicacin
Acciones preliminares
p1
15-GlueC-1
por la primera instruccin estn activos. S2: Flow1=90, Flow2=70, es decir que los valores de adhesivo proporcionados por la segunda instruccin estn activos.
Argumentos GlueC [\On|]\[Off] [\Conc] PuntoCirc AlPunto Vel PistolaAdhesivo [\F1] [\F2] [\D] Zona Herram [\WObj]
[\On] Tipo de dato: switch El argumento \On se usa en la primera instruccin de aplicacin de adhesivo para arrancar el proceso de aplicacin de adhesivo (vase la Figura 1). El argumento slo podr utilizarse en la primera instruccin de aplicacin de adhesivo para llevar a cabo la apertura necesaria de la pistola y la activacin del flujo por anticipado. Si se ejecutan dos instrucciones consecutivas con el argumento \On se producir un mensaje de error. Dado que la instruccin no puede contener a la vez los argumentos \On y \Off juntos, la trayectoria de adhesivo deber tener por lo menos 2 instrucciones, una que contiene el argumento \On y otra que contiene el argumento \Off. Las acciones preliminares, que se realizan en la trayectoria hacia la posicin programada, sirven para activar las salidas de apertura de la pistola y de aplicacin analgica de adhesivo. [\Off] Tipo de dato: switch
El argumento \Off se usa en la ltima instruccin de aplicacin de adhesivo y sirve para terminar la aplicacin una vez se ha alcanzado la posicin programada. En su camino hacia la posicin final, la salida para la apertura de la pistola as como las salidas de flujo, sern reinicializadas segn los valores de tiempo especificados en los datos ggundata. De esta forma es imposible terminar la aplicacin de adhesivo sin utilizar el argumento \Off durante los movimientos. [\Conc] (Concurrente) Tipo de dato: switch
Mientras el robot se est moviendo, se van ejecutando diversas instrucciones. Este argumento se utiliza en las mismas situaciones que el argumento correspondiente en otras instrucciones de Movimiento pero en la aplicacin de adhesivo es muy til para permitir velocidades ms elevadas cuando existen instrucciones de aplicacin de adhesivo consecutivas que estn juntas unas a otras. Con el argumento \Conc, el nmero de instrucciones de movimiento sucesivas est limitado a 5. En una seccin de programa que incluye la secuencia StorePath-RestoPath, no se permitirn instrucciones de movimiento con el argumento \Conc.
15-GlueC-2
Si se omite este argumento, la instruccin siguiente slo ser ejecutada despus de que el robot haya alcanzado la zona especificada. 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 (si est 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 (si est marcado por un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata
El dato de velocidad se aplica a los movimientos. Los datos de velocidad describen la velocidad del TCP, de la reorientacin de la herramienta y la velocidad de los ejes externos. PistolaAdhesivo Tipo de dato: ggundata
Son los datos especficos de la pistola, por ejemplo, el tiempo de reaccin para activar un flujo, etc.., para la pistola en uso. [\F1] (Flujo1) Tipo de dato: num
El argumento \F1 proporciona un valor de porcentaje para ajustar el flujo1 para la parte siguiente de la trayectoria. Si no se ha programado ningn valor, se utilizar el mismo valor que se utiliz en la instruccin precedente de aplicacin de adhesivo. Si no se ha programado ningn valor en una instruccin de aplicacin de adhesivo con el argumento \On se utilizar el valor 0. [\F2] (Flujo2) Tipo de dato: num
El argumento \F2 proporciona un valor de porcentaje para ajustar el flujo2 para la parte siguiente de la trayectoria. Si no se ha programado ningn valor, se utilizar el mismo valor que se utiliz en la instruccin precedente de aplicacin de adhesivo. Si no se ha programado ningn valor en una instruccin de aplicacin de adhesivo con el argumento \On, se utilizar el valor 0.
[\D]
(Distancia)
El argumento opcional \D ofrece la posibilidad de llevar a cabo todas las acciones preliminares durante la instruccin a una distancia determinada (mm) con antelacin a la posicin programada.
15-GlueC-3
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
Es la herramienta utilizada en el movimiento del robot. El TCP de la herramienta es el punto que se mueve a la posicin de destino especificada, y deber corresponder con la posicin del elemento final cuando la pistola est abierta. [\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 para poder realizar un movimiento lineal respecto al objeto de trabajo.
Personalizacin de GlueWare
El paquete de programa GlueWare ofrece al usuario una multitud de oportunidades para personalizar y adaptar a cada instalacin especfica la instruccin GlueC: - mediante los datos definidos por el usuario, que afectan el comportamiento interno en GlueC. (Vase Programas y Datos Predefinidos - Mdulo del Sistema GLUSER). - mediante el cambio de la configuracin de E/S. (Vase Parmetros del SistemaAplicacin de adhesivo). Sin embargo, el cuerpo principal de esta instruccin GlueC est indicada en la configuracin por defecto de la instalacin.
15-GlueC-4
alcanzada. Si se est utilizando el argumento \D, las salidas se activarn a la distancia especificada adems de los tiempos especificados, antes de que la posicin haya sido alcanzada. - Una vez que la posicin programada ha sido alcanzada, la ejecucin del programa continuar con la instruccin siguiente.
15-GlueC-5
Limitaciones
No se podr rearrancar la secuencia de aplicacin de adhesivo actual despus de un paro. La aplicacin de adhesivo ser rearrancada con la instruccin siguiente de aplicacin de adhesivo que contenga un argumento \On.
Gestin de errores
Situaciones de error Pueden ocurrir las siguientes situaciones de error: - Error de un argumento de instruccin. - Valores ggundata incorrectos. - Arranque sin un argumento \On. - Arranque con dos instrucciones con argumento \On. - Final con argumento \Off sin haber arrancado con el argumento \On. - Paro durante la ejecucin de instrucciones de aplicacin de adhesivo. La instruccin o el dato defectuoso deber ser cambiado y el conjunto de instrucciones de aplicacin de adhesivo actuales deber ser rearrancado desde el principio.
15-GlueC-6
Sintaxis
GlueC [[\On ]|[\Off ] [\ Conc],] [PuntoCir:=]<expresin (IN) de robtarget>, [AlPunto:=]<expresin (IN) de robtarget>, [Vel:=]<expresin (IN) de speeddata>, [PistolaAdhesivo:=]<persistente (PERS) de ggundata> [\F1:=<expresin (IN) de num>] [\F2:=<expresin (IN) de num>] [\D:=<expresin (IN) de num>], [Zona:=]<expresin (IN) de zonedata>, [Herram:=]<persistente (PERS) de tooldata> [\WObj:=<persistente (PERS) de wobjdata>];
Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de la herramienta Definicin de los objetos de trabajo Aplicacin de adhesivo - generalidades Personalizacin de herramientas Configuracin de E/S Movimiento en general Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Resumen RAPID - GlueWare Programas y Datos Predefinidos Mdulo del Sistema GLUSER Parmetros del sistema - GlueWare Principios de Movimiento y de E/S
15-GlueC-7
15-GlueC-8
GlueL
Ejemplo 1
GlueL GlueL GlueL \On, p1, v250, ggun1 \F1:=100 \F2:=80, z30, tool7; p2, v250, ggun1 \F1:=90 \F2:=70, z30, tool7; \Off, p3, v250, ggun1, z30, tool7;
1. El TCP para tool7 se mueve en una trayectoria lineal hacia la posicin p1 con la velocidad proporcionada en v250. Debido al argumento \On la pistola se abre y el flujo de adhesivo empieza segn los datos proporcionados en ggundata ggun1 con anticipacin en su camino hacia p1. El flujo de adhesivo empieza con los valores de porcentajes proporcionados por los parmetros \F1:=100 y \F2:=80. 2. El TCP se mover a continuacin de p1 hacia p2 con los valores de flujo proporcionados por la instruccin de adhesivo precedente. Antes de alcanzar p2, los valores de flujo pasan al 90% y al 70% respectivamente. El momento en que esto ocurre est especificado en ggun1. 3. El TCP se mover a continuacin de p2 hacia p3 con los valores de flujo proporcionados por la instruccin de adhesivo precedente. Debido al argumento \Off las salidas sern reinicializadas de acuerdo con los tiempos proporcionados en ggun1 antes de alcanzar p3. MoveJ GlueL\On
x xx xx xx x
GlueL p3
MoveX
Acciones preliminares
p1
S1
p2
S2
GlueL\Off
Movimiento sin aplicacin adhes. Acciones preliminares Aplicacin de adhesivo con acciones preliminares al final de la aplicacin
S1: Flow1=100, Flow2=80, es decir, que los valores de adhesivo proporcionados por la primera instruccin estn activos.
15-GlueL-1
S2: Flow1=90, Flow2=70, es decir, que los valores de adhesivo proporcionados por la segunda instruccin estn activos.
Argumentos GlueL [\On|]\[Off] [\Conc] AlPunto Vel PistolaAdhesivo [\F1] [\F2] [\D] Zona Herram [\WObj]
[\On] Tipo de dato: switch El argumento \On se usa en la primera instruccin de aplicacin de adhesivo para arrancar el proceso de aplicacin de adhesivo (vase la Figura 1). El argumento slo podr utilizarse en la primera instruccin de aplicacin de adhesivo para llevar a cabo la apertura necesaria de la pistola y la activacin del flujo por anticipado. Si se ejecutan dos instrucciones consecutivas con el argumento \On se producir un mensaje de error. Dado que la instruccin no puede contener a la vez los argumentos \On y \Off juntos, la trayectoria de adhesivo deber tener por lo menos 2 instrucciones, una que contiene el argumento \On y otra que contiene el argumento \Off. Las acciones preliminares, que se realizan en la trayectoria hacia la posicin programada, sirven para activar las salidas de apertura de la pistola y de aplicacin analgica de adhesivo. [\Off] Tipo de dato: switch
El argumento \Off se usa en la ltima instruccin de aplicacin de adhesivo y sirve para terminar la aplicacin una vez se ha alcanzado la posicin programada. En su camino hacia la posicin final, la salida para la apertura de la pistola as como las salidas de flujo, sern reinicializadas segn los valores de tiempo especificados en los datos ggundata. De esta forma es imposible terminar la aplicacin de adhesivo sin utilizar el argumento \Off durante los movimientos. [\Conc] (Concurrente) Tipo de dato: switch
Mientras el robot se est moviendo, se van ejecutando diversas instrucciones. Este argumento se utiliza en las mismas situaciones que el argumento correspondiente en otras instrucciones de Movimiento pero en la aplicacin de adhesivo es muy til para permitir velocidades ms elevadas cuando existen instrucciones de aplicacin de adhesivo consecutivas que estn juntas unas a otras. Con el argumento \Conc, el nmero de instrucciones de movimiento sucesivas est limitado a 5. En una seccin de programa que incluye la secuencia StorePath-RestoPath, no se permitirn instrucciones de movimiento con el argumento \Conc. Si se omite este argumento, la instruccin siguiente slo ser ejecutada despus
15-GlueL-2
de que el robot haya alcanzado la zona especificada. 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 (si est marcado por un asterisco * en la instruccin). Velocidad Tipo de dato: speeddata
El dato de velocidad se aplica a los movimientos. Los datos de velocidad describen la velocidad del TCP, de la reorientacin de la herramienta y la velocidad de los ejes externos. PistolaAdhesivo Tipo de dato: ggundata
Son los datos especficos de la pistola, por ejemplo el tiempo de reaccin para activar un flujo, etc., para la pistola en uso (Vase Tipos de Datos - Ggundata). [\F1] (Flujo1) Tipo de dato: num
El argumento \F1 proporciona un valor de porcentaje para ajustar el flujo1 para la parte siguiente de la trayectoria. Si no se ha programado ningn valor, se utilizar el mismo valor que se utiliz en la instruccin precedente de aplicacin de adhesivo. Si no se ha programado ningn valor en una instruccin de aplicacin de adhesivo con el argumento \On, se utilizar el valor 0. [\F2] (Flujo2) Tipo de dato: num
El argumento \F2 proporciona un valor de porcentaje para ajustar el flujo2 para la parte siguiente de la trayectoria. Si no se ha programado ningn valor, se utilizar el mismo valor que se utiliz en la instruccin precedente de aplicacin de adhesivo. Si no se ha programado ningn valor en una instruccin de aplicacin de adhesivo con el argumento \On, se utilizar el valor 0.
[\D]
(Distancia)
El argumento opcional \D ofrece la posibilidad de llevar a cabo todas las acciones preliminares durante la instruccin a una distancia determinada (mm) con antelacin a la posicin programada. 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 en el movimiento del robot. El TCP de la herramienta es el punto que se mueve a la posicin de destino especificada, y deber corresponder con la posicin del elemento final cuando la pistola est abierta.
15-GlueL-3
[\WObj]
(Objeto de trabajo)
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 para poder realizar un movimiento lineal respecto al objeto de trabajo.
Personalizacin de GlueWare
El paquete de programa GlueWare ofrece al usuario una multitud de oportunidades para personalizar y adaptar a cada instalacin especfica la instruccin GlueL: - mediante los datos definidos por el usuario, que afectan el comportamiento interno en GlueL. (Vase Programas y Datos Predefinidos - Mdulo del Sistema GLUSER). - mediante el cambio de la configuracin de E/S. (Vase Parmetros del SistemaAplicacin de adhesivo). Sin embargo, el cuerpo principal de esta instruccin GlueL est indicada en la configuracin por defecto de la instalacin.
15-GlueL-4
Clculo del flujo1 lgico cuando fl1_type = 1 (fijo): flujo1 lgico = F1 * gl_fl1_ovr * gl_fl1_ref/ 10000 Clculo del flujo1 lgico cuando fl1_type = 2 (proporcional): flujo1 lgico = (F1 * gl_fl1_ovr * gl_fl1_ref/ 10000) * current speed/fl1_refspeed Esto significa lo siguiente: Con los valores por defecto anteriores y con la configuracin por defecto para los mn. y mx. lgicos de las salidas de adhesivo analgicas (Vase Parmetros del Sistema - GlueWare) obtenemos el siguiente resultado: Si flow1_type = 1 (fijo): el valor mximo fsico es activado si F1 = 100 (%) en la instruccin. Si flow1_type = 2 (proporcional): el valor mximo fsico es activado si F1 = 100 (%) en la instruccin y que la velocidad actual es la misma que fl1_refspeed en los datos actuales ggundata.
15-GlueL-5
Ejemplo 2
GlueL \On, p1, v250, ggun1 \F1:=100 \F2:=80 \D:=50, z30, tool7; GlueL p2, v250, ggun1 \F1:=90 \F2:=70 \D:=50, z30, tool7; GlueL \Off, p3, v250, ggun1 \D:=50, z30, tool7; MoveJ GlueL\On p1 S1 p2 S2 GlueL p3 GlueL\Off MoveX
xx xx xx xx
Acciones preliminares
En este ejemplo todo es lo mismo que en el ejemplo 1 excepto que todas las acciones especficas de aplicacin de adhesivo se ejecutan a una distancia especfica (50 mm) antes de alcanzar las posiciones programadas. Imaginemos que el valor mximo lgico de las seales es 10. Cuando fl1_type=1 (fijo) y gl_fl1_our=100 (valor normal para el ajuste de flujo de adhesivo), se obtienen los valores 10 en el tramo S1 y 9 en el tramo S2 para flujo 1. Cuando se cambia gl_fl1. a 50, se obtendrn los valores 500 y 450 respectivamente. Cuando fl2_type=2 (proporcional) y gl_fl2_our=100, se obtendrn los valores 800 en el tramo S1 y 700 en el tramo S2 para flujo 2, si la velocidad actual es la misma que la velocidad de referencia (fl2_refspeed). Cuando la velocidad es reducida, por ejemplo, en una trayectoria esquina, el flujo ser conformemente reducido. Los valores fsicos de las seales estn tambin determinados por la forma en que las seales analgicas han sido configuradas en los parmetros del sistema (relacin entre valores fsicos y lgicos).
adhesivo sern llevadas a cabo como instrucciones de posicionamiento normales. La aplicacin de adhesivo ser rearrancada con la siguiente instruccin de adhesivo que contenga un argumento \On.
Limitaciones
No se podr rearrancar la secuencia de aplicacin de adhesivo actual despus de un paro. La aplicacin de adhesivo ser rearrancada con la instruccin siguiente de aplicacin de adhesivo que contenga un argumento \On.
Gestin de errores
Situaciones de error Pueden ocurrir las siguientes situaciones de error: - Error de un argumento de instruccin. - Valores ggundata incorrectos. - Arranque sin un argumento \On. - Arranque con dos instrucciones con argumento \On. - Final con argumento \Off sin haber arrancado con el argumento \On. - Paro durante la ejecucin de instrucciones de aplicacin de adhesivo. La instruccin o el dato defectuoso deber ser cambiado y el conjunto de instrucciones de aplicacin de adhesivo actuales deber ser rearrancado desde el principio.
15-GlueL-7
Sintaxis
GlueL [[\On ]|[\Off ] [\ Conc],] [AlPunto:=]<expresin (IN) de robtarget>, [Vel:=]<expresin (IN) de speeddata>, [PistolaAdhesivo:=]<persistente (PERS) de ggundata> [\F1:=<expresin (IN) de num>] [\F2:=<expresin (IN) de num>] [\D:=<expresin (IN) de num>], [Zona:=]<expresin (IN) de zonedata>, [Herram:=]<persistente (PERS) de tooldata> [\WObj:=<persistente (PERS) de wobjdata>];
Informacin relacionada
Descrita en: Otras instrucciones de posicionamiento Definicin de la velocidad Definicin de los datos de zona Definicin de la herramienta Definicin de los objetos de trabajo Aplicacin de adhesivo - generalidades Personalizacin de herramientas Configuracin de E/S Movimiento en general Resumen RAPID - Movimiento Tipos de datos - speeddata Tipos de datos - zonedata Tipos de datos - tooldata Tipos de datos - wobjdata Resumen RAPID - GlueWare Programas y Datos Predefinidos - Mdulo del Sistema GLUSER Parmetros del sistema - GlueWare Principios de Movimiento y de E/S
15-GlueL-8
Contenido
Datos Los siguientes datos globales son predefinidos: Nombre Declaracin Descripcin Ajuste global para la seal flujo1 Alcance: 0-200% Ajuste global para la seal flujo2 Alcance: 0-200% Valor de referencia utilizado en el clculo de flujo1 de adhesivo. Normalmente es el mismo valor que el Mx. lgico de la seal de salida analgica para flujo1. Valor de referencia utilizado en el clculo de flujo2 de adhesivo. Normalmente es el mismo valor que el Mx. lgico de la seal de salida analgica para flujo2.
gl_fl1_ovr CONST num gl_fl1_ovr := 100 gl_fl2_ovr CONST num gl_fl2_ovr := 100 gl_fl1_ref CONST num gl_fl1_ref := 1000
gl_fl2_ref
gl_sim_glue CONST bool gl_sim_glue := FALSEBandera que sirve para simular el proceso de aplicacin de adhesivo. Si est en TRUE: ninguna seal de adhesivo ser activada. ggun1 PERS ggundata ggun1 := Datos ggundata predefinidos con [1,0,0,2,0,0,0,0,1000,2,0,0,0,0,1000] valores defecto.
Rutinas Existen algunas rutinas predefinidas instaladas en la aplicacin. Estas rutinas no tienen funciones atribuidas por defecto, pero podrn ser cambiadas para personalizar el comportamiento de GlueWare.
15-GLUSER-1
rutina gl_err_actions Esta rutina se ejecuta cuando ocurre un error de GlueWare. rutina gl_power_on Esta rutina es ejecutada cada vez que el sistema es puesto en marcha. rutina gl_start La rutina es ejecutada cada vez que se empieza la ejecucin de un programa desde el principio. (Desde Main) rutina gl_restart La rutina es ejecutada cada vez que la ejecucin de un programa parado es reanudada. rutina gl_stop Esta rutina es ejecutada cuando se realiza un paro normal durante la ejecucin del programa. rutina gl_qstop Esta rutina es ejecutada cuando se realiza un paro de emergencia durante la ejecucin del programa.
15-GLUSER-2
INDICE
Pgina 1 La Ventana de Movimiento ............................................................................................ 3 1.1 Ventana: Movimiento ............................................................................................. 3 1.1.1 Men: Especial............................................................................................. 3 2 La Ventana de Entradas/Salidas.................................................................................... 4 2.1 Ventana: Entradas/Salidas ...................................................................................... 4 2.1.1 Men: Archivo ............................................................................................. 4 2.1.2 Men: Editar ................................................................................................ 5 2.1.3 Men: Ver .................................................................................................... 5 3 La Ventana de Programa ............................................................................................... 6 3.1 Movimiento entre diferentes partes del programa.................................................. 6 3.2 Mens generales ..................................................................................................... 7 3.2.1 Men: Archivo ............................................................................................. 7 3.2.2 Men: Editar ................................................................................................ 8 3.2.3 Men: Ver .................................................................................................... 9 3.3 Ventana: Instrucciones de Programa ...................................................................... 10 3.3.1 Men: IPL_1 (visualiza las diferentes listas de seleccin de instrucciones) 10 3.3.2 Men: IPL_2 (visualiza las diferentes listas de seleccin de instrucciones) 11 3.4 Ventana: Rutinas del Programa .............................................................................. 11 3.4.1 Men: Rutina................................................................................................ 12 3.4.2 Men: Especial............................................................................................. 12 3.5 Ventana: Datos del Programa ................................................................................. 13 3.5.1 Men: Datos................................................................................................. 13 3.5.2 Men: Especial............................................................................................. 14 3.6 Ventana: Tipos de Datos del Programa .................................................................. 15 3.6.1 Men: Tipos ................................................................................................. 15 3.7 Ventana: Test del Programa ................................................................................... 16 3.7.1 Men: Test ................................................................................................... 16 3.8 Ventana: Mdulos del Programa ............................................................................ 17 3.8.1 Men: Mdulo.............................................................................................. 17 4 La Ventana de Produccin ............................................................................................. 18 4.1 Ventana: Funcionamiento en Produccin............................................................... 18 4.1.1 Men: Archivo ............................................................................................. 18 4.1.2 Men: Editar ................................................................................................ 18 4.1.3 Men: Ver .................................................................................................... 19 5 El Administrador de Archivos ....................................................................................... 20 5.1 Ventana: Administrador de Archivos ..................................................................... 20
18-1
5.1.1 Men: Archivo............................................................................................. 5.1.2 Men: Editar ................................................................................................ 5.1.3 Men: Ver .................................................................................................... 5.1.4 Men: Opciones ........................................................................................... 6 La ventana de Servicio.................................................................................................... 6.1 Mens generales ..................................................................................................... 6.1.1 Men: Archivo............................................................................................. 6.1.2 Men: Editar ................................................................................................ 6.1.3 Men: Ver .................................................................................................... 6.2 Ventana Registro .................................................................................................... 6.2.1 Men: Especial ............................................................................................ 6.3 Ventana de Calibracin .......................................................................................... 6.3.1 Men: Calib ................................................................................................. 6.4 Ventana de Conmutacin ....................................................................................... 6.4.1 Men: Com .................................................................................................. 7 Los Parmetros del Sistema........................................................................................... 7.1 Ventana: Parmetros del Sistema ........................................................................... 7.1.1 Men: Archivo............................................................................................. 7.1.2 Men: Editar ................................................................................................ 7.1.3 Men: Temas ............................................................................................... 8 Ventana: ArcWare.......................................................................................................... 8.1 Ventana: Test del Programa............................................................................ 8.2 Ventana: Ejecucin del Programa...................................................................
20 21 21 21 22 22 22 22 23 24 24 25 25 26 26 27 27 27 28 28 29 29 30
18-2
1 La Ventana de Movimiento
1.1 Ventana: Movimiento
Especial Mvto. manual Unidad: Mvto: Robot Lineal Robot Pos: x: y: z: Q1: Q2: Q3: Q4: 1234.5 mm -244.9 mm 12.8 mm 0.7071 0.0000 0.0000 -0.7071
Posicin utilizada
x y z WObj
Comando Alinear
18-3
2 La Ventana de Entradas/Salidas
2.1 Ventana: Entradas/Salidas
Archivo Editar
Ver
Entradas/Salidas Todas las seales Nombre Valor di1 di2 pinza1 pinza2 pinza3 pinza4 noprog errorsold 0 1 1 0 0 1 1 1 13 0
Tipo 4(64) DI DI DO DO DO DO GO DO
Lista de E/S
Sirve para: imprimir la lista de E/S utilizada realizar una lista de preferencias en la ventana de Entradas/Salidas
18-4
Sirve para: ir a una lnea especfica de la lista ir a la primera lnea de la lista ir a la ltima lnea de la lista
2.1.3 Men: Ver Ver Ms Comunes Todas las seales Entradas digitales Salidas digitales Analgicas Grupos Seguridad Tarjetas
1 2 3 4 5 6 7 8
Comando: Ms Comunes Todas las seales Entrada digital Salida digital Analgica Grupos Seguridad Tarjetas
Sirve para visualizar: la lista ms comn todas las seales del usuario todas las entradas digitales todas las salidas digitales todas las seales analgicas todos los grupos de seales digitales todas las seales de seguridad todas las tarjetas de E/S
18-5
3 La Ventana de Programa
3.1 Movimiento entre diferentes partes del programa
Subrutinas
Instrucciones
18-6
1 2 3 4 5 6 7 8
Abrir... Nuevo... Guardar Guardar como... Imprimir... Preferencias... Comprobar programa Cerrar programa Slo aparece en la ventana de mdulo
Comando: Abrir Nuevo Guardar Guardar como Imprimir Preferencias Comprobar Programa Cerrar Programa Guardar Mdulo Guardar Mdulo como
Sirve para: leer programas de la memoria de masa crear programas nuevos guardar programas en la memoria de masa guardar programas en la memoria de masa con nombres nuevos la impresin del programa realizar preferencias en la ventana de Programa la comprobacin de que el programa es correcto la eliminacin de un programa de la memoria del programa guardar un mdulo en la memoria de masa guardar un mdulo en la memoria de masa bajo un nombre nuevo
18-7
3.2.2 Men: Editar Editar 1 2 3 4 5 6 7 8 9 0 Cortar Copiar Pegar Ir al inicio Ir al final Marcar Cambio seleccionado Valor ModPos Buscar... Ver/Ocultar IPL
Comando Cortar Copiar Pegar Ir al inicio Ir al final Marcar Cambio seleccionado Valor Mod Pos Buscar Ver/Ocultar IPL
Sirve para: cortar las lneas seleccionadas al bloc de notas copiar las lneas seleccionadas al bloc de notas pegar el contenido del bloc de notas en un programa ir a la primera lnea ir a la ltima lnea seleccionar varias lneas cambiar un argumento de instruccin mostrar el valor utilizado (del argumento seleccionado) modificar una posicin buscar/reemplazar un argumento especfico Ver/ocultar una lista de seleccin de instrucciones
18-8
3.2.3 Men: Ver Ver 1 2 3 4 5 6 Instr. <ltima rutina> Rutinas Datos <ltimo tipo> Tipos de Datos Test Mdulos
Comando Instr. Rutinas Datos Tipos de Datos Test Mdulos Rutina Main Rutina Seleccionada Gestor de errores
Sirve para: las instrucciones de la rutina utilizada ventana de Instruccin del Programa todas las rutinas ventana de Rutinas del Programa los datos del programa ventana de Datos del Programa todo tipo de datos ventana de Tipos de datos del Programa la ventana de Test del Programa todos los mdulos ventana de Mdulos del Programa las instrucciones de la rutina principal la instruccin de la rutina seleccionada el gestor de errores de la rutina utilizada
18-9
Instrucciones
3.3.1 Men: IPL_1 (visualiza las diferentes listas de seleccin de instrucciones) IPL_1 1 2 3 4 5 6 7 8 9 0 Comunes Flujo de Prog. Varios Caractersticas de Mvto Movimiento y Proceso E/S Comunicaciones Interrupcciones Recuperacin de Errores Sistema y Tiempo Matemticas
18-10
3.3.2 Men: IPL_2 (visualiza las diferentes listas de seleccin de instrucciones) IPL2 1 Ms Comn 1 2 Ms Comn 2 3 Ms Comn 3 4 5 6 7 8 9 Caract.Mov.Avanz. Mov.Avanz. Computador Ext. Multi Tarea Soporte RAPID Servicio
num
Rutinas
Nuevo...
Decl...
Dupl...
Datos
Test
18-11
3.4.1 Men: Rutina Rutina 1 Datos de Rutina... 2 Instrucciones 3 Gestor Errores (Gestor de ejec.hacia atrs) 4 En Mdulo 5 En Sistema 6 Aadir Gestor Errores 7 Aadir Gestor de ejec.atrs
Comando: Datos de Rutina Instrucciones Gestor de errores Gestor de ejec. hacia atrs En Mdulo En Sistema
Sirve para: crear una rutina nueva visualizar las instrucciones de la rutina seleccionada visualizar el gestor de errores de la rutina seleccionada visualizar el gestor de ejecucin hacia atrs de la rutina seleccionada visualizar nicamente las rutinas en el mdulo utilizado visualizar todas las rutinas de todos los mdulos
Aadir/Borrar Gestor de Error aadir/borrar un gestor de error a la rutina seleccionada Aadir/Borrar Gestor de ejecucin hacia atrs aadir/borrar un gestor de ejecucin hacia atrs a la rutina seleccionada
3.4.2 Men: Especial Especial Espejo... Comando: Espejo Sirve para: crear una imagen espejo de una rutina o de un mdulo
18-12
Nuevo...
Decl...
Dupl...
Tipos-> Test->
3.5.1 Men: Datos Datos 1 Valor 2 Tipos 3 En Mdulo 4 En Sistema 5 En Rutina nombre rutina
Sirve para: leer o cambiar el valor utilizado de los datos seleccionados llamar a la lista con todos los tipos de datos llamar nicamente los datos de este mdulo crear datos nuevos llamar todos los datos de rutina
18-13
Sirve para: la definicin de una herramienta, de un objeto de trabajo o de un desplazamiento de programa ir a la posicin seleccionada
18-14
Archivo Editar
Ver
Tipos de datos
Todos
Datos
3.6.1 Men: Tipos Tipos 1 Datos 2 Tipos Utilizados 3 Todos los tipos
Sirve para: llamar todos los datos de un tipo seleccionado llamar nicamente aquellos tipos de datos que son utilizados llamar todos los tipos de datos
18-15
Archivo Editar
Ver
Especial WELDPIPE/main
!Init data counter:=0; !Ir a la posicin de inicio MoveL pstart,v100,FINE,gripper; WaitUntil DInput(ready)=1; !Start Set startsignal; open_gripper; Inicio FWD BWD (ModPos) Instr
3.7.1 Men: Test Especial 1 2 3 4 Mover Mover Mover Mover Cursor al Punto de arranque el Punto de arranque al Cursor el Punto de arranque a Main el Punto de arranque a la Rutina
5 Ir a la posicin seleccionada... 6 Simular... Comando: Mover el Cursor al Punto de arranque Mover el Punto de arranque al Cursor Mover el Punto de arranque a Main Mover el Punto de arranque a la rutina Ir a la posicin seleccionada Simular Sirve para: arrancar a partir de la ltima instruccin parada arrancar a partir de la instruccin seleccionada arrancar a partir de la rutina principal main arrancar a partir de cualquier rutina ir a la posicin seleccionada permitir la ejecucin del programa en el modo MOTORES OFF
18-16
Archivo Editar
Ver
Mdulos del Programa Nombre Cadpositions Mainmodule System1 System2 Tipo Mdulo Mdulo Mdulo Mdulo de de de de
Mdulos
Nuevo...
Decl.
Datos
Visualizar los datos del programa Crear un mdulo nuevo Cambiar la declaracin
Sirve para: visualizar los datos del programa visualizar la lista completa de mdulos
18-17
4 La Ventana de Produccin
4.1 Ventana: Funcionamiento en Produccin
Archivo Editar Info Produccin Rutina Estado Ver CAR_LIN1 : main : PARADO : 75 % : Continua 2(39)
MoveL p1, v500, z20, tool1; MoveL p2, v500, z20, tool1; MoveL p3, v500, z20, tool1; Set do1; Set do2; Iniciar FWD BWD
18-18
Sirve para visualizar: el programa en la parte inferior de la ventana ajustar una posicin
18-19
5 El Administrador de Archivos
5.1 Ventana: Administrador de Archivos
Archivo Editar Ver Opciones Administrador de archivos flp1:/WELDINGS/TEST Nombre .. PROC1 PROC2 PROCFUNC WDATA WTOOLS RESULTS Tipo Subir un nivel Programa Programa Mdulo Programa Mdulo Programa Directorio Directorio Fecha 2(12) .. 1993-05-28 1993-05-09 1993-05-01 1993-05-01 1993-05-01 1993-06-01 Anterior
Unidad utilizada
Archivos
5.1.1 Men: Archivo Archivo Nuevo Directorio ... Renombrar... Copiar... Mover... Imprimir directorio Sirve para: crear un directorio nuevo cambiar el nombre de un archivo seleccionado copiar un archivo o un directorio seleccionado a otra memoria de masa o directorio mover un archivo seleccionado o un directorio a otra memoria de masa o directorio imprimir una lista en una impresora
1 2 3 4 5 Comando:
18-20
Sirve para: ir a una lnea especfica de la lista ir a la primera lnea de la lista ir a la ltima lnea de la lista
Ver 1 [ram1disk :] 2 [flp1:]Disc#12 Comando: ram1disk: flp1: Sirve para ver: los archivos contenidos en el disco RAM los archivos contenidos en un disquete
5.1.4 Men: Opciones Opciones 1 Formatear... 2 Conversin rpida... Comando: Formatear Conversin rpida Sirve para: formatear un disquete conversin de versiones antiguas de programa
18-21
6 La ventana de Servicio
6.1 Mens generales
Sirve para: guardar registros en un disquete o en otra memoria de masa rearrancar el robot
1 2 3 4
Sirve para: ir a una lnea especfica de la lista ir a la primera lnea de la lista ir a la ltima lnea de la lista muestra informacin referente a los registros de mensaje seleccionados
18-22
6.1.3 Men: Ver Ver 1 Registro 2 Fecha y hora... 3 Calibracin 4 5 6 7 Conmutacin Base Coord Definicin de dos ejes Info Sistema
Comando Registro Fecha y hora Calibracin Conmutacin BaseCoord Definicin de dos ejes Info del Sistema
Sirve para: visualizar los diferentes registros actualizar la fecha y hora calibrar el robot conmutar los motores (vase Manual de Producto/ Reparaciones). calibrar el sistema de coordenadas de la base calibrar el sistema de coordenadas de la base para un manipulador de dos ejes visualizar la informacin del sistema
18-23
Archivo Editar Registro Servicio Nombre Comn Estado Sistema Hardware Programa Movimiento Usuario Proceso
Ver
Especial
Mensajes Ultimo # 10 20 0 1 0 3 4 0 4(9) 0810 20:30.32 0810 20:25.14 0810 20:30.32 0810 19:15.12 0809 12:30.00
Lista registro
Msjes->
Espec 1 Borrar Registro 2 Borrar todos los Registros 3 Renovar Registro por Evento
Comando: Borrar Registro Borrar todos los Registros Renovar Registro por evento
Sirve para: borrar el contenido del registro seleccionado borrar el contenido de todos los registros actualizar el registro directamente cuando se produce el mensaje - el comando pasa a Renovar registro por comando cuando se selecciona, lo que significa que la lista no ser actualizada hasta que se haya pulsado la tecla de funcin Renovar
18-24
Servicio Calibracin
Unidad
Estado de ajuste
18-25
Archivo Editar
Ver
Com
Servicio Conmutacin
Estado
Comando: Conmutar
18-26
Archivo Editar
Temas
Parmetros de Sistema Seales de Usuario Parmetros Info Nombre seal Nombre de unidad Tipo de seal Nmero de seal Max Lgico Max Fsico Min Lgico Min Fsico do1 DSQC232_1 DO 1 0.000000 0.000000 0.000000 0.000000 Cancelar
Tema parmetros
OK
7.1.1 Men: Archivo Archivo 1 Cargar Parmetros Guardados... 2 Aadir Parmetros nuevos 3 Guardar Todo como... 4 Guardar como... 5 Comprobar Parmetros Reinicio...
Comando:
Sirve para:
Cargar Parmetros Guardados cargar los parmetros a partir de un sistema de memoria de masa Aadir Parmetros Nuevos Guardar Todo como Guardar como Comprobar Parmetros Reinicio aadir los parmetros a partir de un sistema de memoria de masa guardar todos los parmetros en la memoria de masa guardar los parmetros en la memoria de masa comprobar los parmetros antes de volver a iniciar rearrancar el robot
18-27
7.1.2 Men: Editar Editar 2 Ir al Inicio 3 Ir al final 3 Ir a ... 4 Mostrar registro de Cambios... 5 Cambiar Cdigos Clave... Comando: Ir al Inicio Ir al final Ir a Mostrar registro de cambios Cambiar Cdigos Clave Sirve para: ir a la primera lnea de un registro ir a la ltima lnea de un registro ir a una lnea especfica de un registro visualizar informacin referente a las modificaciones ms recientes cambiar los cdigos clave
Temas 1 2 3 4 5 6 Controlador Comunicacin Seales de E/S Manipulador Soldadura al Arco Unidad de programacin Todos los Temas Comando: Controlador Comunicacin Seales de E/S Manipulador Soldadura al Arco Unidad de Programacin Todos los Temas Sirve para visualizar: el parmetro del tema Controlador el parmetro del tema Comunicacin los parmetros del tema E/S los parmetros del tema del manipulador los parmetros del tema Soldadura al arco los parmetros del tema Unidad de Programacin todos los temas
18-28
Click on the Main menu button below to continue to the front page.
Main menu