Home

Introducción a RAPID

image

Contents

1. 49 50 puede programarse de la forma siguiente VAR num sum 0 FOR i FROM 1 TO 50 DO sum sum 1 ENDFOR No se permite asignar un valor para el contador dentro del bucle FOR 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 3 4 Bucle WHILE 1 3 4 Bucle WHILE Repetici n con una condici n La repetici n de una secuencia de c digo puede combinarse con la ejecuci n condicional de la secuencia de c digo Con el bucle WHILE el programa seguir ejecutando la secuencia de c digo siempre y cuando se cumpla la condici n Sintaxis de WHILE La sintaxis del bucle WHILE es la siguiente WHILE condici n DO c digo de programa a repetir ENDWHILE Si la condici n no se cumple desde el principio la secuencia de c digo no llega a ejecutarse nunca Si la condici n se cumple la secuencia de c digo se ejecuta repetidamente hasta que la condici n deja de cumplirse Ejemplo El c digo de programa siguiente suma n meros 1 2 3 hasta que la suma llegue a 100 VAR num sum 0 VAR num i O WHILE sum lt 100 DO i i 1 sum sum i ENDWHILE No cree bucles eternos o pesados sin una instrucci n wait Si la condici n nunca deja de cumplirse el bucle continuar constantemente y consumir enormes cantidades de potencia del ordenador La escritura de un b
2. Manual del operador IRC5 RobotWare 5 0 O Copyright 2007 ABB Reservados todos los derechos Manual del operador Introducci n a RAPID RobotWare 5 0 ID de documento 3HACO29364 005 Revisi n La informaci n de este manual puede cambiar sin previo aviso y no puede entenderse como un compromiso por parte de ABB ABB no se hace responsable de ning n error que pueda aparecer en este manual Excepto en los casos en que se indica expresamente en este manual ninguna parte del mismo debe entenderse como garant a alguna por parte de ABB por las p rdidas lesiones da os materiales idoneidad para un fin determinado ni garant as similares ABB no ser en ning n caso responsable de los da os accidentales o consecuentes que se produzcan como consecuencia del uso de este manual o de los productos descritos en el mismo Se proh be la reproducci n o la copia de este manual o cualquiera de sus partes si no se cuenta con una autorizaci n escrita de ABB Ninguna parte de este manual debe ser entregada a terceros ni utilizada para fines no autorizados Cualquier incumplimiento de esta norma ser perseguido legalmente Usted puede obtener copias adicionales de este manual a trav s de ABB con el coste aplicable en el momento de su solicitud OCopyright 2007 ABB Reservados todos los derechos ABB AB Robotics Products SE 721 68 V ster s Suecia O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB
3. Todo el hardware robots y controladores se suministran con un Manual del producto que contiene Informaci n de seguridad Instalaci n y puesta en servicio descripciones de la instalaci n mec nica y las conexiones el ctricas Mantenimiento descripciones de todos los procedimientos de mantenimiento preventivo necesarios incluidos sus intervalos Reparaciones descripciones de todos los procedimientos de reparaci n recomendados incluidos los repuestos Procedimientos adicionales si los hay calibraci n retirada del servicio Informaci n de referencia referencias de la documentaci n a la que se hace referencia en el manual del producto procedimientos listas de herramientas est ndares de seguridad Lista de piezas L minas o vistas ampliadas Diagramas de circuitos Manuales de referencia t cnica Los manuales siguientes describen el software del robot en general y contienen la informaci n de referencia pertinente 3HAC029364 005 Revisi n Descripci n general de RAPID Una descripci n general del lenguaje de programaci n RAPID Instrucciones funciones y tipos de datos de RAPID Descripci n y sintaxis de todos los tipos de datos instrucciones y funciones de RAPID Par metros del sistema Una descripci n de los par metros del sistema y los flujos de trabajo de configuraci n Contin a en la p gina siguiente 7 Documentaci n del producto M2004 Continuaci n Manuales de ap
4. sharpen pencil ENDIF ENDPROC PROC user _selection VAR num answer TPReadFK answer Select which figure to draw Square Triangle Quit stEmpty stEmpty IF answer 1 THEN draw_square count count 1 ELSEIF answer 2 THEN draw _triangle count count 1 ELSE quit ENDIF Contin a en la p gina siguiente 44 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 3HAC029364 005 Revisi n 3 Estructura 3 3 Dise o estructurado ENDPROC PROC draw_square VAR robtarget p20 VAR robtarget p30 VAR robtarget p40 Continuaci n Define points that give a square with the side 200 mm p20 Offs p10 O 200 0 p30 Offs p10 200 200 0 p40 Offs p10 200 O 0 MoveL p10 v200 fine tPen MoveL p20 v200 fine tPen MoveL p30 v200 fine tPen MoveL p40 v200 fine tPen MoveL p10 v200 fine tPen ENDPROC PROC draw triangle VAR robtarget p20 VAR robtarget p30 Define points for the triangle p20 Offs p10 O 200 0 p30 Offs p10 200 100 0 MoveL p10 v200 fine tPen MoveL p20 v200 fine tPen MoveL p30 v200 fine tPen MoveL p10 v200 fine tPen ENDPROC PROC quit TPWrite Good bye Terminate the program EXIT ENDPROC PROC change paper VAR num answer TPReadFK answer Change the paper OK stEmpty stE
5. a un mont n de c digo y una mayor dificultad para comprender el programa Una forma mucho m s eficiente de escribir este programa es crear un procedimiento que traza el cuadrado y hacer que el procedimiento main llame cuatro veces a este procedimiento PERS tooldata tPen CONST robtarget p10 PROC main Call the procedure draw_square draw_square 100 draw_square 200 draw_square 300 draw_square 400 ENDPROC PROC draw_square num side_size VAR robtarget p20 VAR robtarget p30 VAR robtarget p40 p20 is set to p10 with an offset on the y value p20 Offs p10 O side size 0 p30 p40 Offs p10 side size side size 0 Offs p10 side size O 0 MoveL p10 v200 fine tPen MoveL p20 v200 fine tPen MoveL p30 v200 fine tPen MoveL p40 v200 fine tPen MoveL p10 v200 fine tPen Contin a en la p gina siguiente 3HAC029364 005 Revisi n 39 3 Estructura 3 1 Procedimiento de RAPID Continuaci n ENDPROC Argumentos de procedimientos Al declarar un procedimiento todos los argumentos se declaran entre par ntesis a continuaci n del nombre del procedimiento Esta declaraci n contiene el tipo de dato y el nombre de cada argumento El argumento recibe su valor de la llamada al procedimiento y act a como una variable dentro del procedimiento el argumento no puede usarse fuera de su procedimiento PROC main my procedure 14 Hello TRUE NDPROC E FU RO
6. tPen MoveL p30 v200 fine tPen MoveL p40 v200 fine tPen MoveL p10 v200 fine tPen ENDPROC Contin a en la p gina siguiente 3HAC029364 005 Revisi n 29 2 Funcionalidad de robots en RAPID 2 1 3 Ejemplos con MoveL Continuaci n Trazar con zonas de esquina Se traza la misma figura que en el ejemplo anterior pero con una zona de esquina de 20 mm en p20 y una zona de esquina de 50 mm en p40 p10 p20 p40 e lt p30 xx0700000363 VAR tooldata tPen VAR robtarget p40 PROC main MoveL p10 v200 fine tPen MoveL p20 v200 z20 tPen MoveL p30 v200 fine tPen MoveL p40 v200 z50 tPen MoveL p10 v200 fine tPen ENDPROC 30 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 1 4 Otras instrucciones de movimiento 2 1 4 Otras instrucciones de movimiento Distintas instrucciones de movimiento RAPID cuenta con distintas instrucciones de movimiento Las m s comunes son MoveL MoveJ y Movec MoveJ MoveJ se utiliza para mover el robot r pidamente de un punto a otro cuando no es imprescindible que el movimiento siga una l nea recta Utilice MoveJ para mover el robot hasta un punto en el aire situado a poca distancia de donde va a trabajar el robot La instrucci n MoveL no funciona si por ejemplo la base del robot est entre la posici n actua
7. RAPID funciones de RAPID 6 Qu debe leer a continu D nde encontrar m s informaci n si desea proseguir aci n con sus estudios de RAPID Referencias Referencia ID de documento Manual de referencia t cnica Descripci n general de RAPID 3HAC16580 5 Contin a en la p gina siguiente 3HAC029364 005 Revisi n 5 Descripci n general Continuaci n Referencia ID de documento Manual de referencia t cnica RAPID Instrucciones funciones y 3HAC16581 5 tipos de datos Technical reference manual RAPID Kernel 3HAC16585 1 Manual del operador IRC5 con FlexPendant 3HAC16590 5 Revisiones Revisi n Descripci n Primera edici n 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos Documentaci n del producto M2004 Documentaci n del producto M2004 General La documentaci n del robot se divide en varias categor as diferentes Esta lista se basa en el tipo de informaci n contenida en los documentos independientemente de si los productos son est ndar u opcionales Esto significa que un suministro determinado de productos de robot no contendr todos los documentos enumerados sino s lo aquellos que se corresponden con el equipo suministrado Sin embargo puede pedir a ABB cualquiera de los documentos de la lista Los documentos enumerados son v lidos para los sistemas de robot M2004 Manuales de producto
8. de una variable simple VAR pos posl La asignaci n de todos los valores se realiza como con las matrices posl 600 100 800 Los distintos componentes tienen nombres en lugar de n meros Los componentes de pos reciben los nombres x y y z El valor de un componente se identifica con el nombre de la variable un punto y el nombre del componente posl z 850 orient El tipo de dato orient especifica la orientaci n de la herramienta La orientaci n se especifica con cuatro valores num ricos con los nombres q1 q2 q3 y q4 VAR orient orient1l 1 0 O Ol TPWrite The value of ql is INum orient1 ql pose Un tipo de dato puede componerse de otros tipos de datos compuestos Un ejemplo de ello es el tipo de dato pose que se compone de un dato pos con el nombre trans y un dato orient con el nombre rot VAR pose posel 600 100 800 1 O O O I VAR pos posl 650 100 850 VAR orient orientl posel pos posl orientl posel rot posel pos z 875 robtarget robtarget es un tipo de dato demasiado complejo como para explicarlo en detalle aqu de forma que nos conformaremos con una explicaci n breve robtarget se compone de cuatro partes Tipo de dato Nombre Descripci n pos trans Coordenadas X Y y Z orient rot Orientaci n confdata robconf Especifica ngulos de ejes de robot extjoint extax Especifica posiciones de hasta 6 ejes adicionales Se usa el valor 9E9 si no hay ning n eje adicional Contin a en l
9. draw figure ENDFOR 3 Manual Motors On System1 SEYST W 0003294 Running Speed 100 _ _ _____ 5 T_ROB1 Mtaa TPReadNum How many times shall I draw the figure T_ROB1 MainModule xx0700000378 La variable num rica answer recibe el valor introducido por el operador 3HAC029364 005 Revisi n 37 2 Funcionalidad de robots en RAPID 2 3 1 Comunicaci n con el FlexPendant 38 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 3 Estructura 3 1 Procedimiento de RAPID 3 Estructura 3 1 Procedimiento de RAPID Qu es un procedimiento Hasta el momento todos los ejemplos de c digo de RAPID que hemos visto ten an su c digo ejecutable en el procedimiento main La ejecuci n comienza autom ticamente en el procedimiento llamado main pero es posible disponer de varios procedimientos Los procedimientos deben ser declarados con la palabra clave PROC seguida del nombre del procedimiento los argumentos del procedimiento y el c digo de programa que debe ser ejecutado por el procedimiento La llamada a un procedimiento se hace desde otro procedimiento excepto en el caso de main al que se llama directamente cuando se inicia el programa Ejemplo Si queremos trazar cuatro cuadrados de tama os diferentes podemos escribir cuatro veces pr cticamente el mismo c digo de programa El resultado ser
10. dulo figures module contiene c digo est ndar que puede usarse en cualquier programa en el que se desee trazar un cuadrado un tri ngulo o un c rculo MODULE MainModule draw_square ENDMODULE MODULE figures module PROC draw_square ENDPROC PROC draw triangle E NDPROC PROC draw_circle ENDPROC ENDMODULE M dulos de programa Los m dulos de programa se guardan con la extensi n de archivo mod por ejemplo figures_module mod Para el controlador de robot no supone ninguna diferencia que el programa est escrito en distintos m dulos El motivo de utilizar distintos m dulos de programa es s lo facilitar a los programadores la comprensi n del programa y la reutilizaci n del c digo S lo puede haber un nico programa activo en el controlador de robot Es decir s lo uno de los m dulos puede contener un procedimiento llamado main Contin a en la p gina siguiente 3HAC029364 005 Revisi n 41 3 Estructura 3 2 M dulos Continuaci n M dulos de sistema 42 Los m dulos de sistema se guardan con la extensi n de archivo sys por ejemplo system data module sys Los datos y procedimientos que deban permanecer en el sistema incluso al cambiar de programa deben situarse en un m dulo de sistema Por ejemplo si se declara una variable persistente del tipo tooldata en un m dulo de sistema la recalibraci n de la herramienta se conserva incluso al cargar un nuevo pr
11. 48 3HAC029364 005 Revisi n ndice PROC 39 procedimiento 39 procedimiento de RAPID 39 punto y coma 22 R rendimiento 21 rendimiento del ordenador 21 repetici n 20 21 robtarget 25 48 S salida digital 34 seguridad 9 se al de entrada 34 se al de salida 34 se ales 34 se ales de E S 34 sintaxis 10 sistema de coordenadas de la base 28 sistemas de coordenadas 28 speeddata 25 string 12 T terminolog a 10 tipos de datos 12 48 tipos de datos complejos 48 tooldata 27 TPReadFK 36 TPReadNum 37 TPWrite 35 V variables 12 Ww WHILE 21 WoObj 28 work object 28 Z zonas de esquina 30 32 zonedata 26 55 Indice r SOYIIDIIP SO SOPO SOPLAJISIY AAV L007 143 NAdo 3HAC029364 005 Revisi n 56 AA EDER PADID ABB Robotics S 721 68 VASTERAS SWEDEN Telephone 46 0 21 344000 Telefax 46 0 21 132592 3HAC029364 005 Revisi n es
12. C my procedure num nbr times string text bool flag E NDPROC Dentro del procedimiento my procedure que aparece arriba nbr times tiene el valor 14 text tiene el valor Hello y flag tiene el valor TRUE Al llamar al procedimiento el orden de los argumentos es importante para asignar el valor correcto al argumento correcto En la llamada al procedimiento no se usan par ntesis Variables declaradas dentro del procedimiento 40 Las variables declaradas dentro de un procedimiento s lo existen dentro del procedimiento Es decir en el ejemplo anterior p10 puede usarse en todos los procedimientos de este m dulo pero p20 p30 y p40 s lo pueden usarse en el procedimiento draw_square 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 3 2 M dulos 3 Estructura 3 2 M dulos Acerca de los m dulos Los programas de RAPID pueden constar de uno o varios m dulos Cada m dulo puede contener uno o varios procedimientos Los programas peque os y sencillos mostrados en este manual s lo utilizan un nico m dulo En un entorno de programaci n m s complejo algunos procedimientos est ndar utilizados por muchos programas diferentes pueden ser colocados en un m dulo separado Ejemplo El m dulo MainModule contiene c digo espec fico de este programa y especifica qu debe hacer el robot en este programa en concreto El m
13. F time gt 60 THEN TRUE IF full speed THEN TPWrite Exami ELSE TPWrite Incre ENDIF ENDIF DPROC tj Z 3HAC029364 005 Revisi n ne why the production is slow ase robot speed for faster production 19 1 Conceptos b sicos de RAPID 1 3 3 Bucle FOR 1 3 3 Bucle FOR Repetici n de una secuencia de c digo Otra forma de controlar el flujo del programa es repetir una secuencia de c digo del programa un n mero determinado de veces C mo funciona el bucle FOR El c digo siguiente repetir 5 veces la escritura de Hola FOR i FROM 1 TO 5 DO TPWrite Hello ENDFOR La sintaxis de la sentencia FOR es la siguiente FOR contador FROM valorinicial TO valorfinal DO c digo de programa a repetir ENDFOR El valor del contador no tiene por qu declararse pero act a como una variable num rica dentro del bucle FOR La primera vez que se ejecuta el c digo el contador tiene el valor especificado por valorinicial A continuaci n el valor del contador se incrementa en 1 cada vez que se ejecuta el c digo La ltima vez que se ejecuta el c digo es cuando el valor de contador iguala a valorfinal A continuaci n la ejecuci n contin a con el c digo de programa que aparezca a continuaci n de ENDFOR Utilizaci n del valor del contador 20 El valor del contador puede usarse en el bucle FOR Por ejemplo el c lculo de la suma de todos los n meros de 1 a 50 14 2 3
14. Reservados todos los derechos Contenido Descripci n general Vii a e da o DA a bala bo 5 Documentaci n del producto M2004 occ 7 A AAA A A NIE DAS IA LI DA A O RU IR OD IDA URDA 9 TErminolog a pues teta TIA A AE E CA EA a DAME DEA ADA DA a 10 1 Conceptos b sicos de RAPID 11 11 Ac rcade RAPID lt a A e A A A A AL A e 11 1 2 Datos de RAPID ip e E a E E E aE E EAS e O E EA 12 ELEVA ea 12 1 2 2 Variables persistentes ooooooooooorrrrr E RE DE DE E ret E ARGOS 14 AAN A O O ELA O SU OS SS DADOS 15 1 2 4 Operadores A E ETE E E di NO 16 1 3 Control del flujo del programa aa ou ee a ee ee a a e a e e a a a aa a a Ea a a aa aa aa aa aa nana 17 SA LIN O CR DA o O MAN E aid A A A A 17 1 3 2 Ejemplos con condiciones l gicas y sentencias IF LL LL e e e ee RR ee 19 1 3 3 Bucle FOR a AT AA A a dai ds 20 134 Bucle WHILE 020 A A A A IA a E UI A 21 1 4 Reglas y recomendaciones de sintaxis de RAPID oooooococccncon na aa aa ana 22 1 4 1 Reglas generales de sintaxis de RAPID ui a o e e ee E e ee De narre 22 1 4 2 Recomendaciones para el c digo de RAPID eu un ue e e ee co 23 2 Funcionalidad de robots en RAPID 25 2 1 Instrucciones de movimiento ooccccoc aa a aa a aa a aa ada aa aa au aa a anun anda 25 21 T Instrucci n Move it a dt ha ida 25 2 1 2 Sistemas de coordenadas ii a ai 28 2 13 Bjemplos con MovVeL s 00m di is 29 2 1 4 Otras instrucciones de movimiento ooo 31 2 1 5 Comportamiento de ejecuci
15. Si hay una pistola de soldadura una pistola de adhesivo o un rotulador fijado al robot queremos programar el ToPoint de la punta de esta herramienta Esto se realiza autom ticamente si se declara asigna y utiliza un valor de tooldata en la instrucci n MoveL too10 es una herramienta predefinida que representa al robot sin ninguna herramienta montada en l y no debe ser declarada ni asignada Cualquier otra herramienta debe ser declarada y asignada antes de usarla 3HAC029364 005 Revisi n 27 2 Funcionalidad de robots en RAPID 2 1 2 Sistemas de coordenadas 2 1 2 Sistemas de coordenadas Sistema de coordenadas de la base La posici n de destino de una instrucci n de movimiento se define en forma de coordenadas de un sistema de coordenadas Si no se especifica ning n sistema de coordenadas la posici n se indica de forma relativa al sistema de coordenadas de la base del robot tambi n conocido como base de coordenadas de la base El sistema de coordenadas de la base tiene su origen en la base del robot xx0700000397 Sistemas de coordenadas personalizados 28 Es posible definir y utilizar otro sistema de coordenadas con las instrucciones de movimiento El sistema de coordenadas que la instrucci n de movimiento debe utilizar se especifica con el argumento opcional wObj MoveL p10 v1000 z50 tool0 AWObj w0b31 Para obtener m s informaci n acerca de c mo definir un sistema de coordenadas consulte el Ma
16. a de trazar la figura el usuario debe ser capaz de hacer la misma selecci n de nuevo hasta que el operador toca un bot n Salir Cuando el robot ha trazado 10 figuras en el mismo papel escribir un mensaje para indicar que se debe sustituir el papel y esperar a que el operador toque un bot n OK Entre un dibujo y el siguiente comprobar si di1 tiene el valor 1 Si es as moverse hasta un sacapuntas y cambiar do1 a 1 para poner en marcha el sacapuntas e introducir lentamente el l piz en el sacapuntas Normalmente necesitamos redefinir la herramienta dado que se acorta al afilarla pero en este ejemplo omitiremos ese paso Contin a en la p gina siguiente 3HAC029364 005 Revisi n 43 3 Estructura 3 3 Dise o estructurado Continuaci n Estructura de dise o di i 1 Sharpen pencil count gt 10 Change paper User selection en0700000381 C digo del programa MODULE MainModule PERS tooldata tPen TRUE 200 0 30 1 0 0 0 0 8 62 0 171 1 0 0 01 O O O CONST robtarget p10 600 100 8001 0 707170 O 0 707170 0 0 0 O O 9E9 9E9 9E9 9E9 9E9 9E9 9E91 1 CONST robtarget pSharp1 200 500 850 1 O O O O 0 O 0 9E9 9E9 9E9 9E9 9E9 9E9 9E9 1 PERS num count O PROC main user selection IF count gt 10 THEN change paper Reset count count O ENDIF IF di l THEN
17. a p gina siguiente 48 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 4 Datos con varios valores 4 2 Tipos de datos compuestos Continuaci n VAR robtarget p10 600 100 800 0 707170 0 0 707170 01 0 0 O O 9E9 9E9 9E9 9E9 9E9 9E9 Increase the x coordinate with 50 p10 trans x p10 trans x 50 Descripciones detalladas Encontrar descripciones detalladas de estos tipos de datos y muchos m s en el Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Tipos de datos 3HAC029364 005 Revisi n 49 4 Datos con varios valores 4 2 Tipos de datos compuestos 50 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 5 Instrucciones y funciones de RAPID 5 1 Instrucciones 5 Instrucciones y funciones de RAPID 5 1 Instrucciones Qu es una instrucci n Una instrucci n de RAPID act a como un procedimiento prefabricado La llamada a una instrucci n se parece a la llamada del procedimiento al usar el nombre de la instrucci n seguido por los valores de los argumentos Algunas instrucciones de RAPID son sencillas y podr an haberse escrito f cilmente como un procedimiento en RAPID Por ejemplo la instrucci n Add Add regl 3 The same functionality co
18. ables Tipos de datos RAPID cuenta con muchos tipos de datos diferentes De momento nos centraremos en los tres tipos de datos generales Tipo de dato Descripci n num Datos num ricos que pueden ser enteros y con decimales por ejemplo 10 3 14159 string Una cadena de texto Por ejemplo Esto es una cadena M ximo 80 caracteres bool Una variable booleana l gica S lo puede tener los valores TRUE O FALSE Todos los dem s tipos de datos se basan en estos tres Comprendiendo estos tipos la forma de realizar operaciones con ellos y c mo pueden ser combinados para formar tipos de datos complejos podr comprender f cilmente todos los tipos de datos Caracter sticas de las variables Las variables con tienen valores de datos Al detener el programa y volverlo a poner en marcha la variable conserva su valor pero si se mueve el puntero de programa a Main el valor del dato de la variable se pierde Declaraci n de una variable La declaraci n de una variable es la forma de definir un nombre de variable y determina el tipo de dato que debe tener Las variables se declaran con la palabra clave VAR siguiendo la sintaxis VAR datatype identifier Ejemplo VAR num length VAR string name VAR bool finished Asignaci n de valores La asignaci n de un valor a una variable se hace con la instrucci n length 10 name John finished TRUE Recuerde que no es un signo de igual que Signifi
19. alquier otra variable si bien la longitud de la matriz se especifica con VAR num my_array 3 Asignaci n de valores Es posible asignar a una matriz todos sus valores de una vez Al asignar la totalidad de la matriz los valores se encierran entre y se separan con comas my array 5 10 71 Tambi n es posible asignar un valor a uno de los elementos de una matriz El elemento al que se asigna el valor se especifica entre my_array 3 8 Ejemplo En este ejemplo se usan un bucle FOR y matrices para preguntar al operador el tiempo de producci n estimado de cada pieza Se trata de una forma muy eficiente de escribir c digo en lugar de tener una variable para cada pieza y no poder usar el bucle FOR VAR num time 3 VAR string part 3 Shaft Pipe Cylinder VAR num answer PROC main FOR i FROM 1 TO 3 DO TPReadNum answer Estimated time for part i 2 time i answer ENDFOR ENDPROC 3HAC029364 005 Revisi n 47 4 Datos con varios valores 4 2 Tipos de datos compuestos 4 2 Tipos de datos compuestos Qu es un tipo de dato compuesto Un tipo de dato compuesto es un tipo de dato que contiene m s de un valor Se declara como una variable normal pero contiene un n mero predefinido de valores pos Un ejemplo sencillo de tipo de dato compuesto es del tipo de dato pos Contiene tres valores num ricos X Y y Z La declaraci n tiene el aspecto
20. br 1 PROC main abr ds 2 ENDPROC Si se ejecuta este programa el valor inicial cambia a 2 La pr xima vez que se ejecute el programa el c digo del programa tendr el aspecto siguiente PERS num nbr 2 PROC main ADE 2 ENDPROC 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 2 3 Constantes 1 2 3 Constantes Qu es una constante Las constantes contienen valores como cualquier variable pero el valor se asigna siempre en el momento de la declaraci n y posteriormente no es posible cambiar el valor en ning n caso La constante puede usarse en el programa de la misma forma que una variable si bien no se permite asignarle un nuevo valor Declaraci n de constantes La constante se declara con la palabra clave CONST seguida del tipo de dato el identificador y la asignaci n de un valor CONST num gravity 9 81 CONST string greating Hello Por qu usar constantes Al usar una constante en lugar de una variable puede asegurarse de que el valor no sea cambiado en alguna parte del programa El uso de una constante en lugar de escribir el valor directamente en el programa es m s adecuado si necesita actualizar el programa con otro valor de la constante A partir de ese momento s lo tiene que cambiarlo en un lugar y tener la garant a de que no ha olvidado n
21. bs regl gt 2 THEN Convert the num time to string and concatenate with other strings stringl name s time was NumToStr time Simplificaci n de c lculos complejos Con frecuencia una sola llamada a una funci n puede sustituir a varias sentencias complejas Por ejemplo p20 Offs p10 100 200 300 Puede reemplazar al c digo siguiente p20 p10 p20 trans x p20 trans x 100 p20 trans y p20 trans y 200 p20 trans z p20 trans z 300 Descripciones detalladas Encontrar descripciones detalladas de las funciones en el Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Funciones 52 3HAC029364 005 Revisi n Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 6 Qu debe leer a continuaci n 6 1 D nde buscar m s informaci n 6 Qu debe leer a continuaci n 6 1 D nde buscar m s informaci n Qu encontrar en cada manual Lo que desea saber 3HAC029364 005 Revisi n C mo escribir programas en el FlexPendant C mo cargar programas en el controlador de robot C mo probar el programa Informaci n m s detallada acerca de la funciona lidad mencionada en este manual Qu instrucciones existen para una categor a determinada por ejemplo instrucciones de movimiento o funciones de reloj Descripciones de funciones m s avanzadas por ejemplo interru
22. ca la asignaci n de la expresi n que aparece a su derecha de la variable que aparece a la izquierda S lo puede indicarse una nica variable a la izquierda de Por ejemplo lo siguiente es un c digo de RAPID correcto que da como resultado que reg1 tenga el valor 3 regl 2 regl regl 1 Contin a en la p gina siguiente Ag BHACO29364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 2 1 Variables Continuaci n La asignaci n puede hacerse al mismo tiempo que la declaraci n de la variable VAR num length 10 VAR string name John VAR bool finished TRUE 3HAC029364 005 Revisi n 13 1 Conceptos b sicos de RAPID 1 2 2 Variables persistentes 1 2 2 Variables persistentes Qu es una variable persistente Las variables persistentes son b sicamente iguales a una variable normal pero con una diferencia importante La variable persistente recuerda el ltimo valor que se le haya asignado incluso si el programa es detenido y puesto en marcha de nuevo desde el principio Declaraci n de una variable persistente Las variables persistentes se declaran con la palabra clave PERS En el momento de la declaraci n es necesario indicar un valor inicial PERS num nbr 1 PERS string stringl Hello Ejemplo 14 Considere el ejemplo de c digo siguiente PERS num n
23. d at slow rate ENDIF Observe que dado que la primera condici n se cumple se escribe el primer texto Los otros dos textos no se escribir n aunque es cierto que time tiene un valor inferior a 60 3HAC029364 005 Revisi n Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 3 2 Ejemplos con condiciones l gicas y sentencias IF 1 3 2 Ejemplos con condiciones l gicas y sentencias IF Ejemplo Usar la sentencia IF para determinar qu texto debe escribir en el FlexPendant Escribir en el FlexPendant qu pieza se produce a mayor velocidad VAR string parti Shaft VAR num timel VAR string part2 Pipe VAR num time2 PROC main timel 41 8 time2 38 7 IF timel lt time2 THEN TPWrite partl is fastest to produce ELSEIF timel gt time2 THEN TPWrite part2 is fastest to produce ELSE TPWrite parti y part2 are equally fast to produce ENDIF ENDPROC Ejemplo Si la producci n de una pieza requiere m s de 60 segundos escribir un mensaje en el FlexPendant Si la variable booleana ful1_speed contiene FALSE el mensaje indicar al operador que debe incrementar la velocidad del robot Si fu11 speed contiene TRUE el mensaje pedir al operador que examine el motivo de la lentitud de la producci n VAR num time 62 3 VAR bool full _ speed PROC main I
24. e las instrucciones de movimiento Sin embargo si hay una instrucci n de espera a continuaci n de una instrucci n de movimiento con una zona de esquina el robot no ser capaz de gestionarlo Utilice fine en la instrucci n de movimiento antes de una instrucci n de espera Tambi n existe una limitaci n en cuanto al n mero y la complejidad de los c lculos que puede realizar el controlador de robot entre las instrucciones de movimiento con zonas de esquina Esto constituye principalmente un problema al llamar a procedimientos a continuaci n de una instrucci n de movimiento con una zona de esquina 3HAC029364 005 Revisi n 33 2 Funcionalidad de robots en RAPID 2 2 1 Se ales de E S 2 2 Se ales de E S 2 2 1 Se ales de E S Acerca de las se ales Las se ales se utilizan para la comunicaci n con los equipos externos con los que coopera el robot Las se ales de entrada son activadas por los equipos externos y pueden usarse en el programa de RAPID para iniciar la realizaci n de alguna operaci n con el robot Las se ales de salida son activadas por el programa de RAPID y act an para comunicar a los equipos externos que deben hacer algo Configuraci n de se ales Las se ales son configuradas en los par metros de sistema del sistema de robot Es posible definir nombres personalizados para las se ales No deben declararse en el programa de RAPID Entrada digital Ejemplo Las se ales digitales de en
25. iere que el operador elija una opci n TPReadFK es una instrucci n til Permite la visualizaci n de hasta cinco teclas de funci n y el operador puede elegir cu l de ellas tocar Los botones corresponden a los valores 1 a 5 VAR num answer TPReadFK answer Select which figure to draw Square Triangle stEmpty stEmpty stEmpty IF answer 1 THEN code to draw square ELSEIF answer 2 THEN code to draw triangle ELSE do nothing ENDIF dh EDER 5 Manual Motors On El FPUID ID Systeml SEYST W 0003294 Running Speed 100 o T ROBI ESE TPReadFKk Select which figure to draw T_ROB1 E MainModule xx0700000376 Si el usuario selecciona Square la variable num rica answer recibe el valor 1 Si el usuario selecciona Triangle la variable num rica answer recibe el valor 2 Es posible especificar cinco teclas de funci n Si no necesita usar una tecla escriba stEmpty en lugar del texto del bot n Contin a en la p gina siguiente 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 3 1 Comunicaci n con el FlexPendant Continuaci n TPReadNum TPReadNum permite al operador escribir un n mero en el FlexPendant en lugar de elegir una opci n VAR num answer TPReadNum answer How many times shall I draw the figure FOR i FROM 1 TO answer DO code to
26. inguna aparici n del valor 3HAC029364 005 Revisi n 15 1 Conceptos b sicos de RAPID 1 2 4 Operadores 1 2 4 Operadores Operadores num ricos Estos operadores operan con el tipo de datos num y devuelven el tipo de datos num Es decir en los ejemplos siguientes las variables reg1 reg2 y reg3 son del tipo de dato num Operador Descripci n Suma Resta Menos unario Multiplicaci n Divisi n Ejemplo wegil s eg mega EC a GEGA eg regi E nega regii Treg ik reger recm ga 11382 reco Operadores relacionales Estos operadores devuelven el tipo de dato boo1 En los ejemplos reg1 y reg2 son del tipo de dato num mientras que flag1 es del tipo bool Operador lt gt Descripci n igual a menor que mayor que menor que o igual a mayor que o igual a distinto de Ejemplo Plagi 3 mesil Esa flag1 es TRUE si regl1 es igual a reg2 flag regi i lt treg2 flagl es TRUE S reg1 es menor que reg2 flagl regl gt reg2 flagl1 es TRUE si reg1 es mayor que reg2 Plagi 3 mesi lt mesa flag1 es TRUE si reg1 es menor que o igual a reg2 flag iE rego reg2 flag1 es TRUE si reg1 es mayor que o igual a reg2 flagi lt regl lt gt rega flag1 es TRUE si reg1 es distinto de reg2 Los operadores l gicos se usan con frecuencia junto con la instrucci n IF Para ver ejemplos de c digo consulte Ejemplos con condiciones l gicas y sentencias IF en la
27. l de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Tipos de datos y speeddata Al utilizar un valor predefinido no debe declararlo ni asignarlo Zone Especifica una zona de esquina definida por una constante del tipo de dato zonedata Existe muchos valores predefinidos como por ejemplo Valores predefinidos de zonedata Valor fine El robot ir exactamente hasta la posici n espe cificada z10 La trayectoria del robot puede tomar atajos en las esquinas si est a menos de 10 mm de ToPoint z50 La trayectoria del robot puede tomar atajos en las esquinas si est a menos de 50 mm de ToPoint Encontrar una lista completa de valores predefinidos de zonedata en el Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Tipos de datos y zonedata Al utilizar un valor predefinido no debe declararlo ni asignarlo Las siguientes instrucciones de RAPID dar n lugar a la trayectoria de robot mostrada a continuaci n MoveL p10 v1000 z50 tool0 MoveL p20 v1000 fine tool0 xx0700000358 Contin a en la p gina siguiente 26 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 1 1 Instrucci n MoveL Continuaci n Tool Especifica la herramienta utilizada por el robot definida por una variable persistente del tipo de dato tooldata
28. l usuario 2 3 1 Comunicaci n con el FlexPendant Acerca de las instrucciones de lectura y escritura RAPID cuenta con varias instrucciones para escribir informaci n para el operador del robot as como para recibir informaci n del operador Ya hemos visto TPWrite en los ejemplos anteriores Las nicas instrucciones que estudiaremos aqu son TPWrite TPReadFK y TPReadNunm TPWrite La escritura de un mensaje para el operador puede hacerse con la instrucci n TPWrite TPWrite Now producing exhaust pipes Now producing exhaust pipes xx0700000374 Escrita de una variable de cadena La cadena de texto escrita en el FlexPendant puede provenir de una variable de cadena El texto escrito tambi n puede ser el resultado de concatenar una variable de cadena con otra cadena VAR string product exhaust pipe Write only the product on the FlexPendant TPWrite product Write Producing and the product on the FlexPendant TPWrite Producing product Contin a en la p gina siguiente 3HAC029364 005 Revisi n 35 2 Funcionalidad de robots en RAPID 2 3 1 Comunicaci n con el FlexPendant Continuaci n Escritura de una variable num rica Es posible a adir una variable num rica a continuaci n de la cadena utilizando el argumento opcional Num VAR num count 13 TPWrite The number of produced units is INum count TPReadFK 36 Al escribir un programa de RAPID que requ
29. l y la posici n programada o si la reorientaci n de la herramienta es demasiado grande MoveJ puede usarse siempre en estos casos La sintaxis de MoveJ es similar a la de MoveL Ejemplo MoveJ p10 v1000 fine tPen MoveC Movec se usa para mover el robot en c rculo describiendo un arco Ejemplo MoveL p10 v500 fine tPen MoveC p20 p30 v500 fine tPen MoveL p40 v500 fine tPen p20 p30 p40 p10 xx0700000364 3HAC029364 005 Revisi n 31 2 Funcionalidad de robots en RAPID 2 1 5 Comportamiento de ejecuci n en las zonas de esquina 2 1 5 Comportamiento de ejecuci n en las zonas de esquina Por qu se requiere una ejecuci n especial en las zonas de esquina La ejecuci n de un programa suele realizarse en el orden en el que se escriben las sentencias En el ejemplo siguiente el robot se mueve en primer lugar a p10 luego calcula el valor de reg1 y por ltimo se mueve hasta p20 MoveL p10 v1000 fine tool0 regl reg2 reg3 MoveL p20 v1000 fine tool0 Sin embargo observe ahora el ejemplo siguiente MoveL p10 v1000 z50 tool0 regl reg2 reg3 MoveL p20 v1000 fine tool0 Si el c lculo de reg1 no comenzara hasta que el robot se encontrara en p10 el robot tendr a que detenerse en ese punto y esperar a la siguiente instrucci n de movimiento Lo que ocurre en realidad es que el c digo se ejecuta con antelaci n al movimiento del robot Se calcula reg1 y se calcula la t
30. licaciones Las aplicaciones espec ficas por ejemplo opciones de software o hardware se describen en Manuales de aplicaciones Un mismo manual de aplicaciones puede describir una o varias aplicaciones Generalmente un manual de aplicaciones contiene informaci n acerca de Finalidad de la aplicaci n para qu sirve y en qu situaciones resulta til Contenido por ejemplo cables tarjetas de E S instrucciones de RAPID par metros del sistema CD con software para PC Forma de uso de la aplicaci n Ejemplos sobre c mo usar la aplicaci n Manuales del operador Este grupo de manuales est orientado a las personas que van a tener contacto de uso directo con el robot es decir operadores de c lulas de producci n programadores y t cnicos de resoluci n de problemas El grupo de manuales se compone de Informaci n de seguridad para emergencias Procedimientos iniciales IRC5 y RobotStudio IRCS con FlexPendant RobotStudio Resoluci n de problemas TRCS para el controlador y el robot 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos Seguridad Seguridad Seguridad del personal Los robots son pesados y tienen una fuerza extraordinaria independientemente de su velocidad Una pausa o una parada larga en un movimiento puede ir seguida de un movimiento r pido y peligroso Incluso si es posible predecir un patr n de m
31. mpty stEmpty ENDPROC stEmpty Contin a en la p gina siguiente 45 3 Estructura 3 3 Dise o estructurado Continuaci n E PROC sharpen pencil VAR robtarget pSharp2 VAR robtarget pSharp3 pSharp2 Offs pSharp1 100 O 0 pSharp3 Offs pSharp1 120 O 0 Move quickly to position in front of sharpener MoveJ pSharpl1 vmax z10 tPen Place pencil in sharpener MoveL pSharp2 v500 fine tPen Start the sharpener SetDpo dol 1 Slowly move into the sharpener MoveL pSharp3 v5 fine tPen Turn off sharpener SetDO dol O Move out of sharpener MoveL pSharp1 v500 fine tPen ENDPROC DMODULE Recuerde que en una producci n el programa se ejecuta normalmente en el modo continuo de forma que cuando la ejecuci n llega al final del procedimiento el procedimiento main comienza de nuevo desde el principio Si no es as es posible utilizar un bucle WHILE para repetir todo el contenido del procedimiento main 46 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 4 Datos con varios valores 4 1 Matrices 4 Datos con varios valores 4 1 Matrices Qu es una matriz Una matriz es una variable que contiene m s de un valor Para indicar uno de los valores se usa un n mero de ndice Declaraci n de una matriz La declaraci n de una matriz se parece a la de cu
32. n en las zonas de esquina o ooooocoocococorcoccoo o 32 2 2 Se ales de E S iii a EE a pE A Sd cs 34 2 2 Se ales de El da tr red o DA 34 2 3 Interacci n con el SUAMO io a a 35 2 3 1 Comunicaci n con el FlexPendant oo ooooooooroor EA E E DE E en ee no 35 3 Estructura 39 3 1 Procedimiento de RAPID sun ae acio cerier pot a HE UE e ai ad 39 32 MA A E lada 41 3 3 DISE O ESTU a ai 43 4 Datos con varios valores 47 BLUME A A e a IN 47 4 2 Tipos de datos COMPUEstos d TE AO ano dA EU PAO E A ERR O e EN T 48 5 Instrucciones y funciones de RAPID 51 MIOS UCM A A A A E O 51 DIZ FUNCIONES a E A A ca 52 6 Qu debe leer a continuaci n 53 6 1 D nde buscar M s informaci n Lu e e a a e e E E E E AE E E eee 53 ndice 55 3HAC029364 005 Revisi n Contenido SOYIIDIIP SO SOPO SOPLAJISIY HE V L007 MBLIADO 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos Descripci n general Descripci n general Acerca de este manual Este manual ha sido concebido como una primera introducci n a RAPID Se ha omitido una buena parte de la funcionalidad de RAPID pero se describen las partes esenciales de forma que sea f cilmente comprensible para todos los usuarios Este manual no le permitir alcanzar los conocimientos de RAPID de un programador experto pero puede ayudarle a comprender el concepto de la programaci n con RAPID Encontrar los detalles en todo momento en los man
33. nual de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Tipos de datos y wobjdata Para obtener m s informaci n acerca de los sistemas de coordenadas consulte el Manual de referencia t cnica Descripci n general de RAPID secci n Sistemas de coordenadas 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 1 3 Ejemplos con MoveL 2 1 3 Ejemplos con MoveL Trazar un cuadrado Un robot sostiene un rotulador sobre un papel colocado sobre una mesa Queremos que el robot baje la punta del rotulador para colocarla en el papel y que a continuaci n trace un cuadrado p10 gt p20 p40 p30 xx0700000362 PERS tooldata tPen TRUE 200 0 30 1 0 O 0 0 8 62 07 17 T7 LL 0 07 207 50 50 015 CONST robtarget p10 600 100 8001 0 707170 O 0 707170 OJy LOS Dd O 9E9 9E9 9E9 9E9 9E9 9E9 7 CONST robtarget p20 600 100 800 0 707170 0 0 707170 O 10 0 8 01 9E9 9E9 9E9 9E9 9E9 9E9 CONST robtarget p30 800 100 800 0 707170 0 0 707170 Oli 07 8 Uy 01 9E9 9E9 9E9 9E9 9E9 9E9 CONST robtarget p40 800 100 800 0 707170 O 0 707170 Ol 107 O 7 Go 9E9 9E9 9E9 9E9 9E9 9E9 PROC main MoveL p10 v200 fine tPen MoveL p20 v200 fine
34. ograma 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 3 Estructura 3 3 Dise o estructurado 3 3 Dise o estructurado Acerca de la estructura Al enfrentarse por primera vez a un problema que desea resolver con un programa de RAPID analice con calma el problema y sus componentes Si empieza a programar sin primero pensar la totalidad del dise o su programa ser irracional Un programa bien dise ado tiene una menor probabilidad de contener errores y es m s f cil de comprender para otras personas El tiempo dedicado al dise o se recupera muchas veces durante las pruebas y el mantenimiento del programa Divida el problema Siga estos pasos para dividir el problema en fragmentos manejables Acci n 1 Identifique la funcionalidad a mayor escala Intente dividir el problema en piezas m s peque as y f ciles de manejar 2 Cree una estructura de dise o Trace un mapa de las funciones y de c mo se relacio nar n entre s 3 Observe los distintos bloques de la estructura de dise o Es posible dividir un bloqueo en fragmentos m s peque os Qu se necesita para implementar el bloque Ejemplo Descripci n del problema Crear un programa de RAPID capaz de trazar cuadrados o tri ngulos en un papel Dejar que el operador decida si lo siguiente que debe trazarse es un cuadrado o un tri ngulo Cuando el robot termin
35. osici n especificada y no tomar atajos en las esquinas en su desplazamiento hasta la siguiente posici n e toolo0 especifica que lo que debe moverse hasta la posici n especificada es la brida de montaje situada en el extremo del robot Sintaxis de MoveL MoveL ToPoint Speed Zone Tool ToPoint El punto de destino definido por una constante del tipo de dato robtarget Al programar con el FlexPendant puede asignar un valor robtarget apuntando a una posici n con el robot Al programar fuera de l nea puede resultar complicado calcular las coordenadas de una posici n robtarget se explica m s adelante en la secci n Tipos de datos compuestos en la p gina 48 De momento aceptemos simplemente que la posici n x 600 y 100 z 800 puede declararse y asignarse de la forma siguiente CONST robtarget p10 600 100 800 1 0 O 0 0 O O 0 9E9 9E9 9E9 9E9 9E9 9E9 Speed La velocidad del movimiento definida por una constante del tipo de dato speeddata Existe un buen n mero de valores predefinidos como por ejemplo Valores predefinidos de speeddata Valor v5 5 mm s v100 100 mm s Contin a en la p gina siguiente 3HAC029364 005 Revisi n 25 2 Funcionalidad de robots en RAPID 2 1 1 Instrucci n MoveL Continuaci n Valores predefinidos de speeddata Valor v1000 1 000 mm s vmax Velocidad m xima del robot Encontrar una lista completa de valores predefinidos de speeddata en el Manua
36. ovimientos una se al externa puede disparar un cambio de funcionamiento y dar lugar a un movimiento inesperado Por tanto es importante respetar toda la normativa de seguridad al entrar en un espacio protegido Normativa de seguridad Antes de empezar a trabajar con el robot aseg rese de familiarizarse con la normativa de seguridad descrita en el Manual del operador IRCS con FlexPendant 3HAC029364 005 Revisi n 9 Terminolog a Terminolog a Acerca de los t rminos Este manual se ha escrito generalmente para principiantes tanto en programaci n como en robots Sin embargo algunos t rminos utilizados pueden resultar familiares s lo a personas con ciertos conocimientos de programaci n y o robots industriales Estos t rminos se describen en esta terminolog a T rminos 10 T rmino FlexPendant Controlador de robot Sintaxis Descripci n Un terminal de mano para controlar un sistema de robot El controlador de robot es b sicamente un ordenador que controla el robot Las reglas que determinan c mo se permite escribir un lenguaje Puede contemplarse como la gram tica del lenguaje de programaci n La sintaxis de un lenguaje de programaci n es mucho m s estricto que el de un idioma natural humano Los humanos son inteligentes y com prender an algo como Yo r pido corro en lugar de Yo corro r pido Los ordenadores por otro lado son m s tontos y no comprender an algo a no ser q
37. p gina 19 Operador de cadena Operador 16 Descripci n Concatenaci n de cadenas Ejemplo VAR string firstname John VAR string lastname Smith VAR string fullname fullname firstname lastname La variable fullname contendr la cadena John Smith 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 3 1 IF THEN 1 3 Control del flujo del programa 1 3 1 IF THEN Acerca del flujo del programa Los ejemplos de programa que hemos visto hasta ahora se ejecutan secuencialmente de arriba abajo En los programas m s complejos es posible que deseemos controlar qu c digo se ejecuta en qu orden y cu ntas veces En primer lugar echaremos un vistazo a c mo crear las condiciones necesarias para determinar si una secuencia de programa debe ejecutarse o no Ejemplo La instrucci n IF puede usarse cuando un conjunto de sentencias s lo debe ejecutarse si se cumple una condici n determinada Si la condici n l gica de la sentencia IF se cumple el c digo de programa situado entre las palabras clave THEN y ENDIF se ejecuta Si la condici n no se cumple ese c digo no se ejecuta y la ejecuci n contin a despu s de ENDIF En este ejemplo la cadena string1 se escribe en el FlexPendant si no es una cadena vac a Si string1 es una cadena vac a es deci
38. pciones o gesti n de errores Informaci n acerca de una instrucci n una funci n o un tipo de dato en concreto Detalles acerca de c mo el controlador de robot trata las distintas partes de RAPID D nde obtener informaci n Manual del operador IRC5 con FlexPendant secci n Progra maci n y testing Manual de referencia t cnica Descripci n general de RAPID Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos Technical reference manual RAPID Kernel 53 6 Qu debe leer a continuaci n 6 1 D nde buscar m s informaci n 54 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos A argumentos 40 asignar valores 12 B base de coordenadas de la base 28 bool 12 bucle 20 21 bucles eternos 21 Cc comentarios 22 comunicaci n 34 35 condiciones l gicas 16 19 conditional execution 17 constantes 15 controlador de robot 10 D declaraci n de variables 12 dise o 43 E ejecuci n condicional 21 ELSE 17 ELSEIF 18 entrada digital 34 F FlexPendant 10 35 FOR 20 funciones 52 funciones de RAPID 52 IF 17 19 indentaciones 23 instrucciones 51 instrucciones de movimiento 25 instrucciones de RAPID 51 L logical conditions 17 main 39 matrices 47 m dulo 41 MoveC 31 MoveJ 31 MoveL 25 29 N num 12 O operadores 16 orient 48 P pos 48 pose
39. r no contiene ning n car cter no se realiza ninguna acci n VAR string stringl Hello IF stringl lt gt THEN TPWrite stringl ENDIF ELSE Ejemplo Una sentencia IF tambi n puede contener c digo de programa para su ejecuci n si la condici n no se cumple Si la condici n l gica de la sentencia IF se cumple el c digo de programa situado entre las palabras clave THEN y ELSE se ejecuta Si la condici n no se cumple el c digo situado entre las palabras clave ELSE y ENDIF se ejecuta En este ejemplo la cadena string1 se escribe en el FlexPendant si no es una cadena vac a Si stringl es una cadena vac a se escribe el texto The string is empty VAR string stringl Hello IF stringl lt gt THEN TPWrite stringl ELSE TPWrite The string is empty ENDIF Contin a en la p gina siguiente 3HAC029364 005 Revisi n 17 1 Conceptos b sicos de RAPID 1 3 1 IF THEN Continuaci n ELSEIF En ocasiones existen m s de dos secuencias de programa alternativas En este caso puede usar ELSEIF para crear distintas alternativas Ejemplo 18 En este ejemplo se escriben textos diferentes en funci n del valor de la variable time VAR num time 38 7 IF a time lt 40 THEN PWrite Part produced at fast rate ELSEIF time lt 60 THEN a nal A PWrite Part produced at average rate LSE PWrite Part produce
40. rayectoria del robot en la zona de esquina antes de que el robot alcance p10 C mo afecta esto a mi programa En muchos casos el momento exacto de la ejecuci n no afecta al programa Sin embargo hay ejemplos en los que s afecta al programa Si desea trazar una l nea con una pistola pulverizadora entre p10 y p20 y escribe el programa de la forma siguiente MoveL p10 v300 z10 tspray Empezar a pulverizar SetDO dol 1 MoveL p20 v300 z10 tspray Dejar de pulverizar SetDO dol 0 MoveL p30 v300 fine tspray El resultado puede parecerse a lo siguiente p10 e p20 p30 xx0700000387 Contin a en la p gina siguiente 32 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 1 5 Comportamiento de ejecuci n en las zonas de esquina Continuaci n Soluci n Si desea activar se ales en las zonas de esquina y no utiliza fine existen instrucciones especiales para resolverlo por ejemplo MoveLDO TriggL y DispL Para obtener m s informaci n acerca de estas instrucciones consulte el Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos Evite las instrucciones de espera o los c lculos pesados a continuaci n de las zonas de esquina El controlador del robot puede calcular el movimiento del robot en las trayectorias de esquina incluso si hay instrucciones entr
41. rite Hello ENDFOR ENDIF E ND PROC Observe que es f cil comprobar d nde comienza y termina la sentencia IF Si tiene varias sentencias IF sin ninguna indentaci n ser a pr cticamente imposible saber qu ENDIF corresponde a cada IF 3HAC029364 005 Revisi n 23 1 Conceptos b sicos de RAPID 1 4 2 Recomendaciones para el c digo de RAPID 24 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 1 1 Instrucci n MoveL 2 Funcionalidad de robots en RAPID 2 1 Instrucciones de movimiento 2 1 1 Instrucci n MoveL Descripci n general La ventaja de RAPID es que excepto por el hecho de que presenta una funcionalidad que aparece en otros lenguajes de programaci n de alto nivel ha sido dise ado especialmente para controlar robots Y lo que es m s importante existen instrucciones para hacer que el robot se mueva MoveL Una instrucci n de movimiento simple puede tener el aspecto siguiente MoveL p10 v1000 fine tool0 Donde e MoveL es una instrucci n que mueve el robot linealmente en una l nea recta desde su posici n actual hasta la posici n especificada e p10 especifica la posici n hasta la que debe moverse el robot e v1000 especifica que la velocidad del robot debe ser de 1 000 mm s e fine especifica que el robot debe moverse exactamente hasta la p
42. trada pueden tener los valores 0 1 El programa de RAPID puede leer su valor pero no cambiarlo Si la se al digital de entrada di1 tiene el valor 1 el robot se mueve IF dil 1 THEN MoveL p10 v1000 fine tPen ENDIF Salida digital Ejemplo Las se ales digitales de salida pueden tener los valores O 1 El programa de RAPID puede establecer el valor de una se al digital de salida y con ello influir en el comportamiento de los equipos externos El valor de una se al digital de salida se establece con la instrucci n SetDO El robot cuenta con una herramienta pinza que puede cerrarse con la se al digital de salida do grip El robot se mueve hasta la posici n en la que se encuentra el rotulador y cierra la pinza A continuaci n el robot se mueve hasta donde debe trazar ahora usando la herramienta tPen MoveJ p0 vmax fine tGripper SetDO do grip 1 MoveL p10 v1000 fine tPen Otros tipos de se ales 34 Las se ales digitales son las m s comunes y f ciles de usar Si una se al necesita tener un valor distinto de O 1 existen se ales anal gicas y grupos de se ales digitales que pueden tener otros valores Estos tipos de se ales no se tratan en este manual 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 2 Funcionalidad de robots en RAPID 2 3 1 Comunicaci n con el FlexPendant 2 3 Interacci n con e
43. uales de referencia Utilizaci n Este manual debe leerse antes de empezar a programar No contiene todo lo que puede necesitar saber pero debe familiarizarse con la mayor a de los aspectos de este manual antes de empezar a escribir un programa de RAPID Este manual no sustituye a los cursos de formaci n acerca de RAPID pero puede complementarlos A qui n va destinado este manual Este manual est destinado a personas son experiencia previa en programaci n por ejemplo un operador de robots que desee aprender a programar el robot Requisitos previos No existe ning n requisito previo asociado a este manual Organizaci n de los cap tulos Este manual est organizado en los cap tulos siguientes Cap tulo Contenido 1 Conceptos b sicos de Los fundamentos de la programaci n Esta funcional RAPID idad es similar en la mayor a de los lenguajes de progra maci n de alto nivel 2 Funcionalidad de robots Describe la funcionalidad que hace de RAPID un en RAPID lenguaje nico es decir las instrucciones de movimiento las se ales de E S y la comunicaci n con un Flex Pendant 3 Estructura Describe c mo crear procedimientos Tambi n contiene una introducci n breve sobre c mo aplicar el dise o estructurado de un programa Datos con varios valores Describe las matrices y los tipos de datos complejos 5 Instrucciones y funciones Una explicaci n breve de qu son las instrucciones y las de
44. ucle eterno est permitida pero en ese caso debe contener alguna instrucci n de espera que permita al ordenador realizar otras tareas entretanto Los bucles pesados con gran cantidad de c lculos y escrituras en el FlexPendant sin instrucciones de movimiento pueden requerir alguna instrucci n de espera incluso si existe un n mero limitado de bucles WHILE TRUE DO Some code Wait instruction that waits for 1 second WaitTime 1 ENDWHILE Recuerde que las instrucciones de movimiento funcionan como instrucciones de espera dado que la ejecuci n no contin a hasta que el robot ha alcanzado su objetivo 3HAC029364 005 Revisi n 21 1 Conceptos b sicos de RAPID 1 4 1 Reglas generales de sintaxis de RAPID 1 4 Reglas y recomendaciones de sintaxis de RAPID 1 4 1 Reglas generales de sintaxis de RAPID Punto y coma Ejemplos Excepciones La regla general es que cada sentencia termina con un punto y coma Declaraci n de variables VAR num length Asignaci n de valores area length width Mayor a de llamadas a instrucciones MoveL p10 v1000 fine tool0 Algunas instrucciones especiales no terminan con un punto y coma En su lugar existen palabras clave especiales para indicar d nde terminan Ejemplos de instrucciones que no terminan con un punto y coma Palabra clave de instrucci n Palabra clave final IF ENDIF FOR ENDFOR WHILE ENDWHILE PROC ENDPROC Estas palabras clave son mu
45. ue su sintaxis sea totalmente correcta 3HAC029364 005 Revisi n O Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 1 Acerca de RAPID 1 Conceptos b sicos de RAPID 1 1 Acerca de RAPID Qu es RAPID Si quiere que un ordenador haga algo necesita un programa RAPID es un lenguaje de programaci n que permite escribir tal programa El lenguaje nativo de los ordenadores se compone exclusivamente de ceros y unos Se trata de algo pr cticamente imposible de comprender para las personas Por tanto se ense a a los ordenadores a comprender un lenguaje relativamente f cil de comprender un lenguaje de programaci n de alto nivel RAPID es un lenguaje de programaci n de alto nivel Utiliza algunas palabras en ingl s como IF y FOR para hacerlo comprensible para las personas Ejemplo de programa simple de RAPID Veamos un ejemplo simple para ver qu aspecto puede tener un programa de RAPID MODULE MainModule VAR num length VAR num width VAR num area PROC main length 10 width 5 area length width TPWrite The area of the rectangle is INum area END PROC ENDMODULE Este programa calcular el rea de un rect ngulo y la escribir en el FlexPendant The area of the rectangle is 50 3HAC029364 005 Revisi n 11 1 Conceptos b sicos de RAPID 1 2 1 Variables 1 2 Datos de RAPID 1 2 1 Vari
46. uld be written regl regl 3 Otras instrucciones de RAPID realizan procesos complicados que no podr an haberse programado sin estas instrucciones prefabricadas Por ejemplo MoveL que puede parecer una instrucci n sencilla pero que encierra c lculos de cu nto debe moverse cada eje de robot y cu nta intensidad debe recibir cada motor Dado que el c digo de programa de estos c lculos ya se suministra hecho lo nico que usted tiene que hacer es escribir una sencilla llamada a una instrucci n MoveL p10 v1000 fine tool0 Descripciones detalladas Encontrar descripciones detalladas de las instrucciones en el Manual de referencia t cnica RAPID Instrucciones funciones y tipos de datos secci n Instrucciones 3HAC029364 005 Revisi n 51 5 Instrucciones y funciones de RAPID 5 2 Funciones 5 2 Funciones Qu es una funci n Una funci n de RAPID es similar a una instrucci n pero devuelve un valor Calculate the cosine of reg2 regl Cos reg2 Dado que la funci n devuelve un valor el resultado de la funci n puede asignarse a una variable Los argumentos de la llamada a una funci n se escriben entre par ntesis y se separan con comas Inclusi n de una llamada a funci n en una sentencia En todos los lugares en los que puede usarse un valor tambi n puede usarse una funci n que devuelva un valor del mismo tipo de dato Perform something if regl is smaller than 2 or greater than 2 IF A
47. y importantes para crear una buena estructura en un programa de RAPID Se describen en detalle m s adelante en este manual Comentarios Ejemplo 22 Las l neas que comienzan con no son interpretadas por el controlador de robot Util celo para escribir comentarios acerca del c digo Calculate the area of the rectangle area length width 3HAC029364 005 Revisi n Copyright 2007 ABB Reservados todos los derechos O Copyright 2007 ABB Reservados todos los derechos 1 Conceptos b sicos de RAPID 1 4 2 Recomendaciones para el c digo de RAPID 1 4 2 Recomendaciones para el c digo de RAPID Palabras clave en may sculas RAPID no distingue entre may sculas y min sculas pero se recomienda que todas las palabras reservadas por ejemplo VAR PROC se escriban con may sculas Para obtener una lista completa de palabras reservadas consulte el Manual de referencia t cnica Descripci n general de RAPID Indentaciones Para facilitar la comprensi n del c digo de programaci n utilice indentaciones Todo lo que est dentro de un procedimiento PROC entre PROC y ENDPROC debe estar indentado Todo lo que est dentro de una sentencia IF FOR O WHILE debe estar a n m s indentado Al programar con el FlexPendant la indentaci n se realiza autom ticamente Ejemplo VAR bool repeat VAR num times PROC main repeat TRUE times 3 IF repeat THEN FOR i FROM 1 TO times DO TPW

Download Pdf Manuals

image

Related Search

Related Contents

HP Dc7900 User's Manual  manual de instalação e manutenção dos revestimentos concreta  γ-SGR 取扱説明書  Fix Adhesive - Dentsply International  PASS - Audio d`occasion  取扱説明書      INSTRUCTION BOOKLET  RUGGEDCOM RS900G  

Copyright © All rights reserved.
Failed to retrieve file