Você está na página 1de 31

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Universidad Carlos III de Madrid


tica Industrial Robo

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Autor: David Est evez Fern andez 16 Mayo 2013

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Indice
1 Introducci on 2 Descripci on de la estaci on de trabajo 2.1 Cinta inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Barrera inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Descripci on de los objetos de trabajo 3.1 Objetos de trabajo del robot IRB2400 (posicionador) 3.1.1 Pallet 01 . . . . . . . . . . . . . . . . . . . . . 3.1.2 Pallet 02 . . . . . . . . . . . . . . . . . . . . . 3.1.3 Cinta . . . . . . . . . . . . . . . . . . . . . . 3.2 Objetos de trabajo del robot IRB1600 (soldador) . . 3.2.1 Cinta . . . . . . . . . . . . . . . . . . . . . . 3 4 5 6 7 7 7 7 8 8 8 9 9 10 11 11 11 11 12 13 13 13

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

4 Descripci on de las herramientas de trabajo 4.1 Ventosa inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Pistola de soldadura (AW Gun PSF 25) inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Descripci on de la soluci on propuesta 5.1 Tarea del robot IRB2400 (Rob1, posicionador) 5.2 Tarea del robot IRB1600 (Rob2, soldador) . . . 5.3 M odulo E/S . . . . . . . . . . . . . . . . . . . . 5.4 Diagramas de ujo . . . . . . . . . . . . . . . . 5.5 Rutina TRAP como medida de seguridad . . . 5.6 M odulos RAPID . . . . . . . . . . . . . . . . . 5.7 V deos . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

6 Modicaciones 14 6.1 Modicaci on de una herramienta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2 Modicaci on de un objeto de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7 Simulaci on: puesta en marcha 16

8 Conclusi on 19 8.1 An alisis de los objetivos alcanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.2 Posibles ampliaciones del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.3 Comentarios acerca de la pr acticas y el trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 A Recursos consultados B M odulos RAPID B.1 M odulo de datos del robot IRB2400 (CalibData) . . B.2 M odulo principal del robot IRB2400 (ModuleRob1) . B.3 M odulo de datos del robot IRB1600 (CalibData) . . B.4 M odulo principal del robot IRB1600 (ModuleRob2) . C Recursos consultados 20 21 21 22 27 28 31

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Introducci on

El objetivo de este trabajo es simular un proceso industrial en el que participen robots industriales. Para ello, el autor ha seleccionado un proceso sencillo, el montaje de unas l amparas de estilo moderno, ya que la geometr a de las mismas, pese a ser b asica, permite a los robots realizar sobre ella tanto trayectorias lineales como circulares. El proceso de montaje elegido emplea dos robots ABB de distintas caracter sticas, y sirve al autor para ilustrar distintos tipos de tareas que pueden realizar los robots industriales, as como la implementaci on de un protocolo b asico de sincronizaci on entre robots a trav es de entradas y salidas digitales. La estructura del trabajo es la siguiente: En los apartados 2, 3 y 4 se describen tanto la estaci on en la que se va a trabajar, como los objetos y herramientas con los que trabajar an los robots. Posteriormente, se proceder a a explicar la soluci on propuesta, as como las tareas que llevan a cabo los distintos robots en el apartado 5. En el apartado 6 se explicar an las consecuencias de realizar los cambios sobre el TCP de una herramienta y un objeto de trabajo propuestos por el profesor. Las instrucciones sobre la puesta en marcha de la simulaci on se proporcionar an en el apartado 7. Por u ltimo, en el apartado 8, se comentar an los resultados de la simulaci on, y se enumerar an las posibles mejoras que es posible realizar al trabajo.

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Descripci on de la estaci on de trabajo

La estaci on de trabajo cuenta con dos robot ABB de dos modelos distintos, IRB2400 y IRB1600. Uno de ellos se encarga de las labores de posicionamiento de piezas y el otro lleva a cabo la soldadura de las mismas. Los modelos fueron seleccionados atendiendo a su capacidad y alcance m aximos, seg un la tarea que deben realizar.

Vista general de la estaci on de trabajo.

Planta simplicada de la estaci on de trabajo

Las piezas a ensamblar son proporcionadas al robot de posicionamiento a trav es de dos pallets, que pueden contener un m aximo de 7 piezas apiladas.

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Por u ltimo, la estaci on cuenta con una cinta transportadora en la que se depositan las piezas para su ensamblado, y su posterior transporte a las siguientes fases del proceso de fabricaci on (Por ejemplo, pintado de las piezas).

2.1

Cinta inteligente

La cinta transportadora puede ser accionada a trav es de una entrada digital (diCinta) por un robot y transportar a la pieza hasta el nal de la misma. Una vez all la pieza pasar a a la siguiente etapa del montaje (en la simulaci on simplemente desaparecer a) y se activar a una salida digital (doCinta) indicando que la cinta est a libre y lista para otra pieza. A continuaci on se muestra el diagrama de bloques de la cinta inteligente:

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

2.2

Barrera inteligente

Como medida de seguridad, la estaci on cuenta con una barrera l aser que detecta si alguna persona u objeto la cruza mientras el robot est a ejecutando su tarea. Este evento genera una salida digital (doBarrera) que est a conectada a una interrrupci on, de forma que los robots se detengan inmediatamente, evitando posibles accidentes. La barrera l aser se encuentra siempre activada por defecto.

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Descripci on de los objetos de trabajo

Al utilizar un sistema de dos robots disponemos de distintos objetos de trabajo para cada uno de ellos. A continuaci on procederemos a su descripci on.

3.1

Objetos de trabajo del robot IRB2400 (posicionador)

El robot posicionador posee tres objetos de trabajo distintos, uno por cada pallet, y otro para la cinta transportadora donde deposita las piezas. 3.1.1 Pallet 01

El sistema de referencia del usuario se encuentra en la esquina del pallet, y el sistema de referencia del objeto se encuentra en el centro de la supercie externa de la primera pieza que se encuentra en el pallet01, con la orientaci on adecuada para la aproximaci on de la herramienta de ventosa que la transportar a.

3.1.2

Pallet 02

Los sistemas de referencia del pallet02 son id enticos a los del pallet01, debido a las similitudes geom etricas de ambos pallets y piezas que soportan.

(La pieza se muestra transparente para una mejor apreciaci on de los sistemas de referencia. )

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

3.1.3

Cinta

El sistema de referencia del usuario en la cinta se encuentra en una de sus esquinas, y el sistema de referencia del objeto se halla en la posici on en la que se encontrar a el centro de la supercie de la pieza al ser colocada en la cinta. De esta forma es muy sencillo referenciar el punto de destino de la pieza, pues es el origen. La orientaci on del sistema de referencia del objeto se corresponde con la orientaci on del TCP de la herramienta ventosa.

3.2

Objetos de trabajo del robot IRB1600 (soldador)

El robot encargado de llevar a cabo las soldaduras tiene un s olo objeto de trabajo, la cinta donde se colocan las piezas que ha de soldar. 3.2.1 Cinta

El sistema de referencia del usuario en la cinta se encuentra, como en el caso anterior, en una de sus esquinas, y el sistema de referencia del objeto se sit ua en el centro de la supercie de la pieza al ser colocada sobre la cinta. La orientaci on del mismo, sin embargo, es distinta a la del sistema de la cinta para el otro robot, ya que se encuentra orientado seg un el TCP de la pistola de soldadura que porta este robot.

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

4
4.1

Descripci on de las herramientas de trabajo


Ventosa inteligente

Esta herramienta es la ventosa creada por el alumno en la pr actica 4, con unas dimensiones de 300x300x50mm. El TCP de la herramienta se encuentra en el centro del extremo de la ventosa, a 100mm del TCP de la mu neca del robot que la porta.

La ventosa posee una entrada digital, diVentosa, para que el robot accione la misma. Cuando est a activa, el sensor de l nea detecta si hay alguna pieza cort andolo. De ser as , la pieza queda conectada a la ventosa, y se mover a con ella, a la vez que se acciona la salida digital doVentosa, indicando que se ha llevado a cabo la acci on correctamente. Al desactivar la entrada diVentosa, la ventosa se desconectar a de la pieza a la que estaba conectada previamente, y pondr a la salida digital doVentosa a 0.

Diagrama de bloques de la ventosa.

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

4.2

Pistola de soldadura (AW Gun PSF 25) inteligente

La pistola de soldadura AW Gun PSF 25 es una de las herramientas proporcionada por ABB en su biblioteca de componentes, cuyas dimensiones aproximadas son 230x100x400mm.

Usando este componente como base se desarroll o un componente inteligente para simular la tarea de soldadura sobre las piezas. Este componente inteligente posee dos sensores de l nea horizontales colocados sobre la cinta trasportadora, que detectan las piezas a ser soldadas. Cuando las dos est an colocadas una sobre la otra en la cinta, y se acciona el soldador, ambas son detectadas y unidas.

Detalle de los sensores de l nea.

A continuaci on se muestra el diagrama de bloques del componente inteligente como referencia.

10

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Descripci on de la soluci on propuesta

El proceso industrial simulado consiste en el montaje de unas l amparas de dise no moderno. Estas l amparas est an compuestas de unas piezas circulares de cristal amarillo rodeadas por una parte met alica y una parte de forma cuadrada que contiene la l ampara en s . Estas piezas son montadas en otra estaci on y son introducidas en la l nea de montaje en pal es. Tras ser soldadas juntas, estas pasan a otras etapas del montaje de la l ampara, como el control de calidad, que tambi en est an automatizadas. La empresa que las fabrica sigue una metodolog a just-in-time, por lo que le interesa que s olo se fabriquen las unidades demandadas por el cliente. Por ello, el n umero de componentes en los pal es puede ser variable, lo cual se ha tenido en cuenta en el programa, y antes de montar un lote, el robot preguntar a al operario cu antas l amparas ser an montadas.

5.1

Tarea del robot IRB2400 (Rob1, posicionador)

El robot IRB2400 est a equipado con la herramienta ventosa, y su tarea es la de coger los componentes de cada uno de los pal es y colocarlos en la cinta, donde la tarea de soldadura ser a llevada a cabo. Una vez soldadas las piezas, el robot acciona la cinta transportadora y espera a que pase a la siguente etapa antes de colocar la siguiente pieza.

5.2

Tarea del robot IRB1600 (Rob2, soldador)

El robot IRB1600 est a equipado con un soldador. Su tarea consiste en realizar unas soldaduras sobre la parte cuadrada para unir ciertos componentes internos, y posteriormente, una vez colocado el cristal redondo en su posici on de montaje, soldar ambas piezas juntas.

5.3

M odulo E/S

A continuaci on se describe el m odulo de entradas/salidas usado en la estaci on simulada, nombrando las se nales, el tipo de se nal, a qu e robot est a conectada esa se nal y una breve descripci on de las mismas.

Nombre diBarrera diCinta diFinishedTaskRob1

Tipo de se nal entrada digital entrada digital entrada digital

Robot Rob1/Rob2 Rob1 Rob1

diFinishedTaskRob2

entrada digital

Rob2

diVentosa doCinta doFinishedTaskRob1

entrada digital salida digital salida digital

Rob1 Rob1 Rob1

Descripci on Se nal conectada a la salida de la barrera inteligente para detectar que se ha cruzado la misma. Se nal conectada a la salida de la cinta inteligente, la cual indica que la cinta est a en marcha. Se nal conectada a la salida doFinishedTaskRob2 del robot 2, de forma que un protocolo de sincronizaci on pueda ser establecido. Se nal conectada a la salida doFinishedTaskRob1 del robot 1, de forma que un protocolo de sincronizaci on pueda ser establecido. Se nal conectada a la salida de la ventosa inteligente, la cual detecta la presencia del objeto cogido. Se nal conectada a la entrada de la cinta inteligente para su puesta en marcha. Se nal conectada a la entrada diFinishedTaskRob2 del robot 2, de forma que un protocolo de sincronizaci on pueda ser establecido.

11

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

doFinishedTaskRob2

salida digital

Rob2

doSoldar doVentosa

salida digital salida digital

Rob2 Rob1

Se nal conectada a la entrada diFinishedTaskRob1 del robot 1, de forma que un protocolo de sincronizaci on pueda ser establecido. Se nal conectada a la entrada del soldador inteligente para su puesta en marcha. Se nal conectada a la entrada de la ventosa inteligente para su accionamiento.

5.4

Diagramas de ujo

12

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

5.5

Rutina TRAP como medida de seguridad

Un robot industrial en funcionamiento puede ser peligroso para los operarios de la planta si no se toman las precauciones adecuadas. Para evitar posibles accidentes debidos al acceso de operarios al espacio de trabajo de los robots se ha implementado una rutina de interrupci on TRAP conectada a la salida de la barrera inteligente. Cuando la barrera detecta que un objeto la ha cruzado, los robots se paran de inmediato, y en el caso del robot soldador, la herramienta de soldadura es desactivada. Un mensaje de error es mostrado en el FlexPendant, y un men u para que el usuario conrme que el problema se ha solventado. Tras la conrmaci on el sitema volver a a la posici on de reposo, y la ejecuci on del programa deber a ser reiniciada. A continuaci on se proporciona la rutina TRAP para el robot IRB2400 como muestra: TRAP paradaEmergencia StopMove\Quick; TPErase; IF DInput(diBarrera)=1 THEN TPWrite "ERROR: la barrera ha sido cruzada. Parando robots."; ENDIF TPReadFK dummy,"Para reanudar el sistema pulse Reanudar","Reanudar","","","",""; StartMove; irReposo; ENDTRAP

5.6

M odulos RAPID

El c odigo RAPID para los robots IRB2400 (Rob1) y IRB1600 (Rob2) puede consultarse en el ap endice B.

5.7

V deos

En la carpeta videos se pueden encontrar los v deos de la estaci on simulada, tanto llevando a cabo su funcionalidad principal (RutinaPrincipal.mp4) como demostrando la funci on TRAP de seguridad (RutinaSeguridad.mp4).

13

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

6
6.1

Modicaciones
Modicaci on de una herramienta

Para llevar a cabo este apartado, se escal o la herramienta ventosa al 50%, reduciendo as sus dimensiones, y se actualizaron los datos de la herramienta en el c odigo de RAPID de acuerdo a los cambios realizados.

Como la tarea de colocaci on de objetos que realiza el robot que porta la ventosa no depende de forma cr tica de la longitud de la herramienta, este cambio no afecta al correcto funcionamiento de la estaci on, por lo que no se aprecian cambios. En las im agenes adjuntas podemos apreciar que, pese a que hemos cambiado la herramienta, con una simple actualizaci on del tooldata ventosa el robot ejecuta su tarea sin modicar el resto de m odulos del programa.

El archivo que contiene esta estaci on se puede encontrar en la carpeta pack&go bajo el nombre EstacionCambioHerramienta. 14

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

6.2

Modicaci on de un objeto de trabajo

Para la realizaci on de este apartado se ha movido uno de los pallets (pallet 01), junto con su objeto de trabajo, para comprobar el efecto en la simulaci on de este cambio.

En teor a, al mover el objeto de trabajo junto con el objeto, y estar el resto del programa escrito con puntos relativos al objeto de trabajo, la ejecuci on no deber a sufrir cambios notables. La raz on detr as de usar objetos de trabajo en RAPID es precisamente esa, poder modicar la ubicaci on de un objeto y s olo tener que cambiar la ubicaci on de ese objeto de trabajo sin modicar el resto de instrucciones en el programa. En la pr actica, al llevar a cabo la simulaci on, la nueva posici on elegida para el pallet devuelve un fallo durante la ejecuci on, ya que la conguraci on de los ejes para alcanzar esos puntos no es la misma que la conguraci on de ejes para alcanzarlos con el pallet en la posici on anterior. En este caso, para que el programa funcionase de nuevo correctamente habr a que especicar una nueva conguraci on de ejes en los puntos relativos al pallet 01.

El archivo que contiene esta estaci on se puede encontrar en la carpeta pack&go bajo el nombre EstacionCambioWObj.

15

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Simulaci on: puesta en marcha


1. Abrir la estaci on. Dentro del archivo zip proporcionado, en la carpeta pack&go, se encuentra el archivo Pack and Go que contiente la estaci on a simular, llamado EstacionPrincipal. Para abrirlo, seleccionamos en la pantalla de inicio de RobotStudio la opci on Compartir>Unpack and Work, y seguimos las instrucciones del asistente que aparecer a en pantalla.

2. Ajuste de las piezas. Una vez abierta la estaci on, el siguiente paso (opcional) a seguir es ajustar la visibilidad de las piezas. El programa RAPID que controla la estaci on funciona con diversos tama nos de lote. Por defecto, 2 unidades de cada tipo de pieza est an visibles y detectables por el sistema, pero se proporcionan otras 5 unidades ocultas en caso de que se quiera probar la funcionalidad de la estaci on con otro tama no de lote. 3. Abrir el FlexPendant. Para la correcta ejecuci on de la simulaci on, el dispositivo FlexPendant debe estar abierto. Para ello nos situamos en la pesta na superior Controlador y selecionamos la opci on FlexPendant.

El dispositivo FlexPendant deber a aparecer en pantalla a continuaci on.

16

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

4. Congurar la simulaci on. A continuaci on cambiamos a la pesta na Simulaci on, y abrimos la ventana Opciones de simulaci on.

En el apartado Tiempo virtual seleccionamos Ejecuci on libre.

Una vez congurado podremos simular el proceso.

17

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

5. Simulaci on del proceso. Para simular el proceso, en la misma pesta na Simulaci on hacemos click en Reproducir. Una vez los robots han llegado a la posici on de reposo, el FlexPendant nos har a unas preguntas sobre el proceso a realizar. Si estamos llevando a cabo la simulaci on con el n umero de piezas por defecto, la cantidad a seleccionar ser a 2.

A continuaci on se nos preguntar a por la ubicaci on de las piezas cuadradas. El programa de RAPID est a dise nado de tal manera que el orden de colocaci on de los pallets no es relevante, pudi endose seleccionar al inicio de la tarea. Por defecto, las piezas cuadradas estar an en el Pallet 2.

Una vez realizados estos pasos, s olo queda observar como los robots llevan a cabo el proceso.

18

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

8
8.1

Conclusi on
An alisis de los objetivos alcanzados

El objeto principal de este trabajo era aprender a usar el entorno de programaci on para robots ABB RobotStudio, junto con la implementaci on de un proceso industrial con los mismos. La selecci on de un proceso industrial sencillo ha servido al alumno para familiarizarse con el entorno, priorizando el aprendizaje de la herramienta (RobotStudio) frente a la resoluci on de un problema excesivamente complejo. Pese a ello, gracias a la inclusi on de dos robots que realizan tareas distintas, se ha podido abarcar un rango de procedimientos m as amplio, ejecutando tanto movimientos punto a punto en caso del robot que transporta las piezas con la ventosa, como de trayectorias lineales y circulares, en caso del robot soldador. Adem as, el uso de dos robots ha requerido la implementaci on de un protocolo de sincronizaci on b asico, el cual se ha llevado a cabo a trav es de las entradas/salidas del robot. Por tanto, el autor cree que los objetivos planteados para el trabajo han sido cumplidos satisfactoriamente.

8.2

Posibles ampliaciones del trabajo

Una vez el alumno ha aprendido a manejar el entorno y las distintas funcionalidades de la herramienta RobotStudio, el trabajo podr a ser ampliado implementando un proceso m as complejo que requiera, adem as del correcto uso del programa, un desarrollo m as elaborado. Esto podr a conseguirse cambiando los objetos con los que trabajan los robots por elementos m as peque nos o de una geometr a m as irregular, que podr an llegar a la estaci on por medio de una cinta transportadora en lugar de llegar en pallets, lo cual resultar a a su vez m as el a la realidad. Por otro lado, para evitar posibles errores durante el uso del sistema dise nado, se podr a colocar alg un tipo de sensor de proximidad extra en el robot que porta la ventosa, de forma que si el operario introduce por error un n umero incorrecto de piezas el robot no colisione con ellas. De esta forma se podr a, adem as, realizar un sistema m as aut onomo ya que el robot no necesitar a conocer el n umero de piezas, sino que las estimar a gracias a este sensor, y emitir a un aviso para su reposici on inmediata cuando detectase que no quedan piezas en el pallet. Por u ltimo, se podr a incluir un tercer robot en el sistema que paletizase o empaquetase las l amparas una vez montadas por los otros dos robots.

8.3

Comentarios acerca de la pr acticas y el trabajo

La opini on personal del autor es que en las pr acticas con los robots ABB reales el alumno tiene un contacto muy escaso con los robots, ya que los grupos son numerosos y los instructores escasos. El autor entiende que los recursos de los que se dispone son limitados, por lo que propone que las sesiones pr acticas realizadas en las aulas inform aticas sean reducidas en favor de las sesiones con robots, y que se realicen antes para que los alumnos puedan asistir a las sesiones con los robots con un m nimo contacto previo con la interfaz del FlexPendant, que puede ser simulado en RobotStudio, para un mayor aprovechamiento. Por otra parte, el autor considera que la curva de aprendizaje del software RobotStudio tiene una pendiente muy elevada, y que ser a conveniente proporcionar a los alumnos alg un tutorial m as al estilo de los manuales de las pr acticas, explicando algunas de las rarezas de RobotStudio que resultan poco intuitivas.

19

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Recursos consultados
Create tool with RobotStudio: http://www.robotstudio.com/tutorial/15b/CreateTool.html Create System from Layout (YouTube video): http://youtu.be/Ur1zuGR-d_M Input and Output signals in RobotStudio: http://www.docstoc.com/docs/32766659/Practice-5-Input-and-Output-Signal-in-Robot-Studio ABB RobotStudio - How to use it: http://www.abb.com/product/ap/seitp327/f7890149122101c6c125798a004ee0e2.aspx RAPID Reference Manual: http://rab.ict.pwr.wroc.pl/irb1400/overviewrev1.pdf ABB Robotics - Manuals: http://developercenter.robotstudio.com/index.aspx?devcenter=devcentermanualstore

20

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

B
B.1

M odulos RAPID
M odulo de datos del robot IRB2400 (CalibData)

MODULE CalibData ! Definici on de los datos del robot 1: ! -----------------------------------------------------------------------------! Definir la herramienta ventosa PERS tooldata ventosa:=[TRUE,[[0,0,100],[1,0,0,0]],[1,[0,0,1],[1,0,0,0],0,0,0]]; ! Definir los objetos de trabajo TASK PERS wobjdata pallet_01:=[FALSE,TRUE,"",[[1100,-1300,145],[1,0,0,0]], [[400,600,100],[0,0,1,0]]]; TASK PERS wobjdata pallet_02:=[FALSE,TRUE,"",[[1100,100,145],[1,0,0,0]], [[400,600,100],[0,-0.707106781,0.707106781,0]]]; TASK PERS wobjdata cinta:=[FALSE,TRUE,"",[[500,2035,435],[0,0,0,1]],[[500,535,100],[0,1,0,0]]]; ! Definir puntos CONST robtarget origen:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST jointtarget reposoR1:=[[90,0,0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; ! Definir cargas PERS loaddata loadCuadrado:=[1,[0,0,50],[1,0,0,0],0,0,0]; PERS loaddata loadCristal:=[2,[0,0,50],[1,0,0,0],0,0,0]; ! Definir variables VAR num num_piezas; VAR num pallet_cuadrado; VAR num dummy; CONST num grosor_pieza:=100; ENDMODULE

21

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

B.2

M odulo principal del robot IRB2400 (ModuleRob1)

MODULE ModuleRob1 ! Variable para la interrupci on de la funci on TRAP VAR intnum interrupt; ! Proceso principal PROC MAIN() ! Preparaci on previa: ! ----------------------------------------------------! Inicializar se~ nales: Reset doFinishedTaskRob1; Reset doVentosa; Reset doCinta; ! Sin Carga: GripLoad load0; ! Asignar rutina de interrupci on: CONNECT interrupt WITH paradaEmergencia; ISignalDI diBarrera,1,interrupt;

! Hilo principal ! -----------------------------------------------------WHILE TRUE DO ! Llevar al robot a la posici on de reposo irReposo; ! Pedir al usuario datos del n umero de piezas y ubicaci on del pallet ! de los cuadrados TPErase; TPReadNum num_piezas,"Cu antas piezas se montar an?"; TPReadFK pallet_cuadrado,"En qu e pallet est an situados los cuadrados?", "Pallet 1","Pallet 2","","",""; ! Montaje de un lote completo WHILE num_piezas>0 DO ! Activar la vigilancia de la interrupci on de la barrera IWatch interrupt; ! Colocar el cuadrado waitTime\InPos,1; waitdi diFinishedTaskRob1,1; ! Seleccionar el pallet seg un d onde est en los cuadrados IF pallet_cuadrado=1 THEN cogerPallet1 0,num_piezas,0; ELSE cogerPallet2 0,num_piezas,0; ENDIF irReposo; Set doFinishedTaskRob1;

22

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

WaitTime\InPos,1;

! Colocar el cristal WaitDI diFinishedTaskRob1,1; Reset doFinishedTaskRob1; IF pallet_cuadrado=1 THEN ! Seleccionar el pallet seg un d onde est en los cristales cogerPallet2 1,num_piezas,1; ELSE cogerPallet1 1,num_piezas,1; ENDIF irReposo; Set doFinishedTaskRob1; WaitTime\InPos,1; ! Activar cinta WaitDI diFinishedTaskRob1,1; Reset doFinishedTaskRob1; Set doCinta; WaitTime\InPos,1; WaitDI diCinta,0; Reset doCinta; ! Substraer la pieza ya completada al contador num_piezas:=num_piezas-1; ENDWHILE ! Levantar la protecci on de interrupci on ISleep interrupt; ENDWHILE ENDPROC

! Ir a la posici on de reposo / inicial ! ---------------------------------------------------PROC irReposo() MoveAbsJ reposoR1,v1000,z100,ventosa\WObj:=wobj0; ENDPROC

! Coger una pieza en el pallet 1 ! ----------------------------------------------------PROC cogerPallet1(num tipo,num numPieza,num destino) IF numPieza<8 and numPieza>0 THEN ! M aximo de piezas: 8 IF destino=0 or destino=1 THEN ! S olo dos destinos ! Mover la ventosa hasta el pallet1 MoveJ Offs(origen,0,0,altura(8)),v1000,z5,ventosa\WObj:=pallet_01; MoveL Offs(origen,0,0,altura(numPieza)),v300,fine,ventosa\WObj:=pallet_01; ! Activar la ventosa Set doVentosa;

23

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

WaitTime 0.3; IF (DInput(diVentosa)=0) THEN TPWrite("Sucedi o un error al coger la pieza (piezas agotadas?)"); Stop; ENDIF ! Coger la carga IF tipo=0 THEN ! Es un cuadrado GripLoad loadCuadrado; ELSE ! Es un c rculo GripLoad loadCristal; ENDIF ! Levantar la pieza MoveL Offs(origen,0,0,-800),v200,fine,ventosa\WObj:=pallet_01; ! Llevarlo a la cinta MoveJ Offs(origen,0,0,-510),v800,z5,ventosa\WObj:=cinta; MoveL Offs(origen,0,0,-100*destino),v100,fine,ventosa\WObj:=cinta; ! Soltar carga (desactivar ventosa) Reset doVentosa; WaitTime 0.3; GripLoad load0; ! Quitar la carga ! Volver con cuidado al origen MoveL Offs(origen,0,0,-510),v500,fine,ventosa\WObj:=cinta; ELSE TPWrite("El destino seleccionado no existe."); ENDIF ELSE TPWrite("Numero m aximo de piezas excedido"); ENDIF ENDPROC ! Coger una pieza en el pallet 2 ! ----------------------------------------------------PROC cogerPallet2(num tipo,num numPieza,num destino) IF numPieza<8 and numPieza>0 THEN ! M aximo de piezas: 8 IF destino=0 or destino=1 THEN ! S olo dos destinos ! Necesario para evitar la singularidad cerca del pallet ConfJ\Off; ConfL\Off; ! Mover la ventosa hasta el pallet2 MoveJ Offs(origen,0,0,-800),v1000,z5,ventosa\WObj:=pallet_02; MoveJ Offs(origen,0,0,altura(numPieza)),v500,fine,ventosa\WObj:=pallet_02; ! Activar la ventosa Set doVentosa; WaitTime 0.3; IF DInput(diVentosa)=0 THEN TPWrite("Sucedi o un error al coger la pieza (piezas agotadas?)"); Stop;

24

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

ENDIF ! Coger la carga correspondiente IF tipo=0 THEN GripLoad loadCuadrado; ! Es un cuadrado ELSE GripLoad loadCristal; ! Es un cristal ENDIF ! Levantar la pieza MoveL Offs(origen,0,0,-800),v200,fine,ventosa\WObj:=pallet_02; ! Llevarlo a la cinta MoveJ Offs(origen,0,0,-510),v800,z5,ventosa\WObj:=cinta; MoveL Offs(origen,0,0,-100*destino),v200,fine,ventosa\WObj:=cinta; ! Soltar carga (desactivar ventosa) Reset doVentosa; WaitTime 0.3; GripLoad load0; ! Soltar la carga ! Volver con cuidado al origen MoveL Offs(origen,0,0,-510),v500,fine,ventosa\WObj:=cinta; ! Restaurar seguimiento de las configuraciones ConfJ\On; ConfL\On; ELSE TPWrite("El destino seleccionado no existe."); ENDIF ELSE TPWrite("Numero m aximo de piezas excedido"); ENDIF ENDPROC ! Devuelve la altura a la que est a un determinado item en la pila ! a partir de su grosor. FUNC num altura(num item) RETURN -grosor_pieza*(item-1); ENDFUNC ! Para el robot en caso de que la barrera sea cruzada por alguien ! mientras los robots est an operativos TRAP paradaEmergencia StopMove\Quick; TPErase; IF DInput(diBarrera)=1 THEN TPWrite "ERROR: la barrera ha sido cruzada. Parando robots."; ENDIF TPReadFK dummy,"Para reanudar el sistema pulse Reanudar","Reanudar","","","",""; StartMove; irReposo; ENDTRAP

25

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

ENDMODULE

26

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

B.3

M odulo de datos del robot IRB1600 (CalibData)

MODULE CalibData ! Definici on de los datos del robot 2: ! -----------------------------------------------------------------------------! Definir la herramienta pistola soldadora PERS tooldata AW_Gun:=[TRUE,[[119.5,0,352],[0.890213743,0,0.455543074,0]], [1,[0,0,100],[1,0,0,0],0,0,0]]; ! Definir el objeto de trabajo cinta TASK PERS wobjdata cinta:=[FALSE,TRUE,"",[[500,2035,435],[0,0,0,1]],[[500,535,100], [0,-0.707106781,0.707106781,0]]]; ! Definici on de puntos CONST robtarget center:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST jointtarget reposoR2:=[[-90,0,0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST jointtarget trabajoR2:=[[0,0,0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST robtarget inicioCirculo:=[[0,-radioCirculo,-20],[1,0,0,0],[-1,0,-1,0], [9E9,9E9,9E9,9E9,9E9,9E9]]; CONST robtarget medioCirculo:=[[0,radioCirculo,-20],[1,0,0,0],[0,-1,0,0], [9E9,9E9,9E9,9E9,9E9,9E9]]; ! Definici on de variables y constantes: CONST num ladoCuadrado:=600; CONST num radioCirculo:=300; VAR num dummy; ENDMODULE ! Usada en la gesti on de errores

27

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

B.4

M odulo principal del robot IRB1600 (ModuleRob2)

MODULE ModuleRob2 ! Variable para la interrupci on de la funci on TRAP VAR intnum interrupt;

PROC MAIN() ! Inicializar se~ nales del robot Reset doFinishedTaskRob2; Reset doSoldar; ! Asignar rutina de interrupci on CONNECT interrupt WITH paradaEmergencia; ISignalDI diBarrera, 1, interrupt; ! Mover el robot a la posici on inicial irReposo; Set doFinishedTaskRob2; WaitTime\InPos,0.5; WHILE TRUE DO ! Activar la vigilancia de la interrupci on: IWatch interrupt; ! Esperar hasta que el cuadrado est e en posici on WaitDI diFinishedTaskRob2,1; Reset doFinishedTaskRob2; soldarCuadrado; Set doFinishedTaskRob2; WaitTime\InPos,0.5; ! Esperar hasta que el c rculo est e en posici on WaitDI diFinishedTaskRob2,1; Reset doFinishedTaskRob2; soldarCirculo; Set doFinishedTaskRob2; WaitTime\InPos,0.5; ENDWHILE ISleep interrupt; ENDPROC

! Posiciona el robot en la posici on de espera ! ---------------------------------------------------------PROC irReposo() MoveAbsJ reposoR2,v1000,z100,AW_Gun\WObj:=wobj0; ENDPROC

! Suelda el cuadrado

28

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

! ---------------------------------------------------------PROC soldarCuadrado() ! Aproximarse al primer punto de soldadura MoveJ Offs(center,ladoCuadrado/2,ladoCuadrado/2,-500),v1000,z100,AW_Gun\WObj:=cinta; MoveL Offs(center,ladoCuadrado/2,ladoCuadrado/2,0),v100,fine,AW_Gun\WObj:=cinta; ! Asegura que el robot no se queda bloqueado mientras suelda debido a singularidades ConfJ\Off; ConfL\Off; ! Enciende el soldador Set doSoldar; ! Suelda el contorno MoveL Offs(center,ladoCuadrado/2,-ladoCuadrado/2,0),v500,fine,AW_Gun\WObj:=cinta; MoveL Offs(center,-ladoCuadrado/2,-ladoCuadrado/2,0),v500,fine,AW_Gun\WObj:=cinta; MoveL Offs(center,-ladoCuadrado/2,ladoCuadrado/2,0),v500,fine,AW_Gun\WObj:=cinta; MoveL Offs(center,ladoCuadrado/2,ladoCuadrado/2,0),v500,fine,AW_Gun\WObj:=cinta; ! Apaga el soldador Reset doSoldar; ! Reestablece el chequeo de configuraciones ConfJ\On; ConfL\On; ! Vuelve a la posici on de reposo MoveL Offs(center,ladoCuadrado/2,ladoCuadrado/2,-500),v100,fine,AW_Gun\WObj:=cinta; irReposo; ENDPROC

! Suelda el cristal ! ---------------------------------------------------------PROC soldarCirculo() ! Aproximarse al primer punto de soldadura MoveJ Offs(center,0,-radioCirculo,-500),v1000,z100,AW_Gun\WObj:=cinta; MoveL inicioCirculo,v100,fine,AW_Gun\WObj:=cinta; ! Asegura que el robot no se queda bloqueado mientras suelda debido a singularidades ConfJ\Off; ConfL\Off; ! Enciende el soldador Set doSoldar; ! Suelda el contorno MoveL inicioCirculo, v300, fine, AW_Gun\WObj:=cinta; MoveC Offs( center, -300, 0, -20), medioCirculo ,v300, fine, AW_Gun\WObj:=cinta; MoveC Offs( center, 300, 0, -20), inicioCirculo ,v300, fine, AW_Gun\WObj:=cinta; ! Apaga el soldador Reset doSoldar;

29

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

! Reestablece el chequeo de configuraciones ConfJ\On; ConfL\On; ! Vuelve a la posici on de reposo MoveL Offs(center,radioCirculo,0,-500),v100,fine,AW_Gun\WObj:=cinta; irReposo; ENDPROC

! Para el robot en caso de que la barrera sea cruzada por alguien ! mientras los robots est an operativos TRAP paradaEmergencia Reset doSoldar; ! Desactivar el soldador antes de nada para evitar accidentes. StopMove \Quick; TPErase; IF DInput( diBarrera) = 1 THEN TPWrite "ERROR: la barrera ha sido cruzada. Parando robots."; ENDIF TPReadFK dummy, "Para reanudar el sistema pulse Reanudar", "Reanudar", "", "", "", ""; StartMove; irReposo; ENDTRAP ENDMODULE

30

Simulaci on de un proceso de ensamblaje por soldadura en RobotStudio

Recursos consultados
Create tool with RobotStudio: http://www.robotstudio.com/tutorial/15b/CreateTool.html Create System from Layout (YouTube video): http://youtu.be/Ur1zuGR-d_M Input and Output signals in RobotStudio: http://www.docstoc.com/docs/32766659/Practice-5-Input-and-Output-Signal-in-Robot-Studio ABB RobotStudio - How to use it: http://www.abb.com/product/ap/seitp327/f7890149122101c6c125798a004ee0e2.aspx RAPID Reference Manual: http://rab.ict.pwr.wroc.pl/irb1400/overviewrev1.pdf ABB Robotics - Manuals: http://developercenter.robotstudio.com/index.aspx?devcenter=devcentermanualstore

31

Você também pode gostar