Robotica

113
Programación de Robots Industriales 1 Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora Instituto de Investigación e Innovación en Electrónica Universidad Don Bosco PROGRAMACIÓN DE ROBOTS Guía del estudiante Versión 4 16 de setiembre de 2011

Transcript of Robotica

Page 1: Robotica

Programación de Robots Industriales 1

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

PROGRAMACIÓN DE ROBOTS

Guía del estudiante

Versión 4 16 de setiembre de 2011

Page 2: Robotica

Programación de Robots Industriales 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Guía Para la Programación de Robots

Contenido

INTRODUCCIÓN A LOS ROBOTS INDUSTRIALES

COORDINACIÓN DE UNA APLICACIÓN CON ROBOTS (POSICIONES)

MANEJO DE OBJETOS VIRTUALES

MANEJO DE UN SISTEMA PALLETIZADO

SISTEMAS DE MANIPULACIÓN CON VECTORES

MANEJO DE ENTRADAS Y SALIDAS

COMUNICACIÓN DEL ROBOT, MANEJO DE I/O, Y OTRAS APLICACIONES.

ANEXO 1

ANEXO 2

Objetivos Específicos

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 capacitación, el participante será capaz de programar un robot industrial Mitsubishi, configurar las posiciones de trabajo, simularlo y ponerlo en marcha.

Page 3: Robotica

Programación de Robots Industriales 3

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

INTRODUCCIÓN A LOS ROBOTS INDUSTRIALES

Page 4: Robotica

Programación de Robots Industriales 4

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

1. INTRODUCCIÓN A LOS ROBOTS INDUSTRIALES

El término 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 máquina que realiza trabajos para ayudar a las personas o efectúa tareas difíciles o desagradables para los humanos.

Se define a un robot industrial como un mecanismo manipulador con más de tres ejes de movimiento el cual es multipropósito, automáticamente controlado y reprogramable. Existen otros tipos de robots experimentales tales como los que buscan imitar la anatomía o el procedimiento de aprendizaje humano, pero con mínimas aplicaciones industriales en la actualidad. Esta categoría no será cubierta en este material.

Las aplicaciones típicas del uso de los robots industriales incluyen la soldadura, la pintura, el ensamblado, la colocación de piezas, la inspección de productos y la prueba de productos. Todo lo anterior acompañado de velocidad, precisión y larga durabilidad del robot.

Como un dispositivo mecánico, 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 móviles del robot. Puede tratarse de actuadores por servomotores, actuadores hidráulicos o actuadores neumáticos.

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 aplicación de procesos (pintura, atornillado, calor, soldadura…)

Sistemas de Control: generalmente se usa un sistema basado en PLC para controlar el movimiento del robot.

Page 5: Robotica

Centro de Tecnologías Aplicadas a la

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 estaherramientas se pueden citar:

Herramientas para asir objetos:

• Pinzas o dispositivos electromecánicos• Asidores por vacío.

Herramientas para aplicación de materiales o procesos:

• Aplicación de pegamentos.• Aplicación de pinturas. • Aplicación de Calor. • Aplicación de soldaduras.• Colocación y apretado de tornillos.• Colocación de remaches. • Colocación de piezas por presión.

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 actúa como servoamplificador 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 más 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 mde su espacio de trabajo, aunque pueden combinar también elementos hidráulicos o ejes de movimiento lineal que expanden su libertad de movimiento.

Programación de Robots Industriales

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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

Pinzas o dispositivos electromecánicos, hidráulicos o neumáticos.

s para aplicación de materiales o procesos:

Aplicación de pegamentos.

. Colocación y apretado de tornillos.

Colocación de piezas por presión.

Siempre es necesario un sistema controlador por microprocesador para controlar el robot, ma basado en PLC, y generalmente actúa como servoamplificador

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

configuraciones más conocidas de robots son los robots articulados, robots SCARA (Selective Compliance Assembly Robot Arm) y los robots cartesianos.

Son artefactos inspirados en el brazo humano, usan articulaciones rotativas para moverse dentro de su espacio de trabajo, aunque pueden combinar también elementos hidráulicos o ejes de movimiento lineal que expanden su libertad de

Programación de Robots Industriales 5

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 estas

Siempre es necesario un sistema controlador por microprocesador para controlar el robot, ma basado en PLC, y generalmente actúa como servoamplificador

de los distintos servoactuadores, como programador de tareas y secuencias de movimientos, y

configuraciones más conocidas de robots son los robots articulados, robots SCARA (Selective

Page 6: Robotica

Centro de Tecnologías Aplicadas a la

Robots SCARA

Se trata de robots limitados en su rango de movimientos a los ejes X e Y (no en el eje Z) su nombre proviene de Selective Compliant Assembly Robot Arm or Selective Compliant Articulated Robot Arm. Generalmente son más fáciles de instalar, y programar (dependiendo del número de articulaciones)

Robots Cartesianos:

Son aquellos en los cuales sus ejes principales de movimiento son lineales y están en ángulo de 90 grados respecto a sus otros ejes. En ocasiones son llamados Gantry Robots. Su uso más extendido es como actuador principal en las máquinas asistidas por contpor computadora CNC. Aunque también se trata del sistema de automatización más sencillo utilizado en la industria.

Parámetros Importantes en la valoración

• Número de ejes: ejes de movimiento que tiene el robot para dde trabajo.

• Grados de Libertad: Número de ejes que posee el robot.• Campo o área de trabajo:• Cinemática: arreglo de los miembros rígidos y las articulaciones en el robot, que

determinan los posibles movimientos del robot.• Capacidad de Carga: Máximo peso que el robot puede manipular.• Velocidad: qué tan rápido se puede mover el punto terminal del robot. Cuando se mueven

todas las articulaciones. • Aceleración: la máxima aceleración que

moviendo. • Exactitud: Qué tan cerca o con qué precisión puede el robot alcanzar una determinada

posición. Este parámetro puede variar dependiendo de la velocidad, el peso manipulado, y la posición dentro del espacio o campo de trabajo.

• Repetitividad: Con qué precisión puede el robot retornar a una posición previamente programada. No es lo mismo que exactitud, la

Programación de Robots Industriales

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 más fáciles de instalar, y programar (dependiendo del número de articulaciones)

Son aquellos en los cuales sus ejes principales de movimiento son lineales y están en ángulo de 90 grados respecto a sus otros ejes. En ocasiones son llamados Gantry Robots. Su uso más extendido es como actuador principal en las máquinas asistidas por control numérico por computadora CNC. Aunque también se trata del sistema de automatización más sencillo utilizado en la

Importantes en la valoración de Robots Industriales.

ejes de movimiento que tiene el robot para desempeñarse en su campo

Número de ejes que posee el robot. Campo o área de trabajo: región del espacio definida por el alcance del robot.

arreglo de los miembros rígidos y las articulaciones en el robot, que rminan los posibles movimientos del robot.

Máximo peso que el robot puede manipular. qué tan rápido se puede mover el punto terminal del robot. Cuando se mueven

la máxima aceleración que puede alcanzar una articulación cuando se está

Qué tan cerca o con qué precisión puede el robot alcanzar una determinada posición. Este parámetro puede variar dependiendo de la velocidad, el peso manipulado, y la

spacio o campo de trabajo. Con qué precisión puede el robot retornar a una posición previamente

programada. No es lo mismo que exactitud, la repetitividad mide las variaciones de la

Programación de Robots Industriales 6

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

esempeñarse en su campo

región del espacio definida por el alcance del robot. arreglo de los miembros rígidos y las articulaciones en el robot, que

qué tan rápido se puede mover el punto terminal del robot. Cuando se mueven

puede alcanzar una articulación cuando se está

Qué tan cerca o con qué precisión puede el robot alcanzar una determinada posición. Este parámetro puede variar dependiendo de la velocidad, el peso manipulado, y la

Con qué precisión puede el robot retornar a una posición previamente mide las variaciones de la

Page 7: Robotica

Programación de Robots Industriales 7

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

exactitud a través del tiempo. Un ejemplo, si un robot se le pide retornar a una posición previamente programada, la repetitividad será la desviación estándar de las diferencias de posición en las tres dimensiones.

• Control de Movimiento: Control no sólo en cuanto a las posiciones, sino también en cuanto a la velocidad del movimiento.

• Fuente de Poder: naturaleza de los actuadores principales del robot: hidráulicos o eléctricos.

• 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 máxima, su punto terminal puede tener una variación 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 sólo los robots industriales han conseguido aumentar niveles de producción dejando verdadera ganancia a sus dueños. Se citarán únicamente las referencias industriales de esta historia.

Las primeras patentes en robots industriales datan de 1954, de la compañía Unimation. Las máquinas de la compañía Unimation fueron originalmente llamadas máquinas de transferencia programables, ya que su principal función era mover objetos desde una posición a otra. La mayoría de los actuadores eran hidráulicos.

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. Sólo 100 se utilizaban en tareas de ensamblado

1982 - GMF Robotics fue creada en 1982 por GM y Fanuc con el propósito de desarrollar robots para la industria del automóvil. Poco a poco, la operación se fue ampliando y, en la actualidad, vende robots para clientes que no guardan ninguna relación con la automoción ...GMF Robotics fue creada en 1982 por GM y Fanuc con el propósito de desarrollar robots para la industria del automóvil. Poco a poco, la operación se fue ampliando y, en la actualidad, vende robots para clientes que no guardan ninguna relación con la automoción, en sectores tales como la preparación de alimentos y la fabricación de ordenadores.

En adelante ha habido pocos adelantos en robots industriales, el número de las compañías se ha incrementado, pero casi todas mantienen los tres esquemas básicos para los robots industriales: articulados, SCARA, y Cartesianos.

Page 8: Robotica

Programación de Robots Industriales 8

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 todavía no alcanzan niveles rentables.

Mercado: Marcas Reconocidas de Robots:

KUKA Roboter GmbH:

Compañía fundada en 1973 con el lanzamiento del primer robot: Famulus Robot, se trataba del primer robot del mundo con seis ejes de accionamiento electromecánico. El nombre de la compañía 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 automatización para sectores que abarcan industrias tan diferentes como las del automóvil, metales, alimentos y plásticos.

FANUC:

Compañía dedicada a la automatización, originalmente fundada en Japón en 1972 dedicada a la manufactura especializada en robótica. Es uno de los más grandes productores de robots industriales. Tuvo sus inicios siendo parte de fujitsu desarrollando servosistemas y sistemas de control numérico, tiene subsidiarias en América y Europa. Su nombre proviene de Factory Automatic Numerical Control.

MOTOMAN ROBOTS:

Subsidiaria en Estados Unidos de la compañía 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 diseño muy parecido a las extremidades superiores humanas.

Mitsubishi:

División relativamente nueva de la gran compañía Mitsubishi. Los robots Mitsubishi son comercializados bajo la marca Melfa. La división se dedica a la producción de Robots articulados y robots SCARA. Su alianza con FESTO le ha abierto nuevas oportunidades.

Page 9: Robotica

Programación de Robots Industriales 9

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

COORDINACIÓN DE UNA APLICACIÓN CON ROBOTS

Page 10: Robotica

Programación de Robots Industriales 10

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

2. COORDINACIÓN DE UNA APLICACIÓN CON ROBOTS (POSICIONES)

Para la ambientación en la programación de robots se iniciará con el paquete de simulación CIRUS Robotics. Para abrir el paquete de clic en la línea sombreada en la figura de al lado. Esta acción 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 aplicación, el primer paso es crear un proyecto en File→New→Project Wizard

Un proyecto en este software significa todo el conjunto de situaciones particulares acerca de la simulación que se va a correr. Se abrirá una serie de ventanas que recopilará esta información.

Page 11: Robotica

Programación de Robots Industriales 11

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

La primera ventana recopila información acerca del nombre del proyecto. Proporcione el nombre que considere conveniente, en Program Name escriba una secuencia corta de letras mayúsculas y números. 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 ubicación que ha dado en esta etapa de la definición del proyecto.

La ventana siguiente pedirá información 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á después.

Presione finish para iniciar con el proyecto de simulación.

Page 12: Robotica

Programación de Robots Industriales 12

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Le aparecerán en la pantalla de la aplicación cuatro ventanas con información acerca de su proyecto. La ventana superior izquierda muestra al robot que usted escogió, otra ventana muestra el listado de posiciones, otra muestra las líneas de comando del programa principal del robot y una tercera ventana muestra los mensajes de alarma del sistema.

A continuación se muestra la pantalla principal de un proyecto recién 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 inicialización del proyecto.

Page 13: Robotica

Programación de Robots Industriales 13

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

VISUALIZACIÓN DEL ROBOT

Haga clic en la ventana del robot para que la atención de la aplicación 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 más grande o más pequeña según su percepción personal lo requiera. También puede escoger en el menú View las opciones Zoom In y Zoom Out para aumentar o disminuir el tamaño del objeto. Puede moverse dentro de la ventana escogiendo Move en el menú View o

presionando el botón e inmediatamente yendo a la ventana, haciendo clic y moviéndose al punto de vista deseado.

Puede rotar la vista escogiendo Rotate en el menú View o presionando el botón e inmediatamente yendo a la ventana, haciendo clic y rotando al punto de vista deseado.

Explore el menú View para que se sienta cómodo al trabajar en la programación del robot que ha escogido.

Page 14: Robotica

Programación de Robots Industriales 14

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 gráfica intente todos los movimientos y compruebe los alcances de cada una de las articulaciones. También puede variar la velocidad de los movimientos del robot utilizando el control

A mayor porcentaje, más velocidad. 100% es la velocidad máxima. Puede abrir y cerrar las mordazas del robot presionando el botón Close Hand (al cerrar la pinza el botón 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 posición hasta otra llevando algo en ella. Hacer este desplazamiento moviendo una articulación a la vez le resultará muy difícil y tedioso. Afortunadamente hay otra manera de mover al robot todo a la vez cuidando la inclinación de la pinza constante durante todo el trayecto. Este es el modo XYZ

Page 15: Robotica

Programación de Robots Industriales 15

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 línea recta en X, en Y y en Z.

¿Cuáles son los ejes x, y, z?

La mano derecha brinda un recurso mnemotécnico fácil de comprender. Al poner el dedo índice, el medio y el pulgar de la mano derecha perpendiculares entre sí, podemos ver la representación del lado positivo de los ejes x, y z:

Expliquemos esto con más detalle:

• El índice apunta en la dirección y sentido positivo del eje X. • El dedo medio apunta en la dirección y sentido positivo del

eje Y. • El pulgar apunta en la dirección 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 visualización.

Mueva el robot trazando un cuadrado alrededor de él, esto lo logrará fácilmente utilizando los controles X e Y. Note que existen límites para el movimiento rectilíneo, ya que el robot no puede alcanzar todos los puntos de la línea recta, algunos le resultarán muy lejanos (las esquinas del cuadrado) y algunos le resultarán tan cercanos que sus articulaciones no podrán proporcionar el punto sin antes cambiar la posición de las articulaciones.

Page 16: Robotica

Programación de Robots Industriales 16

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Modo JOINT

Al usar el modo Joint se abre la posibilidad de mover individualmente cada articulación 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 articulación en cada sentido. Utilice este tipo de control cuando necesite desarrollar movimientos de alta complejidad que incluyen inclinación o direccionamiento específico 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) conservaría su inclinación y sentido y que se movería siguiendo en forma paralela los ejes cartesianos absolutos. El modo Tool también 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 inclinación 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á seguirán paralelamente los ejes inclinados que definen la extremidad final del robot.

Page 17: Robotica

Programación de Robots Industriales 17

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

La figura de al lado muestra los ejes a lo largo de los cuales se movería 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 dirección y sentido particular.

DEFINICIÓN DE POSICIONES EN UN ROBOT INDUSTRIAL

La programación de rutinas de un robot se basa en posiciones. El robot se moverá desde una posición inicial a una posición final en cada uno de sus movimientos. Algunas posiciones están definidas para realizar una labor específica en la posición, 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 posición, y otras son simplemente el punto neutral entre muchas posiciones.

Ejemplo de guardado de posiciones:

Se ubicará la pinza del robot en la posición inicial en el plano de referencia horizontal (lo que la visualización representa como el piso) cualquier ubicación que sea en z=0. Se guardará esta posición 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 botón .

Si usted recién acaba de iniciar un proyecto usted tendrá en la pantalla principal la ventana del listado de posiciones, y en ella aparecerá la información de la posición que acaba de dar. Las posiciones en la tabla de posiciones quedan definidas como una serie de 6 coordenadas:

Page 18: Robotica

Programación de Robots Industriales 18

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

(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 manipulación del robot.

Las coordenadas Roll, Pitch, Yaw definen la orientación del elemento terminal en cuanto a la rotación del elemento en el eje X, Y y Z, y sus unidades son grados.

La primera componente define la rotación del elemento terminal alrededor del eje X, la segunda componente define la rotación del eje.

En el caso del robot auxiliar del CNC la última orientación C indica el desplazamiento lineal.

Si es ese su caso, le aparecerá una ventana con la información de la posición. Dé doble Clic en la línea que tiene la posición que acaba de guardar. Aparecerá una ventana como la que se muestra:

Page 19: Robotica

Programación de Robots Industriales 19

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 posición bastante alto y asígnele un nombre que tenga significado para el proceso que está por desarrollar.

Posiciónese en la ventana que muestra las posiciones, y presione el botón guardar en la barra de herramientas superior. Si usted recién 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 recién 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 definición 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 EXTENSIÓN (.POS , .MB4) . DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARÁN COMO INFORMACIÓN COMPLEMENTARIA.

Con las posiciones guardadas, podemos proceder ahora a desarrollar el primer programa de secuencias de movimiento del robot.

PROGRAMACIÓN BÁSICA DE UN ROBOT INDUSTRIAL

La programación del robot Mitsubishi usado en los laboratorios de Mecatrónica de la Universidad Don Bosco usan el lenguaje Melfa Basic IV. Como casi cualquier otro lenguaje de programación, se trata de una secuencia ordenada de instrucciones donde cada línea contiene una sentencia y cada sentencia está compuesta principalmente por un comando y uno o más parámetro que complementan la acción 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 diálogo 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 opción que se muestra:

Page 20: Robotica

Programación de Robots Industriales 20

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Con lo anterior se abrirá la ventana para la edición de programas.

El primer programa consistirá en mover al robot desde la posición 1 a la posición 2 y regresar nuevamente a la posición 1, repetir el procedimiento y finalizar en la posición 3.

El programa se muestra a continuación y consta de dos comandos:

Comando DEF y el modificador POS seguido del nombre asignado a la una posición 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 posición (el sistema lo buscará dentro del archivo de las posiciones). La secuencia de caracteres debe tener una secuencia máxima de 4 caracteres alfabéticos y los siguientes caracteres numéricos.

Comando MOV define un movimiento necesariamente lineal desde la posición actual hasta la posición definida por el nombre de la posición a continuación del comando.

El primer programa quedaría de la siguiente manera:

10 DEF POS LOC1 20 DEF POS LOC2 30 DEF POS LOC3 40 MOV LOC1 50 MOV LOC2 60 MOV LOC1 70 MOV LOC2 80 MOV LOC2 90 END

Existe la opción 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 mayoría de colocaciones de piezas deben ser manipuladas de esta manera (colocar un tornillo, un eje

Page 21: Robotica

Programación de Robots Industriales 21

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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: Para compilarlo:

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

Se le abrirá un cuadro de diálogo que preguntará la ubicación del archivo con extensión .MB4 LOS NOMBRES DEL ARCHIVO DE POSICIONES Y DEL ARCHIVO DEL PROGRAMA DEBEN SER IGUALES, SU UNICA DIFERENCIA DEBE SER LA EXTENSIÓN (.POS , .MB4) . DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARÁN COMO INFORMACIÓN COMPLEMENTARIA.

Escoja la secuencia:

Y luego en la ventana que emerge escoja Add:

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

Page 22: Robotica

Programación de Robots Industriales 22

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

En el menú Programming se escoge la opción Project Management. Con lo anterior se abre la una ventana llamada Project Management, y dentro de la ventana, en la pestaña Project se presiona el botón 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.

Page 23: Robotica

Programación de Robots Industriales 23

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

PROGRAMACIÓN AVANZADA DE ROBOTS INDUSTRIALES.

La programación de robots atiende a procesos que muchas veces son repetitivos y monótonos. Un programa ordinario de movimientos a través de distintas posiciones resultaría muy largo si no se contara con otros comandos para dirigir el curso del programa por líneas repetitivas.

A continuación se presenta una serie de comandos que hacen más fácil la programación 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 línea en la cual indica el número a continuación 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 botón de STOP en la barra de tareas.

10 MOV POCISION1 20 MOV POSICION2 30 MOV POSICION1 40 MOV POSICION2 50 MOV POSICION3 60 GOTO 10 70 END

Instrucción FOR-NEXT

Existe la posibilidad de mantener un lazo repetitivo de instrucciones que se repite un número 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 número determinado de veces. Se define la sentencia de inicio- reinicio de la secuencia, y la secuencia de retorno.

Sentencia Inicio: FOR VariableControl = ValorInicio TO ValorFinal STEP Intervalo Sentencias a Desarrollar:

Cualquier set de instrucciones numeradas entre la Sentencia de Inicio y la Sentencia de Retorno.

Sentencia de Retorno:

NEXT VariableControl

Page 24: Robotica

Programación de Robots Industriales 24

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 línea que contiene las sentencias FOR … TO… STEP

• Al regresar de nuevo a la línea NEXT incrementará de nuevo el valor de VariableControl.

¿Cuántas 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 FOR X = 1 TO 10 20 MOV POCISION1 30 MOV POSICION2 40 MOV POSICION1 50 MOV POSICION2 60 MOV POSICION3 70 NEXT X 80 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 línea NEXT y pasar a 11 ya no regresará sino que pasará a la instrucción siguiente, que en este caso es END

PAUSAS EN EL PROGRAMA

Se puede detener momentáneamente la ejecución de la secuencia de instrucciones con ayuda de otra instrucción que ordene pausar la ejecución durante un período de tiempo específico. El comando DLY seguido de un espacio y un número entero ordena la cantidad de segundos que durará la pausa. A continuación se muestra el programa inicial de esta guía, pero esta vez mantiene una pausa de 2 segundos después de cada movimiento.

Page 25: Robotica

Programación de Robots Industriales 25

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 línea 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 #Posición, distancia faltante en Z (en las coordenadas del elemento terminador) para llegar a #Posición

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

Page 26: Robotica

Programación de Robots Industriales 26

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MOVIMIENTO EN INTERPOLACIÓN CIRCULAR (DESCRIBIENDO ARCOS DE CÍRCULO)

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 rectilíneos o bien describiendo una trayectoria circular.

En la aplicación 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 líneas no rectas.

El comando para realizar esta operación 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 círculo.

• Punto Final es el punto donde termina el arco de círculo.

Al momento de trazar la trayectoria circular el sistema de control del robot dibuja el arco de círculo que intercepta a los tres puntos, el cual sólo puede ser parte de un círculo específico. 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

Page 27: Robotica

Programación de Robots Industriales 27

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

OTRAS INTRUCCIONES DEL LENGUAJE:

Comentarios:

Los comentarios los puede escribir, después del número de línea, 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 condición planteada a continuación de la palabra IF. Si no se cumpliera la condición es posible añadir una nueva opción de instrucciones seguida de la palabra ELSE. Este set de condicionales puede ser utilizado en una sola línea (para ejecutar un solo comando) o puede ser declarada para ejecutar varias líneas hasta que el programa encuentre la palabra ENDIF.

A continuación se da un ejemplo de la declaración del condicional en una sola línea. 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 instrucción siguiente es un número se asume un GOTO #) Para utilizar este condicional en varias líneas, la línea de comando que tiene el IF … THEN debe de terminar con la palabra THEN sin ningún otro comando que le siga, de esta manera el programa asumirá que si y sólo si la condición se cumple, debe de ejecutar las líneas siguientes hasta encontrar la palabra ENDIF que identifica el fin de las instrucciones del condicional. Para una mejor comprensión se brinda el siguiente ejemplo.

100 IF M1 > 10 THEN 110 M1 = 10 120 MOV P1 130 ELSE 140 M1 = -10 150 MOV P2 160 ENDIF

Page 28: Robotica

Programación de Robots Industriales 28

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

SELECT – CASE – BREAK

Ejecuta una o varias sentencias cuando la variable seleccionada toma el valor que se define a continuación de la palabra CASE.

La primera instrucción (SELECT) define la variable a evaluar. Se escribe: SELECT {variable}

La instrucción CASE puede ser utilizada cuantas veces sea necesario en el programa. Cada instrucción CASE definirá un valor que la variable seleccionada puede tomar.

El conjunto de instrucciones CASE – BREAK ejecuta las sentencias que están entre ambos comandos si y solo si se cumple que la variable definida en CASE toma los valores a continuación 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 están entre ambos comandos si ninguna de las condiciones que definieron los CASE se cumple.

Al final de las múltiples evaluaciones es necesario terminar con una sentencia END SELECT para indicar al programa que ya no se evaluará más la variable escogida con el SELECT

SELECT <Expresión>

CASE <Expresión>

[<Proceso>]

BREAK

DEFAULT

[<Proceso>]

BREAK

END SELECT

Ejemplo:

10 SELECT MCNT 20 M1 = 10 'This line is not executed 30 CASE IS <= 10 'MCNT <= 10 40 MOV P1 50 BREAK 60 CASE 11 'MCNT = 11

Page 29: Robotica

Programación de Robots Industriales 29

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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

Lazos:

Además del lazo FOR-NEXT visto anteriormente se tiene el lazo WHILE-WEND que repite las instrucciones contenidas entre las líneas que contienen a ambas sentencias mientras se cumpla la condición descrita a continuación de la sentencia WHILE.

Ejemplo:

50 WHILE M_IN(3)=1 60 M_IN(3) = M_IN(3) + 1 70 MVS M_IN(3) 80 WEND

Espera por un valor de variable

Espera el cambio de una variable para ejecutar una instrucción.

WAIT(<Valor numérico>) = <Constante numérica>

Ejemplo:

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

Page 30: Robotica

Programación de Robots Industriales 30

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Subrutinas

Dirige la ejecución del programa hacia una determinada línea o etiqueta. Cuando el programa encuentra la sentencia RETURN retorna la ejecución del programa a la línea siguiente a la cual se le hizo el llamado.

GOSUB # de línea de programa

RETURN

Si se quiere colocar una etiqueta en lugar de la línea 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 número del manipulador generalmente es 1 (cuando no existe otro elemento manipulador) Puede consultar Modeling→Model Explorer para verificar el número de manipulador que se tiene en el proyecto actual.

HOPEN/HCLOSE <#del manipulador>

10 HOPEN 1 20 CLOSE 1

TÉCNICAS DE PROGRAMACIÓN PARA INCORPORAR DESTREZA AL PROGRAMA

Puede que un programa guiado sólo por posiciones finales genere movimientos torpes que no cumplan el objetivo del proceso con la destreza requerida. A continuación se presentas algunas técnicas que ayudan a que los procesos se desarrollen con un grado de precisión y maestría que evitan pequeños errores y torpezas.

Page 31: Robotica

Programación de Robots Industriales 31

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

POSICIÓN INICIAL, FINAL Y DE ACERCAMIENTO.

Cuando interesa mover al robot desde una posición inicial a una posición final el trayecto rectilíneo puede no ser la mejor opción. Puede haber otros elementos que impidan el avance en línea recta, o puede ser necesario llegar a la posición 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 más posiciones:

1) Una posición inicial. 2) Una posición de acercamiento. 3) Una posición final.

En la figura siguiente se muestra un movimiento desde una posición superior hasta una a una altura intermedia, pero con la modalidad específica que para llegar a la posición final se llega en un movimiento horizontal.

La figura marcada con la flecha es la posición de acercamiento, primero se llega desde la posición a la posición de acercamiento, y luego se desplaza desde la posición de acercamiento a la posición final, haciendo posible que el desplazamiento a la posición final sea horizontal.

Una ayuda importante para definir posiciones de acercamiento la brinda el comando MOV. En aplicaciones de colocación de piezas sobre superficies o compartimientos horizontales, el comando MOV puede alterar su posición su posición 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

Page 32: Robotica

Programación de Robots Industriales 32

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 número después de la coma indica cuantos milímetros deberán restarse a la posición final. Como se quiere posicionar arriba de la posición POSICION1, se da un número negativo (para que al restarse a la posición original se convierta en positivo)

POSICIÓN DE REFENCIA (HOME)

Es saludable que exista una posición de HOME para la operación del robot. ¿Por qué? Dado que los robots realizan trabajos rutinarios, es bueno que exista una referencia para iniciar o terminar cualquier operación.

Si se define una posición de HOME, para que cualquier operación comience y termine con ella, será más fácil concatenar operaciones, ya que aunque las operaciones sean completamente distintas, la posición de HOME brinda un eslabón para amarrar todas las operaciones sin que existan movimientos bruscos entre las operaciones.

¿Qué posición es deseable para HOME?

No hay ninguna regla específica, puede tratarse de una posición que quede como punto intermedio a todos los posibles movimientos en todas las posiciones. Puede ser también una posición en la cual el robot interfiere menos con otros elementos móviles o fijos del entorno industrial dónde se encuentra. Puede ser una posición de seguridad en la cual no ocasiona peligro para nadie.

¿Cuándo se ubica el robot en la posición HOME?

Después de cada operación.

Recordemos que cada operación puede ser definida con un programa. Lo ideal es que toda operación tenga como punto de partida la posición 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 más fácil la incorporación de nuevas rutinas o programas sin necesidad de alterar los ya existentes.

Page 33: Robotica

Programación de Robots Industriales 33

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MANEJO DE OBJETOS VIRTUALES

Page 34: Robotica

Programación de Robots Industriales 34

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

3. MANEJO DE OBJETOS VIRTUALES.

Como bien suponemos, El objetivo de la operación del robot no sólo es el movimiento de sí mismo por sí mismo. Se pretende manipular objetos. CIROS Robotics en efecto puede hacer algo más que simular un robot, puede también simular objetos físicos.

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 división 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 categoría escoja BOX Presione el botón Add Presione el botón Close.

Page 35: Robotica

Programación de Robots Industriales 35

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Regrese a la ventana de Model Explorer En el Explorador del modelo ubíquese 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 Sección General puede cambiar nombre al objeto.

En la sección Pose puede mover el objeto en el espacio visible avanzando por pasos. Defina el tamaño en el campo increments.

En la sección Visualization puede cambiar el color del objeto creado, y aun definir características 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 añadir 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.

Page 36: Robotica

Programación de Robots Industriales 36

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Para definir un grip-point, abra el Model-Explorer y expanda Objects, Box (o el nombre que asignó al objeto recién 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. También puede alinear el grip point con el objeto mismo en el apartado Pose.

El Grip Point como espacio donde actúa 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, muévalo 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 (botón 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.

Page 37: Robotica

Programación de Robots Industriales 37

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 dónde lo han dejado. Tome en cuenta este hecho en el momento de hacer movimientos de objetos virtuales.

Coloque otro objeto, puede ser de forma cilíndrica o un cubo de otro color, en una posición no muy cercana al anterior y determine la posición 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 posición los dos objetos creados anteriormente, utilizando para ello una posición intermedia.

Page 38: Robotica

Programación de Robots Industriales 38

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MANEJO DE UN SISTEMA PALLETIZADO

Page 39: Robotica

Programación de Robots Industriales 39

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

4. MANEJO DE UN SISTEMA PALLETIZADO

Cuando se trabaja en procesos industriales la colocación de los productos en un arreglo ordenado es parte de los pasos finales de producción. Definir una matriz horizontal de puntos para la colocación de los productos terminados precisando posiciones individuales puede ser un proceso largo y tedioso.

El lenguaje Melfa Basic 4 puede ayudar a simplificar la construcción de una matriz de posiciones utilizando una sola línea de comando para su definición y un solo identificador acompañado de un número 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 punto de Inicio • El punto final en B • El punto final en A • El punto Diagonal

Y además se definen el número de posiciones que la matriz va a tener en el eje A y en el eje B (este número incluye al punto de inicio y al punto final)

La línea de comando que define la matriz se muestra a continuación:

DEF PLT {No pallet}, {punto inicio}, {punto final A}, {punto final b},

{punto diagonal}, {posiciones en A}, {posiciones en B},

{asignación de dirección}

A continuación se explica el significado de los parámetros del comando:

� {No. Pallet} es un número 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 dirección A � {punto final B} son las coordenadas del punto final en la dirección B � {punto diagonal} son las coordenadas del punto final diagonalmente opuesto al punto

inicio.

Page 40: Robotica

Programación de Robots Industriales 40

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

� {posiciones en A} es el número de posiciones que la matriz tiene en la dirección 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 número de posiciones que la matriz tiene en la dirección B (melfa Basic 4 entiende que todas las posiciones son equidistantes y que éstas incluyen la inicial y la final)

� {asignación de dirección} es la forma en la cual se van a leer las posiciones de la matriz, teniendo como posición 1 el punto inicio. El significado de este parámetro se muestra a continuación:

o 1 = Zigzag. (camino sinuoso, una línea comenzando a la izquierda, la siguiente a la derecha, la siguiente a la izquierda ...)

o 2 = la misma dirección en cada línea. (la primera línea comienza en la posición inicial, la segunda en la posición justo encima de la posición inicial…)

Una vez definida la matriz de posiciones del pallet se llama a cada posición igualando una variable de posición (la cual ha sido definida como tal al principio del programa) a una posición específica del pallet. Dicha posición se llama de la siguiente manera:

PLT {No.Pallet}, {No. De Posición}

El siguiente ejemplo define un pallet de 2 x 3 posiciones y hace una rutina moviéndose 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

Page 41: Robotica

Programación de Robots Industriales 41

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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

OTRO EJEMPLO:

El paletizado se usa cuando se tiene un almacén físicamente simétrico 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 (máximo 8 lugares) desde donde se tomarán los objetos o a donde se dejarán, 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 número de localidad:

50 DEF INTE <nombre>

A continuación se define una variable que almacena la posición:

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 posición = PLT 1, <variable de posición> y se guarda el objeto en esa variable y luego se ejecuta NEXT

Page 42: Robotica

Programación de Robots Industriales 42

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 POSICIÓN 180 PPALLET = PLT 1, NUMPOS 190 MOV PPALLET, -50 ‘Acercamiento a posición 200 MVS PPALLET ‘Movimiento lineal a la posición 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.

Page 43: Robotica

Programación de Robots Industriales 43

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

SISTEMAS DE MANIPULACIÓN CON VECTORES

Page 44: Robotica

Programación de Robots Industriales 44

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

5. SISTEMAS DE MANIPULACIÓN CON VECTORES

Antes de comenzar con la sección de programación en esta guía, se mostró la manera de definir posiciones estáticas para mover el robot a cualquiera de esas posiciones. Existe una manera de definir posiciones durante la ejecución del programa, de manera que éstas puedan cambiar a lo largo del programa.

La costura tradicional es un ejemplo de posiciones dinámicas, ya que tiene una misma posición inicial, una misma posición intermedia y una misma posición final, pero cada una de las posiciones va variando a lo largo de la línea de la costura, es decir que la posición cartesiana varía sólo en una coordenada a lo largo de cada puntada.

Para definir una posición dinámica se necesitan dos instrucciones básicas:

Una Sentencia de Declaración:

DEF POS PosicionDinamica1

Una Sentencia de

Asignación de valores que puede ser cualquiera de

las siguientes:

PosicionDinamica1= (X,Y,Z,Roll,Pitch,Yaw) PosicionDinamica1 = PosicionEstática PosiciónDinamica1 = PosicionDinamica2 + PosicionDinamica3

Aclaraciones:

• La posición Dinámica o vector puede ser definido cuantas veces sea necesario, cada vez tendrá el valor de la última asignación y su número de elementos dependerá del número de articulaciones que tenga el robot.

• La posición también puede ser definida por sus coordenadas separadas por comas y dispuestas entre paréntesis.

• También puede ser definida como simplemente igual a una posición estática. • Se puede definir también como la sumatoria de varias posiciones, en este caso las

coordenadas de la posición serán iguales a la suma de las coordenadas de cada una de las posiciones que la definen.

EJEMPLO EN PROGRAMA

A continuación se muestra un programa ejemplo que pone al robot a definir una ruta en Zigzag. A lo largo de una línea imaginaria en X , Z = valores constantes.

Para iniciar el programa es necesario definir una posición inicial estática desde la cual va a iniciar todo el proceso, ésta se define como INICIO dentro del modo Teach de programación del robot.

Page 45: Robotica

Programación de Robots Industriales 45

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Cada punto del Zigzag tiene las posiciones:

Posición inferior: PINF = (ValorX, ValorY, ValorZ, 0, 0, 0)

Posición Superior : PSUP = (valorX, ValorY, ValorZ, 0, 0, 0)

Los valores de ValorX, ValorY y ValorZ se toman de las coordenadas que muestra la posición INICIO.

Se define la declara ANCHO para definir el ancho de la puntada. Para esto se declara ANCHO como una variable que almacena un número entero y luego se le asigna un valor de 5

Declaración de Variable:

DEF INTE INICIO

Asignación de valor: INICIO = 5

También vamos a declarar una variable que se sumará a las otras para definir el avance de la puntada

Una vez definida la posición 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 comprensión del programa:

El programa inicia con la posición INICIO. Desde ahí se moverá al primer punto de la costura y luego al siguiente.

Page 46: Robotica

Programación de Robots Industriales 46

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

El programa hace 15 puntadas, por este motivo hay un set FOR – TO – NEXT con 15 vueltas en total.

El programa va cambiando dinámicamente las posiciones PINFERI Y PSUPERI cambiando su valor en Y en incrementos de 5, para esto se le suma la posición AVANCE.

Ejemplo usando vectores para definir la posición 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

Page 47: Robotica

Programación de Robots Industriales 47

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MANEJO DE ENTRADAS Y SALIDAS

Page 48: Robotica

Programación de Robots Industriales 48

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

6. MANEJO DE ENTRADAS Y SALIDAS

Dispositivos de Entrada para la programación de Robots

En toda aplicación robótica no se trabaja haciendo caso omiso al entorno. Es necesario mantener un contacto con el entorno para estar seguro que las tareas que se están desempeñando tienen una repercusión adecuada en el ambiente de trabajo.

Es posible incluir en los programas de operación 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 detección de un cuerpo cercano por medio de sensores de proximidad.

La detección del estado de un sensor digital o analógico, tal como un sensor analógico para detectar niveles de fluidos, presión, temperatura, etc.

La primera acción a realizar es incorporar el sensor al modelo que está armando.

Para ingresar dentro de su sistema un sensor, vaya a Modeling→Model Libraries

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

Existen variedad de sensores que pueden ser incorporados, algunos de ellos, los más usados son los siguientes:

• Capacitive Sensor. • Color Sensor. • Distance Sensor. • Inductive Sensor. • Light Barrier. • Mechanical Switch • Reflex Light Barrier.

Page 49: Robotica

Programación de Robots Industriales 49

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 opción Properties. Se desplegará la ventana que se muestra a continuación:

Configure en General, el nombre del sensor, en Pose, la posición del sensor, y en dimensión el tamaño del dispositivo.

Page 50: Robotica

Programación de Robots Industriales 50

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 opción 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 continúe 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 leídas por las instrucciones de un programa y servir como variables de control para controlar el desarrollo del programa.

Page 51: Robotica

Programación de Robots Industriales 51

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 recién ha creado a uno de los inputs que aún no tienen uso en el robot (que están marcados como inactive).

Si se ubica en el Model Explorer en el input que recién 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 leídas invocando la manera cómo el compilador Melfa Basic 4 las tiene identificadas.

Variables de entradas del robot Variables de salida del Robot

M_IN(0) M_OUT(0)

M_IN(1) M_IN(1)

… …

M_IN(N) M_OUT(N)

Existen algunas variables de Entrada y Salida que ya están asignadas y no pueden ser alteradas, estas se muestran a continuación:

Page 52: Robotica

Programación de Robots Industriales 52

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Variable de Entrada:

Estado reservado a ella.

Variable de Salida:

Estado reservado a ella.

M_IN(0) Stop M_OUT(0) Running

M_IN(1) Servo Off M_OUT(1) Servo On

M_IN(2) Error Reset M_OUT(4) Abrir Pinza

M_IN(3) Start M_OUT(5) Cerrar Pinza

M_IN(4) Servo On

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 parámetro llamado Index asociado a él, este valor Index es el que se usará entre paréntesis 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 ocasión, 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 líneas 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 designación},{Numero de Input/output}

El nombre de la variable puede contener hasta 8 caracteres.

El tipo de designación puede ser BIT, BYTE, WORD o INTEGER. Ello dependerá del tipo de sensor que se tenga.

El Número 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

Page 53: Robotica

Programación de Robots Industriales 53

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 decisión sobre la ejecución del programa. El siguiente ejemplo de sentencia de lectura y decisión 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 posición P1 y la pasea por todo el pallet.

Hay un sensor inductivo incorporado en la posición (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 evalúa el estado de la salida del sensor cada vez que posiciona la caja y el elemento terminal en cada posición 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 continuación:

10 DEF POS PLTPOS 20 DEF IO SENSOR1 = BIT,6 30 MOV PHOME 40 MOV P1 50 HCLOSE 1 60 DEF PLT 1,PINIC,PFINA,PFINB,PDIAG,2,3,2

Page 54: Robotica

Programación de Robots Industriales 54

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 EJECUCIÓN DEL PROGRAMA 200 END

Es necesario hacer una aclaración:

Dependiendo de la versión 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 ferromagnético. Para que la simulación sea completa es necesario agregarle una cara de material ferromagnético 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.

Page 55: Robotica

Programación de Robots Industriales 55

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

En el apartado General, asegúrese que las dimensiones de la superficie sean las de la caja (100 x 100) y en el apartado Material, asegúrese que el material sea “Robot Steel” para que sensor detecte la presencia de la lámina.

La posición de la lámina 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 también mandar los valores de variables u otros parámetros 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 extensión .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 línea 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 impresión en el archivo una determinada frase, palabra o valor de una variable. Como ejemplo se puede dar la impresión de una frase seguido de la impresión de una variable, la sintaxis es PRINT #{No. de Archivo}, {variable o frase a imprimir}:

30 PRINT #1, “A continuación va el valor de la entrada del robot conectada al sensor”

40 PRINT #1, M_IN(6)

Page 56: Robotica

Programación de Robots Industriales 56

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

3. Cerrar el archivo en el cual se está escribiendo con la palabra CLOSE seguida del número 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 desempeño del robot a lo largo de una jornada de trabajo, o cuando se desea depurar un programa registrando el estado de las variables según va desarrollándose el programa.

Lectura de datos desde un Archivo Texto.

También 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 leído desde el principio hasta el final leyendo una línea 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 código ASCI de fin de línea.

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 línea 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 línea 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 número del archivo que se le ha asignado. Por ejemplo:

Page 57: Robotica

Programación de Robots Industriales 57

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

90 CLOSE #1

Entrada/salida en un puerto COM RS-232

Es posible también 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 parámetros:

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.

Page 58: Robotica

Programación de Robots Industriales 58

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

COMUNICACIÓN DEL ROBOT, MANEJO DE I/O, Y OTRAS APLICACIONES

Page 59: Robotica

Centro de Tecnologías Aplicadas a la

7. COMUNICACIÓN DOTRAS APLICACIONES.

APLICACIÓN DEL ENTRENAMIENTO VIRTUAL EN LA PROGRAMACIÓN DE ROBOTS REALES

Todo el material que se ha visto en sistemas robóticos virtuales puede ser llevado a la práctica en robots reales. Los principios de opintroducción de parámetros puede cambiar un poco. A continuación se muestran las secuencias necesarias para aplicar el conocimiento de operación y programación 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 estación de ensamble y el otro en la estación de acople al CNC.

Para realizar las prácticas con los robots necesitamos los sigui

Componentes necesarios para realizar las prácticas con los robots industriales.

.

Además de los lenguajes de programación:

• Melfa Basic IV: Lenguaje de programación

• Ciros Robotics: Ambiente virtual de simulación

En esta práctica no se utilizará el software de programación, solamente el hardware para el

Programación de Robots Industriales

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

COMUNICACIÓN DEL ROBOT, MANEJO DE I/O, Y OTRAS APLICACIONES.

APLICACIÓN DEL ENTRENAMIENTO VIRTUAL EN LA PROGRAMACIÓN DE ROBOTS REALES

Todo el material que se ha visto en sistemas robóticos virtuales puede ser llevado a la práctica en robots reales. Los principios de operación son prácticamente idénticos, pero la manera de introducción de parámetros puede cambiar un poco. A continuación se muestran las secuencias necesarias para aplicar el conocimiento de operación y programación de robots en los modelos

El sistema industrial de Manufactura Integrada por Computadora iCIM3000 posee dos robots

industriales, uno en la estación de ensamble y el otro en la estación de acople al CNC.

Para realizar las prácticas con los robots necesitamos los siguientes elementos:

Componentes necesarios para realizar las prácticas con los robots industriales.

Además de los lenguajes de programación:

Melfa Basic IV: Lenguaje de programación

Ciros Robotics: Ambiente virtual de simulación

ilizará el software de programación, solamente el hardware para el

Programación de Robots Industriales 59

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

EL ROBOT, MANEJO DE I/O, Y

Todo el material que se ha visto en sistemas robóticos virtuales puede ser llevado a la práctica eración son prácticamente idénticos, pero la manera de

introducción de parámetros puede cambiar un poco. A continuación se muestran las secuencias necesarias para aplicar el conocimiento de operación y programación de robots en los modelos

El sistema industrial de Manufactura Integrada por Computadora iCIM3000 posee dos robots

industriales, uno en la estación de ensamble y el otro en la estación de acople al CNC.

Componentes necesarios para realizar las prácticas con los robots industriales.

ilizará el software de programación, solamente el hardware para el

Page 60: Robotica

Programación de Robots Industriales 60

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

control de las posiciones del robot industrial, además se verá el modelo RV3SB por ser más

avanzado e incluir todas las características del robot RV-2AJ en el acople del CNC.

El robot RV3SB de Mitsubishi.

Las características del brazo robot RV3SB son las siguientes:

• 6 grados de libertad

• Repetitividad: ±0.02 mm.

• Velocidad máxima: 5,500 mm./s. (limitada a 1,000 mm/s por seguridad para la

enseñanza)

• Peso: 37Kg.

• Alcance: 642 mm.(sin pinza)

Descripción de robot RV3SB de Mitsubishi

Page 61: Robotica

Centro de Tecnologías Aplicadas a la

Alcance del movimiento

El robot RV3SB posee dos sistemas de coordenadas desde los cuales se puede referenciar el

movimiento:

Sistemas de coordenadas disponibles en el robot RV3

Programación de Robots Industriales

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

del movimiento del robot RV3SB de Mitsubishi.

El robot RV3SB posee dos sistemas de coordenadas desde los cuales se puede referenciar el

Sistemas de coordenadas disponibles en el robot RV3SB

Programación de Robots Industriales 61

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

El robot RV3SB posee dos sistemas de coordenadas desde los cuales se puede referenciar el

Page 62: Robotica

Programación de Robots Industriales 62

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

El robot RV3SB permite agregarle un elemento terminal para la manipulación 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 conexión de mangueras neumáticas para el elemento terminal.

La unidad de control CR2B-574.

En la siguiente figura se describe lo más importante de la interfaz del controlador CR2B-574.

Page 63: Robotica

Centro de Tecnologías Aplicadas a la

Unidad de control CR2B

La consola para aprendizaje de posiciones

La consola permite el aprendizaje de nuevas posiciones del robot industrial o la modificación de

las existentes, así como la creación y ejecución de programas en la unidad de control.

Consola para la operación manual del robot indu

Programación de Robots Industriales

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Unidad de control CR2B-574 para el robot Mitsubishi.

ndizaje de posiciones

La consola permite el aprendizaje de nuevas posiciones del robot industrial o la modificación de

las existentes, así como la creación y ejecución de programas en la unidad de control.

Consola para la operación manual del robot industrial.

Programación de Robots Industriales 63

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

La consola permite el aprendizaje de nuevas posiciones del robot industrial o la modificación de

las existentes, así como la creación y ejecución de programas en la unidad de control.

Page 64: Robotica

Programación de Robots Industriales 64

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Programas del robot de la estación de ensamblaje.

La estación de ensamblaje con robot RV3SB posee los siguientes programas ya almacenados en

la unidad de control:

• MAIN.MB4: Programa principal, inicia automáticamente si el controlador está encendido.

• INIT.MB4: Programa de reinicialización.

• ERR.MB4: Programa para el diagnóstico de errores.

• TOUT.MB4: Programa para diagnóstico de tiempo excedido.

• UBP.MB4: Definición de las variables globales.

• COMM.MB4: Programa de comunicación 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 palés 1 de la estación.

Posiciones del programa “MP”.

Page 65: Robotica

Programación de Robots Industriales 65

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “MP”

1 PINIT

2 PPAL(15)

3 PPAL(1)

4 PPAL(2)

5 PPAL(3)

6 PPAL(4)

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

Posiciones del programa “MPH”.

Page 66: Robotica

Programación de Robots Industriales 66

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “MPH”

1 PINIT

2 PPH(5)

3 PPH(1)

4 PPH(2)

5 PPH(3)

6 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”.

Page 67: Robotica

Programación de Robots Industriales 67

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “MINST”

1 PINIT

2 PASM(2)

3 PASM(1)

4 PTEST

5 PFD(1)

6 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”.

Page 68: Robotica

Programación de Robots Industriales 68

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “ASMP”

1 PINIT

2 PPASM

3 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 palés 1 de la estación.

Posiciones del programa “MP” del robot RV-2AJ.

Page 69: Robotica

Programación de Robots Industriales 69

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “MP”

1 PPAL(4)

2 PPAL(3)

3 PPAL(2)

4 PPAL(1)

5 PPAL(15)

6 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.

Page 70: Robotica

Programación de Robots Industriales 70

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del robot para el programa “LMILL”

1 PBP(4)

2 PBP(3)

3 PBP(2)

4 PBP(1)

5 PBP(5)

6 PWAIT 1

7 PWAIT 2

8 PCNC

Posiciones/Tareas del programa “ULMILL” descargar fresadora (unload mill) del robot RV-2AJ.

Este programa sirve sacar una placa base procesada desde la máquina fresadora.

Page 71: Robotica

Programación de Robots Industriales 71

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Posiciones del programa “ULMILL” del robot RV-2AJ.

Posiciones del robot para el programa “ULMILL”

1 PBP(4)

2 PBP(3)

3 PBP(2)

4 PBP(1)

5 PWAIT 1

6 PWAIT 2

7 PCNC

Page 72: Robotica

Programación de Robots Industriales 72

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Eje lineal del robot RV-2AJ.

El controlador del robot RV-2AJ también controla un eje lineal, éste trabaja como el eje 7 del

robot. No hay interruptores físicos, todo es controlado desde el software.

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

PROGRAMACIÓN DE POSICIONES EN ROBOTS MITSUBISHI MELFA.

La manipulación e introducción de posiciones en un robot industrial se efectúa 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 botón rojo de paro de emergencia del tablero de operación que señala la flecha negra.

Page 73: Robotica

Programación de Robots Industriales 73

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Encienda el Módulo 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 botón 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 posición TEACH. Seguidamente ponga la llave en la unidad Teach en la posición 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 botón 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 manipulación del robot es primordial que la velocidad no sea motivo de una colisión accidental. Configure la velocidad del robot a un nivel que sea fácilmente manipulable. Utilice las teclas + y - que se encuentran bajo el botón SVO ON para variar la velocidad de operación del robot.

+ FORWD Aumenta la velocidad del robot

-

BACKWD Disminuye la velocidad del robot.

En la esquina superior derecha de la pantalla verá usted una cifra seguida del símbolo %. Varíe la cifra con las teclas antes mencionadas hasta poner la velocidad en 5% para empezar, y aumente o disminuya según sea su necesidad.

Page 74: Robotica

Programación de Robots Industriales 74

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

ANTES DE INICIAR CON EL ROBOT

La manipulación del robot puede conllevar colisiones.

Un choque directo con una superficie dura puede conllevar la descalibración del robot y daños 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 consideración a sí mismo.

TRABAJE A BAJA VELOCIDAD

MANIPULACIÓN DEL ROBOT MITSUBISHI

Una vez los servos estén encendidos, mientras usted mantenga presionado el botón SVO ON y la barra inferior del control el robot podrá ser manipulado de igual manera que el robot virtual. Escoja el modo de manipulación presionando las teclas JOIN, XYZ, o Tool. Una vez que haya presionado esto presione los botones correspondientes según el modo en que desee controlar el movimiento del robot. MODO X Y Z Si desea mover el robot en las coordenadas X , Y y Z presione el botón etiquetado XYZ, y presione las teclas etiquetadas con la letra y un símbolo + o – para mover el robot en uno u otro sentido a lo largo del eje impreso en la tecla que está presionando.

Page 75: Robotica

Programación de Robots Industriales 75

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MODO X Y Z En coordenadas cilíndricas.

El robot real Mitsubishi también permite el movimiento en coordenadas cilíndricas. 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 botón XYZ hasta que la línea 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 articulación presione JOINT. El robot tiene etiquetada en cada articulación el nombre de la articulación con unos símbolos + y - (que indican el sentido del movimiento en cada articulación con unas flechas). Antes de efectuar cualquier movimiento acérquese al robot y observe el nombre de cada articulación y el sentido de cada flecha para efectuar el movimiento de una manera certera.

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 botón JOINT y le aparecerá en la pantalla la línea que dice ADDN. AXIS bajo la cual le aparecerá la articulación J7 y su respectiva magnitud. Mueva al robot a lo largo de esta línea 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 dirección que apunta el elemento terminador del robot. Par entrar en este modo de movimiento presione el botón TOOL que se encuentra arriba del botón STEP MOVE.

Page 76: Robotica

Programación de Robots Industriales 76

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 introducción

teórica de esta sección).

Selección 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 numérico puede escribir letras, tal como en un teléfono móvil, 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 válidas ya existentes. (Refiérase a la parte teórica de esta sección 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:

Page 77: Robotica

Programación de Robots Industriales 77

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Nombre del

programa:

Nombre del

programa:

Nombre del

programa:

Nombre de la

posición:

Nombre de la

posición:

Nombre de la

posición:

Coordenada Valor original Coordenada Valor original Coordenada Valor original

X = X = X =

Y = Y = Y =

Z = Z = Z =

A = A = A =

B = B = B =

C = C = C =

Tabla de valores originales de los programas y posiciones en el robot.

6. Presione el botón de “hombre muerto” (en la parte posterior de la consola) + el botón [Step

|Move] + [Imp/Exe] para hacer que el robot se mueva hacia la posición seleccionada y

comprobar el correcto ajuste de la misma.

7. Mueva el brazo robot a una posición cualquiera y a partir de allí ajuste la posición anterior

moviendo las articulaciones individualmente hasta lograr colocar la pieza en la posición

esperada.

8. Sobrescriba la posición guardándola de la siguiente manera:

• Pulsar [Step] + [Add] y después presionar [Add] de nuevo.

• Pulsar [Add] para confirmar la posición.

9. Compruebe que la nueva posición está correcta al repetir el paso 19 para esta posición.

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.

Page 78: Robotica

Programación de Robots Industriales 78

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

11. Si sus posiciones no son iguales a las que escribió en la tabla anterior, restáurelas antes de

apagar el equipo.

CONEXIÓN CON UN ROBOT REAL DESDE UNA APLICACIÓN DE ROBOTICA VIRTUAL

Para conectarse con un Robot Real es necesario abrir CIROS STUDIO. Una vez abierta la aplicación 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 selección 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 están en red.

Si no tiene ningún proyecto creado que contenga uno de los robots que usted tiene en red, abra un nuevo proyecto. Vaya a File→New→Project Wizard. Refiérase 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 conexión con el robot es necesario abrir RCI Explorer.

Para hacer esto se va a Extras→Online Management→ RCI Explorer.

Se abrirá una ventana como se muestra a continuación.

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 parámetros de conexión con un robot real.

Page 79: Robotica

Programación de Robots Industriales 79

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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

Ponga mucha atención: Debe seleccionar como medio de comunicación TCP/IP y en la pestaña de TCP//IP debe poner la dirección IP de la caja controladora del robot (la dirección 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 comunicación de ambas cajas controladoras es el 9002.

Una vez configurada la conexión con el robot regrese de nuevo a RCI explorer y de nuevamente clic derecho en la división conection. Esta vez escoja la opción connect.

Le aparecerá una ventana como la que se muestra al lado. Eso le indicará que todo está bien, que se ha logrado la conexión.

De nuevo en el RCI Explorer, dentro del conjunto de elementos relativos al robot, de clic en programs. Se desplegarán todos los programas que tiene el robot.

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

Page 80: Robotica

Programación de Robots Industriales 80

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

instrucciones del programa y sus posiciones. Todos los programas pueden ser extraídos 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 cargarán las listas de posiciones y el texto del programa en dos ventanas separadas.

MANIPULACION DEL ROBOT DESDE CIROS STUDIO

Una vez que haya establecido conexión con un robot físico con CIROS Studio, Asegúrese que la llave del controlador del robot esté puesta en AUTO (ext).

Vaya a Extras→Online

management→Jog Operation.

Se abrirá una ventana parecida al teach in, en ella podrá manipular al robot de la misma manera que lo hacía en el CIROS ROBOTICS.

SEA MUY CAUTELOSO.

Page 81: Robotica

Programación de Robots Industriales 81

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 código 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á vacío solo le mostrará las posiciones que usted ha guardado y estará libre de cualquier código de programa.

Cree un programa que intercambie la posición de dos objetos (porta lapiceros) usando una posición intermedia y una de HOME.

Puede presionar el botón para generar la numeración de líneas automática.

Compile y enlace el programa usando el botón . Verifique que no hay errores, en caso de haberlos consulte con su facilitador.

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

Repita el paso anterior estando en la ventana de posiciones si desea descargar también las posiciones al controlador del robot.

Vaya a la ventana RCI EXPLORER y haga clic derecho sobre el nombre del programa y seleccione DEBUG.

Page 82: Robotica

Programación de Robots Industriales 82

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Ahí haga clic sobre Online ON.

A continuación vaya a Extras→Online management→Jog Operation y mueva alguna articulación para activar los servomotores.

Ejecute el programa usando el botón Start o hágalo paso a paso con el botón .

Esté atento al botón de Paro para detener el robot si hace un movimiento diferente al que usted esperaba.

Para finalizar presione el botón de paro lo que hará que automáticamente la conexión cambie a Online OFF. Busque en Connection la opción Disconnect para terminar la comunicación 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 opción 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 número que le corresponde en el controlador del robot.

EJECUCIÓN DE UN PROGRAMA DESDE EL CONTROLADOR DEL ROBOT.

Para este paso recuerde bajar la velocidad de operación del robot.

Para correr un programa desde el controlador del robot (Driver Unit) debe colocar la llave en AUTO (OP), luego con Change display ubíquese 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>].

Page 83: Robotica

Programación de Robots Industriales 83

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

ANEXO 1

Page 84: Robotica

Programación de Robots Industriales 84

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 conexión a la red del servidor o no tiene configurado la dirección 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 aplicación del servidor de licencias. Para hacer esto se arranca en el servidor la siguiente aplicación:

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

Page 85: Robotica

Programación de Robots Industriales 85

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

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 aplicación CIROS SMARXOS viendo hacia el servidor. Arranque la aplicación en la PC del CIROS ROBOTICS desde el menú inicio como se muestra en la figura:

Una vez abierta la aplicación ponga en el campo de Licence server la dirección IP 192.168.10.22 y cambie la selección a Licence Server.

En unos segundos el campo llamado Connected to Crypto Boxes se comenzará a llenar con la información de las licencias que tiene el servidor de licencias, esto es productos licenciados y cantidad de aplicaciones que pueden estar corriendo al mismo tiempo.

Page 86: Robotica

Programación de Robots Industriales 86

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Cuando el campo Crypto Boxes esté lleno, vaya al submenú CIROS Robotics, al desplegarlo aparecerá la información de licencias disponibles. Ubíquese en la cantidad de licencias, al hacerlo toda la línea se sombreará y se activarán los botones

Presione el botón Generate Configuration file. . Pero se habrá generado un archivo que le dice a la aplicación de CIROS Robotics que el servidor de licencias está en el sitio dónde se ha encontrado la información que usted está percibiendo en la ventana de CIROS SmarxOS Management

Intente ahora de nuevo abrir la aplicación de CIROS Robotics. En esta ocasión no deberá darle ningún 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 conexión 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 dirección IP debe de ser la del servidor de licencias, en el caso de las máquinas del iCIM la dirección 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 máquinas 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 máquina servidor de licencias. Verifique que el Firewall se encuentre desactivado, o que en su defecto esté permitiendo la operación de todos los ejecutables relacionados con el servidor de licencias, y que además tenga libres los puertos del servidor de licencias que son, el UDP 8766 y el TCP 8765.

Page 87: Robotica

Programación de Robots Industriales 87

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Bibliografía:

CIRUS AUTOMATION SUITE: Archivos de Ayuda. Festo Didactic GmbH, 2008

Melfa Industrial Robot, Instruction Manual, 2003

Page 88: Robotica

Programación de Robots Industriales 88

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

ANEXO 2

Page 89: Robotica

Anexo 2 89

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

ANEXO 2

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

IInnttrroodduucccciióónn aa llaa pprrooggrraammaacciióónn

MMeellffaa BBaassiicc IIVV

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 11

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

PPrrooggrraammaacciióónn eessttrruuccttuurraaddaa

En este lenguaje la programación se estructura como un conjunto de instrucciones cuyo flujo de proceso se realiza en un lenguaje BASIC estándar.

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 programación sencilla, incluso para aquellos usuarios con pocos conocimientos de BASIC.

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 22

Page 90: Robotica

Centro de Tecnologías Aplicadas a la

EEjjeemmpplloo ddee pprroogg... 10 DEF INTE VEL 12 VEL=50

15 OVRD VEL

20 FOR T= 0 TO 6

3300 MMVVSS PP11

4400 MMOOVV PP22

5500 MMVVSS PP44

6600 NNEEXXTT TT

7700 GGOOSSUUBB 11000000 75 HCLOSE 1

8800 MMOOVV PP77 85 OVRD 30

9900 MMVVSS PP99

9955 RREETTUURRNN

110000 GGOOTTOO 2200

11000000 MMOOVV PP33

11000055 DDLLYY 11

11220000 ......

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

CCaarráácctteerreess ccoonn s

AAppóóssttrrooffee ((´́)) LLaass llíínneeaass ddee ccoommeennttaarriiooss eessttáttrraannssffeerriiddaass ttaammbbiiéénn aa llaa ddrriivvee

EEjjeemmpplloo:: 110000 ́́ ppoossiiccii

AAsstteerriissccoo ((**)) EEll aasstteerriissccoo ddeeffiinnee mmaarrccaass ddee

EEjjeemmpplloo:: 111100 **TTAABBLLA

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

ggrraammaa

SSeenntteenncciiaass pprrooppiiaass ddee BBAASSIICC

ppaarraa eell fflluujjoo yy ccoonnddiicciioonneess ddee

pprrooggrraammaa SSeenntteenncciiaass pprrooppiiaass ddee

MMEELLFFAA ppaarraa eell mmoovviimmiieennttoo

ddeell RRoobboott

33

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

ssiiggnniiffiiccaaddoo eessppeecciiaall

táánn iinnddiiccaaddaass ccoonn aappóóssttrrooffeess,, yy sseerráánn ee uunniitt..

iióónn ddee iinniicciioo

ee ssaallttoo ((eettiiqquueettaass)).. NNoo sseerráánn ttrraannssffeerriiddaass aa llaa ddrriivvee uunniitt

LAA11

44

90

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

Page 91: Robotica

Anexo 2 91

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCaarráácctteerreess ccoonn ssiiggnniiffiiccaaddoo eessppeecciiaall((22))

CCoommaa ((,,)) LLaa ccoommaa ssiirrvvee ddee sseeppaarraaddoorr ccuuaannddoo ssee eessppeecciiffiiccaann mmuucchhooss ppaarráámmeettrrooss ccoonnsseeccuuttiivvooss..

EEjjeemmpplloo:: 110000 PP5500 == ((445500,,110000,,330000,, ......))

PPuunnttoo ((..)) PPaarraa ddaattooss mmúúllttiipplleess ,,ccoommoo llooss ddaattooss ppoossiicciioonnaalleess,, eell ppuunnttoo ssiirrvvee ccoommoo sseeppaarraaddoorr ddee ccaaddaa ccoommppoonneennttee ssiinngguullaarr..

EEjjeemmpplloo::

111100 MM1100 == PP1100..XX

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 55

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCaarráácctteerreess ccoonn ssiiggnniiffiiccaaddoo eessppeecciiaall ((33))

EEssppaacciioo (( ))

Debe guardarse entre instrucciones y datos individuales, y tras los números de línea

Ejemplo: 100 MOV P10

CCaaddaa llíínneeaa ddeebbee ccoonntteenneerr ccoommoo mmááxxiimmoo uunn ccoommaannddoo

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 66

Page 92: Robotica

Anexo 2 92

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn DDeeccllaarraacciióónn ddee vvaarriiaabblleess

Los nombres de variables del tipo de posición, articulación (joint), aritmética, y

cadena de caracteres , empiezan con un carácter particular.

La norma es:

P = Positional (variable de posición) J = Joint (articulaciones) M = Aritméticas

C = Character string (cadena de caracteres)

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 77

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoonnssttaanntteess nnuumméérriiccaass

EEjjeemmppllooss::

ddeecciimmaall :: 223344,, 77447711,, --443355,, ++554466,, --55445544

hheexxaaddeecciimmaall :: &&HH0033FFAA,, &&HH11AAEE55,, &&HHAA55

bbiinnaarriioo :: &&BB00110011,, &&BB111100111100110011,, &&BB1100110011111111

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 88

Page 93: Robotica

Anexo 2 93

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoonnssttaanntteess aallffaannuumméérriiccaass

EEjjeemmpplloo::

""MMEELLFFAA BBAASSIICC eess aallttaammeennttee eeffiicciieennttee""

““SSiigguuiieennttee ppoossiicciióónn""

““EEssppeerraannddoo eennttrraaddaa 55""

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 99

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoonnssttaanntteess aanngguullaarreess

EEjjeemmpplloo::

9900DDEEGG

112200DDEEGG

EEll sseennoo ddee uunn áánnggúúlloo ddee 110000ºº

ssee rreepprreesseennttaa ccoommoo::

SSIINN((110000DDEEGG))

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1100

Page 94: Robotica

Anexo 2 94

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

DDeeccllaarraacciióónn ddee vvaarriiaabblleess:: eejjeemmppllooss

Position P

Joint J

Arithmetic M

Character string C

P1 J100 M10 C30$

P124

P100.X

P110.Z

P[M5+3] (!)

P[M10].Z (!)

J100.W

J10.T

M99

M[M6+3] (!)

C$[M5+4] (!)

((!!)) SSóólloo eenn MMeellffaa BBaassiicc IIIIII

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1111

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

EExxpprreessiioonneess ccoonn vvaarriiaabblleess ddee ttiippoo PPoossiicciioonnaall

EEjjeemmppllooss::

PP1144 == PP110000

PP2200 == PP__CCUURRRR

PP3300 == PP[[MM44**22++55]] ((!!))

PP55..ZZ == 1100**MM55

PP[[MM1100]] == PP11 ++ PP2200

PP1155..ZZ == PP1155..ZZ++3300

-Variables de Posición: Datos de coordenadas de espacio ortogonales, X, Y Z,( normalmente en mm) y orientación A, B. (en DEG) . Todas las variables de este tipo empiezan con P.

((!!)) SSóólloo eenn MMeellffaa BBaassiicc IIIIII

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1122

Page 95: Robotica

Anexo 2 95

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

EExxpprreessiioonneess ccoonn vvaarriiaabblleess ddeell ttiippoo JJooiinntt

EEjjeemmppllooss:: JJ1100 == JJ__CCUURRRR

JJ1100..WW == JJ1100..WW++RRAADD((MM55))

--VVaarriiaabblleess ddee ““aarrttiiccuullaacciióónn””:: DDaattooss qquuee hhaacceenn rreeffeerreenncciiaa aa

ppoossiicciióónn ddee llooss eejjeess.. TTooddaass llaass vvaarriiaabblleess ddee eessttee ttiippoo

eemmppiieezzaann ccoonn JJ..

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1133

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

EExxpprreessiioonneess ccoonn vvaarriiaabblleess ddee CCaaddeennaa ddee ccaarráácctteerreess

EEjjeemmppllooss::

CC3300$$ == ““NNºº ddee ppaassoo ddee sseeccuueenncciiaa..””

CC$$[[MM110000]] == ““SSiigguuiieennttee ppoossiicciióónn””((!!))

CC$$[[MM1100**22]] == ““NNúúmmeerroo ddee ppoossiicciióónn::””((!!))

((!!)) SSóólloo eenn MMeellffaa BBaassiicc IIIIII

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1144

Page 96: Robotica

Anexo 2 96

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciioonneess ddee mmoovviimmiieennttoo:: MMOOVV

MMOOVV:: MMoovviimmiieennttoo iinntteerrppoollaacciióónn ddee eejjeess

DDeessccrriippcciióónn:

EEssttaa iinnssttrruucccciióónn mmuueevvee aa uunn ppuunnttoo ddeetteerrmmiinnaaddoo mmeeddiiaannttee

iinntteerrppoollaacciióónn ddee eejjeess.. LLaa ttrraayyeeccttoorriiaa ddee uunn ppuunnttoo aa oottrroo nnoo

eess lliinneeaall,, eess ddeecciirr,, nnoo ddeessccrriibbee uunnaa llíínneeaa rreeccttaa eenn eell eessppaacciioo,,

ssiinnoo qquuee llaa CCPPUU pprroocceessaa yy mmuueevvee llooss eejjeess aa ssuu

ccoonnvveenniieenncciiaa

,, ppoorr ssuu ccaammiinnoo mmááss sseenncciilllloo.. PPoorr lloo ttaannttoo llaa ttrraayyeeccttoorriiaa nnoo eess

110000%% pprreeddeecciibbllee ppoorr eell uussuuaarriioo

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1155

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciioonneess ddee mmoovviimmiieennttoo:: MMOOVV

10 MOV P1 ;mueve hacia P1

20 MOV P2,-50 ;mueve respecto P2, 50mm atrás de la

;posición de la mano (desp. relativo)

30 MOV P2 ;mueve hacia P2

40 MOV P3,-100 WTH M_OUT(17)=1 ;mueve respecto P3,100mm atrás, mientras activa

;salida bit nº

17

50 MOV P3 ;mueve hacia P3

60 MOV P3,-100 ;mueve respecto P3, 100mm atrás(desp.relativo)

70 END ;fin de programa MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1166

Page 97: Robotica

Centro de Tecnologías Aplicadas a la

FFuunncciioonneess ddee mmoo

CCoommeennttaarriiooss::

--EEll mmoovviimmiieennttoo eenn ee

lloo ttaannttoo,, nnoo eess 110000%%

ccaauutteellaa,, ppaarraa eevviittaarr

eennttoorrnnoo ddeell rroobboott..

--CCuuaannddoo ssee uussaa eell

eejjeemmpplloo MMOOVV PP

ddeetteerrmmiinnaaddoo ppoorr eell

-Z

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

FFuunncciioonneess ddee mmoo

MMVVSS :: MMoovviimmiieennttoo eenn

DDeessccrriippcciióónn::

EEssttaa iinnssttrruucccciióónn mmuueevv

mmeeddiiaannttee iinntteerrppoollaacciióónn

aa oottrroo eess lliinneeaall,, eess ddeecc

eessppaacciioo..

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

oovviimmiieennttoo:: MMOOVV

eessttee ttiippoo ddee iinnssttrruucccciioonneess nnoo eess lliinneeaall,, ppoorr

%% pprreeddeecciibbllee.. UUttiilliizzaarr eessttaa iinnssttrruucccciióónn ccoonn

rr ccoolliissiioonneess ddeell bbrraazzoo ccoonn aallgguunnaa ppaarrttee ddeell

ddeessppllaazzaammiieennttoo rreellaattiivvoo ddeessddee uunn ppuunnttoo,, ((ppoorr

PP33,,--110000)) eell sseennttiiddoo ddee aavvaannccee vviieennee ssiiggnnoo ddee ééssttee,, eenn ssuu ccoooorrddeennaaddaa ZZ::

Z

+Z

1177

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

oovviimmiieennttoo:: MMVVSS

nn iinntteerrppoollaacciióónn lliinneeaall

vvee aa uunn ppuunnttoo ddeetteerrmmiinnaaddoo

nn lliinneeaall.. LLaa ttrraayyeeccttoorriiaa ddee uunn ppuunnttoo

cciirr,, ddeessccrriibbee uunnaa llíínneeaa rreeccttaa eenn eell

1188

97

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 98: Robotica

Anexo 2 98

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciioonneess ddee mmoovviimmiieennttoo:: MMVVSS

10 MVS P1,-50 ;mueve respecto P2, 50mm atrás, en línea recta

;(desp. relativo)

20 MVS P1 ;mueve hacia P1 en línea recta

30 MVS,-50 ;mueve 50mm atrás desde la posición actual

; en línea recta (desp. relativo)

40 MVS P2,-100 WTH M_OUT(17)=1 ;mueve respecto P2,en línea recta,

;100mm atrás, mientras activa

;salida bit nº 17

50 MVS P2 ;mueve hacia P2, en línea recta

60 MVS,-50 ;mueve respecto P2, en línea recta 50mm

;atrás (desp. relativo)

70 END ;fin de programa

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 1199

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciioonneess ddee mmoovviimmiieennttoo:: MMVVSS

CCoommeennttaarriiooss::

--CCuuaannddoo ssee uussaa eell ddeessppllaazzaammiieennttoo rreellaattiivvoo ddeessddee uunn ppuunnttoo,, ((ppoorr

eejjeemmpplloo MMVVSS PP33,,--110000)) eell sseennttiiddoo ddee aavvaannccee vviieennee

ddeetteerrmmiinnaaddoo ppoorr eell ssiiggnnoo ddee ééssttee,, eenn ssuu ccoooorrddeennaaddaa ZZ,, ttaall

ccoommoo ssee hhaaccee ccoonn MMOOVV..

--AAll uussaarr eell ddeessppllaazzaammiieennttoo rreellaattiivvoo,, llaa ppoossiicciióónn ddeessttiinnoo eess ffiiccttiicciiaa

(( nnoo ccoonnssttaa eenn ttaabbllaa ddee ccoooorrddeennaaddaass,, ppoorr lloo ttaannttoo nnoo eess uunn

ppuunnttoo rreeggiissttrraaddoo)).. UUssaarrlloo ccoonn ccuuiiddaaddoo ppaarraa eevviittaarr ccoolliissiioonneess

ddeell bbrraazzoo ccoonn aallgguunnaa ppaarrttee ddeell eennttoorrnnoo ddeell rroobboott..

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 2200

Page 99: Robotica

Centro de Tecnologías Aplicadas a la

MMoovviimmiieennttooss eenn

MMVVRR :: DDeessiiggnnaaddoo uunn

ttrráánnssiittoo yy uunn ppuunnttoo ffiinnaa

eellllooss ((ddeessccrriibbee uunn aarrccoo

cciirrccuullaarr ddee eejjeess..

EEjjeemmpplloo::

MMVVRR PP11,,PP22,,PP33

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

MMoovviimmiieennttooss eenn

MMVVRR22 :: DDeessiiggnnaaddoo uunn

ffiinnaall yy uunn punto ddee rreeffeerr

ppuunnttoo iinniicciiaall aall ppuunnttoo ffiinn

rreeffeerreenncciiaa.. LLaa ttrraayyeeccttoorrii

uunn aarrccoo qquuee iinncclluuyyee eell pp

eell sseeggmmeennttoo ccoorrrreessppoonndd

ffiinnaall..

EEjjeemmpplloo::

MMVVRR22 PP11,,PP22,,PP33

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

iinntteerrppoollaacciióónn cciirrccuullaarr:: MMVVRR

n ppuunnttoo ddee ccoommiieennzzoo,,, uunn ppuunnttoo ddee

aall,, ssee rreeaalliizzaa uunn mmoovviimmiieennttoo aa ttrraavvééss ddee

oo eenn eell eessppaacciioo)),, mmeeddiiaannttee iinntteerrppoollaacciióónn

P3

P1

P2

2211

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

iinntteerrppoollaacciióónn cciirrccuullaarr:: MMVVRR22

nn ppuunnttoo ddee ccoommiieennzzoo,, uunn ppuunnttoo ddee

rreenncciiaa,, ssee rreeaalliizzaa uunn mmoovviimmiieennttoo ddeell

nnaall ssiinn ppaassaarr ppoorr eell ppuunnttoo ddee

iiaa sseegguuiiddaa eess llaa qquuee ccoorrrreessppoonnddeerrííaa aa

ppuunnttoo ddee rreeffeerreenncciiaa,, ppeerroo ssóólloo ssee ttrraazzaa

ddiieennttee aall ttrraammoo ddeell ppuunnttoo iinniicciiaall aall

P3 P1

33

P2

2222

99

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 100: Robotica

Centro de Tecnologías Aplicadas a la

MMoovviimmiieennttooss eenn

MMVVRR33 :: DDeessiiggnnaaddoo uu

cceennttrroo yy uunn ppuunnttoo ddee ffii

ppuunnttoo ddee iinniicciioo hhaassttaa ee

ttrraazzaaddaa rreessppeeccttoo aall ppuu

ddeebbee sseerr eennttrree 00 yy 118800

EEjjeemmpplloo::

MMVVRR33

PP11,,PP22,,PP33

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

MMoovviimmiieennttooss eenn

MMVVCC :: DDeessiiggnnaaddoo uunn

ppuunnttoo ddee ttrráánnssiittoo 11 yy uunn

aarrccoo ddeessddee eell ppuunnttoo ddee

ttrráánnssiittoo

11,, lluueeggoo ppoorr eell 22 yy ffiinnaallii

mmiissmmoo ddee ccoommiieennzzoo.. DDee

uunnaa eelliippssee ccoommpplleettaa..

EEjjeemmpplloo::

MMVVCC PP11,,PP22,,PP33

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

iinntteerrppoollaacciióónn cciirrccuullaarr:: MMVVRR33

uunn ppuunnttoo ddee ccoommiieennzzoo,, uunn ppuunnttoo ddee

iinnaall,, ssee ddeessccrriibbee uunn aarrccoo ddeessddee eell

eell ddee ffiinnaall,, ccuuyyaa ttrraayyeeccttoorrii aa eess

uunnttoo ddee cceennttrroo.. EEll áánngguulloo ttrraazzaaddoo

00ºº ::

P1 P3

P2

2233

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

iinntteerrppoollaacciióónn cciirrccuullaarr:: MMVVCC

nn ppuunnttoo ddee ccoommiieennzzoo iigguuaall aall ffiinnaall,, uunn

nn ppuunnttoo ddee ttrráánnssiittoo 22,, ddeessccrriibbee uunn ccoommiieennzzoo ppaassaannddoo ppoorr eell ppuunnttoo ddee

iizzaa eenn llee ppuunnttoo ffiinnaall,, qquuee eess eell

eessccrriibbee ppoorr lloo ttaannttoo uunn ccíírrccuulloo oo

P3

P1

P2

2244

100

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 101: Robotica

Centro de Tecnologías Aplicadas a la

MMoovviimmiieennttooss eenn

10 MVR P1,P2,P3 WHT M_OUT(18

20 MVR P3,P4,P5

30 MVR2 P5,P7,P6

40 MVR3 P7,P9,P8

50 MVC P9,P10,P11

60 END

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

MMoovviimmiieennttooss ssiinn

CCNNTT :: MMoovviimmiieennttoo ssii

DDeessccrriippcciióónn::

EEssttaa iinnssttrruucccciióónn ppeerrmmiitt

ppuunnttooss mmúúllttiipplleess -- ddeeffiinn

iinntteerrrruuppcciioonneess,, eess ddeeccii

EEnn eell mmoommeennttoo qquuee ssee

iinnssttrruucccciioonneess ddee mmoovviimm

ffoorrmmaa..

CNT 1 ;Desig

CNT CNT 0 ;Desig

CNT CNT 1,100,200 ;Desig

;define

;el de

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

iinntteerrppoollaacciióónn cciirrccuullaarr

8) ;Mueve P1→P2→P3 como un arco,

; mientras activa la salida bit 18

;Mueve P3→P4→P5 como un arco ;Arco de P5→P7 con trayectoria de P6

;Describe P7→P9 con centro en P8

;Arco cerrado P9→P10→P11→P9

2255

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

nn iinntteerrrruuppcciioonneess:: CCNNTT

iinn iinntteerrrruuppcciioonneess

ttee qquuee ssee rreeaalliizzaa uunn mmoovviimmiieennttoo eennttrree

nniiddooss ppoorr MMOOVV,,MMVVSS,,MMVVRR,, eettcc,, ssiinn

iirr,, ssiinn aaaccceeellleeerrraaaccciiiooonnneeesss nnii dddeeeccceeellleeerrraaaccciiiooonnneeesss...

ee ddeeccllaarraa eessttaa iinnssttrruucccciióónn,, ttooddaass llaass

mmiieennttoo aa ppaarrttiirr ddee eellllaa ssee hhaacceenn ddee eessttaa

;Designa la activación de la función

;Designa la desactivación de la función

;Designa la activación de la función, y

;define que el punto De comienzo a 100mm y

;el de final a 200mm del punto destino

2266

101

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 102: Robotica

Anexo 2 102

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

MMoovviimmiieennttooss ssiinn iinntteerrrruuppcciioonneess

10 MOV P1

20 CNT 1 ; a partir de las siguientes líneas se habilita CNT

30 MVR P2,P3,P4

40 MVS P5 ;

50 CNT 1,100,200 ; El punto de comienzo más cercano a 100mm,

;el de final más cercano a 200mm

60 MVS P6

70 MVS P1

80 CNT 0

90 END

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 2277

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

DDeeffiinniicciióónn ddee vveelloocciiddaaddeess yy aacccc.. ddeecccc..

AACCCCEELL :: DDeessiiggnnaa aacceelleerraacciióónn yy ddeecceelleerraacciióónn eenn %%

rreessppeeccttoo aa llaa mmááxxiimmaa ppeerrmmiittiiddaa

OOVVRRDD :: DDeessiiggnnaa llaa vveelloocciiddaadd ddee ttrraabbaajjoo ddeell rroobboott eenn %%..

JJOOVVRRDD :: DDeessiiggnnaa llaa vveelloocciiddaadd ddee iinntteerrppoollaacciióónn ddee

eejjeess eenn %% rreessppeeccttoo aa llaa mmááxxiimmaa ppeerrmmiittiiddaa

SSPPDD :: DDeessiiggnnaa llaa vveelloocciiddaadd eenn mmmm//ss ddee llaa iinntteerrppoollaacciióónn

cciirrccuullaarr yy lliinneeaall,, vveelloocciiddaadd ddee llaa ppaarrttee mmóóvviill ((ppuunnttoo ddee

ttrraabbaajjoo,, mmaannoo,, eettcc..))

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 2288

Page 103: Robotica

Centro de Tecnologías Aplicadas a la

DDeeffiinniicciióónn ddee vvee

10 OVRD 100 ;fija

20 MOV P1

30 MOV P2,-50

40 OVRD 50 ; fija

50 MVS P2

60 SPD 120 ; movi

70 OVRD 100 ;veloc

80 ACCEL 70,70 ;acele

90 MVS P3

100 SPD M_NSPD ;fija

110 JOVRD 70 ;veloc

120 ACCEL ;fija

130 MVS, -50

140 MOV P1

150 END MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

CCoonnttrrooll ddee uutteenn

HHOOPPEENN ::AAbbrree llaa pp

HHCCLLOOSSEE ::CCiieerrrraa llaa 1100 MMOOVV PP11,,--5500

2200 OOVVRRDD 5500

3300 MMVVSS PP11

4400 HHCCLLOOSSEE 11 ;; cciieerrrraa pp

5500 DDLLYY 00..55 ;; eejjeeccuuttaa

6600 OOVVRRDD 110000

7700 MMVVSS ,,--5500

8800 MMOOVV PP22,,--5500

9900 OOVVRRDD 5500

110000 MMVVSS PP22

111100 HHOOPPEENN 11 ;; aabbrree ppiinn

112200 DDLLYY 00..55 ;; rreeaalliizzaa

113300 OOVVRRDD 110000

114400 MMVVSS,,--5500

115500 EENNDD

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Anexo 2

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

La parte de imagen con el identificador de relación rId182 no se encontró en el archivo.

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

eelloocciiddaaddeess yy aacccc.. ddeecccc..

;fija la velocidad de trabajo al 100%

; fija la velocidad de trabajo al 50%

; movimientos lineales a 120mm/s

;velocidad general al 100%

;aceler. y deceler. a 70%

;fija la velocidad lineal a su valor nominal

;velocidad de interpolación ejes a 70%

;fija la aceleración y deceleración al 100%

2299

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

nnssiilliiooss ((PPiinnzzaa))

ppiinnzzaa ddeessiiggnnaaddaa

ppiinnzzaa ddeessiiggnnaaddaa

ppiinnzzaa nnºº 11 ((aattrraappaa ppiieezzaa))

uunn rreettaarrddoo ddee mmeeddiioo sseegguunnddoo

nnzzaa nnºº 11 (( ssuueellttaa ppiieezzaa))

uunn rreettaarrddoo

3300

103

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 104: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciióónn ddee PPaalleettiizzaaddoo

DDeessccrriippcciióónn::

EEssttaa ffuunncciióónn ddeessaarrrroollllaa uunn mmoovviimmiieennttoo pprrooggrraammaaddoo eenn ffiillaass

yy ccoolluummnnaass,,, ppaarraa rreeaalliizzaarr ooppeerraacciioonneess ddeell ttiippoo ddee

mmaanniippuullaacciióónn eenn ccaajjaass ccoommppaarrttiimmeennttaaddaass,, ooppeerraacciioonneess

sseerriiaaddaass eenn uunnaa ssuuppeerrffiicciiee,, eettcc..

DDEEFF PPLLTT :: DDeeffiinnee eell ppaalllleett aa sseerr uussaaddoo

PPLLTT :: ccaallccuullaa llaa ppoossiicciióónn aaccttuuaall ddee uunnaa ccaassiillllaa ddeell ppaalllleett uussaaddoo

SSiinnttaaxxiiss::

DDEEFF PPLLTT <<PPaalllleett NNoo..>>,, <<ppuunnttoo SSTTAARRTT>>,, <<ppuunnttoo FFIINNAALL AA>>,, <<ppuunnttoo ffiinnaall

BB>>,, [[<<ppuunnttoo DDiiaaggoonnaall >>]],, <<ccaannttiiddaadd AA>>,, <<ccaannttiiddaadd BB>>,, <<ddiirreecccciióónn

ddee aavvaannccee>>

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3311

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

FFuunncciióónn ddee PPaalleettiizzaaddoo

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3322

Page 105: Robotica

Centro de Tecnologías Aplicadas a la

FFuunncciióónn ddee PPaallee

10 DEF PLT 1,P2,P3,P4,P5,3,5,2

20 M1=1

30 *BUCLE ;Designa una

40 MOV P1,-50

50 OVRD 50

60 MVS P1

70 HCLOSE 1

80 DLY 0.5

90 OVRD 100

100 MVS,-50 ;Mov.50mm atr

110 P10=PLT 1,M1 ;Opera en pos

120 MOV P10,-50

130 OVRD 50

140 MVS P10

150 HOPEN 1

160 DLY 0.5

170 OVRD 100

180 MVS,-50 ;Mov.50mm atr

;de posición

190 M1=M1+1

200 IF M1<=15 THEN *BUCLE

210 END

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

CCoommaannddooss ddee ccoo

DDeessccrriippcciióónn ggeenneerraall::

EEssttooss ccoommaannddooss rreeaalliizzaa

BBAASSIICC eessttáánnddaarr,, yy ssiirrvvee

pprrooggrraammaa aa llíínneeaass ddeettee

aa uunn ccaassoo ppaarrttiiccuullaarr oo iinn

GGOOTTOO :: SSaallttoo iinnccoonnddi

SSiinnttaaxxiiss:: GGOOTTOO <<llíínneeaa oo llaabb

EEjjeemmppllooss::

GGOOTTOO 220000 ;;ssaa

GGOOTTOO **FFIINNAALL ;;ssaa

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

eettiizzaaddoo

,2 ;Define el pallet nº 1, punto

;START=P2, punto END A=P3, punto END

;B=5, dirección

a etiqueta llamada BUCLE

trás de posición actual

osición M1 del pallet 1

trás

n actual

3333

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

oonnttrrooll ddee pprrooggrraammaa

aann llaass mmiissmmaass ffuunncciioonneess qquuee eell

ee ppaarraa ttrraannssffeerriirr eell ccoonnttrrooll ddeell

eerrmmiinnaaddaass ddee ééssttee,, ccoonnddiicciioonnaallmmeennttee

nnccoonnddiicciioonnaallmmeennttee..

diicciioonnaall aa llíínneeaa

bbeell>>

aallttaa aa llíínneeaa nnºº 220000

aallttaa aa llíínneeaa mmaarrccaaddaa ccoommoo ** FFIINNAALL

3344

Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

sco

Page 106: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoommaannddooss ddee ccoonnttrrooll ddee pprrooggrraammaa

OONN ……GGOOTTOO ::SSaallttoo cccooonnndddiiiccciiiooonnnaaalll aa lll ííínnneeeaaa dddeeesssiiigggnnnaaadddaaa ppoorr

uunnaa vvaarriiaabbllee eenntteerraa.. EEll pprrooggrraammaa sseegguuiirráá eell vvaalloorr ddee oorrddeenn

ddee eessttaa vvaarriiaabbllee ((00,,11,,22,,33,,44……))

SSiinnttaaxxiiss:: OONN <<VVaarriiaabbllee eenntteerraa>> GGOOTTOO<<ddeessttiinnoo>><<ddeessttiinnoo>><<ddeessttiinnoo>>……

EEjjeemmppllooss::

OONN MM11 GGOOTTOO 110000,,220000,,330000 ;;SSII MM11==11 ssaallttaa aa 110000,,

;;ssii MM11==22 ssaallttaa aa

;;220000……ssii nnoo

;;ccoorrrreessppoonnddee,, ssaallttaa aa

;;ssiigguuiieennttee

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3355

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoommaannddooss ddee ccoonnttrrooll ddee pprrooggrraammaa

IIFF…… TTHHEENN…… EELLSSEE ::SSaallttoo cccooonnndddiiiccciiiooonnnaaadddooo,,, ssii nnoo ssee ddaa llaa ccciiirrrcccuuunnnssstttaaannnccciiiaaa ssee eeejjjeeecccuuutttaaa eell ssaallttoo dddeeesssiiigggnnnaaadddooo eenn EELLSSEE.. EEll

ccoommaannddoo EELLSSEE eess ooppcciioonnaall..

SSiinnttaaxxiiss:: IIFF <<ccoonnddiicciióónn>> TTHHEENN <<llíínneeaa>> EELLSSEE <<llíínneeaa

oo llaabbeell>>

EEjjeemmppllooss

IIFF MM11==11 TTHHEENN 113300 ;;SSaallttaa aa 113300 ssii MM11==11

IIFF MM11==11 TTHHEENN 113300 EELLSSEE 115500 ;;SSaallttaa aa 113300 ssii MM11==11,,

;;ssii nnoo ssaallttaa aa 115500

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3366

Page 107: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoommaannddooss ddee ccoonnttrrooll ddee pprrooggrraammaa

SSEELLEECCTT......CCAASSEE ::SSaallttoo ccoonnddiicciioonnaall,, sseeggúúnn llaa

ccoonnddiicciióónn ssee eejjeeccuuttaa lloo ddeessiiggnnaaddoo eenn CCAASSEE

SSSiiinnntttaaaxxxiiisss:

SSEELLEECCTT <<vvaarriiaabbllee>>

CCAASSEE <<ccoonnddiicciióónn>>

<<sseenntteenncciiaass>>

CCAASSEE <<ccoonnddiicciióónn>>

<<sseenntteenncciiaass>>

CCAASSEE <<ccoonnddiicciióónn>>

<<sseenntteenncciiaass>>

DDEEFFAAUULLTT <<sseenntteenncciiaass>>

EEnndd SSEELLEECCTT

DDEEFFAAUULLTT corresponde al grupo de

instrucciones que se ejecuta cuando

ninguno de los casos anteriores se ha cumplido

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3377

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoommaannddooss ddee ccoonnttrrooll ddee pprrooggrraammaa

EEjjeemmppllooss

SSEELLEECCTT MM11

CCAASSEE 1100 ;; SSii MM11==1100 eejjeeccuuttaa ssóólloo

:: ;;llaass llíínneeaass eennttrree CCAASSEE 1100

:: ;;yy CCAASSEE IISS 1111

CCAASSEE IISS 1111 ;; SSii MM11==1111 eejjeeccuuttaa ssóólloo

:: ;;llaass llíínneeaass eennttrree CCAASSEE IISS

:: ;;1111 yy CCAASSEE IISS <<55

CCAASSEE IISS << 55 ;;

::

CCAASSEE 66 TTOO 88 ;;eejjeeccuuttaa ssii eessttáá eennttrree 66 yy 88

::

DDEEFFAAUULLTT

::

EENNDD SSEELLEECCTT

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3388

Page 108: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

CCoommaannddooss ddee ccoonnttrrooll ddee pprrooggrraammaa

WWAAIITT :: EEssppeerraa eenn eessttaa llíínneeaa hhaassttaa qquuee llaa ccoonnddiicciióónn

hhaa ssiiddoo aallccaannzzaaddaa

SSiinnttaaxxiiss::

WWAAIITT <<ccoonnddiicciióónn>>

EEjjeemmpplloo::

WWAAIITT MM__IINN((11)) ;;EEssppeerraa eenn eessttaa llíínneeaa hhaassttaa qquuee llaa

sseeññaall ddee eennttrraaddaa 11 eessttáá aaccttiivvaa

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 3399

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

RReeppeettiicciióónn iinnccoonnddiicciioonnaall

FFOORR……NNEEXXTT :: RReeppiittee llaass iinnssttrruucccciioonneess ccoommpprreennddiiddaass

eennttrree FFOORR yy NNEEXXTT llaass vveecceess qquuee iinnddiiqquuee llaa sseenntteenncciiaa

FFOORR.. EEll ccoommaannddoo SSTTEEPP eess ooppcciioonnaall

SSiinnttaaxxiiss:: FFOORR <<vvaarriiaabbllee>> == <<ccoonnsstt..//vvaarriiaabbllee>> TTOO <<ccoonnsstt..//vvaarriiaabbllee>>

SSTTEEPP <<ppaassoo>>

((sseenntteenncciiaass))

NNEEXXTT

EEjjeemmpplloo:: 1100 FFOORR MM11 == 11 TTOO 1100 ;;LLaass llíínneeaass eennttrree 1100 yy 6600 ssee

:: ;;rreeppeettiirráánn 1100 vveecceess

::

6600 NNEEXXTT

7700 FFOORR MM22== 00 TTOO 5500 SSTTEEPP 1100 ;;SSee iinnccrreemmeennttaa MM22 eenn ppaassooss ddee

:: ;; 1100 uunniiddaaddeess

::

110000 NNEEXXTT MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4400

Page 109: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

RReeppeettiicciióónn ccoonnddiicciioonnaall

WWHHIILLEE……WWEENNDD:: RReeppiittee llaass sseenntteenncciiaass ccoommpprreennddiiddaass

eennttrree WWHHIILLEE yy WWEENNDD hhaassttaa qquuee ssee ccuummppllaa uunnaa ccoonnddiicciióónn

ddeetteerrmmiinnaaddaa

SSiinnttaaxxiiss:: WWHHIILLEE <<vvaarriiaabbllee

ccoonnddiicciióónn>> ((sseenntteenncciiaass))

WWEENNDD

EEjjeemmpplloo:: 1100 WWHHIILLEE ((MM11>>==11))AANNDD((MM11<<==1100)) ;;LLaass llíínneeaass eennttrree 1100 yy 6600

:: ;;ssee rreeppeettiirráánn HHAASSTTAA qquuee MM11

:: ;;eessttéé eennttrree 11 yy 1100

::

6600 WWEENNDD

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4411

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

LLllaammaaddaa aa ssuubbrruuttiinnaass ((iinnccoonnddiicciioonnaall))

GGOOSSUUBB:: llllaammaa aa llíínneeaa ddeetteerrmmiinnaaddaa eenn llaa iinnssttrruucccciióónn

yy vvuueellvvee aa eellllaa ttrraass eennccoonnttrraarr RREETTUURRNN eenn llaa ssuubbrruuttiinnaa..

SSiinnttaaxxiiss:: GGOOSSUUBB <<LLIINNEEAA//LLAABBEELL>>

TTooddaa ssuubbrruuttiinnaa ddeebbee aaccaabbaarr eenn RREETTUURRNN ppaarraa rreettoorrnnaarr eell ccoonnttrrooll aa llaa llíínneeaa ssiigguuiieennttee ttrraass GGOOSSUUBB

EEjjeemmpplloo:: 1100 GGOOSSUUBB 11000000 ;;LLLLAAMMAADDAA aa ssuubbrruuttiinnaa

2200 <<sseenntteenncciiaass>> ;;ttrraannssffiieerree eell ccoonnttrrooll aa

:: ;;llaa llíínneeaa 11000000 hhaassttaa qquuee

:: ;;eennccuueennttrraa RREETTUURRNN,, ttrraass

:: ;;eelllloo vvuueellvvee aa 2200

11000000 <<sseenntteenncciiaass>>

::

::

11440000 RREETTUURRNN

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4422

Page 110: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

LLllaammaaddaa aa ssuubbrruuttiinnaass ((ccoonnddiicciioonnaall))

OONN ……GGOOSSUUBB ::SSaallttoo ccoonnddiicciioonnaall aa llíínneeaa ddeessiiggnnaaddaa ppoorr uunnaa

vvaarriiaabbllee eenntteerraa.. EEll pprrooggrraammaa sseegguuiirráá eell vvaalloorr ddee oorrddeenn ddee

eessttaa vvaarriiaabbllee ((00,,11,,22,,33,,44……))

SSiinnttaaxxiiss:: OONN <<VVaarriiaabbllee eenntteerraa>> GGOOSSUUBB <<ddeessttiinnoo>><<ddeessttiinnoo>><<ddeessttiinnoo>>……

TTooddaa ssuubbrruuttiinnaa ddeebbee aaccaabbaarr eenn RREETTUURRNN ppaarraa rreettoorrnnaarr eell ccoonnttrrooll aa llaa llíínneeaa ssiigguuiieennttee ttrraass OONN......GGOOSSUUBB

EEjjeemmppllooss::

OONN MM11 GGOOSSUUBB 110000,,220000,,330000 ;;SSII MM11==11 ssaallttaa aa 110000,,

:: ;;ssii MM11==22 ssaallttaa aa

:: ;;220000……ssii nnoo

110000 <<sseenntteenncciiaass>> ;;ccoorrrreessppoonnddee,,ssaallttaa aa

::

220000 <<sseenntteenncciiaass>> ;;ssiigguuiieennttee

::

330000 <<sseenntteenncciiaass>>

11000000 RREETTUURRNN MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa4433

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

LLllaammaaddaa aa ssuubb--pprrooggrraammaass

CCAALLLLPP ::TTrraannssffiieerree eell ccoonnttrrooll ddeell pprrooggrraammaa aa oottrroo

pprrooggrraammaa aallmmaacceennaaddoo eenn llaa DDrriivvee UUnniitt;; uunnaa vveezz lloo eejjeeccuuttaa,,

vvuueellvvee aa ppaassaarr eell ccoonnttrrooll aall pprrooggrraammaa pprriinncciippaall...

OOppcciioonnaallmmeennttee ppuueeddee ppaassaarr ppaarráámmeettrrooss..

FFPPRRMM ::RReecciibbee ppaarráámmeettrrooss yy vvaarriiaabblleess ddeessddee eell pprrooggrraammaa

pprriinncciippaall,, hhaacciiaa eell pprrooggrraammaa llllaammaaddoo..

SSiinnttaaxxiiss:: CCAALLLLPP <<NNoommbbrree pprrooggrraammaa>> <<ppaarráámmeettrrooss yy aarrgguummeennttooss>>

EEjjeemmpplloo::

PPrrooggrraammaa pprriinncciippaall PPrrooggrr.. NNoo..22

1100 MMOOVV PP11

2200 CCAALLLLPP ““22””,,PP22,,PP77

3300 EENNDD

1100 FFPPRRMM PP220000,,PP770000

110000 MMOOVV PP220000

111100 MMOOVV PP770000

112200 EENNDD MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4444

Page 111: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

IInntteerrrruuppcciioonneess

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

DDEEFF AACCTT ::DDeeffiinnee llaass ccoonnddiicciioonneess ddee llaa iinntteerrrruuppcciióónn yy

llaa iinnssttrruucccciióónn aa rreeaalliizzaarr ttrraass eellllaa ..

AACCTT :: EEssttaabblleeccee llaa pprriioorriiddaadd ddee eessttaa iinntteerrrruuppcciióónn ssoobbrree

llaass oottrraass

SSiinnttaaxxiiss:: DDEEFF AACCTT <<NNººddee IInntt..>> <<ccoonnddiicciióónn>> <<PPrroocceessoo>> <<LL>>

EEjjeemmpplloo:: 1100 DDEEFF AACCTT 11,,MM__IINN((1177))==11 GGOOSSUUBB 110000 ;; SSii eennttrraaddaa 1177 eess OONN,, ssaallttaa

;;iinnmmeeddiiaattaammeennttee aa llíínneeaa 110000

3300 DDEEFF AACCTT 33,,MM__TTIIMMEERR((11))>>1100..55 GGOOSSUUBB 330000 ;;CCuuaannddoo ppaassaann 1100..55 sseegguunnddooss

;;ttrraannssffiieerree eell ccoonnttrrooll aa llíínneeaa

;;ssuubbrruuttiinnaa 330000..

110000 MM__TTIIMMEERR((11))==00

111100 AACCTT 33==11 ;;EEssttaabblleeccee pprriioorriiddaaddeess

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4455

IInntteerrrruuppcciioonneess

NNoottaass::

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

••LLooss ssaallttooss ppoorr iinntteerrrruuppcciióónn qquuee lllleevveenn aa uunnaa iinnssttrruucccciióónn

GGOOSSUUBB,, ddeebbeenn rreettoorrnnaarr ccoonn RREETTUURRNN,, eenn eessttee ccaassoo::

RREETTUURRNN <<nnºº ddee iinntteerrrruuppcciióónn>>

••LLaass pprriioorriiddaaddeess ssee eessttaabblleecceenn ccoonn AACCTT<<nnººiinntt>>==<<nniivveell>>

yy vvaann ddee 11((mmaayyoorr)) aa 88((mmeennoorr))

••PPrriioorriiddaadd 00 ssiiggnniiffiiccaa iinntteerrrruuppcciióónn ddeessaabbiilliittaaddaa ((AACCTT<<nnººiinntt>>==00))

••CCuuaannddoo ssee ppoonnee uunnaa LL aall ffiinnaall ssiiggnniiffiiccaa qquuee llaa iinntteerrrruuppcciióónn

ssee eejjeeccuuttaarráá aall ffiinnaalliizzaarr llaa iinnssttrruucccciióónn eenn ccuurrssoo::

DDEEFF AACCTT 11,,MM__IINN((1177))==11 GGOOSSUUBB 110000,, LL

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4466

Page 112: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MELFAMELFA RobotsRobots

PPaarroo iinnccoonnddiicciioonnaall

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

HHLLTT ::PPaarraa eell pprrooggrraammaa eenn aaqquueell ppuunnttoo

SSiinnttaaxxiiss:: HHLLTT

EEjjeemmpplloo:: 1100 IIFF MM__IINN((2200))TTHHEENN HHLLTT ;;ddeettiieennee eell pprrooggrraammaa ssii llaa

;;eennttrraaddaa 2200 eess OONN

RReettaarrddooss

DDLLYY ::eessttaabblleeccee uunn rreettaarrddoo

SSiinnttaaxxiiss:: DDLLYY <<sseegguunnddooss ((00..0055 mmíínniimmoo))>>

EEjjeemmpplloo:: 1100 DDLLYY 00..88 ;;ddeettiieennee eell pprrooggrraammaa dduurraannttee 00..88 ss..

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4477

EEnnttrraaddaass yy SSaalliiddaass

SSiinnttaaxxiiss::

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

EEnnttrraaddaass:: <<vvaarriiaabbllee>>==MM__IINN((<<bbiitt>>))

<<vvaarriiaabbllee>>==MM__IINNBB((<<bbyyttee>>))

<<vvaarriiaabbllee>>==MM__IINNWW((<<wwoorrdd>>))

SSaalliiddaass:: MM__OOUUTT((<<bbiitt>>))==<<11//00>>

MM__OOUUTT((<<bbyyttee>>))==<<bbyyttee>>

MM__OOUUTT((<<wwoorrdd>>))==<<wwoorrdd>>

EEjjeemmppllooss:: MM11==MM__IINNBB((2200)) ;;BBiittssOOUUTT 2200 aa 2277 ppaassaann aa MM11

WWAAIITT MM__IINN((33))==11 ;;EEssppeerraa hhaassttaa qquuee bbiittIINN 33 eess OONN

MM__OOUUTT((11))==11 DDLLYY 00..55 ;;ccoonnmmuuttaa bbiittOOUUTT 11 aa OONN dduurraannttee 00..55SS

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4488

Page 113: Robotica

Centro de Tecnologías Aplicadas a la Manufactura Integrada por Computadora

Instituto de Investigación e Innovación en Electrónica

Universidad Don Bosco

MMEELLFFAA BBaassiicc IIVV iinnttrroodduucccciióónn

OOppeerraacciioonneess aarriittmmééttiiccaass // llóóggiiccaass // ffuunncciioonneess

MMEELLFFAA BBaassiicc ppeerrmmiittee rreeaalliizzaarr ooppeerraacciioonneess ccoonn nnúúmmeerrooss

yy ccoommppaarraacciioonneess.. EEjjeemmppllooss::

ssuussttiittuucciióónn:: PP11==PP22

PP1100..ZZ==110000

AArriittmmééttiiccaa:: ++,,--,,**,,//,,^̂,,......

CCoommppaarraacciióónn:: >>,,<<,,<<>>,,==>>,,<<==,,AANNDD,,OORR,,NNOOTT,,XXOORR......

FFuunncciioonneess:: MMAAXX,,MMIINN,,RRAADD,,SSQQRR,,TTAANN,,SSIINN,,CCOOSS,,TTAANN....

MMIITTSSUUBBIISSHHII EELLEECCTTRRIICC EEUURROOPPEE,, BB..VV.. SSuuccuurrssaall eenn EEssppaaññaa 4499