Está en la página 1de 81

IES SAN JUAN BOSCO

FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA


ROBÓTICA INDUSTRIAL

ROBÓTICA INDUSTRIAL
MITSUBISHI RV-2AJ / RV-2FD
PRÁCTICAS

CICLO FORMATIVO GRADO SUPERIOR


AUTOMATIZACIÓN Y ROBÓTICA INDUSTRIAL
0966: ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 1


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

ÍNDICE:
1.- INTRODUCCIÓN:
1.1.- OBJETIVO DEL CURSO.
1.2.- SEGURIDAD.

2.- CARACTERÍSTICAS DE LOS ROBOT.


2.1.- RESOLUCIÓN, EXACTITUD/PRECICIÓN Y REPETIBIDAD.
2.2.- ESTRUCTURA DE UN ROBOT INDUSTRIAL.
2.3.- PARTES Y PERIFÉRICOS DEL BRAZO ROBOT RV-2F-D.
2.4.- RESUMEN DE CARACTERÍATICAS DEL BRAZO ROBOT RV-2F-D.
2.5.- PARTES Y PERIFÉRICOS DEL BRAZO ROBOT RV-2AJ.
2.6.- RESUMEN DE CARACTERÍATICAS DEL BRAZO ROBOT RV-2AJ.
2.7.- MANTENIMIENTO Y PIEZAS DE REPUESTO.
2.8.- SISTEMA DE COORDENADAS.
2.8.1.- COORDENADAS CARTESIANAS.
2.8.2.- COORDENADA POLAR ESFÉRICA.
2.8.3.- COORDENADA CILÍNDRICA.
2.8.4.- COORDENADA ANGULAR ARTICULADA.

3.- SOFTWARE DE PROGRAMACIÓN:


3.1.- CIROS PROGRAMMING.
3.2.- CIROS ROBOTICS.
3.3.- RT ToolBox2.

4.- CREACIÓN DE UN PROYECTO.


4.1.- CREAR UNA CARPETA.
4.2.- CREAR UN PROYECTO.
4.3.- ESTRUCTURA DE PROYECTO.
4.4.- POSICIONES.
4.5.- PROGRAMA.
4.6.- COMPROBACIÓN Y SIMULACIÓN DEL PROGRAMA.

5.- ESTRUCTURA DE LA PROGRAMACIÓN.


5.1.- LÍNEAS DE INSTRUCCIÓN.
5.2.- TIPOS DE VARIABLES.

6.- INSTRUCCIONES BÁSICAS.


6.1.- MOVIMIENTO INTERPOLADO (MOV).
6.2.- MOVIMIENTO LINEAL (MVS).
6.3.- ABRIR/CERRAR PINZA (HOPEN/HCLOSE).
6.4.- EJEMPLO CON MOVIMIENTO INTERPOLADO Y LINEAL.
6.5.- EJERCICIOS CON MOVIMIENTO INTERPOLADO Y LINEAL.
6.5.1.- MOVIMIENTO INTERPOLADO Y LINEAL SIN APROXIMACIÓN.
6.5.2.- MOVIMIENTO INTERPOLADO Y LINEAL CON OFFSET.

7.-INSTRUCCIONES DE MOVIMIENTO.
7.1.- MOVIMIENTO CIRCULAR (MVR).
7.2.- MOVIMIENTO CIRCULAR (MVC).

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 2


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.3.- EJERCICIO DE INSTRUCCIONES DE MOVIMIENTOS MVR Y MVC.


7.4.- MOVIMIENTO CONTINUO (CNT).
7.5.- EJERCICIO CON INSTRUCCIONES DE MOVIMIENTO CONTINUO CNT.
7.6.- ACELERACIÓN Y DECELERACIÓN (ACCEL).
7.7.- VELOCIDAD DE MOVIMIENTO ANGULAR (JOVDR).
7.8.- INTERRUPCIÓN DE PROGRAMA Y PASO A STOP (HLT).
7.9.- DEFINIR POSICIONAMIENTO FINAL (FINE).
7.10.- CONFIGURAR HERRAMIENTA Y PUNTO DE CONTROL (TOOL).
7.11.- EJERCICIOS CON MOVIMIENTOS CIRCULARES.
7.11.1.- REALIZAR DOS CÍRCULOS CONSECUTIVOS CON UNA HERRAMIENTA.
7.11.2.- REALIZAR TRES CÍRCULOS CONSECUTIVOS CON UNA HERRAMIENTA.
7.10.- CONFIGURAR HERRAMIENTA Y PUNTO DE CONTROL (TOOL).
7.11.- DESIGNAR LÍMITE DE PAR (TORQ).

8.- SEÑALES DE ENTRADA Y SALIDA.


8.1.- INSTRUCCIONES COMBINACIONALES.
8.1.1.- ACTIVAR SALIDA MIENTRAS ESTÁ ACTIVADA UNA ENTRADA.
8.1.2.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS DOS ENTRADAS EN SERIE.
8.1.3.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS DOS ENTRADAS EN PARALELO.
8.1.4.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS TRES ENTRADAS EN MONTAJE
MIXTO.
8.2.- INSTRUCCIONES DE MEMORIA.
8.3.- TEMPORIZADORES.
8.3.1.- TEMPORIZADOR CON RETARDO A LA CONEXIÓN.
8.3.2.- TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN.

9.- SALTOS CONDICIONALES Y BUCLES.


9.1.- GOTO.
9.2.- ON GOTO.
9.3.- IF THEN ELSE.
9.4.- SELECT CASE.
9.5.- GOSUB.
9.6.- ON GOSUB.
9.7.- FOR NEXT.
9.8.- WHILE WEND.
9.9.- EJERCICIOS CON SALTOS CONDICIONALES Y BUCLES.
9.9.1.-REALIZAR UNA ACCIÓN UN NÚMERO CONTROLADO DE VECES. UTILIZAR EL
BUCLE FOR NEXT.
9.9.2.- REALIZAR 5 INTERMITENCIAS AL ACTIVAR UN PULSADOR. UTILIZAR EL
BUCLE FOR NEXT.
9.9.3.- REALIZAR UNA ACCIÓN UN NÚMERO CONTROLADO DE VECES. UTILIZAR
EL BUCLE WHILE WEND.
9.9.4.- REALIZAR 5 INTERMITENCIAS AL ACTIVAR UN PULSADOR. UTILIZAR EL
BUCLE WHILE WEND.
9.9.5.- DISCRIMINACIÓN Y CLASIFICACIÓN DE PIEZAS. UTILIZAR LAS
INSTRUCCIONES DE SALTO “GOTO” Y LLAMADA A SUBRUTINA “GOSUB”.
9.9.6.- GIRAR SOBRE UN EJE DE LA MANO.
9.9.7.- EVALUACIÓN DE FLANCO.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 3


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

10.- INTERRUPCIONES.
10.1.- EJEMPLO DE INTERRUPCIÓN.

11.- PALETIZACIÓN.
11.1.- EJERCICIO DE PALETIZACIÓN.

12.- EJERCICIOS GENERALES.


12.1.- MOSTRAR PIEZAS PARA ALMACENAR.
12.2.- ABECEDARIO.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 4


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

1.- INTRODUCCIÓN:
1.1.- OBJETIVO DEL CURSO:
Este libro pretende ser una guía de ayuda con la información necesaria para orientar sobre
el curso de Introducción a la Robótica, como unas directrices a seguir en la consecución y
realización de los problemas que se pueden plantear en la realización de las prácticas.
Introducirá al lector con una cierta formación técnica, en los aspectos relacionados con la
robótica, presentando de manera sencilla las diferentes características que componen las
diferentes tecnologías de un robot industrial (mecánica, electrónica, control y programación)
centrando estas especificaciones en el modelo utilizado en las prácticas.

1.2.- SEGURIDAD.
- Recomendaciones :
Cualquier persona que trabaje con el robot industrial, debe observar con especial atención
las recomendaciones de seguridad.
Además, deben respetarse las normas y regulaciones sobre prevención de accidentes,
aplicables localmente.
El responsable del funcionamiento se compromete en asegurar que el robot industrial es
utilizado solamente por personas que:
Estén familiarizadas con las normas básicas relacionadas con la seguridad operativa y
prevención de accidentes.
Hayan recibido instrucciones en el manejo del Sistema Modular de Producción.
Estén medianamente habituados en trabajar con seguridad.
- A tener en cuenta :
General
Los alumnos sólo deben trabajar con el robot bajo la supervisión de un instructor.
Observar los datos de los componentes individuales de las fichas técnicas.
Posicionamiento
En el posicionamiento hay que tener especial atención con las colisiones que se pueden
producir con otros elementos o personas que pueden producir lesiones graves en las
personas y en el brazo robot.
Manipulación
Antes de la ejecución del programa del programa habrá que retirar previamente elementos
que no estén especificados en la concepción este con el fin de evitar colisiones en la
ejecución de las secuencias de movimiento.
Electricidad
Las conexiones eléctricas deben establecerse y desconectarse sólo cuando la tensión
principal esté cortada
Utilizar sólo bajas tensiones de hasta 24 V DC.
Mecánica
No intervenir manualmente a no ser que la máquina se halle parada.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 5


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.- CARACTERÍSTICAS DE LOS ROBOT.


Estudiaremos las características de dos tipos de robot, el RV-2F-D y el RV-2AJ. Antes,
veremos la resolución, exactitud /precisión y repetividad.

2.1.- RESOLUCIÓN, EXACTITUD/PRECICIÓN Y REPETIBIDAD.

Resolución: Movimiento mínimo que puede producir el robot (condicionado por la mecánica
y el tipo de control). Su valor depende de dos factores:
- La propia resolución del sistema de control.
- Las inexactitudes en las medidas de posicionamiento obtenidas.
En el caso de un robot formado por un único eje lineal de un metro de rango de
desplazamiento y un control que utiliza un registro donde almacena las posiciones con una
capacidad de 12 bits (podríamos contar hasta 4096 incrementos o fracciones de
movimiento), se tendría una resolución de:

1m /4096 = 0.244 mm de resolución.

Exactitud o precisión:

Capacidad de un robot para situar el extremo de su muñeca en un punto señalado dentro del
volumen de trabajo. La exactitud es mayor cuando su brazo trabaja cerca de la base
(inexactitudes mecánicas). La distancia entre el punto programado (definido por sus
coordenadas espaciales) y el valor medio de los puntos realmente alcanzados por el robot al
repetir el movimiento a ese punto destino, se denomina precisión.
El origen de este error está en las deformaciones térmicas y dinámicas del brazo, en la
simplificación del modelo de control cinemático y dinámico con el cual trabaja el controlador
y en pérdidas de exactitud en los cálculos al truncar los valores numéricos.

Repetibilidad: Capacidad para volver repetidamente al mismo punto.


La repetibilidad se entiende como el grado de exactitud en la repetición de movimientos
cuando el robot intenta acceder a un punto previamente enseñado. Se define como el radio
de la esfera que incluye los puntos alcanzados por el robot, tras varios movimientos para
alcanzar el mismo punto destino.
Este error de posicionamiento es debido principalmente a problemas en el sistema mecánico
de transmisión, como rozamientos, histéresis, holguras en las transmisiones, etc…
El valor nominal de este error en los robot industriales comerciales varía entre +- 0.01mm y
+-2 mm.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 6


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.2.- ESTRUCTURA DE UN ROBOT INDUSTRIAL.

El diseño de un robot industrial generalmente se inspira en el brazo humano, aunque con alguna
diferencias, según su estructura y composición pero en esencia es así. Por ejemplo, un braz
robótico puede extenderse telescópicamente, es decir, deslizando unas secciones cilíndricas dentr
de otras para alargar el brazo. También pueden construirse brazos robóticos de forma que pueda
doblarse como la trompa de un elefante. Las pinzas están diseñadas para imitar la función
estructura de la mano humana. Este robot están equipados con pinzas especializadas para agarra
dispositivos concretos, como una gradilla de tubos de ensayo o un soldador de arco.
Las articulaciones de un brazo robótico suelen moverse mediante motores eléctricos, aunqu
pueden utilizarse otras tecnologías (neumática, hidráulica). En la mayoría de los robots, la pinza s
mueve de una posición a otra cambiando su orientación. La controladora calcula los ángulos d
articulación necesarios para llevar la pinza a la posición deseada, un proceso conocido com
cinemática inversa.
La mayoría de los brazos multiarticulados están equipados con servo controladores, o controladore
por realimentación, que reciben datos de la controladora. Cada articulación del brazo tiene u
dispositivo de medición que mide su ángulo (encoder) y envía ese dato al controlador. Si el ángul
real del brazo no es igual al ángulo calculado para la posición deseada, el servo controlador muev
la articulación hasta que el ángulo del brazo coincida con el ángulo calculado. Este tipo de control s
denomina control de lazo cerrado.
El diagrama de bloques de un control de posicionamiento en lazo cerrado es el siguiente:

Los controladores y los ordenadores asociados también pueden procesar los datos recogidos po
cámaras que localizan los objetos que se van a agarrar o las informaciones de censores situados e
las pinzas que regulan la fuerza de agarre.

2.3.- PARTES Y PERIFÉRICOS DEL BRAZO ROBOT RV-2F-D.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 7


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

En la siguiente figura se muestra de manera esquemática las diferentes partes y periféricos que s
pueden asociar al brazo robot con el que se realizan las prácticas.
Se observa en la figura que la estructura mecánica (brazo robot) y la controladora forma l
estructura principal, a la que después se le acoplará la herramienta deseada según el tipo de tarea
aplicación que se desee realizar.
La unidad de control del brazo robot se puede ampliar para poder interconectar mediante buses d
comunicación o entras y salidas a otros elementos y herramientas que comporten la célula d
fabricación.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 8


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Estructura del equipo.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 9


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Estructura del equipo.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 10


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.4.- RESUMEN DE CARACTERÍATICAS DEL BRAZO ROBOT RV-2F-D.


En este apartado se muestran las características más significativas de un robot industrial:
Grados de libertad: son las dimensiones del espacio de un manipulador. Cualquier
movimiento de una pieza en el espacio se puede descomponer en 6 movimientos básicos:
3 lineales -> grados de traslación (X; Y; Z)

3 rotacionales -> grados de rotación


A=rotación
B=guiñada
C=orientación

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 11


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

CARACTERÍSTICA ESPECIFICACIÓN
Grados de libertad 6
Carga máxima 2 kg Campo de trabajo es el volumen
Repetitividad 0, 02 mm espacial dentro del cual el robot
Velocidad máxima 4950 mm/s puede situar el extremo de su
Alcance de la pinza 482 mm muñeca. Está limitado por las
envolventes que se producen al mover
Alcance desde Q, en mm A 410, B 285
los ejes del robot entre sus posiciones
Alcance desde Q, en mm C 190, D 300 mínimas y máximas.
Alcance desde Q, en grados E 150, El campo de trabajo de un robot influye
Alcance desde Q, en mm R1 220, R2 410 en el grado de accesibilidad de éste a
las diferentes máquinas o elementos de la instalación, por lo que cuando se desea robotizar
una instalación es necesario estudiar, la distribución de elementos en el entorno del robot.

Campo de trabajo

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 12


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Características del brazo robot RV-2F-D:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina 13


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Características de la Controladora CR 750 D:


IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Nombres de cada partes de la controladora y del panel de operador CR750:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


15
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


16
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

NOTA: Para completar la información de instalación, mantenimiento y puesta en marcha


utilizar el manual de Mitsubishi “Guía rápida de instalación robots RV”

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


17
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.5.- PARTES Y PERIFÉRICOS DEL BRAZO ROBOT RV-2AJ.


En la siguiente figura se muestra de manera esquemática las diferentes partes y periféricos
que se pueden asociar al brazo robot con el que se realizan las prácticas.
Se observa en la figura que la estructura mecánica (brazo robot) y la controladora forma la
estructura principal, a la que después se le acoplará la herramienta deseada según el tipo
de tarea o aplicación que se desee realizar.
La unidad de control del brazo robot se puede ampliar para poder interconectar mediante
buses de comunicación o entras y salidas a otros elementos y herramientas que comporten
la célula de fabricación.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


18
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.6.- RESUMEN DE CARACTERÍATICAS DEL BRAZO ROBOT RV-2AJ.


En este apartado se muestran las características más significativas de un robot industrial:
Grados de libertad: son las dimensiones del espacio de un manipulador. Cualquier
movimiento de una pieza en el espacio se puede descomponer en 6 movimientos básicos:
3 lineales -> grados de traslación (X; Y; Z)

3 rotacionales -> grados de rotación


A=rotación
B=guiñada
C=orientación

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


19
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

CARACTERÍSTICA ESPECIFICACIÓN
Grados de libertad 5
Carga máxima 2 kg
Repetitividad 0, 02 mm
Velocidad máxima 2100 mm/s
Alcance de la pinza 482 mm
Alcance desde Q, en mm A 410, B 285
Alcance desde Q, en mm C 190, D 300 Campo de trabajo es el volumen
Alcance desde Q, en grados E 150, espacial dentro del cual el robot
Alcance desde Q, en mm R1 220, R2 410 puede situar el extremo de su
muñeca. Está limitado por las envolventes que se producen al mover los ejes del robot
entre sus posiciones mínimas y máximas.
El campo de trabajo de un robot influye en el grado de accesibilidad de éste a las diferentes
máquinas o elementos de la instalación, por lo que cuando se desea robotizar una
instalación es necesario estudiar, la distribución de elementos en el entorno del robot.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


20
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Características del brazo robot RV-2AJ:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


21
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Características del controlador CR1-571:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


22
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


23
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.7.- MANTENIMIENTO Y PIEZAS DE REPUESTO.


Piezas consumibles:

Piezas de repuesto:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


24
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.8.- SISTEMA DE COORDENADAS.


Un sistema de coordenadas es un sistema que utiliza uno o más
números (coordenadas) para determinar unívocamente la
posición de un punto o de otro objeto geométrico. El orden en
que se escriben las coordenadas es significativo y a veces se las
identifica por su posición en una lista ordenada; también se las
puede representar con letras, como por ejemplo “la coordenada-
x”

2.8.1.- COORDENADAS CARTESIANAS.


Para nosotros es un espacio geométrico tridimensional definido por tres coordenadas
perpendiculares.

2.8.2.- COORDENADA POLAR ESFÉRICA.


Este sistema de coordenadas esféricas está formado por tres ejes mutuamente ortogonales
que se cortan en el origen. En nuestro caso, Las dos primeras son los ángulos que es
necesario girar para alcanzar la posición del punto. La última coordenada es la distancia
entre el origen y el punto.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


25
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

2.8.3.- COORDENADA CILÍNDRICA.


Este sistema de coordenadas es una generalización del sistema de coordenadas polares
del plano geométrico, al que se añade un tercer eje de referencia ortogonal a los otros dos.
En nuestro caso la primera coordenada es el ángulo que forman el eje X y la recta que
pasa por ambos puntos, la segunda coordenada es la distancia existente entre el eje Z y el
punto, mientras que la tercera es la coordenada z que determina la altura del cilindro.

2.8.4.- COORDENADA ANGULAR ARTICULADA.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


26
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

3.-SOFTWARE DE PROGRAMACIÓN:
Trabajaremos con tres software de programación:
- CIROS PROGRAMMING.
- CIROS ROBOTICS.
- RT ToolBox2.

3.1.- CIROS PROGRAMMING.


El software más cómodo para la programación de sistemas robotizados Mitsubishi que
dispone de las siguientes funciones:
 Asistente de proyectos para la selección de la configuración del robot y documentación
detallada de proyectos.
 Programación en MRL y Melfa Basic III , IV y V con amplia ayuda online.
 Herramienta para listas de instrucciones con comunicación online para el control
robotizado.
 Comprobación de la sintaxis.
 Pantalla online de entradas/salidas.
 Carga y descarga de listas de posiciones y programas.
 Parametrización de datos del sistema robotizado.

3.2.- CIROS ROBOTICS. (ver manual de instrucciones de uso)


Es un entorno virtual de aprendizaje de robótica. La simulación realista de un entorno de
trabajo en 3D permite desarrollar paso a paso desde una aplicación de robot muy sencilla
hasta editar células robotizadas de gran complejidad. El entorno virtual de aprendizaje
permite la programación y simulación para células robotizadas predefinidas
correspondientes a aplicaciones industriales típicas.
Para todas las células robotizadas con robots Mitsubishi se utiliza el lenguaje de
programación de alto nivel Melfa Basic IV, Melfa Basic V o el lenguaje de comandos MRL.
Si la célula no incluye un robot Mitsubishi, lo podemos programar con el lenguaje estándar
de programación de robots de uso universal IRL (Industrial Robot Language).

3.3.- RT Toolbpx2.
RT-Toolbox2 es un paquete de software para los robots Mitsubishi. Este software incluye
un conjunto completo de herramientas para las tareas importantes de programación y
configuración de robots. RT-Toolbox2 está basado en Windows® y está disponible en dos
formatos: estándar con simulación o limitado sin simulación.
Las herramientas incluyen:
 Configuración del sistema.
 Edición y depuración del programa.
 Conversión de programas (MELFA Basic IV a MELFA Basic V).
 Definición de parámetros.
 Simulación (en la versión estándar solamente).
 Monitoreo del sistema.
 Gestión de archivos.
 Diagnóstico de robots.
 Mantenimiento de robots.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


27
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

4.- CREACIÓN DE UN PROYECTO.


El siguiente proyecto lo crearemos con el programa de simulación CIROS ROBOTIC.
4.1.- CREAR UNA CARPETA.
Crearemos una carpeta en una unidad propia con el nombre “EJERCICIOS CIROS
ROBOTICS”.

4.2.- CREAR UN PROYECTO.


Crearemos un proyecto con las siguientes características:
Nombre del proyecto: EJERCICIOS CIROS ROBOTICS.
Directorio: Elegir la unidad y el directorio donde guardar el proyecto (“EJERCICIOS CIROS
ROBOTICS”).

Modelo de robot: Elegir el modelo de robot “RV-2SD/SDB/SQ”.


Lenguaje de programación: MELFA-BASIC V.

Terminamos con NEXT (comentarios) y FINISH.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


28
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Identificar:
- Ventana de programación.
- Ventana de posiciones.
- Ventana de mensajes.
- Ventana de simulación.

Guardar el proyecto: Podemos “guardar el proyecto” pero no podemos “guardar todo”

puesto que este programa no tiene la posibilidad de guardar el entorno de trabajo, solo
guarda los programas creados.

4.3.- ESTRUCTURA DE PROYECTO.


El proyecto generado con el software de programación CIROS ROBOTICS consta de
diferentes archivos que conforman el proyecto.
- El archivo “*.PRJ” es el archivo que guarda nuestra configuración del proyecto y asocia
a este el listado de posiciones, así como el programa. (Este archivo no se deberá cargar
en el robot).
- El archivo “*.POS” es el listado de posiciones del proyecto estas posiciones podrán ser
modificadas más tarde con la consola si se desea. (Es recomendable que el listado de
posiciones como el programa se carguen en el robot con el mismo nombre de archivo).
- El archivo “*.MB5” es el archivo que contiene la programación de la secuencia que se
desea que ejecute el robot que en este caso se ha generado en el lenguaje MELFA
BASIC V. (Este archivo junto con el listado de posiciones son los que se tienen que
descargar al robot para ejecutar la secuencia).

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


29
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

4.4.- POSICIONES.
En la ventana de posiciones agregar dos posiciones de la siguiente forma.
Si hacemos un doble click en el espacio de trabajo del robot dentro de la ventana de
simulación, veremos que el robot coloca la pinza en la posición marcada.

En esta posición, nos vamos a la ventana de posiciones y accionando el botón derecho del
ratón, agregamos esta posición quedando marcada como P1.

Repetimos el proceso una segunda vez, quedando guardada en la segunda posición P2.

Si hacemos doble click encima de P1 ó P2, veremos como el robot adopta ambas
posiciones alternativamente.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


30
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

4.5.- PROGRAMA.
En la ventana de programa realizaremos el siguiente programa:
MOV P1
DLY 3
MOV P2
Más adelante, en el apartado ESTRUCTURA DE LA PROGRAMACIÓN se describe la
estructura que tenemos que seguir para hacer el programa del robot.

4.6.- COMPROBACIÓN Y SIMULACIÓN DEL PROGRAMA.


Antes de probar el programa tenemos que decirle al robot qué programa tiene que ejecutar
actuando sobre la tecla. Aquel proyecto que este remarcado en negrita es el que está
activo.

Si no aparecen en la ventana de la derecha los ficheros de posiciones *.POS y de


programa *.MB5 tenemos que añadirlos. En la ventana propiedades hay que seleccionar
como “Main Program” el programa que tiene que correr en la simulación. El fichero de
posiciones se asocia al Main Program por tener el mismo nombre.

Con las teclas podemos compilar, ejecutar cíclicamente, parar y ejecutar


línea a línea.

5.- ESTRUCTURA DE LA PROGRAMACIÓN.


Como cualquier tipo de programa, el programa de la secuencia de un brazo robot mantiene
una estructura determinada que ayuda a la comprensión de este.
Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina
31
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Lo primero que habrá en el programa es una zona de declaración de las diferentes


variables. Seguido se colocará el programa principal que acaba con la instrucción “END”
después del programa principal se colocan las diferentes subrutinas a las que se hayan

llamado que finalizan con la instrucción “RETURN”.

5.1.- LÍNEAS DE INSTRUCCIÓN.


El programa se construye en base a líneas de instrucción que se ejecutan de manera
secuencial, excepto que haya instrucciones de salto, bucles o llamadas a subrutina. Los
elementos que la forman se muestran a continuación:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


32
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Número de línea: Es el número utilizado para determinar el orden de ejecución. El


programa se ejecuta en orden ascendente. Este número solo se introducirá en programas
con robot que utilicen el lenguaje MELFA BASIC 4 y anteriores.
Mnemotécnico: Es la instrucción que designa la operación a realizar (operación).
Dato: Puede ser un valor o una variable del tipo requerido por la instrucción a realizar por el
robot (operando).
Declaración añadida: Solo se utiliza si es necesario.

5.2.- TIPOS DE VARIABLES.


- Posición: Coordenadas ortogonales de posición. El nombre de la variable empieza por
“P”.
- Ángulos de eje: el nombre de la variable empieza por “J”.
- Aritméticas: Valor numérico (entero, real,….). El nombre empieza por “M”.
- Carácter: Cadena de letras. El nombre de la variable termina en $.

6.- INSTRUCCIONES BÁSICAS.


En la programación de robot, siempre persiste un tipo de instrucción básica para todos los
tipos de software, son aquellas que definen los movimientos más simples del brazo y que
por sí solas son la base de la mayoría de las secuencias de una aplicación.

6.1.- MOVIMIENTO INTERPOLADO (MOV).


El robot genera la trayectoria interpolando puntos entre el
punto de origen y el punto de destino, obteniendo para
cada una de las articulaciones del robot, las coordenadas,
velocidad y aceleración que a lo largo del tiempo imprimir
para ajustarse al movimiento especificado.
Pese a su complejidad es la forma más rápida para el
robot.

El robot se mueve a la posición indicada con una interpolación angular de cada eje. El
camino recorrido no se puede prever. Se pueden introducir las declaraciones añadidas
WTH o WTHIF.

Ejemplos de llamadas de instrucción:


MOV P1 ……. Se mueve a P1.
MOV P1+P2… Se mueve a la posición resultante de sumar las coordenadas P1 y P2.
MOV P1*P2… Se mueve a la posición relativa convertida de P1 a P2.
MOV P1,-50… Se mueve desde P1 hasta una posición de 50mm en la dirección de la
pinza.
MOV P1 WHT M_OUT(7)=1…. Empieza el movimiento hacia P1, simultáneamente
enciende la salida 7.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


33
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

MOV P1 WTH IF M_IN(9)=1, SKIP….Si durante el movimiento hacia P1 el bit 9 de


entrada se activa, se para el movimiento y el
programa sigue.

6.2.- MOVIMIENTO LINEAL (MVS).


El robot describe una línea recta entre los puntos origen y
destino.
Es un movimiento lento para el robot y solo se emplea en
movimientos críticos cuando el robot se encuentra cerca
de completar su trabajo (coger pieza, dejar pieza, soldar
un punto, aplicar adhesivo ….).

El robot se mueve en línea recta hacia la posición


indicada. Se pueden introducir las declaraciones
añadidas WTH o WTHIF.

Ejemplos de llamadas de instrucción:


MVS P1 ……. Se mueve hasta P1.
MVS P1+P2… Se mueve a la posición resultante de sumar las coordenadas P1 y P2.
MVS P1*P2… Se mueve a la posición relativa convertida de P1 a P2.
MVS P1,-50… Se mueve desde P1 hasta una posición de 50mm en la dirección de la
pinza.
MVS P1 WHT M_OUT(7)=1…. Empieza el movimiento hacia P1, simultáneamente
enciende la salida 7.

MVS P1 WTH IF M_IN(9)=1, SKIP….Si durante el movimiento hacia P1 el bit 9 de


entrada se activa, se para el movimiento y el
programa sigue.
MVS P1, TYPE 0, 2….Se mueve hasta P1 con una interpolación ABC.
MVS P1, TYPE 0, 1......... Se mueve a P1 con una interpolación ortogonal de 3 ejes.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


34
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

6.3.- ABRIR/CERRAR PINZA (HOPEN/HCLOSE).


Abre/cierra la pinza designada.
Ejemplo de llamada de instrucción:
La operación abrir/cerrar pinza no es igual en los robots RV-2AJ y en RV-2F-D:
- Para el robot RV-2AJ.-
HOPEN 1........... Abre la pinza 1
HCLOSE 1......... Cierra la pinza 1
- Para el robot RV-2F-D.-
Este robot lleva la mano asignada a las salidas 900, el bit 0 cierra la pinza y el
bit 1 la abre pinza. Hemos de tener en cuenta que la mano está activada por
una válvula biestable:
*abrir pinza bit 900.0=0 “M_OUT(0)=0” y bit 900.1=1 “M_OUT(1)=1”.
*cerrar pinza bit 900.0=1 “M_OUT(0)=1 y bit 900.1=0 “M_OUT(1)=0”.
Programa ejemplo:
RV- 2AJ RV-2F-D
10 OVRD 1 ‘VELOCIDAD 1% OVRD 1 ‘VELOCIDAD 1%
20 MVS P2, -50 ‘MOVER P2-50 MVS P2, -50 ‘MOVER P2-50
30 MVS P2 ‘MOVER P2 MVS P2 ‘MOVER P2
40 HCLOSE 1 ‘CERRAR PINZA M_OUT(0)=1 ‘ACTIVAR CERRAR PINZA
50 MVS P2, -50 ‘MOVER P2-50 M_OUT(1)=0 ‘DESACTIVAR ABRIR PINZA
60 MVS P1 ‘MOVER P1 MVS P2, -50 ‘MOVER P2-50
70 HOPEN 1 ‘ABRIR PINZA MVS P1 ‘MOVER P1
80 END M_OUT(0)=0 ‘DESACTIVAR CERRAR PINZA
M_OUT(1)=1 ‘ACTIVAR ABRIR PINZA

6.4.- EJEMPLO CON MOVIMIENTO INTERPOLADO Y LINEAL.


Realizar un programa para que el brazo industrial recoja una pieza en un punto de carga y
la deposite en otro punto de descarga. Las aproximaciones a estos dos puntos deben
hacerse suavemente (más despacio).

Pasos a seguir:
Primero hay que definir las posiciones clave del movimiento, que en este caso serán cinco:
-P1 : posición inicial o de reposo
-P2 : posición de aproximación a la zona de carga

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


35
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

-P3 : posición para coger la pieza


-P4 : posición de aproximación a la zona de descarga
-P5 : posición donde dejamos la pieza

Para definir las posiciones se utilizará la opción 'Jog Operation'.


Existen 3 maneras de moverlo desde esta ventana:
Forma de llegar a esta pantalla: Programming/Teach-In (F8).

- XYZ Jog: Coordenadas de referencia respecto la base del robot. Las articulaciones se
interpolan para que se desplace respecto los ejes de coordenadas

- JOINT Jog: Se controlan directamente las 5 articulaciones individualmente y de forma


polar.

- TOOL Jog: El centro de los ejes de coordenadas se sitúa en el extremo del brazo
(centro de la pinza), las articulaciones se interpolan respecto el eje X, Y, o Z.

Para definir las posiciones se sitúa el brazo en la posición deseada y se guarda. Desde el
listado de posiciones podemos cambiar las propiedades de las posiciones.

Una vez se tienen las posiciones definidas, empezar a programar; para este ejercicio se
utilizaran las siguientes instrucciones:
- MOV Realiza un movimiento suave, interpolando los ejes punto a punto.
- MVS Realiza un movimiento lineal. Atención a la velocidad en este movimiento.
- OVRD Porcentaje de la velocidad máxima.
- HOPEN Abre la pinza.
- HCLOSE Cierra la pinza.
Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina
36
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

- DLY Espera los segundos indicados.


Programa:

MOV P1 'MOVIMIENTO INTERPOLADO A P1 (POSICIÓN INICIAL O DE REPOSO)


OVRD 100 'AJUSTAR VELOCIDAD AL 100%
DLY 1 'ESPERAR 1"
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO, NO HAY OBJETO)
OVRD 10 'AJUSTAR VELOCIDAD AL 10%
MVS P3 'MOVIMIENTO LINEAL A P3 (POSICIÓN PARA COGER PIEZA)
HCLOSE 1 'CERRAR PINZA (OJO, NO HAY OBJETO)
DLY 1 'ESPERAR 1"
MVS P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
MVS P4 'MOVIMIENTO LINEAL A P4 (POSICIÓN APROXIMACIÓN A ZONA DE DESCARGA)
MVS P5 'MOVIMIENTO LINEAL A P5 (POSICIÓN DONDE DEJAMOS LA PIEZA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO, NO HAY OBJETO)
DLY 1 'ESPERAR 1"
MOV P4 'MOVIMIENTO INTERPOLADO A P4 (POSICIÓN APROXIMACIÓN A ZONA DE DESCARGA)
OVRD 100 'AJUSTAR VELOCIDAD AL 100%
MOV P1 'MOVIMIENTO INTERPOLADO A P1 (POSICIÓN INICIAL O DE REPOSO)

Después de introducir el programa, se deben numerar las filas. (Solo para programas en
Melfa Basic IV).
Luego se puede compilar con que detecta los errores de programación.
Agregaremos los programas *.POS *.MV5 a “Project Management” cuidando que ambos
tengan el mismo nombre y habilitando como “Main program” el programa a ejecutar.

Compilaremos y enlazaremos el programa con la tecla .


Probaremos su funcionamiento activando la tecla de forma continua o con la tecla
en forma paso a paso.

6.5.- EJERCICIOS CON MOVIMIENTO INTERPOLADO Y LINEAL.


6.5.1.- MOVIMIENTO INTERPOLADO Y LINEAL SIN APROXIMACIÓN.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


37
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Sobre el ejemplo anterior, utilizando la instrucción ampliada de MOV y MVS, borrar las
posiciones de aproximación P2 y P4 y realizar la misma restando 90mm sobre el eje Z.
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
MOV P3,-90 'MOVIMIRNTO INTERPOLADO A P3-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
OVRD 1 'VELOCIDAD 1%
MVS P3 'MOVIMIENTO LINEAL A P3 (POSICIÓN PARA COGER PIEZA)
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO NO HAY OBJETO)
MVS P3,-90 'MOVIMIENTO LINEAL A P3-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
MVS P5,-90 'MOVIMIENTO LINEAL A P5-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5 (POSICIÓN DONDE EJAMOS LA PIEZA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
DLY 1 'ESPERAR 1"
MVS P5,-90 'MOVIMIENTO LINEAL A P5-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

6.5.2.- MOVIMIENTO INTERPOLADO Y LINEAL CON OFFSET.


Sobre el ejemplo anterior, utilizar una posición de OFFSET definida al principio del
programa para hacer la aproximación.
DEF POS OFFSET 'DEFINIR POSICIÓN OFFSET
OFFSET=(0,0,+90,0,0)'ASIGNAR A LA POSICIÓN OFFSET VALORES
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
MOV P3+OFFSET 'MOVIMIRNTO INTERPOLADO A P3+OFFSET (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
OVRD 1 'VELOCIDAD 1%
MVS P3 'MOVIMIENTO LINEAL A P3 (POSICIÓN PARA COGER PIEZA)
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO NO HAY OBJETO)
MOV P3+OFFSET 'MOVIMIENTO LINEAL A P3+OFFSET (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
MOV P5+OFFSET 'MOVIMIENTO LINEAL A P5+OFFSET (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
DLY 1 'ESPERAR 1"
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5 (POSICIÓN DONDE EJAMOS LA PIEZA)
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
DLY 1 'ESPERAR 1"
MOV P5+OFFSET 'MOVIMIENTO LINEAL A P5+OFFSET (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


38
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.-INSTRUCCIONES DE MOVIMIENTO.

7.1.- MOVIMIENTO CIRCULAR (MVR).


El robot se mueve por un círculo definido por tres puntos. Si al empezar el movimiento no
se encuentra en el punto de inicio, se moverá linealmente hasta él antes de empezar. Se
pueden introducir las declaraciones añadidas WTH o WTHIF.
MVR: Se define el punto de inicio, uno de tránsito, y el punto final.

DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto de tránsito.
P4= Posición de punto final.

PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVR P2,P3,P4 'MOVIMIENTO CIRCULAR MVR CREAR SEMICIRCUNFERENCIA CON (INICIO TRÁNSITO Y FINAL)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

TRAYECTORIA:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


39
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

MVR2: Se define la posición inicial, la final y un punto de referencia por el que no


pasará.

DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto final.
P4= Posición de referencia. Por esta posición no pasará.

PROGRAMA:

MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)


OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVR2 P2,P3,P4 'MOVIMIENTO CIRCULAR MVR2 CREAR SEMICIRCUNFERENCIA (INICIO FINAL Y REFERENCIA)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

TRAYECTORIA:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


40
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

MVR3: Se define la posición inicial, la final y el centro del círculo. El movimiento va


de la posición inicial a la posición final por el camino más corto del círculo.

DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto final.
P4= Posición de punto central del círculo.

PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVR3 P2,P3,P4 'MOVIMIENTO CIRCULAR MVR3 CREAR SEMICIRCUNFERENCIA CON (INICIO FINAL Y CENTRO)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

TRAYECTORIA:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


41
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.2.- MOVIMIENTO CIRCULAR (MVC).


Se define la posición inicial y la final, el punto de tránsito 1 y el punto de tránsito 2. El
movimiento describe un arco desde el punto de comienzo pasando por el punto de
tránsito1, luego por el 2 y finaliza en el punto final, que es el mismo de comienzo. Describe
por tanto una elipse completa siguiendo el recorrido:
Inicio tránsito 1 tránsito 2 final.
P2 P3 P4 P2.

DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de tránsito.
P4= Posición de tránsito.

PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVC P2,P3,P4 'MOVIMIENTO CIRCULAR MVC CREAR CÍRCULO CON (INICIO, TRÁNSITO 1, TRÁNSITO 2 Y FINAL)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)

TRAYECTORIA:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


42
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.3.- EJERCICIO DE INSTRUCCIONES DE MOVIMIENTOS MVR Y MVC.


Tenemos que realizar la siguiente figura:

C4

C3

C2

C1

DEFINIR PUNTOS:
P99= Posición de inicio.
P1,P2,P3= Posiciones para describir el círculo C1.
P3,P4,P5= Posiciones para describir el círculo C2.
P4,P6,P7= Posiciones para describir el círculo C3.
P6,P8,P9= Posiciones para describir el círculo C4.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


43
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A P1
OVRD 1 'VELOCIDAD 1%
MVR P1, P2, P3 'MOVIMIENTO CIRCULAR MRV
MVR2 P3, P4, P5 'MOVIMIENTO CIRCULAR MVR2
MVR3 P4, P6, P7 'MOVIMIENTO CIRCULAR MVR3
MVC P6, P8, P9 'MOVIMIENTO CIRCULAR MRC
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99 (POSICIÓN INICIAL DE REPOSO)

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


44
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.4.- MOVIMIENTO CONTINUO (CNT).


Define el principio y el final de un movimiento continuo. Permite que se realice un
movimiento entre puntos múltiples, definidos por MOV, MVS, MVR, etc, sin interrupciones,
sin aceleraciones ni deceleraciones.
Ejemplos de llamadas de instrucción:

CNT 1................. Define el inicio del movimiento continuo.


CNT 1, 100, 200..... Define el inicio del movimiento continuo, la distancia de separación con
el punto inicial, en la que iniciará el movimiento curvo y la distancia de
separación con el punto final, en el que acabará este movimiento. La
trayectoria es calculada por el robot y no podemos conocerla con
exactitud.
CNT 0................. Define el final del movimiento continuo.

7.5.- EJERCICIO CON INSTRUCCIONES DE MOVIMIENTO CONTINUO CNT.

Realizar la siguiente trayectoria.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


45
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

DEFINIR PUNTOS:

PROGRAMA 1:
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
OVRD 1 'VELOCIDAD 1%
CNT 1 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2
MVS P3 'MOVIMIENTO LINEAL A POSICIÓN P3
MVS P4 'MOVIMIENTO LINEAL A POSICIÓN P4
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5
MVS P6 'MOVIMIENTO LINEAL A POSICIÓN P6
MVS P7 'MOVIMIENTO LINEAL A POSICIÓN P7
MVS P8 'MOVIMIENTO LINEAL A POSICIÓN P8
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P1 'MOVIMIENTO LINEAL A POSICIÓN P1
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1

PROGRAMA 2:
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
OVRD 1 'VELOCIDAD 1%
CNT 1,50,50 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2
MVS P3 'MOVIMIENTO LINEAL A POSICIÓN P3
MVS P4 'MOVIMIENTO LINEAL A POSICIÓN P4
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5
MVS P6 'MOVIMIENTO LINEAL A POSICIÓN P6
MVS P7 'MOVIMIENTO LINEAL A POSICIÓN P7
MVS P8 'MOVIMIENTO LINEAL A POSICIÓN P8
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P1 'MOVIMIENTO LINEAL A POSICIÓN P1
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1

Modificar en el programa anterior (CNT 1,50,50) por (CNT 1,100,100), probar el programa y
ver la trazada que realiza, observar como los arcos realizados en los puntos son de mayor
radio.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


46
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.6.- ACELERACIÓN Y DECELERACIÓN (ACCEL).

Define la aceleración y desaceleración durante el movimiento como un porcentaje del


máximo.
Ejemplos de llamadas de instrucción:

ACCEL................. Configura la aceleración y la desaceleración al 100%.


ACCEL 60, 80..... Configura la aceleración al 60% y la desaceleración al 80%.

7.7.- VELOCIDAD DE MOVIMIENTO ANGULAR (JOVDR).

Define la velocidad de movimiento angular axial (para instrucciones MOV), como un


porcentaje de la máxima.
Ejemplo de llamada de instrucción:

JOVRD 70........... Configura la velocidad del movimiento angular de cada eje al 70% de la
máxima.
7.8.- INTERRUPCIÓN DE PROGRAMA Y PASO A STOP (HLT).

Para la ejecución del programa y entra en el estado de paro.


Ejemplos de llamadas de instrucción:

HLT........................................
Para la ejecución del programa.
IF M_IN(8)=1 THEN HLT..... Para la ejecución del programa cuando se activa la
señal de entrada M_IN(8).
MOV P3 WTHIF M_IN(9)=1, HLT.... Para la ejecución del programa si la señal de entrada
M_IN(9) se activa durante el movimiento a P3.

7.9.- DEFINIR POSICIONAMIENTO FINAL (FINE).

Define las condiciones de posicionamiento final con un número de pulsos.


Ejemplo de llamada de instrucción:

FINE 100............ Configura las condiciones de posicionamiento final a 100 pulsos.

7.10.- CONFIGURAR HERRAMIENTA Y PUNTO DE CONTROL (TOOL).

Configura la forma de la herramienta que usamos, y configura el punto de control.


Ejemplo de llamada de instrucción:

TOOL P60.......... Define la forma guardada en P60.


TOOL (0,0,100,0,0,0) Sitúa la herramienta a 100mm del muñón.

7.11.- DESIGNAR LÍMITE DE PAR (TORQ).

El valor límite en tanto por ciento de par del eje, se limita para que no exceda de la
designación del límite de par estándar.
La limitación de par disponible depende del tipo de robot.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


47
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

TORQ 4,80 asignar al eje 4 (1…8), un 80% del torque estándar del mismo.7.11.-

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


48
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

7.12 EJERCICIOS CON MOVIMIENTOS CIRCULARES.


7.12.1.- REALIZAR DOS CÍRCULOS CONSECUTIVOS CON UNA HERRAMIENTA.
Recoger herramienta de un punto elevado, realizar dos círculos y dejar la herramienta en el
punto de recogida.

DEFINIR PUNTOS:

PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 5 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3, -100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P3 'MOVIMIENTO LINEAL A P3
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (PRIMER CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (SEGUNDO CÍRCULO)
DLY 1 'ESPERAR 1"
MVS P3,-100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


49
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

MVS P2 'MOVIMIENTO LINEAL A P2 (DEJAR HERRAMIENTA)


DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO, NO HAY OBJETO)
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99

7.12.2.- REALIZAR TRES CÍRCULOS CONSECUTIVOS CON UNA HERRAMIENTA.


Sobre el programa anterior realizar las modificaciones pertinentes para que realice tres
vueltas consecutivas. Utilizar la instrucción CNT para que no haga parada entre cada
círculo (En realidad no para del todo pero el sonido cambia).
Utilizaremos las mismas posiciones que el ejercicio anterior.

PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 5 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3, -100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
CNT 1,100,100 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P3 'MOVIMIENTO LINEAL A P3
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (PRIMER CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (SEGUNDO CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (TERCER CÍRCULO)
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P3,-100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P2 'MOVIMIENTO LINEAL A P2 (DEJAR HERRAMIENTA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


50
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

OVRD 100 'VELOCIDAD 100


MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99

7.12.3.- REALIZAR ARCO CON HERRAMIENTA.


Realizar un arco y/ o circulo con centro definido, utilizando la instrucción MVR3.
La posición del centro será como la posición de recogida, pero 100mm más baja.

DEFINIR PUNTOS:

PROGRAMA:
DEF POS VECZ100 'DEFINIR DESPLAZAMIENTO DESDE Z=100
DEF POS CENTRO 'DEFINIR CENTRO
VECZ100 =(+0.00,+0.00,+100.00,+0.00,+0.00,+0.00)
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 1 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3 'MOVIMIENTO LINEAL A P3
CENTRO=P2-VECZ100 'VALOR DE POSICIÓN "CENTRO"
MVR3 P3,P4,CENTRO 'MOVIMIENTO CIRCULAR A P3,P4 (CENTRO)
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P2 'MOVIMIENTO LINEAL A P2 (DEJAR HERRAMIENTA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


51
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z


OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99

8.- SEÑALES DE ENTRADA Y SALIDA.

El robot industrial es un sistema de automatización flexible y reprogramable capaz de


realizar diferentes tareas o secuencias. Las acciones del robot industrial generalmente
están integradas dentro de un entorno donde debe tener una interrelación con otras
máquinas de mayor o menor complejidad.
Según la complejidad de esta interrelación se definen tres niveles de sistemas automáticos:
1.- Sistema robótico: Donde el robot sostiene la principal tarea a realizar.
2.- Célula de fabricación flexible: Unidad de fabricación que tiene una o más máquinas
herramientas y sistemas auxiliares, donde el robot realiza funciones de servidor del sistema
(manipulación. carga y descarga e inspección).
3.- Sistema de fabricación flexible: Formado por un conjunto complejo de máquinas
herramientas dispuestos en forma de línea de fabricación, capaz de generar diferentes
variantes de producto. En este sistema el robot industrial interviene como un elemento más
del sistema.

El robot dispone de 32 entradas y 32 salidas. De ellas algunas están reservadas:


- Para el robot RV-2F-D:
Este robot tiene tres grupos de entradas/salidas:
o Dedicadas.- Nos indican el estado de los comandos remotos tales como la
ejecución del programa, estado de alimentación del servo, estado de las
baterías etc.. Direccionadas de la 10000 a la 18191. Se representan por
M_IN,M_INB,M_INW. M_OUT,M_OUTB, M_OUTW.
o Generales.- Podemos utilizarlas como interface entre el robot y periféricos.
Tiene 32 entradas y 32 salidas. Direccionadas de la 0 a la 32.
Algunas de estas están reservadas y asignadas por el sistema.
o De la mano.- Son de apertura y cierre de la mano y detectores relacionados
con la mano. Están direccionadas de la 900 a la 907. Se representan por
M_IN,M_INB,M_INW. M_OUT,M_OUTB, M_OUTW.

8.1.- INSTRUCCIONES COMBINACIONALES.


8.1.1.- ACTIVAR SALIDA MIENTRAS ESTÁ ACTIVADA UNA ENTRADA.
Mientras tengamos activado el pulsador de marcha tiene que estar encendido el piloto.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMAR PULSADOR MARCHA BIT 1 ENTRADA
PILO PILOTO BIT 1 SALIDA

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


52
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA 1:
Una forma de resolución de este programa es con la función IF THEN ELSE.
'**************** DEFINICIÓN DE VARIABLES *************************************
DEF IO PMAR = Bit,1 'DEFINIMOS PMAR COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PILO = Bit,1 'DEFINIMOS PILO COMO PILOTO Y LO ASIGNAMOS AL BIT 1
'**************** DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA DE SALTO
'***************** CONDICIÓN IF,THEN, ELSE ************************************
If PMAR = 1 Then 'SI PMAR = 1 ENTONCES
PILO = 1 'PILOTO = 1
Else 'DE OTRO MODO
PILO=0 'PILOTO = 0
EndIf 'FIN DE If
GoTo *INICIO 'IR A ETIQUETA *INICIO

PROGRAMA 2:

Otra forma de resolución de este programa es con “=”.


'**************** DEFINICIÓN DE VARIABLES **************************
DEF IO PMAR = Bit,1 'DEFINIMOS PMAR COMO PULSADOR DE MARCHA Y LO
ASIGNAMOS AL BIT 1
DEF IO PILO = Bit,1 'DEFINIMOS PILO COMO PILOTO Y LO ASIGNAMOS AL BIT 1
'**************** DEFINICIÓN DE ETIQUETA ***************************
*INICIO 'DEFINIMOS ETIQUETA DE SALTO
'***************** CONDICIÓN IF,THEN, ELSE *************************
PILO=PMAR 'PILOTO IGUAL A PULSADOR DE MARCHA
GoTo *INICIO 'IR A ETIQUETA *INICIO

8.1.2.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS DOS ENTRADAS EN SERIE.


El piloto se tiene que activar si están activadas las entradas PMAR1 y PMAR2.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMAR1 PULSADOR MARCHA1 BIT 1 ENTRADA
PMAR2 PULSADOR MARCHA2 BIT 2 ENTRADA
PILO PILOTO BIT 1 SALIDA

PROGRAMA 1:
'********************* DEFINICIÓN DE VARIABLES **************************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'******************** DEFINICIÓN DE ETIQUETA ****************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 AND PMAR2 =1 THEN 'SI PMAR1 = 1 "Y" PMAR2 = 1, ENTONCES
PILO = 1 'LÁMPARA = 1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO = 0
ENDIF 'FIN DE If
GOTO *INICIO 'IR A ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


53
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA 2:
Otra forma de resolución de este programa es con “AND”.
'********************* DEFINICIÓN DE VARIABLES***************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF Io PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'******************** DEFINICIÓN DE ETIQUETA ****************************************
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 AND PMAR2 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P. MARCHA1 Y P. MARCHA2
GOTO *INICIO 'IR A ETIQUETA *INICIO

8.1.3.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS DOS ENTRADAS EN PARALELO.


El piloto se tiene que activar si están activadas las entradas PMAR1 o, PMAR2.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMAR1 PULSADOR MARCHA1 BIT 1 ENTRADA
PMAR2 PULSADOR MARCHA2 BIT 2 ENTRADA
PILO PILOTO BIT 1 SALIDA

PROGRAMA 1:
'********************** DEFINICIÓN DE VARIABLES ********************************************************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'********************* DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 OR PMAR2 =1 THEN 'SI PMAR1 = 1 "O" PMAR2 = 1, ENTONCES
PILO = 1 'LÁMPARA = 1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO = 0
ENDIF 'FIN DE If
GOTO *INICIO 'IR A ETIQUETA *INICIO

PROGRAMA 2:
Otra forma de resolución de este programa es con “OR”.
'********************** DEFINICIÓN DE VARIABLES *****************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'********************* DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 OR PMAR2 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P. MARCHA1 Y P. MARCHA2
GOTO *INICIO 'IR A ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


54
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

8.1.4.- ACTIVAR SALIDA SI ESTÁN ACTIVADAS TRES ENTRADAS EN MONTAJE


MIXTO.
El piloto se tiene que activar si están activadas las entradas PMAR1 y PMAR2 o, PMAR3.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMAR1 PULSADOR MARCHA1 BIT 1 ENTRADA
PMAR2 PULSADOR MARCHA2 BIT 2 ENTRADA
PMAR3 PULSADOR MARCHA3 BIT 3 ENTRADA
PILO PILOTO BIT 1 SALIDA

PROGRAMA 1:
'************************ DEFINICIÓN DE VARIABLES ********************************************
Def Io PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
Def IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
Def IO PMAR3 = BIT, 3 'DEFINIMOS PMAR3 COMO PULSADOR MARCHA3 Y LO ASIGNAMOS AL BIT 3
Def IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'************************ DEFINICIÓN DE ETIQUETA **********************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 AND PMAR2 =1 OR PMAR3=1 THEN 'SI PMAR1=1 "Y" PMAR2=1 "O" PMAR3, ENTONCES
PILO=1 'PILOTO=1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO=0
ENDIF 'FIN ENDIF
GOTO *INICIO 'IR A ETIQUETA *INICIO

PROGRAMA 2:
Otra forma de resolución de este programa es:
'************************ DEFINICIÓN DE VARIABLES ********************************************
Def Io PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
Def IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
Def IO PMAR3 = BIT, 3 'DEFINIMOS PMAR3 COMO PULSADOR MARCHA3 Y LO ASIGNAMOS AL BIT 3
Def IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'************************ DEFINICIÓN DE ETIQUETA *******************************************
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 AND PMAR2 OR PMAR3 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P.MARCHA1 Y P MARCHA2 O, P.MARCHA 3.
GOTO *INICIO 'IR A ETIQUETA *INICIO

8.2.- INSTRUCCIONES DE MEMORIA.


Un piloto se activará si accionamos el pulsador de marcha y se parará al accionar un
pulsador de parada.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMAR PULSADOR MARCHA BIT 1 ENTRADA (NA)
PPAR PULSADOR PARADA BIT 2 ENTRADA (NC)
PILO PILOTO BIT 1 SALIDA
CRONOGRAMA:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


55
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


56
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA:
'*********************DEFINICIÓN DE VARIABLES **********************************************
DEF IO PMAR = Bit, 1 'DEFINIMOS PMAR COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PPAR = BIT, 2 'DEFINIMOS PPAR COMO PULSADOR DE PARADA Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'*********************DEFINICIÓN DE ETIQUETA *INICIO ****************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR = 1 THEN 'SI PMAR = 1, ENTONCES
PILO = 1 'PILO = 1
ENDIF 'FIN DE IF
IF PPAR = 0 THEN 'SI PPAR=0, ENTONCES
PILO = 0 'PILO = 0
ENDIF 'FIN DE IF
GOT *INICIO 'IR ETIQUETA *INICIO

8.3.- TEMPORIZADORES.
8.3.1.- TEMPORIZADOR CON RETARDO A LA CONEXIÓN.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
S1 INTERRUPTOR BIT 1 ENTRADA
L1 LÁMPARA BIT 1 SALIDA

CRONOGRAMA:

PROGRAMA:
'*************************TEMPORIZADOR CON RETARDO A LA CONEXIÓN*****************
'************** DEFINICIÓN DE VARIABLES *****************************************
DEF IO S1 = Bit, 1 'DEFINIMOS S1 COMO INTERRUPTOR Y LO ASIGNAMOS AL BIT 1
DEF IO L1 = Bit, 1 'DEFINIMOS L1 COMO LÁMPARA Y LA ASIGNAMOS AL BIT 1
'************** DEFINICIÓN DE ETIQUETA *INICIO ************************************
*INICIO 'DEFINIMOS ETIQUETA
IF S1 = 1 THEN 'SI ESTÁ ACTIVADO EL INTERRUPTOR S1, ENTONCES
DLY 5 'RETARDAS 5"
L1=1 'ACTIVAR LÁMPARA L1
ELSE 'DE OTRO MODO
L1=0 'APAGAR LÁMPARA L1
ENDIF 'FIN DE IF
GOTO *INICIO 'IR ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


57
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

8.3.2.- TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN.


ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
S1 INTERRUPTOR BIT 1 ENTRADA
L1 LÁMPARA BIT 1 SALIDA

CRONOGRAMA:

PROGRAMA:
'**********************TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN*********************
'*********************DEFINICIÓN DE VARIABLES
DEF IO S1 = Bit, 1 'DEFINIMOS S1 COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO L1 = Bit, 1 'DEFINIMOS L1 COMO LÁMPARA Y LA ASIGNAMOS AL BIT 1
'*********************DEFINICIÓN DE ETIQUETA *INICIO
*INICIO 'DEFINIMOS ETIQUETA
L1=S1 'SI ESTÁ ACTIVADO EL INTERRUPTOR, ACTIVAR LÁMPARA
WAIT S1=0 'ESPERAR A QUE ESTÉ ACTIVADO EL INTERRUPTOR
DLY 10 'RETARDAS 10"
L1=0 'APAGAR LÁMPARA L1
GOTO *INICIO 'IR ETIQUETA *INICIO

9.- SALTOS CONDICIONALES Y BUCLES.


Los saltos y bucles son instrucciones condicionales que pueden repetir acciones un número
determinado de veces o saltar a partes del programa.
9.1.- GOTO. (ir a, salto incondicional)
Salto incondicional a la línea indicada.
Ejemplos de llamadas de instrucción:
GOTO 300..........Salto incondicional a la línea 300. (para Melfa Basic IV y anteriores).
GOTO *FIN.........Salto incondicional a la línea de nivel *FIN.

9.2.- ON GOTO. (salto condicionado)


Salto en función del valor de la variable designada. Las condiciones siguen el orden del
valor entro de la variable (0, 1, 2, 3, ...).
Ejemplos de llamadas de instrucción:
ON M1 GOTO 50, 150, 300........... Si el valor de la variable M1 es 1 salta a la línea 50, si es
2 salta a la línea 150, si es 3 salta a la línea 300, y si es otro valor salta a la siguiente línea.

9.3.- IF THEN ELSE. (salto por una condición)


Salto según el valor de la variable. Los valores de condición pueden ser designados
aleatoriamente. Solo hay un tipo de condición por declaración de comando.
Ejemplos de llamadas de instrucción:
IF M1=1 THEN 50.............Si la variable M1 vale 1, salta a la línea 50; si no, salta a la línea
siguiente.
IF M1=1 THEN 50 ELSE 90............. Si la variable M1 vale 1, salta a la línea 50; si no, salta
a la línea 90.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


58
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.4.- SELECT CASE. (salto por múltiples condiciones)


Salto según el valor de la variable. Los valores de condición pueden ser designados
aleatoriamente. Hay múltiples condiciones por declaración de comando.
Para finalizar los CASE se puede poner BREAK. En el último se puede poner DEFAULT,
que englobará el resto de condiciones que no se hayan especificado en los CASE
anteriores. El programa debería salir del SELECT CASE pasando por la línea ENDCASE,
ya que si sólo sale con GOTO o GOSUB, acaba parándose por anidamiento excesivo.
Ejemplos de llamadas de instrucción:
SELECT M1......... Selecciona el valor de la variable M1 para compararlo en las siguientes
instrucciones.
CASE 5............... Si el valor es 5, ejecuta solo entre este y el siguiente CASE.
CASE IS 9........... Si el valor es 9, ejecuta solo entre este y el siguiente CASE.
CASE IS < 3........ Si el valor es menor que 3, ejecuta solo entre este y el siguiente CASE.
CASE 6 TO 9....... Si el valor esta entre 6 y 9, ejecuta solo entre este y el siguiente CASE.
DEFAULT............ Si el valor no se ajusta a ninguna de las condiciones anteriores, ejecuta
solo entre DEFAULT y el próximo END SELECT.
END SELECT....... Finaliza la declaración de SELECT CASE.
Nota: Al final de cada instrucción CASE es recomendable poner la instrucción “BRAKE”.

9.5.- GOSUB. (llamada incondicional a una subrutina)


Llama a la subrutina con el nivel indicado.
Ejemplos de llamadas de instrucción:
GOSUB 300....... Llama la subrutina de la 300. (para Melfa Basic IV y anteriores)
GOSUB *GET..... Llama la subrutina del nivel GET.
RETURN Retorna a la línea siguiente de donde estaba el comando GOSUB.

9.6.- ON GOSUB. (llamada condicionada a una subrutina)


Llama a la subrutina según la variable numérica indicada. El valor de las condiciones sigue
valores enteros.
Ejemplo de llamada de instrucción:
ON M1 GOSUB 300, 400, 500...... Si la variable numérica vale 1, llama la subrutina de la
300; si vale 2 llama la subrutina de la 400 y si vale 3 llama a la subrutina de la 500. Si el
valor no corresponde, sigue en la siguiente.

9.7.- FOR NEXT. (bucle)


Repite las instrucciones entre la de FOR y la de NEXT, hasta satisfacer las condiciones
especificadas.
Ejemplos de llamadas de instrucción:
FOR M1=1 TO 10............ Repite 10 veces las instrucciones entre FOR y NEXT.
Inicialmente la variable M1 vale 1, y se va incrementando en cada repetición.
NEXT M1
FOR M1=0 TO 10 STEP 2.............. Repite 6 veces las instrucciones entre FOR y NEXT.
Inicialmente la variable M1 vale 0, y se va incrementando en 2 en cada repetición.
NEXT M1

9.8.- WHILE WEND. (bucle)


Repite las instrucciones entre la de WHILE y la de WEND, mientras las condiciones
especificadas se cumplen.
Ejemplo de llamada de instrucción:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


59
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

WHILE (M1 >= 1) AND (M1 <= 10)............... Repite las instrucciones entre WHILE y WEND
hasta que la variable M1 sale del rango [1..10].
WEND
9.9.- EJERCICIOS CON SALTOS CONDICIONALES Y BUCLES.
9.9.1.-REALIZAR UNA ACCIÓN UN NÚMERO CONTROLADO DE VECES. UTILIZAR
EL BUCLE FOR NEXT.
Al activar el pulsador de marcha se encenderá el indicador luminoso durante 3”, el ciclo se podrá
repetir solamente 4 veces, pasadas estas 4 veces no se volverá a encender aunque se pulse
marcha, llegados a este punto, si se pulsa paro se reiniciará el contador y se volverá a disponer de
cuatro pulsaciones para activar el indicador luminoso.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR MARCHA BIT 1 ENTRADA
PPARO PULSADOR PARO BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

PROGRAMA:
'****************** BUCLE F0R-NEXT *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PPARO = BIT, 2 'SE DEFINE EL PULSADOR DE PARADA COMO PPARADA Y SE LE ASIGNA EL
BIT 2
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR = 1 'PONER CONTADOR=1
FOR CONTADOR = 1 TO 4 STEP 1 'BUCLE FOR-NEXT DE 1 A 4, PASO 1
*ESPERAR 'DECLARAR ETIQUETA *ESPERAR
IF PMARCHA=1 THEN 'SI PULSADOR MARCHA=1, ENTONCES
PILOTO=1 'ENCENDER PILOTO
DLY 3 'ESPERAR 3"
PILOTO=0 'APAGAR PILOTO
ELSE 'DE OTRO MODO
GOTO *ESPERAR 'SALTAR A LA ETIQUETA *ESPERAR
ENDIF 'FIN ENDIF
NEXT CONTADOR 'FINAL DEL BUCLE FOR CONTADOR
*ESPPARO 'DECLARAR ETIQUETA *ESPPARO (ESPERAR PARO)
IF PPARO=0 THEN 'SI PULSADOR MARCHA=1, ENTONCES
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO
ELSE 'DE OTRO MODO
GOTO *ESPPARO 'SALTAR A LA ETIQUETA *ESPPARO
ENDIF 'FIN ENDIF

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


60
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.2.- REALIZAR 5 INTERMITENCIAS AL ACTIVAR UN PULSADOR. UTILIZAR EL


BUCLE FOR NEXT.
Al activar un pulsador de marcha se encenderá el indicador luminoso 2” y se apagará 1”, este ciclo
se repetirá durante 5 veces, pasado dicho tiempo el sistema se detendrá a la espera de otra
pulsación de marcha, quedando el indicador luminoso apagado como al principio.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR MARCHA BIT 1 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

PROGRAMA:
'****************** BUCLE F0R-NEXT *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR = 1 'PONER LA VARIABLE CONTADOR=1
IF PMARCHA=1 THEN 'SI ACTIVAMOS EL PULSADOR DE MARCHA, ENTONCES
FOR CONTADOR = 1 TO 5 STEP 1 'BUCLE FOR-NEXT DE 1 A 5, PASO 1
PILOTO=1 'ENCENDER PILOTO
DLY 2 'ESPERAR 2"
PILOTO=0 'ACTIVAR PILOTO
DLY 1 'ESPERAR 1"
NEXT 'FINAL DEL BUCLE FOR *CONTADOR
ENDIF 'FIN ENDIF
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


61
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.3.- REALIZAR UNA ACCIÓN UN NÚMERO CONTROLADO DE VECES. UTILIZAR


EL BUCLE WHILE WEND.
Al activar el pulsador de marcha se encenderá el indicador luminoso durante 4”, el ciclo se
podrá repetir solamente 5 veces, pasadas estas 5 veces no se volverá a encender aunque
se pulse marcha, llegados a este punto, si se pulsa paro se reiniciará el contador y se
volverá a disponer de cuatro pulsaciones para activar el indicador luminoso.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR MARCHA BIT 1 ENTRADA
PPARO PULSADOR PARADA BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

PROGRAMA:
'****************** BUCLE WHILE-WEND *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PPARO = BIT, 2 'SE DEFINE EL PULSADOR DE PARO COMO PPARO Y SE LE ASIGNA EL BIT 2
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILORO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR=1 'CARGAR VALOR 1 EN CONTADOR
WHILE CONTADOR =<5 'MIENTRAS CONTADOR ES MENOR QUE 5
IF PMARCHA=1 THEN 'SI ACTIVAMOS EL PULSADOR DE MARCHA, ENTONCES
PILOTO=1 'ACTIVAR PILOTO
DLY 4 'ESPERAR 4"
PILOTO=0 'DESACTIVAR PILOTO
CONTADOR=CONTADOR+1 'SUMAR UNO AL CONTADOR
ENDIF 'FIN ENDIF
WEND 'FIN DE WHILE-WEND
WHILE PPARO <> 0 'SI PPARO ES DISTINTO DE 0
WEND 'FIN DE WHILE-WEND
GOTO *INICIO 'SALTAR A ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


62
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.4.- REALIZAR 5 INTERMITENCIAS AL ACTIVAR UN PULSADOR. UTILIZAR EL


BUCLE WHILE WEND.
Al activar un pulsador de marcha se encenderá el indicador luminoso 2” y se apagará 2”,
este ciclo se repetirá durante 4 veces, pasado dicho tiempo el sistema se detendrá a la
espera de otra pulsación de marcha, quedando el indicador luminoso apagado como al
principio.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR MARCHA BIT 1 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

PROGRAMA:
'****************** WHILE-WEND *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR=1 'CARGAR VALOR 1 EN CONTADOR
WHILE PMARCHA <>1 'MIENTRAS PMARCHA SEA DISTINTO DE 1
WEND 'FIN DE WHILE-WEND
WHILE CONTADOR <5 'MIENTRAS EL CONTADOR SEA MENOR QUE 5
PILOTO=1 'ACTIVAR PILOTO
DLY 1 'ESPERAR 1"
PILOTO=0 'DESACTIVAR PILOTO
DLY 1 'ESPERAR 1"
CONTADOR=CONTADOR+1 'SUMAR UNO AL CONTADOR
WEND 'FIN DE WHILE-WEND
GOTO *INICIO 'SALTAR A ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


63
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.5.- DISCRIMINACIÓN Y CLASIFICACIÓN DE PIEZAS. UTILIZAR LAS


INSTRUCCIONES DE SALTO “GOTO” Y LLAMADA A SUBRUTINA “GOSUB”.
En un proceso de trabajo con piezas de color rojo y/o aluminio son llevadas desde la peana
de entrada hasta el depósito para su almacenamiento. En este proceso puede, por error,
introducirse una pieza de color negro, que la extraeremos del proceso de trabajo llevándola
hasta el almacén de piezas erróneas o negras .

ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETPIEZA DETECTOR PIEZA BIT 2 ENTRADA
DETCOLO DETECTOR COLOR. (NEGRA=0, R-M=1) BIT 3 ENTRADA
R
PILOTO PILOTO BIT 1 SALIDA

POSICIONES:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


64
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


65
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA:
'********************** DISCRIMINACIÓN Y CLASIFICACIÓN DE PIEZAS *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT, 1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETPIEZA=BIT, 2 'DEFINIMOS DETPIEZA COMO DETECTOR PIEZA Y LA ASIGNAMOS AL BIT 2
DEF IO DETCOLOR=BIT, 3 'DEFINIMOS DETCOLOR COMO DETECTOR MANO LO ASIGNAMOS AL BIT 3
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 2
DEF INTE NEGRA 'DEFINIMOS NEGRA, COMO VARIABLE ENTERA

DEF POS VECZ100 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 100mm


DEF POS VECZ50 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 50mm
'********************* OFFSET ******************************************************
VECZ100=(+0.00,+0.00,+100.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 100mm
VECZ50=(+0.00,+0.00,+50.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 50mm

'********************* DEFINICIÓN DE ETIQUETA *INICIO ******************************


MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
HOPEN 1 'ABRIR PINZA
*INICIO 'DEFINIMOS ETIQUETA
PILOTO=0 'DESACTIVAR PILOTO
NEGRA=0 'PONER LA VARIABLE "NEGRA=0"
DLY 0.5 'ESPERAR 0.5"
IF PMARCHA=0 THEN GOTO *INICIO 'SI ACTIVAMOS PULSADOR MARCHA SALTAR A LA ETIQUETA *INICIO
WAIT DETPIEZA=1 'ESPERAR A QUE HAYA PIEZA EN LA ENTRADA
PILOTO=1 'ACTIVAR PILOTO
OVRD 100 'VELOCIDAD ROBOT PARA TODO EL PROGRAMA
SPD 30 'VELOCIDAD ROBOT PARA MOVIMIENTOS LINEALES Y CIRCULARES
MOV P1+VECZ100 'MOVIMIENTO INTERPOLADO A P1+100 EN Z
MVS P1 'MOVIMIENTO INTERPOLADO A P1, VERIFICACIÓN PIEZA
GOSUB *VER_PIEZA 'SALTAR A SUBRUTINA *VER_PIEZA
GOSUB *COGER_PIEZA 'SALTAR A SUBRUTINA *COGER_PIEZA
IF NEGRA=1 THEN GOTO *COLOCAR_NEGRA 'SI ES NEGRA SALTAR A ETIQUETA *COLOCAR_NEGRA
IF NEGRA=0 THEN GOTO *COLOCAR_NO_NEGRA 'SI ES NEGRA SALTAR A ETIQUETA *COLOCAR_NO_NEGRA
END 'FIN DE PROGRAMA

*VER_PIEZA 'SUBRUTINA VER_PIEZA


DLY 1 'ESPERAR 1"
IF DETCOLOR=0 THEN NEGRA=1 'SI DETECTOR COLOR=0, PONER VARIABLE "NEGRAS=1"
IF DETCOLOR=1 THEN NEGRA=0 'SI DETECTOR COLOR=1, PONER VARIABLE "NEGRAS=0"
RETURN 'RETORNO A LA LÍNEA SIGUIENTE A GOSUB *VER_PIEZA

*COGER_PIEZA 'SUBRUTINA COGER_PIEZA


MVS P1+VECZ100 'MOVIMIENTO LINEAL A P1+100 EN Z
MOV P2+VECZ100 'MOVIMIENTO INTERPOLADO A P2+100 EN Z
MVS P2 'MOVIMIENTO LINEAL A P2, RECOGIDA PIEZA
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'COGER PIEZA
DLY 0.5 'ESPERAR 0.5"
MVS P2+VECZ100 'MOVIMIENTO LINAL A P2+100 EN Z
RETURN 'RETORNO A LA LÍNEA SIGUIENTE A GOSUB *COGER_PIEZA

*COLOCAR_NEGRA 'SUBRUTINA COLOCAR_NEGRA


MOV P4+VECZ50 'MOVIMIENTO INTERPOLADO A P4+50 EN Z. ALMACÉN NEGRAS
MVS P4 'MOVIMIENTO LINEAL A P4. ALMACÉN NEGRAS
DLY 0.5 'ESPERAR 0.5"
HOPEN 1 'SOLTAR PIEZA
DLY 0.5 'ESPERAR 0.5"
MVS P4+VECZ50 'MOVIMIENTO LINEAL A P4+50 EN Z. ALMACÉN NEGRAS
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
PILOTO=0 'APAGAR PILOTO
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO

*COLOCAR_NO_NEGRA 'SUBRUTINA COLOCAR_NO_NEGRA


MOV P3+VECZ50 'MOVIMIENTO INTERPOLADO A P3+50 EN Z. ALMACÉN NO NEGRAS
MVS P3 'MOVIMIENTO LINEAL A P3. ALMACÉN NO NEGRAS
DLY 0.5 'ESPERAR 0.5"
HOPEN 1 'SOLTAR PIEZA
DLY 0.5 'ESPERAR 0.5"
MOV P3+VECZ50 'MOVIMIENTO INTERPOLADO A P3+50 EN Z. ALMACÉN NO NEGRAS
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
PILOTO=0 'APAGAR PILOTO
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


66
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.6.- GIRAR SOBRE UN EJE DE LA MANO.


En un proceso de trabajo con piezas tenemos que girar la pieza 90º sobre el eje vertical del
plano de la mesa cada vez que accionemos un pulsador. Mientras se realice la operación
tenemos que mantener un piloto activado.
Resolver el mismo ejercicio con distintos tipos de saltos y subrutinas.

ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

POSICIONES:

PROGRAMA:
'********************** GIRAR EN EJE VERTICAL SOBRE PLANO DE LA MESA *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT, 1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 2
DEF INTE GIRO 'VARIABLE ENTERA

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


67
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

DEF POS POSIAUXI 'DEFINIMOS POSICIÓN AUXILIAR


DEF POS VECZ50 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 50mm
'********************* OFFSET ******************************************************
VECZ50=(+0.00,+0.00,+50.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 50mm

'********************* DEFINICIÓN DE ETIQUETA *INICIO ******************************


*INICIO
OVRD 100 'VELOCIDAD ROBOT PARA TODO EL PROGRAMA
SPD 30 'VELOCIDAD ROBOT PARA MOVIMIENTOS LINEALES Y CIRCULARES
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
HOPEN 1 'ABRIR PINZA
WAIT PMARCHA 'ESPERAR QUE ESTÉ EL PULSADOR DE MARCHA
MOV P1+VECZ50 'MOVIMIENTO INTERPOLADO A P1+100 EN Z
PILOTO=1 'ACTIVAR PILOTO
DLY 0.5 'ESPERAR 0.5"
MVS P1 'MOVIMIENTO LINEAL A P1. POSICIÓN PIEZA
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'CERRAR PINZA. COGER PIEZA
GIRO=0 'VARIABLE PARA CONTROLAR LOS GRADOS DE GIRO
POSIAUXI=P1 'POSICIÓN AUXILIAR IGUAL A POSICIÓN PIEZA
WHILE GIRO<90 'MIENTRAS GIRO SEA MENOR QUE 90
POSIAUXI=POSIAUXI+VECC1 'NUEVA POSICIÓN AUXILIAR
MVS POSIAUXI 'MOVIMIENTO LINEAL A POSICIÓN AUXILIAR
GIRO=GIRO+1 'SUMAR 1 AL CONTADOR DE GIRO
WEND 'FIN DE WHILE-WEND
DLY 0.5 'ESPERAR 0.5"
HOPEN 1 'ABRIR PINZA. SILTAR PIEZA
DLY 0.5 'ESPERAR 0.5"
MVS P1+VECZ50 'MOVIMIENTO INTERPOLADO A P1+100 EN Z
PILOTO=0 'DESACTIVAR PILOTO
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


68
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

9.9.7.- EVALUACIÓN DE FLANCO.


Tenemos que desplazar una pieza cobre un plano hasta que la pieza sea vista por un
detector colocado en el plano. Llegado este punto soltaremos la pieza y nos iremos a
posición de espera. El desplazamiento no puede pasar de 300mm. Si llegamos al final del
desplazamiento y no se ha detectado flanco activaremos el piloto, que se desactivará al
pulsar de nuevo el sistema.
Resolver el mismo ejercicio para el flanco negativo.

ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETECTOR DETECTOR CON POSICIÓN VARIABLE BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

POSICIONES:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


69
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA:
'********************** EVALUACIÓN DE FLANCO *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETECTOR=BIT,2 'DEFINIMOS DETECTOR COMO DETECTOR POSICIÓN PIEZA, ASIGNADO AL BIT 2
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1
DEF INTE AVANCEY 'DECLARAR VARIABLE PARA CONTROLAR AVANCE EJE Y EN mm
DEF INTE DETNUEVO 'DECLARAR VARIABLE PARA VALOR DETECTOR NUEVO
DEF INTE DETVIEJO 'DECLARAR VARIABLE PARA VALOR DETECTOR VIEJO

DEF POS POSIAUXI 'DEFINIMOS POSICIÓN AUXILIAR


DEF POS VECZ50 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 50mm
DEF POS VECY1 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Y 1mm
'********************* OFFSET ******************************************************
VECZ50=(+0.00,+0.00,+50.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 50mm
VECY1=(+0.00,+1.00,+0.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 1mm

'********************* DEFINICIÓN DE ETIQUETA *INICIO ******************************


*INICIO
OVRD 100 'VELOCIDAD ROBOT PARA TODO EL PROGRAMA
SPD 30 'VELOCIDAD ROBOT PARA MOVIMIENTOS LINEALES Y CIRCULARES
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
HOPEN 1 'ABRIR PINZA
WAIT PMARCHA 'ESPERAR A QUE ESTÉ EL PULSADOR DE MARCHA
MOV P1+VECZ50 'MOVIMIENTO INTERPOLADO A P1+50 EN Z
PILOTO=0 'DESACTIVAR PILOTO
DLY 0.5 'ESPERAR 0.5"
MVS P1 'MOVIMIENTO LINEAL A P1. POSICIÓN PIEZA
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'CERRAR PINZA. COGER PIEZA
GOSUB *AVANZAREVALUARFLANCO 'ETIQUETA PARA HACER AVANCE Y EVALUAR FLANCO
GOSUB *SOLTARPIEZA 'ETIQUETA SOLTAR PIEZA E IR A POSICIÓN DE INICIO
END 'FIN PROGRAMA

*AVANZAREVALUARFLANCO 'ETIQUETA HACER AVANCE Y EVALUAR FLANCO


AVANCEY=0 'VARIABLE PARA CONTROLAR LOS mm DE DESPLAZAMIENTO
POSIAUXI=P1 'POSICIÓN AUXILIAR IGUAL A POSICIÓN PIEZA
*EVALUARFLANCO 'ETIQUETA EVALUAR FLANCO
DETNUEVO=DETECTOR 'GUARDAR ESTADO DETECTOR EN LA VARIABLE "DETNUEVO"
IF DETNUEVO=1 AND DETVIEJO=0 THEN GOTO *TERMINAR 'SI SE DETECTA FLANCON POSITIVO, TERMINAR
POSIAUXI=POSIAUXI+VECY1 'NUEVA POSICIÓN AUXILIAR
MVS POSIAUXI 'MOVIMIENTO LINEAL A POSICIÓN AUXILIAR
DETVIEJO=DETNUEVO 'GUARDAR ESTADO DETENUEVO COMO ESTADO DETVIEJO
AVANCEY=AVANCEY+1 'SUMAR 1 AL CONTADOR DE AVANCEX
IF AVANCEY=300 THEN PILOTO=1 'SI HEMOS AVANZADO 300mm ACTIVAR PILOTO
IF AVANCEY=300 THEN *TERMINAR 'SI HEMOS AVANZADO 300mm TERMINAR
GOTO *EVALUARFLANCO 'SALTAR A ETIQUETA EVALUARFLANCO
*TERMINAR 'ETIQUETA TERMINAR
RETURN 'VOLVER A LÍNEA SIGUIENTE A GOSUB *AVANZAREVALUARFLANCO

*SOLTARPIEZA 'VOLVER A LÍNEA SIGUIENTE A GOSUB *AVANZAREVALUARFLANCO


'ETIQUETA SOLTARPIEZA
DLY 0.5 'ESPERAR 0.5"
HOPEN 1 'ABRIR PINZA
DLY 0.5 'ESPERAR 0.5"
MVS POSIAUXI+VECZ50 'MOVIMIENTO LINEAL A POSIXIÓN AUXILIAR
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
RETURN 'VOLVER A LÍNEA SIGUIENTE A GOSUB *SOLTARPIEZA

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


70
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

10.- INTERRUPCIONES.
Son instrucciones que al recibir o al cumplirse una condición en cualquier momento de la
ejecución del programa (no en un punto determinado) realiza una tarea especificada y
una vez finalizada vuelve al punto del programa principal donde lo había dejado. Según
el tipo de robot tiene hasta 8 niveles de interrupción 1…8.

DEF ACT.- Define las condiciones de interrupción y el proceso para generarla.

Ejemplos de llamadas de instrucción:


DEF ACT 1, M_IN(7)=1 GOSUB 200......... Define con prioridad nº1, la llamada de la
subrutina de la 200 cuando la señal de
entrada M_IN(7) se activa.
DEF ACT 2, M_IN(8)=1 GOSUB 480, L.........Define con prioridad nº2, la llamada de la
subrutina de la 480 cuando la señal de
entrada M_IN(8) se activa y la instrucción
que se estaba ejecutando termina.
DEF ACT 3, M_IN(9)=1 GOSUB 330............ Define con prioridad nº3, la llamada de la
subrutina de la 330 cuando la señal de
entrada M_IN(9) se activa.

ACT.- Señala la validez de la interrupción.

Ejemplos de validación de llamadas de instrucción:


ACT 1=1............. Habilita la interrupción de prioridad nº1.
ACT 2=0............. Deshabilita la interrupción de prioridad nº2.

RETURN.- Si una subrutina es llamada por el proceso de interrupción, retorna a donde se hizo
la interrupción.

Ejemplos de retornos de llamadas de instrucción:

RETURN 0........... Retorna a la línea donde ocurrió la interrupción.


RETURN 1........... Retorna a la siguiente línea de donde ocurrió la interrupción.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


71
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

10.1.- EJEMPLO DE INTERRUPCIÓN.


Con un robot tenemos que gestionar un reparto de piezas y un horno:
En el proceso principal llevamos piezas desde un punto de recogida a dos procesos de
forma alternativa llamados PROCESO 1 y PROCESO 2.
Paralelo al proceso principal, se está gestionando un horno en el que tenemos que enfriar
piezas y depositarlas en el PROCESO 3, al que tenemos que atender de forma prioritaria.
Estos procesos se pueden pausar en cualquier momento por la acción de un pulsador de
pausa.

ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
PPAUSA PULSADOR DE PAUSA BIT 2 ENTRADA
DETENTRADA DETECTOR ENTRADA BIT 3 ENTRADA
DETHORNO DETECTOR HORNO BIT 4 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


72
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


73
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

POSICIONES:

PROGRAMA:
'********************** EJEMPLO DE INTERRUPCIÓN *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PPAUSA=BIT,2 'DEFINIR PPAUSA COMO PULSADOR DE PAUSA Y ASIGNARLO AL BIT 2
DEF IO DETENTRADA=BIT,3 'DEFINIMOS DETENTRADA COMO DETECTOR ENTRADA PIEZA, ASIGNADO AL BIT 3
DEF IO DETHORNO=BIT,4 'DEFINIMOS DETHORNO COMO DETECTOR PIEZA HORNO, ASIGNAMOS A BIT 4
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1

DEF ACT 1, DETHORNO=1 GOSUB *HORNO 'DECLARAR INTERRUPCIÓN PRIORIDAD 1. ASOCIADA AL DETECTOR HORNO
DEF ACT 2, PPAUSA=0 GOSUB *PARAR 'DECLARAR INTERRUPCIÓN PRIORIDAD 2. ASOCIADA AL PULSADOR DE PAUSA

DEF POS VECZ50 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 50mm


'********************* OFFSET ******************************************************
VECZ50=(+0.00,+0.00,+50.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 50mm

'********************* DEFINICIÓN DE ETIQUETA *INICIO ******************************


ACT 2=1 'HABILITAR LA INTERRUPCIÓN DE PRIORIDAD 2 (PAUSA)
*INICIO 'ETIQUETA *INICIO
OVRD 100 'VELOCIDAD ROBOT PARA TODO EL PROGRAMA
SPD 20 'VELOCIDAD ROBOT PARA MOVIMIENTOS LINEALES Y CIRCULARES
MOV P99 'MOVIMIENTO INTERPOLADO A P99, POSICIÓN DE REPOSO (ESPERA)
HOPEN 1 'ABRIR PINZA
WAIT PMARCHA 'ESPERAR A QUE ESTÉ EL PULSADOR DE MARCHA
PILOTO=1 'DESACTIVAR PILOTO
GOTO *PIEZANORMAL 'LLAMADA A SUBRUTINA *PIEZANORMAL
END 'FIN PROGRAMA

*PIEZANORMAL 'SUBRUTINA *PIEZANORMAL


WAIT DETENTRADA 'ESPERAR A PIEZA EN ENTRADA
MOV P1+VECZ50 'MOVIMIENTO INTERPOLADO A P1+50 EN Z
ACT 1=0 'DESHABILITAR LA INTERRUPCIÓN DE PRIORIDAD 1 (HORNO)
DLY 0.5 'ESPERAR 0.5"
MVS P1 'MOVIMIENTO LINEAL A P1. POSICIÓN PIEZA ENTRADA
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'CERRAR PINZA. COGER PIEZA
MVS P1+VECZ50 'MOVIMIENTO LINEAL A P1+50 EN Z
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (PROCESO 1)
HOPEN 1 'ABRIR PINZA. S0LTAR PIEZA
ACT 1=1 'HABILITAR LA INTERRUPCIÓN DE PRIORIDAD 1 (HORNO)
WAIT DETENTRADA 'ESPERAR A PIEZA EN ENTRADA
MOV P1+VECZ50 'MOVIMIENTO INTERPOLADO A P1+50 EN Z
ACT 1=0 'DESHABILITAR LA INTERRUPCIÓN DE PRIORIDAD 1 (HORNO)
DLY 0.5 'ESPERAR 0.5"
MVS P1 'MOVIMIENTO LINEAL A P1
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'CERRAR PINZA. COGER PIEZA
MVS P1+VECZ50 'MOVIMIENTO LINEAL A P1+50 EN Z
MOV P3 'MOVIMIENTO INTERPOLADO A (PROCESO 2)
HOPEN 1 'ABRIR PINZA. S0LTAR PIEZA

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


74
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

ACT 1=1 'HABILITAR LA INTERRUPCIÓN DE PRIORIDAD 1 (HORNO)


GOTO *PIEZANORMAL 'SALTAR A ETIQUETA *PIEZANORMAL

*HORNO 'ETIQUETA INTERRUPCIÓN HORNO (ENFRIAR PIEZA)


MOV P4+VECZ50 'MOVIMIENTO INTERPOLADO A P4+50 EN Z
MVS P4 'MOVIMIENTO LINEAL A P4 (PIEZA EN HORNO)
DLY 0.5 'ESPERAR 0.5"
HCLOSE 1 'CERRAR PINZA. COGER PIEZA
DLY 0.5 'ESPERAR 0.5"
MVS P4+VECZ50 'MOVIMIENTO LINEAL A P4+50 EN Z
MOV P5+VECZ50 'MOVIMIENTO INTERPOLADO A P+50 EN Z
MVS P5 'MOVIMIENTO LINEAL A P5 (BAÑO ENFRIADOR)
DLY 5 'ESPERAR 5"
MVS P5+VECZ50 'MOVIMIENTO LINEAL A P5+50 EN Z
MOV P6 'MOVIMIENTO INTERPOLADO A P6 (PROCESO 3)
DLY 0.5 'ESPERAR 0.5"
HOPEN 1 'ABRIR PINZA. SPLTAR PIEZA
DLY 0.5 'ESPERAR 0.5"
RETURN 0 'RETORNAR A LA LÍNEA DONDE OCURRIÓ LA INTERRUPCIÓN

*PARAR 'INTERRUPCIÓN PRIORIDAD 2. ASOCIADA AL PULSADOR DE PAUSA


WAIT PPAUSA=1 'ESPERAR A QUE LIBEREMOS EL PILSADOR DE PAUSA
RETURN 0 'RETORNAR A LA LÍNEA DONDE OCURRIÓ LA INTERRUPCIÓN

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


75
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

11.- PALETIZACIÓN.
La manipulación automatizada de objetos y piezas, ha extendido la utilización de palés, que
son contenedores compartimentados o elementos de fijación, que permiten ordenar un
determinado número de piezas iguales, para su transporte y manipulación del conjunto.
Esta manera hace que no se pierda el orden, facilitando las tareas de manipulación.
DEF PLT.- Define el palé para ser usado.
Ejemplos de llamadas de instrucción:

DEF PLT 1, P1, P2, P3, P4, 4, 5, 1 Define el palet nº1, con posición de inicio en P1,
posición final de primera fila en P2, posición inicial
de última fila en P3, y punto diagonal en P4. El palet
será 4x5, y su distribución del tipo 1 (zig-zag).
DEF PLT 1, P1, P2, P3, , 6, 5, 2 Define el palet nº1, con posición de inicio en P1,
posición final de primera fila en P2 y posición inicial
de última fila en P3. El palet será 6x5, y su
distribución del tipo 2 (misma dirección).
DEFPLT1, P1, P2, P3, , , 1, 3 Define el palet nº1, posición de inicio en P1, punto de
transito P2 y posición final en P3. El palet es en arco
(tipo 3) y tiene 7 posiciones.

Tipo 3

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


76
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

OJO: EL PALET EN ARCO NO ES SOPORTADO POR MELFA BASIC.

NOTA: Se ha de tener en cuenta que la posición relativa de la pinza respecto el brazo ha


de ser del mismo signo. No puede haber dos posiciones que definen el palé con la
coordenada de orientación en 180º y 180º.

PLT Obtiene la posición deseada sobre un palé.

Ejemplos de llamadas de instrucción:


(PLT 1, 4)........... Obtiene la cuarta posición del palé nº1.
(PLT 1, M1)........ Obtiene la posición indicada por la variable M1, del palé nº1.

Programa ejemplo:

DEF PLT 1, P2, P3, P4, P5, 3, 4, 2


MOV P1
HCLOSE 1
P10=(PLT 1, 4)
MOV P10, -50
MVS P10
HOPEN 1
MVS P10, -50
P10=(PLT 1, 11)
MOV P10, -50
MVS P10
HCLOSE 1
MVS P10, -50

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


77
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

11.1.- EJERCICIO DE PALETIZACIÓN.


Realizar programa para llenar un palé 3x3. Al activar un pulsador, el robot irá a la posición
de recogida, y esperará a que haya pieza. Cada vez que recoja una pieza la pondrá en una
posición distinta del palé, haciendo una distribución en modo zig-zag, luego volverá a la
posición de espera de recogida hasta completar el palé. Mientras se esté rellenando el
palé, tiene que estar activado un piloto de señalización.

ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETENTRADA DETECTOR ENTRADA BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA

POSICIONES:

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


78
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

PROGRAMA:
'********************** PALETIZADOR EN ZIG-ZAG *********************
'*********************DEFINICIÓN DE VARIABLES
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETENTRADA=BIT,2 'DEFINIMOS DETENTRADA COMO DETECTOR ENTRADA PIEZA, ASIGNADO AL BIT 2
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1

DEF INTE CONT 'DEFINIR CONT COMO VARIABLE ENTERA

DEF POS VECZ50 'DEFINIMOS VECTOR DE CORRECCIÓN EN EJE Z 50mm


'********************* OFFSET ******************************************************
VECZ50=(+0.00,+0.00,+50.00,+0.00,+0.00,+0.00) 'CORRECCIÓN EJE Z 50mm

'********************* DEFINICIÓN DE ETIQUETA *INICIO ******************************


*INICIO 'ETIQUETA INICIO
WAIT PMARCHA=1 'ESPERAR A QUE ESTÉ EL PULSADOR DE MARCHA
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN INICIO
PILOTO=1 'ACTIVAR PILOTO
DEF PLT 1,P2,P3,P4,P5,3,3,3 'DEFINIR PALET 1
CONT=1 'VARIABLER DE CONTROL PARA BUCLE WHILE '
OVRD 100 'VELOCIDAD ROBOT PARA TODO EL PROGRAMA
SPD 60 'VELOCIDAD ROBOT PARA MOVIMIENTOS LINEALES Y CIRCULARES
HOPEN 1 'ABRIR PINZA
MOV P1,-60 'MOVIMIENTO INTERPOLADO A POSICIÓN COGER PIEZA MENOS 60mm P1-60 EN Z
WHILE (CONT<=9) 'MIENTRAS CONT SEA <10, SE EJECUTA EL BUCLE WHILE
WAIT DETENTRADA=1 'ESPERAR A QUE HAYA PIEZA
MVS P1 'MOVIMIENTO LINEAL A LA POSICIÓN DE COGER PIEZA P1
HCLOSE 1 'CERRAR PINZA
DLY 0.5 'ESPERAR 0´5"
MVS P1,-60 'MOVIMIENTO LINEAL A POSICIÓN COGER PIEZA MENOS 60mm P1-60 EN Z
P9=(PLT 1,CONT) 'ASIGANAMOS EL VALOR DE UNA POSICIÓN DEL PALET A LA VARIBLE DE POSICIÓN P9
MOV P9+VECZ50 'MOVIMIENTO INTERPOLADO A LA POSICIÓN RESULTANTE DE SUMAR COORDENADAS
MVS P9 'MOVIMIENTO LINEAL A LA POSICIÓN P9
HOPEN 1 'ABRIR PINZA
DLY 0.5 'ESPERAR 0´5"
MOV P9+VECZ50 'MOVIMIENTO INTERPOLADO A LA RESULTANTE DE LA SUMA DE COORDENADAS
MOV P1,-60 'MOVIMIETNO INTERPOLADO A POSICIÓN ALEJADA 60mm DE COGER PIEZA P1-60
CONT=CONT+1 'INCREMENTA EL VALOR DE LA VARIABLE CONT
WEND 'FIN BUCLE WHILE WEND
PILOTO=0 'DESACTIVAR PILOTO
MOV P99 'MOVIMIENTO INTERPOLADO A LA POSICIÓN DE INICIO
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


79
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

12.- EJERCICIOS GENERALES.

12.1.- MOSTRAR PIEZAS PARA ALMACENAR.


Realizar un programa para que el brazo industrial coja una pieza de la zona de recogida, y
luego la muestre. En esta posición, ejecutará una subrutina diferente en función de la orden
que se le dé:
· PMOSTRAR.- Siguiendo en la misma posición, gira la pieza despacio 180°, para
mostrarla mejor.
· PGIRAR.- Realiza un círculo y deposita la pieza en el almacén 1.
· PMOVER.- Mueve la pieza arriba y abajo y la deposita en el almacén 2.
· PDESPERDICIOS.- Deposita la pieza en la zona de desperdicios.

Realización:
Las posiciones clave para realizar el movimiento descrito serán:
-P1 : posición inicio o de reposo
-P2 : posición de recogida de piezas
-P3 : posición de mostrar
-P4 : posición de inicio del circulo
-P5 : posición de tránsito 1
-P6 : posición de tránsito 2
-P7 : posición del almacén 1
-P8 : posición para mover arriba y abajo
-P9 : posición del almacén 2
-P10 : posición del almacén de desperdicios

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


80
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL

12.2.- ABECEDARIO.
Realizar programa para escribir el abecedario, metiendo cada letra en una subrutina.
Seguiremos la siguiente matriz.

Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina


81

También podría gustarte