Anda di halaman 1dari 113

Programacin de Robots Industriales

PROGRAMACIN DE ROBOTS

Gua del estudiante

Versin 4 16 de setiembre de 2011

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

Gua Para la Programacin de Robots

Contenido

INTRODUCCIN A LOS ROBOTS INDUSTRIALES COORDINACIN DE UNA APLICACIN CON ROBOTS (POSICIONES) MANEJO DE OBJETOS VIRTUALES MANEJO DE UN SISTEMA PALLETIZADO SISTEMAS DE MANIPULACIN CON VECTORES MANEJO DE ENTRADAS Y SALIDAS COMUNICACIN DEL ROBOT, MANEJO DE I/O, Y OTRAS APLICACIONES. ANEXO 1 ANEXO 2

Objetivos Especficos Que al finalizar el seminario el participante coloque posiciones en un robot industrial Mitsubishi. Que al finalizar el seminario el participante sea capaz de hacer programas eficientes para robots industriales utilizando el lenguaje Melfa Basic IV. Que al finalizar el seminario el participante sea capaz de poner en marcha los programas para robots industriales Mitsubishi.

Objetivo General Al finalizar la capacitacin, el participante ser capaz de programar un robot industrial Mitsubishi, configurar las posiciones de trabajo, simularlo y ponerlo en marcha.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

INTRODUCCIN A LOS ROBOTS INDUSTRIALES

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

1.

INTRODUCCIN A LOS ROBOTS INDUSTRIALES

El trmino ROBOT procede de la palabra checa robota, que significa 'trabajo obligatorio'; fue empleado por primera vez en la obra teatral de 1921 R.U.R. (Robots Universales de Rossum) por el novelista y dramaturgo checo Karel Rapek. Desde entonces se ha empleado la palabra robot para referirse a una mquina que realiza trabajos para ayudar a las personas o efecta tareas difciles o desagradables para los humanos. Se define a un robot industrial como un mecanismo manipulador con ms de tres ejes de movimiento el cual es multipropsito, automticamente controlado y reprogramable. Existen otros tipos de robots experimentales tales como los que buscan imitar la anatoma o el procedimiento de aprendizaje humano, pero con mnimas aplicaciones industriales en la actualidad. Esta categora no ser cubierta en este material. Las aplicaciones tpicas del uso de los robots industriales incluyen la soldadura, la pintura, el ensamblado, la colocacin de piezas, la inspeccin de productos y la prueba de productos. Todo lo anterior acompaado de velocidad, precisin y larga durabilidad del robot.

Como un dispositivo mecnico, todo robot tiene determinadas partes claves:

Articulaciones o ejes de movimiento: son los puntos que proporcionan movimiento a las partes del robot

Actuadores: son la fuente de movimiento controlado para las partes mviles del robot. Puede tratarse de actuadores por servomotores, actuadores hidrulicos o actuadores neumticos. Herramientas de punto terminal: dispositivo colocado en el punto terminal del robot en el cual se coloca la herramienta que el robot utilizar para realizar su trabajo. Pueden ser elementos para asir o agarrar elementos para aplicacin de procesos (pintura, atornillado, calor, soldadura) Sistemas de Control: generalmente se usa un sistema basado en PLC para controlar el movimiento del robot.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

Herramientas de punto terminal: dispositivo colocado en el punto terminal del robot en el cual se coloca la herramienta que el robot utilizar para realizar su trabajo. Dentro de esta estas herramientas se pueden citar: Herramientas para asir objetos: Pinzas o dispositivos electromecnicos hidrulicos o neumticos. electromecnicos, Asidores por vaco.

s Herramientas para aplicacin de materiales o procesos: Aplicacin de pegamentos. Aplicacin de pinturas. Aplicacin de Calor. . Aplicacin de soldaduras. Colocacin y apretado de tornillos. Colocacin de remaches. Colocacin de piezas por presin.

Sistemas de Control: Siempre es necesario un sistema controlador por microprocesador para controlar el robot, generalmente se usa un sistema basado en PLC, y generalmente acta como servoamplificador ma de los distintos servoactuadores, como programador de tareas y secuencias de movimientos, y como memoria de almacenamiento de las mismas secuencias programadas. TIPOS DE ROBOTS INDUSTRIALES Las configuraciones ms conocidas de robots son los robots articulados, robots SCARA (Selective Compliance Assembly Robot Arm) y los robots cartesianos. Los Robots Articulados. Son artefactos inspirados en el brazo humano, usan articulaciones rotativas para m moverse dentro de su espacio de trabajo, aunque pueden combinar tambin elementos hidrulicos o ejes de movimiento lineal que expanden su libertad de movimiento.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

Robots SCARA Se trata de robots limitados en su rango de movimientos a los ejes X e Y (no hay movimiento en el eje Z) su nombre proviene de Selective Compliant Assembly Robot Arm or Selective Compliant Articulated Robot Arm. Generalmente son ms fciles de instalar, y programar (dependiendo del nmero de articulaciones) Robots Cartesianos: Son aquellos en los cuales sus ejes principales de movimiento son lineales y estn en ngulo de 90 grados respecto a sus otros ejes. En ocasiones son llamados Gantry Robots. Su uso ms extendido es como actuador principal en las mquinas asistidas por cont control numrico por computadora CNC. Aunque tambin se trata del sistema de automatizacin ms sencillo utilizado en la industria.

Parmetros Importantes en la valoracin de Robots Industriales. Nmero de ejes: ejes de movimiento que tiene el robot para desempearse en su campo desempearse de trabajo. Grados de Libertad: Nmero de ejes que posee el robot. Campo o rea de trabajo: regin del espacio definida por el alcance del robot. Cinemtica: arreglo de los miembros rgidos y las articulaciones en el robot, que determinan los posibles movimientos del robot. rminan Capacidad de Carga: Mximo peso que el robot puede manipular. Velocidad: qu tan rpido se puede mover el punto terminal del robot. Cuando se mueven todas las articulaciones. Aceleracin: la mxima aceleracin que puede alcanzar una articulacin cuando se est moviendo. Exactitud: Qu tan cerca o con qu precisin puede el robot alcanzar una determinada posicin. Este parmetro puede variar dependiendo de la velocidad, el peso manipulado, y la posicin dentro del espacio o campo de trabajo. spacio Repetitividad: Con qu precisin puede el robot retornar a una posicin previamente programada. No es lo mismo que exactitud, la repetitividad mide las variaciones de la

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

exactitud a travs del tiempo. Un ejemplo, si un robot se le pide retornar a una posicin previamente programada, la repetitividad ser la desviacin estndar de las diferencias de posicin en las tres dimensiones. Control de Movimiento: Control no slo en cuanto a las posiciones, sino tambin en cuanto a la velocidad del movimiento. Fuente de Poder: naturaleza de los actuadores principales del robot: hidrulicos o elctricos. Cumplimiento: Medida de la cantidad de ngulo o distancia que el eje de un robot se mover cuando una fuerza es aplicada a l. Por ejemplo, cuando un robot manipula su carga mxima, su punto terminal puede tener una variacin en su exactitud, producida por la fuerza vertical que le produce el peso manipulado.

Historia de los Robots: A lo largo de la historia ha habido varios dispositivos que imitan la naturaleza o las habilidades humanas, pero slo los robots industriales han conseguido aumentar niveles de produccin dejando verdadera ganancia a sus dueos. Se citarn nicamente las referencias industriales de esta historia. Las primeras patentes en robots industriales datan de 1954, de la compaa Unimation. Las mquinas de la compaa Unimation fueron originalmente llamadas mquinas de transferencia programables, ya que su principal funcin era mover objetos desde una posicin a otra. La mayora de los actuadores eran hidrulicos. 1981 - De los 4 700 robot en uso en Estados Unidos en 1981, por ejemplo, se utilizaban. 1 500 para soldar, 850 en fundiciones, 840 para cargar y 540 para pintar. Slo 100 se utilizaban en tareas de ensamblado 1982 - GMF Robotics fue creada en 1982 por GM y Fanuc con el propsito de desarrollar robots para la industria del automvil. Poco a poco, la operacin se fue ampliando y, en la actualidad, vende robots para clientes que no guardan ninguna relacin con la automocin ...GMF Robotics fue creada en 1982 por GM y Fanuc con el propsito de desarrollar robots para la industria del automvil. Poco a poco, la operacin se fue ampliando y, en la actualidad, vende robots para clientes que no guardan ninguna relacin con la automocin, en sectores tales como la preparacin de alimentos y la fabricacin de ordenadores. En adelante ha habido pocos adelantos en robots industriales, el nmero de las compaas se ha incrementado, pero casi todas mantienen los tres esquemas bsicos para los robots industriales: articulados, SCARA, y Cartesianos.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

Se han dado avances en robots humanoides, Honda lanz Asimo en 2000, otros robots en forma de juguetes han sido vendidos en el mercado, pero sus aplicaciones industriales todava no alcanzan niveles rentables.

Mercado: Marcas Reconocidas de Robots: KUKA Roboter GmbH: Compaa fundada en 1973 con el lanzamiento del primer robot: Famulus Robot, se trataba del primer robot del mundo con seis ejes de accionamiento electromecnico. El nombre de la compaa KUKA es una abreviatura de Keller und Knappich Augsburg, tiene su origen en las iniciales de sus fundadores, Keller and Knappich. Es uno de los principales fabricantes mundiales de robots industriales y sistemas de automatizacin para sectores que abarcan industrias tan diferentes como las del automvil, metales, alimentos y plsticos. FANUC: Compaa dedicada a la automatizacin, originalmente fundada en Japn en 1972 dedicada a la manufactura especializada en robtica. Es uno de los ms grandes productores de robots industriales. Tuvo sus inicios siendo parte de fujitsu desarrollando servosistemas y sistemas de control numrico, tiene subsidiarias en Amrica y Europa. Su nombre proviene de Factory Automatic Numerical Control. MOTOMAN ROBOTS: Subsidiaria en Estados Unidos de la compaa Japonesa Yaskawa Electric Corporation. Fundada en 1989 en West Carrolton Ohio USA, se ha especializado en diversos tipos de robots industriales contando entre sus modelos varios robots SCARA, varios modelos de robots articulados, y uno de los pocos fabricantes que vende robots con dos brazos en un diseo muy parecido a las extremidades superiores humanas.

Mitsubishi: Divisin relativamente nueva de la gran compaa Mitsubishi. Los robots Mitsubishi son comercializados bajo la marca Melfa. La divisin se dedica a la produccin de Robots articulados y robots SCARA. Su alianza con FESTO le ha abierto nuevas oportunidades.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

COORDINACIN DE UNA APLICACIN CON ROBOTS

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

10

2.

COORDINACIN DE UNA APLICACIN CON ROBOTS (POSICIONES)

Para la ambientacin en la programacin de robots se iniciar con el paquete de simulacin CIRUS Robotics. Para abrir el paquete de clic en la lnea sombreada en la figura de al lado. Esta accin dar inicio al paquete CIROS Robotics, el cual permitir conocer todas las funciones de un robot como los del laboratorio iCIM Una vez abierta la aplicacin, el primer paso es crear un proyecto en FileNewProject Wizard

Un proyecto en este software significa todo el conjunto de situaciones particulares acerca de la simulacin que se va a correr. Se abrir una serie de ventanas que recopilar esta informacin.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

11

La primera ventana recopila informacin acerca del nombre del proyecto. Proporcione el nombre que considere conveniente, en Program Name escriba una secuencia corta de letras maysculas y nmeros. Recuerde bien el nombre del programa, es el nombre que llevar el programa principal del proyecto que usted desarrollar, y en el momento de crear su programa principal deber tomar el nombre y ubicacin que ha dado en esta etapa de la definicin del proyecto.

La ventana siguiente pedir informacin acerca del robot. Si desea trabajar con los modelos del iCIM escoja cualquiera de los siguientes, con las especificaciones que se muestran. La tercera ventana preguntar por los cambios realizados a manera de comentario. No es un campo requerido pero puede escribir lo que usted considere le servir despus.

Presione finish para iniciar con el proyecto de simulacin.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

12

Le aparecern en la pantalla de la aplicacin cuatro ventanas con informacin acerca de su proyecto. La ventana superior izquierda muestra al robot que usted escogi, otra ventana muestra el listado de posiciones, otra muestra las lneas de comando del programa principal del robot y una tercera ventana muestra los mensajes de alarma del sistema. A continuacin se muestra la pantalla principal de un proyecto recin abierto. Tanto el nombre del archivo del programa como el nombre del archivo de las posiciones llevan el nombre que se digit en el campo Program Name en la inicializacin del proyecto.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

13

VISUALIZACIN DEL ROBOT Haga clic en la ventana del robot para que la atencin de la aplicacin se centre en ella. Vaya a View Standard Views y pruebe cada una de las opciones para que pueda visualizar el robot que ha escogido. Puede hacer la ventana del robot ms grande o ms pequea segn su percepcin personal lo requiera. Tambin puede escoger en el men View las opciones Zoom In y Zoom Out para aumentar o disminuir el tamao del objeto. Puede moverse dentro de la ventana escogiendo Move en el men View o presionando el botn e inmediatamente yendo a la ventana, haciendo clic y movindose al punto de vista deseado.

Puede rotar la vista escogiendo Rotate en el men View o presionando el botn inmediatamente yendo a la ventana, haciendo clic y rotando al punto de vista deseado. Explore el men View para que se sienta cmodo al trabajar en la programacin del robot que ha escogido.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

14

MOVIMIENTO DEL ROBOT Para tomar control del robot vaya a Programming Teach-In para que se le abra la ventana de modo Jog Operation:

En este momento usted tiene el control del robot. Con los botones al lado de los nombres de las articulaciones puede mover el robot dentro de la ventana grfica intente todos los movimientos y compruebe los alcances de cada una de las articulaciones. Tambin puede variar la velocidad de los movimientos del robot utilizando el control

A mayor porcentaje, ms velocidad. 100% es la velocidad mxima. Puede abrir y cerrar las mordazas del robot presionando el botn Close Hand (al cerrar la pinza el botn cambiar a Open Hand) Modo XYZ Hasta este momento usted ha controlado el robot moviendo cada una de sus articulaciones. En procesos cotidianos usted requerir que la pinza del robot se mueva desde una posicin hasta otra llevando algo en ella. Hacer este desplazamiento moviendo una articulacin a la vez le resultar muy difcil y tedioso. Afortunadamente hay otra manera de mover al robot todo a la vez cuidando la inclinacin de la pinza constante durante todo el trayecto. Este es el modo XYZ

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

15

Para ingresar a este modo de control del robot Escoja XYZ Jog en la ventana Jog Operation. La apariencia de la ventana cambiar, y podr ver controles para mover el robot en lnea recta en X, en Y y en Z. Cules son los ejes x, y, z? La mano derecha brinda un recurso mnemotcnico fcil de comprender. Al poner el dedo ndice, el medio y el pulgar de la mano derecha perpendiculares entre s, podemos ver la representacin del lado positivo de los ejes x, y z:

Expliquemos esto con ms detalle:

El ndice apunta en la direccin y sentido positivo del eje X. El dedo medio apunta en la direccin y sentido positivo del eje Y. El pulgar apunta en la direccin y sentido positivo del eje Z.

El dedo ndice apunta hacia afuera desde el frente del robot. El frente del robot depende de cada modelo, puede obtenerse una idea del frente poniendo la vista frontal del robot en la ventana de visualizacin.

Mueva el robot trazando un cuadrado alrededor de l, esto lo lograr fcilmente utilizando los controles X e Y. Note que existen lmites para el movimiento rectilneo, ya que el robot no puede alcanzar todos los puntos de la lnea recta, algunos le resultarn muy lejanos (las esquinas del cuadrado) y algunos le resultarn tan cercanos que sus articulaciones no podrn proporcionar el punto sin antes cambiar la posicin de las articulaciones.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

16

Modo JOINT Al usar el modo Joint se abre la posibilidad de mover individualmente cada articulacin del robot. Al momento de elegir el modo JOINT podr observar que los controles de movimiento cambian y se despliega un control para mover cada articulacin en cada sentido. Utilice este tipo de control cuando necesite desarrollar movimientos de alta complejidad que incluyen inclinacin o direccionamiento especfico del elemento terminal del robot.

Modo TOOL

Se aprendi en el modo XYZ que en ese tipo de control de movimiento el elemento terminador del robot (pinza) conservara su inclinacin y sentido y que se movera siguiendo en forma paralela los ejes cartesianos absolutos. El modo Tool tambin permite el control de movimiento en forma paralela a los ejes, pero con la particularidad que los ejes que sigue el movimiento del modo Tool no son paralelos a los ejes absolutos.

Al trabajar en el modo Tool el control de movimiento seguir paralelamente los ejes que definen la inclinacin y sentido del elemento terminador. De esta manera si la extremidad final del robot est inclinada en un sentido, los ejes en los cuales se mover seguirn paralelamente los ejes inclinados que definen la extremidad final del robot.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

17

La figura de al lado muestra los ejes a lo largo de los cuales se movera el elemento terminador del robot al escoger este tipo de control de movimiento. Observe que los ejes no son paralelos a X, Y, Z sino que tienen su propia direccin y sentido particular.

DEFINICIN DE POSICIONES EN UN ROBOT INDUSTRIAL


La programacin de rutinas de un robot se basa en posiciones. El robot se mover desde una posicin inicial a una posicin final en cada uno de sus movimientos. Algunas posiciones estn definidas para realizar una labor especfica en la posicin, tal como asir un objeto, si se trata de un robot con pinza o mordaza, u otra labor de ensamble, como apretar un tornillo o aplicar una sustancia adhesiva. Otras posiciones son simplemente el punto de origen para iniciar el movimiento hacia otra posicin, y otras son simplemente el punto neutral entre muchas posiciones. Ejemplo de guardado de posiciones: Se ubicar la pinza del robot en la posicin inicial en el plano de referencia horizontal (lo que la visualizacin representa como el piso) cualquier ubicacin que sea en z=0. Se guardar esta posicin como POSICION1 Para hacer esto ubique la pinza del robot en el lugar indicado, y presione en la ventana de control de movimiento del robot (JOG Operation) el botn .

Si usted recin acaba de iniciar un proyecto usted tendr en la pantalla principal la ventana del listado de posiciones, y en ella aparecer la informacin de la posicin que acaba de dar. Las posiciones en la tabla de posiciones quedan definidas como una serie de 6 coordenadas:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

18

(X,Y,Z,Roll,Pitch,Yaw) las coordenadas X, Y,Z definen las posiciones cartesianas del elemento terminal respecto al origen del robot. Las coordenadas que ya se han explicado en el apartado de manipulacin del robot. Las coordenadas Roll, Pitch, Yaw definen la orientacin del elemento terminal en cuanto a la rotacin del elemento en el eje X, Y y Z, y sus unidades son grados. La primera componente define la rotacin del elemento terminal alrededor del eje X, la segunda componente define la rotacin del eje. En el caso del robot auxiliar del CNC la ltima orientacin C indica el desplazamiento lineal.

Si es ese su caso, le aparecer una ventana con la informacin de la posicin. D doble Clic en la lnea que tiene la posicin que acaba de guardar. Aparecer una ventana como la que se muestra:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

19

En Position Name puede usted poner el nombre que desea dar a la ventana (puede colocar aqu la palabra piso si lo desea, o cualquier otra palabra que le indique algo para el procedimiento que se propone desarrollar. Coloque la pinza del robot en una posicin bastante alto y asgnele un nombre que tenga significado para el proceso que est por desarrollar. Posicinese en la ventana que muestra las posiciones, y presione el botn guardar en la barra de herramientas superior. Si usted recin acaba de crear el proyecto, usted guardar el archivo que ya existe y que lo cre el sistema al inicializar el proyecto. Si usted no est trabajando con un proyecto recin creado se le pedir un nombre para el listado de posiciones que ha generado y un tipo de archivo, asigne el mismo nombre que usted dio en para el programa en el inicio de la definicin del proyecto, y escoja como tipo de archivo un tipo POS. LOS NOMBRES DEL ARCHIVO DE POSICIONES Y DEL ARCHIVO DEL PROGRAMA DEBEN SER IGUALES, SU UNICA DIFERENCIA DEBE SER LA EXTENSIN (.POS , .MB4) . DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARN COMO INFORMACIN COMPLEMENTARIA. Con las posiciones guardadas, podemos proceder ahora a desarrollar el primer programa de secuencias de movimiento del robot.

PROGRAMACIN BSICA DE UN ROBOT INDUSTRIAL


La programacin del robot Mitsubishi usado en los laboratorios de Mecatrnica de la Universidad Don Bosco usan el lenguaje Melfa Basic IV. Como casi cualquier otro lenguaje de programacin, se trata de una secuencia ordenada de instrucciones donde cada lnea contiene una sentencia y cada sentencia est compuesta principalmente por un comando y uno o ms parmetro que complementan la accin del comando.

a) Para iniciar cualquier programa es necesario antes que nada estar en el CIROS Robotics dentro de un Proyecto. b) Para abrir un listado de posiciones es necesario ir a: file open y en el cuadro de dilogo poner el tipo de archivo , y escoger el listado de posiciones que ya se ha seteado. c) Para iniciar un programa es necesario ir a: File New File y escoger en el tipo de ventana a abrir la opcin que se muestra:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

20

Con lo anterior se abrir la ventana para la edicin de programas. El primer programa consistir en mover al robot desde la posicin 1 a la posicin 2 y regresar nuevamente a la posicin 1, repetir el procedimiento y finalizar en la posicin 3. El programa se muestra a continuacin y consta de dos comandos: Comando DEF y el modificador POS seguido del nombre asignado a la una posicin cuando su nombre no comienza con P. Ambos comandos definen en el programa que la secuencia de caracteres que le sigue es en efecto una posicin (el sistema lo buscar dentro del archivo de las posiciones). La secuencia de caracteres debe tener una secuencia mxima de 4 caracteres alfabticos y los siguientes caracteres numricos. Comando MOV define un movimiento necesariamente lineal desde la posicin actual hasta la posicin definida por el nombre de la posicin a continuacin del comando. El primer programa quedara de la siguiente manera:

10 20 30 40 50 60 70 80 90

DEF POS LOC1 DEF POS LOC2 DEF POS LOC3 MOV LOC1 MOV LOC2 MOV LOC1 MOV LOC2 MOV LOC2 END

Existe la opcin de moverse a un sitio cercano al punto de destino esto es muy til cuando se quiere alcanzar el punto de destino en una forma verticalmente perpendicular. La mayora de colocaciones de piezas deben ser manipuladas de esta manera (colocar un tornillo, un eje

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

21

vertical en un orificio, poner una pieza en su soporte,) para lograr esto se usa un modificador en el comando MOV, que consiste en Dos pasos son necesarios para que el programa pueda ser desarrollado por el Robot, Guardar el programa e incorporarlo al proyecto que se est desarrollando.

Para Guardar el programa: Ubique el cursor en la ventana de programa y de clic en save:

Para compilarlo: Escoja la secuencia:

Y luego en la ventana que emerge escoja Add:

Se le abrir un cuadro de dilogo que preguntar la ubicacin del archivo con extensin .MB4 LOS NOMBRES DEL ARCHIVO DE POSICIONES Y DEL ARCHIVO DEL PROGRAMA DEBEN SER IGUALES, SU UNICA DIFERENCIA DEBE SER LA EXTENSIN (.POS , .MB4) . DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARN COMO INFORMACIN COMPLEMENTARIA.

Una vez que el programa est guardado puede correrse antes que nada escogiendo el proyecto actual como el proyecto activo.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

22

En el men Programming se escoge la opcin Project Management. Con lo anterior se abre la una ventana llamada Project Management, y dentro de la ventana, en la pestaa Project se presiona el botn que se indica en el dibujo, el cual genera el texto de ayuda Set as Active Project

En este momento el programa puede ser ya corrido presionando el icono que se muestra en la figura al lado, dicho icono se encuentra en las barras superiores en la pantalla.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

23

PROGRAMACIN AVANZADA DE ROBOTS INDUSTRIALES.


La programacin de robots atiende a procesos que muchas veces son repetitivos y montonos. Un programa ordinario de movimientos a travs de distintas posiciones resultara muy largo si no se contara con otros comandos para dirigir el curso del programa por lneas repetitivas. A continuacin se presenta una serie de comandos que hacen ms fcil la programacin de labores repetitivas o de movimientos complicados.

Comando GOTO La sentencia GOTO indica al robot que el control de la secuencia de instrucciones se traslada a la lnea en la cual indica el nmero a continuacin de la sentencia. Como un ejemplo, se puede hacer que el programa anterior se desarrolle una y otra vez indefinidamente hasta que alguien presione el botn de STOP en la barra de tareas.

10 20 30 40 50 60 70

MOV POCISION1 MOV POSICION2 MOV POSICION1 MOV POSICION2 MOV POSICION3 GOTO 10 END

Instruccin FOR-NEXT Existe la posibilidad de mantener un lazo repetitivo de instrucciones que se repite un nmero determinado de veces y que luego termine el programa. El Set de instrucciones FOR TO STEP NEXT brindan los controles necesarios para que esto sea posible. Se trata de repetir un conjunto ordenado de sentencias un nmero determinado de veces. Se define la sentencia de inicio- reinicio de la secuencia, y la secuencia de retorno. Sentencia Inicio: Sentencias a Desarrollar: Sentencia de Retorno: FOR VariableControl = ValorInicio TO ValorFinal STEP Intervalo Cualquier set de instrucciones numeradas entre la Sentencia de Inicio y la Sentencia de Retorno. NEXT VariableControl

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

24

El lazo de comandos se desarrollar desde la sentencia de inicio hasta la sentencia de Retorno, y Regresar de nuevo a la Sentencia de Inicio. Qu valor tomar la VariableControl? Al iniciar tomar El valor ValorInicio. Mantendr el valor ValorInicio hasta llegar a la sentencia NEXT. Al ejecutar la sentencia NEXT el valor de VariableControl se incrementar en el valor de la variable Intervalo, es decir tendr el valor = ValorInicio + Intervalo e inmediatamente la secuencia de instrucciones se mover a la lnea que contiene las sentencias FOR TO STEP Al regresar de nuevo a la lnea NEXT incrementar de nuevo el valor de VariableControl.

Cuntas veces repetir el lazo? Hasta que la VariableControl iguale o supere el valor ValorFinal. Como ejemplo se puede desarrollar el programa anterior 10 veces consecutivas:

10 20 30 40 50 60 70 80

FOR X = 1 TO 10 MOV POCISION1 MOV POSICION2 MOV POSICION1 MOV POSICION2 MOV POSICION3 NEXT X END

Como no se ha especificado el comando STEP, la variable X se ir incrementando de uno en uno. Cuando X valga 9 y llegue al valor de 10, regresar al inicio y ejecutar por ltima vez las instrucciones de la secuencia, al llegar a la lnea NEXT y pasar a 11 ya no regresar sino que pasar a la instruccin siguiente, que en este caso es END PAUSAS EN EL PROGRAMA Se puede detener momentneamente la ejecucin de la secuencia de instrucciones con ayuda de otra instruccin que ordene pausar la ejecucin durante un perodo de tiempo especfico. El comando DLY seguido de un espacio y un nmero entero ordena la cantidad de segundos que durar la pausa. A continuacin se muestra el programa inicial de esta gua, pero esta vez mantiene una pausa de 2 segundos despus de cada movimiento.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

25

10 MOV POCISION1 20 DLY 2 30 MOV POSICION2 40 DLY 2 50 MOV POSICION1 60 DLY 2 70 MOV POSICION2 80 DLY 2 90 MOV POSICION3 100 END

MOVIMIENTO EN LINEA RECTA El comando MVS es el mismo comando MOV pero ste hace el movimiento en lnea recta, que no es necesariamente la ruta de menor movimiento de articulaciones del robot (lo que hace el comando MOV) La sintaxis de MOV o MVS es: MVS #Posicin, distancia faltante en Z (en las coordenadas del elemento terminador) para llegar a #Posicin Ejemplo:

30 MVS PPAL(1), -20

VELOCIDAD SPD <Velocidad designada en [mm/s]> Ejemplo:

10 SPD 100 20 MVS P2 30 SPD M_NSPD Coloca el valor por defecto

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

26

MOVIMIENTO EN INTERPOLACIN CIRCULAR (DESCRIBIENDO ARCOS DE CRCULO) En algunas ocasiones debido al reducido espacio de trabajo es necesario sortear elementos del entorno para evitar colisiones, esto puede ser realizado con varios movimientos arbitrarios o rectilneos o bien describiendo una trayectoria circular. En la aplicacin de sustancias, pinturas, o el trazado de trayectorias en superficies, en ocasiones es necesario el trazo de trayectorias circulares. Es estas ocasiones cuando es til contar con comandos que puedan mover el robot en lneas no rectas. El comando para realizar esta operacin es el comando MVR, y su sintaxis es de la siguiente manera:

MVR <Punto de Inicio>, <Punto Intermedio>, <Punto final> Donde: Punto de inicio es el punto donde comienza el trazo del arco de circulo. Punto Intermedio es cualquier punto a medio camino del arco del crculo. Punto Final es el punto donde termina el arco de crculo.

Al momento de trazar la trayectoria circular el sistema de control del robot dibuja el arco de crculo que intercepta a los tres puntos, el cual slo puede ser parte de un crculo especfico. Hay que tener el cuidado que la circunferencia est dentro del campo de trabajo del robot. Ejemplo: El siguiente programa hace que el robot trace un arco de circulo uniendo los puntos P1, P2, P3. Dichos puntos han sido definidos previamente como posiciones dentro del campo de trabajo del robot y todos son posiciones que puede alcanzar el robot.

10 MOV P1 20 MVS P1,P2,P3 30 END

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

27

OTRAS INTRUCCIONES DEL LENGUAJE: Comentarios: Los comentarios los puede escribir, despus del nmero de lnea, como REM o con la comilla . Ejemplo: 5 REM Este es un comentario. Condicionales: IF (__) THEN (__) ELSE (__) Realiza las instrucciones siguientes a la palabra THEN solo si se cumple la condicin planteada a continuacin de la palabra IF. Si no se cumpliera la condicin es posible aadir una nueva opcin de instrucciones seguida de la palabra ELSE. Este set de condicionales puede ser utilizado en una sola lnea (para ejecutar un solo comando) o puede ser declarada para ejecutar varias lneas hasta que el programa encuentre la palabra ENDIF. A continuacin se da un ejemplo de la declaracin del condicional en una sola lnea. En este caso, si la variable MDATA es mayor que 15, el programa asigna el valor a a la variable CDATA, y si no es mayor a 15 (ELSE), le asigna el valor b. Ejemplo:

50 IF MDATA > 15 THEN CDATA = a ELSE CDATA = b 100 IF MDATA = 17 THEN 400 (cuando la instruccin siguiente es un nmero se asume un GOTO #) Para utilizar este condicional en varias lneas, la lnea de comando que tiene el IF THEN debe de terminar con la palabra THEN sin ningn otro comando que le siga, de esta manera el programa asumir que si y slo si la condicin se cumple, debe de ejecutar las lneas siguientes hasta encontrar la palabra ENDIF que identifica el fin de las instrucciones del condicional. Para una mejor comprensin se brinda el siguiente ejemplo.

100 110 120 130 140 150 160

IF M1 > 10 THEN M1 = 10 MOV P1 ELSE M1 = -10 MOV P2 ENDIF

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

28

SELECT CASE BREAK Ejecuta una o varias sentencias cuando la variable seleccionada toma el valor que se define a continuacin de la palabra CASE. La primera instruccin (SELECT) define la variable a evaluar. Se escribe: SELECT {variable} La instruccin CASE puede ser utilizada cuantas veces sea necesario en el programa. Cada instruccin CASE definir un valor que la variable seleccionada puede tomar. El conjunto de instrucciones CASE BREAK ejecuta las sentencias que estn entre ambos comandos si y solo si se cumple que la variable definida en CASE toma los valores a continuacin de la palabra CASE (el nombre de la variable no se nombra en la sentencia del CASE, se usa CASE IS cuando se quieren poner comparadores). El conjunto de instrucciones DEFAULT BREAK ejecuta las sentencias que estn entre ambos comandos si ninguna de las condiciones que definieron los CASE se cumple. Al final de las mltiples evaluaciones es necesario terminar con una sentencia END SELECT para indicar al programa que ya no se evaluar ms la variable escogida con el SELECT SELECT <Expresin> CASE <Expresin> [<Proceso>] BREAK DEFAULT [<Proceso>] BREAK END SELECT Ejemplo:

10 20 30 40 50 60

SELECT MCNT M1 = 10 CASE IS <= 10 MOV P1 BREAK CASE 11

'This line is not executed 'MCNT <= 10

'MCNT = 11
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

29

70 MOV P2 80 BREAK 90 CASE 12 100 MOV P3 110 BREAK 120 CASE 13 TO 18 130 MOV P4 140 BREAK 150 DEFAULT 160 M_OUT(10) = 1 170 BREAK 180 END SELECT

'MCNT = 12

'13 <= MCNT <= 18

'Other than the above

Lazos: Adems del lazo FOR-NEXT visto anteriormente se tiene el lazo WHILE-WEND que repite las instrucciones contenidas entre las lneas que contienen a ambas sentencias mientras se cumpla la condicin descrita a continuacin de la sentencia WHILE. Ejemplo:

50 60 70 80

WHILE M_IN(3)=1 M_IN(3) = M_IN(3) + 1 MVS M_IN(3) WEND

Espera por un valor de variable Espera el cambio de una variable para ejecutar una instruccin. WAIT(<Valor numrico>) = <Constante numrica> Ejemplo:

10 WAIT M_IN(1) = 1 20 WAIT MDATA = 200

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

30

Subrutinas Dirige la ejecucin del programa hacia una determinada lnea o etiqueta. Cuando el programa encuentra la sentencia RETURN retorna la ejecucin del programa a la lnea siguiente a la cual se le hizo el llamado. GOSUB # de lnea de programa RETURN Si se quiere colocar una etiqueta en lugar de la lnea del programa se debe usar un *. Ejemplo:

40 GOSUB *ETIQUETA 50 100 *ETIQUETA 180 RETURN

Apertura y cierre del elemento terminal. Abre o cierra el elemento terminador (generalmente una pinza) El nmero del manipulador generalmente es 1 (cuando no existe otro elemento manipulador) Puede consultar ModelingModel Explorer para verificar el nmero de manipulador que se tiene en el proyecto actual. HOPEN/HCLOSE <#del manipulador>

10 HOPEN 1 20 CLOSE 1

TCNICAS DE PROGRAMACIN PARA INCORPORAR DESTREZA AL PROGRAMA Puede que un programa guiado slo por posiciones finales genere movimientos torpes que no cumplan el objetivo del proceso con la destreza requerida. A continuacin se presentas algunas tcnicas que ayudan a que los procesos se desarrollen con un grado de precisin y maestra que evitan pequeos errores y torpezas.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

31

POSICIN INICIAL, FINAL Y DE ACERCAMIENTO. Cuando interesa mover al robot desde una posicin inicial a una posicin final el trayecto rectilneo puede no ser la mejor opcin. Puede haber otros elementos que impidan el avance en lnea recta, o puede ser necesario llegar a la posicin final describiendo una trayectoria perfectamente horizontal o vertical (el caso del ensamble de una pieza que encaja con otra a lo largo de un eje). Para superar estos requerimientos, usualmente se definen en un movimiento desde un punto a otro, tres o ms posiciones: 1) Una posicin inicial. 2) Una posicin de acercamiento. 3) Una posicin final. En la figura siguiente se muestra un movimiento desde una posicin superior hasta una a una altura intermedia, pero con la modalidad especfica que para llegar a la posicin final se llega en un movimiento horizontal.

La figura marcada con la flecha es la posicin de acercamiento, primero se llega desde la posicin a la posicin de acercamiento, y luego se desplaza desde la posicin de acercamiento a la posicin final, haciendo posible que el desplazamiento a la posicin final sea horizontal. Una ayuda importante para definir posiciones de acercamiento la brinda el comando MOV. En aplicaciones de colocacin de piezas sobre superficies o compartimientos horizontales, el comando MOV puede alterar su posicin su posicin final en el eje Z de las coordenadas del elemento terminador con un solo modificador. Se ilustrar esta potencialidad con el siguiente ejemplo:

10 MOV POSICION1, -50 20 MOV POSICION1 30 END

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

32

El programa anterior posiciona el punto terminal del robot 50 mm arriba de POSICION1 en las coordenadas del elemento terminador, y luego, lo posiciona en la POSICION1 propiamente dicha. La sintaxis del modificador puede deducirse intuitivamente: el nmero despus de la coma indica cuantos milmetros debern restarse a la posicin final. Como se quiere posicionar arriba de la posicin POSICION1, se da un nmero negativo (para que al restarse a la posicin original se convierta en positivo) POSICIN DE REFENCIA (HOME) Es saludable que exista una posicin de HOME para la operacin del robot. Por qu? Dado que los robots realizan trabajos rutinarios, es bueno que exista una referencia para iniciar o terminar cualquier operacin. Si se define una posicin de HOME, para que cualquier operacin comience y termine con ella, ser ms fcil concatenar operaciones, ya que aunque las operaciones sean completamente distintas, la posicin de HOME brinda un eslabn para amarrar todas las operaciones sin que existan movimientos bruscos entre las operaciones. Qu posicin es deseable para HOME? No hay ninguna regla especfica, puede tratarse de una posicin que quede como punto intermedio a todos los posibles movimientos en todas las posiciones. Puede ser tambin una posicin en la cual el robot interfiere menos con otros elementos mviles o fijos del entorno industrial dnde se encuentra. Puede ser una posicin de seguridad en la cual no ocasiona peligro para nadie. Cundo se ubica el robot en la posicin HOME? Despus de cada operacin. Recordemos que cada operacin puede ser definida con un programa. Lo ideal es que toda operacin tenga como punto de partida la posicin HOME y que termine en ella. Esto evitar los problemas que puede ocasionar un cambio en el orden de las operaciones, al mismo tiempo que ayudar a hacer ms fcil la incorporacin de nuevas rutinas o programas sin necesidad de alterar los ya existentes.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

33

MANEJO DE OBJETOS VIRTUALES

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

34

3.

MANEJO DE OBJETOS VIRTUALES.

Como bien suponemos, El objetivo de la operacin del robot no slo es el movimiento de s mismo por s mismo. Se pretende manipular objetos. CIROS Robotics en efecto puede hacer algo ms que simular un robot, puede tambin simular objetos fsicos. Para simular un objeto es necesario antes que nada crearlo dentro del proyecto. Para esto es necesario seguir los siguientes pasos: En la barra de herramientas escoja Modeling Model Explorer Esto le abrir en el rea de trabajo una ventana llamada Model Explorer. Dentro de la ventana busque la divisin Objects. D clic derecho en Objects y vaya a New From Model Library. Se abrir una nueva ventana en la cual podr escoger distintos objetos a insertar en su proyecto.

Escoja Micellaneous Primitive. Y Dentro de esta categora escoja BOX Presione el botn Add Presione el botn Close.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

35

Regrese a la ventana de Model Explorer En el Explorador del modelo ubquese en Objects Dentro de los objetos de clic derecho a BOX y en el men que se despliega escoja properties.

En la ventana que se abrir podr cambiar las propiedades del objeto que ha creado.

En la Seccin General puede cambiar nombre En la seccin Pose puede mover el objeto en el al objeto. espacio visible avanzando por pasos. Defina el tamao en el campo increments.

En la seccin Visualization puede cambiar el color del objeto creado, y aun definir caractersticas especiales de su apariencia tales como el color en general del objeto, sus aristas, su transparencia u opacidad, etc. Una vez definido el objeto, si se quiere que el objeto sea manipulable, ser necesario aadir un grip-point al mismo, de lo contrario el objeto virtual ser simplemente una imagen que no podr ser ni tocada ni movida en el espacio.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

36

Para definir un grip-point, abra el ModelExplorer y expanda Objects, Box (o el nombre que asign al objeto recin creado), y dentro del objeto escoja Base. De clic derecho sobre Base y en el men que se despliega escoja New, en new escoja Grip Point. Aparecer inmediatamente en el lado derecho del model Explorer un nuevo elemento llamado Grippoint_1 Haga clic derecho sobre l para desplegar el men de opciones del Grip Point. Escoja Properties para cambiar los atributos del grip Point.

Podr usted apreciar una ventana titulada Properties for grip point. En ella podr modificar las propiedades del objeto a su gusto, tales como el nombre. Tambin puede alinear el grip point con el objeto mismo en el apartado Pose. El Grip Point como espacio donde acta el agarre del objeto est representado en el objeto como un cubo de distinto color al del objeto. Si usted considera que no est bien colocado como para poder tomar la pieza con la pinza del robot, muvalo con respecto al centro del objeto mismo utilizando los controles X , Y y Z en el apartado Pose de la ventana de Properties for grip point.

Ahora puede acercar la pinza del robot a el objeto que acaba de crear y ver usted que al cerrar la pinza (botn Close Hand) en la ventana que se abre con Teach In. El objeto se queda pegado a la pinza de robot y que no se despegar hasta que la pinza se abra nuevamente.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

37

Si ha hecho la prueba de agarrar y soltar el objeto, notar usted que en ambiente de CIROS Robotics no existe la gravedad. Y que el objeto permanece en el lugar en el espacio dnde lo han dejado. Tome en cuenta este hecho en el momento de hacer movimientos de objetos virtuales. Coloque otro objeto, puede ser de forma cilndrica o un cubo de otro color, en una posicin no muy cercana al anterior y determine la posicin donde sujetarlo. Coloque un punto intermedio donde pueda dejar temporalmente y luego volver a tomar uno de los objetos mientras manipula el otro.

EJERCICIO: Haga un programa que continuamente intercambie de posicin los dos objetos creados anteriormente, utilizando para ello una posicin intermedia.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

38

MANEJO DE UN SISTEMA PALLETIZADO

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

39

4.

MANEJO DE UN SISTEMA PALLETIZADO

Cuando se trabaja en procesos industriales la colocacin de los productos en un arreglo ordenado es parte de los pasos finales de produccin. Definir una matriz horizontal de puntos para la colocacin de los productos terminados precisando posiciones individuales puede ser un proceso largo y tedioso. El lenguaje Melfa Basic 4 puede ayudar a simplificar la construccin de una matriz de posiciones utilizando una sola lnea de comando para su definicin y un solo identificador acompaado de un nmero para llamar a cada una de las posiciones de la matriz. Para hacer uso de esta funcionalidad es necesario entender las dimensiones de la matriz y la manera en que Melfa Basic 4 la comprende. Se definen cuatro posiciones en la matriz en forma de puntos cartesianos: El El El El punto punto punto punto de Inicio final en B final en A Diagonal

Y adems se definen el nmero de posiciones que la matriz va a tener en el eje A y en el eje B (este nmero incluye al punto de inicio y al punto final) La lnea de comando que define la matriz se muestra a continuacin:
DEF PLT {No pallet}, {punto inicio}, {punto final A}, {punto final b}, {punto diagonal}, {posiciones en A}, {posiciones en B}, {asignacin de direccin}

A continuacin se explica el significado de los parmetros del comando: {No. Pallet} es un nmero que identifica a la matriz puede ser desde 0 a 8. {punto inicio} son las coordenadas del punto inicial de la matriz. {punto final A} son las coordenadas del punto final en la direccin A {punto final B} son las coordenadas del punto final en la direccin B {punto diagonal} son las coordenadas del punto final diagonalmente opuesto al punto inicio.
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

40

{posiciones en A} es el nmero de posiciones que la matriz tiene en la direccin A (melfa Basic 4 entiende que todas las posiciones son equidistantes y que stas incluyen la inicial y la final) {posiciones en B} es el nmero de posiciones que la matriz tiene en la direccin B (melfa Basic 4 entiende que todas las posiciones son equidistantes y que stas incluyen la inicial y la final) {asignacin de direccin} es la forma en la cual se van a leer las posiciones de la matriz, teniendo como posicin 1 el punto inicio. El significado de este parmetro se muestra a continuacin: o 1 = Zigzag. (camino sinuoso, una lnea comenzando a la izquierda, la siguiente a la derecha, la siguiente a la izquierda ...) o 2 = la misma direccin en cada lnea. (la primera lnea comienza en la posicin inicial, la segunda en la posicin justo encima de la posicin inicial) Una vez definida la matriz de posiciones del pallet se llama a cada posicin igualando una variable de posicin (la cual ha sido definida como tal al principio del programa) a una posicin especfica del pallet. Dicha posicin se llama de la siguiente manera: PLT {No.Pallet}, {No. De Posicin} El siguiente ejemplo define un pallet de 2 x 3 posiciones y hace una rutina movindose a cada una de las posiciones abriendo la pinza del robot en cada punto.

10 DEF POS PLTPOS 20 MOV PHOME 30 HCLOSE 1 40 DEF PLT 1,PINIC,PFINA,PFINB,PDIAG,2,3,1 50 DEF INTE X 60 SPD 100 70 FOR X = 1 TO 6 80 PLTPOS = PLT 1, X 90 MOV PLTPOS, -50 100 MOV PLTPOS 110 HOPEN 1 120 MOV PHOME 130 HCLOSE 1 140 NEXT X 150 MOV PHOME, -50 160 HOPEN 1 170 END

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

41

Para lo anterior se ha definido una serie de posiciones al ras del suelo, es decir con Z = 0 Las posiciones se muestran a continuacin:

OTRO EJEMPLO: El paletizado se usa cuando se tiene un almacn fsicamente simtrico con muchas posiciones donde se quieren almacenar objetos y no se quieren guardar las N posiciones una por una. Para ello primero se debe definir el lugar (mximo 8 lugares) desde donde se tomarn los objetos o a donde se dejarn, es decir, la matriz. 40 DEF PLT 1, <Pinicial 1. fila>, <Pfinal 1. fila>, <Pinicial ltima fila>, <Pfinal ltima fila>, <# de columnas>, <# de filas>, <orden en el que se hace el paletizado, puede ser 1 2> Luego se define la variable entera que debe llevar el nmero de localidad: 50 DEF INTE <nombre> A continuacin se define una variable que almacena la posicin: 60 DEF POS <nombre> Luego creamos un ciclo FOR desde la localidad 1 hasta la N que tenga la matriz durante l se toma la variable de posicin = PLT 1, <variable de posicin> y se guarda el objeto en esa variable y luego se ejecuta NEXT

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

42

Ejemplo:

5 REM Programa de ejemplo del paletizado 10 DEF POS INICIO 20 DEF POS P4 30 DEF POS P5 40 DEF POS P6 50 DEF POS P7 60 DEF INTE NUMPOS 70 DEF POS PPALLET 80 SPD 500 Velocidad limitada a 500 mm/s. 90 INICIO = (380,90,645,0,90,0) 100 P4 = INICIO (0,0,15,0,0,0) 110 P5 = INICIO + (0,0,15,0,0,0) 120 P6 = INICIO + (0,-60,-15,0,0,0) 130 P7 = INICIO + (0,-60,+15,0,0,0) 140 DEF PLT 1, P4, P5, P6, P7, 2,4,1 150 FOR NUMPOS = 1 TO 8 160 REM TOMA EL OBJETO 170 REM AJUSTA POSICIN 180 PPALLET = PLT 1, NUMPOS 190 MOV PPALLET, -50 Acercamiento a posicin 200 MVS PPALLET Movimiento lineal a la posicin final 210 MVS PPALLET, -50 220 NEXT NUMPOS 230 END

EJERCICIO: Realice un programa que haga el paletizado sobre el plano XY de 3x3 posiciones moviendo cajas (boxes) virtuales desde 9 posiciones fijas diferentes hacia un paletizado.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

43

SISTEMAS DE MANIPULACIN CON VECTORES

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

44

5.

SISTEMAS DE MANIPULACIN CON VECTORES

Antes de comenzar con la seccin de programacin en esta gua, se mostr la manera de definir posiciones estticas para mover el robot a cualquiera de esas posiciones. Existe una manera de definir posiciones durante la ejecucin del programa, de manera que stas puedan cambiar a lo largo del programa. La costura tradicional es un ejemplo de posiciones dinmicas, ya que tiene una misma posicin inicial, una misma posicin intermedia y una misma posicin final, pero cada una de las posiciones va variando a lo largo de la lnea de la costura, es decir que la posicin cartesiana vara slo en una coordenada a lo largo de cada puntada. Para definir una posicin dinmica se necesitan dos instrucciones bsicas: Una Sentencia de DEF POS PosicionDinamica1 Declaracin: Una Sentencia de PosicionDinamica1= (X,Y,Z,Roll,Pitch,Yaw) Asignacin de valores que PosicionDinamica1 = PosicionEsttica puede ser cualquiera de PosicinDinamica1 = PosicionDinamica2 + PosicionDinamica3 las siguientes:

Aclaraciones: La posicin Dinmica o vector puede ser definido cuantas veces sea necesario, cada vez tendr el valor de la ltima asignacin y su nmero de elementos depender del nmero de articulaciones que tenga el robot. La posicin tambin puede ser definida por sus coordenadas separadas por comas y dispuestas entre parntesis. Tambin puede ser definida como simplemente igual a una posicin esttica. Se puede definir tambin como la sumatoria de varias posiciones, en este caso las coordenadas de la posicin sern iguales a la suma de las coordenadas de cada una de las posiciones que la definen.

EJEMPLO EN PROGRAMA A continuacin se muestra un programa ejemplo que pone al robot a definir una ruta en Zigzag. A lo largo de una lnea imaginaria en X , Z = valores constantes. Para iniciar el programa es necesario definir una posicin inicial esttica desde la cual va a iniciar todo el proceso, sta se define como INICIO dentro del modo Teach de programacin del robot.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

45

Cada punto del Zigzag tiene las posiciones: Posicin inferior: PINF = (ValorX, ValorY, ValorZ, 0, 0, 0) Posicin Superior : PSUP = (valorX, ValorY, ValorZ, 0, 0, 0) Los valores de ValorX, ValorY y ValorZ se toman de las coordenadas que muestra la posicin INICIO. Se define la declara ANCHO para definir el ancho de la puntada. Para esto se declara ANCHO como una variable que almacena un nmero entero y luego se le asigna un valor de 5 Declaracin de DEF INTE INICIO Variable: Asignacin de valor: INICIO = 5

Tambin vamos a declarar una variable que se sumar a las otras para definir el avance de la puntada Una vez definida la posicin inicial se digita el programa:

10 DEF POS INI 20 MOV INICIO 30 DEF POS PINF 40 DEF POS PSUP 50 DEF POS AVAN 60 DEF INTE ANCH 70 ANCH = 5 80 PINF = (VALORX,VALORY,VALORZ-ANCH,0,0,0) 90 PSUP =(VALORX,VALORY,VALORZ+ANCH,0,0,0) 100 AVAN = (0,5,0,0,0,0) 110 FOR N = 1 TO 15 120 PINF = PINF + AVAN 130 MOV PINF 140 PSUP = PSUP + AVAN 150 MOV PSUP 160 NEXT N 170 END

Para la mejor comprensin del programa: El programa inicia con la posicin INICIO. Desde ah se mover al primer punto de la costura y luego al siguiente.
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

46

El programa hace 15 puntadas, por este motivo hay un set FOR TO NEXT con 15 vueltas en total. El programa va cambiando dinmicamente las posiciones PINFERI Y PSUPERI cambiando su valor en Y en incrementos de 5, para esto se le suma la posicin AVANCE. Ejemplo usando vectores para definir la posicin inicial:

10 DEF POS INICIO 20 DEF POS PINFERI 30 DEF POS PSUPERI 40 DEF POS AVANCE 50 DEF POS ANCHO 60 DEF INTE N 70 INICIO = (380,90,645,0,90,0) 80 ANCHO = (0,0,5,0,0,0) 90 MOV INICIO 100 PINFERI =INICIO-ANCHO 110 PSUPERI =INICIO+ANCHO 120 AVANCE = (0,15,0,0,0,0) 130 FOR N = 1 TO 15 140 PINFERI = PINFERI - AVANCE 150 MOV PINFERI 160 PSUPERI = PSUPERI - AVANCE 170 MOV PSUPERI 180 NEXT N 190 END

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

47

MANEJO DE ENTRADAS Y SALIDAS

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

48

6.

MANEJO DE ENTRADAS Y SALIDAS

Dispositivos de Entrada para la programacin de Robots En toda aplicacin robtica no se trabaja haciendo caso omiso al entorno. Es necesario mantener un contacto con el entorno para estar seguro que las tareas que se estn desempeando tienen una repercusin adecuada en el ambiente de trabajo. Es posible incluir en los programas de operacin de los robots industriales el estado de dispositivos de entrada para controlar el comportamiento del robot. Generalmente el estado de los dispositivos de entrada puede ser: La deteccin de un cuerpo cercano por medio de sensores de proximidad. La deteccin del estado de un sensor digital o analgico, tal como un sensor analgico para detectar niveles de fluidos, presin, temperatura, etc. La primera accin a realizar es incorporar el sensor al modelo que est armando. Para ingresar dentro de su sistema un sensor, vaya a ModelingModel Libraries

Se desplegar la ventana mostrada al lado. En esta ventana escoja el sensor a aadir a su proyecto con Add.

Existen variedad de sensores que pueden ser incorporados, algunos de ellos, los ms usados son los siguientes: Capacitive Sensor. Color Sensor. Distance Sensor. Inductive Sensor. Light Barrier. Mechanical Switch Reflex Light Barrier.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

49

Una vez realizado lo anterior es necesario configurar el sensor que se ha ingresado al modelo. Para configurar el sensor es necesario abrir el model explorer, ah encontrar el sensor que acaba de ingresar al sistema. En la barra de herramientas escoja Modeling Model Explorer Esto le abrir en el rea de trabajo una ventana llamada Model Explorer. Busque dentro de ella el sensor que usted acaba de agregar a su proyecto.

D clic derecho sobre el para desplegar el men de Opciones, y en las opciones escoja la opcin Properties. Se desplegar la ventana que se muestra a continuacin:

Configure en General, el nombre del sensor, en Pose, la posicin del sensor, y en dimensin el tamao del dispositivo.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

50

El objeto del sensor es producir una salida cuando el sensor detecta un cambio en las magnitudes que l leer. Para configurar el nombre de la salida y las condiciones que tendr debe ir, dentro del men de opciones del Sensor, a la opcin Outputs, de clic derecho sobre ella y escoja New y dentro de new escoja Digital (system).

Se desplegar la ventana que se muestra al lado. Es importante que le d un nombre a su salida, es el nombre con que la llamar desde el programa de clic en aceptar y contine con su proyecto.

Una vez que se ha definido una salida para el sensor, es necesario que dicha salida sea enlazada a una entrada del robot. Las entradas del robot pueden ser ledas por las instrucciones de un programa y servir como variables de control para controlar el desarrollo del programa.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

51

Para enlazar la salida del sensor a la entrada del robot es necesario ir al Model Explorer y abrir la carpeta del robot, y dentro de la carpeta de elementos del robot abrir la carpeta de INPUTS. Una vez abiertas tanto la carpeta de Outputs del sensor, como la de inputs del robot, se arrastra el Output que usted recin ha creado a uno de los inputs que an no tienen uso en el robot (que estn marcados como inactive). Si se ubica en el Model Explorer en el input que recin ha asociado va a observar que el output que tiene asociado es el que usted acaba de crear.

Puede renombrar el input que acaba de modificar haciendo clic derecho en l y escogiendo rename en el men que se despliega. Puede darle el nombre que usted considere conveniente. El robot Mitsubishi tiene en si mismo varias entradas y salidas predeterminadas, a las cuales se les puede asignar un valor, o bien pueden ser ledas invocando la manera cmo el compilador Melfa Basic 4 las tiene identificadas. Variables de entradas del robot M_IN(0) M_IN(1) M_IN(N) Variables de salida del Robot M_OUT(0) M_IN(1) M_OUT(N)

Existen algunas variables de Entrada y Salida que ya estn asignadas y no pueden ser alteradas, estas se muestran a continuacin:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

52

Variable de Estado reservado a Entrada: ella. M_IN(0) M_IN(1) M_IN(2) M_IN(3) M_IN(4) Stop Servo Off Error Reset Start Servo On

Variable de Estado reservado a Salida: ella. M_OUT(0) M_OUT(1) M_OUT(4) M_OUT(5) Running Servo On Abrir Pinza Cerrar Pinza

Puede verificar lo anterior en el Model Explorer, en los elementos que llenan los Inputs y los Outputs del Robot. Cada uno de estos elementos tiene un parmetro llamado Index asociado a l, este valor Index es el que se usar entre parntesis para poder leer o asignar valores a las entradas/salidas. En el caso ejemplo, si a lo largo del programa usted quiere saber el estado del sensor que acaba de ingresar, como lo ha asociado al INPUT del Robot con INDEX = 6 , usted lo llamar con la siguiente variable: M_IN(6). El valor ser 0 si el sensor no detecta nada, y 1 si el sensor detecta algo. Es posible asignar una variable para las entradas/salidas. Con ello no tendr que escribir M_IN(x) o M_OUT(x) en cada ocasin, sino que leer solamente el valor que tiene la variable. Este tipo de variable se llama variable de entrada/salida y se asigna de la siguiente manera: en las primeras lneas de su programa use el comando DEF y el modificador IO para definir el identificador de su entrada/salida. La sintaxis de esta sentencia es: DEF IO {Nombre de la variable} = {tipo de designacin},{Numero de Input/output} El nombre de la variable puede contener hasta 8 caracteres. El tipo de designacin puede ser BIT, BYTE, WORD o INTEGER. Ello depender del tipo de sensor que se tenga. El Nmero de Input/Output es el INDEX number de la entrada o salida (el valor de x en M_IN(x) o M_OUT(x)) Ejemplo:

10 DEF IO SENSOR = BIT, 5


Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

53

En otra parte del programa usted podr llamar a la variable de entrada/salida que defini para leer su valor. Suponemos que la llamar para tomar alguna decisin sobre la ejecucin del programa. El siguiente ejemplo de sentencia de lectura y decisin aclarar sus dudas:

100 IF SENSOR = 1 THEN GOTO 250

La mejor manera de entender esto es desarrollando un ejemplo para seguir el procedimiento. El siguiente ejemplo hace un paletizado de 6 posiciones, pero incorpora un objeto virtual (una caja ubicada en 300,0,0 con un grip point en 50,50,60) que puede ser tomada por el robot en la posicin P1 y la pasea por todo el pallet. Hay un sensor inductivo incorporado en la posicin (500,40,-1) con su Measuring range entre 0 mm (Lower Limit) y 5 mm (Upper Limit). La salida normal del sensor, llamada Detect, est conectada al INPUT del Robot con INDEX 006. El programa evala el estado de la salida del sensor cada vez que posiciona la caja y el elemento terminal en cada posicin del pallet. Cuando el robot ponga la caja sobre el sensor, el sensor cambiar de estado y detendr el lazo de seguimiento de posiciones del paletizado. El listado de posiciones del proyecto es el siguiente:

Las instrucciones del programa se listan a continuacin:

10 20 30 40 50 60

DEF POS PLTPOS DEF IO SENSOR1 = BIT,6 MOV PHOME MOV P1 HCLOSE 1 DEF PLT 1,PINIC,PFINA,PFINB,PDIAG,2,3,2
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

54

70 DEF INTE X 80 SPD 100 90 FOR X = 1 TO 6 100 PLTPOS = PLT 1, X 110 MOV PLTPOS, -60 120 MOV PLTPOS 130 IF SENSOR1 = 1 THEN GOTO 190 140 MOV PHOME 150 NEXT X 160 MOV PHOME, -50 170 MOV P1 180 HOPEN 1 190 ' AQUI SE INTERRUMPE LA EJECUCIN DEL PROGRAMA 200 END

Es necesario hacer una aclaracin: Dependiendo de la versin del programa simulador (COSIMIR Factory, CIROS Studio, o CIROS Robotics) La caja que usted acaba de crear podr o no ser detectada por el sensor inductivo, pues el objeto virtual no est hecho de un material ferromagntico. Para que la simulacin sea completa es necesario agregarle una cara de material ferromagntico para que el sensor detecte la presencia de la caja. Para hacer esto siga los siguientes pasos: De clic derecho en el apartado Base de La caja que va a utilizar, vaya a New Geometric primitives Surface. En la parte derecha del model explorer le aparecer un nuevo elemento llamado surface. Haga clic derecho sobre l y escoja properties para hacer modificaciones en esta superficie.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

55

En el apartado General, asegrese que las dimensiones de la superficie sean las de la caja (100 x 100) y en el apartado Material, asegrese que el material sea Robot Steel para que sensor detecte la presencia de la lmina. La posicin de la lmina debe ser 0,0,0 para que quede en la parte de debajo de la caja.

Salidas del programa a un archivo texto. Es posible tambin mandar los valores de variables u otros parmetros en el programa a un archivo texto. Esto permite crear un registro del desarrollo del programa al tiempo que se va escribiendo en el documento con extensin .txt. Tres pasos son necesarios para realizar este procedimiento: 1. Definir el archivo en el cual se va a escribir. Esto se realiza con una sola lnea de comando de la siguiente manera: OPEN nombrearchivo.txt FOR OUTPUT/APPEND AS #{No. de Salida} Si se va a abrir el archivo para crear uno nuevo, se usa OUTPUT, pero si se quiere continuar escribiendo en un archivo ya existente, sin borrar su contenido actual, se utiliza APPEND. Por ejemplo: 20 OPEN "CONTROL.TXT" FOR OUTPUT AS #1

2. Mandar a impresin en el archivo una determinada frase, palabra o valor de una variable. Como ejemplo se puede dar la impresin de una frase seguido de la impresin de una variable, la sintaxis es PRINT #{No. de Archivo}, {variable o frase a imprimir}: 30 PRINT #1, A continuacin va el valor de la entrada del robot conectada al sensor 40 PRINT #1, M_IN(6)

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

56

3. Cerrar el archivo en el cual se est escribiendo con la palabra CLOSE seguida del nmero del archivo que se le ha asignado. Por ejemplo: 90 CLOSE #1 El archivo de registro de desarrollo de programa puede ser muy til cuando se desea llevar un registro del desempeo del robot a lo largo de una jornada de trabajo, o cuando se desea depurar un programa registrando el estado de las variables segn va desarrollndose el programa.

Lectura de datos desde un Archivo Texto. Tambin es posible leer datos de un archivo texto a la vez que dichos datos se van asignando como valores a una variable. El comando INPUT puede ser usado para leer un archivo texto en forma secuencial, esto es, el archivo es ledo desde el principio hasta el final leyendo una lnea a la vez. Es decir, cada vez que el comando INPUT lee una variable, asigna a la variable el contenido de lo que lee hasta encontrar el cdigo ASCI de fin de lnea. El comando INPUT tiene la siguiente sintaxis: INPUT #{No. de Archivo}, {variable1},{variable2}, Para leer un archivo texto es necesario seguir tres pasos:

1. Definir el archivo en el cual se va a escribir. Esto se realiza con una sola lnea de comando de la siguiente manera: OPEN nombrearchivo.txt FOR INPUT AS #{No. de Archivo} Por ejemplo: 20 OPEN "PARAMETROS.TXT" FOR INPUT AS #1 2. Usar el comando INPUT para leer la lnea actual. ejemplo: 30 INPUT #1, ASMD$ 40 INPUT #1, PARAMETRO1, AVANCE, PINIT 3. Cerrar el archivo en el cual se est escribiendo con la palabra CLOSE seguida del nmero del archivo que se le ha asignado. Por ejemplo:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

57

90 CLOSE #1

Entrada/salida en un puerto COM RS-232 Es posible tambin transferir datos desde/hacia el programa usando un puerto RS-232 usando los mismos comandos PRINT e INPUT. La nica diferencia la hace el modo en que se abre el medio. Para leer o escribir en o desde una interface RS-232 el comando OPEN debe especificar los siguientes parmetros: OPEN "COM1:" AS #{No. de Archivo} En cuanto a la sintaxis de los comandos PRINT O INPUT se utiliza el mismo formato que para los archivos de tipo texto.

EJERCICIO: Desarrolle un proyecto en CIROS Robotics que tome un objeto lo manipule con vectores de manera que se acerque progresivamente a una barrera de luz. Cuando cruce la barrera, el programa deber interrumpirse.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

58

COMUNICACIN DEL ROBOT, MANEJO DE I/O, Y OTRAS APLICACIONES

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

59

7.

COMUNICACIN DEL ROBOT, MANEJO DE I/O, Y DEL OTRAS APLICACIONES.

APLICACIN DEL ENTRENAMIENTO VIRTUAL EN LA PROGRAMACIN DE ROBOTS REALES


Todo el material que se ha visto en sistemas robticos virtuales puede ser llevado a la prctica en robots reales. Los principios de operacin son prcticamente idnticos, pero la manera de operacin introduccin de parmetros puede cambiar un poco. A continuacin se muestran las secuencias necesarias para aplicar el conocimiento de operacin y programacin de robots en los modelos actualmente en uso en el iCIM.

El sistema industrial de Manufactura Integrada por Computadora iCIM3000 posee dos robots industriales, uno en la estacin de ensamble y el otro en la estacin de acople al CNC. Para realizar las prcticas con los robots necesitamos los sigui siguientes elementos:

Componentes necesarios para realizar las prcticas con los robots industriales. . Adems de los lenguajes de programacin: Melfa Basic IV: Lenguaje de programacin Ciros Robotics: Ambiente virtual de simulacin

En esta prctica no se utilizar el software de programacin, solamente el hardware para el ilizar


Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

60

control de las posiciones del robot industrial, adems se ver el modelo RV3SB por ser ms avanzado e incluir todas las caractersticas del robot RV-2AJ en el acople del CNC. El robot RV3SB de Mitsubishi. Las caractersticas del brazo robot RV3SB son las siguientes: 6 grados de libertad Repetitividad: 0.02 mm. Velocidad mxima: 5,500 mm./s. (limitada a 1,000 mm/s por seguridad para la enseanza) Peso: 37Kg. Alcance: 642 mm.(sin pinza)

Descripcin de robot RV3SB de Mitsubishi

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

61

Alcance del movimiento del robot RV3SB de Mitsubishi. El robot RV3SB posee dos sistemas de coordenadas desde los cuales se puede referenciar el movimiento:

Sistemas de coordenadas disponibles en el robot RV3 RV3SB

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

62

El robot RV3SB permite agregarle un elemento terminal para la manipulacin de las piezas y pallets en el sistema de manufactura, en la siguiente figura se muestra la disponibilidad del alambrado y conexionado de mangueras para esto:

Alambrado y conexin de mangueras neumticas para el elemento terminal.

La unidad de control CR2B-574. En la siguiente figura se describe lo ms importante de la interfaz del controlador CR2B-574.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

63

Unidad de control CR2B CR2B-574 para el robot Mitsubishi. La consola para aprendizaje de posiciones ndizaje La consola permite el aprendizaje de nuevas posiciones del robot industrial o la modificacin de las existentes, as como la creacin y ejecucin de programas en la unidad de control.

Consola para la operacin manual del robot indu industrial.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

64

Programas del robot de la estacin de ensamblaje. La estacin de ensamblaje con robot RV3SB posee los siguientes programas ya almacenados en la unidad de control: MAIN.MB4: Programa principal, inicia automticamente si el controlador est encendido. INIT.MB4: Programa de reinicializacin. ERR.MB4: Programa para el diagnstico de errores. TOUT.MB4: Programa para diagnstico de tiempo excedido. UBP.MB4: Definicin de las variables globales. COMM.MB4: Programa de comunicacin para CIROS PRODUCTION.

Posiciones/Tareas del programa MP mover pal (Move Palette) del robot RV3SB. Este programa sirve, por ejemplo, para mover el pal desde el sistema de banda transportadora a la base para pals 1 de la estacin.

Posiciones del programa MP.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

65

Posiciones del robot para el programa MP 1 2 3 4 5 6 PINIT PPAL(15) PPAL(1) PPAL(2) PPAL(3) PPAL(4)

Posiciones/Tareas del programa MPH mover porta lapiceros (Move pen holder)

Posiciones del programa MPH.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

66

Posiciones del robot para el programa MPH 1 2 3 4 5 6 PINIT PPH(5) PPH(1) PPH(2) PPH(3) PPH(4)

Posiciones/Tareas del programa MINST mover instrumento (Move instrument) Este programa sirve, por ejemplo, para insertar un porta lapiceros en la placa base.

Posiciones del programa MINST.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

67

Posiciones del robot para el programa MINST 1 2 3 4 5 6 PINIT PASM(2) PASM(1) PTEST PFD(1) PFD(2)

Posiciones/Tareas del programa ASMP ensamble del lapicero (Assemble pen) Este programa sirve para insertar un lapicero en el porta lapicero.

Posiciones del programa ASMP.


Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

68

Posiciones del robot para el programa ASMP 1 2 3 PINIT PPASM PPFD

Posiciones/Tareas del programa MP mover pal (Move Palette) del robot RV-2AJ. Este programa sirve, por ejemplo, para mover el pal desde el sistema de banda transportadora a la base para pals 1 de la estacin.

Posiciones del programa MP del robot RV-2AJ.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

69

Posiciones del robot para el programa MP 1 2 3 4 5 6 PPAL(4) PPAL(3) PPAL(2) PPAL(1) PPAL(15) PINIT

Posiciones/Tareas del programa LMILL cargar fresadora (Load mill) del robot RV-2AJ. Este programa sirve para alimentar la fresadora con una placa base.

Posiciones del programa LMILL del robot RV-2AJ.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

70

Posiciones del robot para el programa LMILL 1 2 3 4 5 6 7 8 PBP(4) PBP(3) PBP(2) PBP(1) PBP(5) PWAIT 1 PWAIT 2 PCNC

Posiciones/Tareas del programa ULMILL descargar fresadora (unload mill) del robot RV-2AJ. Este programa sirve sacar una placa base procesada desde la mquina fresadora.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

71

Posiciones del programa ULMILL del robot RV-2AJ.

Posiciones del robot para el programa ULMILL 1 2 3 4 5 6 7 PBP(4) PBP(3) PBP(2) PBP(1) PWAIT 1 PWAIT 2 PCNC

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

72

Eje lineal del robot RV-2AJ. El controlador del robot RV-2AJ tambin controla un eje lineal, ste trabaja como el eje 7 del robot. No hay interruptores fsicos, todo es controlado desde el software.

Eje lineal controlado por la unidad CR2B-574 del robot RV-2AJ.

PROGRAMACIN DE POSICIONES EN ROBOTS MITSUBISHI MELFA. La manipulacin e introduccin de posiciones en un robot industrial se efecta con ayuda de un dispositivo conocido como TEACHPENTDANT el cual consiste de una consola de control que se encuentra adosada al robot con un cable largo. En adelante se referir a este dispositivo como TEACH. Para operar el robot es necesario inicializarlo. Para realizar esto siga los siguientes pasos:

Verifique que el aire comprimido est encendido.

Si el robot est apagado, hale hacia afuera el botn rojo de paro de emergencia del tablero de operacin que seala la flecha negra.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

73

Encienda el Mdulo del Robot. Ponga el switch principal en |.

Si el robot hubiera quedado en un estado de error, se oir una alarma audible. Tome el Teach y presione el botn ERROR RESET. Si la alarma no cesa, llame al encargado del iCIM.

En el tablero de la unidad manejadora del robot (caja con controles bajo la plataforma del robot) ponga la llave en la posicin TEACH. Seguidamente ponga la llave en la unidad Teach en la posicin ENABLE.

Tome la unidad Teach con la mano izquierda, ajuste la banda sujetadora al grosor de su mano. Presione con los dedos de su mano izquierda la barra en la parte de abajo del Teach. Y luego, sin dejar de presionar la barra, presione el botn STEP MOVE (SVO ON). Escuchar un clic en el robot, esto quiere decir que el robot est listo para ser manipulado. Nota Importante: Antes de comenzar la manipulacin del robot es primordial que la velocidad no sea motivo de una colisin accidental. Configure la velocidad del robot a un nivel que sea fcilmente manipulable. Utilice las teclas + y - que se encuentran bajo el botn SVO ON para variar la velocidad de operacin del robot. + FORWD Aumenta la velocidad del robot

Disminuye la velocidad del robot. BACKWD

En la esquina superior derecha de la pantalla ver usted una cifra seguida del smbolo %. Vare la cifra con las teclas antes mencionadas hasta poner la velocidad en 5% para empezar, y aumente o disminuya segn sea su necesidad.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

74

ANTES DE INICIAR CON EL ROBOT

La manipulacin del robot puede conllevar colisiones.

Un choque directo con una superficie dura puede conllevar la descalibracin del robot y daos en el elemento terminador. EL ROBOT NO PUEDE SENTIR DOLOR. Al dirigirse contra una superficie sin detenerse ni bajar la velocidad se golpear sin ninguna consideracin a s mismo. TRABAJE A BAJA VELOCIDAD

MANIPULACIN DEL ROBOT MITSUBISHI Una vez los servos estn encendidos, mientras usted mantenga presionado el botn SVO ON y la barra inferior del control el robot podr ser manipulado de igual manera que el robot virtual. Escoja el modo de manipulacin teclas JOIN, XYZ, o Tool. Una presionado esto presione correspondientes segn el modo controlar el movimiento del robot. presionando las vez que haya los botones en que desee

MODO X Y Z Si desea mover el robot en las coordenadas X , Y y Z presione el botn etiquetado XYZ, y presione las teclas etiquetadas con la letra y un smbolo + o para mover el robot en uno u otro sentido a lo largo del eje impreso en la tecla que est presionando.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

75

MODO X Y Z En coordenadas cilndricas. El robot real Mitsubishi tambin permite el movimiento en coordenadas cilndricas. En este tipo de movimiento es posible moverse sobre la pared de un cilindro de radio R, altura Z y describiendo un ngulo T. Para entrar en este tipo de modo de control de movimiento ingrese al modo XYZ y presione nuevamente el botn XYZ hasta que la lnea superior de la pantalla del TEACH muestre la palabra CYLNDER. Luego presione las teclas X , Y y Z para mover al robot en las magnitudes R , T y Z respectivamente.

MODO JOINT Si desea mover el robot en cada articulacin presione JOINT. El articulacin el nombre de la articulacin con unos smbolos + movimiento en cada articulacin con unas flechas). Antes de acrquese al robot y observe el nombre de cada articulacin y efectuar el movimiento de una manera certera. robot tiene etiquetada en cada y - (que indican el sentido del efectuar cualquier movimiento el sentido de cada flecha para

Si est trabajando en el robot auxiliar del CNC tome en cuenta que este robot tiene un eje lineal de movimiento extra. Para moverse en dicho eje escoja el modo JOINT y una vez que le aparezca el listado de las articulaciones con las magnitudes de cada una, presione nuevamente el botn JOINT y le aparecer en la pantalla la lnea que dice ADDN. AXIS bajo la cual le aparecer la articulacin J7 y su respectiva magnitud. Mueva al robot a lo largo de esta lnea usando los botones etiquetados X (J1) y + X (J1).

MODO TOOL De manera similar al caso virtual, en el modo TOOL podr mover el robot a lo largo de los ejes que se definen en la direccin que apunta el elemento terminador del robot. Par entrar en este modo de movimiento presione el botn TOOL que se encuentra arriba del botn STEP MOVE.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

76

ALMACENAR POSICIONES EN EL ROBOT MITSUBISHI.

1. Acceda al men: [Menu]. 2. Pulsar 1 (Teach) y seleccionar el nombre del programa (Estos aparecen en la introduccin terica de esta seccin).

Seleccin del programa existente en la unidad de control del robot. 3. Escriba el nombre del programa existente (o uno nuevo si desea) presionando la tecla [Pos] junto con el teclado numrico puede escribir letras, tal como en un telfono mvil, al terminar de escribir el nombre presione [Inp/Exe]. 4. Presione la tecla [Pos] para ver las posiciones dentro del programa y escriba el nombre de una de las posiciones vlidas ya existentes. (Refirase a la parte terica de esta seccin para conocer las posiciones.) 5. Escriba las posiciones de cada una las articulaciones y/o posiciones de las coordenadas para restaurarlas en caso de perderse:

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

77

Nombre del programa: Nombre de la posicin: Coordenada X= Y= Z= A= B= C=

Nombre del programa: Nombre de la posicin: Valor original Coordenada X= Y= Z= A= B= C=

Nombre del programa: Nombre de la posicin: Valor original Coordenada X= Y= Z= A= B= C= Valor original

Tabla de valores originales de los programas y posiciones en el robot. 6. Presione el botn de hombre muerto (en la parte posterior de la consola) + el botn [Step |Move] + [Imp/Exe] para hacer que el robot se mueva hacia la posicin seleccionada y comprobar el correcto ajuste de la misma. 7. Mueva el brazo robot a una posicin cualquiera y a partir de all ajuste la posicin anterior moviendo las articulaciones individualmente hasta lograr colocar la pieza en la posicin esperada. 8. Sobrescriba la posicin guardndola de la siguiente manera: Pulsar [Step] + [Add] y despus presionar [Add] de nuevo. Pulsar [Add] para confirmar la posicin.

9. Compruebe que la nueva posicin est correcta al repetir el paso 19 para esta posicin. 10. Configure tantas posiciones como se le indiquen hasta que sea competente en ello, puede usar las otras columnas de la Tabla anterior para guardar las posiciones originales.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

78

11. Si sus posiciones no son iguales a las que escribi en la tabla anterior, resturelas antes de apagar el equipo.

CONEXIN CON UN ROBOT REAL DESDE UNA APLICACIN DE ROBOTICA VIRTUAL


Para conectarse con un Robot Real es necesario abrir CIROS STUDIO. Una vez abierta la aplicacin debe abrirse un proyecto que contenga el mismo robot con el que se desea conectarse. Vaya al men file de la barra de herramientas y escoja Open, Una vez abierta la ventana de seleccin de la celda que se quiere abrir (un archivo .MOD), busque alguno de los proyectos virtuales que usted abri con el CIROS ROBOTICS y que contienen uno de los robots reales que usted sabe que estn en red. Si no tiene ningn proyecto creado que contenga uno de los robots que usted tiene en red, abra un nuevo proyecto. Vaya a FileNewProject Wizard. Refirase al principio de este manual para instruirse en la manera correcta de crear un proyecto con un modelo de robot al alcance de su red. Para iniciar la conexin con el robot es necesario abrir RCI Explorer. Para hacer esto se va a ExtrasOnline Management RCI Explorer. Se abrir una ventana como se muestra a continuacin.

Dentro de esta ventana est tanto el robot del proyecto como el Work place. Dentro del robot puede verse el apartado connection. Dando clic derecho en l se despliega un men. Dentro de ese men se escoge properties. Se abrir una ventana que le permitir configurar todos los parmetros de conexin con un robot real.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

79

Para conectarse con uno de los robots del iCIM de la Universidad Don Bosco ponga las opciones que se muestran a continuacin:

Ponga mucha atencin: Debe seleccionar como medio de comunicacin TCP/IP y en la pestaa de TCP//IP debe poner la direccin IP de la caja controladora del robot (la direccin IP del robot ensamblador es 192.168.10.11, y la del robot auxiliar de la unidad de CNC es 192.168.10.10). No lo olvide, el puerto de comunicacin de ambas cajas controladoras es el 9002. Una vez configurada la conexin con el robot regrese de nuevo a RCI explorer y de nuevamente clic derecho en la divisin conection. Esta vez escoja la opcin connect. Le aparecer una ventana como la que se muestra al lado. Eso le indicar que todo est bien, que se ha logrado la conexin. De nuevo en el RCI Explorer, dentro del conjunto de elementos relativos al robot, de clic en programs. Se desplegarn todos los programas que tiene el robot.

Para cargar uno de los programas que estn en la lista de programas, simplemente de doble clic en el nombre del programa, se abrir una ventana anunciando que se cargarn en la PC las

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

80

instrucciones del programa y sus posiciones. Todos los programas pueden ser extrados menos el programa MAIN que siempre est corriendo y por ello es poco lo que se puede hacer con l. Para extraer el programa de clic en OK en la ventana de Up and Download. Inmediatamente se cargarn las listas de posiciones y el texto del programa en dos ventanas separadas.

MANIPULACION DEL ROBOT DESDE CIROS STUDIO Una vez que haya establecido conexin con un robot fsico con CIROS Studio, Asegrese que la llave del controlador del robot est puesta en AUTO (ext). Vaya a ExtrasOnline managementJog Operation. Se abrir una ventana parecida al teach in, en ella podr manipular al robot de la misma manera que lo haca en el CIROS ROBOTICS.

SEA MUY CAUTELOSO.


Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

81

El control que proporciona el JOG Operation de CIRUS STUDIO no es tan preciso como lo es el TEACHPENDANT. Para que el robot realice un programa hecho por usted, primero debe crear un programa nuevo usando la consola y colocar las posiciones (el cdigo en Melfa Basic IV lo crear desde la PC con el software CIROS STUDIO). Una vez creadas las posiciones debe ir a la ventana RCI EXPLORER y cargar el programa a la PC, ya que el programa est vaco solo le mostrar las posiciones que usted ha guardado y estar libre de cualquier cdigo de programa. Cree un programa que intercambie la posicin de dos objetos (porta lapiceros) usando una posicin intermedia y una de HOME. Puede presionar el botn para generar la numeracin de lneas automtica. . Verifique que no hay errores, en caso de

Compile y enlace el programa usando el botn haberlos consulte con su facilitador.

Luego haga clic sobre la ventana del programa y presione el botn para descargar programa al robot y presione OK.

el

Repita el paso anterior estando en la ventana de posiciones si desea descargar tambin las posiciones al controlador del robot. Vaya a la ventana RCI EXPLORER y haga clic derecho sobre el nombre del programa y seleccione DEBUG.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

82

Ah haga clic sobre Online ON. A continuacin vaya a ExtrasOnline managementJog Operation y mueva alguna articulacin para activar los servomotores. Ejecute el programa usando el botn Start o hgalo paso a paso con el botn .

Est atento al botn de Paro para detener el robot si hace un movimiento diferente al que usted esperaba. Para finalizar presione el botn de paro lo que har que automticamente la conexin cambie a Online OFF. Busque en Connection la opcin Disconnect para terminar la comunicacin con el robot.

MANEJO DE ENTRADAS/SALIDAS (I/O)


Para verificar el estado de los sensores puede hacer clic sobre la ventana RCI EXPLORER, seleccione en Connection la opcin Connect, luego en la ventana RCI EXPLORER vaya a Monitors y haga doble clic en I/O I/O Monitor nos muestra el estado de las entradas y salidas y el nmero que le corresponde en el controlador del robot.

EJECUCIN DE UN PROGRAMA DESDE EL CONTROLADOR DEL ROBOT.


Para este paso recuerde bajar la velocidad de operacin del robot. Para correr un programa desde el controlador del robot (Driver Unit) debe colocar la llave en AUTO (OP), luego con Change display ubquese donde dice P.XXX y con las flechas

[Up/Down] busque su programa (en el caso que no se mueva El indicador presione Reset), cuando ya lo haya seleccionado encienda los servos con [SVO ON/1] y luego active Start [<1>].
Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

83

ANEXO 1

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

84

ANEXO 1
SI TIENE PROBLEMAS PARA CONECTAR CON EL SERVIDOR DE LICENCIAS REALICE EL SIGUIENTE PROCEDIMIENTO: Es posible que al intentar arrancar el CIROS ROBOTICS aparezca un cuadro anunciando que no se puede conectar con el servidor de licencias. Esto se puede deber a dos cosas: El servidor de licencias no tiene puesta la llave de licencias ni arrancado el servicio. La PC en que se intenta arrancar el CIROS ROBOTICS no tiene conexin a la red del servidor o no tiene configurado la direccin IP del servidor para solicitar la licencia. En el primer caso, es necesario verificar que el servidor de licencias est conectado a la red, poner la llave de licencia etiquetada CIROS AUTOMATION SUITE en el servidor e iniciar la aplicacin del servidor de licencias. Para hacer esto se arranca en el servidor la siguiente aplicacin:

El servidor de licencias es la mquina central del ICIM, la misma que maneja el CIROS Production.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

85

En el caso que el servidor de licencias no sea el problema, es necesario verificar que la PC en que desea arrancar el CIROS ROBOTICS pertenezca a la red 192.168.10.x, que est conectada a la red por cable de red, y que tenga configurada la aplicacin CIROS SMARXOS viendo hacia el servidor. Arranque la aplicacin en la PC del CIROS ROBOTICS desde el men inicio como se muestra en la figura:

Una vez abierta la aplicacin ponga en el campo de Licence server la direccin IP 192.168.10.22 y cambie la seleccin a Licence Server. En unos segundos el campo llamado Connected to Crypto Boxes se comenzar a llenar con la informacin de las licencias que tiene el servidor de licencias, esto es productos licenciados y cantidad de aplicaciones que pueden estar corriendo al mismo tiempo.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

86

Cuando el campo Crypto Boxes est lleno, vaya al submen CIROS Robotics, al desplegarlo aparecer la informacin de licencias disponibles. Ubquese en la cantidad de licencias, al hacerlo toda la lnea se sombrear y se activarn los botones

Presione el botn Generate Configuration file. . Pero se habr generado un archivo que le dice a la aplicacin de CIROS Robotics que el servidor de licencias est en el sitio dnde se ha encontrado la informacin que usted est percibiendo en la ventana de CIROS SmarxOS Management

Intente ahora de nuevo abrir la aplicacin de CIROS Robotics. En esta ocasin no deber darle ningn problema. Si llegara a aparecer una ventana anunciando que no se puede encontrar el servidor de licencias, y la falla no se debe a problemas en la conexin de red, realice las siguientes pruebas: Abra una ventana de MS-DOS (digite CMD en el campo de correr programas en el men inicio) y escriba: PING 192.168.10.22 t Debe de haber una respuesta y debe llegar con buenos tiempos de respuesta. (la direccin IP debe de ser la del servidor de licencias, en el caso de las mquinas del iCIM la direccin IP es 192.168.10.22) Si no hay respuesta, verifique las conexiones de red y las direcciones IP tanto del servidor de licencias como de la mquinas que no se pueden conectar. Si hay respuesta de ECO al ping que est tirando la computadora del problema, entonces el problema puede que sea el Windows firewall en la mquina servidor de licencias. Verifique que el Firewall se encuentre desactivado, o que en su defecto est permitiendo la operacin de todos los ejecutables relacionados con el servidor de licencias, y que adems tenga libres los puertos del servidor de licencias que son, el UDP 8766 y el TCP 8765.

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

87

Bibliografa: CIRUS AUTOMATION SUITE: Archivos de Ayuda. Festo Didactic GmbH, 2008 Melfa Industrial Robot, Instruction Manual, 2003

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Programacin de Robots Industriales

88

ANEXO 2

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

89

ANEXO 2

MELFA Basic IV introduccin

Introduccin a la programacin

M e l f a Ba s i c I V
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 1

MELFA Basic IV MELFA ELFA M Programacin estrRobots obots ucturada R

introduccin

En este lenguaje la programacin se estructura como un conjunto de instrucciones cuyo flujo de proceso se realiza en un lenguaje BASIC estndar. El aspecto de un programa es un conjunto de instrucciones propias del sistema de Robot entre sentencias ya conocidas de BASIC. Se obtiene as una forma intuitiva de programacin sencilla, incluso para aquellos usuarios con pocos conocimientos de BASIC.

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

90

MELFA Basic IV introduccin


Ejemplo de programa
... 10 DEF INTE VEL 12 VEL=50 15 OVRD VEL 20 FOR T= 0 TO 6 30 MVS P1 40 MOV P2 50 MVS P4 60 NEXT T 70 GOSUB 1000 75 HCLOSE 1 80 MOV P7 85 OVRD 30 90 MVS P9 95 RETURN 100 GOTO 20 1000 M O V P 3 1005 DLY 1 1200 ...

Sentencias propias de BASIC para el flujo y condiciones de programa Sentencias propias de MELFA para el movimiento del Robot

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

MELFA Basic IV introduccin


Carcteres con significado especial

Apstrofe ()
Las lneas de comentarios estn indicadas con apstrofes, y sern t transferidas tambin a la drive unit.

Ejemplo:

100 posicin de inicio

Asterisco (*)
El asterisco define marcas de salto (etiquetas). No sern transferidas a la drive unit

Ejemplo:

110 *TABLA1 LA

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

91

MELFA Basic IV introduccin


Carcteres con significado especial(2)

Coma (,)
La coma sirve de separador cuando se especifican muchos parmetros consecutivos.

Ejemplo:

100 P50 = (450,100,300, ...)

Punto (.)
Para datos mltiples ,como los datos posicionales, el punto sirve como separador de cada componente singular.

Ejemplo:

110 M10 = P10.X

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

MELFA Basic IV introduccin


Carcteres con significado especial (3)

Espacio ( )
Debe guardarse entre instrucciones y datos individuales, y tras los nmeros de lnea

Ejemplo:

100 MOV P10 Cada lnea debe contener como mximo un comando

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

92

MELFA Basic IV introduccin


Declaracin de variables

Los nombres de variables del tipo de posicin, articulacin (joint), aritmtica, y cadena de caracteres , empiezan con un carcter particular. La norma es:

P J M C

= = = =

Positional (variable de posicin) Joint (articulaciones) Aritmticas Character string (cadena de caracteres)

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

MELFA Basic IV MELFA ELFA M Constantes numriRobots obots cas R


Ejemplos: decimal hexadecimal bi na r i o

introduccin

: 234, 7471, -435, +546, -5454 : &H03FA, &H1AE5, &HA5 : &B0101, &B110110101, &B10101111

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

93

MELFA Basic IV introduccin


Constantes alfanumricas

Ejemplo: "MELFA BASIC es altamente eficiente" Siguiente posicin" Esperando entrada 5"

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

MELFA Basic IV introduccin


Constantes angulares Ejemplo: 90DEG 120DEG

El seno de un nglo de 100 se representa como: SIN(100DEG)

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

10

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

94

MELFA Basic IV introduccin


Declaracin de variables: ejemplos
Position P
P1 P124 P100.X P110.Z P[M5+3] (!) P[M10].Z (!)

Joint J
J100 J100.W J10.T

Arithmetic M
M10 M99 M[M6+3] (!)

Character string C
C30$ C$[M5+4] (!)

(!) Slo en Melfa Basic III

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

11

MELFA Basic IV MELFA ELFA M Robots obots R

introduccin

Expresiones con variables de tipo Posicional Ejemplos: P14 = P100 P20 = P_CURR P30 = P[M4*2+5] (!) P5.Z = 10*M5 P[M10] = P1 + P20 P15.Z = P15.Z+30 -Variables de Posicin: Datos de coordenadas de espacio ortogonales, X, Y Z,( normalmente en mm) y orientacin A, B. (en DEG) . Todas las variables de este tipo empiezan con P.
(!) Slo en Melfa Basic III
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 12

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

95

MELFA Basic IV introduccin


Expresiones con variables del tipo Joint Ejemplos: J10

= J_CURR J10.W = J10.W+RAD(M5)

-Variables de articulacin: Datos que hacen referencia a posicin de los ejes. Todas las variables de este tipo empiezan con J.

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

13

Expresiones con variables de Cadena de carcteres Ejemplos: C30$

MELFA Basic IV MELFA ELFA M Robots obots R

introduccin

= N de paso de secuencia. C$[M100] = Siguiente posicin(!) C$[M10*2] = Nmero de posicin:(!)

(!) Slo en Melfa Basic III

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

14

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

96

MELFA Basic IV introduccin


Funciones de movimiento: MOV MOV: Movimiento interpolacin de ejes Descripcin: Esta instruccin mueve a un punto determinado mediante interpolacin de ejes. La trayectoria de un punto a otro no es lineal, es decir, no describe una lnea recta en el espacio, sino que la CPU procesa y mueve los ejes a su conveniencia , por su camino ms sencillo. Por lo tanto la trayectoria no es 100% predecible por el usuario

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

15

MELFA Basic IV MELFA ELFA M Funciones de moviRobots obots miento: MOV R

introduccin

10 MOV P1 20 MOV P2,-50 30 MOV P2 40 MOV P3,-100 WTH M_OUT(17)=1

50 MOV P3 60 MOV P3,-100 70 END


MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;mueve hacia P1 ;mueve respecto P2, 50mm atrs de la ;posicin de la mano (desp. relativo) ;mueve hacia P2 ;mueve respecto P3,100mm atrs, mientras activa ;salida bit n 17 ;mueve hacia P3 ;mueve respecto P3, 100mm atrs(desp.relativo) ;fin de programa
16

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

97

MELFA Basic IV introduccin


Funciones de movimiento: MOV
Comentarios: -El movimiento en este tipo de instrucciones no es lineal, por lo tanto, no es 100% predecible. Utilizar esta instruccin con cautela, para evitar colisiones del brazo con alguna parte del entorno del robot. -Cuando se usa el desplazamiento relativo desde un punto, (por ejemplo MOV P3,-100) el sentido de avance viene determinado por el signo de ste, en su coordenada Z:
-Z Z

+Z

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

17

MELFA Basic IV introduccin


Funciones de movimiento: MVS MVS : Movimiento en interpolacin lineal Descripcin: Esta instruccin mueve a un punto determinado mediante interpolacin lineal. La trayectoria de un punto a otro es lineal, es decir, describe una lnea recta en el espacio.

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

18

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

Anexo 2

98

MELFA Basic IV introduccin


Funciones de movimiento: MVS

;mueve respecto P2, 50mm atrs, en lnea recta ;(desp. relativo) 20 MVS P1 ;mueve hacia P1 en lnea recta 30 MVS,-50 ;mueve 50mm atrs desde la posicin actual ; en lnea recta (desp. relativo) 40 MVS P2,-100 WTH M_OUT(17)=1 ;mueve respecto P2,en lnea recta, ;100mm atrs, mientras activa ;salida bit n 17 50 MVS P2 ;mueve hacia P2, en lnea recta 60 MVS,-50 ;mueve respecto P2, en lnea recta 50mm ;atrs (desp. relativo) 70 END ;fin de programa

10 MVS P1,-50

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

19

MELFA Basic IV MELFA ELFA M Funciones de moviRobots obots miento: MVR S


Comentarios:

introduccin

-Cuando se usa el desplazamiento relativo desde un punto, (por ejemplo MVS P3,-100) el sentido de avance viene determinado por el signo de ste, en su coordenada Z, tal como se hace con MOV. -Al usar el desplazamiento relativo, la posicin destino es ficticia ( no consta en tabla de coordenadas, por lo tanto no es un punto registrado). Usarlo con cuidado para evitar colisiones del brazo con alguna parte del entorno del robot.

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

20

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

99

MELFA Basic IV introduccin


Movimientos en interpolacin circular: MVR MVR : Designado un punto de comienzo,, un punto de trnsito y un punto final, se realiza un movimiento a travs de ellos (describe un arco en el espacio), mediante interpolacin circular de ejes.
P3

Ejemplo: MVR P1,P2,P3

P1 P2

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

21

MELFA Basic IV MELFA ELFA M Movimientos en intRobotsrobots 2 erpolacin Rcular: MVR ci

introduccin

MVR2 : Designado un punto de comienzo, un punto de final y un punto de referencia, se realiza un movimiento del punto inicial al punto final sin pasar por el punto de referencia. La trayectoria seguida es la que correspondera a un arco que incluye el punto de referencia, pero slo se traza el segmento correspondiente al tramo del punto inicial al final. Ejemplo: MVR2 P1,P2,P3
P2 P3 P1

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

22

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

Anexo 2

100

MELFA Basic IV introduccin


Movimientos en interpolacin circular: MVR3 MVR3 : Designado un punto de comienzo, un punto de centro y un punto de final, se describe un arco desde el punto de inicio hasta el de final, cuya trayectoria es trazada respecto al punto de centro. El ngulo trazado debe ser entre 0 y 180 : Ejemplo:
P1 P3 P2

MVR3 P1,P2,P3

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

23

MELFA Basic IV MELFA ELFA M Movimientos en intRobotsrobots erpolacin Rcular: MVC ci

introduccin

MVC : Designado un punto de comienzo igual al final, un punto de trnsito 1 y un punto de trnsito 2, describe un arco desde el punto de comienzo pasando por el punto de trnsito 1, luego por el 2 y finaliza en le punto final, que es el mismo de comienzo. Describe por lo tanto un crculo o una elipse completa. Ejemplo:
P3 P1

MVC P1,P2,P3
P2

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

24

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

Anexo 2

101

MELFA Basic IV introduccin


Movimientos en interpolacin circular

10 MVR P1,P2,P3 WHT M_OUT(18 8) 20 30 40 50 60 MVR P3,P4,P5 MVR2 P5,P7,P6 MVR3 P7,P9,P8 MVC P9,P10,P11 END

;Mueve P1P2P3 como un arco, ; mientras activa la salida bit 18 ;Mueve P3P4P5 como un arco ;Arco de P5P7 con trayectoria de P6 ;Describe P7P9 con centro en P8 ;Arco cerrado P9P10P11P9

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

25

CNT : Movimiento sin interrupciones

MELFA Basic IV MELFA ELFA M Movimientos sin interrupciones: obots Robots CNT R

introduccin

Descripcin: Esta instruccin permite que se realiza un movimiento entre puntos mltiples - definidos por MOV,MVS,MVR, etc, sin interrupciones, es decir, sin acellerraciiones ni decellerraciiones.. ace e ac ones dece e ac ones En el momento que se declara esta instruccin, todas las instrucciones de movimiento a partir de ella se hacen de esta forma.
CNT 1 CNT CNT 0 CNT CNT 1,100,200 ;Desig ;Designa la activacin de la funcin ;Desig ;Designa la desactivacin de la funcin ;Desig ;Designa la activacin de la funcin, y ;define que el punto De comienzo a 100mm y ;el de final a 200mm del punto destino

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

26

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

Anexo 2

102

MELFA Basic IV introduccin


Movimientos sin interrupciones

P1 1 ; a partir de las siguientes lneas se habilita CNT P2,P3,P4 P5 ; 1,100,200 ; El punto de comienzo ms cercano a 100mm, ;el de final ms cercano a 200mm 60 MVS P6 70 MVS P1 80 CNT 0 90 END
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 27

10 20 30 40 50

MOV CNT MVR MVS CNT

MELFA Basic IV MELFA ELFA M Definicin de veloRobots obots cidades y aR. decc. cc

introduccin

ACCEL : Designa aceleracin y deceleracin en % respecto a la mxima permitida

OVRD : Designa la velocidad de trabajo del robot en %.

JOVRD : Designa la velocidad de interpolacin de ejes en % respecto a la mxima permitida

SPD : Designa la velocidad en mm/s de la interpolacin circular y lineal, velocidad de la parte mvil (punto de trabajo, mano, etc.)
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 28

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anexo 2

103

MELFA Basic IV introduccin


Definicin de velocidades y acc. decc.

10 OVRD 100 20 MOV P1 30 MOV P2,-50 40 OVRD 50 50 MVS P2 60 SPD 120 70 OVRD 100 80 ACCEL 70,70 90 MVS P3 100 SPD M_NSPD 110 JOVRD 70 120 ACCEL 130 MVS, -50 140 MOV P1 150 END
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;fija la velocidad de trabajo al 100%

; fija la velocidad de trabajo al 50% ; movi movimientos lineales a 120mm/s ;veloc ;velocidad general al 100% ;acele ;aceler. y deceler. a 70% ;fija la velocidad lineal a su valor nominal ;veloc ;velocidad de interpolacin ejes a 70% ;fija la aceleracin y deceleracin al 100%

29

MELFA Basic IV MELFA ELFA M Control de utensilRobots obots ios (Pinza) R


HOPEN :Abre la pinza designada HCLOSE :Cierra la pinza designada
10 MOV P1,-50 20 OVRD 50 30 MVS P1 40 HCLOSE 1 50 DLY 0.5 60 OVRD 100 70 MVS ,-50 80 MOV P2,-50 90 OVRD 50 100 MVS P2 110 HOPEN 1 120 DLY 0.5 130 OVRD 100 140 MVS,-50 150 END

introduccin

; cierra pinza n 1 (atrapa pieza) ; ejecuta un retardo de medio segundo

; abre pinza n 1 ( suelta pieza) ; realiza un retardo

La parte de imagen con el identificador de relacin rId182 no se encontr en el archiv o.

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

30

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

MELFA Basic IV introduccin


Funcin de Paletizado Descripcin: Esta funcin desarrolla un movimiento programado en filas y columnas,, para realizar operaciones del tipo de manipulacin en cajas compartimentadas, operaciones seriadas en una superficie, etc. DEF PLT : Define el pallet a ser usado PLT : calcula la posicin actual de una casilla del pallet usado Sintaxis:
DEF PLT <Pallet No.>, <punto START>, <punto FINAL A>, <punto final B>, [<punto Diagonal >], <cantidad A>, <cantidad B>, <direccin de avance>
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 31

MELFAMELFA B MELFA asic IV Funcin de PaletizRobots obots a do R

introduccin

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

32

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Funcin de Paletizado
10 DEF PLT 1,P2,P3,P4,P5,3,5,2 ,2 ;Define el pallet n 1, punto ;START=P2, punto END A=P3, punto END ;B=5, direccin

20 M1=1 30 *BUCLE 40 MOV P1,-50 50 OVRD 50 60 MVS P1 70 HCLOSE 1 80 DLY 0.5 90 OVRD 100 100 MVS,-50 110 P10=PLT 1,M1 120 MOV P10,-50 130 OVRD 50 140 MVS P10 150 HOPEN 1 160 DLY 0.5 170 OVRD 100 180 MVS,-50

;Designa una etiqueta llamada BUCLE a

;Mov.50mm atr trs de posicin actual ;Opera en pos osicin M1 del pallet 1

trs ;Mov.50mm atr ;de posicin actual n

190 M1=M1+1 200 IF M1<=15 THEN *BUCLE 210 END


MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 33

MELFA Basic IV MELFA ELFA M Comandos de contRobotsma rol de progRobots ra

introduccin

Descripcin general: Estos comandos realizan las mismas funciones que el BASIC estndar, y sirve para transferir el control del programa a lneas determinadas de ste, condicionalmente a un caso particular o incondicionalmente. GOTO : Salto incondicional a lnea di Sintaxis: GOTO <lnea o label>
Ejemplos: GOTO 200 GOTO *FINAL
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;sa lta a lnea n 200 ;sa lta a lnea marcada como * FINAL
34

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco sco

MELFA Basic IV introduccin


Comandos de control de programa ON GOTO :Salto condiiciionall a llnea desiignada por cond c ona nea des gnada una variable entera. El programa seguir el valor de orden de esta variable (0,1,2,3,4) Sintaxis:
ON <Variable entera> GOTO<destino><destino><destino>

Ejemplos: ON M1 GOTO 100,200,300 ;SI M1=1 salta a 100, ;si M1=2 salta a ;200si no ;corresponde, salta a ;siguiente
35

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

MELFA Basic IV MELFA ELFA M Comandos de contRobotsma rol de progRobots ra

introduccin

IF THEN ELSE :Salto condiiciionado,, si no se da la cond c onado ciirrcunsttanciia se ejjecutta el salto desiignado en ELSE. El c cu n s a n c a e ecu a des gnado comando ELSE es opcional. Sintaxis: IF <condicin> THEN <lnea> ELSE <lnea o label> Ejemplos
IF M1=1 THEN 130 IF M1=1 THEN 130 ELSE 150 ;Salta a 130 si M1=1 ;Salta a 130 si M1=1, ;si no salta a 150

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

36

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Comandos de control de programa SELECT...CASE :Salto condicional, segn la condicin se ejecuta lo designado en CASE Siinttaxiis : S n ax s
SELECT <variable> CASE <condicin> <sentencias> CASE <condicin> <sentencias> CASE <condicin> <sentencias> DEFAULT <sentencias> End SELECT
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 37

DEFAULT corresponde al grupo de instrucciones que se ejecuta cuando ninguno de los casos anteriores se ha cumplido

MELFA Basic IV MELFA ELFA M Comandos de contRobotsma rol de progRobots ra


Ejemplos
SELECT M1 CASE 10 : : CASE IS 11 : : CASE IS < 5 : CASE 6 TO 8 : DEFAULT : END SELECT
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

introduccin

; Si M1=10 ejecuta slo ;las lneas entre CASE 10 ;y CASE IS 11 ; Si M1=11 ejecuta slo ;las lneas entre CASE IS ;11 y CASE IS <5 ; ;ejecuta si est entre 6 y 8

38

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Comandos de control de programa WAIT : Espera en esta lnea hasta que la condicin ha sido alcanzada

Sintaxis: WAIT <condicin>

Ejemplo:

WAIT M_IN(1)
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;Espera en esta lnea hasta que la seal de entrada 1 est activa


39

MELFA Basic IV MELFA ELFA M Repeticin incondiRobots obots cional R

introduccin

FORNEXT : Repite las instrucciones comprendidas entre FOR y NEXT las veces que indique la sentencia FOR. El comando STEP es opcional Sintaxis:
FOR <variable> = <const./variable> TO <const./variable> STEP <paso> (sentencias) NEXT

Ejemplo:
10 FOR M1 = 1 TO 10 ;Las lneas entre 10 y 60 se : ;repetirn 10 veces : 60 NEXT 70 FOR M2= 0 TO 50 STEP 10 ;Se incrementa M2 en pasos de : ; 10 unidades : 100 NEXT
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 40

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Repeticin condicional WHILEWEND: Repite las sentencias comprendidas entre W HILE y W END hasta que se cumpla una condicin determinada Sintaxis:
WHILE <variable condicin> (sentencias) WEND

Ejemplo:
10 WHILE (M1>=1)AND(M1<=10) : : : 60 WEND ;Las lneas entre 10 y 60 ;se repetirn HASTA que M1 ;est entre 1 y 10

MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

41

MELFA Basic IV MELFA ELFA M Llamada a subrutinas (incondicional) Robots obots R

introduccin

GOSUB: llama a lnea determinada en la instruccin y vuelve a ella tras encontrar RETURN en la subrutina. Sintaxis:
GOSUB <LINEA/LABEL>
Toda subrutina debe acabar en RETURN para retornar el control a la lnea siguiente tras GOSUB

Ejemplo:
10 GOSUB 1000 20 <sentencias> : : : 1000 <sentencias> : : 1400 RETURN
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;LLAMADA a subrutina ;transfiere el control a ;la lnea 1000 hasta que ;encuentra RETURN, tras ;ello vuelve a 20

42

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Llamada a subrutinas (condicional) ON GOSUB :Salto condicional a lnea designada por una variable entera. El programa seguir el valor de orden de esta variable (0,1,2,3,4) Sintaxis:
ON <Variable entera> GOSUB <destino><destino><destino>
Toda subrutina debe acabar en RETURN para retornar el control a la lnea siguiente tras ON...GOSUB

Ejemplos:
ON M1 GOSUB 100,200,300 : : 100 <sentencias> : 200 <sentencias> : 300 <sentencias> 1000 RETURN
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa43

;SI M1=1 salta a 100, ;si M1=2 salta a ;200si no ;corresponde,salta a ;siguiente

MELFA Basic IV introduccin


Llamada a sub-programas CALLP :Transfiere el control del programa a otro programa almacenado en la Drive Unit; una vez lo ejecuta, vuelve a pasar el control al programa principal.. Opcionalmente puede pasar parmetros. FPRM :Recibe parmetros y variables desde el programa principal, hacia el programa llamado. Sintaxis:
CALLP <Nombre programa> <parmetros y argumentos>

Ejemplo:
Programa principal 10 MOV P1 20 CALLP 2,P2,P7 30 END
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

Progr. No.2 10 FPRM P200,P700 100 MOV P200 110 MOV P700 120 END
44

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Interrupciones DEF ACT :Define las condiciones de la interrupcin y la instruccin a realizar tras ella . ACT : Establece la prioridad de esta interrupcin sobre las otras Sintaxis:
DEF ACT <Nde Int.> <condicin> <Proceso> <L>

Ejemplo:
10 DEF ACT 1,M_IN(17)=1 GOSUB 100 ; Si entrada 17 es ON, salta ;inmediatamente a lnea 100 ;Cuando pasan 10.5 segundos ;transfiere el control a lnea ;subrutina 300.

30 DEF ACT 3,M_TIMER(1)>10.5 GOSUB 300

100 M_TIMER(1)=0 110 ACT 3=1


MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;Establece prioridades
45

Interrupciones

MELFA Basic IV MELFA ELFA M Robots obots R

introduccin

Notas: Los saltos por interrupcin que lleven a una instruccin GOSUB, deben retornar con RETURN, en este caso: RETURN <n de interrupcin> Las prioridades se establecen con ACT<nint>=<nivel> y van de 1(mayor) a 8(menor) Prioridad 0 significa interrupcin desabilitada (ACT<nint>=0) Cuando se pone una L al final significa que la interrupcin se ejecutar al finalizar la instruccin en curso:
DEF ACT 1,M_IN(17)=1 GOSUB 100, L
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 46

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Paro incondicional HLT :Para el programa en aquel punto Sintaxis:
HLT

Ejemplo:
10 IF M_IN(20)THEN HLT ;detiene el programa si la ;entrada 20 es ON

Retardos DLY :establece un retardo Sintaxis:


DLY <segundos (0.05 mnimo)>

Ejemplo:
10 DLY 0.8
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa

;detiene el programa durante 0.8 s.


47

MELFA Basic IV MELFA ELFA M Entradas y SalidasRobots obots R


Sintaxis: Entradas: <variable>=M_IN(<bit>) <variable>=M_INB(<byte>) <variable>=M_INW(<word>) Salidas: M_OUT(<bit>)=<1/0> M_OUT(<byte>)=<byte> M_OUT(<word>)=<word> Ejemplos:

introduccin

M1=M_INB(20) ;BitsOUT 20 a 27 pasan a M1 WAIT M_IN(3)=1 ;Espera hasta que bitIN 3 es ON M_OUT(1)=1 DLY 0.5 ;conmuta bitOUT 1 a ON durante 0.5S
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 48

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

MELFA Basic IV introduccin


Operaciones aritmticas / lgicas / funciones MELFA Basic permite realizar operaciones con nmeros y comparaciones. Ejemplos: sustitucin: P1=P2 P10.Z=100 Aritmtica: +,-,*,/,^,... Comparacin: >,<,<>,=>,<=,AND,OR,NOT,XOR... Func i one s : MAX,MIN,RAD,SQR,TAN,SIN,COS,TAN..
MITSUB IS HI ELECT RIC E UROPE, B.V. Sucursal en Espaa 49

Centro de Tecnologas Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigacin e Innovacin en Electrnica Universidad Don Bosco

Anda mungkin juga menyukai