Epson IntelliFlex Feeding System Manual de usuario

Tipo
Manual de usuario
Mod. 4 EM208S4495F
Opción EPSON RC+ 7.0
Alimentación de
piezas 7.0
Introducción y hardware (común) y software
CPD-60398
Opción de EPSON RC+ 7.0 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 i
Opción EPSON RC+ 7.0
Alimentación de piezas 7.0
Introducción y hardware (común) y software
Mod. 4
Copyright 2019-2020 SEIKO EPSON CORPORATION. Todos los derechos reservados.
ii Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PRÓLOGO
Gracias por comprar nuestro sistema de robot.
Este manual contiene la información necesaria para el uso correcto de la opción
Alimentación de piezas de EPSON RC+.
Lea atentamente este manual y otros manuales relacionados antes de instalar el sistema de
robot.
Mantenga este manual a la mano para un acceso fácil en todo momento.
GARANTÍA
El sistema de robot y las piezas opcionales se envían a nuestros clientes solo después de
haberlos sometido a los más estrictos controles, pruebas e inspecciones de calidad para
certificar que cumplen con nuestras altas normas de rendimiento.
Los productos que tengan un mal funcionamiento como resultado de la manipulación u
operación normales se repararán en forma gratuita durante el período normal de la garantía.
(Comuníquese con la oficina regional de ventas para obtener información sobre el período
de garantía).
Sin embargo, se cobrarán al cliente las reparaciones en los siguientes casos (aunque sucedan
dentro del período de garantía):
1.
Daño o mal funcionamiento provocados por un uso inadecuado que no se describe en
este manual o por uso descuidado.
2.
Mal funcionamiento provocado por el desmontaje no autorizado del producto por parte
de los clientes.
3.
Daños debido a ajustes inadecuados o a intentos de reparación no autorizados.
4.
Daño provocado por desastres naturales, como terremotos, inundaciones, etc.
Advertencias, precauciones, uso:
1.
Si el equipo asociado al sistema de robot no se usa de acuerdo con las condiciones de
uso y las especificaciones del producto descritas en los manuales, esta garantía queda
nula.
2.
Si no sigue las ADVERTENCIAS y PRECAUCIONES de este manual, no podemos
hacernos responsables de ningún mal funcionamiento o accidente, incluso si tienen
como resultado lesiones o la muerte.
3.
No podemos prever todos los posibles peligros y consecuencias. Por lo tanto, este
manual no puede advertir al usuario de todos los posibles peligros.
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 iii
MARCAS COMERCIALES
Microsoft, Windows, el logotipo de Windows, Visual Basic y Visual C++ son marcas
registradas o marcas comerciales de Microsoft Corporation en los Estados Unidos y en otros
países. Otras marcas y nombres de productos son marcas comerciales o marcas registradas
de sus respectivos titulares.
NOTACIÓN DE MARCAS COMERCIALES EN ESTE MANUAL
Sistema operativo Microsoft® Windows® 8
Sistema operativo Microsoft® Windows® 10
En todo este manual, Windows 8 y Windows 10 se refieren a los respectivos sistemas
operativos ya citados. En algunos casos, Windows se refiere en forma genérica a Windows
8 y Windows 10.
AVISO
Ninguna parte de este manual se puede copiar o reproducir sin autorización.
El contenido de este manual está sujeto a cambios sin previo aviso.
Notifíquenos si encuentra errores en este manual o si tiene comentarios con respecto a su
contenido.
FABRICANTE
INFORMACIÓN DE CONTACTO
La información de contacto se describe en “PROVEEDORES” en las primeras páginas del
siguiente manual:
Seguridad e instalación del sistema de robot Lea primero este manual
iv Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Índice
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 v
Introducción
1. Introducción 3
1.1 Descripción general de la alimentación de piezas ................................ 3
1.1.1 Antecedentes ............................................................................ 3
1.1.2 Méritos de la opción de alimentación de piezas ....................... 4
1.1.3 Funciones de la opción de alimentación de piezas .................. 5
1.2 Conocimientos básicos requeridos acerca de EPSON RC+ 7.0 .......... 6
1.3 Manuales relacionados ........................................................................ 6
1.4 Símbolos utilizados en este manual ..................................................... 7
2. Seguridad 8
2.1 Precauciones de seguridad .................................................................. 8
2.2 Seguridad del robot .............................................................................. 8
2.3 Seguridad del sistema de visión ........................................................... 8
2.4 Seguridad del alimentador ................................................................... 8
2.5 Seguridad de la tolva ........................................................................... 8
3. Definición de términos 9
4. Resumen del sistema 11
4.1 Configuración general ........................................................................ 11
4.2 Alimentador ........................................................................................ 12
4.3 Robot .................................................................................................. 12
4.3.1 Manipulador ............................................................................ 12
4.3.2 Efector final ............................................................................. 12
4.4 Sistema de visión ............................................................................... 12
4.4.1 Sistema de visión ................................................................... 12
4.4.2 Cámara ................................................................................... 13
4.5 Iluminación ......................................................................................... 13
4.6 PC ...................................................................................................... 13
4.7 Tolva .................................................................................................. 13
5. Resumen de la operación 14
5.1 Proceso de alimentación de piezas .................................................... 14
5.2 Suministro de piezas al alimentador .................................................. 15
5.2.1 Cantidades de piezas suministradas ...................................... 15
5.3 Operación del alimentador .................................................................. 17
5.3.1 Volteo y separación ................................................................ 17
5.3.2 Desplazamiento ...................................................................... 17
5.4 Posiciones de recogida de piezas en la plataforma ........................... 18
5.4.1 Recogida desde cualquier lugar ............................................. 18
5.4.2 Recogida desde cualquier región ........................................... 18
5.5 Cómo evitar interferencias entre el efector final y la plataforma ......... 18
Índice
vi Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6. Piezas 19
6.1 Condiciones para las piezas utilizables ............................................. 19
6.1.1 Compatibilidad con el sistema de visión ................................ 19
6.1.2 Tamaño y peso ...................................................................... 19
6.1.3 Materiales y características .................................................... 19
6.1.4 Forma de las piezas y otras consideraciones ........................ 20
6.2 Ejemplos de piezas ............................................................................ 21
6.2.1 Relación entre cantidad de piezas cargadas al alimentador y
cantidad detectada por el procesamiento de imágenes ................... 22
6.2.2 Relación entre cantidad cargada al alimentador y UPM
promedio .......................................................................................... 23
6.2.3 Relación entre operación del alimentador y UPM .................. 24
6.2.4 Relación entre cantidad de piezas en el alimentador y operación
de la tolva......................................................................................... 25
7. Usemos la opción de alimentación de piezas 26
7.1 Flujo de trabajo .................................................................................. 26
7.2 Requisitos .......................................................................................... 27
7.2.1 Configuración de dispositivos ................................................ 27
7.2.2 Conexión y ajuste .................................................................. 27
7.2.3 Pieza ...................................................................................... 27
7.2.4 Configuraciones ..................................................................... 28
7.2.5 Otros ...................................................................................... 28
7.3 Activación de la tecla de opciones de alimentación de piezas. ......... 28
7.4 Configuración de las comunicaciones del alimentador ...................... 29
7.5 Creación de un proyecto para alimentación de piezas ...................... 29
7.6 Creación de una pieza nueva. ........................................................... 30
7.7 Configuración de los ajustes de iluminación ...................................... 31
7.8 Creación de las secuencias de visión ................................................ 31
7.8.1 Creación de una secuencia de visión para detectar piezas ... 31
7.8.2 Creación de una secuencia de visión para calibrar el
alimentador ...................................................................................... 33
7.9 Configuración de las configuraciones de visión ................................. 34
7.10 Configuración de los ajustes de recogida ........................................ 35
7.11 Enseñanza de la recogida Z y la postura ......................................... 36
7.12 Ejecución de la calibración de piezas .............................................. 37
7.12.1 Calibración para determinar el área de la pieza ................... 38
7.12.2 Calibración de separación .................................................... 39
7.12.3 Calibración de desplazamiento ............................................ 40
7.12.4 Cómo guardar las calibraciones ........................................... 40
7.13 Creación del programa de partida del proceso de alimentación de
piezas............................................................................................... 41
7.14 Creación de la función de devolución de la llamada PF_Robot....... 42
7.15 Comprobación de la operación del robot. ........................................ 44
Índice
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 vii
8. Varias piezas y varios robots 45
8.1 Especificaciones y requisitos para varias piezas y varios robots ....... 45
8.2 Conceptos clave para varias piezas y varios robots .......................... 47
8.2.1 PF_ActivePart ......................................................................... 47
8.2.2 PF_Start ................................................................................. 48
8.2.3 Visión y carga de cola ............................................................ 49
8.2.4 Valores devueltos de PF_Robot ............................................. 49
8.2.5 PF_AccessFeeder / PF_ReleaseFeeder ................................ 51
8.2.6 PF_Stop ................................................................................. 51
8.2.7 PF_InitLog .............................................................................. 51
8.2.8 PF_QtyAdjHopperTime .......................................................... 52
8.3 Tutoriales ........................................................................................... 52
8.3.1 Tutorial n.º 1: 1 robot, 1 alimentador, 2 piezas ....................... 52
8.3.2 Tutorial n.º 2: 2 robots, 1 alimentador, 2 piezas ..................... 57
8.4 Resumen de varias piezas/ varios robots ........................................... 62
Hardware (Común)
1. Verifique los elementos incluidos. 65
2. Configuración de sistema 66
2.1 Ejemplo de configuración ................................................................... 66
2.2 Consideraciones para seleccionar una configuración ........................ 67
2.3 Seleccione un lente de cámara. ......................................................... 67
3. Instalación y ajuste 68
3.1 Manipulador y controlador .................................................................. 68
3.2 Cámara y lente ................................................................................... 68
3.3 Alimentador y tolva ............................................................................. 69
4. Cableado eléctrico 71
4.1 Precauciones sobre la fuente de alimentación ................................... 71
4.2 Cableado de alimentación al alimentador .......................................... 72
4.3 Cableado de alimentación a la tolva .................................................. 72
4.4 Cableado del robot ............................................................................. 72
4.5 Cableado de la cámara ...................................................................... 72
5. Lista de piezas opcionales 73
Índice
viii Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Software
1. Introducción 77
1.1 Configuración del software de alimentación de piezas ...................... 77
1.1.1 Ventana de alimentación de piezas ....................................... 77
1.1.2 Comandos SPEL+ para la alimentación de piezas ................ 78
1.1.3 Proceso de alimentación de piezas ....................................... 79
1.1.4 Funciones de devolución de la llamada para alimentación de
piezas .............................................................................................. 80
1.2 Proyectos de alimentación de piezas ................................................ 81
1.2.1 Aplicación de la opción de alimentación de piezas en un
proyecto ........................................................................................... 81
1.2.2 Creación de un proyecto ........................................................ 82
1.2.3 Archivos de configuración ...................................................... 82
1.2.4 Importación de archivos ........................................................ 83
1.2.5 Copia de seguridad o restauración del controlador ................ 83
1.3 Programación en SPEL ..................................................................... 84
1.3.1 Resumen sobre programación ............................................... 84
1.3.2 Partida del proceso de alimentación de piezas ...................... 87
1.3.3 Procesamiento de recogida y colocación ............................... 88
1.3.4 Errores de procesamiento ...................................................... 90
1.3.5 Procesamiento final................................................................ 93
1.3.6 Otros ...................................................................................... 93
2. GUI de alimentación de piezas 94
2.1 Configuración de sistema .................................................................. 94
2.1.1 Página de alimentación de piezas ......................................... 94
2.1.2 Página seguridad ................................................................... 96
2.2 Asistente de piezas ............................................................................ 97
2.2.1 Agregue una pieza nueva. ..................................................... 97
2.2.2 General .................................................................................. 97
2.2.3 Iluminación ............................................................................. 98
2.2.4 Volteo ..................................................................................... 99
2.2.5 Visión ..................................................................................... 99
2.2.6 Secuencia de calibración de visión ...................................... 100
2.2.7 Secuencia de búsqueda de piezas de visión ....................... 101
2.2.8 Orientación del alimentador y región de recogida ................ 102
2.2.9 Exclusión de interferencia con la mano ................................ 102
2.2.10 Purga ................................................................................. 103
2.2.11 Calibración ......................................................................... 103
2.2.12 Finalización ........................................................................ 104
2.3 Diálogo de alimentación de piezas .................................................. 105
2.3.1 General ................................................................................ 105
2.3.2 Iluminación ........................................................................... 107
2.3.3 Visión ................................................................................... 108
Índice
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 ix
2.3.4 Suministro de piezas ............................................................ 109
2.3.5 Recogida .............................................................................. 111
2.3.6 Ventana de enseñanza......................................................... 112
2.3.7 Purga .................................................................................... 113
2.3.8 Calibración ............................................................................ 114
2.4 Asistente de calibración del alimentador .......................................... 117
2.4.1 Operación básica .................................................................. 118
2.4.2 Preparación .......................................................................... 119
2.4.3 Inicio del asistente ................................................................ 119
2.4.4 Calibración del área de piezas ............................................. 120
2.4.5 Calibración de volteo y separación ....................................... 121
2.4.6 Calibración de desplazamiento ............................................. 123
2.4.7 Calibración de purga ............................................................ 124
2.4.8 Finalización ........................................................................... 125
2.4.9 Recalibración del alimentador .............................................. 125
2.5 Comprobación de los resultados de calibración del alimentador ..... 126
2.6. Menú [File] ...................................................................................... 127
2.6.1 [Import] (Menú File) ............................................................... 127
3. Referencia de comandos SPEL+ para la alimentacn de piezas 128
PF_Abort ................................................................................................. 129
PF_AccessFeeder ................................................................................... 130
PF_ActivePart ......................................................................................... 132
PF_Backlight ........................................................................................... 133
PF_BacklightBrightness .......................................................................... 134
Función PF_Info ...................................................................................... 135
PF_InitLog ............................................................................................... 136
Función PF_IsStopRequested ................................................................ 137
Función PF_Name$ ................................................................................ 138
Función PF_Number ............................................................................... 139
PF_OutputOnOff ..................................................................................... 140
Función PF_Purge .................................................................................. 141
Función PF_QtyAdjHopperTime ............................................................. 142
PF_QueAdd ............................................................................................ 144
PF_QueAutoRemove .............................................................................. 145
Función PF_QueAutoRemove ................................................................ 146
Función PF_QueGet ............................................................................... 147
Función PF_QueLen ............................................................................... 148
PF_QueList ............................................................................................. 149
PF_QuePartOrient .................................................................................. 150
Función PF_QuePartOrient ..................................................................... 151
PF_QueRemove ..................................................................................... 152
PF_QueSort ............................................................................................ 153
Función PF_QueSort .............................................................................. 154
Índice
x Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_QueUserData ................................................................................... 155
Función PF_QueUserData ..................................................................... 156
PF_ReleaseFeeder................................................................................. 157
PF_Start ................................................................................................. 159
PF_Stop .................................................................................................. 161
4. Funciones de devolución de la llamada para alimentación de piezas 162
4.1 Elementos comunes ........................................................................ 162
PF_Robot ....................................................................................... 163
PF_Control ..................................................................................... 166
PF_Status ...................................................................................... 168
PF_MobileCam .............................................................................. 171
PF_Vision....................................................................................... 172
PF_CycleStop ................................................................................ 174
5. Archivo de registro de alimentación de piezas 175
5.1 Resumen ......................................................................................... 175
5.2 Activación de la función de registro ................................................. 175
5.3 Formato del archivo de registro ....................................................... 175
5.3.1 Elementos comunes ............................................................. 175
5.3.2 Registro de la secuencia de visión ....................................... 176
5.3.3 Registro de la secuencia de visión en el sistema ................. 176
5.3.4 Registro del alimentador ....................................................... 176
5.3.5 Registro de la función de devolución de la llamada
PF_Robot....................................................................................... 177
5.3.6 Registro de la función de devolución de la llamada
PF_MobileCam .............................................................................. 177
5.3.7 Registro de la función de devolución de la llamada
PF_Control..................................................................................... 177
5.3.8 Registro de la función de devolución de la llamada
PF_Status....................................................................................... 178
5.3.9 Registro de la función de devolución de la llamada
PF_Vision....................................................................................... 178
5.4. Muestra de registro ......................................................................... 179
6. Secuencias de visión que se usan con la opción de alimentación de
piezas 180
6.1 Calibración de visión ........................................................................ 180
6.2 Secuencia de visión para calibrar el alimentador ............................ 180
6.2.1 Secuencia de visión ............................................................. 181
6.2.2 Objetos de visión ................................................................. 181
6.3 Secuencia de visión para detectar las piezas .................................. 182
6.3.1 Piezas simples ..................................................................... 182
6.3.2 Piezas con lados .................................................................. 184
6.3.3 Piezas que requieren separación con respecto al gripper ... 186
6.3.4 Configuraciones especiales de visión .................................. 189
Índice
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 xi
6.3.5 Ejemplo de ausencia de recogida al establecer contacto
con las siguientes piezas ................................................................ 189
7. Cómo ajustar la tolva 191
7.1 Cómo ajustar ..................................................................................... 191
7.2 Cómo ajustar la tolva IF-80 ............................................................... 192
8 Errores que ocurren mientras se usa EPSON RC+ 194
9. Ejemplos de programación de la aplicación 195
9.1 Un robot por alimentador y una pieza por alimentador .................... 195
9.1.1 Ejemplo de programa 1.1 .................................................... 195
9.1.2 Ejemplo de programa 1.2 .................................................... 197
9.1.3 Ejemplo de programa 1.3 .................................................... 199
9.1.4 Ejemplo de programa 1.4 .................................................... 201
9.1.5 Ejemplo de programa 1.5 .................................................... 203
9.1.6 Ejemplo de programa 1.6 .................................................... 206
9.1.7 Ejemplo de programa 1.7 .................................................... 209
9.1.9 Ejemplo de programa 1.9 .................................................... 210
9.1.9 Ejemplo de programa 1.9 .................................................... 212
9.1.10 Ejemplo de programa 1.10 ................................................ 214
9.1.11 Ejemplo de programa 1.11 ................................................ 216
9.2 Un robot Varias piezas .................................................................. 219
9.2.1 Ejemplo de programa 2.1 .................................................... 219
9.3 Dos robots Una pieza .................................................................... 221
9.3.1 Ejemplo de programa 3.1 .................................................... 221
9.3.2 Ejemplo de programa 3.2 .................................................... 223
9.3.3 Ejemplo de programa 3.3 .................................................... 226
9.4 Dos robots Varias piezas .............................................................. 229
9.4.1 Ejemplo de programa 4.1 .................................................... 229
9.4.2 Ejemplo de programa 4.2 .................................................... 231
9.4.3 Ejemplo de programa 4.3 .................................................... 234
Solución de problemas 239
Dirección IP desconocida del alimentador .............................................. 239
El alimentador no vibra o la vibración es débil ........................................ 239
Las piezas del alimentador no se mueven con fluidez o tienen una
separación desigual ................................................................................ 239
La tolva no vibra ...................................................................................... 240
Las piezas llenan por completo la plataforma ......................................... 240
Se acaban las piezas de la plataforma ................................................... 240
TP3 no puede compilar el proyecto con la opción PartFeeding
(Alimentación de piezas) ......................................................................... 240
No se puede guardar un nombre del alimentador con más de
17 caracteres de longitud ........................................................................ 240
Índice
xii Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Introducción
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 3
1. Introducción
1.1 Descripción general de la alimentación de piezas
La opción de alimentación de piezas de EPSON RC+ 7.0 (en lo sucesivo, “Opción de
alimentación de piezas”) puede servir para crear con facilidad un sistema en el cual las
piezas son separadas por un alimentador de piezas y un robot las recoge desde el
alimentador.
1.1.1 Antecedentes
Los tipos de fabricación están diversificándose más en respuesta a las crecientes
tendencias de vida más corta de los productos y diversificación de múltiples productos,
manufactura “justo a tiempo” (pequeños lotes con plazos breves) y factores similares. En
contraste, factores como el alza salarial continua, personas alejadas de las áreas de
producción y envejecimiento de la población activa dificultan cada vez más la fabricación,
lo cual conduce a la encrucijada de cómo conseguir la flexibilidad necesaria para
responder ante la diversificación.
Consideremos la alimentación de piezas como un elemento de la creación de líneas de
producción automatizadas.
En realidad, la alimentación de piezas es un elemento esencial para el equipamiento de
producción, porque no se puede aumentar la productividad más allá de la capacidad de
alimentación de piezas. Hoy por hoy, el principal método que se usa en la alimentación de
piezas es el alimentador vibrante con cuba, que es comparativamente menos costoso y
brinda una gran diversidad de usos.
Sin embargo, es necesario crear cubas que correspondan a las piezas alimentadas y,
además, sustituirlas en forma manual para cada tipo de pieza, lo cual conlleva la
coordinación de personal técnico especializado para dichos fines. Estos requisitos
dificultan una respuesta ante la diversificación y los plazos acotados, debido a la necesidad
de contar con avanzadas capacidades y experiencias de ingeniería.
Un dispositivo que corrige algunos de los defectos de un alimentador con cuba es el
“alimentador inteligente de piezas” (“alimentador”, en lo sucesivo) que debutó hace unos
años. Este dispositivo permite manipular fácilmente los diversos tipos de piezas
alimentadas con tan solo cambiar las configuraciones del alimentador. También existen
productos que combinan este alimentador con el procesamiento de imágenes para poder
identificar piezas y un robot que manipula las piezas reconocidas.
Sin embargo, estos tipos de productos requieren que los usuarios especifiquen sus propias
configuraciones para el ajuste y la operación del alimentador, el procesamiento de
imágenes y la manipulación de piezas del robot, pues las operaciones individuales del
alimentador solo se pueden ejecutar desde el sistema de robot. Se necesita tiempo y
experiencia para estudiar y diseñar la alimentación de piezas de manera exhaustiva.
Por ejemplo, el tiempo del ciclo varía enormemente de acuerdo con el número de piezas
alimentadas y la posición en que el robot recoge las piezas. La falta de un diseño adecuado
impedirá que el alimentador opere a plena funcionalidad y con un alto nivel de
desempeño, incluso, por ejemplo, si se utiliza un alimentador de alto desempeño y alto
funcionamiento y, por tanto, evitará mejoras en el tiempo del ciclo. Los actuales productos
de alimentador no pueden ser usados de inmediato por cualquier persona.
Introducción
4 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.1.2 Méritos de la opción de alimentación de piezas
La opción de alimentación de piezas es un producto que aporta innovación a los actuales
alimentadores de piezas.
La introducción de esta opción ofrece los siguientes méritos.
- Integración total del alimentador, sistema de visión y robot
Se incorporan en un solo paquete todos los elementos necesarios para la alimentación de
piezas. La plena integración de alimentador, robot y sistema de visión requiere menos
tiempo de trabajo en la introducción, frente a tener que preparar y evaluar cada caso por
separado.
- Menos tiempo de trabajo para elaborar e iniciar dispositivos
Las operaciones del alimentador y del sistema de visión son automáticas, de modo que el
usuario no tenga que programar nada. El usuario debe describir la operación del robot,
algo que se puede realizar con solo escribir un código de plantilla. Las operaciones del
alimentador, el sistema de visión y el robot están sometidas a un control automático
simultáneo para que el dispositivo se pueda elaborar con un mínimo de programación.
Es fácil la integración a cualquier entorno que emplee el usuario.
Las configuraciones del alimentador, el robot y el sistema de visión se pueden
especificar fácilmente con la GUI.
- Reducido el tiempo de inactividad y los costos de funcionamiento
La opción de alimentación de piezas admite una gran variedad de piezas. No hay
necesidad de cambiar el equipamiento cada vez que se cambian piezas, lo cual disminuye
el tiempo de inactividad en producción.
Tampoco es necesario contar con equipamiento productivo nuevo para bajar los costos
de funcionamiento en el largo plazo.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 5
1.1.3 Funciones de la opción de alimentación de piezas
El uso de las siguientes funciones representativas permite alcanzar plena funcionalidad y
pleno desempeño del alimentador con facilidad, para crear un sistema de alimentación de
piezas de alta eficiencia.
Alimentador y Comunicación I / F
Este sistema incorpora los programas de comunicación para especificar las
configuraciones del alimentador y efectuar los controles.
No es necesario programar nada para la comunicación.
Función de ajuste automático del alimentador
Este sistema incluye una función que ajusta en forma automática los parámetros del
alimentador (como amplitud de vibración y tiempo) según las piezas alimentadas. El
alimentador puede ser ajustado fácilmente, incluso por personas sin conocimientos sobre
alimentadores, con tan solo efectuar unos pocos sencillos procedimientos.
Algoritmos de control del alimentador
El sistema incluye los algoritmos de control del alimentador. Estos algoritmos consideran
la máxima reducción posible del tiempo que requiere el robot para recoger piezas, a fin
de ofrecer una operación eficiente sin mayor esfuerzo por parte del usuario.
Función de salida del registro de tiempos del ciclo para verificar el estado
operativo del robot y del alimentador
Este sistema incluye una función que produce un archivo con los tiempos operativos del
robot, del alimentador y del sistema de visión. Se puede usar para lograr una operación
más eficiente con cambios en las configuraciones de los parámetros y, luego, obtener el
registro para analizar la operación. Para poder utilizar esta función, se debe conectar el
controlador a una PC con EPSON RC+ instalado
Operación de varios alimentadores
Se pueden conectar 4 alimentadores y ser controlados por un solo controlador. Para la
serie T, se pueden controlar hasta 2 alimentadores. Cuando desee vincular las
operaciones de varios alimentadores, puede controlarlas con un solo controlador, lo que
facilita la programación.
Operación de varias piezas
Se pueden procesar simultáneamente cuatro piezas diferentes en un solo alimentador. Se
puede reducir la cantidad de alimentadores, lo que genera menores costos y ahorros de
espacio. En la operación de varias piezas, se pueden usar hasta dos robots por
alimentador.
Operación de purga
Este sistema incluye una operación de purga integrada para las piezas del alimentador,
cuando desee extraer automáticamente una pieza de alimentador para cambiar las piezas,
o bien, cuando desee utilizarla debido a piezas dañadas o exceso de alimentación.
El IF-80 incluye una plataforma para la operación de purga y un contenedor para
almacenar las piezas extraída. (Opcional)
En el IF-240, el IF-380 y el IF-530, el mecanismo de extracción es proporcionado por el
cliente. Esto incluye una puerta que se abre y se cierra cuando se extrae la pieza, un
mecanismo para abrir y cerrar la puerta, un contenedor para guardar la pieza extraída, etc.
Introducción
6 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.2 Conocimientos básicos requeridos acerca de EPSON RC+ 7.0
La opción de alimentación de piezas funciona dentro del entorno EPSON RC+ 7.0.
Para utilizar la opción de alimentación de piezas, se requieren conocimientos del entorno
de desarrollo EPSON RC+ 7.0, de los robots de Epson y de la opción Vision Guide 7.0 de
EPSON RC+ 7.0. La información de este manual está dirigida a personas con
conocimientos de los siguientes elementos.
Conocimientos generales sobre gestión de proyectos y procedimientos de uso de EPSON
RC+ 7.0.
Procedimientos para la creación y edición de programas en SPEL+ con EPSON RC+ 7.0
Procedimientos para la ejecución de programas en SPEL+ desde la ventana Run
Estructura, funciones y procedimientos básicos del lenguaje para usar SPEL+
Funciones y procedimientos de uso de Vision Guide 7.0
1.3 Manuales relacionados
Consulte los siguientes manuales relacionados, junto con los manuales de la opción de
alimentación de piezas para utilizar dicha opción.
Manual del usuario de EPSON RC+ 7.0
Este manual contiene información sobre cómo usar el sistema de control del robot EPSON RC+.
Referencia del lenguaje SPEL
+
Este manual contiene una descripción completa de todos los comandos del lenguaje SPEL
+
.
Manual de cada robot
Los manuales de cada robot incluyen información sobre nuestros robots.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 7
1.4 Símbolos utilizados en este manual
En este manual, los temas importantes aparecen con los siguientes símbolos. A
continuación, una descripción de cada símbolo.
ADVERTENCIA
Este símbolo indica que existe un peligro de posibles lesiones
graves o la muerte si no se siguen adecuadamente las
instrucciones asociadas.
ADVERTENCIA
Este símbolo indica que existe un peligro de posibles daños a
las personas debido a descarga eléctrica si no se siguen
adecuadamente las instrucciones asociadas.
PRECAUCIÓN
Este símbolo indica que existe un peligro de posibles daños a
las personas o daños físicos a los equipos e instalaciones si
no se siguen adecuadamente las instrucciones asociadas.
Las secciones “NOTA” describen información importante que
debe seguir para hacer funcionar el sistema de robot.
Las secciones de “CONSEJO” describen indicaciones sobre
operaciones más sencillas o alternativas.
NOTA
CONSEJO
Introducción
8 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2. Seguridad
Asegúrese de leer este manual antes de usar y operar el producto de manera adecuada.
Tras leer este manual, guárdelo en un sitio de fácil acceso y consúltelo cada vez que tenga
preguntas o dudas.
2.1 Precauciones de seguridad
ADVERTENCIA
No utilice este producto con el fin de garantizar la seguridad.
Use este producto de acuerdo con las condiciones de uso
que se indican en este manual.
El uso de este producto en un entorno que no cumpla con las
condiciones de utilización no solo puede acortar la vida útil
del producto, sino también causar graves problemas de
seguridad.
PRECAUCIÓN
Adquiera el alimentador en un distribuidor autorizado.
Compre la cámara y el cable de la cámara a un distribuidor
autorizado.
Los componentes no adquiridos en un distribuidor autorizado
no tienen cobertura de la garantía.
2.2 Seguridad del robot
Convierta a la seguridad en la máxima prioridad mientras se opera un robot u otro equipo
automatizado. El controlador y EPSON RC+ 7.0 cuentan con muchas funciones de
seguridad. Asegúrese de usar las diversas funciones de seguridad, como parada de
emergencia y entrada de la puerta de seguridad. Utilice estas funciones de seguridad
cuando diseñe células robotizadas.
Para obtener la información y las pautas de seguridad, consulte la sección Seguridad de la
Guía del usuario de EPSON RC+ 7.0.
2.3 Seguridad del sistema de visión
Para informarse sobre la seguridad del sistema de visión, consulte la sección 2.2
Precauciones de seguridad del Manual de hardware y configuración de Vision Guide 7.0.
2.4 Seguridad del alimentador
Para informarse sobre la seguridad del alimentador, consulte la sección 1.2 Precauciones
de seguridad de Opciones de EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-240 u
Opciones de EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-530.
2.5 Seguridad de la tolva
Sobre seguridad de la tolva, consulte las siguientes secciones.
Hardware (tolva) 2. Instrucciones de seguridad
Hardware (controlador de tolva) 2. Notas sobre seguridad
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 9
3. Definición de términos
En el manual se utilizan los siguientes términos con el sentido de las siguientes definiciones.
Hardware
Término Explicación
Alimentador Equipamiento que hace vibrar piezas a granel con el fin de
separarlas para un fácil traslado a cargo del robot.
Plataforma Pieza de un componente del alimentador que sirve como bandeja
de recepción de piezas.
Piezas Piezas manipuladas por el robot. Aporte del usuario.
Alimentación
suplementaria
Método de alimentación en que se agregan piezas al alimentador
desde la tolva para mantener un número óptimo de piezas en el
alimentador de manera constante.
Alimentación de
descarga
Método de alimentación en que solo se alimentan piezas desde
la tolva al alimentador cuando se han alimentado todas las
piezas del alimentador.
Recogida desde
cualquier lugar
Se recogen todas las piezas que se puedan recoger de las piezas
separadas en el alimentador.
Recogida desde
cualquier región
Se recogen las piezas que estén dentro de las regiones
especificadas de piezas separadas del alimentador. Con la
opción de alimentación de piezas, es posible seleccionar entre
cuatro regiones definidas en el alimentador desde donde se
realizará la recogida.
Iluminación del
usuario
Iluminación provista por el usuario. Use esta iluminación si hay
piezas que no puedan ser identificadas mediante la luz de fondo
del alimentador o si se desea identificar la orientación de una
pieza (como delantera o posterior).
Tolva Equipamiento que suministra piezas a la plataforma del
alimentador.
Calibración del
alimentador
Procedimientos para ajustar los parámetros del alimentador, de
modo que las piezas se muevan correctamente en el alimentador
Varios alimentadores Se pueden conectar varios alimentadores a un solo controlador.
Se admiten hasta cuatro alimentadores con esta opción.
Para la serie T, se pueden admitir hasta 2 alimentadores.
Varias piezas Procese simultáneamente varios tipos de piezas en un solo
alimentador. Se admiten hasta cuatro piezas distintas con esta
opción.
Introducción
10 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Software
Término Explicación
Recogida Se refiere a la toma de una pieza del alimentador por parte del
robot.
Colocación Se refiere a cuando una pieza tomada por el robot se suelta o se
coloca en la posición especificada.
Proceso de
alimentación de
piezas
Este proceso automático está incorporado en la opción de
alimentación de piezas, para ofrecer la automatización de la
operación del sistema de visión y del alimentador e invocar las
operaciones del robot.
Función de
devolución de la
llamada
La función SPEL
+
es invocada por el proceso de alimentación
de piezas en las condiciones especificadas. El usuario indica el
contenido de la función. Se describe el procesamiento específico
para el dispositivo del usuario (ejemplo: recogida y colocación
de piezas por parte del robot).
Cola de coordenadas
de piezas
Se usa para obtener las coordenadas de las piezas del
alimentador.
Las coordenadas se definen en el sistema local de coordenadas.
UPM Unidad por minuto
Número de piezas manipuladas por minuto por el robot.
Pieza activa Pieza principal de una operación con varias piezas. Se utilizan
los parámetros de operación del alimentador para esta pieza.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 11
4. Resumen del sistema
Use la opción de alimentación de piezas para crear fácilmente un sistema de recogida y
colocación de piezas.
Esta sección explica cómo configurar un sistema.
4.1 Configuración general
La siguiente figura muestra un ejemplo de configuración de un sistema que usa la opción
de alimentación de piezas. El alimentador IF-80 cuenta con una tolva integrada.
La figura muestra un ejemplo de diseño alrededor del manipulador.
Manipulador
Alimentador
Cámara
Lugar de colocación
de piezas
(tarima, bandeja, etc.)
Introducción
12 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
4.2 Alimentador
Es necesario usar un alimentador en este sistema. Asegúrese de preparar uno.
Se puede usar el IF-80, el IF-240, el IF-380 o el IF-530. No hay compatibilidad con
ningún otro tipo de alimentador.
Se pueden controlar varios alimentadores con un controlador.
Use un alimentador comprado en Epson.
El uso de un alimentador no adquirido en Epson puede provocar la incapacidad de
conexión con el controlador y de lograr plena funcionalidad.
4.3 Robot
Es necesario usar un robot en este sistema. Asegúrese de preparar uno.
4.3.1 Manipulador
Se puede usar un manipulador SCARA o un manipulador de 6 ejes que se pueda conectar
con un controlador RC700/700-A o RC90 o con una serie T. No hay compatibilidad con la
serie X5.
Un manipulador solamente puede ser controlado por un controlador. No se puede usar un
controlador para dos o más manipuladores.
4.3.2 Efector final
Se utiliza un efector final para tomar las piezas. Existen varios tipos, como aquellos de
succión por vacío o presión y los que poseen un mecanismo de sujeción. Seleccione uno
apropiado para sus piezas y necesidades.
Epson no fabrica ni distribuye efectores finales. Asegúrese de preparar las opciones de
manos correctas para el uso.
4.4 Sistema de visión
Se necesita un sistema de visión en este sistema. Asegúrese de preparar uno.
4.4.1 Sistema de visión
Se puede usar cualquiera de los siguientes sistemas de visión.
- PC Vision PV1 (Para conocer las especificaciones requeridas, consulte 4.6. PC).
- Compact Vision CV2A (Vision Guide 7.0 [Ver. 7.4 o superior])
No hay compatibilidad con CV1.
No hay compatibilidad con los sistemas de visión de otros fabricantes.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 13
4.4.2 Cámara
Se puede usar cualquier cámara que se pueda conectar al sistema de visión.
Asegúrese de aportar una cámara para encontrar las piezas en el alimentador. La cámara se
instala como cámara fija hacia abajo o como cámara móvil montada en un eje móvil del
robot.
También se pueden agregar otras cámaras, como una cámara enfocada hacia arriba para
corregir la posición de las piezas tomadas o una cámara para posicionar las piezas.
4.5 Iluminación
La iluminación es necesaria para identificar las piezas de la plataforma de manera exacta.
Se puede utilizar uno o ambos de los siguientes métodos de iluminación.
- Luz posterior incorporada al alimentador
- Iluminación personalizada del propio usuario (control de E/ S, control de Ethernet,
etc.)
4.6 PC
Las siguientes tareas requieren una PC.
- Visualización/ edición de las configuraciones de la opción de alimentación de piezas
- Calibración del alimentador
- Programación en SPEL+
- Recuperación de registro
Las operaciones del proceso de alimentación de piezas se pueden realizar sin conexión a
una PC.
Las especificaciones de la PC requeridas son las siguientes.
- Cuando use CV: Debe ser posible instalar EPSON RC+
- Cuando use PV: Según 4.3.1 Requisitos del sistema del Manual de hardware y
configuración de Vision Guide 7.0.
4.7 Tolva
La tolva suministra piezas al alimentador. Es un dispositivo opcional.
Las tolvas compradas en Epson se pueden conectar al alimentador.
Conecte cualquier tolva aportada con el controlador mediante E/ S o Ethernet.
El alimentador IF-80 cuenta con una tolva integrada.
Introducción
14 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
5. Resumen de la operación
Esta sección ofrece una síntesis de las operaciones de la opción de alimentación de piezas.
5.1 Proceso de alimentación de piezas
El proceso de alimentación de piezas es un proceso de operaciones incorporado al sistema
de alimentación de piezas, en el cual se controlan de forma automática las operaciones del
sistema de visión y del alimentador.
Se puede iniciar el proceso de alimentación de piezas con la ejecución del comando
PF_Start desde el programa.
A continuación, se muestra el proceso de alimentación de piezas.
Inicio
Identifique las piezas del alimentador
- Operación de iluminación
- Ejecución del sistema de visión
Partes del proceso
- Se opera el alimentador
- Se opera la tolva (Funcn de devolucn de la llamada PF_Control)
El robot se mueve
- Se genera cola de coordenadas de piezas
- Operación de recogida y colocacn (Función de devolución de la
llamada PF_Robot)
¿Hay piezas disponibles
para recoger?
1. Identifique las piezas del alimentador
Utilice el sistema de visión para verificar la cantidad y distribución de piezas en la
plataforma.
2. Partes del proceso
El alimentador se controla y las piezas se mueven con el propósito de facilitar su agarre
por parte del robot. Cuando la cantidad de piezas es baja o cuando no queda ninguna,
se invoca la función de devolución de la llamada PF_Control, a fin de suministrar
piezas desde la tolva.
3. El robot se mueve
Se genera una cola con las coordenadas de las piezas (lista de coordenadas de las
piezas del alimentador).
Se invoca la función de devolución de la llamada PF_Robot para efectuar la recogida y
colocación de piezas.
El proceso de alimentación de piezas se puede detener si se invoca el comando PF_Stop
desde el programa.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 15
5.2 Suministro de piezas al alimentador
Se usan los siguientes métodos para suministrar piezas al alimentador.
- Mediante la tolva
- Con suministro manual
5.2.1 Cantidades de piezas suministradas
La cantidad de piezas suministradas a la plataforma es un elemento importante para
determinar el tiempo del ciclo de operación.
- Una cantidad demasiado grande de piezas afecta el tiempo del ciclo, debido a la
superposición de piezas y a la necesidad de generar varias veces una vibración en el
alimentador.
- Una cantidad demasiado pequeña de piezas también afecta el tiempo del ciclo, porque
es necesario suministrar piezas a la plataforma varias veces.
Por consiguiente, existe una cantidad ideal de piezas de suministro (cantidad de piezas en
la plataforma después de la operación del alimentador). Esta cantidad se puede calcular
durante la calibración del alimentador.
Los tres métodos (relacionados con temporización) que se describen más adelante pueden
servir para suministrar piezas al alimentador.
1. Alimentación de descarga
Solo se alimentan piezas desde la tolva al alimentador cuando se han alimentado todas las
piezas del alimentador.
Recomendamos este método con piezas sensibles a la vibración (que se ven afectadas
fácilmente por la vibración), porque el tiempo de retención de piezas en el alimentador se
mantiene bastante uniforme. Sin embargo, este método aumenta el tiempo del ciclo pues
disminuye la cantidad promedio de piezas que un robot puede recuperar durante la
operación de un alimentador.
Suministro
Recogida y colocación
Introducción
16 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2. Alimentación suplementaria
Se suministran piezas adicionales desde la tolva cuando se acaban todas las piezas del
alimentador que se pueden recuperar.
El tiempo del ciclo se acorta porque la cantidad promedio de piezas que puede recuperar
un robot durante la operación de un alimentador es relativamente grande, lo cual aumenta
la eficiencia. Sin embargo, no se puede usar este método con piezas sensibles a la
vibración pues el tiempo de retención de piezas puede ser largo.
Suministro
Recogida y colocación
3. Alimentación en paralelo
Este método se utiliza junto con una función para especificar las ubicaciones de selección
de piezas.
Mientras el robot recoge piezas, se agregan piezas a la región del lado opuesto a la
posición de recogida de piezas. Sin embargo, este método disminuye el tiempo del ciclo,
pues aumenta la cantidad promedio de piezas que un robot puede recuperar durante la
operación de un alimentador.
El tiempo del ciclo se acorta aún más debido a que la tolva y el robot pueden operar en
paralelo (de manera simultánea). Sin embargo, no se puede usar este método con piezas
sensibles a la vibración, pues algunas piezas permanecen en el alimentador durante mucho
tiempo. Es necesario escribir un programa propio para que la tolva y el robot puedan
funcionar en paralelo.
Movimiento de separación
Recogida y colocación
Recogida y colocación
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 17
5.3 Operación del alimentador
La opción de alimentación de piezas se ejecuta seleccionando la operación del alimentador
de manera automática según las condiciones de las piezas del alimentador. Esto facilita
que el robot tome las piezas.
Más adelante se describen las operaciones del alimentador. Esquema explicativo que
muestra el perfil.
Podría ser distinto al movimiento real.
5.3.1 Volteo y separación
Las piezas son espaciadas y volteadas de manera adecuada para que el robot las pueda
tomar sin dificultad.
Volteo y separación
Suministro
Puede existir una operación para mover las piezas hacia el centro antes del volteo y la
separación.
Esto se conoce como centrado.
5.3.2 Desplazamiento
Mueve todas las piezas en una dirección mientras se conserva el espaciado (distribución)
de las piezas.
El acercamiento de las piezas a la posición de colocación acorta la distancia de
movimiento del robot y mejora el tiempo del ciclo.
Movimiento
El desplazamiento puede ser hacia adelante (más cerca de la posición de recogida) o hacia
atrás (más lejos de la posición de recogida).
Introducción
18 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
5.4 Posiciones de recogida de piezas en la plataforma
Las dos siguientes posiciones están disponibles para las piezas que recoge el robot.
Para determinar cuál posición, de recogida total o recogida parcial, es más eficiente para
un sistema, recomendamos efectuar primero la operación real y recuperar el registro,
porque la eficiencia de la posición utilizada depende de la configuración de los equipos,
como piezas, efector final y tolva.
5.4.1 Recogida desde cualquier lugar
La recogida abarca a todas las piezas de toda la superficie de la plataforma.
Seleccione esto si las piezas son grandes frente al tamaño de la plataforma
(aproximadamente 2 cm
2
o más para IF-240).
5.4.2 Recogida desde cualquier región
La recogida ocurre en una región cercana a la posición de colocación.
Con este método, el desplazamiento de piezas hacia la región de recogida es automático
según la distribución de las mismas. La operación del robot en paralelo al suministro de
piezas es posible dentro de cualquier región en la cual no se efectúe recogida (esto lo
realiza el programa del propio usuario). Por lo general, el uso de esta función acorta el
tiempo del ciclo del robot en comparación con el método de la recogida total.
5.5 Cómo evitar interferencias entre el efector final y la plataforma
Para evitar interferencias físicas entre el efector final y la plataforma, es necesario
especificar la región en la que es posible recoger piezas en el alimentador, de modo que
quede dentro de la circunferencia exterior de la plataforma. Esa distancia se puede
especificar fácilmente con la opción de alimentación de piezas. Las piezas que se detectan
como demasiado cercanas a la bandeja de alimentación no se agregan a la cola de piezas
para recogida.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 19
6. Piezas
Esta sección explica qué piezas se pueden usar con la opción de alimentación de piezas.
Epson ha creado un sistema para evaluar si las piezas son compatibles con esta opción de
alimentación de piezas en nuestros distribuidores autorizados. Para conocer detalles,
comuníquese con un distribuidor autorizado.
6.1 Condiciones para las piezas utilizables
Las piezas que se pueden usar con el alimentador se someten a las condiciones que se
indican a continuación.
6.1.1 Compatibilidad con el sistema de visión
Es necesario que el sistema de visión pueda identificar las piezas correctamente.
- Tal vez no sea posible identificar la forma de las piezas elaboradas en plástico
transparente, porque la luz las traspasa. Estos casos se pueden resolver con un cambio
de iluminación hacia afuera del espectro visible o con iluminación de reflejo.
- Tal vez no sea posible identificar piezas por delante o por atrás debido a su forma.
Estos casos se podrían resolver con la adición de iluminación de reflejo.
6.1.2 Tamaño y peso
Un mayor tamaño de piezas disminuye la cantidad de piezas que cabe en la plataforma
(esparcidas por toda la plataforma sin superposición). Si esta cantidad es pequeña,
aumenta el número de operaciones del alimentador, lo cual causa una reducción relativa en
el tiempo de operación del robot, con lo que se afecta en forma negativa el tiempo de
ciclo. La cantidad ideal de piezas para cargar al alimentador es de 50 o más.
El peso bruto de las piezas (Peso de una pieza Cantidad de piezas que pueden caber en la
plataforma sin superposición) debe ser menor a la capacidad de carga del alimentador.
Traspasar ese peso sobrecarga al alimentador, lo cual afecta en forma negativa la
capacidad de separar piezas y el tiempo del ciclo, a la vez que reduce la vida útil del
alimentador.
Para conocer la capacidad de carga del alimentador, consulte el correspondiente manual
del alimentador.
6.1.3 Materiales y características
- Las piezas elaboradas con un material flexible o ligero son difíciles de usar.
Ejemplos: Papel y materiales fibrosos
- Las piezas que se dañan o se deforman con facilidad a causa de piezas vibradas que
generan polvo por acción del roce son difíciles de usar.
Ejemplos: Piezas elaboradas en polvo endurecido o pintadas
- Las piezas pegajosas o con fuga de líquidos son difíciles de usar.
Ejemplos: Productos alimenticios
NOTA
Introducción
20 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.1.4 Forma de las piezas y otras consideraciones
- Es difícil recoger piezas esféricas, porque no permanecen inmóviles en el alimentador.
Ejemplos: Bolas de cojinete
- Es difícil separar a las piezas que se enredan fácilmente.
Ejemplos: Resortes helicoidales
- Tal vez la luz transmitida no permita identificar la parte delantera o posterior de
aquellas piezas con distintas formas de corte transversal elaboradas en un material no
transparente. A continuación, algunos ejemplos de dichas piezas.
Plano
Plan
o
- La pieza óptima para la recogida mediante un sistema de succión es una que tenga una
superficie de succión en paralelo a la base del alimentador, por la cual la ventosa se
pueda mover directo hacia abajo al recogerla y que fije el área de superficie para la
ventosa. A continuación, algunos ejemplos de dichas piezas.
- Si se usa un método de succión en la alimentación, lo ideal es que las piezas no tengan
diferencias de centro de gravedad. A continuación, algunos ejemplos de dichas piezas.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 21
- Si se usa en un proceso de montaje, lo mejor es aplicar alguna medida para impedir que
la posición de la pieza se desalinee después de la recogida. Esta medida puede consistir
en orificios guía en las piezas y un pasador en el efector final para evitar que la
posición se desalinee. Otras medidas consisten en instalar una cámara fija orientada
hacia arriba para alinear la posición de la pieza después de la recogida.
6.2 Ejemplos de piezas
A continuación, algunos ejemplos de piezas que se pueden usar con la opción de
alimentación de piezas.
Desde la n.º 1 a la n.º 3, son piezas adecuadas para IF-240.
Las piezas n.º 4 y n.º 5 no son apropiadas para el IF-240, porque son demasiado grandes y
pesadas.
Las piezas n.º 6 y n.º 7 no son apropiadas para el IF-240, el IF-380 o el IF-530, porque son
demasiado pequeñas y livianas.
No Foto Característica
Tamaño
[mm]
Peso [g] Comentario
1
Pieza de prensa
metálica
10 10 0,2 0,088 El IF-240 es adecuado
2
Pieza de prensa
metálica
11 5,5 0,2 0,029 El IF-240 es adecuado
3
Pieza plástica 10 9 2,1 0,127 El IF-240 es adecuado
4
Conector de nylon 21 29,9 21 7,1 El IF-380 es adecuado
5
Cerrar sesión 36 11 9,5 14,0
El IF-380 o el IF-530
son adecuados
6
IC 5 4,4 1,5 0,082 El IF-80 es adecuado
7
Cepillo metálico
ø4 1
0,102 El IF-80 es adecuado
Considere que la n.º 1 y la n.º 2 no pueden ser identificadas por la parte delantera o
posterior solo mediante la luz de fondo.
La n.º 3 no puede ser identificada por la parte delantera o posterior solo mediante la luz de
fondo.
Introducción
22 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.2.1 Relación entre cantidad de piezas cargadas al alimentador y
cantidad detectada mediante el procesamiento de imágenes
La relación entre cantidad de piezas cargadas al alimentador y la cantidad detectada
mediante procesamiento de imágenes tiene una forma convexa ascendente.
No es posible detectar todas las piezas en el alimentador si las piezas están en contacto con
las piezas vecinas y se superponen entre sí en la carga. El gráfico varía según la facilidad
con que las partes se contactan con las piezas vecinas o la facilidad con que se superponen.
Se puede usar la opción de alimentación de piezas para aplicar la cantidad óptima de
piezas que se va a cargar mediante una calibración basada en pruebas efectuadas por
Epson.
El gráfico muestra la relación entre cantidad de piezas cargadas al alimentador y cantidad
detectada mediante procesamiento de imágenes para las piezas n.º 1 y n.º 3.
Asegúrese de prestar atención al hecho de que no se pueden detectar todas las piezas
cargadas al alimentador y que la cantidad detectada cambia según la cantidad cargada.
Cantidad óptima
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 23
6.2.2 Relación entre cantidad cargada al alimentador y UPM
promedio
La cantidad promedio de piezas recogidas durante un cierto tiempo en la operación de
recogida es el promedio de unidades por minuto (UPM). UPM es el número de piezas
manipuladas por minuto por el robot.
El gráfico muestra la relación entre cantidad de piezas cargadas al alimentador y UPM
promedio para las piezas n.º 1 y n.º 3. Ambos gráficos de las piezas n.º 1 y n.º 3 tienen
forma convexa ascendente. No se indican valores para el eje vertical, porque la UPM
promedio varía según la velocidad, aceleración y cantidad de movimiento del robot.
Además de las condiciones operativas del robot, es importante considerar que la UPM
cambia según la cantidad de piezas cargadas al alimentador y la existencia de una cantidad
óptima de piezas para cargar al alimentador de forma tal que aumente la UPM.
Cantidad óptima
UPM
promedio
del sistema alimentador
Introducción
24 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.2.3 Relación entre operación del alimentador y UPM
La siguiente figura grafica la temporización de las operaciones de cada dispositivo
operativo (robot, visión y alimentador y tolva), con el tiempo representado en el eje
horizontal. Cuando parte la operación, la operación de visión y alimentador detecta la
ausencia de piezas en el alimentador, lo cual causa que la tolva se mueva para cargar
piezas al alimentador.
Dispositivos
en
funcionamiento
Vision
y
alimentador
Después, se acciona el alimentador, las piezas se separan, el sistema de visión realiza la
detección y, luego, el robot recoge las piezas. Cuando se acaban todas las piezas que se
pueden recoger, las piezas se vuelven a separar y son detectadas mediante la operación de
visión y alimentador. A continuación, vuelve a funcionar el robot.
La cantidad de piezas del alimentador disminuye a medida que se repiten la operación de
visión y alimentador y la operación del robot. Se acciona la tolva para alimentar piezas de
acuerdo con la temporización de la operación de la tolva correspondiente al valor de
umbral especificado. El gráfico presupone una operación de alimentación en paralelo.
Durante la operación de visión y alimentador, la UPM es cero (= 0) porque se repiten la
operación de visión y alimentador y la operación del robot. Mientras el robot está en
funcionamiento, el valor de la UPM es más alto que el valor promedio de la UPM indicado
en la sección 6.2.2. Considere que la UPM promedio es el promedio por hora de la UPM
momentánea (= 0) mientras la visión y el alimentador están funcionando y que la UPM
momentánea es mientras el robot está operando.
También recuerde que la longitud de las líneas azules de la operación del robot en la figura
no es uniforme. Esto se debe a que la cantidad de piezas que se pueden recoger varía según
el estado de separación de las piezas del alimentador y a que la repetición de la operación
de recogida disminuye la cantidad de piezas del alimentador y de piezas que se pueden
recoger.
Es necesario mantener una cantidad uniforme de piezas en el alimentador para poder
efectuar la alimentación en forma estable.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 25
6.2.4 Relación entre cantidad de piezas en el alimentador y
operación de la tolva
Para una alimentación estable de piezas, el siguiente gráfico muestra la UPM momentánea
y la cantidad de piezas del alimentador en cada operación del alimentador durante la
alimentación de descarga desde la tolva y durante la alimentación en paralelo de 180
piezas óptimas con 90 piezas cargadas en la tolva.
UPM
momentáneo
UPM momentáneo: Alimentación paralela
Cantidad de piezas: Alimentación paralela
UPM
momentáneo
:
Alimentación
de descarga
Cantidad de piezas: Alimentación de descarga
En la alimentación de descarga, no se cargan piezas desde la tolva hasta que se acaben, lo
cual implica una baja gradual de la UPM momentánea y, cuando ya no quedan piezas,
entonces se suministran piezas desde la tolva y la UPM momentánea regresa al valor
original.
En la alimentación en paralelo, la tolva se acciona cuando el alimentador opera dos a
cuatro veces, lo cual reduce las variaciones en la UPM momentánea, pues la cantidad de
piezas del alimentador no baja del límite inferior.
Introducción
26 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7. Usemos la opción de alimentación de piezas
Configuremos el sistema que recoge y coloca las piezas con la opción de alimentación de
piezas.
7.1 Flujo de trabajo
El flujo de trabajo es el siguiente.
Activar la llave de opción de
alimentación de piezas
Configuración de las
comunicaciones del alimentador
Crear un proyecto de alimentación de piezas
Crear una nueva pieza
Configurar las configuraciones de iluminación
Crear las secuencias de visión
Configurar las configuraciones de visión
Configurar las configuraciones de recogida
Enseñanza de la recogida Z y la postura
Realice la calibración de piezas
Crear el programa de inicio de
alimentación de
p
iezas
Crear la función de devolución de
la llamada PF Robo
t
Verifique la operación del robot
Revise "Requisitos de 7.2"
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 27
7.2 Requisitos
7.2.1 Configuración de dispositivos
- Se utiliza un robot SCARA como manipulador.
La operación requerida para robots de 6 ejes es la misma que para los robots SCARA.
Se conecta una mano que sea adecuada para las piezas.
- Se usa una cámara fija hacia abajo.
- Se usa la luz de fondo del alimentador.
- No se usa una tolva.
Manipulador
Alimentador
Cámara fija
hacia aba
j
o
Lugar de colocación
de piezas
(pallet, bandeja, etc.)
7.2.2 Conexión y ajuste
- Se conecta EPSON RC+ con el controlador.
- Se conecta el manipulador con el controlador.
- Se conecta el alimentador con el controlador.
- Se conecta Vision Guide (PV o CV) con el controlador.
- Se instalan correctamente el manipulador, la cámara y el alimentador.
- Han concluido los ajustes de posición, enfoque y brillo.
7.2.3 Pieza
- La ID de la pieza es “1”.
- La pieza posee una forma simple y sus características de superficie son iguales por
ambos lados.
Las piezas son detectadas por el objeto Blob de visión (detección mediante los valores
de área).
Introducción
28 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.2.4 Configuraciones
- Se registra el manipulador en las configuraciones del sistema.
- Se ha completado la calibración de Vision Guide.
- Se ha completado la configuración de la herramienta para un robot.
7.2.5 Otros
Se implementa la manipulación de los errores descritos en el código de plantilla para las
funciones de devolución de la llamada.
7.3 Activación de la tecla de opciones de alimentación de piezas
Para utilizar las funciones de alimentación de piezas, se debe habilitar la clave Option para
alimentación de piezas. La clave Option se debe adquirir en un distribuidor de Epson.
(1) En EPSON RC+ 7.0, seleccione Menú - [Setup] (Configuración), luego seleccione
[Options] (Opciones) para abrir el cuadro de diálogo Options.
(2) Copie y pegue o escriba [Controller Options Key Code] (Código de clave de opciones
del controlador).
(3) Llame a su distribuidor para comprar el código clave de activación para la opción
deseada.
(4) Su distribuidor le proporcionará un código para activar la opción.
(5) Seleccione la opción que se activará y seleccione el botón <Enable> (Activar).
(6) Ingrese el código que recibió del distribuidor.
El código clave distingue entre mayúsculas y minúsculas.
(7) Haga clic en el botón <OK>.
NOTA
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 29
7.4 Configuración de las comunicaciones del alimentador
(1) Seleccione Menú - [Setup] (Configuración) en EPSON RC+ 7.0 para abrir el cuadro
de diálogo [System Configuration] (Configuración de sistema).
(2) En el árbol, seleccione [Controller] - [Part Feeders]-[Feeder 1] (Controlador -
Alimentadores de piezas - Alimentador 1).
(3) Cambie la configuración de los siguientes elementos.
Elementos
Cómo realizar la
configuración.
Activado Marque la casilla.
Modelo Seleccione un tipo de
alimentador que esté
conectado al controlador.
Nombre Escriba el nombre del
alimentador
Dirección IP Ingrese 192.168.0.64.
IP Mask (Máscara IP) Ingrese 255.255.255.0.
Luz de fondo instalada Marque la casilla.
(4) Haga clic en el botón <Apply> (Aplicar) cuando finalice las configuraciones de todos
los elementos.
Cuando cambie la dirección IP del alimentador, consulte la siguiente sección.
Software 2.1.1 Página de alimentación de piezas
Aunque se pueden configurar 4 alimentadores para el controlador de la serie T, la cantidad
de alimentadores que se pueden controlar simultáneamente es de hasta 2.
7.5 Creación de un proyecto para alimentación de piezas
En EPSON RC+ 7.0, seleccione Menú -[Project]-[New] (Proyecto - Nuevo) y cree un
nuevo proyecto.
En caso contrario, abra un proyecto existente y realice una copia.
CONSEJO
CONSEJO
Introducción
30 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.6 Creación de una pieza nueva
(1) En EPSON RC+ 7.0, seleccione Menú - [Tool] (Herramienta) para abrir el cuadro de
diá
logo [Part Feeding] (Alimentación de piezas).
Haga clic en el botón <Add> (Agregar).
(2)
Aparece el asistente de pieza
s.
(3)
Cambie las configuraciones del siguiente elemento.
Elemento Cómo realizar la configuración.
Ingrese el nombre de la
nueva pieza.
Ingrese el nombre de la pieza.
(4) Haga clic en el botón <Finish> (Finalizar).
El asistente de piezas configura la configuración básica de piezas. Para este tutorial,
salga del asistente y configure las configuraciones.
Cuando se crea la primera parte en un proyecto, se agregan automáticamente al proyecto
un archivo de programa denominado PartFeeding.prg y un archivo de inclusión
denominado PartFeeding.inc.
CONSEJO
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 31
7.7 Configuración de los ajustes de iluminación
(1) En el árbol de la izquierda, haga clic en [Lighting] (Iluminación).
(2) Haga clic en el botón <Turn On> (Encender) para encender la luz de fondo del
alimentador.
7.8 Creación de las secuencias de visión
Esta sección describe cómo crear dos secuencias de visión.
Asegúrese de crear una secuencia de visión para detectar piezas y otra secuencia de visión
para calibrar el alimentador.
7.8.1 Creación de una secuencia de visión para detectar piezas
Cree una secuencia de visión para detectar piezas.
(1) Haga clic en el botón<Vision Guide> para que aparezca el diálogo de Vision Guide.
(2) Coloque una pieza en el alimentador.
Introducción
32 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
(3) Cree una nueva secuencia de visión. Defina la propiedad de la siguiente forma.
Propiedades Cómo realizar la configuración.
Nombre Establezca un nombre adecuado. (Ejemplo: VS_Part1)
Calibración Realice las configuraciones para calibrar la visión.
Tiempo de
exposición
Realice las configuraciones con las siguientes
consideraciones.
- Que la pieza sea claramente identificable
- Que el brillo del centro de la plataforma y del área
circundante sean casi iguales
(4) Agregue un objeto Blob. Realice las configuraciones de las propiedades del siguiente
modo.
Propiedades Cómo realizar la configuración.
SearchWindow Establezca el área de detección para toda la plataforma.
NumberToFind Defina para "Todos".
MaxArea Establezca un valor correspondiente a 1,3 veces el valor del
área de la pieza.
MinArea Establezca un valor correspondiente a 0,7 veces el valor del
área de la pieza.
ThresholdHigh Realice las configuraciones de modo que la pieza sea
detectada con certeza y no se detecten por error las áreas
oscuras de fuera de la plataforma.
Si la pieza no se detecta en forma correcta, reajuste las demás propiedades y las
propiedades de las secuencias de visión.
(5) Al completar las configuraciones, haga clic en el botón <Run> (Ejecutar) y verifique
que la pieza sea identificable correctamente y que no se detecte el fondo por error.
(6) Seleccione en el menú de Vision Guide - [File] (Archivo) - botón <Save> (Guardar)
para guardar las configuraciones.
Consulte la siguiente sección para conocer detalles sobre cómo crear una secuencia de
visión para la detección de piezas.
Software 6.3. Secuencia de visión para detectar piezas
CONSEJO
CONSEJO
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 33
7.8.2 Creación de una secuencia de visión para calibrar el
alimentador
(1) Para crear una nueva secuencia de visión, establezca las propiedades de la siguiente
forma.
Propiedades Cómo realizar la configuración.
Nombre Establezca un nombre adecuado. (Ejemplo: VS_Part1_Cal)
Calibración Establezca esto para visión.
Tiempo de
exposición
Establezca esto para identificar la pieza con claridad.
(2) Agregue un objeto Blob. Defina las propiedades de la siguiente forma.
Propiedades Cómo realizar la configuración.
SearchWindow Establezca el área de detección para toda la plataforma.
MaxArea Deje como valor predeterminado.
MinArea Establezca en alrededor de 0,9 veces el área de las piezas.
Use el siguiente procedimiento para confirmar el tamaño del área
de las piezas.
1. Encienda la luz de fondo del alimentador.
2. Coloque varias piezas sobre la plataforma de modo que no
queden superpuestas.
3. Ejecute la secuencia de visión.
4. El área de las piezas corresponde al área promedio de
resultados de objetos Blob.
NumberToFind Defina para "Todos".
ThresholdHigh Realice las configuraciones de modo que la pieza sea detectada con
certeza y no se detecten por error las áreas oscuras de alrededor de
la plataforma.
Si la pieza no se detecta en forma correcta, vuelva a ajustar las propiedades y las
propiedades de las secuencias de visión.
CONSEJO
Introducción
34 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
(3) Al finalizar las configuraciones, haga clic en el botón <Run> y verifique que la pieza
sea identificable correctamente y que no se detecte el fondo por error.
(4) Cuando confirme que las configuraciones estén correctas, seleccione el menú Vision
Guide - [File] - botón <Save> para guardar las configuraciones.
(5) Cierre la pantalla de Vision Guide.
Consulte la siguiente sección para conocer detalles sobre cómo crear una secuencia de
visión para calibrar el alimentador.
Software 6.2. Secuencia de visión para calibrar el alimentador
7.9 Configuración de las configuraciones de visión
(1) En el árbol, haga clic en [Vision] (Visión).
(2) Cambie la configuración de los siguientes elementos.
Elementos Cómo realizar la configuración.
Secuencia de
visión
de pieza
Especifique la secuencia de visión creada en la siguiente
sección.
7.8.1 Creación de una secuencia de visión para detectar
piezas.
Objeto de visión
para parte
delantera de pieza
Especifique el objeto Blob incluido en la secuencia de
visión creada en la siguiente sección.
7.8.1 Creación de una secuencia de visión para
detectar piezas.
Secuencia de
visión
de blob de pieza
Especifique la secuencia de visión creada en la siguiente
sección.
7.8.2. Creación de una secuencia de visión para calibrar
el alimentador.
Objeto de visión
de blob de pieza
Especifique el objeto Blob incluido en la secuencia de
visión creada en la siguiente sección.
7.8.2. Creación de una secuencia de visión para calibrar
el alimentador.
(3) Haga clic en el botón <Apply>.
CONSEJO
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 35
CONSEJO
7.10 Configuración de los ajustes de recogida
(1) En el árbol, haga clic en [Pick] (Recogida).
(2) Cambie la configuración de los siguientes elementos.
Elementos Cómo realizar la configuración.
Orientación del
alimentador
Seleccione la orientación de la instalación del
alimentador que aparece en la cámara. Es importante
definir esto correctamente, de modo que el sistema
conozca la orientación del alimentador con respecto a la
cámara.
Escoja región
Seleccione la posición más cercana a la posición de
colocación.
Aquí, seleccione “B”.
Los elementos seleccionables pueden variar según el
alimentador.
(3) Haga clic en el botón <Teach> (Enseñar).
Orientación del alimentador: Escoja cualquier dirección.
Seleccione la “Región de recogida” más cercana a la posición de colocación.
Para el IF-240, la región de recogida se puede seleccionar de A a D.
Para el IF-530, la región de recogida se puede seleccionar de A a B.
Para el IF-80, solo se puede seleccionar la región de recogida “Anywhere” (En cualquier
lugar).
Introducción
36 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.11 Enseñanza de la recogida Z y la postura
(1) Coloque una pieza en el alimentador.
(2) Mueva el robot con la operación Jog (Desplazar), etc. y ponga la mano en contacto
con la pieza del alimentador. Si la mano posee un mecanismo de sujeción, sostenga la
pieza.
(3) Haga clic en el botón <OK> (Aceptar).
Se guardará la coordenada Z.
(4) En el cuadro de diálogo [Pick], haga clic en el botón <Apply>.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 37
7.12 Ejecución de la calibración de piezas
(1) En el árbol, haga clic en “Calibration” (Calibración).
Luego, haga clic en el botón <Calibrate> (Calibrar).
(2) Se inicia el asistente de calibración.
Agregue una marca en “Separation” (Separación).
Haga clic en el botón <Next>.
La calibración de Separation (Flip & Separation) (Volteo y separación) es opcional, pero
se recomienda hacerla. Los intentos de calibración automática para encontrar los
parámetros de vibración óptima para la pieza.
NOTA
Introducción
38 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.12.1 Calibración para determinar el área de la pieza
(1) Coloque una pieza en el alimentador.
Haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes> (Sí).
(3) Comience la calibración. Esta operación finaliza de inmediato pues solo se trata de
imágenes.
Haga clic en el botón <Next> (Siguiente).
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 39
7.12.2 Calibración de separación
(1) Coloque una pieza en el alimentador.
Haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes> para iniciar la calibración.
(3) Esta operación tarda unos pocos minutos.
Haga clic en el botón <Next>.
Introducción
40 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.12.3 Calibración de desplazamiento
(4) Coloque una pieza en el alimentador.
Haga clic en el botón <Run>.
(5) Haga clic en el botón <Yes> para iniciar la calibración.
(6) Esta operación tarda unos pocos minutos.
Haga clic en el botón <Next>.
7.12.4 Cómo guardar las calibraciones
(1) Haga clic en el botón <Finish> (Finalizar) para guardar los datos de calibración.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 41
7.13 Creación del programa de partida del proceso de alimentación de
piezas
Escriba el código del programa para preparar el robot para la recogida y la colocación de
la pieza en el programa de partida del proceso de PartFeeding. A continuación, ejemplos
básicos del contenido que se debe escribir.
1. Si se utiliza un sistema de robot múltiple, cambie el robot actual por el robot de
recogida y colocación de piezas.
Use el comando de robot.
2. Agregue instrucciones para establecer velocidad, aceleración, modo de alimentación,
etc. para el robot.
Use “Speed” (Velocidad), “Accel” (Aceleración), “Power” (Alimentación), etcétera.
LimZ se establece en consideración de las coordenadas Z en las que se realiza la
enseñanza mediante 7.11 Enseñanza de la recogida Z y la postura y de profundidad de
plataforma (28 mm), margen de dirección Z cuando la plataforma salta, altura de
dirección Z de la unidad configurada alrededor del alimentador.
3. Encienda el motor del robot.
Use “Motor”.
4. Mueva el robot hacia una posición en que sea posible extraer imágenes de visión.
(Cuando use una cámara fija hacia abajo, muévala hacia una posición en que la cámara
no interfiera con las imágenes del sistema de visión).
Use “Home” (Reposo), etc.
5. Agregue instrucciones para inicializar los dispositivos del sistema del cliente, por
ejemplo, tolva, iluminaciones personalizadas.
6. Para obtener un registro, agregue la instrucción PF_InitLog.
7. Agregue la instrucción PF_Start que especifica la ID de la pieza que se desea usar.
La ejecución de PF_Start se acciona en la tarea 32 y de inmediato devuelve el control a
quien llama.
El siguiente es un programa de muestra.
Este programa crea la siguiente función en un archivo de programa main.prg.
(Se omite la descripción de 5 y 6).
Function test
Robot 1
Motor On
Speed 100
Accel 100, 100
Power High
LimZ -80.0
Home
PF_Start (1)
Fend
Introducción
42 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.14 Creación de la función de devolución de la llamada PF_Robot
Escriba el proceso en el cual el robot comienza a recoger y colocar la pieza en la función
de devolución de la llamada PF_Robot. A continuación, un ejemplo concreto del
contenido que se debe escribir. (Los pasos del 1 al 7 se repiten en bucle).
1. Obtenga la coordenada de la pieza de la plataforma mediante la cola de coordenadas de
piezas.
Use “PF_QueGet”.
2. Mueva el robot a la posición en la cual se coloca la pieza.
Use “Jump” (Saltar) y así, sucesivamente (en el caso de un robot SCARA).
3. Sostenga la pieza con la función de adsorción activada y así, sucesivamente.
4. Mueva el robot hacia donde se va a colocar la pieza.
Use “Jump” y así, sucesivamente (en el caso de un robot SCARA).
5. Libere la pieza con la función de adsorción desactivada, etc.
6. Elimine uno de los datos entre la cola de coordenadas de las piezas.
Use “PF_QueRemove”.
7. Verifique si se emitió una solicitud de detención. Si es así, salga del bucle.
Use “PF_IsStopRequested”.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 43
A continuación, una muestra de la función de devolución de la llamada PF_Robot.
Como la manipulación de un bucle y los pasos 1, 6, 7 se describen en el archivo
PartFeeding.prg generado en forma automática, esta muestra describe la manipulación del
resto de los pasos.
Las etiquetas que usa este programa son las siguientes:
Etiqueta E/S: Chuck (adsorción de piezas), UnVacumm (liberación de piezas)
Etiqueta de punto: PlacePos (Coordenada de colocación)
Function PF_Robot(partID As Integer) As Integer
Do While PF_QueLen(partID) > 0
' Pick
P0 = PF_QueGet(partID)
Jump P0 ! Wait 0.1; Off UnVacumm !
On Chuck
Wait 0.1
' Place
Jump PlacePos
Off Chuck
On UnVacumm
Wait 0.1
' Deque
PF_QueRemove partID
' Check Cycle stop
If PF_IsStopRequested = True Then
Exit Do
EndIf
Loop
Off UnVacumm
Fend
Introducción
44 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.15 Comprobación de la operación del robot
Inicie el programa principal para verificar la operación del robot.
En la primera prueba, opere el robot a baja potencia y a baja velocidad para examinar en
detalle si funciona como debería.
1. Compile el proyecto.
2. Inicie la ventana Run.
3. Ejecute la función de prueba.
4. Confirme que el robot recoja y coloque las piezas con los movimientos correctos.
Esto concluye la compilación de un sistema que recoge y coloca piezas.
NOTA
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 45
8. Varias piezas y varios robots
Este capítulo explica cómo usar simultáneamente varias piezas en el mismo alimentador.
También indica cómo varios robots pueden acceder en forma segura al mismo alimentador
cuando se está ejecutando un grupo de piezas.
8.1 Especificaciones y requisitos para varias piezas y varios robots
- Se puede usar un máximo de 4 alimentadores de piezas con 1 controlador de robot.
- Los controladores de robot no pueden compartir alimentadores de piezas. Por ejemplo,
dos robots de la serie T no pueden utilizar el mismo alimentador. Si desea que varios
robots compartan un alimentador, debe usar un controlador RC700-A que admita varios
robots en un mismo controlador de robot.
- Un sistema puede tener cualquier combinación de modelos de alimentador. Por ejemplo,
el sistema podría tener un IF-80, un IF-240, un IF-380 y un IF-530 o cualquier otra
combinación.
- Un máximo de 4 piezas pueden ejecutarse simultáneamente en el mismo alimentador.
Cuando varias piezas se ejecutan simultáneamente en el mismo alimentador, estas deben
tener características físicas similares. En otras palabras, las piezas deben pesar más o
menos lo mismo, tener dimensiones parecidas, estar fabricadas de materiales similares,
tener aproximadamente la misma área de superficie, etc. Cada pieza usará sus parámetros
de vibración únicos. Por lo tanto, los parámetros de vibración de una pieza no deberían
hacer que otras piezas salgan del alimentador.
- Un máximo de 2 robots pueden utilizar simultáneamente el mismo alimentador. Si
intenta ejecutar PF_Start con un grupo de piezas (es decir, PF_Start 1, 2, 5) y las piezas
están asignadas a más de 2 robots, se producirá un error.
- Al usar PF_Start, se ejecutará una pieza única o un grupo de piezas en el alimentador. Si
intenta ejecutar PF_Start varias veces con piezas asignadas al mismo número de
alimentador, aparecerá un mensaje (emitido por la función de devolución de la llamada
PF_Status) que indica que el “alimentador ya está en uso” y el segundo PF_Start no se
ejecutará.
- Al ejecutar PF_Start con un grupo de piezas (es decir, PF_Start 1, 2, 5), todas las piezas
se deben asignar al mismo número de alimentador.
- PF_Start ejecuta una pieza única o un grupo de piezas en el alimentador. A cada
alimentador en ejecución se le asigna un n.º de tarea de controlador específica (consulte
la siguiente tabla). El código de la aplicación del usuario no debe utilizar una tarea que
haya sido reservada para el alimentador. Si un número de alimentador no se está usando,
la tarea estará disponible para el código del usuario. Si utiliza la instrucción PF_InitLog
para registrar datos de alimentación de piezas, el número de temporizador específico
quedará reservado para el sistema y no se debe utilizar con el código del usuario. El
número de tarea y el de temporizador son específicos para el número de alimentador
(como se muestra a continuación).
Número de
alimentador
Task (Tarea) Temporizador
1 32 64
2 31 63
3 30 62
4 29 61
Introducción
46 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
- La primera pieza enumerada en la instrucción PF_Start será la primera “pieza activa” (es
decir, la primera pieza deseada). La selección de la siguiente pieza deseada se realiza con
la instrucción PF_ActivePart. Revisaremos PF_ActivePart con mayor detalle a lo largo
del capítulo.
- Se lleva a cabo la acción de alimentación (vibraciones, área de recogida y método de
suministro) para la actual pieza activa. Todas las piezas enumeradas en la instrucción
PF_Start utilizarán su propia configuración si fueron seleccionadas como pieza activa.
Por ejemplo, todas las piezas del grupo PF_Start pueden tener un área de recogida
distinta si la aplicación lo requiere.
- El parámetro de PartID que se transmite a cada función de devolución de la llamada
corresponderá al número de pieza de la actual pieza activa (es decir, la actual pieza
deseada).
- Se capturan imágenes para todas las piezas enumeradas en la instrucción PF_Start y se
cargará la cola de cada una con los resultados de visión. Cada pieza utiliza su propia
configuración de visión e iluminación. Por ejemplo, una pieza podría usar “visión de
procesos del sistema” y otra pieza de la lista de PF_Start podría usar “visión de procesos
del usuario”. Todas usan sus propias configuraciones. Asimismo, cada pieza puede usar
criterios de iluminación específicos: luces delanteras, sin luz de fondo, distintos niveles
de brillo, etc.
- El archivo de registro de alimentación de piezas (iniciado con la instrucción PF_InitLog)
contiene los datos de todas las piezas que se ejecutan en un alimentador.
- Cuando varios robots acceden al mismo alimentador, el código de la aplicación del
usuario debe usar las instrucciones PF_AccessFeeder y PF_ReleaseFeeder para
garantizar que los robots no choquen. Revisaremos este caso con mayor detalle a lo largo
del capítulo.
- Cada pieza se debe calibrar de manera individual. Nuevamente, se supone que las piezas
que se ejecutan simultáneamente en un alimentador tienen características similares
(tamaño, peso, material, etc.).
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 47
8.2 Conceptos clave para varias piezas y varios robots
8.2.1 PF_ActivePart
La instrucción PF_ActivePart notifica al proceso de alimentación de piezas sobre el
intento del usuario en el tiempo de ejecución. El sistema debe saber cuál es la pieza
deseada. El sistema hará una entrega (con los valores de vibración correctos, suministro
de piezas de la tolva, etc.) para garantizar que la pieza deseada esté disponible.
Como simple ilustración sobre por qué se requiere PF_ActivePart en el tiempo de
ejecución, consideremos una aplicación de “armado de paquetes” donde todas las piezas
provienen del mismo alimentador. Se entrega una caja vacía al robot por medio de un
transportador. Un código de barras en la caja indica el tipo y la cantidad de piezas que se
debe colocar en la caja. El tipo de pieza deseada y la cantidad de recogida solo se conocen
cuando la caja pasa por el lector de código de barras. El alimentador de piezas debe vibrar
y buscar las piezas necesarias para el pedido.
En otro ejemplo del uso de PF_ActivePart, consideremos una operación de montaje de dos
piezas. Ambas piezas están en el mismo alimentador. En esta aplicación, el robot debe
recoger una pieza n.º 1 y colocarla en una instalación fija. Luego el robot recoge dos
piezas n.º 2 y las inserta en la pieza n.º 1. PF_ActivePart indica al sistema qué pieza debe
entregar para realizar el proceso de montaje. Para que esta aplicación sea más realista,
supongamos que cada pieza es inspeccionada por un sistema de visión antes del montaje.
Si la pieza n.º 1 no aprueba la inspección, PF_ActivePart debe mantenerse como pieza n
1 para que el robot vuelva al alimentador y obtenga la pieza n.º 1 correcta. Si la pieza n.º 1
aprueba la inspección, PF_ActivePart se debe cambiar a pieza n.º 2.
La primera ID de pieza en la instrucción PF_Start es la pieza activa inicial. Normalmente
PF_ActivePart se configura antes de salir de la devolución de llamada PF_Robot, de
manera que la acción de alimentación sea específica para la pieza deseada.
PF_ActivePart se demostrará a través de un ejemplo en una sección posterior de este
capítulo.
Introducción
48 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
8.2.2 PF_Start
Como se mencionó anteriormente, un máximo de 4 tipos de piezas pueden ejecutarse
simultáneamente en el mismo alimentador. Para ello, se especifica la ID de cada pieza al
ejecutar la instrucción PF_Start.
Por ejemplo, las piezas 1, 2, 3 y 4 usan el alimentador n.º 1. El número de alimentador se
especificó en el Asistente de piezas cuando se creó originalmente cada una de las piezas.
Solo las piezas asignadas al mismo alimentador se pueden ejecutar en forma simultánea
con PF_Start. Para ejecutar las 4 piezas en el alimentador n.º 1 simultáneamente, el código
sería similar al siguiente:
PF_Start 1, 2, 3, 4
La pieza n.º 1 será la pieza activa inicial en este ejemplo. Primero, el alimentador usa los
parámetros de vibración de la pieza n.º 1. En este ejemplo, se enviará un valor de “1”
como parámetro de PartID en cada función de devolución de la llamada hasta que
PF_ActivePart cambie a otra ID de pieza.
A menos que PF_ActivePart se ejecute con otra ID de pieza, la pieza activa seguirá siendo
la primera en la lista de PF_Start.
Si el código del usuario intenta iniciar otra pieza en el mismo alimentador, se produce un
error de “Feeder In Use” (Alimentador en uso). Se arregla el error en la devolución de
llamada PF_Status y el valor de estado será la constante
PF__D_STATUS_FEEDERINUSE_ERROR.
Este es un ejemplo de cómo se puede producir un error de “Feeder In Use”->
Las piezas 1, 2, 3 y 4 utilizan el alimentador n.º 1
PF_Start 1, 3, 4 ' inicia un grupo de piezas en el alimentador n.º 1
Se producirá un error de “Feeder In Use” si se ejecuta la siguiente línea de código:
PF_Start 2
Si desea ejecutar las 4 piezas simultáneamente en el alimentador n.º 1, debe ejecutar la
siguiente instrucción:
PF_Start 1, 2, 3, 4
NOTA
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 49
Un máximo de 2 robots pueden utilizar simultáneamente el mismo alimentador. Si
PF_Start intenta ejecutar piezas que usan más de 2 robots simultáneamente en el mismo
alimentador, se producirá un error de “Max Robots Per Feeder” (Máximo de robots por
alimentador).
Por ejemplo ->
Pieza 1: Usa el robot n.º 1 y el alimentador n.º 1
Pieza 3: Usa el robot n.º 2 y el alimentador n.º 1
Pieza 5: Usa el robot n.º 3 y el alimentador n.º 1
PF_Start 1,3,5 <- Error 7731: Se sobrepasó el número máximo de alimentadores
simultáneos para el tipo de controlador.
8.2.3 Visión y carga de cola
En forma predeterminada, se capturan imágenes de visión para todas las piezas que se
ejecutan en el mismo alimentador. También existe un mecanismo para capturar la imagen
solo para la pieza activa (se analizará en la próxima sección). Cada pieza tiene sus propios
requisitos de iluminación (luz delantera o de fondo, cámara móvil, el usuario procesa la
visión con la devolución de llamada PF_Vision, etc.).
Después de que se han ejecutado todas las secuencias de visión de piezas, se cargan todas
las colas con los resultados de visión.
Para una mayor eficiencia, CameraBrightness y CameraContrast pueden tener la misma
configuración para todas las secuencias de visión de piezas. La secuencia de visión para la
primera pieza de la lista de PF_Start tendría la propiedad RuntimeAcquire establecida en
Fija. Las otras secuencias de visión de piezas que utilizan el mismo alimentador tendrían
RuntimeAcquire establecida en None (Ninguna). Así se elimina el tiempo para recogidas
adicionales. Este método da por sentado que todas las piezas se pueden encontrar usando
las mismas condiciones de iluminación.
8.2.4 Valores devueltos de PF_Robot
Todas las funciones de devolución de la llamada requieren que se devuelva un valor. Por
lo general, el valor devuelto indica que la operación finalizó correctamente (constante
PF_CALLBACK_SUCCESS). El valor devuelto se puede usar para cambiar la forma en
que funciona el sistema. Los valores devueltos de PF_Robot redirigen el flujo del proceso
principal y proporcionan distintos comportamientos según la “situación de caso de uso”.
Distintos valores devueltos ofrecen al desarrollador la capacidad de controlar el flujo del
proceso de alimentación de piezas en diversas situaciones.
CONSEJO
Introducción
50 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Comencemos describiendo cada uno de los valores devueltos para la función de
devolución de la llamada PF_Robot:
PF_CALLBACK_SUCCESS:
Cuando finaliza la función de devolución de la llamada PF_Robot y “PF_Robot =
PF_CALLBACK_SUCCESS”, el sistema verificará si la siguiente pieza activa (pieza
deseada) está disponible en su cola. Si está disponible, el sistema llamará nuevamente la
función PF_Robot. El parámetro de PartID que se transmite a PF_Robot será el número de
pieza de la pieza activa. En caso de que la pieza activa esté disponible, no es necesario
capturar una nueva imagen ni hacer vibrar el alimentador, ya que la pieza deseada ya está
en la cola. Si la pieza activa no está disponible, el sistema capturará nuevas imágenes para
cada pieza ejecutada en la instrucción PF_Start. Los resultados de visión se cargarán a la
cola de cada pieza y el sistema determinará si se debe hacer vibrar o no el alimentador.
PF_CALLBACK_RESTART:
Cuando finaliza la función de devolución de la llamada PF_Robot y “PF_Robot =
PF_CALLBACK_RESTART”, el sistema capturará nuevas imágenes para cada pieza
ejecutada en la instrucción PF_Start, independientemente de que haya piezas disponibles
en la cola de la pieza activa o no. Los resultados de visión se cargarán a todas las colas de
piezas y el sistema determinará si se debe hacer vibrar o no el alimentador. El objetivo
principal del valor devuelto de PF_CALLBACK_RESTART es forzar una nueva captura
de imágenes, una recarga de las colas, una redeterminación y realimentación desde el
principio del bucle del proceso principal de alimentación de piezas. Este valor devuelto es
conveniente cuando desea capturar nuevas imágenes para cada ciclo de recogida y
colocación. Por ejemplo, si se interrumpen accidentalmente las piezas circundantes
durante la recogida y colocación, puede ser útil capturar nuevas imágenes y actualizar las
colas.
PF_CALLBACK_RESTART_ACTIVEPART:
Cuando finaliza la función de devolución de la llamada PF_Robot y “PF_Robot =
PF_CALLBACK_RESTART_ACTIVEPART”, el sistema capturará una nueva imagen
solo para la pieza activa (no todas las piezas enumeradas en la instrucción PF_Start). Este
valor devuelto es especialmente útil cuando varios robots comparten el mismo
alimentador. PF_CALLBACK_RESTART_ACTIVEPART se puede utilizar para evitar la
duplicación de piezas en varias colas. El valor devuelto obliga la captura de una nueva
imagen y la carga de la cola solo para la pieza activa. Las colas de todas las demás piezas
mencionadas en la instrucción PF_Start se borran. Veamos un ejemplo.
Supongamos que el alimentador tiene un solo tipo de pieza física en su plataforma y dos
robots recogen las piezas del alimentador. En esta aplicación, dos piezas se agregan en el
diálogo Part Feeding (Alimentación de piezas). Cada pieza tendrá un número de robot
distinto. Además, las secuencias de visión de cada pieza tendrán diferentes calibraciones
(ya que la cámara se calibra para un robot específico). Aunque existe un solo tipo de pieza
física en la plataforma, se deben crear dos piezas lógicas (una para cada robot). La
instrucción PF_Start incluirá ambos números de pieza. Se captura la visión para ambas
piezas lógicas y se cargan las dos colas. Dado que ambas secuencias de visión van a ubicar
las mismas piezas físicas en la plataforma, habrá duplicación de coordenadas en las colas.
Si el robot n.º 1 recoge una pieza y la elimina de su cola, la
pieza se mantendrá en la cola
del
otro robot. Por lo tanto, el robot n.º 2 intentará recoger una pieza que ya fue recogida
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 51
por el robot n.º 1. PF_CALLBACK_RESTART_ACTIVEPART se utiliza para garantizar
que una pieza esté cargada en una sola cola. Gracias a esto, no se necesita clasificación
especial ni distribución especial de las colas. Consulte la próxima sección para conocer
detalles sobre la forma de programar esta situación de caso de uso.
Ejemplos de programación de la aplicación en Introducción 8.3 Tutoriales
8.2.5 PF_AccessFeeder / PF_ReleaseFeeder
PF_AccessFeeder / PF_ReleaseFeeder bloquea y desbloquea el acceso al alimentador para
evitar posibles colisiones en un sistema de varios robots y un alimentador. Estos comandos
son necesarios cuando dos robots comparten el mismo alimentador simultáneamente.
PF_AccessFeeder es un bloqueo de exclusión mutua. Si ya se obtuvo un bloqueo,
PF_AccessFeeder suspende la tarea (es decir, la pone en espera) hasta que el bloqueo se
libera o se agota el tiempo de espera especificado (opcional). Cuando un robot termina de
utilizar el alimentador, debe liberar el bloqueo a través de la instrucción PF_ReleaseFeeder
a fin de dejar disponible el alimentador para el otro robot. PF_ReleaseFeeder se puede
utilizar dentro de la instrucción de procesamiento paralelo “!...!” de un comando de
movimiento para permitir que un robot se acerque al alimentador mientras el otro robot se
aleja.
El código para evitar que los robots choquen al acceder al alimentador es similar al
siguiente:
PF_AccessFeeder 1
Pick = PF_QueGet(1)
PF_QueRemove (1)
Jump Pick
On gripper
Wait .25
Jump Place ! D80; PF_ReleaseFeeder 1 !
8.2.6 PF_Stop
La instrucción PF_Stop tiene PartID como parámetro. En un sistema de una sola pieza,
PartID es igual a la ID de la pieza que se está ejecutando. En un sistema de varias piezas,
PartID puede ser el número de cualquiera de las piezas que se están ejecutando en el
alimentador. En otras palabras, puede especificar cualquier pieza que esté en la lista de
PF_Start. Sin embargo, tenga en cuenta que el parámetro de PartID que se transmite a la
función de devolución de la llamada PF_CycleStop será la ID de pieza de la actual pieza
activa.
8.2.7 PF_InitLog
PF_InitLog inicia el archivo de registro de alimentación de piezas. Todas las piezas
mencionadas en la instrucción PF_Start tendrán registrados datos en el archivo. Las
entradas de los archivos de registro incluyen la ID de la actual pieza activa. Por ejemplo,
se registrará el número de piezas procesadas dentro de la devolución de llamada de
PF_Robot para la actual pieza activa. Consulte el capítulo siguiente para obtener más
detalles.
Software “5. Archivo de registro de alimentación de piezas”
Introducción
52 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
8.2.8 PF_QtyAdjHopperTime
La función PF_QtyAdjHopperTime calcula cuánto tiempo debe estar encendida una tolva
para suministrar la “cantidad óptima de piezas”. El tiempo se calcula a partir de la cantidad
de piezas suministradas en un tiempo específico, la cantidad aproximada de piezas que se
encuentran actualmente en la plataforma del alimentador y el valor de “Cantidad óptima
de piezas” definido durante la calibración del “Área de la pieza”. La función
PF_QtyAdjHopperTime se puede ejecutar en cualquier lugar del código del usuario. Por
ejemplo, se podría ejecutar antes de la instrucción PF_Start, a fin de suministrar las piezas
antes de la ejecución. En tal caso, el sistema de alimentación de piezas no sabe qué grupo
de piezas se utilizará en el alimentador. Podría ejecutarse una sola pieza en el alimentador
o bien cuatro piezas simultáneamente. Si se ejecuta PF_QtyAdjHopperTime antes de
PF_Start, el cálculo no puede asegurar que la pieza especificada por el parámetro PartID
sea la única pieza en la plataforma. En tal caso, solo se utiliza la secuencia de visión de
blob de pieza (para esa PartID). Si se ejecuta PF_QtyAdjHopperTime después de
PF_Start, el sistema de alimentación sabe qué piezas se están ejecutando en el alimentador
(ya que están especificadas en la instrucción PF_Start). En tal caso, se ejecuta la
secuencia de visión de blob de piezas (para la PartID proporcionada), además de cada
secuencia de partes individual. Cuando se ejecutan varias piezas simultáneamente, el
sistema supone que una cantidad equivalente de cada tipo de pieza es lo óptimo. Sin
embargo, en algunos casos aislados podría ser de otro modo. Por ejemplo, podría ser
adecuado tener el doble de piezas n.º 1 y piezas n.º 2. En tal caso, el código del usuario
debe modificar a escala (multiplicar o dividir) el tiempo calculado que arrojó la función
PF_QtyAdjHopperTime para proporcionar la cantidad deseada de piezas de la tolva.
8.3 Tutoriales
El objetivo de esta sección es mostrar cómo se implementan la aplicación de varias piezas
y la aplicación de varias piezas y varios robots. En muchos casos, simplemente
explicaremos los pasos que debe seguir, pero no los detalles de la acción. Se da por hecho
que usted ya leyó el capítulo 7 de la Introducción, “Usemos la opción de alimentación de
piezas”, y que sabe cómo crear una pieza nueva, realizar una calibración de pieza y
escribir un programa para una aplicación de un robot o una pieza.
8.3.1 Tutorial n.º 1: 1 robot, 1 alimentador, 2 piezas
En este tutorial, dos piezas se ejecutan en el mismo alimentador simultáneamente. Las
piezas son físicamente distintas. Se utiliza la pieza n.º 1 y la pieza n.º 2. Sobre el
alimentador hay una cámara fija enfocada hacia abajo. El robot recogerá y colocará dos
piezas n.º 1 y luego recogerá y colocará una pieza n.º 2. Esta operación se repetirá
continuamente en un bucle. Cada pieza se recogerá con un gripper distinto (es decir, bit de
salida). La cantidad de piezas y el orden de recogida son importantes en esta aplicación de
montaje. El proceso de alternar entre la pieza n.º 1 y la pieza n.º 2 se logrará usando
“PF_ActivePart”. Al principio escribiremos el código para que el movimiento del robot se
ejecute dentro de la función de devolución de la llamada PF_Robot. Luego mejoraremos
el rendimiento del robot al realizar el movimiento en una multitarea distinta y procesar en
paralelo la vibración del alimentador.
(1) Cree un nuevo proyecto EPSON RC+.
(2) Calibre la cámara fija enfocada hacia abajo.
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 53
(3) En Vision Guide, cree la secuencia de blob de pieza. La “Secuencia de blob de pieza”
se utiliza para obtener retroalimentación durante la calibración de piezas y en el
tiempo de ejecución para determinar la mejor manera de alimentar las piezas. La
secuencia de blob de pieza detecta las piezas individuales o grupos de piezas en el
tiempo de ejecución. La secuencia de blob de pieza generalmente contiene un solo
objeto de visión de blob. La secuencia de blob de pieza debe tener la calibración de
cámara asignada a la propiedad Calibration. La propiedad NumberToFind del objeto
Blob se debe configurar en “All” (Todos). La propiedad ThresholdAuto del blob se
debe establecer en False (Falso) (valor predeterminado). Coloque las piezas en la
plataforma, abra la ventana Histogram (Histograma) y ajuste los umbrales alto y bajo
hasta que solo se detecten las piezas. Defina MinArea del blob en un valor
equivalente a 0,9 veces el área de la pieza. Si la pieza tiene varios lados, defina
MinArea de manera que se pueda encontrar la pieza en cualquier orientación. Puede
tener secuencias de blob de pieza independientes para las dos piezas (que se ejecutan
en el alimentador), pero en general puede usar la misma secuencia para todas.
Asegúrese de que la secuencia de blob de pieza pueda detectar cada pieza que se
ejecutará en el alimentador. La ventana de búsqueda del objeto Blob debe llenar lo
máximo que sea posible del área de la plataforma. Dicho esto, es fundamental que el
objeto Blob solo encuentre las piezas y no la bandeja del propio alimentador. Si la
secuencia de blob de pieza encuentra una porción de la bandeja, el sistema no
funcionará correctamente.
(4) En Vision Guide, cree las secuencias de piezas para las dos piezas que se ejecutarán
en el alimentador. Asegúrese de que la propiedad Calibration de cada secuencia esté
configurada. Normalmente se utiliza un objeto geométrico para ubicar la parte
delantera (y un segundo objeto geométrico para ubicar la parte posterior de la pieza si
se requiere Flip [Volteo]). La propiedad NumberToFind del objeto de visión
generalmente está configurada en “All”.
(5) Vaya al diálogo [Tools]-[Part Feeding] y agregue una pieza nueva. El “Asistente de
piezas” lo llevará a través del proceso para agregar una pieza. Para conocer más
detalles sobre el Asistente de piezas, consulte el siguiente capítulo.
Introducción 7 “Usemos la opción de alimentación de piezas”.
(6) Vaya a la página [Calibration] (Calibración) de la pieza nueva y haga clic en el botón
<Calibrate> (Calibrar) para iniciar el Asistente de calibración. Consulte la próxima
sección para conocer detalles sobre el uso del Asistente de calibración.
Introducción 7.12 “Ejecución de la calibración de piezas”
(7) Vaya a la página [Pick] de la pieza n.º 1 y haga clic en el botón <Teach> (Enseñar).
Desplace el robot a la altura de recogida de la pieza y enseñe “Pick Z” (Recogida Z).
(8) Haga clic en el botón <Add> en el diálogo [Part Feeding] para agregar la pieza n.º 2.
Configure la pieza con el “Asistente de piezas”.
(9)
Vaya a la página [Calibration] y haga clic en el botón <Calibrate>
para iniciar el
Asistente de calibración.
(10) Vaya a la página [Pick] de la pieza n.º 2 y haga clic en el botón <Teach>. Desplace el
robot a la altura de recogida de la pieza y enseñe “Pick Z” (Recogida Z).
(11) Cierre el diálogo Part Feeding. El código de plantilla de alimentación de piezas (es
decir, las funciones de devolución de la llamada de alimentación de piezas) se crea
automáticamente.
Introducción
54 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
(12) Enseñe los puntos de robot para “estacionar” y “colocar” y etiquételos como
corresponda.
(13) Modifique el código de plantilla de la siguiente manera:
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
PF_Start 1, 2
Fend
PartFeeding.prg
Global Integer numPicked ' Número de piezas recogidas
Function PF_Robot(PartID As Integer) As Integer
Integer numRequired, gripperOutput
Select PartID
Case 1
numRequired = 2 ' Número de piezas necesarias
gripperOutput = 1
Case 2
numRequired = 1
gripperOutput = 2
Send
Do
If PF_QueLen(PartID) > 0 Then
P0 = PF_QueGet(PartID)
PF_QueRemove(PartID)
Jump P0
On gripperOutput
Wait .1
Jump place
Off gripperOutput
Wait .1
numPicked = numPicked + 1
Else
' No se recogieron piezas suficientes
PF_ActivePart = PartID ' No hay cambio en la pieza activa
PF_Robot = PF_CALLBACK_SUCCESS
Exit Function
EndIf
Loop Until numPicked = numRequired
numPicked = 0
' Seleccionar la siguiente pieza activa
If PartID = 1 then
PF_ActivePart = 2
Else
PF_ActivePart = 1
EndIf
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 55
En el código de muestra indicado anteriormente, el alimentador vibrará (si es necesario)
solo después de que el robot haya completado el movimiento para “colocar” y la función
PF_Robot haya finalizado.
El código se puede reestructurar de modo que la vibración del alimentador se lleve a cabo
en paralelo con el movimiento del robot. La devolución de llamada PF_Robot se utilizará
para notificar a una tarea de movimiento (Function Main en este ejemplo) que las piezas
están disponibles para ser recogidas.
E/S de memoria (con las etiquetas “PartsToPick1” y “PartsToPick2”) se usan para señalar
cuando las piezas están disponibles.
Al momento de colocar la última pieza disponible (80 % del camino del movimiento en
este ejemplo), la tarea de movimiento señala a la función PF_Robot que finalice y
devuelva un valor. Los valores devueltos le indican al sistema que se puede capturar
nuevas imágenes, vibrar, suministrar piezas de una tolva, etc. Ahora modificaremos el
código del tutorial de manera que la acción del alimentador se lleve a cabo en paralelo con
el movimiento del robot.
Main.prg
Function Main
Integer numToPick1, numToPick2, numPicked
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick1
MemOff PartsToPick2
numToPick1 = 2
numToPick2 = 1
PF_Start 1.2
Do
numPicked = 0
Do
Wait MemSw(PartsToPick1) = On
pick = PF_QueGet(1)
PF_QueRemove (1)
Jump pick
On gripper1
Wait .1
numPicked = numPicked + 1
If numPicked < numToPick1 And PF_QueLen(1) > 0 Then
Jump place
Else
' Última pieza o no hay más piezas disponibles para recoger
If numPicked = numToPick1 Then
' Seleccionar la siguiente pieza
PF_ActivePart 2
EndIf
Jump place ! D80; MemOff PartsToPick1 !
EndIf
Introducción
56 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Off gripper1
Wait .1
Loop Until numPicked = numToPick1
numPicked = 0
Do
Wait MemSw(PartsToPick2) = On
pick = PF_QueGet(2)
PF_QueRemove (2)
Jump pick
On gripper2
Wait .1
numPicked = numPicked + 1
If numPicked < numToPick2 And PF_QueLen(2) > 0 Then
Jump place
Else
' Última pieza o no hay más piezas disponibles para recoger
If numPicked = numToPick2 Then
' Seleccionar la siguiente pieza
PF_ActivePart 1
EndIf
Jump place ! D80; MemOff PartsToPick2 !
EndIf
Off gripper2
Wait .1
Loop Until numPicked = numToPick2
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 57
8.3.2 Tutorial n.º 2: 2 robots, 1 alimentador, 2 piezas
En este tutorial, dos piezas se ejecutan en el mismo alimentador simultáneamente. Las
piezas son físicamente distintas. Se utiliza la pieza n.º 1 y la pieza n.º 2. Sobre el
alimentador hay una cámara fija enfocada hacia abajo. Dos robots compartirán el mismo
alimentador. Los robots se turnarán para recoger del alimentador. Cada robot recogerá y
colocará su propia pieza. El robot n.º 1 recogerá una pieza n.º 1 y luego el robot n.º 2
recogerá una pieza n.º 2. El orden de recogida es importante en esta aplicación. El orden
de recogida alternado se logra con “PF_ActivePart”. Al principio escribiremos el código
para que el movimiento del robot se ejecute dentro de la función de devolución de la
llamada PF_Robot. En este caso, el movimiento del robot será secuencial. En otras
palabras, solo un robot se moverá a la vez. Luego, para mejorar el rendimiento del robot,
realizaremos el movimiento en multitareas distintas. El tutorial modificado también
incluirá PF_AccessFeeder / PF_ReleaseFeeder. PF_AccessFeeder / PF_ReleaseFeeder se
utilizan para garantizar que los robots no choquen al recoger piezas del alimentador.
(1) Cree un nuevo proyecto EPSON RC+.
(2) Calibre la cámara fija enfocada hacia abajo para el robot n.º 1.
(3) Calibre la cámara fija enfocada hacia abajo para el robot n.º 2.
(4) En Vision Guide, cree la secuencia de blob de pieza para la pieza n.º 1. La secuencia
de blob de pieza generalmente contiene un solo objeto de visión de blob. La
secuencia deberá asignar a la propiedad Calibration la calibración de cámara realizada
para el robot n.º 1. La propiedad NumberToFind del objeto Blob se debe configurar en
“All” (Todos). La propiedad ThresholdAuto del blob se debe establecer en False
(valor predeterminado). Coloque las piezas en la plataforma, abra la ventana
Histogram y ajuste los umbrales alto y bajo hasta que solo se detecten las piezas.
Defina MinArea del blob en un valor equivalente a 0,9 veces el área de la pieza. Si la
pieza tiene varios lados, defina MinArea de manera que se pueda encontrar la pieza en
cualquier orientación. Asegúrese de que la secuencia de blob de pieza pueda detectar
la pieza n.º 1. La ventana de búsqueda del objeto Blob debe llenar lo máximo que sea
posible del área de la plataforma. Dicho esto, es fundamental que el objeto Blob solo
encuentre la pieza y no la bandeja del propio alimentador.
(5) En Vision Guide, cree la secuencia de blob de pieza para la pieza n.º 2. La secuencia
de blob de pieza generalmente contiene un solo objeto de visión de blob. La
secuencia deberá asignar a la propiedad Calibration la calibración de cámara realizada
para el robot n.º 2. La propiedad NumberToFind del objeto Blob se debe configurar en
“All” (Todos). La propiedad ThresholdAuto del blob se debe establecer en False
(valor predeterminado). Coloque las piezas en la plataforma, abra la ventana
Histogram y ajuste los umbrales alto y bajo hasta que solo se detecten las piezas.
Defina MinArea del blob en un valor equivalente a 0,9 veces el área de la pieza. Si la
pieza tiene varios lados, defina MinArea de manera que se pueda encontrar la pieza en
cualquier orientación. Asegúrese de que la secuencia de blob de pieza pueda detectar
la pieza n.º 2. La ventana de búsqueda del objeto Blob debe llenar lo máximo que sea
posible del área de la plataforma. Dicho esto, es fundamental que el objeto Blob solo
encuentre la pieza y no la bandeja del propio alimentador.
(6) En Vision Guide, cree la secuencia de piezas que se utilizará para buscar la pieza n.º 1.
Asegúrese de configurar la propiedad Cali
bration con el valor de la calibración
Introducción
58 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
realizada para el robot n.º 1. Normalmente se utiliza un objeto geométrico para ubicar
la parte delantera (y un segundo objeto geométrico para ubicar la parte posterior de la
pieza si se requiere Flip). La propiedad NumberToFind del objeto de visión
generalmente está configurada en “All”.
(7) En Vision Guide, cree la secuencia de piezas que se utilizará para buscar la pieza n.º 2.
Asegúrese de configurar la propiedad Calibration con el valor de la calibración
realizada para el robot n.º 2. Normalmente se utiliza un objeto geométrico para ubicar
la parte delantera (y un segundo objeto geométrico para ubicar la parte posterior de la
pieza si se requiere Flip). La propiedad NumberToFind del objeto de visión
generalmente está configurada en “All”.
(8) Vaya al diálogo [Tools]-[Part Feeding] y agregue una pieza nueva para la pieza n.º 1.
El “Asistente de piezas” lo llevará a través del proceso para agregar una pieza.
Asegúrese de seleccionar el robot n.º 1 en la primera página del Asistente de piezas.
Para conocer más detalles sobre el Asistente de piezas, consulte el siguiente capítulo.
Capítulo 7 de la Introducción, “Usemos la opción de alimentación de piezas”
(9) Vaya a la página [Calibration] de la nueva pieza n.º 1 y haga clic en el botón
<Calibrate> para iniciar el Asistente de calibración. Consulte la próxima sección para
conocer detalles sobre el uso del Asistente de calibración.
Introducción 7.12 “Ejecución de la calibración de piezas”
(10) Vaya a la página de [Pick] de la pieza n.º 1 y haga clic en el botón <Teach>.
Desplace el robot n.º 1 a la altura de recogida de la pieza y enseñe “Pick Z”.
(11) Haga clic en el botón <Add> en el diálogo [Part Feeding] para agregar la pieza n.º 2.
Configure la pieza con el “Asistente de piezas”. Asegúrese de seleccionar el robot n.º
2 en la primera página del Asistente de piezas.
(12) Vaya a la página [Calibration] y haga clic en el botón <Calibrate> para iniciar el
Asistente de calibración.
(13) Vaya a la página [Pick] de la pieza n.º 2 y haga clic en el botón <Teach>. Desplace
el robot n.º 2 a la altura de recogida de la pieza y enseñe “Pick Z”.
(14) Cierre el diálogo [Part Feeding].
El código de plantilla de alimentación de piezas (es decir, las funciones de
devolución de la llamada de alimentación de piezas) se crea automáticamente.
(15) Modifique el código de plantilla de la siguiente manera:
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 59
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
PF_Start 1, 2
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
If PF_QueLen(PartID) > 0 Then
Select PartID
Case 1
Robot 1
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper
Wait .25
Jump place
Off rbt1Gripper
Wait .25
PF_ActivePart 2
Case 2
Robot 2
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On rbt2Gripper
Wait .25
Jump place
Off rbt2Gripper
Wait .25
PF_ActivePart 1
Send
EndIf
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Introducción
60 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Ahora modificaremos el código de ejemplo de manera que el movimiento del robot se
lleve a cabo en multitareas distintas. Cuando un robot se aleja del alimentador, el otro
robot puede comenzar a moverse hacia el alimentador. Cuando los robots comparten un
alimentador con movimiento paralelo, es fundamental usar los comandos
PF_AccessFeeder y PF_ReleaseFeeder para evitar que los robots choquen.
Además, el código modificado procesará en paralelo la vibración del alimentador y el
movimiento del robot. En este tutorial, cuando cada robot se encuentre en un 80 % del
camino hacia su posición de colocación, el robot habrá despejado el campo de visión de la
cámara y se podrá capturar una imagen.
Asimismo, cuando cada robot esté en un 80 % del camino hacia su posición de colocación,
es seguro que el otro robot comience a moverse hacia el alimentador. Este es solo un
ejemplo. El porcentaje de movimiento real depende de la velocidad y el posicionamiento
relativo de los robots en la situación específica. Cada robot tiene un punto etiquetado
“estacionar” y otro etiquetado “colocar”. En este tutorial, el robot n.º 1 recoge del
alimentador con una orientación del brazo Righty (diestro) y el robot n.º 2 recoge del
alimentador con una orientación del brazo Lefty (zurdo).
Este es el código de plantilla modificado:
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick1
MemOff PartsToPick2
PF_Start 1, 2
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Function Robot1PickPlace
Robot 1
Do
Wait MemSw(PartsToPick1) = On
PF_AccessFeeder 1
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper
Wait .25
Jump place ! D80; MemOff PartsToPick1; PF_ReleaseFeeder 1 !
Off rbt1Gripper
Wait .25
Loop
Introducción
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 61
Fend
Function Robot2PickPlace
Robot 2
Do
Wait MemSw(PartsToPick2) = On
PF_AccessFeeder 1
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On rbt2Gripper
Wait .25
Jump place ! D80; MemOff PartsToPick2; PF_ReleaseFeeder 1 !
Off rbt2Gripper
Wait .25
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
If PF_QueLen(1) > 0 Then
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
PF_ActivePart 2
Else
PF_ActivePart 1
EndIf
Case 2
If PF_QueLen(2) > 0 Then
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
PF_ActivePart 1
Else
PF_ActivePart 2
EndIf
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Introducción
62 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
8.4 Resumen de varias piezas y varios robots
A continuación, encontrará un resumen con los conceptos clave que se necesitan para una
aplicación de alimentación de piezas con varias piezas o varios robots.
A) PF_Start le permite definir hasta 4 piezas que desea ejecutar simultáneamente en el
mismo alimentador.
B) PF_ActivePart le permite seleccionar la actual pieza deseada. El sistema vibrará para
asegurarse de que la pieza deseada esté disponible.
C) Un máximo de 2 robots pueden acceder simultáneamente al mismo alimentador.
PF_AccessFeeder y PF_ReleaseFeeder garantizan que ambos robots recojan piezas
del alimentador en forma segura, sin la posibilidad de chocar.
D) PF_Robot Return Value controla el flujo del proceso principal.
Los siguientes valores devueltos ofrecen distintas funcionalidades:
PF_Robot = PF_CALLBACK_SUCCESS
Si PF_ActivePart (es decir, la pieza deseada) está disponible, el sistema llamará
nuevamente la función PF_Robot sin volver a capturar las imágenes ni cargar las colas
de las piezas. Si PF_ActivePart no está disponible, se capturarán nuevas imágenes
para cada una de las piezas y se volverán a cargar las colas.
PF_Robot = PF_CALLBACK_RESTART
El sistema capturará nuevas imágenes para cada pieza que haya sido ejecutada en la
instrucción PF_Start y volverá a cargar todas las colas.
PF_Robot = PF_CALLBACK_RESTART_ACTIVEPART
El sistema capturará una nueva imagen solo para PF_ActivePart. La cola de
PF_ActivePart se cargará con los resultados de visión y se borrarán todas las demás
colas.
Consulte la próxima sección para obtener información adicional sobre varias piezas y
varios robots.
Ejemplos de programación de la aplicación en Introducción 8.3 Tutoriales
Hardware
(Común)
Hardware (Común)
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 65
1. Verifique los
elementos incluidos
Según cada orden de compra específica, se incluyen los siguientes elementos en la opción
de alimentación de piezas.
Una vez que lleguen los elementos, verifique que estén todos incluidos y que no presenten
daños.
- Documento de la licencia de alimentación de piezas
- Alimentador con luz de fondo empotrada
- Plataforma
- Cable de alimentación al alimentador
- Cable Ethernet
A continuación, los elementos opcionales:
- Tolva
- Controlador de tolva
- Cable de tolva incluido
- Otros elementos opcionales
Hardware (Común)
66 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2. Configuración de sistema
2.1 Ejemplo de configuración
La siguiente ilustración muestra la configuración de sistema con la opción de alimentación
de piezas.
El alimentador IF-80 cuenta con una tolva integrada.
Se pueden instalar hasta cuatro alimentadores en el controlador.
Para la serie T, se pueden utilizar hasta dos alimentadores simultáneamente.
En el caso de la operación de varias piezas, se pueden instalar hasta dos manipuladores por
alimentador.
Se debe conectar Ethernet con un dispositivo concentrador Ethernet.
Use el siguiente sistema de visión.
Serie Compact Vision CV2A
CV2-HA
CV2-SA
PC Vision PV1
Hardware (Común)
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 67
2.2 Consideraciones para seleccionar una configuración
- Los manipuladores disponibles para la opción de alimentación de piezas son las series
SCARA y robots de 6 ejes. Esta opción no es compatible con los robots de las series
PG y X5.
- Cuando use PV (PC Vision), asegúrese de no efectuar la comunicación del alimentador
y la comunicación de la cámara por el mismo puerto de red. Si se efectúan
simultáneamente la comunicación del alimentador y la comunicación de la cámara, se
pueden ver afectadas las operaciones de imágenes o del alimentador. Recomendamos
agregar la tarjeta de red a la PC o usar la tarjeta de red con múltiples puertos y conectar
la cámara y el puerto de red en forma directa.
- No ocurre ningún error, aunque se conecte más de un controlador de robot a un
alimentador. Sin embargo, preste atención a la asignación de direcciones IP y tenga
cuidado de no conectar más de un controlador de robot con un alimentador cuando
establece la red.
- Se pueden instalar hasta dos tolvas en un alimentador. Sin embargo, no es posible
controlar dos alimentadores simultáneamente.
2.3 Seleccione un lente de cámara
Seleccione un lente y un tubo telescópico en función del campo de visión y de la distancia
de trabajo mediante la herramienta de selección de cámara incluida en Vision Guide.
Herramienta de selección de cámara:
C:\EpsonRC70\Tools\CamSelectTool\CamSelectTool.exe
Hardware (Común)
68 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
3. Instalación y ajuste
3.1 Manipulador y controlador
Para instalar el manipulador, consulte el manual de cada manipulador. Instale el
manipulador en forma apropiada de acuerdo con el Manual de seguridad e instalación del
sistema de robot.
Elabore o prepare una mano de robot (gripper).
Para instalar el controlador, consulte el manual del controlador.
3.2 Cámara y lente
Instale la cámara enfocada hacia abajo para poder mostrar la plataforma completa del
alimentador. Recomendamos usar una cámara fija hacia abajo. También se entrega
asistencia para cámara móvil.
Cámara (fija hacia abajo)
Plataforma
Alimentador
Posición de
colocación
Deben coincidir la dirección longitudinal del alimentador y la dirección horizontal del
campo de visión de la cámara (los cuadrados verdes de más abajo). De lo contrario, no
funcionará correctamente el sistema de alimentación de piezas. El alimentador se puede
montar sin importar la dirección.
Correcto
Incorrecto
Hardware (Común)
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 69
Cuando use una cámara móvil, enseñe (cree un punto de datos) una posición en la cual
coincidan la dirección longitudinal del alimentador y la dirección horizontal del campo de
visión de la cámara, como se aprecia más arriba. Luego, establézcala como posición de
imagen.
Ajuste el enfoque y la apertura del lente de la cámara, de modo que la cámara pueda
reconocer la pieza con claridad y el brillo de la plataforma sea uniforme al captar la
imagen de la pieza.
3.3 Alimentador y tolva
Considere los siguientes puntos en la instalación.
- Montaje en superficie horizontal.
- Montaje subterráneo sólido.
- Sujeción firme con cuatro tornillos M6.
Si la superficie de instalación no es plana ni nivelada o si la rigidez de la base de montaje
es baja, las piezas no se dispersarán por completo. Disminuye el número de piezas que se
pueden recoger y esto puede provocar una reducción en el tiempo del ciclo.
Para conocer detalles acerca de la instalación, consulte los siguientes manuales.
Opción de EPSON RC+ 7.0 Alimentación de piezas 7.0 Manual de integración
mecánica
El Manual de operación específico para el modelo de su alimentador
Instale la tolva en una superficie plana y nivelada. Fije con firmeza a una base de alta
rigidez.
Tenga cuidado de no montar la tolva sobre la plataforma de alimentación. Cuando se
permite la máxima amplitud posible en el acceso a la plataforma, aumenta el número de
piezas que se pueden recoger y mejora el tiempo del ciclo.
Para conocer más detalles sobre la instalación o el ajuste, consulte Hardware (Tolva) 5.
Partida - 5.1 Ajuste.
Monte la tolva de modo que la posición de alimentación de piezas del alimentador quede
hacia la posición de colocación.
En los siguientes ejemplos, alimente las piezas al área roja sombreada. Para configurar la
tolva como se muestra a continuación, se puede usar la función de alimentación en
paralelo y mejorar el tiempo del ciclo.
Hardware (Común)
70 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Ejemplo de alineación 1
Posición de colocación
Tolva
Alimentador
Ejemplo de alineación 2
Posición de colocación
Tolva
Alimentador
Si una pieza alimentada rueda hacia el área en la que el robot recoge piezas, puede causar
un efecto negativo en la operación de recogida. La siguiente alineación es eficaz para
evitarlo.
Ejemplo de alineación 3
Posición de colocación
Tolva
Alimentador
Cuando se alimentan piezas desde la tolva, es importante alimentar la cantidad apropiada
hacia la posición adecuada. Por lo tanto, considere lo siguiente:
- Para ajustar la cantidad de alimentación de piezas, cree una estructura de presa sobre la
tolva.
- Para controlar la posición de alimentación de piezas, cree una guía en el extremo de la
tolva.
Hardware (Común)
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 71
4. Cableado eléctrico
4.1 Precauciones sobre la fuente de alimentación
A continuación, se describen precauciones con respecto a la fuente de alimentación para el
controlador de robot, CV2A, alimentador y tolva.
De acuerdo con JIS B 9960-1(IEC 60204-1) Seguridad de la maquinaria - Equipamiento
eléctrico de las máquinas - 5.1 Terminaciones de conductores de suministro entrantes,
recomendamos conectar los equipamientos eléctricos de la máquina diseñada por el usuario
con una fuente de alimentación única. Cuando se utiliza otra fuente de alimentación desde
la fuente de alimentación de entrada con una pieza en particular, como un alimentador o una
tolva, recomendamos suministrar alimentación desde un transformador eléctrico o un
convertidor ubicado dentro del equipamiento eléctrico de la máquina.
A continuación, un ejemplo de equipamiento electrónico diseñado por el usuario en una
conexión con una sola fuente de alimentación de CA de 200 V. Para conocer detalles,
consulte (equipos eléctricos de las máquinas), consulte JIS B 9960-1(IEC 60204-1)
Seguridad de la maquinaria - Equipamiento eléctrico de las máquinas.
Cable incluido
Controlador de
tolva
Tolva
Cable incluido
Controlador de robot
CV2A
Requiere preparación por
parte de los usuarios.
Fuente de alimentación
CA 200 V-240 V
Monofásica 50/60 Hz
Disyuntor
Disyuntor
y
convertidor de CA/CC
CA200 VCC24 V
Disyuntor
y
transformador
CA200 V
voltaje de tolva
eléctrica
(CA100 V,CA200 V,
CA220 V)
Cable
incluido
Disyuntor
y
convertidor de CA/CC
CA200 VCC24 V
Alimentador
Disyuntor de fuga
Cable
incluido
Hardware (Común)
72 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
4.2 Cableado de alimentación al alimentador
Para conocer detalles acerca del cableado, consulte la Opción de EPSON RC+ 7.0
Alimentación de piezas 7.0 IF-240 2.4 Interfaces eléctricas.
Recomendamos diseñar un circuito que corte la alimentación del alimentador y de la tolva
mediante un relé de seguridad externo cuando se mantiene presionado el interruptor de
parada de emergencia.
Consulte el Seguridad e instalación del sistema de robot 2.6.8 Diagramas de circuitos.
El diagrama de referencia es el siguiente:
4.3 Cableado de alimentación a la tolva
Para conocer detalles sobre la instalación, consulte Hardware (Controlador de tolva) 3.
Información de partida.
Recomendamos diseñar un circuito que corte la energía del alimentador mediante un relé
de seguridad externo cuando se mantiene presionado el interruptor de parada de
emergencia.
4.4 Cableado del robot
Consulte los manuales de cada robot y controlador para efectuar el cableado.
4.5 Cableado de la cámara
Consulte el siguiente manual para realizar el cableado.
Opción Vision Guide de EPSON RC+ 7.0: Hardware
Hopper Hopper
Controller
Feeder
24V S-Power
0V S-Power
24V Power
0V Power
External +24V
External +24V GND
External +24V
External +24V GND
Noise Filter
(Simple Chart)
External +24V GND
1
2
Circuit Protector
AC Power
Source
RESET SW
External +24V
3
16
4
17
External safety relay
K1
K2
K1 K2
14
15
RC700
/RC90
TP Connector
Connector
EMERGENCY
External +24V
Fuse 1A or less
Externo
Fusible de 1 A o menos
Relé de seguridad externo
(Tabla simple)
Conector
EMERGENCY
Conector TP
Externo + 24V GND
Externo + 24V
Externo + 24V
Externo + 24V GND
Externo + 24V
Externo + 24V GND
Fuente
alimentación
de CA
Protector de circuito
Filtro de ruido
Controlador
de tolva
Tolva
Alimentador
24V S-Power
0V S-Power
24V Power
0V Powe
r
Hardware (Común)
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 73
5. Lista de piezas opcionales
El siguiente es una línea típica. Comuníquese con el proveedor de para conocer detalles.
Nombre de pieza N.° de pieza
Luz de
fondo
IF-80 con luz de fondo blanca
IF-240 con luz de fondo blanca
IF-380 con luz de fondo blanca
IF-530 con luz de fondo blanca
Pida el número
de pieza al
proveedor.
Plataforma
Placa vibrante plana (POM-C)
Placa vibrante plana ESD
Cable Cable de alimentación 5 m
Consulte los siguientes manuales para conocer los procedimientos de reemplazo de la luz
de fondo y la plataforma.
Opción EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-80
Opción EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-240
Opción EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-380, IF-530
Hardware (Común)
74 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Software
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 77
1. Introducción
Esta sección ofrece una descripción general del software Alimentación de piezas 7.0 de
EPSON RC+ 7.0.
1.1 Configuración del software de alimentación de piezas
El software de alimentación de piezas consta de los tres siguientes componentes.
- Ventana de alimentación de piezas
- Comandos SPEL+ para la alimentación de piezas
- Funciones de devolución de la llamada para alimentación de piezas
1.1.1 Ventana de alimentación de piezas
El diálogo de alimentación de piezas se abre al seleccionar en el menú de EPSON RC+
7.0: [Tools] - [Part Feeding] (Herramientas - Alimentación de piezas).
Ahí se pueden efectuar las siguientes acciones.
1. Configurar los parámetros de las piezas.
Software
78
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2. Calibrar el alimentador.
Se usa un asistente de calibración para simplificar este proceso.
3. Ejecutar las pruebas de calibración del alimentador.
No aparecerá la ventana de alimentación de piezas si es que EPSON RC+ no está
conectado al controlador. Habrá un error al intentar abrir la ventana de alimentación de
piezas con un controlador virtual o si está fuera de línea.
1.1.2 Comandos SPEL+ para la alimentación de piezas
Los comandos SPEL para la alimentación de piezas son comandos SPEL que se entregan
para que los usuarios ejecuten y controlen la opción de alimentación de piezas desde un
programa preparado por el usuario. A continuación, algunos ejemplos típicos de dichos
comandos.
Comando Descripción/ Aplicación
PF_Start Inicia el proceso de alimentación de piezas.
PF_Stop Emite una solicitud de detención del proceso de alimentación de
piezas.
PF_Abort Detiene de manera forzada el proceso de alimentación de piezas.
Función PF_QueGet Arroja los datos de las coordenadas registrados en la cola de
coordenadas de piezas (lista de coordenadas de piezas para el
alimentador).
PF_InitLog Especifica la ruta de destino de salida de los archivos de registro.
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 79
1.1.3 Proceso de alimentación de piezas
El proceso de alimentación de piezas es un proceso de operaciones incorporado al sistema
de alimentación de piezas para automatizar la visión y el control del alimentador.
El proceso de alimentación de piezas comienza con el comando PF_Start. El proceso se
detiene con PF_Stop u otro comando similar.
A continuación, se indica un resumen general del proceso de alimentación de piezas.
Inicio
Identifique las piezas del alimentador
- Operación de iluminación
- Ejecución del sistema de visión
Partes del proceso
- Se opera el alimentador
- Se opera la tolva (Función de devolución de llamada PF_Control)
El robot se mueve
- Se genera la cola de coordenadas de piezas
- Operación de recogida y colocación (Función de devolución de
llamada PF_Robot)
¿Hay piezas disponibles
para recoger?
1. Identifique las piezas del alimentador
Utilice el sistema de visión para verificar la cantidad y distribución de piezas en la
plataforma.
2. Partes del proceso
El alimentador se controla y las piezas se mueven con el propósito de facilitar su agarre
por parte del robot. Cuando la cantidad de piezas es baja o cuando no queda ninguna,
se invoca la función de devolución de la llamada PF_Control, a fin de suministrar
piezas desde la tolva.
3. El robot se mueve
Se genera una cola con las coordenadas de las piezas (lista de coordenadas de las
piezas del alimentador).
Se invoca la función de devolución de la llamada PF_Robot (consulte la siguiente
sección) para efectuar la recogida o colocación de piezas.
Software
80 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.1.4 Funciones de devolución de la llamada para alimentación de
piezas
Las funciones de devolución de la llamada son funciones de SPEL
+
invocadas desde el
proceso de alimentación de piezas cuando se reúnen determinadas condiciones. Cuando se
agregan piezas, las funciones de devolución de la llamada se generan de manera
automática en el proyecto. El usuario debe modificar las funciones de devolución de la
llamada según el sistema en uso.
Proceso de
alimentación de
piezas
Función de
devolución de la
llamada 1
Función de
devolución de la
llamada 2
Función de
devolución de la
llamada 3
Condición 1
Condición 2
Condición 3
Por ejemplo, supongamos que el usuario establece un comando de robot para recoger y
colocar piezas en la función de devolución de la llamada PF_Robot. Si el robot puede
recoger piezas dispersas en el alimentador en forma aleatoria, el proceso de alimentación
de piezas invocará a la función de devolución de la llamada PF_Robot.
Por tanto, es importante recordar que las funciones de devolución de la llamada no se
invocan con funciones preparadas por el usuario. En lugar de esto, se invocan
automáticamente desde el proceso de alimentación de piezas.
A continuación, se indica una lista de funciones de devolución de la llamada junto con una
descripción de cada una.
Nombre de la función Descripción
PF_Robot Recoge y coloca las piezas.
PF_Control Controla el dispositivo del usuario (tolva, iluminacn del usuario).
PF_Status Procesa errores.
PF_MobileCam Mueve el robot mientras se usa la cámara móvil.
PF_Vision Realiza el procesamiento de visión definido por el usuario.
PF_CycleStop Realiza el procesamiento cuando se emite un comando de detención.
A continuación, se presentan las condiciones en las cuales se invocan las funciones de
devolución de la llamada.
Condición Nombre de la función
Capacidad de recoger piezas PF_Robot
Piezas que ya no se encuentran PF_Status
Encender iluminación del usuario PF_Control
La cámara móvil se mueve a la posición de captura de imagen.
Ocurre un error PF_Status
Para conocer más detalles sobre las funciones de devolución de la llamada, consulte 4.
Funciones de devolución de la llamada para alimentación de piezas.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 81
1.2 Proyectos de alimentación de piezas
Esta sección describe en detalle los proyectos de alimentación de piezas en SPEL.
1.2.1 Aplicación de la opción de alimentación de piezas en un
proyecto
Para activar la opción de alimentación de piezas en un proyecto, aplique el siguiente
procedimiento.
(1) Abra el proyecto creado en el cual desea aplicar la opción.
O cree un proyecto nuevo.
(2) Abra el menú [Tools] - [Part Feeding] en EPSON RC+ 7.0.
Aparece la siguiente ventana.
(3) Haga clic en el botón <Add> (Agregar). Esto creará una pieza.
Cuando ocurra esto, se agregará al proyecto un archivo de programa específico de la
opción de alimentación de piezas. Consulte 1.2.2 Creación de un proyecto para
conocer más detalles.
Software
82
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.2.2 Creación de un proyecto
Esta sección describe los componentes que se agregaron cuando se activó la opción de
alimentación de piezas.
Se agregará el siguiente archivo de programa cuando se añadan piezas nuevas en la
ventana de alimentación de piezas.
PartFeeding.prg
Este archivo incluye un código de plantilla para las funciones de devolución de la
llamada.
PartFeeding.inc
Este archivo incluye las constantes que se usan para programar con la opción de
alimentación de piezas.
No excluya ni elimine estos archivos del proyecto. Esto causaría un error de compilación.
1.2.3 Archivos de configuración
Se agregarán los siguientes archivos como archivos de configuración del proyecto.
Archivo PF
Un archivo que incluye detalles sobre las configuraciones de las piezas. Este archivo se
denomina [nombre del proyecto].pf.
No edite este archivo directamente en un editor de texto. De hacerlo, el archivo será
ilegible y generará errores.
NOTA
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 83
1.2.4 Importación de archivos
Los archivos PF se pueden importar. Use esto para copiar a otros proyectos la información
sobre las piezas.
Consulte 2.6.1 [Import] (en el menú File) para conocer más detalles.
1.2.5 Copia de seguridad o restauración del controlador
Para efectuar una copia de seguridad de las configuraciones del controlador, vaya a Menú
[Tools] - [Controller] (Herramientas - Controlador) en EPSON RC+ 7.0 y seleccione
[Backup Controller] (Copia de seguridad del controlador). Esto también creará una copia
de seguridad de los datos de la opción de alimentación de piezas.
Para restaurar las configuraciones del controlador a partir de una copia de seguridad,
navegue hasta Menú [Tools] - [Controller] en EPSON RC+ 7.0 y seleccione [Restore
Controller] (Restaurar controlador). Esto también restaurará los datos de la opción de
alimentación de piezas.
Software
84 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.3 Programación en SPEL
1.3.1 Resumen sobre programación
Esta sección describe de manera breve el código general de programación de alimentación
de piezas. Las próximas secciones del manual presentarán información similar con más
detalles.
En la mayoría de las aplicaciones, el sistema manipula automáticamente la alimentación
de piezas. Se crea el código SPEL básico de alimentación de piezas para el usuario. El
código consta de las funciones de SPEL + que se denominan “devolución de la llamada”.
Las funciones de devolución de la llamada son funciones del usuario invocadas por el
sistema en el tiempo de ejecución y que sirven para informar lo siguiente al programa:
Función PF_Robot : Cuándo hay piezas disponibles para que las recoja el
alimentador
Función PF_Status : Cuándo ha cambiado la condición
Función PF_Vision : Cuándo se requiere el procesamiento de visión del usuario
Función PF_Control : Cuándo se tiene que controlar algo, como la tolva, la luz
delantera, etc.
Función
PF_MobileCam
: Cuando se usa una cámara móvil y el robot necesita mover
la cámara por encima del alimentador para buscar piezas
Función PF_CycleStop : Cuando se detiene la operación de alimentación de piezas
Se requerirá alguna modificación en las devoluciones de la llamada para manejar los
requisitos específicos de su aplicación.
La mayoría de las aplicaciones solo requerirán el uso de las devoluciones de llamada
PF_Robot y PF_Status.
A continuación, una breve síntesis de cada una de estas funciones de devolución de la
llamada:
Función de devolución de la llamada PF_Robot
PF_Robot se ejecutará de manera automática cuando la operación de alimentación o
Vision finalice y existan piezas disponibles para recoger. En general, esta es la
ubicación en el código, donde se agregarán instrucciones para la operación de recogida
y colocación. Una aplicación simple de alimentación de piezas solo requiere que se
agreguen unas pocas líneas de código para manipular el movimiento de recogida y
colocación del robot y el accionamiento de gripper. Cuando concluya la devolución de
la llamada PF_Robot, partirá la devolución de la llamada PF_Status.
Función de devolución de la llamada PF_Status
PF_Status se ejecutará de manera automática cuando la devolución de la llamada
PF_Robot concluya correctamente o si ocurre un error. El error podría ser de nivel de
sistema (como un error de exceso de torque del robot) o de alimentación de piezas
(como cantidad demasiado pequeña o demasiado grande de piezas suministradas).
PF_Status ofrece la capacidad de decidir cómo manipular las condiciones de error. Una
aplicación simple de alimentación de piezas no requiere que se modifique el código
PF_Status.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 85
Para aplicaciones más complejas, es posible que el usuario necesite manipular por sí
mismo el procesamiento de visión. En este caso, tendrá que utilizar la devolución de la
llamada PF_Vision. A continuación, se indica una breve síntesis de la devolución de la
llamada PF_Vision.
Función de devolución de la llamada PF_Vision
PF_Vision se ejecutará de manera automática cuando el usuario procese las
operaciones de visión del alimentador de piezas, en lugar de permitir que sea el
sistema. Tendrá que ejecutar VRun para adquirir una imagen de la cámara y procesar la
secuencia que encuentra las piezas, obtener los resultados de RobotXYU de visión y,
luego, agregar los datos de las coordenadas del robot a la cola de coordenada de piezas.
Una aplicación simple de alimentación de piezas en que el sistema procese visión no
requiere que el usuario modifique la devolución de la llamada PF_Vision.
En situaciones inusuales, es posible que tenga que usar su propia iluminación, en lugar de
la luz posterior incorporada al alimentador. Se necesita la devolución de la llamada
PF_Control para que controle su propia iluminación. También pueden existir situaciones
en las que quiera usar su propia tolva. Ya sea que se use la tolva de Epson o una propia,
deberá controlar la tolva desde la devolución de la llamada PF_Control. A continuación, se
indica una breve síntesis de la devolución de la llamada PF_Control.
Función de devolución de la llamada PF_Control
PF_Control se ejecutará de manera automática si el sistema necesita encender la tolva o
si el sistema necesita encender o apagar la iluminación provista por el usuario. Cuando
se usa la tolva provista por Epson, será necesario eliminar los comentarios de las
instrucciones PF_OutputONOFF en la devolución de la llamada PF_Control.
Función de devolución de la llamada PF_MobileCam
PF_MobileCam se ejecutará de manera automática si la cámara cuenta con un montaje
móvil en el robot, en lugar de un montaje descendente fijo por encima del alimentador.
PF_MobileCam pide que el robot mueva la cámara sobre el alimentador para que el
sistema pueda procesar las imágenes. PF_MobileCam también notifica al robot que se
puede alejar del alimentador cuando se encuentren las piezas y se agreguen a la cola de
alimentación de piezas. Una aplicación simple de alimentación de piezas en que el
sistema procese la cámara descendente fija no requiere que el usuario modifique la
devolución de la llamada PF_MobileCam.
Función de devolución de la llamada PF_CycleStop
PF_CycleStop se iniciará de manera automática si se ejecuta la instrucción PF_Stop.
Esta devolución de la llamada permite concluir cualquier operación tras la finalización
(como encender o apagar salidas o mover el robot a una ubicación segura). Una
aplicación simple de alimentación de piezas no requiere que se modifique el código
PF_CycleStop.
Todas las funciones de devolución de la llamada requieren que se devuelva un valor. Por
lo común, el valor devuelto indica que la operación finalizó correctamente (constante
PF_CALLBACK_SUCCESS). En el caso de la devolución de la llamada PF_Status, debe
notificar al sistema sobre cómo proceder tras un error. Por ejemplo, es posible que se
quiera establecer el valor devuelto en una constante PF_EXIT para finalizar la operación
de alimentación de piezas después de un error. En una aplicación simple de alimentación
de piezas, se pueden usar los valores devueltos de la llamada que se generan
automáticamente en el código.
Consulte Software 4. Funciones de devolución de la llamada de alimentación de piezas
para conocer una explicación detallada de cada una de las devoluciones de llamada.
Software
86 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
A continuación, una ilustración de un programa básico de recogida y colocación.
Stop request
PF_Start
Operatot / Host Controller / SPEL+Program / Callback function
PartFeeding process
Start pick and place
PartFeeding process
PF_MobileCam
Move RB to the image caputure position
Sto p pick an d place
PF_Stop
Start operation
Stop operation
End
Machine stop process
No stop request
PF_Robot
Pick action
Part coordinates que ue length > 0
Create Partcoordinates queue
Light off
PF_Control
Fron t ligh t off
PF_Vision
PF_Control
Front light on
Process vision
Part pick
OK ?
Feeder action
Use
PF_Vision
Use
front light
Light on
Ru n vision
Use
fron t light ?
PF_MobileCam
Retract RB
Get data from the que u e
Place action
PF_Control
Ho ppe r mo tion
No part
on feeder?
Stop request
?
PF_CycleStop
YES
YES
YES
YES
YES
YES
In italize
Operador / Controlador de host / programa SPEL+ / Función de devolución de llamada
Proceso de alimentación de piezas
Iniciar operación
Iniciar recogida y colocación
Inicializar
Proceso de alimentación de piezas
Sin solicitud de detención
PF_MobileCam
Mover RB a la posición de captura de imagen
Encender luz
Ejecutar visión
Crear lista de coordenadas de piezas
Apagar luz
Retraer RB
Encender luz delantera
Apagar luz delantera
¿Usar
¿Usar luz
delantera?
Visión de proceso
¿Usar luz
delantera?
Iniciar operación
Long. fila coordenadas de piezas >0
Obtener datos de la fila
Acción de recogida
Acción de colocación
¿Solicitud de detención?
Movimiento de la tolva
¿Recogida de
pieza OK?
¿Sin piezas en
alimentador?
Acción de alimentador
Detener recogida y colocación
Solicitud de
detención
Proceso de detención de la máquina
Fin
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
87
1.3.2 Partida del proceso de alimentación de piezas
Los requisitos para iniciar el proceso de alimentación de piezas son los que se describen a
continuación.
1. Mueva el robot a una posición en la cual el sistema de visión pueda captar imágenes.
(En el caso de cámaras fijas enfocadas hacia abajo, mueva el robot a un lugar en que no
interfiera con las imágenes).
2. Ejecute el comando PF_Start para iniciar el proceso de alimentación de piezas.
El siguiente es un programa de ejemplo.
Function StartPickPlace()
Home
PF_InitLog 1, "C:\log.csv", True
PF_Start 1
End function
Los siguientes procesos están escritos para su ejecución durante la partida del sistema.
- Configuraciones de velocidad, aceleración, modo de potencia y otras configuraciones
relativas al robot utilizado para recoger y colocar piezas
- Configuraciones de tolva, configuraciones de iluminación del usuario, inicialización de
actitud del efector final, etc.
NOTA
Software
88 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.3.3 Procesamiento de recogida y colocación
A continuación, se describe el proceso de programación que se usa para el procesamiento
de recogida y colocación.
Crear (agregar) función de devolución de
llamada PF_Robot
Crear (agregar) función de devolución de
llamada PF_Control
Se usará la tolva
Crear (agregar) función de devolución de
llamada PF_Control
Se usará la ilumación
del usuario
El usuario preparará el
procesamiento de Vision
Se agregará el
procesamiento de erro
r
Crear (agregar) función de devolución de
llamada PF_Vision
Se usará la cámara
móvil
Crear (agregar) función de devolución de
llamada PF_MobileCam
Crear (agregar) función de devolución de
llamada PF_Status
Se debe crear (agregar) la función de devolución de la llamada PF_Robot.
Se usan otras funciones de devolución de la llamada según sean los requisitos de las
especificaciones del sistema del usuario.
1. Función de devolución de la llamada PF_Robot
Escriba un comando para que el robot recoja y coloque piezas en la función de
devolución de la llamada PF_Robot. A continuación, un ejemplo específico. (Repita
los pasos del 1 al 7 en bucle).
(1) Recupere las coordenadas de las piezas de la plataforma mediante la cola de
coordenadas de piezas.
Use PF_QueGet.
(2) Mueva el robot a la posición de la pieza.
Utilice Jump (Saltar) o algún comando similar. (Para robots SCARA)
(3) Encienda la succión y tome la pieza.
(4) Mueva el robot a la posición en la cual se colocará la pieza.
Utilice Jump o algún comando similar. (Para robots SCARA)
(5) Apague la succión o libere la pieza con algún otro método.
(6) Elimine una entrada de datos en la cola de coordenadas de piezas.
Use PF_QueRemove.
(7) Verifique si se ha emitido un comando de detención. Descontinúe el bucle si se
emitió.
Use PF_IsStopRequested.
Para conocer más ejemplos de programación, consulte los siguientes ejemplos.
4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot y
9. Ejemplos de programación de la aplicación
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
89
2. Suministre piezas al alimentador (PF_Control) *Opcional
Comandos del programa que se usan con la tolva para suministrar piezas al
alimentador. Use la función de devolución de la llamada PF_Control (PartFeeding.prg).
A continuación, los detalles del programa.
(1) Escriba el comando de tolva (suministro de piezas) cuando la plataforma no tenga
piezas. Al hacerlo, el parámetro de control de la función de devolución de la
llamada PF_Control es PF_CONTROL_SUPPLY_FIRST.
(2) Escriba el comando de tolva (suministro de piezas) para agregar piezas a la
plataforma. Al hacerlo, el parámetro de control de la función de devolución de la
llamada PF_Control es PF_CONTROL_SUPPLY.
Para conocer más ejemplos de programación, consulte 4. Funciones de devolución de
la llamada para alimentación de piezas PF_Robot.
3. Controle la iluminación de un usuario (PF_Control) *Opcional
Comandos del programa para usar una iluminación de usuario. Use la función de
devolución de la llamada PF_Control (PartFeeding.prg). A continuación, los detalles
del programa.
(1) Escriba un comando para encender la iluminación del usuario. Al hacerlo, el
parámetro de control de la función de devolución de la llamada PF_Control es
PF_CONTROL_LIGHT_ON.
(2) Escriba un comando para apagar la iluminación del usuario. Al hacerlo, el
parámetro de control de la función de devolución de la llamada PF_Control es
PF_CONTROL_LIGHT_OFF.
Para conocer más ejemplos de programación, consulte 4. Funciones de devolución de
la llamada para alimentación de piezas PF_Robot
Escriba ambos comandos para encender y apagar la iluminación del usuario.
Si solo se agrega el comando de encendido, el sistema de visión podría tener
dificultades para reconocer las piezas, con los errores resultantes.
NOTA
Software
90 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
1.3.4 Errores de procesamiento
Esta sección describe cómo procesar los errores que ocurren cuando se usa la opción de
alimentación de piezas.
1. Procesamiento de los errores que ocurren en la función de devolución de la
llamada
Detecte y procese los errores que ocurren dentro de la función de devolución de la llamada
dentro de la propia función. Use este método de procesamiento de errores si se desea
continuar sin devolver el control al proceso de alimentación de piezas.
Ejemplo: Ocurre un error de succión de piezas con la función de devolución de la
llamada PF_Robot, lo cual inicia un proceso de reintento.
Operador / Controlador de host / programa SPEL+
Proceso de alimentación
de
p
iezas
Función de devolución
de llamada
Proceso de alimentación
de
p
iezas
Función de devolución
de llamada
Proceso
Fin
Operación de visión
Operación de alimentador
Acción de recogida y
colocación
Valor
devuelto
Inicio
¿Error?
Advertencia de error
Operación de
restauración/detención
Instrucciones de método
de restauración
Procesamiento de erro
r
Fin
Presentación de error
Procesamiento de la
restauración de errores
Procesamiento
de error
Fin
Procesamiento
de recogida y
colocación
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 91
2. Procesamiento de los errores que ocurren en la función de devolución de la
llamada PF_Status
Operador / Controlador de host / programa SPEL+
Proceso de alimentación de piezas
Proceso de alimentación
de piezas
Función de devolución de llamada
Función de devolución
de llamada
Proceso
Fin
Estado de PF
Fin
Advertencia de error
Operación de
restauración/detención
Instrucciones de método
de restauración
Procesamiento de erro
r
Fin
Presentación de error
Procesamiento de la
restauración de errores
¿Continuar?
Procesamiento
de error
Operación de visión
Operación de alimentador
Acción de recogida y
colocación
Fin
Iniciar PF_Status
Valor
devuelto
Procesamiento
de recogida y
colocación
Valor
devuelto
S
í
Inicio
Inicio
¿Error?
Ajustar valor de error en
valor devuelto
¿Error de valor
devuelto?
Establezca un valor distinto de PF_CALLBACK_SUCCESS en el valor devuelto (error de
usuario 8000-8999) si ocurre un error en la función de devolución de la llamada.
El proceso de alimentación de piezas definirá este valor en el parámetro de estado de la
función de devolución de la llamada PF_Status en la partida.
Use este método de procesamiento de errores para compartir los procesos de error.
Para conocer más detalles, consulte 4. Funciones de devolución de la llamada para
alimentación de piezas PF_Status.
Software
92 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
3. Errores de procesamiento que ocurren dentro del proceso de alimentación de
piezas
Operador / Controlador de host / programa SPEL+ Proceso de alimentación de piezas
Proceso de alimentación
de
p
iezas
Función de devolución de llamada
PF_Status
Fin
Advertencia de error
Detener operación
Fin
Presentación de error
Procesamiento
de error
Operación de visión
Operación de alimentador
Acción de recogida y
colocación
Fin
Procesamiento
de recogida y
colocación
Inicio
¿Error?
Iniciar PF_Status
Se puede producir un error dentro del proceso de alimentación de piezas, debido a
configuraciones incompletas de los parámetros de alimentación de piezas (parámetro
PF_Start no especificado), configuraciones incompletas del sistema de visión u otras
deficiencias.
El proceso de alimentación de piezas definirá PF_STATUS_ERROR en el parámetro de
estado en la partida
El proceso de alimentación de piezas concluirá una vez que finalice la función PF_Status.
Para conocer más detalles, consulte 4. Funciones de devolución de la llamada para
alimentación de piezas PF_Status.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 93
1.3.5 Procesamiento final
Use uno de los siguientes métodos para terminar un proceso de alimentación de piezas
desde un programa preparado por el usuario.
1. Ejecute un comando PF_Stop.
Ejecute un comando PF_Stop desde un programa preparado por el usuario.
El proceso de alimentación de piezas terminará la función de devolución de la llamada
que se está procesando en la actualidad y concluirá una vez que finalice la función de
devolución de la llamada PF_CycleStop.
Para conocer más detalles, consulte 3. Referencia sobre comandos SPEL+ para la
alimentación de piezas PF_Stop.
2. Ejecute un comando PF_Abort.
Ejecute un comando PF_Abort desde un programa preparado por el usuario.
Esto pone fin de inmediato al proceso de alimentación de piezas. Cuando así sucede,
terminará de inmediato la función de devolución de la llamada que se está procesando.
Para conocer más detalles, consulte 3. Referencia sobre comandos SPEL+ para la
alimentación de piezas PF_Abort.
1.3.6 Otros
El proceso de alimentación de piezas ocupa las siguientes funciones mientras se ejecuta.
No configure su programa para que use estas funciones mientras se ejecuta el proceso de
alimentación de piezas.
Número del
alimentador
Tarea Temporizador
1 32 64
2 31 63
3 30 62
4 29 61
Estas funciones se pueden usar mientras está detenido el procesamiento de alimentación de
piezas.
Software
94
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2. GUI de alimentación de piezas
Esta sección describe en detalle la GUI de Alimentación de piezas 7.0 en EPSON RC+
7.0.
2.1 Configuración del sistema
Ajuste las configuraciones para conectar el alimentador al controlador desde Menú -
[Setup] - [System Configuration] (Configuración - Configuración del sistema) en EPSON
RC+ 7.0.
2.1.1 Página de alimentación de piezas
Elemento Descripción
Enabled Seleccione esta casilla de verificación para activar el alimentador.
Model Seleccione el modelo de alimentador.
Name Establezca un nombre de su preferencia. (Solo caracteres
alfanuméricos de medio ancho y guiones bajos. Hasta 32 caracteres
de longitud)
IP Address Ingrese la dirección IP actualmente establecida para el alimentador.
Dirección IP predeterminada 192.168.0.64
IP Mask Ingrese la máscara de subred IP actualmente establecida para el
alimentador.
Máscara de subred predeterminada 255.255.255.0
Port Ingrese el número de puerto actualmente establecido para el
alimentador.
Número de puerto predeterminado 4001
Backlight
Installed
Seleccione esta casilla de verificación si hay una luz de fondo
instalada dentro del alimentador.
Hopper Installed Seleccione esta casilla de verificación para usar una tolva en la
opción del alimentador.
Description Escriba una descripción (comentarios) para el alimentador. Este
campo es opcional. (Hasta 256 caracteres de longitud)
Para cambiar las configuraciones de red del alimentador, haga clic en el botón
<Configure> (Configurar) que se describe en la siguiente sección.
Se producirá un error al conectarse al alimentador si se ingresa una dirección IP, una
máscara IP o un puerto distinto de las configuraciones actuales del alimentador. Considere
que el error no ocurrirá mientras esté presionado el botón <Apply> (Aplicar).
Aunque se pueden configurar 4 alimentadores para el controlador de la serie T, la cantidad
de alimentadores que se pueden controlar al mismo tiempo es de hasta 2.
NOTA
NOTA
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
95
Botón Descripción
Close Cierra el diálogo.
Apply Aplica cambios.
Restore Deshace cambios.
Configure Cambia las configuraciones de red del alimentador.
IP Address Establece una dirección IP nueva para el alimentador.
IP Mask Establece una nueva máscara de subred para el
alimentador.
Port Establece un nuevo número de puerto para el
alimentador.
Una vez finalizadas las configuraciones, haga clic en el botón
<OK> (Aceptar).
PRECAUCIÓN
Defina una dirección IP privada para el controlador antes de su
uso.
Clase A: 10.0.0.0 - 10.255.255.255
Clase B: 172.16.0.0 - 172.31.255.255
Clase C: 192.168.0.0 - 192.168.255.255
Cuando se configura una dirección IP global para el
alimentador, asegúrese de comprender los riesgos, entre otros,
el acceso no autorizado, antes de usarlo.
El controlador y el alimentador solo se pueden comunicar si están en el mismo segmento
de red.
No se podrá conectar con el alimentador si las configuraciones de red están configuradas
para una subred distinta a la que se usa para el controlador. Si este es el caso, será
necesario cambiar la dirección IP y la máscara IP del controlador.
Estas configuraciones se encuentran en el Menú [Setup] - [System Configuration] -
[Controller] - [Configuration] (Configuración - Configuración del sistema - Controlador -
Configuración) en EPSON RC+ 7.0
Consulte el siguiente documento para más detalles.
Guía del usuario de EPSON RC+ “4.3.3 Comunicaciones Ethernet
NOTA
Software
96 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.1.2 Página de seguridad
Ajuste las configuraciones de seguridad para impedir que los usuarios vean o editen las
configuraciones de la opción de alimentación de piezas.
Cuando se selecciona la casilla de verificación [Edit Part Feeding] (Editar alimentación de
piezas), los usuarios pertenecientes al grupo correspondiente pueden abrir la ventana de
alimentación de piezas.
Cuando no se selecciona la casilla de verificación [Edit Part Feeding], ocurrirá un error
cuando los usuarios los usuarios pertenecientes al grupo correspondiente intenten abrir la
ventana de alimentación de piezas.
Consulte el siguiente documento para más detalles.
Guía del usuario de EPSON RC+ 15. Seguridad
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 97
2.2 Asistente de piezas
2.2.1 Agregue una pieza nueva
(1) En EPSON RC+ 7.0, seleccione Menú - [Tool] (Herramienta) para abrir el recuadro
de diálogo [Part Feeding].
(2) Haga clic en el botón <Add>. Ejecute el asistente de piezas.
2.2.2 General
Esta pantalla sirve para ajustar las configuraciones de visión.
Elemento Descripción
Enter name for new part
Escriba el nombre de la pieza.
(Solo caracteres alfanuméricos de medio ancho y guiones
bajos. Hasta 32 caracteres de longitud)
Select feeder number
Seleccione el número de alimentador que se usa con esta
pieza.
Usted puede verificar el número de alimentador en la
pantalla de Configuración del sistema.
Select robot number Seleccione el número del robot.
Software
98 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Esta tabla describe la operación básica del asistente de piezas.
El asistente de piezas se controla mediante los cinco botones de la parte inferior de la
ventana.
Botón Descripción
Vision Guide Presenta la pantalla de Vision Guide.
Use esta pantalla para crear secuencias de visión.
Cancel Detiene el asistente de piezas.
Back Regresa al PASO anterior.
Next Avanza al PASO siguiente.
Finish Finaliza el asistente de piezas.
Se guarda hasta el paso en que se presiona este botón.
2.2.3 Iluminación
Esta pantalla sirve para ajustar las configuraciones de iluminación.
Elemento Descripción
Backlight Establezca el método de control de la luz de fondo.
Not used for
this part
Seleccione esto para no usar la luz de fondo del alimentador durante la
captura de imágenes de visión.
Este elemento es opcional.
Built-in
Backlight
Seleccione esto para usar la luz de fondo del alimentador durante la
captura de imágenes de visión. No se puede seleccionar esta opción si
no está instalada la iluminación de fondo.
Front light Defina el método de control de la luz delantera opcional.
Not used No utilice una luz delantera.
Custom
front light
Invoque la función de devolución de la llamada PF_Control para
controlar la iluminación personalizada configurada por el usuario.
Este elemento es opcional.
Para acceder a más información sobre la función de devolución de la
llamada PF_Control, consulte 4. Función de devolución de la llamada
para alimentación de piezas - PF_Control.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 99
2.2.4 Volteo
Esta pantalla se usa para configurar si la pieza necesita o no necesita volteo. Si es
necesario recoger una pieza desde un lado particular, entonces se debe marcar “Part needs
to be flipped” (Se debe voltear la pieza).
Elemento Descripción
Part needs to be flipped Marque esta casilla de verificación para aquellas piezas que
requieran una orientación apropiada en la parte frontal y en
la parte posterior.
Esto permite el uso de una acción de volteo para cambiar la
orientación de recogida. Lo anterior puede elevar el número
de piezas que se pueden recuperar con un solo movimiento
del alimentador, lo cual mejora los tiempos de ciclo.
2.2.5 Visión
Esta pantalla sirve para ajustar las configuraciones de visión.
Elemento Descripción
The system will automatically
run the part vision sequence
and add parts to the part queue
El sistema realiza el procesamiento de visión en forma
automática.
En circunstancias normales se selecciona esta
confi
g
uración.
The user program will use the
vision system to find parts and
add to the part queue
Este elemento es opcional.
Esto activa las funciones de devolución de la llamada
PF_Vision y permite que los usuarios personalicen las
operaciones de visión.
Para acceder a más información sobre la función de
devolución de la llamada PF_Vision, consulte 4.
Funciones de devolución de la llamada para
alimentación de
p
iezas PF
_
Vision.
Software
100 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.2.6 Secuencia de calibración de visión
Esta pantalla sirve para ajustar las configuraciones de visión.
Elemento Descripción
Part Blob
Vision Sequence
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre de la secuencia de visión que se usa
para calibrar el alimentador.
Part Blob
Vision Object
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre del objeto de visión que se utiliza para
detectar piezas, mientras está en uso la luz de fondo del
alimentador durante la calibración del alimentador.
Solo se puede seleccionar Blob.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 101
2.2.7 Secuencia de búsqueda de piezas de visión
Esta pantalla sirve para ajustar las configuraciones de visión.
Elemento Descripción
Part
Vision Sequence
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre de la secuencia de visión que se usa para
detectar las piezas.
Solo se pueden seleccionar secuencias con calibraciones de
robot.
Vision Object
for front of part
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre del objeto de visión que se usa para
detectar las piezas que se van a recoger. Se puede usar
cualquier objeto compatible con el resultado de RobotXYU.
Vision Object
for back of part
Este campo es obligatorio cuando se requiere volteo (consulte
2.3.1. General).
Seleccione el nombre del objeto de visión que se usa para
detectar las piezas que no se pueden recoger porque quedaron
hacia abajo. Se puede usar cualquier objeto compatible con el
resultado de RobotXYU.
Software
102 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.2.8 Orientación del alimentador y región de recogida
Esta pantalla configura los valores relativos al diseño del alimentador y a la recogida de
piezas.
Elemento Descripción
Feeder Orientation
Establece la orientación del alimentador según se observa desde la
cámara.
Pick Region
Establezca la región de recogida de piezas según se ven a través
de la cámara.
Seleccione Anywhere (En cualquier lugar), Region A, B, C o D.
La región que se puede definir varía según el modelo del
alimentador.
IF-80: Anywhere
IF-240: Anywhere, Region A, Region B, Region C, Region D
IF-380 e IF-530: Anywhere, Region A, Region B
2.2.9 Exclusión de interferencia con la mano
Esta pantalla sirve para ajustar las configuraciones de exclusión de interferencia con la
mano.
Elemento Descripción
Avoid interference with
robot hand
Seleccione esta casilla de verificación para activar una
función que evite interferencias entre el efector final y la
plataforma.
Hand Clearance Radius No se incluirán en la cola de coordenadas aquellas piezas que
estén dentro de esta distancia con respecto a la circunferencia
de la plataforma (establecida en la ventana de búsqueda de
visión). Las unidades se expresan en mm.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 103
2.2.10 Purga
Esta pantalla sirve para configurar la purga.
Elemento Descripción
Enable Purge Seleccione esta casilla de verificación para activar la purga.
Purge Location Define la ubicación de la purga. Las piezas se moverán
(desplazarán) en la dirección de la flecha durante la operación de
purga. Seleccione A, C o D.
La ubicación que se puede definir varía dependiendo del modelo
del alimentador.
IF-80: A
IF-240, 380, 530: C, D
2.2.11 Calibración
Esta pantalla sirve para configurar la calibración del alimentador.
Elemento Descripción
Copy calibration
from another part
Opcional. Copie los resultados de calibración de otra pieza en la
pieza seleccionada. Use esta función si la pieza nueva es similar a
una pieza ya calibrada.
Part Especifique la pieza desde la cual se van a copiar los resultados de
calibración.
Copy Copie los resultados de calibración.
Software
104 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.2.12 Finalización
Haga clic en el botón <Finish> (Finalizar) para continuar.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
105
2.3 Diálogo de alimentación de piezas
Se pueden ajustar las configuraciones de alimentación de piezas y se puede calibrar el
alimentador en el diálogo Menú - [Tools] - [Part Feeding] de EPSON RC+ 7.0.
Conecte EPSON RC+ con el controlador.
No aparecerá la ventana de alimentación de piezas si es que EPSON RC+ no está
conectado a un controlador. Habrá un error al intentar abrir la ventana de alimentación de
piezas con un controlador virtual o si está fuera de línea o si la versión de firmware del
controlador no es compatible con la alimentación de piezas. También debe estar activada
la licencia de alimentación de piezas en el controlador.
2.3.1 General
Esta pantalla sirve para ajustar las configuraciones generales.
Elemento Descripción
Enabled Seleccione esta casilla de verificación para activar la pieza.
Ocurrirá un error si se especifica una pieza desactivada al ejecutar
el comando PF_Start.
Calibration Si es No, el alimentador requiere calibración.
Si es Yes (Sí), se ha completado la calibración del alimentador.
Name Escriba el nombre de la pieza.
(Solo caracteres alfanuméricos de medio ancho y guiones bajos.
Hasta 16 caracteres de longitud)
Description Escriba una descripción (comentarios) para la pieza.
Este campo es opcional. (Hasta 256 caracteres de longitud)
Feeder # Seleccione el número de alimentador que se usa con esta pieza.
Usted puede verificar el número de alimentador en la pantalla de
Configuración del sistema.
Robot # Seleccione el número del robot.
Necesita volteo. Marque esta casilla de verificación para aquellas piezas que
requieran una orientación apropiada en la parte frontal y en la parte
posterior Esto permite el uso de una acción de volteo para cambiar
la orientación de recogida. Lo anterior puede elevar el número de
piezas que se pueden recuperar con un solo movimiento del
alimentador, lo cual mejora los tiempos de ciclo.
NOTA
Software
106 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Elemento Descripción
Wait time after
vibration
Especifique un tiempo de reserva para espera una vez que el
alimentador deje de vibrar y antes de que el sistema de visión
comience a capturar imágenes. Las unidades se expresan en
milisegundos.
Intente aumentar este valor si el sistema de visión tiene dificultad
para identificar las piezas o si se ocurren aberraciones de posición
cuando el robot toma las piezas del alimentador.
Botón Descripción
Close Cierra la pantalla.
Apply Aplica cambios.
Restore Deshace cambios.
Add Agrega piezas al árbol.
Se pueden agregar hasta 16 tipos de piezas.
Delete Elimina piezas del árbol. Solo se pueden eliminar piezas en la parte
inferior del árbol.
Como no se pueden eliminar piezas en la parte media del árbol,
deshaga la selección de Activar en la casilla de verificación para
desactivarlas.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 107
2.3.2 Iluminación
Esta página sirve para ajustar las configuraciones de iluminación.
Elemento Descripción
Backlight Establezca el método de control de la luz de fondo.
Not used for this
part
Seleccione esto para no usar la luz de fondo del alimentador
durante la captura de imágenes de visión.
Este elemento es opcional.
Built-in Backlight Seleccione esto para usar la luz de fondo del alimentador
durante la captura de imágenes de visión.
No se puede seleccionar esta opción si no está instalada la
iluminación de fondo.
Turn On Enciende la luz de fondo del alimentador.
Turn Off Apaga la luz de fondo del alimentador.
Brightness Establece el brillo de la luz de fondo del alimentador.
Establezca un valor entre 0 y 100 %.
Front light Defina el método de control de la luz delantera opcional.
Not used No utilice una luz delantera.
Custom front light Invoque la función de devolución de la llamada PF_Control
para controlar la iluminación personalizada configurada por el
usuario.
Este elemento es opcional.
Para acceder a más información sobre la función de
devolución de la llamada PF_Control, consulte 4. Función de
devolución de la llamada para alimentación de piezas -
PF_Control.
Botón Descripción
Close Cierra la pantalla.
Apply Aplica cambios.
Restore Deshace cambios.
Vision Guide Presenta la pantalla de Vision Guide.
Usa esta pantalla para crear secuencias de visión.
Software
108 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.3.3 Visión
Esta pantalla sirve para ajustar las configuraciones de visión.
Para acceder a más información sobre cómo crear secuencias de visión, consulte 6.
Secuencias de visión que se usan con la opción de alimentación de piezas
Elemento Descripción
System processes
vision for part
El sistema realiza el procesamiento de visión en forma
automática.
En circunstancias normales se selecciona esta confi
g
uración.
User processes
vision for part via
PF_Vision callback
Este elemento es opcional.
Esto activa las funciones de devolución de la llamada PF_Vision
y permite que los usuarios personalicen las operaciones de
visión. Para acceder a más información sobre la función de
devolución de la llamada PF_Vision, consulte 4. Funciones de
devolución de la llamada para alimentación de piezas
P
F
_
Vision.
Part Vision
Sequence
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre de la secuencia de visión que se usa para
detectar piezas. Solo se pueden seleccionar secuencias con
calibraciones de robot.
Vision Object for
front of part
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre del objeto de visión que se usa para
detectar las piezas que se van a recoger. Se puede seleccionar
cualquier objeto compatible con resultados de múltiples
RobotXYU.
Vision Object for
back of part
Este campo es obligatorio al efectuar un volteo (consulte 2.3.1.
General), pero también se puede especificar cuando se requiera
recogida desde la parte delantera y posterior.
Seleccione el nombre del objeto de visión que se usa para
detectar las piezas que no se pueden recoger porque quedaron
hacia abajo. Se puede seleccionar cualquier objeto compatible
con resultados de múlti
p
les RobotXYU.
Part Blob Vision
Sequence
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre de la secuencia de visión que se usa para
calibrar el alimentador. Solo se pueden seleccionar secuencias
con calibraciones de robot.
Part Blob Vision
Object
Configuración requerida: Este campo es obligatorio.
Seleccione el nombre del objeto de visión que se utiliza para
detectar piezas, mientras está en uso la luz de fondo del
alimentador durante la calibración del alimentador. Solo se
p
uede seleccionar Blob.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
109
Se deben configurar todas las configuraciones requeridas. Si no se han configurado las
configuraciones necesarias, se producirá un error durante la calibración o la operación del
proceso.
Botón Descripción
Close Cierra el diálogo.
Apply Aplica cambios.
No está disponible si no se han establecido los campos no
opcionales.
Restore Deshace cambios.
Vision Guide Presenta el diálogo de Vision Guide.
Use esta pantalla para crear secuencias de visión.
2.3.4 Suministro de piezas
Esta pantalla se utiliza para establecer el método de suministro de piezas al alimentador.
Se debe integrar un programa creado por el usuario en la función de devolución de la
llamada PF_Control para suministrar piezas desde una tolva. Para acceder a más
información sobre la función de devolución de la llamada PF_Control, consulte 4.
Funciones de devolución de la llamada para alimentación de piezas - PF_Control.
NOTA
Software
110 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Elemento Descripción
Supply parts when
threshold reached
Suministro de piezas cuando el número de piezas llega al umbral
Supply parts during
pick and place
Adición de piezas para optimizar el número de piezas del
alimentador
Esto acorta los tiempos de ciclo del robot, en comparación con
el consumo de todas las piezas.
Parts remaining in
tray when more
parts are supplied.
Se suministrarán más piezas cuando el número de piezas
detectadas que quedan en la bandeja es inferior a este valor. El
valor predeterminado es 4.
Si se usa 0, entonces se deben recoger todas las piezas
detectadas antes de que se suministren más piezas.
Test Somete a prueba a la tolva.
Hopper Number Número de terminal de salida del alimentador
(No se puede seleccionar junto con IF-80)
Hopper On Inicia la tolva.
Hopper Off Detiene la tolva.
Duration Especifique el tiempo operativo de la tolva.
Prolongue el tiempo para aumentar el número
de piezas suministradas.
Botón Descripción
Close Cierra la pantalla.
Apply Aplica cambios.
Restore Deshace cambios.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
111
2.3.5 Recogida
Esta página ajusta las configuraciones relativas al diseño del alimentador y a la recogida de
piezas.
Elemento Descripción
Feeder Orientation Establece la orientación del alimentador según se observa por la
cámara.
Pick Region Establezca la región de recogida de piezas según se ven a través
de la cámara.
Seleccione Anywhere, Region A, B, C o D. Considere que si no
se selecciona Anywhere, se requiere una calibración de
desplazamiento.
IF-80: Anywhere
IF-240: Anywhere, Region A, Region B, Region C, Region D
IF-380 e IF-530: Anywhere, Region A, Region B
Avoid interface with
robot hand
Seleccione esta casilla de verificación para activar una función
que evite interferencias entre el efector final y las paredes de la
bandeja de la plataforma.
Hand Clearance
Radius
No se incluirán en la cola de coordenadas aquellas piezas que
estén dentro de la distancia con respecto a la circunferencia de la
bandeja de la plataforma (establecida en la ventana de búsqueda
de visión).
Las unidades se expresan en mm.
Teach Abre el diálogo Teach (Enseñar) para permitir la enseñanza de la
coordenada Z en la recogida de piezas.
Cuando se usa un robot de 6 ejes, se enseñan las orientaciones V
y W, además de la coordenada Z.
Consulte 2.3.6. Ventana de enseñanza para conocer más
detalles.
Pick Z Esta es la coordenada Z (coordenadas locales) en la recogida de
piezas. Aquí aparecerá la coordenada Z que se usa para
enseñanza. Ingrese un nuevo valor para cambiarlo en forma
manual.
Las unidades se expresan en mm.
Verifique que no exista interferencia entre el efector final y la plataforma cuando se active
“Avoid interface with robot hand” (Evite la interconexión con la mano del robot) y se ajuste
el radio de la mano.
NOTA
Software
112
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Cuando se selecciona “User processes vision for part via PF_Vision callback” (El usuario
procesa la visión para la pieza mediante devolución de la llamada PF_Vision) en la pantalla
Vision y se activa “Avoid interface with robot hand”, es importante considerar que la cola
de coordenadas de piezas incluirá las piezas que estén dentro de la distancia del radio de la
mano con respecto al borde de la plataforma.
Si bien los valores de orientación posicional V y W no aparecerán en el diálogo cuando se
use un robot de 6 ejes, estos valores se almacenarán en la memoria interna.
Botón Descripción
Close Cierra la pantalla.
Apply Aplica cambios.
Restore Deshace cambios.
2.3.6 Ventana de enseñanza
Este diálogo permite enseñarle al robot la coordenada Z para la recogida de piezas.
(1) Coloque una pieza en la plataforma.
(2) Use los botones de Jog (+X, X, +Y, Y) para alinear el robot en la coordenada Z y
la orientación de recogida de piezas.
(3) Haga clic en el botón <OK>.
Registre la coordenada Z, la orientación V y la orientación W.
El robot seleccionado aquí es al cual se refiere la calibración de visión establecida para la
secuencia de visión para la detección de piezas.
Si se selecciona “User processes vision for part via PF_Vision callback” en la pantalla
Vision (Visión), será necesario programar el procesamiento de la coordenada Z dentro de
la función de devolución de la llamada PF_Vision. Para conocer más detalles, consulte 4.
Funciones de devolución de la llamada para alimentación de piezas PF_Vision.
NOTA
CONSEJO
NOTA
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 113
2.3.7 Purga
Esta pantalla establece la configuración relacionada con la purga.
Elemento Descripción
Enable Purge Seleccione esta casilla de verificación para activar la purga.
Purge Location Define la ubicación de la purga. Las piezas se moverán
(desplazarán) en la dirección de la flecha durante la operación de
purga. Seleccione A, C o D.
La ubicación que se puede definir varía dependiendo del modelo
del alimentador.
IF-80: A
IF-240, 380, 530: C, D
Software
114 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.3.8 Calibración
Esta página se usa para ajustar las configuraciones de calibración y verificar y editar los
resultados de calibración.
Elemento Descripción
Copy calibration from
another part
Copie los resultados de calibración de otra pieza en la pieza
seleccionada.
Part Especifique la pieza desde la cual se van a copiar los
resultados de calibración.
Copy Copie los resultados de calibración.
Calibrate Abre el asistente de calibración del alimentador.
Consulte 2.4. Asistente de calibración del alimentador 2.5
Comprobación de resultados de calibración del alimentador
para conocer más detalles.
Manually edit
calibration parameters
Seleccione esta casilla de verificación para visualizar y editar
los resultados de calibración del alimentador.
Calibration Type Seleccione los resultados de calibración.
Para leer una descripción de cada opción, consulte la tabla
“Tipo de calibración”.
Calibration
Parameters
Visualice y edite los resultados de calibración.
Los cambios no surtirán efecto hasta hacer clic en el botón
<Apply> (Aplicar).
Test Ejecuta una prueba en el alimentador.
Consulte 2.4. Asistente de calibración del alimentador para
conocer más detalles.
Default Presione el botón para devolver los parámetros de calibración
a sus valores iniciales.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 115
Parámetros de calibración
IF-240, IF-380, IF-530
Tipo de calibración Parámetro
Cantidad óptima de piezas Cantidad óptima de piezas
Volteo y separación
Amplitud
Tiempo
Frecuencia
Centrado
Amplitud de centrado de ShortAxis (eje corto)
Tiempo de centrado de ShortAxis
Frecuencia de centrado de ShortAxis
Amplitud de centrado de LongAxis (eje largo)
Tiempo de centrado de LongAxis
Frecuencia de centrado de LongAxis
Desplazamiento
Amplitud de desplazamiento hacia adelante
Frecuencia de desplazamiento hacia adelante
Velocidad de desplazamiento hacia adelante
Amplitud de desplazamiento hacia atrás
Frecuencia de desplazamiento hacia atrás
Velocidad de desplazamiento hacia atrás
Purga
Amplitud
Tiempo
Frecuencia
IF-80
Tipo de calibración Parámetro
Cantidad óptima de piezas Cantidad óptima de piezas
Volteo y separación
Amplitud
Tiempo
Frecuencia
Centrado
Tiempo de desplazamiento hacia la izquierda
Frecuencia de desplazamiento hacia la izquierda
Desplazamiento a la izquierda de Act1Amplitude
Desplazamiento a la izquierda de Act2Amplitude
Desplazamiento a la izquierda de Act3Amplitude
Tiempo de desplazamiento hacia la derecha
Frecuencia de desplazamiento hacia la derecha
Desplazamiento a la derecha de Act1Amplitude
Desplazamiento a la derecha de Act2Amplitude
Desplazamiento a la derecha de Act3Amplitude
Tiempo de desplazamiento hacia adelante
Frecuencia de desplazamiento hacia adelante
Desplazamiento hacia adelante de
Act1Amplitude
Desplazamiento hacia adelante de
Act2Amplitude
Desplazamiento hacia adelante de
Act3Amplitude
Tiempo de desplazamiento hacia adelante e
izquierda
Frecuencia de desplazamiento hacia adelante e
izquierda
Desplazamiento hacia adelante e izquierda de
Act1Amplitude
Desplazamiento hacia adelante e izquierda de
Act2Amplitude
Software
116
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Tipo de calibración Parámetro
Centrado
Desplazamiento hacia adelante e izquierda de
Act3Amplitude
Tiempo de desplazamiento hacia adelante y derecha
Frecuencia de desplazamiento hacia adelante y derecha
Desplazamiento hacia adelante y derecha de
Act1Amplitude
Desplazamiento hacia adelante y derecha de
Act2Amplitude
Desplazamiento hacia adelante y derecha de
Act3Amplitude
Tiempo de desplazamiento hacia atrás
Frecuencia de desplazamiento hacia atrás
Desplazamiento hacia atrás de Act1Amplitude
Desplazamiento hacia atrás de Act2Amplitude
Desplazamiento hacia atrás de Act3Amplitude
Tiempo de desplazamiento hacia atrás e izquierda
Frecuencia de desplazamiento hacia atrás e izquierda
Desplazamiento hacia atrás e izquierda de Act1Amplitude
Desplazamiento hacia atrás e izquierda de Act2Amplitude
Desplazamiento hacia atrás e izquierda de Act3Amplitude
Tiempo de desplazamiento hacia atrás y derecha
Frecuencia de desplazamiento hacia atrás y derecha
Desplazamiento hacia atrás y derecha de Act1Amplitude
Desplazamiento hacia atrás y derecha de Act2Amplitude
Desplazamiento hacia atrás y derecha de Act3Amplitude
Tolva
Amplitud
Tiempo
Frecuencia
Purga
Amplitud
Tiempo
Frecuencia
Estos valores se optimizarán al efectuar la calibración del alimentador (consulte 2.4.
Asistente de calibración del alimentador).
Consulte las siguientes pautas para cambiar estos valores.
- Si las piezas se mueven demasiado o salen de la plataforma, reduzca la amplitud de la
acción correspondiente.
Si esto aún no funciona, intente acortar el tiempo de operación de la acción
correspondiente.
- Si las piezas no se mueven o no se esparcen lo suficiente, aumente la amplitud de la
acción correspondiente.
Si esto aún no funciona, intente prolongar el tiempo de operación de la acción
correspondiente.
- Si el peso bruto de las piezas (peso de una pieza × número de piezas cargadas) es
elevado y las piezas no se mueven o no se dispersan lo suficiente, reduzca la amplitud
de la acción correspondiente.
Al hacer clic en el botón <Calibrate>, puede ocurrir un error de compilación del proyecto.
En este caso, haga clic en el botón <Close> (Cerrar) y vuelva a compilar con [project]…
[rebuild] (proyecto - volver a compilar).
CONSEJO
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 117
2.4 Asistente de calibración del alimentador
El asistente de calibración del alimentador ofrece un conjunto simple de instrucciones para
sigan los usuarios sin conocimientos especiales cuando van a calibrar el alimentador.
Se requiere calibrar el área de la pieza.
Si se recoge desde una región, es necesaria la calibración de desplazamiento.
Es necesaria la calibración de la purga cuando está activada la opción Purge en un IF-80.
La calibración de volteo y separación es opcional. Cuando se crea una pieza nueva, se
utilizan los valores predeterminados.
El proceso de calibración es el siguiente.
Área de pieza (obligatorio)
Turno (obligatorio)
Separación (opcional)
Realizar
Notas:
Para conocer más detalles sobre la recogida parcial, consulte 2.3.5 Recogida.
Para conocer más detalles sobre la parte delantera o posterior de las piezas, consulte
2.3.1 General.
Para conocer más detalles sobre cómo evitar interferencias del efector final, consulte
2.3.5 Recogida.
Software
118 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.4.1 Operación básica
Esta sección describe la operación básica del asistente de calibración del alimentador.
El asistente de calibración del alimentador se controla mediante los botones inferiores del
diálogo.
Botón Descripción
Cancel Cierra el asistente de calibración.
Si ya se realizaron una o más calibraciones, aparecerá el siguiente
mensaje al hacer clic en este botón.
Seleccione <Yes> (Sí) para guardar los resultados de las calibraciones
efectuadas hasta ese entonces. Esto permitirá retomar la calibración
desde donde quedó cuando se vuelva a ejecutar el asistente de
calibración.
Back Vuelve a la página anterior.
Next Avanza a la página siguiente. Este botón no está disponible y no se
puede hacer clic cuando hay una calibración en curso o cuando una
calibración no finaliza en forma correcta.
Run / Abort Inicia la actual calibración.
Este botón cambiará a “Abort” (Anular) mientras se ejecuta la
calibración.
Haga clic en el botón <Abort> para interrumpir la actual calibración en
curso.
Backlight
On / Off
Enciende o apaga la luz de fondo del alimentador.
I/O Monitor Abre el monitor de E/S. Se utiliza para controlar la iluminación del
usuario.
Jog Robot Abre el diálogo de desplazamiento. Use el diálogo de desplazamiento
cuando se utilice la cámara móvil (por ejemplo, mueva el robot hacia la
posición de captura de imágenes).
Finish Este botón quedará disponible cuando estén completas todas las
calibraciones.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
119
En el caso de sistemas con puerta de seguridad, el alimentador se detendrá ante apertura de
la puerta de seguridad durante un proceso de calibración iniciado con el botón <Run>
(Ejecutar), pero no cambiará la pantalla del asistente. Si esto ocurre, primero haga clic en
el botón <Abort> para suspender el proceso de calibración y, luego, cierre la puerta de
seguridad antes de intentar volver a ejecutar el proceso de calibración.
2.4.2 Preparación
- Prepare las piezas que se usarán para calibrar el alimentador. Una calibración requiere
una cantidad determinada de piezas.
- Cuando se use una cámara móvil, haga clic en el botón Jog Robot (Desplazar robot)
para mover el robot hacia la posición de captura de imágenes.
- Cuando se use una iluminación de usuario controlada por E/S, haga clic en el botón
<IO Monitor> (Monitor de E/S) en el asistente para encender la luz.
2.4.3 Inicio del asistente
Haga clic en el botón <Calibration> en 2.3.7. Calibración para abrir el diálogo que
aparece a continuación.
Si es la primera vez que efectúa una calibración, la calibración del área de piezas es
obligatoria y la calibración de desplazamiento es obligatoria si se ha seleccionado una
región de recogida distinta a Anywhere.
Para las calibraciones posteriores, se pueden seleccionar elementos específicos para la
calibración.
Para conocer más detalles, consulte 2.4.8. Recalibración del alimentador.
La calibración Flip & Separation (Voltear y separar) es opcional, pero se recomienda. Los
intentos de calibración automática para encontrar los parámetros de vibración óptimos
para la pieza. Si la calibración no puede determinar acertadamente los parámetros de
vibración correctos, verá el siguiente error de calibración:
Cuando se produzca este error, deberá modificar manualmente los parámetros de vibración
de la página de calibración.
NOTA
NOTA
Software
120
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.4.4 Calibración del área de piezas
(1) Agregue una pieza al alimentador y, luego, haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes>.
(3) Haga clic en el botón <Next>.
Si una pieza es demasiado pequeña o demasiado grande para el tipo de alimentador que se
está utilizando, aparecerá un mensaje de advertencia.
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 121
2.4.5 Calibración de volteo y separación
(1) Agregue el número de piezas especificado en las instrucciones al alimentador y, luego,
haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes>. Esto comienza el proceso de calibración.
(3) Haga clic en el botón <Next>.
Software
122
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Si las piezas se salen del alimentador durante la calibración de Flip & Separate, no se
realizará adecuadamente la calibración y aparecerá un mensaje de error de calibración.
Se produce el error de calibración porque existe una discrepancia entre el número de
piezas que el sistema de visión espera encontrar y el número de piezas que hay
realmente en la plataforma del alimentador.
Si se salen las piezas del alimentador, haga clic en el botón <Abort> para detener la
calibración actual en curso. Vuelva a colocar las piezas en el alimentador y vuelva a
hacer clic en el botón <Run> para volver a ejecutar la calibración
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
123
2.4.6 Calibración de desplazamiento
La calibración de desplazamiento es necesaria cuando la región de recogida descrita en
2.3.5 Recogida está definida en A, B, C o D (cualquier cosa, excepto Anywhere).
(1) Agregue una pieza y, luego, haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes> (Sí).
Esto comienza el proceso de calibración.
(3) Haga clic en el botón <Next>.
NOTA
Software
124 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.4.7 Calibración de purga
La calibración de la purga se realiza cuando se selecciona IF-80 y está activado Purge.
(1) Agregue el número de piezas especificado en las instrucciones al alimentador y, luego,
haga clic en el botón <Run>.
(2) Haga clic en el botón <Yes> (Sí). Esto comienza el proceso de calibración.
(3) Haga clic en el botón <Next>.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 125
2.4.8 Finalización
Haga clic en el botón <Finish> para guardar los parámetros de calibración.
Esto completa el proceso de calibración del alimentador.
2.4.9 Recalibración del alimentador
Para piezas en que el alimentador ya se haya calibrado, se pueden seleccionar
calibraciones específicas del alimentador para repetirlas.
(1) Seleccione los elementos de calibración que desea realizar.
(2) Haga clic en el botón <Next>.
(3) Siga las instrucciones que aparecen en cada pantalla de calibración para continuar.
Software
126
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
2.5 Comprobación de los resultados de calibración del alimentador
Haga clic en el botón Test (Prueba) descrito en 2.3.7. Calibración para comprobar los
resultados de calibración del alimentador.
Elemento Descripción
Flip and Separate Selecciona la prueba de volteo y separación.
Short axis centering Selecciona la prueba de centrado en dirección del eje corto.
(izquierda a derecha en la pantalla anterior).
Long axis entering Selecciona la prueba de centrado en dirección del eje largo.
(arriba y abajo en la pantalla anterior).
Shift forward Selecciona la prueba de desplazamiento hacia adelante.
Las piezas avanzarán en la dirección de movimiento en el área de
piezas establecida utilizando las configuraciones de región de
recogida de la pantalla de recogida.
Shift backward Selecciona la prueba de desplazamiento hacia atrás.
Las piezas se alejarán de la dirección de movimiento en el área de
piezas establecida utilizando las configuraciones de región de
recogida de la pantalla de recogida.
Purge Selecciona la prueba de purga.
(1) Seleccione un elemento para probar.
(2) Haga clic en el botón <Start> (Iniciar).
Si cambian los valores calibrados mediante la opción “Manually edit calibration
parameters” (Edite los parámetros de calibración en forma manual) y se aplican con un
clic en el botón <Apply> antes de ejecutar esta prueba, en la prueba se utilizarán los
valores actualizados. Si la prueba se ejecuta sin hacer clic en el botón <Apply>, en la
prueba se utilizarán los valores previos a la actualización.
Los elementos de calibración comprobables variarán según las selecciones del diálogo de
alimentación de piezas.
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 127
2.6. Menú [File]
Se puede trabajar con los archivos de alimentación de piezas en Menú - [File] (Archivo)
de EPSON RC+ 7.0.
2.6.1 [Import] (Menú File)
Las piezas se pueden importar desde otros proyectos EPSON RC+ 7.0.
(1) Seleccione Menú - [File] - [Import] (Importar) en EPSON RC+ 7.0.
(2) Seleccione “PartFeeding (*.pf)” en el tipo de archivo.
(3) Use la siguiente pantalla para importar archivos.
Elemento Descripción
Select part to import Seleccione la pieza que se va a importar.
Add as a new part Seleccione esto para agregar la pieza como pieza
nueva.
Overwrite an existing part Seleccione esto para sobrescribir los datos de
piezas existentes.
Select part to overwrite Seleccione la pieza para sobrescribir al
seleccionar “Overwrite an existing part”
(Sobrescriba una pieza existente).
Software
128 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
3. Referencia de comandos SPEL+ para la
alimentación de piezas
Esta sección ofrece una descripción de los comandos SPEL + para alimentación de partes
que se pueden usar desde los programas SPEL + creados por el usuario. A continuación, la
lista de comandos.
Comando/Función Descripción/ Aplicación
PF_AccessFeeder Obtenga un bloqueo para el robot con acceso al
alimentador
PF_ActivePart Desplazar la pieza activa cuando opera varias piezas
PF_Abort Detiene de manera forzada el proceso de alimentación
de piezas.
PF_Backlight Se usa para controlar el encendido y el apagado de la
luz de fondo en tiempo de ejecución, cuando se utiliza
la devolución de la llamada de visión
PF_BacklightBrightness Define el brillo de la luz de fondo en tiempo de
ejecución
PF_Info function Recupera las propiedades de alimentación de piezas
PF_InitLog Activa la salida del archivo de registro y especifica la
ruta de destino
PF_IsStopRequested Arroja si se ha emitido el comando PF_Stop
Función PF_Name$ Recupera el nombre de la pieza desde la ID de la pieza
Función PF_Number Recupera la ID de la pieza desde el nombre de la pieza
Función PF_Purge Inicia el movimiento de purga
PF_OutputOnOff Enciende o apaga el terminal de salida del alimentador
Función PF_QtyAdjHopperTime Arroja la cantidad estimada de tiempo que se necesita
para suministrar la cantidad óptima de piezas
PF_QueAdd Agrega datos (datos de punto, orientación de pieza,
datos de usuario) a la cola de coordenadas
PF_QueAutoRemove Configura la función de eliminación automática para la
cola de coordenadas
Función PF_QueAutoRemove Arroja el estado de la función de eliminación
automática para la cola de coordenadas
Función PF_QueGet Recupera datos de punto de la cola de coordenadas
Función PF_QueLen Arroja la cantidad de datos registrados en la cola de
coordenadas
PF_QueList Muestra la lista de datos de la cola de coordenadas
PF_QuePartOrient Restablece y muestra la orientación de la pieza (entero)
registrada en la cola de coordenadas
Función PF_QuePartOrient Arroja la orientación de la pieza registrada en la cola
de coordenadas
PF_QueRemove Elimina los datos de la cola de coordenadas
PF_QueSort Define y muestra el método de clasificación de la cola
de coordenadas
Función PF_QueSort Arroja el método de clasificación de la cola de
coordenadas
PF_QueUserData Restablece y muestra los datos de usuario (reales)
registrados en la cola de coordenadas
Función PF_QueUserData Arroja los datos del usuario (reales) registrados en la
cola de coordenadas
PF_ReleaseFeeder Libere el bloqueo que obtuvo mediante
PF_AccessFeeder
PF_Start Inicia el proceso de alimentación de piezas.
PF_Stop Emite una solicitud de detención del proceso de
alimentación de piezas.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 129
PF_Abort
Obliga a que se detenga el proceso de alimentación de piezas para la pieza especificada.
Sintaxis
PF_Abort part ID
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Ninguno
Descripción
Anula inmediatamente el proceso de alimentación de piezas para la pieza especificada.
A diferencia de PF_Stop, esto anula la función de devolución de la llamada en curso.
Si no se ha iniciado el proceso de alimentación de piezas, no sucederá nada por usar esta función.
Cuando opere varias piezas, se puede especificar cualquier ID de pieza definida en PF_Start.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
PF_Abort 1
Software
130 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_AccessFeeder
PF_AccessFeeder bloquea el acceso a un alimentador para evitar posibles colisiones en un sistema de
varios robots y un alimentador. Este comando es necesario cuando dos robots comparten el mismo
alimentador simultáneamente. PF_AccessFeeder obtiene un bloqueo para el robot con acceso al
alimentador. Si ya se obtuvo un bloqueo, PF_AccessFeeder suspende la tarea hasta que el bloqueo se libera
o se agota el tiempo de espera especificado (opcional). Después de que el robot termina de utilizar el
alimentador, debe liberar el bloqueo a través de la instrucción PF_ReleaseFeeder a fin de dejar disponible
el alimentador para el otro robot (consulte la instrucción PF_ReleaseFeeder para obtener más información).
Ejemplo:
La tarea 1 ejecuta PF_AccessFeeder 1, entonces la tarea 1 continua.
La tarea 2 ejecuta PF_AccessFeeder 1, entonces la tarea 2 se pausa.
La tarea 1 ejecuta PF_ReleaseFeeder 1, entonces la tarea 2 se reanuda.
Este comando se usa para obtener el control exclusivo en una configuración de varios robots.
Sintaxis
PF_AccessFeeder feeder number / feeder name [, timeout]
Parámetros
feeder number Especifique el número del alimentador (número entero) como una expresión o un valor
numérico.
feeder name Especifique el nombre del alimentador como una sucesión de caracteres.
timeout Especifique el tiempo de espera (en segundos) para esperar que se libere el bloqueo
como una expresión o número (número real). Opcional.
Valores devueltos
Ninguno
Descripción
Cuando se especifica el tiempo de espera, se puede determinar el valor mediante el valor devuelto de la
función TW (consulte EPSON RC+ Lenguaje 7.0 SPEL+ – Función TW).
False - Se liberó el bloqueo o se consiguió el bloqueo correctamente.
True - Se ha alcanzado el tiempo de espera.
El comportamiento del alimentador no se ve afectado por la adquisición/liberación de los bloqueos.
Al final de la tarea, los bloqueos adquiridos en esa tarea se liberan automáticamente.
Si se ejecuta PF_AccessFeeder dos veces en una fila para el mismo alimentador en la misma tarea, se
produce un error.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
A continuación, se presenta un ejemplo de recogida de piezas en uno de los alimentadores con dos robots.
El robot 1 recoge la pieza en el alimentador y se mueve al punto del lugar1.
Cuando el robot 1 alcanza el 50 % del recorrido de movimiento, el robot 2 se mueve para recoger la pieza.
Function Main
MemOff PartsToPick
Motor On
PF_Start 1
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 131
Function Robot1PickPlace
Robot 1
Do
If MemSw(PartsToPick) = On
If PF_QueLen(1) > 0 Then
PF_AccessFeeder 1
P0 = PF_QueGet(1)
PF_QueRemove 1
Jump P0 /R
On 5
Wait .5
Jump place ! D30; PF_ReleaseFeeder 1 !
Off 5
Wait .25
Else
MemOff PartsToPick
EndIf
EndIf
Wait 0.1
Loop
Fend
Function Robot2PickPlace
Robot 2
Do
If MemSw(PartsToPick) = On Then
If PF_QueLen(2) > 0 Then
PF_AccessFeeder 1
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /R
On 5
Wait .5
Jump place ! D30; PF_ReleaseFeeder 1 !
Off 5
Wait .25
Else
MemOff PartsToPick
EndIf
EndIf
Wait 0.1
Loop
Fend
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick
Wait MemSw(PartsToPick) = Off
Case 2
MemOn PartsToPick
Wait MemSw(PartsToPick) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
132 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_ActivePart
Cambie la pieza activa durante la operación con varias piezas. La instrucción PF_ActivePart le indica al
sistema cuál es la pieza deseada actualmente. El sistema vibrará o entregará las piezas, de modo que
PF_ActivePart esté disponible para que el robot las recoja.
Sintaxis
PF_ActivePart part ID
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Ninguno
Descripción
En el caso de la operación de varias piezas, la primera ID de pieza en la instrucción PF_Start es la pieza
activa inicial. Cuando se desea una pieza distinta, puede usar este comando para cambiar la pieza activa. El
sistema hará una entrega (con los valores de vibración correctos, suministro de piezas de la tolva, etc.) para
la ID de la pieza que se especificó en la instrucción PF_ActivePart.
Normalmente ActivePart se configura antes de salir de la devolución de la llamada PF_Robot, de manera
que la acción de alimentación sea específica para la pieza deseada.
Si no se ha iniciado ninguna operación de alimentación de piezas, este comando no tiene efecto.
Cuando no es una operación de varias piezas (es decir, cuando solo se especifica una ID al momento de la
ejecución de PF_Start), este comando no tiene efecto.
Cuando especifica una ID de la pieza que no se utilizó en la operación de varias piezas, este comando no
tiene efecto.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Este ejemplo ilustra cómo alternar las piezas n.º 1 y n.º 2 mediante la instrucción
PF_ActivePart.
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
If PF_QueLen(1) > 0 Then
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
PF_ActivePart 2 ‘Cambie a la pieza n.º 2
Else
PF_ActivePart 1 ‘Aún se necesita la pieza n.º 1
EndIf
Case 2
If PF_QueLen(2) > 0 Then
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
PF_ActivePart 1 ‘Cambie a la pieza n.º 1
Else
PF_ActivePart 2 ‘Aún se necesita la pieza n.º 2
EndIf
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 133
PF_Backlight
Enciende o apaga la luz de fondo incorporada.
Sintaxis
PF_Backlight feeder number | feeder name, On | Off
Parámetros
feeder number Especifique el número del alimentador (número entero del 1 al 4) como una expresión o
un valor numérico.
feeder name Especifique el nombre del alimentador como una sucesión de caracteres.
On/Off Establezca activar o desactivar.
Valores devueltos
Ninguno
Descripción
Cuando la visión está bajo el control del sistema, la luz de fondo se enciende y se apaga en forma
automática, según sea necesario. Use este comando para controlar la luz de fondo incorporada en el estado
cuando la visión no esté bajo el control del sistema.
En el caso de IF-80, la luz de fondo se apaga automáticamente después de 30 segundos. Si la luz de fondo
se apaga automáticamente, se debe ejecutar el comando PF_Backlight Off antes de que se vuelva a
encender la luz de fondo.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
PF_Backlight 1, On
Software
134 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_BacklightBrightness
Establece el brillo para la luz de fondo incorporada.
Sintaxis
PF_BacklightBrightness feeder number | feeder name, brightness
Parámetros
feeder number Especifique el número del alimentador (número entero del 1 al 4) como una expresión o
un valor numérico.
feeder name Especifique el nombre del alimentador como una sucesión de caracteres.
brightness El porcentaje de brillo (número entero) va desde 0 a 100 %.
Valores devueltos
Ninguno
Descripción
Por lo común, el brillo de la luz de fondo incorporada que se usará para una pieza se establece en el diálogo
de Configuración de alimentación de piezas. Si se requieren cambios en el brillo en tiempo de ejecución, se
puede usar este comando para cambiarlo.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
PF_BacklightBrightness 1, 80
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 135
Función PF_Info
Recupera las propiedades de la pieza.
Sintaxis
(1) PF_Info(part ID, property ID)
(2) PF_Info(part name, property ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
part name Especifique el nombre de la pieza (sucesión de caracteres).
property ID Especifique la ID de la propiedad.
Las propiedades que se pueden recuperar son las siguientes.
ID de la propiedad Detalles
PF_INFO_ID_FEEDER_CALIB_CORRECT_MAXNUM
Resultados de calibración para número
óptimo de piezas
Se usa para calcular el número de piezas
que se alimentará.
PF_INFO_ID_FEEDER_NO
Arroja el número de alimentador que se
usa con esta pieza.
PF_INFO_ID_ROBOT_NO
Arroja el número de robot que se usa con
esta pieza.
Valores devueltos
Arroja el valor de la propiedad especificada.
Descripción
Arroja los valores de las propiedades de la pieza. Use este valor para personalizar el comportamiento del
sistema dentro de la función de devolución de la llamada.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Control para conocer
más detalles.
Software
136 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_InitLog
Activa la salida del archivo de registro de alimentación de piezas y especifica la ruta de destino.
Se debe ejecutar antes de PF_Start.
Para generar archivos de registro, el controlador debe estar conectado a la PC en la que se instaló RC +.
Para acceder a más información sobre los archivos de registro de alimentación de piezas, consulte 5.
Archivo de registro de la alimentación de piezas.
Sintaxis
PF_InitLog part ID, output path, append
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
output path Especifique la ruta de destino de salida del archivo de registro (ruta del archivo en la PC
+ nombre del archivo).
append Defina como True (Verdadero) para anexar datos cuando la ruta de salida especificada
ya existe.
Defina como False (Falso) para sobrescribir el archivo.
Valores devueltos
Ninguno
Descripción
Ejecute esta función desde la misma tarea que está ejecutando PF_Start. No se creará un registro cuando
esta función se ejecute desde otra tarea.
Si no se ha iniciado el proceso de alimentación de piezas, no sucederá nada por usar esta función.
No se creará un registro cuando esta función se ejecute mientras el controlador no está conectado a la PC.
Considere que esto no provocará un error.
Se producirá un error cuando se ejecute PF_Start y no exista la ruta, o cuando el sistema no pueda escribir
datos en el archivo. Considere que no ocurrirá un error durante la ejecución de esta función.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Consulte el ejemplo de uso que se entrega sobre PF_Start.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 137
Función PF_IsStopRequested
Verifica si se ha enviado una solicitud de finalización del proceso de alimentación de piezas (si se ha
ejecutado PF_Stop).
Se usa normalmente dentro de una función de devolución de la llamada.
Sintaxis
PF_IsStopRequested(
part ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Es verdadero cuando se ha invocado PF_Stop mientras se ejecuta el proceso de alimentación de piezas.
En todas las demás circunstancias es falso.
Descripción
Se utiliza para determinar si se ha emitido una solicitud de finalizar la alimentación de piezas dentro de una
función de devolución de la llamada. Al ejecutar el procesamiento de bucle, etc., codifique el programa de
modo que se invoque esta función en cada bucle, para descontinuar el bucle y finalizar la función de
devolución de la llamada cuando se emita una solicitud de finalización.
En el caso de la operación de varias piezas, puede especificar una de las ID de las piezas especificadas en
PF_Start.
Por ejemplo, si ejecuta PF_Start 1, 2, 3, 4, entonces se ejecuta PF_Stop 2, puede verificar la solicitud de
salida con esta función mediante Part ID 1, 2, 3 o 4.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot para conocer
más detalles.
Software
138 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_Name$
Arroja el nombre de la pieza a partir de la ID de una pieza.
Sintaxis
PF_Name$(part ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Arroja el nombre de la ID de pieza especificada como una secuencia de caracteres.
Descripción
Si la ID de pieza no es válida, será “” (secuencia en blanco).
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Print PF_Name$(1)
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 139
Función PF_Number
Arroja la ID de una pieza a partir del nombre de una pieza.
Sintaxis
PF_Number(part name)
Parámetros
Part name Especifique el nombre de la pieza (sucesión de caracteres).
Valores devueltos
Arroja la ID de la pieza (número entero entre 1 y 16) para el nombre de la pieza especificada.
Descripción
Si el nombre de la pieza correspondiente no existe, será 1.
Si existen múltiples piezas con el mismo nombre, se recuperará aquella con la ID más pequeña.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Print "Part1 part number = ", PF_Number("Part1")
Software
140 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_OutputOnOff
Enciende y apaga el terminal de salida del alimentador.
Defina este comando como Activo para entregar las piezas con una tolva. Defina este valor como Inactivo
para detener la entrega de las piezas con una tolva.
El IF-80 cuenta con una tolva integrada. Las tolvas opcionales están disponibles para otros modelos de
alimentadores.
Sintaxis
(1) PF_OutputONOFF feeder number/feeder name, On, output number [, duration] [, wait]
(2) PF_OutputONOFF feeder number/feeder name, Off
Parámetros
feeder number Especifique el número del alimentador (número entero del 1 al 4) como una expresión o
un valor numérico.
feeder name Especifique el nombre del alimentador como una sucesión de caracteres.
On/Off Establezca activar o desactivar.
output number Especifique el destino de salida. Se puede especificar cuando el comando se establece
en On (Activado).
1: Terminal de salida 1
2: Terminal de salida 2
duration Especifique la duración de la activación.
Especifique un valor entero entre 1 y 30000 [ms].
Si se establece en 0 o si se omite este valor, este comando quedará establecido como
siempre activado.
wait Especifique si se debe esperar que se complete la operación o no. Solo para IF-80.
0: No espera que se complete la operación de la tolva.
1: Espera que se complete la operación de la tolva.
Valores devueltos
Ninguno
Descripción
El control volverá de inmediato tras la ejecución de este comando (incluido el caso donde la configuración
de Wait (Esperar) es 0 para IF-80). Use el comando Wait, como se indica en el ejemplo, para esperar a que
la tolva complete sus acciones.
No se pueden encender al mismo tiempo los terminales de salida 1 y 2. Por ejemplo, el encendido del
terminal 1 apagará el terminal 2.
Cuando se establece en desactivado, se apagarán ambos terminales 1 y 2.
La salida no se desactivará, aunque se ejecute el comando PF_Abort o el comando PF_Stop.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Control para conocer
más detalles.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 141
Función PF_Purge
Se realiza la purga (extraer las piezas del alimentador).
Cuando se realiza la operación de purga (con o sin éxito), se borra la cola de coordenadas de la pieza
especificada por la ID de la pieza.
Sintaxis
PF_Purge partID, type, duration, remain, retry
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
type Especifique el proceso.
1: Sin retroalimentación de visión. La purga solo se basa en el tiempo.
2: Con retroalimentación de visión. Cuenta el número de piezas restantes con visión.
duration Especifica el tiempo de la purga (en milisegundos)
remain Especifica el número de piezas que pueden quedar en el alimentador después de la purga.
retry Especifica el número de reintentos para obtener el número de piezas restantes.
Valores devueltos
Arroja True cuando se completado correctamente la purga. Arroja False si el número de piezas que quedan
en el alimentador superar el valor de remain dentro del número especificado de reintentos.
Descripción
El mecanismo de purga (ej.: puerta de purga de la plataforma del alimentador, mecanismo de abertura y
cierre de la puerta de purga) es responsabilidad del cliente. El IF-80 tiene una opción de purga disponible
(que consiste en una plataforma especia y una caja de purga desmontable).
Cuando el tipo es “With Vision” (Con visión), se utiliza la secuencia de blob de pieza para aproximar el
número de piezas en la plataforma.
Para activar/desactivar la purga y determinar la dirección de la purga, consulte “2.2.10. Purga”.
Se debe calibrar el IF-80 para purgarlo. Encontrará la configuración en “2.2.11. Calibración”.
Cuando está desactivada la purga y se invoca esta función, se produce un error y la función de devolución
de la llamada PF_Startus se invocará junto con PF_STATUS_PURGENOTENABLED.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
En EPSON RC+ 7.5.0, los parámetros remain y retry no son opcionales incluso si son tipo = 1.
Especifique un valor de “0” para remain y retry cuando esté en tipo =1.
Ejemplos
Ejemplo 1:
Purgue la pieza n.º 1 mediante la retroalimentación de visión. Cada intento de purga durará 1500 ms. Las
3 piezas pueden permanecer en la plataforma. Se harán 5 reintentos.
Boolean purgeStatus
purgeStatus = PF_Purge(1, 2, 1500, 3, 5)
Print purgeStatus
Ejemplo 2:
Purgue la pieza n.º 1 sin la retroalimentación de visión. Purgue durante 2000 ms.
PF_Purge 1, 1, 2000, 0, 0
Software
142 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_QtyAdjHopperTime
Arroja la cantidad estimada de tiempo de operación de la tolva que se necesita para suministrar la cantidad
óptima de piezas.
Sintaxis
PF_QtyAdjHopperTime(partID, SupplyQty, SupplyTime)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
SupplyQty Especifique la cantidad de piezas (número de piezas) que se suministran en el SupplyTime
(Tiempo de suministro).
SupplyTime Especifique el tiempo de operación de la tolva en milisegundos que es necesario para
suministrar la cantidad de piezas (número de piezas) especificada por SupplyQty.
Valores devueltos
Arroja la cantidad estimada de tiempo de operación de la tolva (ms).
El valor devuelto estará entre 1 y 30000 [ms].
En el caso de error, el valor devuelto será 1.
Descripción
PF_QtyAdjHopperTime usa la visión para calcular el tiempo de operación de la tolva necesario para
garantizar que la plataforma tenga el número óptimo de piezas (determinado por la calibración del
alimentador). El valor devuelto se usa como el parámetro de duración para la instrucción PF_OutputOnOff.
Tanto SupplyQty como SupplyTime son determinados por el desarrollador (mediante el botón Test Hopper
[Probar tolva] de la página Part Feeding Supply [Suministro de alimentación de piezas]). Estos valores
indican cómo se suministran muchas piezas en una cantidad dada de tiempo.
En el caso de la operación de varias piezas, el tiempo de operación calculado da por sentado que una
cantidad equivalente de cada tipo de pieza es lo óptimo. Si se ejecuta PF_QtyAdjHopperTime mientras las
piezas están ejecutando en el alimentador, entonces se ejecuta la secuencia de visión de blob de pieza (para
la ID de la pieza proporcionada) además de la secuencia de cada pieza individual (para cada pieza en el
grupo PF_Start). Si se ejecuta PF_QtyAdjHopperTime cuando no se están ejecutando piezas en el
alimentador, entonces solo se utiliza la secuencia de blob de pieza (para la ID de la pieza proporcionada).
No se puede ejecutar el comando desde un controlador virtual ni de una ventana de comandos.
No se puede utilizar este comando con cámaras móviles.
Si el usuario procesa la visión (es decir, se usa la función de devolución de la llamada PF_Vision) para
alguna pieza que se está ejecutando en el alimentador, entonces PF_QtyAdjHopperTime solo usará la
secuencia de blob de pieza para determinar el tiempo de operación de la tolva para la pieza especificada por
los parámetros de ID de pieza.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 143
Ejemplo
Este ejemplo utiliza la devolución de la llamada PF_Control para encender la tolva opcional durante la
cantidad de tiempo estimada que sea necesaria para proporcionar la cantidad óptima de piezas. La tolva se
ajusta para entregar 10 piezas por segundo (1000 ms).
Function PF_Control(PartID As Integer, Control As Integer) As Integer
Integer hopperOnTime
Select Control
'Request for part supply (add up to optimum number)
Case PF_CONTROL_SUPPLY
hopperOnTime = PF_QtyAdjHopperTime(PartID, 10, 1000)
PF_OutputONOFF 1, On, 1, hopperOnTime
Wait hopperOnTime / 1000
Send
PF_Control = PF_CALLBACK_SUCCESS
Fend
Software
144 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_QueAdd
Agrega datos (datos de punto, orientación de pieza, datos de usuario) a la cola de coordenadas de las piezas.
Sintaxis
PF_QueAdd part ID, point data [, part orient [, user data]]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
point data Especifique los datos de punto.
part orient Opcional. Expresión entera que se usa para registrar la orientación de la pieza junto con
los datos de punto.
PF_PARTORIENT_FRONT=1 La pieza mira hacia arriba.
PF_PARTORIENT_BACK=2 La pieza mira hacia abajo.
user data Opcional. Expresión real que se usa para registrar los datos del usuario junto con los
datos de puntos.
Valores devueltos
Ninguno
Descripción
Se usa para registrar datos (datos de punto, orientación de pieza, datos de usuario) a la cola de coordenadas
de las piezas.
En circunstancias normales, no se necesita PF_QueAdd pues la cola de coordenadas de piezas se genera en
forma automática dentro del proceso de alimentación de piezas. Se utiliza cuando se usan procesos únicos
de visión (con la función de devolución de la llamada PF_Vision).
Los datos se agregan al final de la cola de coordenadas de piezas para la ID de la pieza especificada.
Sin embargo, los datos se registrarán de acuerdo con el método de clasificación establecido, si se aplica
algún método de clasificación mediante PF_QueSort.
Se pueden conservar hasta 1.000 elementos de datos en una cola de coordenadas de piezas.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Vision para conocer
más detalles.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 145
PF_QueAutoRemove
Configura la función de eliminación automática para la cola de coordenadas de las piezas que se especificó.
Sintaxis
PF_QueAutoRemove part ID, {True | False}
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Verdadero | Falso Falso: Desactiva la función de eliminación automática (predeterminado).
Verdadero: Activa la función de eliminación automática (predeterminado).
Valores devueltos
Ninguno
Descripción
Configura la función de eliminación automática para la cola de coordenadas de las piezas.
Cuando está activada la función de eliminación automática, los datos de puntos se eliminan
automáticamente de la cola de coordenadas de piezas cuando se usa PF_QueGet para recuperar los datos de
puntos de la cola de coordenadas de piezas.
Los datos de puntos no se eliminan cuando se desactiva la función de retiro automático. Use
PF_QueRemove para eliminar los datos de puntos.
La función de eliminación automática se puede activar o desactivar para cada ID de pieza.
Ejemplo
PF_QueAutoRemove 1, True
Software
146 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_QueAutoRemove
Arroja el estado de la función de eliminación automática establecida para la cola de coordenadas de las
piezas.
Sintaxis
PF_QueAutoRemove (part ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Se informa como “True” si está activada la función de eliminación automática de la cola de coordenadas de
piezas y como “False”, si está desactivada.
Descripción
Consulte la descripción de PF_QueAutoRemove.
Ejemplo
Boolean autoremove
autoremove = PF_QueAutoRemove (1)
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 147
Función PF_QueGet
Arroja los datos de punto de la cola de coordenadas de piezas.
Sintaxis
PF_QueGet (part ID [, index ] )
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
index Especifique como número entero el índice de los datos de la cola que se va a recuperar.
El valor de índice inicial es 0. Esto se puede omitir.
Valores devueltos
Arroja los datos de puntos.
Descripción
PF_QueGet recupera datos de punto en la cola de coordenadas de las piezas. Si se omite el índice, esta
función recuperará la entrada de datos inicial de la cola. Si se especifica un índice, se informarán los datos
de puntos del índice especificado.
Los datos de puntos se eliminan al ejecutar PF_QueGet cuando se usa PF_QueAutoRemove para activar la
función de eliminación automática para los datos de la cola.
Los datos de puntos no se eliminan cuando se desactiva la función de retiro automático. Use
PF_QueRemove para eliminar los datos de puntos.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot para conocer
más detalles.
Software
148 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_QueLen
Arroja la cantidad de datos de la cola de coordenadas de piezas registrada a la cola de coordenadas de
piezas.
Sintaxis
PF_QueLen (part ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Arroja el número de entradas de datos de la cola de coordenadas de piezas válidas registrado como número
entero.
Descripción
Arroja el número actual de entradas registradas de datos de la cola de coordenadas de piezas.
También se puede utilizar como un parámetro del comando Wait.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot para conocer
más detalles.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 149
PF_QueList
Muestra una lista de datos de la cola de coordenadas de piezas (datos de puntos) para la cola de
coordenadas de piezas especificada.
Sintaxis
PF_QueList part ID, [display count ]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
display count Especifique como número entero el número de elementos de datos que se muestran.
Esto se puede omitir.
Cuando se omite este parámetro, aparecen todos los datos de la cola.
Descripción
Solo se puede usar en la ventana de comandos.
Ejemplo
Ejemplo de uso de la ventana de comandos
> PF_QueList 1
Cola 0 = XY( 1.000, 1.000, 0,000, 0,000 ) /R /0 ( 1 ) ( 0,000)
Cola 1 = XY( 3.000, 1.000, 0,000, 0,000 ) /R /0 ( 1 ) ( 2,000)
Cola 2 = XY( 4.000, 1.000, 0,000, 0,000 ) /R /0 ( 1 ) ( 3,000)
Cola 3 = XY( 5.000, 1.000, 0,000, 0,000 ) /R /0 ( 2 ) ( 4,000)
Cola 4 = XY( 6.000, 1.000, 0,000, 0,000 ) /R /0 ( 2 ) ( 5,000)
Software
150 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_QuePartOrient
Restablece y muestra la orientación de la pieza (número entero) registrada en la cola de coordenadas de las
piezas.
Sintaxis
PF_QuePartOrient part ID [, index [, part orient]]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
índice Expresión de número entero que representa el índice de los datos de la cola de las
coordenadas de las piezas. (el comienzo del número de índice es 0). Opcional cuando se
ejecuta desde la ventana de comandos.
part orient Expresión entera que representa la orientación de la pieza que se va a volver a definir.
Se puede omitir cuando se ejecuta desde la ventana de comandos. Si se omite, aparece la
orientación de pieza actual (expresión entera).
PF_PARTORIENT_FRONT=1 La pieza mira hacia arriba.
PF_PARTORIENT_BACK=2 La pieza mira hacia abajo.
Descripción
Restablece y muestra la orientación de la pieza registrada actualmente en la cola de coordenadas de las
piezas.
Si PF_Sort especifica el método de clasificación, se modifica el orden de los datos de la cola de las
coordenadas de las piezas según el método de clasificación especificado.
QUE_SORT_POS_PARTORIENT : Orden ascendente de orientación de pieza (expresión entera)
QUE_SORT_INV_PARTORIENT : Orden descendente de orientación de pieza (expresión entera)
Consulte también
Función PF_QuePartOrient
Ejemplo
PF_QuePartOrient 1, 1, PF_PARTORIENT_FRONT
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 151
Función PF_QuePartOrient
Arroja la orientación de la pieza (valor de entero) registrada en la cola de coordenadas de las piezas.
Sintaxis
PF_QuePartOrient (part ID [, index])
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
índice Opcional. Expresión de número entero que representa el índice de los datos de la cola de
las coordenadas de las piezas. (El primer valor de índice es 0).
Valores devueltos
Arroja la orientación de la pieza (valor de entero).
Descripción
PF_QuePartOrient recupera la orientación de la pieza desde la cola de coordenadas de las piezas. Si se
omite el índice, esta función recuperará la entrada de datos inicial de la cola. Si se especifica un índice, se
informará la orientación de pieza del índice especificado.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot para conocer
más detalles.
Software
152 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_QueRemove
Elimina datos de la cola de coordenadas de piezas (datos de puntos) en la cola de coordenadas de piezas
especificada.
Sintaxis
PF_QueRemove part ID [, index | All]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
index Especifique como número entero el índice de los datos de la cola de coordenadas de
piezas que se va a eliminar.
El valor de índice inicial es 0. Esto se puede omitir.
Especifique All (Todos) para eliminar todos los elementos de datos.
Valores devueltos
Ninguno
Descripción
Elimina datos (datos de punto) de la cola de coordenadas de las piezas.
Se usa para eliminar los datos que se usan desde la cola de coordenadas de piezas.
Ejemplo
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas PF_Robot para conocer
más detalles.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 153
PF_QueSort
Establece y muestra el método de clasificación aplicado a la cola de coordenadas de las piezas especificada.
Sintaxis
PF_QueSort part ID [,sort method]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
sort method Defina el método de clasificación mediante números enteros (0 a 8) o con las constantes
que se describen a continuación.
Se puede omitir cuando se ejecuta desde la ventana de comandos.
Cuando se omite, se mostrará el actual método de clasificación en uso.
Constante Valor Descripción
QUE_SORT_NONE 0 No clasifique.
(Use el orden de registro de la cola de coordenadas de
piezas).
QUE_SORT_POS_X 1 Clasifique en orden ascendente según la coordenada X.
QUE_SORT_INV_X 2 Clasifique en orden descendente según la coordenada X.
QUE_SORT_POS_Y 3 Clasifique en orden ascendente según la coordenada Y.
QUE_SORT_INV_Y 4 Clasifique en orden descendente según la coordenada Y.
QUE_SORT_POS_USER 5 Clasifique en orden ascendente según los datos del
usuario.
QUE_SORT_INV_USER 6 Clasifique en orden descendente según los datos del
usuario.
QUE_SORT_POS_PARTORIENT 7 Clasifique en orden ascendente según la orientación de la
pieza.
QUE_SORT_INV_PARTORIENT 8 Clasifique en orden descendente según la orientación de
la pieza.
Valores devueltos
Ninguno
Descripción
Establece el método de clasificación aplicado a la cola de coordenadas de las piezas. Los datos de puntos
agregados mediante PF_QueAdd se registrarán en la cola de coordenadas de las piezas, de acuerdo con el
método de clasificación establecido.
Por tanto, se debe ejecutar PF_QueSort antes de usar PF_QueAdd. Considere que los datos no se volverán
a clasificar si se usa esta funcn después de agregar los datos.
Ejemplo
PF_QueSort 1, QUE_SORT_POS_X
Software
154 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_QueSort
Arroja el método de clasificación establecido para la cola de coordenadas de las piezas que se especificó.
Sintaxis
PF_QueSort (part ID)
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Arroja el método de clasificación establecido para la cola de coordenadas de las piezas como número
entero.
Valor Descripción
0 No clasifique (Use el orden de registro de la cola de coordenadas de piezas).
1 Clasifique en orden ascendente según la coordenada X.
2 Clasifique en orden descendente según la coordenada X.
3 Clasifique en orden ascendente según la coordenada Y.
4 Clasifique en orden descendente según la coordenada Y.
5 Clasifique en orden ascendente según los datos del usuario.
6 Clasifique en orden descendente según los datos del usuario.
7 Clasifique en orden ascendente según la orientación de la pieza.
8 Clasifique en orden descendente según la orientación de la pieza.
Ejemplo
Integer quesort
quesort = PF_QueSort(1)
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 155
PF_QueUserData
Restablece y muestra los datos de usuario (número real) registrados en la cola de coordenadas de las piezas.
Sintaxis
PF_QueUserData part ID [, index [, user data]]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
index Expresión de número entero que representa el índice de los datos de la cola de las
coordenadas de las piezas. (el comienzo del número de índice es 0). Opcional cuando se
ejecuta desde la ventana de comandos.
user data Expresión real que representa los datos del usuario que se volverán a definir. Se puede
omitir cuando se ejecuta desde la ventana de comandos. Si se omite, se muestran los
actuales datos del usuario (expresión real).
Descripción
Restablece y muestra los datos de usuario registrados actualmente en la cola de coordenadas de las piezas.
Si PF_Sort especifica el método de clasificación, se modifica el orden de los datos de la cola de las
coordenadas de las piezas según el método de clasificación especificado.
QUE_SORT_POS_USER : Orden ascendente de datos del usuario (expresión real)
QUE_SORT_INV_USER : Orden descendente de datos del usuario (expresión real)
Consulte también
Función PF_QueUserData
Ejemplo
Real r
r = 0,1
PF_QueUserData 1, 1, r
Software
156 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Función PF_QueUserData
Arroja los datos del usuario (valor real) registrados a la cola de coordenadas de las piezas.
Sintaxis
PF_QueUserData (part ID [, index])
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
index Opcional. Expresión de número entero que representa el índice de los datos de la cola de
las coordenadas de las piezas. (El primer valor de índice es 0).
Valores devueltos
Arroja los datos del usuario (valor real).
Descripción
PF_QueGetData recupera datos de usuario en la cola de coordenadas de las piezas. Si se omite el índice,
esta función recuperará la entrada de datos inicial de la cola. Si se especifica un índice, se informará la
orientación de pieza del índice especificado.
Ejemplo
Real r
r = PF_QueUserData(1, 1)
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 157
PF_ReleaseFeeder
Libere el bloqueo que obtuvo mediante PF_AccessFeeder. PF_AccessFeeder y PF_ReleaseFeeder bloquea
y desbloquea el acceso al alimentador para evitar posibles colisiones en un sistema de varios robots y un
alimentador. Estos comandos son necesarios cuando dos robots comparten el mismo alimentador
simultáneamente.
Ejemplo:
La tarea 1 ejecuta PF_AccessFeeder 1, entonces la tarea 1 continua.
La tarea 2 ejecuta PF_AccessFeeder 1, entonces la tarea 2 se pausa.
La tarea 1 ejecuta PF_ReleaseFeeder 1, entonces la tarea 2 se reanuda.
Este comando se puede escribir en el procesamiento paralelo (!...!) en los comandos de movimiento.
Sintaxis
Formato 1: F_ReleaseFeeder feeder number/ feeder name
Formato 2: MotionCommand ! [Dn;] PF_ReleaseFeeder feeder number/ feeder name !
Parámetros
feeder number Especifique el número del alimentador como una expresión o un valor numérico.
feeder name Especifique el nombre del alimentador como una sucesión de caracteres.
MotionCommand Any of Arc, Arc3, Go, Jump, Jump3, Jump3CP, Move, BGo, BMove, Tgo y TMove.
Dn Especifique en qué parte de la ruta del movimiento del robot iniciar el procesamiento
paralelo en %.
(Consulte Referencia del lenguaje SPEL+ de EPSON RC+ 7.0 Procesamiento
paralelo)
Valores devueltos
Ninguno
Descripción
El bloqueo solo se puede desbloquear dentro de la misma tarea.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Software
158 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Ejemplo
Este es un ejemplo del ingreso de la última pieza al alimentador y cuando se alcanza el 50 % de la ruta
hacia la posición de colocación, el control se devuelve a PF_Start para comenzar la captura de imágenes y
la operación del alimentador.
Function main
Motor On
PF_Start (1)
Fend
Function PF_Robot(partID As Integer)
Xqt Task_PF_Robot(partID)
Wait 1.0
AccessFeeder 1
ReleaseFeeder 1
PF_Robot = PF_SUCCESS
Fend
Function Task_PF_Robot(partID As Integer)
AccessFeeder 1
Integer i
For i = 1 to numToPick
pick = PF_GetQue(PartID)
PF_QueRemove(PartID)
Jump pick
On gripperOutput
Wait .1
If i < numToPick And PF_QueLen(PartID) > 0 Then
Jump place
Else
' Última pieza, así que libere el alimentador al 50 %
Jump place ! D50; PF_ReleaseFeeder 1!
EndIf
Off gripperOutput
Wait .1
Next i
FEnd
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 159
PF_Start
Inicia el proceso de alimentación de piezas para una pieza especificada.
Sintaxis
PF_Start part ID1[, part ID2 [, part ID3 [, part ID4] ] ]
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Ninguno
Descripción
Complete lo siguiente antes de iniciar PF_Start (consulte el ejemplo de utilización).
- Seleccione el robot en uso.
- Ajuste las configuraciones del robot (potencia, velocidad, aceleración, etc.).
- Encienda los motores.
- Ejecute PF_InitLog al crear un registro.
Ejecutar PF_Start genera una nueva tarea (número de tarea 32) y se inicia el proceso de alimentación de
piezas.
El control vuelve a quien llama sin esperar que termine el proceso de alimentación de piezas.
En las siguientes condiciones, se produce un error y se ejecuta la función de devolución de la llamada
Status.
No se iniciará el proceso de alimentación de piezas.
Condición Valor del parámetro Status de la función de
devolución de la llamada Status
La ID de pieza es inexistente
Intente iniciar la operación de varias
piezas con las piezas de distintos
alimentadores
PF_STATUS_BAD_ID
Las configuraciones de los parámetros
de piezas no son válidas.
(Casilla de verificación Enabled
(Activada) no seleccionada, etc.)
PF_STATUS_BAD_PARAMETER
Calibración de alimentador incompleta PF_STATUS_CAL_NOT_COMPLETE
La pieza está desactivada PF_STATUS_PARTNOTENABLED
El alimentador está en uso PF_STATUS_FEEDERINUSE_ERROR
Se produjo un error del sistema PF_STATUS_ERROR
Operación de varios alimentadores:
El proceso de alimentación de piezas se puede ejecutar simultáneamente en las piezas que pertenecen a
distintos alimentadores.
Por ejemplo, si la pieza 1 pertenece al alimentador 1 y la pieza 2 pertenece al alimentador 2, puede ejecutar
PF_Start 1 primero y luego ejecutar PF_Start 2.
PF_Start crea una tarea para cada alimentador. El número de tarea que se utiliza depende del número del
alimentador.
Número del
alimentador
Tarea
1 32
2 31
3 30
4 29
Software
160 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Cada función de devolución de la llamada (PF_Robot, PF_Control, PF_Status. PF_Vision,
PF_MobileCam) se ejecuta en la misma tarea como la que crea PF_Start.
Para la serie T, se pueden controlar hasta dos alimentadores al mismo tiempo. Si utiliza tres o más
alimentadores, se produce el “error 7731: Se superó el número máximo de alimentadores simultáneos para
el tipo de controlador”.
Operación de varias piezas:
Cuando desea ejecutar una operación de varias piezas, debe especificar las ID de varias piezas como
argumentos. Se pueden especificar hasta cuatro ID de piezas.
En este caso, la vibración del alimentador se realiza en la ID de la pieza (pieza activa) especificada por el
primer argumente de PF_Start. Puede usar el comando PF_ActivePart para cambiar la pieza activa.
En una operación de varias piezas solo se pueden especificar las piezas que pertenecen al mismo
alimentador. Si se especifica una pieza de un alimentador distinto y se ejecuta PF_Start, se produce un error
y se invoca la función de devolución de la llamada PF_Status con PF_STATUS_BAD_ID.
Un máximo de dos robots pueden compartir simultáneamente un solo alimentador. Si intenta ejecutar
PF_Start con un grupo de piezas (es decir, PF_Start 1, 2, 5) y las piezas están asignadas a más de 2 robots,
se producirá un error.
Otras notas:
Mientras el proceso de alimentación de piezas se está ejecutando en un alimentador, no se puede ejecutar
otro proceso de alimentación de piezas en el mismo alimentador.
Por ejemplo, si la pieza 1 pertenece al alimentador 1 y la pieza 2 pertenece al alimentador 1, ejecute
PF_Start 1 y luego PF_Start 2, se produce un error y se invoca la función de devolución de la llamada
PF_Status con PF_STATUS_FEEDERINUSE_ERROR. En este momento PF_Start 1 sigue el
procesamiento sin errores.
PF_Start se debe ejecutar desde una tarea normal. Si se ejecuta PF_Start desde la tarea en segundo plano, se
producirá un error.
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
Robot 1
Motor On
Power High
Speed 100
Accel 100, 100
LimZ -80.0
PF_InitLog 1, "C:\log.csv", Verdadero
PF_Start 1
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 161
PF_Stop
Emite una solicitud de finalización del proceso de alimentación de piezas.
Se esperará a que concluya la ejecución de las funciones de devolución de la llamada.
Una vez finalizada, se ejecutará la función de devolución de la llamada PF_CycleStop y se detendrá el
proceso.
Sintaxis
PF_Stop part ID
Parámetros
part ID Especifique la ID de la pieza (número entero entre 1 y 16).
Valores devueltos
Ninguno
Descripción
Detiene el proceso de alimentación de piezas para la pieza especificada.
A diferencia del comando PF_Abort, PF_Stop esperará a que concluya la ejecución de las funciones de
devolución de la llamada.
Una vez finalizadas las funciones de devolución de la llamada, se ejecutará la función de devolución de la
llamada PF_CycleStop.
Si no se ha iniciado el proceso de alimentación de piezas, no sucederá nada por usar esta función.
Cuando utilice PF_Stop en una operación de varias piezas, cualquiera de las ID de piezas que se
especifique con PF_Start puede detener el proceso de alimentación de piezas.
No se puede ejecutar PF_Start inmediatamente después de ejecutar PF_Stop. Si se ejecuta PF_Start antes
de que se haya completado la función de devolución de la llamada PF_CycleStop, se producirá un error
PF_STATUS_FEEDERINUSE_ERROR. Esto se debe a que está tratando de ejecutar una nueva pieza en el
alimentados antes que se haya completado la pieza actual.
Para corregir esta situación, agregue un código como el que se indica a continuación.
PF_Stop 1 ‘Para este ejemplo, la pieza 1 se está ejecutan en el alimentador 1, que utiliza la tarea
32
TaskWait 32 ‘Espere para que la pieza actual concluya
PF_Start 2 ‘Ahora puede iniciar con una nueva pieza
No se puede ejecutar desde un controlador virtual ni de una ventana de comandos.
Ejemplo
PF_Stop 1
Software
162 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
4. Funciones de devolución de la llamada para
alimentación de piezas
Las funciones de devolución de la llamada en SPEL+ son funciones invocadas en forma
automática desde el proceso de comandos PF_Start cuando se reúnen condiciones
determinadas previamente.
Cuando se registre la primera pieza como una nueva entrada, se agregarán al proyecto los
archivos de programa (PartFeeding.prg, PartFeeding.inc) que incluyan plantillas para cada
función de devolución de la llamada. Los usuarios describen los comandos necesarios en
SPEL de acuerdo con las especificaciones de la configuración del sistema del usuario que
está en uso.
Función Descripción/ Aplicación
PF_Robot Sintaxis para comportamiento del robot (recogida, colocación).
PF_Control Sintaxis para tolva, operaciones de iluminación del usuario.
PF_Status Sintaxis para procesamiento de errores.
PF_MobileCam Sintaxis para mover o replegar la cámara móvil hacia o desde la
posición de captura de imágenes.
PF_Vision Sintaxis para procesamiento especial de visión
(por ejemplo, determinación de piezas sobre la base de los resultados
de múltiples secuencias de Vision).
PF_CycleStop Sintaxis para procesamiento tras ejecutar PF_Stop.
4.1 Elementos comunes
El número de robot dentro de las funciones de devolución de la llamada corresponde al
número de robot especificado en 2.2.2 General.
Las funciones de devolución de la llamada se ejecutan como tareas normales mientras se
ejecuta el proceso de alimentación de piezas.
El número de tarea utilizado comienza en 32 y disminuye con cada alimentador adicional.
No elimine PartFeeding.prg y PartFeeding.inc. Además, no elimine ni comente las
funciones de devolución de la llamada que no estén en uso. Esto causaría un error de
compilación.
No invoque las funciones de devolución de la llamada desde el código del usuario
mientras se ejecuta el proceso de alimentación de piezas. Esto puede tener consecuencias
inesperadas. Las funciones de devolución de la llamada se pueden ejecutar de manera
individual para fines de realización de pruebas.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 163
PF_Robot
Describa el comportamiento del robot para recuperar piezas del alimentador y colocarlas en una ubicación
designada.
Asegúrese de que se escriba esta función.
Sintaxis
Function PF_Robot(part ID As Integer) As Integer
' Movimiento del robot
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
Valores devueltos
Para controlar el proceso de alimentación de piezas después de salir de la función PF_Robot, defina los
siguientes valores.
(Cada constante está definido en PartFeeding.inc)
PF_CALLBACK_SUCCESS
Normalmente, debe especificar este valor.
Cuando no existan datos en la cola de coordenadas de piezas (en el caso de la operación de varias
piezas, no existen datos de la pieza activa), el proceso PartFeeding continua.
Cuando aún existan datos en la cola (en el caso de la operación de varias piezas, existen algunos datos
de la pieza activa), se reinicia la función de devolución de la llamada PF_Robot sin cambiar los
contenidos de la cola de coordenadas de piezas.
PF_CALLBACK_RESTART
El proceso de alimentación de piezas continua y regenera la cola de coordenadas de piezas, sin importar
si quedan datos o no en la cola. Esto se puede usar cuando desea obtener la coordenada de la pieza con
cada recogida para recoger con gran precisión.
PF_CALLBACK_RESTART_ACTIVEPART
El proceso de alimentación de piezas continua y regenera la cola de coordenadas de piezas solamente
para la pieza activa, sin importar si quedan datos o no en la cola. Esto puede ser útil para acelerar el
proceso de visión, al omitir todo salvo las piezas activas.
Números de error definidos por el usuario (8000 - 8999)
Esto se define cuando desea invocar la función de devolución de la llamada PF_Status para manejar los
errores.
El valor definido se aprueba como un argumento para la función de devolución de la llamada PF_Status.
Software
164 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Descripción
Esta función debe contener las siguientes operaciones:
1. Conseguir las coordenadas de la pieza en la cola de coordenadas (mediante la función PF_QueGet).
2. Mover el robot a las coordenadas de la pieza en el alimentador
3. Tomar una pieza con la operación de una mano, etc.
4. Mover el robot a las coordenadas de colocación de la pieza.
5. Liberar una pieza con la operación de una mano, etc.
6. Eliminar una cola de coordenadas (mediante el comando PF_QueRemove)
Normalmente los pasos 1 -6 (mencionados anteriormente) se ejecutan en bucle hasta que todos los datos de
la cola de coordenadas se hayan eliminado.
Se agrega a la cola de coordenadas la lista de coordenadas de piezas detectadas en el proceso de visión más
reciente. Las coordenadas se definen en el sistema local de coordenadas. En el caso de la operación de
varias piezas, se genera una cola de coordenadas para cada ID de pieza.
El número de robot usado en la función de devolución de la llamada PF_Robot debe coincidir el número
del robot que se selección para la pieza. En el caso de varios robots, puede usar las instrucciones Robot
para cambiar el número de robot (consulte EPSON RC+ 7.0 Referencia del lenguaje SPEL+ Robot).
PRECAUCIÓN
Se recomienda conseguir una ID de pieza mediante los
parámetros.
Tenga cuidado de no cambiar al número de robot incorrecto en
una función de devolución de la llamada en el sistema de varios
robots.
Ejemplo de programa
El siguiente es un ejemplo de un programa simple escrito para usar un efector final de vacío para procesar
todas las piezas.
Se usa un sensor de vacío para monitorizar la succión cuando se recogen las piezas.
Se realizan tres intentos cuando no se puede aplicar succión. Si aún no se puede aplicar succión, se arroja
el código de error de usuario 8001 como valor devuelto.
'
' ** IO Label (Output) **
' O_VacOn Succión
' O_VacRelease Liberación
'
' ** IO Label (Input) **
' I_VacSensed Sensor de succión
'
' ** Point **
' PlacePos Posición de colocación de pieza
'
' ** User Error **
' Se agotó el tiempo de espera de succión 8001
'
Function PF_Robot(partID As Integer) As Integer
Byte retry
' Procese la cola de coordenadas completa o procese en bucle hasta que se emita una solicitud de
detención.
Do While PF_QueLen(partID) > 0 And PF_IsStopRequested(partID) = False
' Mueva el robot hacia la posición de recogida de piezas.
Jump PF_QueGet(partID)
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 165
' Vacío activado y verificación de succión (tres intentos)
On O_Adsorb
retry = 3
Do While retry > 0
Wait Sw(I_VacSensed) = On, 0.5
If TW = True Then
' Si se agota el tiempo de espera, detenga y vuelva a aplicar succión.
Off O_VacOn
Wait 0.1
On O_VacOn
EndIf
Loop
If TW = True Then
' 'Finalice con error pues aún no se puede aplicar succión tras los reintentos.
' 'Realice el procesamiento de errores según la función de devolución de la llamada Status.
PF_Robot = 8001
Exit Function
EndIf
' Mueva el robot hacia la posición de colocación de piezas.
Jump PlacePos
' Vacío desactivado y receso de succión
Off O_VacOn
On O_VacRelease
Wait 0.1
Off O_VacRelease
' Elimine una entrada de datos de la cola de coordenadas.
PF_QueRemove partID
Loop
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
166 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_Control
Se invoca PF_Control cuando se necesita activar o desactivar la tolva o la iluminación del usuario. La
función de devolución de la llamada se usa para controlar los siguientes dispositivos instalados en el
sistema:
- Tolva
- Iluminación del usuario
Cuando se use la iluminación del usuario, seleccione “Custom front light” (Luz delantera personalizada)
desde Menú [Tools] - [Part Feeding] - [Lighting] (Herramientas - Alimentación de piezas - Iluminación) en
EPSON RC+ 7.0.
Sintaxis
Function PF_Control(part ID As Integer, Control As Integer) As Integer
' (Operaciones de la tolva)
' (Operaciones de iluminación externa)
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
Control Aquí va el tipo de operación (número).
Operación Valor (definido en PartFeeding.inc)
Operación de la tolva
(cuando el alimentador no contiene piezas)
PF_CONTROL_SUPPLY_FIRST
Operación de la tolva
(cuando el alimentador contiene piezas y se pueden
agregar piezas)
PF_CONTROL_SUPPLY
Iluminación del usuario activada PF_CONTROL_LIGHT_ON
Iluminación del usuario desactivada PF_CONTROL_LIGHT_OFF
Valores devueltos
En circunstancias normales, establezca la constante PF_CALLBACK_SUCCESS (definida en
PartFeeding.inc).
Cuando se produzca un error, establezca un número de error definido por el usuario (entre 8000 y 8999).
Este valor regresa como un parámetro de la función de devolución de la llamada PF_Status.
Descripción
Use el texto del descriptor Seleccionar ... Enviar para describir los procesos por dispositivo.
Operación de la tolva (cuando el alimentador no contiene piezas)
No hay piezas en el alimentador. Mueva la tolva para suministrar piezas al alimentador. El movimiento del
robot se puede optimizar al configurar el número de piezas suministradas como el valor obtenido al calibrar
según el número óptimo de piezas (recuperado con el comando PF_Info).
Operación de la tolva (cuando el alimentador contiene piezas y se pueden agregar piezas)
Hay piezas en el alimentador y se pueden agregar más piezas. La adición de piezas en este momento
aumenta el número de piezas que se pueden detectar con el sistema de visión y mejora la eficiencia
operativa del robot. Como ejemplo, suponga que el número de piezas suministradas es igual al número de
piezas eliminadas por el robot.
Iluminación del usuario activada
Esto indica el tiempo para encender la iluminación del usuario para imágenes de visión. Opere la
iluminación del usuario para que se encienda.
Iluminación del usuario desactivada
Esto indica la temporización para apagar la iluminación del usuario cuando finalicen las imágenes de
visión. Opere la iluminación del usuario para que se apague.
Describa los siguientes procesos del código preparado por el usuario. Ejecútelos antes de PF_Start.
- Conéctese a la tolva y ajuste las configuraciones, etc.
- Conéctese a la iluminación externa y ajuste las configuraciones (brillo), etc.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 167
Ejemplo de programa
El siguiente ejemplo de programa muestra cómo controlar una tolva y la iluminación externa.
La tolva se conecta al terminal OUT 1 en IF-240 (número de alimentador = 1) y se controla con el comando
PF_OutputONOFF.
La tolva está configurada para suministrar 30 piezas por segundo mientras esté en funcionamiento.
En este ejemplo, suponga que “Number of part supplies” (Número de piezas suministradas) se define en 60.
Suponga que la iluminación externa se establece como E/S estándar.
' ** IO Label (Output) **
' O_FrontLight Iluminación externa
Function PF_Control(partID As Integer, Control As Integer) As Integer
Integer duration, numPart
numPart = PF_Info(partID, PF_INFO_ID_FEEDER_CALIB_CORRECT_MAXNUM)
Select Control
' Operación de la tolva. Cuando el alimentador no contiene piezas
Case PF_CONTROL_SUPPLY_FIRST
duration = numPart / 1000.0 * 30
PF_OutputOnOff 1, On, 1, duration
' Operación de la tolva. Cuando se agregan piezas al alimentador
Case PF_CONTROL_SUPPLY
duration = 2000
PF_OutputONOFF 1, On, 1, duration
' Iluminación del usuario activada
Case PF_CONTROL_LIGHT_ON
On O_FrontLight
' Iluminación del usuario desactivada
Case PF_CONTROL_LIGHT_OFF
Off O_FrontLight
Send
PF_Control = PF_CALLBACK_SUCCESS
Fend
Software
168 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_Status
Describa los procesos (principalmente procesos de error) sobre la base del valor devuelto de la función de
devolución de la llamada y el estado del sistema (piezas no suministradas, etc.).
Sintaxis
Function PF_Status(part ID As Integer, Status As Integer) As Integer
' (Procesamiento de errores)
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
status El estado va aquí. Es el valor devuelto de la función de devolución de la llamada o un valor
establecido por el sistema. (consulte Descripción)
Valores devueltos
Si no se especifica el valor devuelto, es equivalente al de PF_EXIT especificado, y se finaliza el proceso de
alimentación de piezas.
PF_CONTINUE
Continua el proceso de alimentación de piezas. Normalmente se debe especificar este valor.
PF_EXIT
Ponga fin al proceso de alimentación de piezas. Cuando se especifica este valor, se finaliza el proceso de
alimentación de piezas.
Si se especifica este valor, se debe devolver el dispositivo al estado inicial (es decir, devolver el robot a la
posición de reposo, devolver el robot al motor que está apagado, etc.).
PF_RESTART
Restablezca y reinicie el proceso de alimentación de piezas.
Descripción
Esta función se ejecuta después de otras funciones de devolucn de la llamada (excepto la función
PF_CycleStop y la función PF_Status).
El valor devuelto para la función de devolución de la llamada que se acaba de efectuar o para el error
producido en el proceso de alimentación de piezas se define en el parámetro Status. Describe los procesos
sobre la base de estos valores.
PF_CALLBACK_SUCCESS
Función de devolución de la llamada finalizada correctamente. Normalmente no hay nada que procesar.
PF_CALLBACK_RESTART_ACTIVEPART
Se termina correctamente la función de devolución de la llamada PF_Robot y el valor devuelto es
PF_CALLBACK_RESTART_ACTIVEPART. Normalmente no hay nada que procesar.
PF_STATUS_NOPART
Este estado indica que las piezas no son suministradas desde la tolva. Describa la operación de suministro
de piezas a la tolva. Normalmente no hay nada que procesar.
PF_STATUS_TOOMANYPART
Este estado indica que se están suministrando demasiadas piezas desde la tolva y que no se pueden recoger
las piezas. Describa la operación de eliminación de piezas de la tolva mediante una llamada de operador, etc.
Si este estado sucede con regularidad, revise las configuraciones de la tolva.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 169
PF_STATUS_BAD_ID
La ID de la pieza especificada al ejecutar el comando PF_Start no es válida. Asegúrese de haber
especificado correctamente la ID de la pieza registrada.
Intentó iniciar con varios alimentadores durante una operación de varias piezas. Revise la configuración
para cada pieza.
Esto pone fin de inmediato al proceso de alimentación de piezas.
PF_STATUS_BAD_PARAMETER
El parámetro de pieza especificada al ejecutar el comando PF_Start no es válido.
Esto pone fin de inmediato al proceso de alimentación de piezas.
PF_STATUS_CAL_NOT_COMPLETE
La pieza especificada al ejecutar el comando PF_Start no ha finalizado el proceso de calibración del
alimentador. Esto pone fin de inmediato al proceso de alimentación de piezas. Ejecute la calibración con la
información provista en 2.3.7. Calibración como referencia.
PF_STATUS_WRONGPART
Las piezas que quedaron en el alimentador no pudieron ser detectadas. Revise que la secuencia de visión de
pieza pueda detectar las piezas correctamente, o bien, revise los distintos tipos de pieza o de piezas dañadas.
PF_STATUS_PARTSEQ_ERROR
La secuencia o el objeto de visión para detectar el blob de pieza no es válido. Esto pone fin de inmediato al
proceso de alimentación de piezas. Verifique la secuencia y el objeto blob de pieza que se utiliza para la
pieza.
PF_STATUS_PARTSEQ_ERROR
La secuencia o el(los) objeto(s) de visión que se usan para detectar piezas no son válidos. Esto pone fin de
inmediato al proceso de alimentación de piezas. Verifique la secuencia y el(los) objeto(s) de pieza que se
utilizan para detectar la pieza.
PF_STATUS_ERROR
Se produjo un error (error de sistema) durante la ejecución del comando PF_Start. Esto pone fin de
inmediato al proceso de alimentación de piezas. Verifique que la secuencia de visión establecida en 2.3.3.
Visión funciona bien. Depure las funciones de devolución de la llamada en forma individual para verificar si
funcionan correctamente. El error 7730 “The maximum number of robots per feeder has been exceeded” (Se
superó el número máximo de robots por alimentador) también se puede producir cuando intenta compartir el
alimentador con más de 2 robots.
Los procesos de proceso de la operación se pueden especificar con el valor devuelto de la función de
devolución de la llamada Status.
PF_EXIT se establece cada vez que no se especifica un valor devuelto. Esto pondrá fin al proceso de
alimentación de piezas. Asegúrese de establecer un valor devuelto para evitar esta situación.
PF_STATUS_FEEDERINUSE_ERROR
El proceso de alimentación de piezas se inició varias veces para el mismo alimentador. El proceso de
alimentación se finalizó inmediatamente. El proceso de alimentación de piezas que ya está funcionando,
seguirá funcionando.
Vuelva a revisar el programa.
PF_STATUS_PARTNOTENABLED
La pieza está desactivada.
Asegúrese de que esté marcada la casilla Enabled en EPSON RC+ 7.0 - Menú - [Tools] - [Part Feeding] - [
General] (Herramientas - Alimentación de piezas - General).
PF_STATUS_PURGENOTENABLED
Se ha ejecutado la función PF_Purge, aunque se haya desactivado la purga.
Asegúrese de que esté marcada la casilla Enabled en EPSON RC+ 7.0 - Menú - [Tools] - [Part Feeding] -
[Purge].
Software
170 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Ejemplo de programa
El siguiente programa describe el procesamiento de errores.
El error de usuario citado en este ejemplo corresponde al error de tiempo de espera de succión agotado al
cual se hace referencia en el ejemplo de programa que se usa para la función de devolución de la llamada
Robot.
Si ocurre este error, se apagan los motores del robot.
' ** User Error **
' Se agotó el tiempo de espera de succión 8001
Function PF_Status(PartID As Integer, Status As Integer) As Integer
Seleccione Status (Estado)
Case PF_CALLBACK_SUCCESS
' Éxito (No haga nada en circunstancias normales)
Case PF_STATUS_NOPART
' Sin piezas en la tolva
MsgBox "Hopper empty."
Case PF_STATUS_TOOMANYPART
' Demasiadas piezas en el alimentador
MsgBox "Too many parts on Feeder."
Case PF_STATUS_BAD_ID
' ID de pieza especificada inexistente
MsgBox "Bad PartID."
Case PF_STATUS_BAD_PARAMETER
' Parámetro de pieza no válido
MsgBox "Bad parameter."
Case PF_STATUS_CAL_NOT_COMPLETE
' Calibración incompleta
MsgBox "Calibration incomplete."
Case PF_STATUS_ERROR
' Error
MsgBox "Error!! (código: " + Str$(Err) + " ) " + ErrMsg$(Err)
Case 8001
' Ejemplo: Se agotó el tiempo de espera de succión
MsgBox " Adsorption Error!!"
Motor Off
PF_Status = PF_EXIT
Exit Function
Send
PF_Status = PF_CONTINUE
Fend
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 171
PF_MobileCam
Cuando use una cámara móvil, describa el proceso que se usa para mover el robot hacia la posición de
captura de imágenes y para replegarlo tras captar las imágenes. Esta función se ejecutará siempre, al
margen de si hay o no hay una cámara móvil.
Sintaxis
Function PF_MobileCam(part ID As Integer, Action As Integer) As Integer
' (Mueva el robot hacia la posición de captura de imágenes).
' (Repliegue el robot).
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
Action Aquí va el tipo de movimiento.
Tipo de movimiento Constante (definida en PartFeeding.inc)
Mueva el robot hacia la posición de captura de
imágenes (y luego proceda con la captura de imágenes y
las o
p
eraciones del alimentador
)
.
PF_MOBILECAM_BEFORE
Repliegue el robot
(y luego ejecute la función de devolución de la llamada
PF
_
Robot
)
.
PF_MOBILECAM_AFTER
Valores devueltos
En circunstancias normales, establezca la constante PF_CALLBACK_SUCCESS (definida en
PartFeeding.inc).
Para finalizar esta función con el fin de ejecutar el procesamiento de errores, establezca un número de error
definido por el usuario (8000 - 8999). Este valor regresa como un parámetro de la función de devolución
de la llamada PF_Status.
Descripción
Esta función se ejecuta antes de la captura de imágenes y antes de invocar la función de devolución de la
llamada PF_Robot.
Tras describir esta función, compruebe si el robot puede avanzar hasta los puntos de destino asignados en
forma segura.
Ejemplo de programa
El siguiente ejemplo describe un programa que se usa para mover una cámara móvil hacia la posición de
captura de imágenes y replegarla.
Las posiciones se definen como datos de puntos y se etiquetan como VisionPos para la posición de captura
de imágenes y como HomePos para la posición de repliegue.
' ** Point **
' VisionPos Posición de captura de imágenes de la cámara móvil
' HomePos Posición de repliegue de la cámara móvil
'
Function PF_MobileCam(partID As Integer, Action As Integer) As Integer
Seleccione Action (Acción)
Case PF_MOBILECAM_BEFORE ' Mueva el robot hacia la posición de captura de imágenes
Jump VisionPos
Case PF_MOBILECAM_AFTER ' Repliegue el robot
Jump HomePos
Send
MobileCam = PF_CALLBACK_SUCCESS
Fend
Software
172 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_Vision
Se usa cuando el usuario desea programar procesos de captura de imágenes (control de luz, uso del sistema
de visión, procesamiento del programa SPEL). También se utiliza cuando es difícil detectar piezas y
determinar la orientación (orientación lateral, etc.) solo con el sistema de visión. Para usar esta función,
seleccione “User processes vision for part via PF_Vision callback” desde Menú [Tools] - [Part Feeding] -
[Vision] en EPSON RC+ 7.0.
Sintaxis
Function PF_Vision(part ID As Integer, ByRef NumBack As Integer) As Integer
' (Procesamiento de visión)
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
numBack Asigna el número de piezas que no se pueden recoger (hacia abajo, etc.). (Se especifica BrRef.)
El proceso de alimentación de piezas utiliza este valor para determinar si se requiere volteo.
Ingrese “0” si la pieza no tiene los lados definidos.
Valores devueltos
Para continuar el procesamiento, establezca el valor devuelto en PF_CALLBACK_SUCCESS.
Para efectuar el procesamiento de errores, establezca el valor devuelto en un número de error definido por
el usuario (8000 - 8999). Este valor regresa como un parámetro de la función de devolución de la llamada
PF_Status.
Descripción
Esta función se usa cuando se usan combinaciones de múltiples secuencias de visión y controles de
iluminación externos para detectar las coordenadas de las piezas. Los siguientes procesos los debe describir
el usuario.
- Controles de iluminación del usuario
- Procesamiento de visión (mediante la ejecución de la instruccn VGet)
- Gestión de la cola de coordenadas de piezas (inicialización y registro de datos de puntos)
Ejemplo de programa
El siguiente ejemplo describe un programa que detecta piezas mediante dos secuencias de visión: VSeq1
(incluido un objeto Geom) y VSeq2 (incluido un objeto Geom).
VSeq1 se usa con la iluminación del usuario 1. Puede detectar la posición de las piezas, pero no puede
determinar su orientación. VSeq2 se utiliza con la iluminación del usuario 2 y solo puede detectar las piezas
que están hacia arriba.
Las coordenadas de las piezas detectadas (número local 1 en este ejemplo) se agregan a la cola de
coordenadas con el comando PF_QueAdd. Al hacerlo, se asigna el valor obtenido en 2.3.6 Ventana Teach
como coordenada Z.
Además, para activar el volteo, primero active el volteo en 2.3.1 General, especifique VSeq2 para “Part
Vision Sequence” (“Secuencia de piezas de visión”) en 2.3.3. Visión, encienda la iluminación del usuario 2
y, luego, realice la calibración de volteo, según lo descrito en 2.3.7 Calibración.
' ** IO Label (Output) **
' O_FrontLight1 Iluminación del usuario 1
' O_FrontLight2 Iluminación del usuario 2
Function PF_Vision(partID As Integer, ByRef NumBack As Integer) As
Integer
Boolean found
Integer i, numFound
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 173
Real PX_X, PX_Y, PX_U
Real RB_X, RB_Y, RB_U, RB_Z
' Coordenada de recogida Z
RB_Z = -80,0
' Inicialice la cola de coordenadas de piezas
PF_QueRemove partID, All
' Encienda la iluminación de usuario 1
On O_FrontLight1
' Detecte la pieza (ejecución de UsrVisionSeq1).
VRun VSeq1
VGet VSeq1.Geom01.NumberFound, numFound
' Apague la iluminación de usuario 1
Off O_FrontLight1
' Encienda la iluminación de usuario 2
On O_FrontLight2
NumBack = 0
For i = 1 To numFound
' Recupere las coordenadas de pixeles XY para la pieza detectada con VSeq1.Geom01.
' Establezca la ventana de búsqueda VSeq2.Geom01 para que abarque esta pieza
' Tamaño de pieza = 100 x 100 pxl
VGet VSeq1.Geom01.PixelXYU(i), found, PX_X, PX_Y, PX_U
VSet VSeq2.Geom01.SearchWinLeft, (PX_X - 50)
VSet VSeq2.Geom01.SearchWinTop, (PX_Y - 50)
' Run VSeq2
VRun VSeq2
VGet VSeq2.Geom01.Found, found
If found = True Then
'
Si es encontrada, regístrela en la cola de coordenadas pues la pieza está hacia arriba
' El número local es 1
VGet VSeq1.Geom01.RobotXYU(i), found, RB_X, RB_Y, RB_U
PF_QueAdd partID, XY(RB_X, RB_Y, RB_Z, RB_U) /1
Else
' Si no es encontrada, la pieza está hacia abajo
NumBack = NumBack + 1
EndIf
Next
' Apague la iluminación externa 2
Off O_FrontLight2
PF_Vision = PF_CALLBACK_SUCCESS
Fend
Software
174 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PF_CycleStop
Describe los procesos tras ejecutar la función PF_Stop
Sintaxis
Function PF_CycleStop(part ID As Integer)
' (Procesos en detención)
Fend
Parámetros
part ID Aquí va la ID de la pieza (número entero entre 1 y 16).
Durante la operación de varias piezas, la pieza activa va aquí.
Valores devueltos
Ninguno
Descripción
Esta función se ejecuta luego de que cesa la ejecución de la función de devolución de la llamada en curso
una vez ejecutada PF_Stop. Aquí se describen los procesos del sistema. Entre los procesos que se describen
se cuentan regresar el robot a su posición inicial y apagar los motores del robot.
Ejemplo de programa
El siguiente programa ejecuta los procesos para regresar el robot a su posición inicial y apagar los motores
cuando se emite el comando PF_Stop.
Function PF_CycleStop(partID As Integer)
Home
Motor Off
Fend
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 175
5. Archivo de registro de alimentación de piezas
5.1 Resumen
El archivo de registro de alimentación de piezas es un archivo de registro que guarda las
siguientes acciones efectuadas como parte del proceso de operaciones, el tiempo de
operación y los resultados.
- Procesamiento de visión
- Control del alimentador
- Operación de la función de devolución de la llamada (Robot, Status)
El archivo de registro de alimentación de piezas se puede usar para lo siguiente.
- Comprobar el tiempo del ciclo de la recogida de piezas.
- Verificar la cantidad de piezas que se pueden recoger en cada intento para ajustar la
cantidad de alimentación de la tolva.
- Verificar y realizar mejoras en acciones que tardan una cantidad indebida de tiempo
sobre la base de los tiempos de procesamiento de la operación.
Considere que el controlador debe estar conectado a la PC para utilizar esta función.
5.2 Activación de la función de registro
Conecte el controlador a la PC.
Programe a PF_InitLog para que se ejecute antes de PF_Start.
Para conocer más detalles, consulte 3. Referencia sobre comandos SPEL+ para la
alimentación de piezas PF_IniLog.
5.3 Formato del archivo de registro
5.3.1 Elementos comunes
Los archivos de registro están en formato CSV. Los nombres de archivo se especifican
como un parámetro PF_InitLog.
Los siguientes datos se registran en orden cronológico en un archivo de registro único.
Las columnas 1 a la 3 se aplican a todos los tipos de datos. La columna 4 y las columnas
posteriores cambian según el tipo de datos en uso.
Columna Nombre de la
columna
Formato Detalles
1
DateTime Sucesión
de
caracteres
Acción de tiempo iniciada (aaaa/mm/dd
hh:MM:ss)
2
Tick Valor
real
Tiempo transcurrido desde el comienzo de
la ejecución de PF_Start [segundos] (s.sss)
3
Time Valor
real
Tiempo de procesamiento [segundos]
(s.sss)
4 y más
Varía según el tipo de datos (Tipo).
Se describe con más detalles desde 6.3.2 en adelante.
Software
176 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
El siguiente diagrama muestra la relación entre la lectura de DateTime y la lectura de Tick,
Time.
5.3.2 Registro de la secuencia de visión
Este registro guarda el tiempo que requiere el proceso de alimentación de piezas para
procesar la secuencia de visión especificada en la secuencia de visión de piezas descrita en
2.3.3. Visión, la cantidad de piezas detectadas hacia arriba y la cantidad de piezas hacia
abajo.
Column
a
Nombre de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de registro (“UserVision”)
5 ID mero entero ID de la
p
iez
a
6 NumFront Número entero Número de
p
iezas hacia arrib
a
7 NumBack Número entero Número de
p
iezas hacia aba
j
o
5.3.3 Registro de la secuencia de visión en el sistema
Este registro guarda el tiempo que requiere el proceso de alimentación de piezas para
procesar la secuencia de visión generada internamente para detectar la distribución de
piezas, etc.
Columna Nombre de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de registro (“SystemVision”)
5 ID Número entero ID de la pieza
5.3.4 Registro del alimentador
Este registro guarda los tipos de acciones de alimentador realizadas.
Columna Nombre de
la columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de operación:
Separation Separación
Centering Centrado
Shift Desplazamiento
BackShift Desplazamiento hacia
atrás
Fli
p
Volteo
5 ID Número
entero
ID de la piez
a
Tiempo
Iniciar PF_Start
Iniciar acción
registrada
Terminar acción
registrada
Time
Tick
DateTime
Tick
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
177
5.3.5 Registro de la función de devolución de la llamada PF_Robot
Este registro guarda el número de piezas procesadas con la función de devolución de la
llamada PF_Robot.
Column
a
Nombre de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de operación (“Robot”)
5 ID Número entero ID de la pieza
6 Num Número entero mero de piezas procesadas
(Solo piezas activas)
(Número de entradas registradas en la
cola de coordenadas antes de invocar
- Número de entradas registradas en
la cola de coordenadas después de
invocar)
5.3.6 Registro de la función de devolución de la llamada
PF_MobileCam
Este registro guarda el tipo de acción de la función de devolución de la llamada
PF_MobileCam.
Columna Nombre de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de operación (“MobileCam”)
5 ID Número entero ID de la pieza
6 Acción mero entero Mueva el robot a la
posición de captura de imagen
2001
Repliegue el robot 2002
5.3.7 Registro de la función de devolución de la llamada PF_Control
Este registro guarda el tipo de acción de la función de devolución de la llamada
PF_Control.
Columna Nombre
de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de operación (“Control”)
5 ID Número entero ID de la pieza
6 Acción Número entero Operación de tolva (sin piezas) 2100
Operación de tolva (agregar piezas)
2101
Iluminación del usuario activada 2102
Iluminación del usuario desactivada
2103
Cuando se use la iluminación del usuario, el tiempo de procesamiento de devolución de la
llamada de control (luz encendida, apagada) se incluirá en el tiempo de procesamiento
descrito en 5.3.2. Registro de secuencia de visión.
NOTA
Software
178 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Time
Operación de función de de
devolución de llamada PF_Control
Encender luz exterior
Procesamiento de secuencia de visión
Operación de función de
devolución de llamada PF_Control
Encender luz exterior
Tiempo de
control (2103)
Tiempo de
control (2102)
Tiempo de
UserVision
5.3.8 Registro de la función de devolución de la llamada PF_Status
Este registro guarda el tipo de estado de la función de devolución de la llamada PF_Status.
Columna
Nombre
de la
columna
Formato Detalles
4 Type Sucesión de
caracteres
Tipo de operación (“Status”)
5 ID Número entero ID de la pieza
6 Status Número entero Ocurrió un error de estado o usuario
Normal 0
Piezas no suministradas 2200
Exceso de piezas 2201
ID no válida 2202
Parámetro no válido 2203
Calibración incompleta 2204
Error de sistema 2205
No se puede detectar la pieza 2206
Error en la secuencia de blob de pieza
2207
Error en la secuencia de visión de piezas
2208
Alimentador en uso 2209
Pieza desactivada 2210
Purga desactivada 2211
Error de usuario 8000 -
8999
5.3.9 Registro de la función de devolución de la llamada PF_Vision
Este registro guarda el número de piezas detectadas con la función de devolución de la
llamada PF_Vision que están hacia arriba o hacia abajo.
Columna Nombre de la
columna
Formato Detalles
4
Type Sucesión de
caracteres
Tipo de operación (“VisionCallback”)
5 ID
N
úmero entero ID de la pieza
6
N
umFron
t
N
úmero entero
N
úmero de piezas detectadas hacia
arriba
7
N
umBac
k
N
úmero entero
N
úmero de piezas detectadas hacia
aba
j
o
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 179
5.4. Muestra de registro
A continuación, una muestra de un registro de alimentación de piezas.
DateTime,Tick,Time,Type,ID,Data1,Data2,Data3
2018/04/07 11:13:44,0.199,0.010,MobileCam,1,2001
2018/04/07 11:13:44,0.220,0.000,Status,1,0
2018/04/07 11:13:44,0.531,0.257,SystemVision,1
2018/04/07 11:13:44,0.798,0.512,UserVision,1,0,0
2018/04/07 11:13:45,1.483,10.232,Control,1,2100
2018/04/07 11:13:55,11.725,-0.000,Status,1,0
2018/04/07 11:13:55,11.736,3.740,Separation,1
2018/04/07 11:13:59,15.486,0.011,MobileCam,1,2001
2018/04/07 11:13:59,15.508,-0.000,Status,1,0
2018/04/07 11:13:59,15.819,0.259,SystemVision,1
2018/04/07 11:14:00,16.088,4.236,UserVision,1,1,24,57
2018/04/07 11:14:04,20.545,13.274,Control,1,2101
2018/04/07 11:14:17,33.829,0.000,Status,1,0
2018/04/07 11:14:17,33.840,0.011,MobileCam,1,2002
2018/04/07 11:14:17,33.862,0.000,Status,1,0
2018/04/07 11:14:17,33.873,22.792,Robot,1,24
2018/04/07 11:14:40,56.675,0.000,Status,1,0
2018/04/07 11:14:40,56.686,0.011,MobileCam,1,2001
2018/04/07 11:14:40,56.708,-0.000,Status,1,0
2018/04/07 11:14:40,57.019,0.257,SystemVision,1
2018/04/07 11:14:41,57.495,1.687,Shift,1
2018/04/07 11:14:43,59.192,0.010,MobileCam,1,2001
2018/04/07 11:14:43,59.214,-0.000,Status,1,0
2018/04/07 11:14:43,59.524,0.259,SystemVision
2018/04/07 11:14:43,59.793,4.208,UserVision,1,1,25,61
2018/04/07 11:14:48,64.213,1.600,Control,1,2101
2018/04/07 11:14:49,65.823,0.000,Status,1,0
2018/04/07 11:14:49,65.834,0.011,MobileCam,1,2002
2018/04/07 11:14:49,65.856,-0.000,Status,1,0
2018/04/07 11:14:49,65.867,24.044,Robot,1,25
2018/04/07 11:15:13,89.921,0.000,Status,1,0
Software
180
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6. Secuencias de visión que se usan con la opción de
alimentación de piezas
Se deben crear las siguientes dos secuencias de visión para utilizar la alimentación de
piezas.
- Secuencia de visión para calibrar el alimentador
- Secuencia de visión para detectar piezas
La calibración de visión también es necesaria para detectar las coordenadas de las piezas
en la plataforma.
Para obtener más detalles sobre Vision Guide, las secuencias y los objetos de visión,
consulte el manual Software Vision Guide.
Los detalles de las propiedades de visión se explican en el manual Referencia sobre
propiedades y resultados de Vision Guide.
6.1 Calibración de visión
Efectúe la calibración de visión para la superficie de la plataforma de alimentación.
Para obtener más información sobre cómo realizar la calibración de visión, consulte los
siguientes materiales de referencia.
Vision Guide 7.0 (Ver. 7.4) Software 7. Calibración de visión
La siguiente tabla presenta las propiedades importantes para la calibración de visión.
Propiedad Método de configuración
Cámara Establezca el número de la cámara.
CameraOrientation Establezca el método de fijación de la cámara.
Cámara descendente fija - Fijada hacia abajo
Cámara móvil - Mobile J4 o Mobile J6
RobotLocal Especifique el número local del robot.
RobotNumber Especifique el número del robot.
Correlacione este número con el número de robot establecido en
2.2.2 General.
RobotTool Especifique el número de la herramienta de robot.
6.2 Secuencia de visión para calibrar el alimentador
Cree una secuencia de visión para calibrar el alimentador.
Sequence
Cree una secuencia de visión por separado para calibrar el alimentador en la secuencia de
visión para detectar piezas.
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 181
6.2.1 Secuencia de visión
Configure las siguientes propiedades. Asegúrese de configurar o verificar lo siguiente.
Deje todas las demás propiedades como valores predeterminados.
Propiedad Método de configuración
Calibración Configure la calibración de visión creada en 6.1. Calibración de
visión.
Se debe concluir la calibración de visión (el resultado de
CalComplete debe ser verdadero).
Cámara Establezca el número de cámara de la cámara que se usa para
capturar las imágenes del alimentador.
Tiempo de
exposición
Ajústelo mientras está encendida la luz de fondo del alimentador
para que las piezas puedan ser captadas adecuadamente. Además,
asegúrese de que el área circundante a la plataforma no aparezca
oscurecida.
Se deben ajustar los valores de las partes que transmiten luz con
facilidad.
6.2.2 Objetos de visión
Configure las siguientes propiedades. Asegúrese de configurar o verificar lo siguiente.
Deje todas las demás propiedades como valores predeterminados.
Propiedad Método de configuración
MaxArea Déjelo como valor predeterminado (con ancho altura de la
cámara).
MinArea Establezca en alrededor de 0,9 veces el área de las piezas.
Use el siguiente procedimiento para confirmar el tamaño del área
de las piezas.
1. Encienda la luz de fondo del alimentador.
2. Coloque varias piezas sobre la plataforma de modo que no
queden superpuestas.
3. Ejecute la secuencia de visión.
4. El área de las piezas corresponde al área promedio de
resultados de objetos Blob.
NumberToFind Establezca para “Todos”.
SearchWindow Establezca con la máxima proximidad posible a la circunferencia
interna de la plataforma. Además, asegúrese de que las áreas
oscurecidas que rodean la plataforma no queden dentro de la
ventana de búsqueda.
ThresholdColor Establézcalo en negro.
ThresholdHigh Establezca de modo tal que las piezas puedan ser detectadas y que
no se detecten las zonas oscurecidas de la periferia de la plataforma.
Se deben ajustar los valores de las partes que transmiten luz con
facilidad.
ThresholdLow Defina en “0”.
Software
182
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.3 Secuencia de visión para detectar las piezas
Una secuencia de visión para detectar piezas sirve para detectar piezas y recuperar las
coordenadas de piezas. Cree una secuencia de visión según lo descrito a continuación.
Cree una secuencia de visión por separado para detectar piezas en la secuencia de visión
para calibrar el alimentador.
6.3.1 Piezas simples
El siguiente es un ejemplo de una secuencia de visión creada para detectar piezas que
simplemente necesitan ser tomadas sin considerar la orientación (orientación de la pieza) y
el grado de rotación.
Secuencia de visión
Configure las siguientes propiedades. Asegúrese de configurar o verificar lo siguiente.
Configure las demás propiedades según se requiera.
Propiedad Método de configuración
Calibración Configure la calibración de visión para la cámara que se usa para
capturar las imágenes del alimentador.
Especifique la misma calibración que se especifica en la secuencia de
calibración de visión.
Se debe concluir la calibración de visión.
Cámara Establezca el número de cámara de la cámara que se usa para
capturar las imágenes del alimentador.
Especifique la misma cámara que se especifica en la secuencia de
calibración de visión.
Tiempo de
exposición
Ajústelo mientras está encendida la luz de fondo del alimentador para
que las piezas puedan ser captadas con claridad. Además, asegúrese
de que el área circundante al alimentador no aparezca oscurecida.
Objetos de visión
Registre uno de los siguientes objetos para los cuales se pueden recuperar las coordenadas
del robot.
- ArcFinder
- ArcInspector
- Blob
- BoxFinder
- ColorMatch
- CornerFinder
- Correlation
- DefectFinder
- Edge
- Geometric
- LineInspector
- Point
- Polar
NOTA
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
183
Configure las siguientes propiedades para el objeto. Asegúrese de configurar o verificar lo
siguiente. Configure las demás propiedades según se requiera para el tipo de objeto.
Propiedad Método de configuración
NumberToFind Establezca para Todos.
SearchWindow Correlacione con la circunferencia interna de la plataforma. Además,
asegúrese de que las áreas oscurecidas que rodean la plataforma no
queden dentro de la ventana de búsqueda.
Se puede usar con otros objetos.
Ejemplo: Uso del objeto ImageOp para el procesamiento de binarizaciones
Sequence
CONS
EJO
Software
184 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.3.2 Piezas con lados
Ajuste las configuraciones del siguiente modo para recuperar un lado de las piezas con
múltiples lados.
Secuencia de visión
Cree una secuencia de visión del mismo modo que en 6.3.1. Piezas simples 6.3.1 Piezas
simples.
Objetos de visión
1. Registre un objeto que detecte la parte delantera de las piezas (por ejemplo:
Geometric).
2. Registre un objeto que detecte la parte posterior de las piezas (por ejemplo:
Geometric).
Ej.: Cree dos objetos geométricos para determinar hacia qué lado apunta una pieza.
(Geom01 para detectar la parte delantera de las piezas, Geom02 para detectar la
parte posterior de las piezas)
Sequence
A continuación, un ejemplo de configuración de la propiedad Geometric.
Propiedad Método de configuración
Aceptar Establezca de modo de asegurarse de que las piezas sean detectadas.
NumberToFind Establezca para Todos.
SearchWindow Correlacione con la circunferencia interna de la plataforma.
ModelWindow Enseñe las piezas de alrededor del contorno.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
185
La configuración de la propiedad de tiempo de espera puede ser importante para los
objetos de visión Geometric y Correlation. La propiedad de tiempo de espera se debe
definir un poco más alto del tiempo normal necesario para ejecutar la secuencia, de lo
contrario algunas veces tomará 2000 ms (tiempo de espera predeterminado).
Ejemplo:
Geometric con NumberToFind = 9
Muchas piezas en la imagen
VRun
El tiempo para encontrar es 75 ms para este ejemplo.
Defina NumberToFind en= Todos
VRun
El tiempo es aproximadamente 2000 ms (el valor de tiempo de espera)
Defina el tiempo de espera en 100 ms
VRun
El tiempo es aproximadamente 100 ms (el valor de tiempo de espera)
Entonces, si no se define el tiempo de espera correctamente, la aplicación puede tomar
hasta 2000 ms (predeterminado) cuando se ejecute Geometric o Correlation. Para las
aplicaciones críticas de tiempo, es importante definir correctamente el tiempo de espera.
CONSEJO
Software
186 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
6.3.3 Piezas que requieren separación con respecto al gripper
Algunas piezas detectadas mediante coincidencias de patrones (geométrico, correlación) se
pueden superponer en forma parcial, lo cual dificulta que el robot recoja las piezas.
Configure las siguientes configuraciones para excluir dichas piezas con la función de
verificación de separación de Vision Guide.
Secuencia de visión
Cree una secuencia de visión del mismo modo que en 6.3.1. Piezas simples.
Objetos de visión
1. Agregue dos objetos para detectar piezas. (Ej.: Geometric)
Ejemplo: Cree GeomF para la detección delantera y GeomB para la detección
posterior.
2. Agregue uno o más objetos para verificar la separación del objeto que detecta la
pieza.
Ejemplo: Cree los objetos Blob con la función CheckClearanceFor establecida en el
objeto Geometric para determinar las partes superpuestas.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
187
Ejemplo de configuraciones de la propiedad Geometric
Propiedad Ejemplo de configuraciones
Aceptar Establezca de modo de asegurarse de que las piezas sean
detectadas.
NumberToFind Establezca para Todos.
SearchWindow Correlacione con la circunferencia interna de la plataforma.
ModelWindow Enseñe las piezas de alrededor del contorno.
Nombre GeomB : Nombre del objeto que detecta la parte posterior
GeomF : Nombre del objeto que detecta la parte delantera
Ejemplo de configuraciones de la propiedad Blob
Propiedad Ejemplo de configuraciones
CheckClearanceFor GeomF
ClearanceCondition NotFound
FailColor LightGreen
Nombre BlobRF : Detecte el espacio para el dedo derecho
BlobLF : Detecte el espacio para el dedo
izquierdo
PassColor Rojo
Tipo SearchWin RotatedRectangle
ThresholdHigh 192
En este ejemplo solo se verifica la separación en la parte delantera.
BlobRF BlobLF
(1) Colocación de una pieza en el centro del alimentador
(2) Ejecute la secuencia de visión
CONSEJO
Software
188 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
(3) Gire las piezas 90. Ejecute otra vez la secuencia de visión.
Verifique para girar SearchWindow BlobRF y BlobLF de acuerdo con la rotación de las
piezas. Resultado de detección cuando hay un espacio para el dedo del efector final.
Resultado de detección cuando no hay espacio para el dedo del efector final.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 189
6.3.4 Configuraciones especiales de visión
Cuando se usan dos o más secuencias de visión o múltiples fuentes de iluminación para
detectar las piezas, se puede activar la función de devolución de la llamada de visión para
describir todos los controles de iluminación y los procesos de detección de piezas.
Consulte 4. Funciones de devolución de la llamada para alimentación de piezas
PF_Vision para conocer más detalles.
6.3.5 Ejemplo de ausencia de recogida al establecer contacto con las
siguientes piezas
Esta sección es un ejemplo de no alcanzar el objeto de recogida que detecta el contacto y
un espacio con las piezas siguientes pequeñas.
Se realiza la secuencia de visión, así como 6.3.3. Piezas que requieren separación con
respecto al gripper.
BlobR: Detectar contacto en el lado
derecho de la pieza
BlobT: Detectar contacto en la
pieza superior
BlobB: Detectar
contacto en la inferior
BlobL: Detectar contacto en el lado
izquierda de la pieza
Software
190 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Sin contacto con las piezas siguientes
Con contacto con las piezas siguientes
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 191
7. Cómo ajustar la tolva
A continuación, se presenta un ejemplo de cómo ajustar la tolva.
7.1 Cómo ajustar
Este es un ejemplo del ajuste de una tolva para el IF-240, el 380 y el 530.
Se da por sentado que se ha realizado la instalación y la conexn de la tolva y del
alimentador, y que se concluyó la calibración del alimentador.
1. Abra el diálogo [Test Hopper] (Probar tolva) (consulte 2.3.4 Suministro de
piezas).
Número de tolva Seleccione el terminal OUT (Salida) 1 o 2.
Duración Escriba la duración de 10000 (10 s) (como referencia).
2. Inserte las piezas en la tolva.
La cantidad aproximada que se colocará: 5 a 10 veces la [Cantidad óptima de
piezas que se cargarán]
La cantidad óptima de piezas aparece en el diálogo [Test Hopper].
3. Haga clic en el botón <Hopper On> (Tolva activada).
Ajuste el volumen del controlador de la tolva para hacer que la pieza se mueva
sin problemas.
Cuando el alimentador se detiene durante el ajuste, vuelva a hacer clic en el
botón <Hopper On>.
4. Ajuste la cantidad o la condición de las piezas en la tolva, de modo que la
cantidad de alimentación de las piezas sea constante.
En algunos casos, es una buena idea instalar una pieza de separación en la salida
de la tolva.
5. Repita los pasos 2 a 4 para ajustar.
6. Modifique el programa.
Consulte el siguiente ejemplo de comando en 3. Referencia sobre comandos
SPEL+ para la alimentación de piezas.
PF_OutputOnOff
PF_QtyAdjHopperTime
Software
192 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
7.2 Cómo ajustar la tolva IF-80
El IF-80 cuenta con una tolva integrada. A continuación, se presenta un ejemplo de cómo
ajustar esta tolva.
Se da por sentado que se ha realizado la instalación y la conexn de la tolva y del
alimentador, y que se concluyó la calibración del alimentador.
1. Abra el diálogo [Test Hopper] (consulte 2.3.4 Suministro de piezas).
Duración Escriba la duración de 10000 (10 segundos) (como referencia)
2. Inserte las piezas en la tolva.
La cantidad aproximada que se colocará: 5 a 10 veces la [Cantidad óptima de
piezas que se cargarán]
La cantidad óptima de piezas aparece en el diálogo “Test Hopper”.
3. Haga clic en el botón <Hopper On> (Tolva activada).
Si la pieza no se mueve sin problemas, abra la página [Calibration] y ajuste los
parámetros de [Hopper].
Parámetro Ejemplo de configuración
Amplitud Defina el valor en el que la pieza se mueve sin
problemas.
Time No hay necesidad de cambiarlo (defina en el paso 7)
Frecuencia Normalmente, no hay necesidad de cambiarla.
Ajuste cuando las piezas no se muevan al ajustar la
amplitud.
4. Ajuste la cantidad o la condición de las piezas en la tolva, de modo que la
cantidad de alimentación de las piezas sea constante.
En algunos casos, es una buena idea instalar una pieza de separación en la salida
de la tolva.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 193
5. Repita los pasos 2 a 4 para ajustar.
6. Retire las piezas del alimentador.
Defina la cantidad de alimentación de las piezas en la tolva en el nivel definido
en el paso 4.
Presione el botón “Hopper On”.
Cuando se detiene la tolva, cuente cuántas piezas se han introducido al
alimentador.
Realice esta operación varias veces para obtener el valor promedio.
7. Calcule el tiempo de inyección.
Tiempo [ms] = [cantidad óptima de piezas] / [cantidad de piezas inyectadas] *
[tiempo de duración ingresada en el paso 1]
Escriba este valor en el parámetro del paso 3.
8. Modifique el programa.
Consulte el siguiente ejemplo de comando en 3. Referencia sobre comandos
SPEL+ para la alimentación de piezas.
PF_OutputOnOff
PF_QtyAdjHopperTime
Software
194 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
8 Errores que ocurren mientras se usa EPSON RC+
Mensaje Causa/ solución
No hay cámaras en el sistema.
Se pueden agregar cámaras desde [Setup] –
[System Configuration] – [Vision].
No se ha registrado una cámara en el sistema.
Registre la cámara.
La alimentación de piezas no es compatible
con controladores virtuales.
La opción de alimentación de piezas no es compatible con
controladores virtuales.
Conéctese al controlador.
La opción de alimentación de piezas no está
instalada o no está activada. Verifique
[Setup] – [Options] (Configuración -
Opciones).
No se ha activado la opción de alimentación de piezas. Esta
opción tiene un costo por separado.
Compre un código de clave de opción en alguno de nuestros
distribuidores y efectúe el proceso de configuración.
No hay alimentadores de piezas activados
en la Configuración del sistema.
No se ha registrado un alimentador en el sistema.
Como alternativa, el alimentador no está activado.
Registre o active el alimentador.
No se ha especificado la secuencia de
visión de calibración.
No se ha especificado la secuencia de visión de calibración.
Especifique la secuencia de calibración de visión en la página
de Vision del diálogo de alimentación de piezas.
No se pueden agregar más piezas.
Se pueden registrar hasta 16 tipos de piezas en un mismo
proyecto. Elimine las piezas que no estén en uso o sobrescriba
los parámetros de las piezas que no estén en uso para seguir
usándolas.
Calibración de visión no válida para la
secuencia de calibración de visión. Se debe
especificar la calibración de la cámara de
un robot para la secuencia.
No se ha configurado la calibración de visión para la secuencia
de visión para la detección de piezas o la secuencia de visión
para la calibración del alimentador. Configure una calibración
válida de visión para la propiedad de calibración en cada
secuencia de visión.
Error de calibración: Demasiadas piezas.
El número de piezas que se va a alimentar es demasiado grande
durante la calibración del alimentador.
Ingrese el número correcto de piezas que aparecen en pantalla.
Como alternativa, revise las configuraciones de visión para
introducir cambios.
Error de calibración: No hay suficientes
piezas.
El número de piezas que se va a alimentar es demasiado
pequeño durante la calibración del alimentador.
Ingrese el número correcto de piezas que aparecen en pantalla.
Como alternativa, revise las configuraciones de visión para
introducir cambios.
No se pudo abrir como cliente para el
puerto Ethernet.
Conexión del alimentador desconectada Verifique que sea
normal el funcionamiento de la conexión Ethernet entre el
alimentador y el controlador (cables desconectados, error en el
concentrador o falta de una fuente de alimentación para el
concentrador, etc.). Compruebe la fuente de alimentación del
alimentador.
Se especificó una función no definida.
Cierre la ventana de alimentación de piezas e intente volver a
compilar el proyecto.
Software
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 195
9. Ejemplos de programación de la aplicación
Este capítulo contiene ejemplos de programación de la aplicación para diversas
situaciones.
9.1 Un robot por alimentador y una pieza por alimentador
9.1.1 Ejemplo de programa 1.1
Tipo de ejemplo:
Uso de devolución de la llamada PF_Robot para movimiento
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas en los alimentadores: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cámara descendente fija sobre el alimentador n.º 1
Descripción
Las piezas se retiran desde el alimentador y se colocan en una caja. Cuando se han retirado todas las piezas,
la devolución de llamada de control solicitará más piezas. Cuando el operador o la tolva vuelve a cargar el
alimentador con más piezas, el ciclo continúa. Si se ejecuta el comando PF_Stop, el ciclo actual termina y
luego finalizará la aplicación. (El comando PF_Stop no se usa en el siguiente código de muestra).
Código de muestra
Main.prg
Function main
If Not Motor = On Then
Motor On
EndIf
Power Low
Jump park
PF_Start 1
Fend
Alimentador n.° 1
Robot n.° 1
Pieza n.° 1
Lugar
Software
196 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Do While PF_QueLen(PartID) > 0
P0 = PF_QueGet(PartID)
Jump P0
On Gripper; Wait 0.2;
Jump Place
Off Gripper; Wait 0.2;
PF_QueRemove PartID
If PF_IsStopRequested(PartID) = True Then
Exit Do
EndIf
Loop
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
197
9.1.2 Ejemplo de programa 1.2
Tipo de ejemplo:
Sistema de varios robots – 1 robot por alimentador y 1 pieza por alimentador
Configuración
Número de robots: 2. El robot 1 está conectado a la unidad de control RC700A y el robot 2 está usando la
unidad de mando
Número de alimentadores: 2
Número de tipos de piezas en cada alimentador: 1
Número de posiciones de colocación: 1 por robot
Orientación de la cámara: Cada alimentador tiene su propia cámara descendente fija
Descripción
Ambos robots recogen y colocan las piezas de manera independiente. Los robots no comparten
alimentadores ni la posición de colocación. Los envolventes de trabajo del robot no se superponen. Ambos
robots tienen puntos que está etiquetados “Park” (Estacionar), “Pick” (Recoger) y “Place” (Colocar) en sus
respectivos archivos de puntos.
Código de muestra
Main.prg
Function main
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
Robot 2
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start 1
PF_Start 2
Fend
Alimentador n.° 2
Robot n.° 2
Pieza n.° 2
Lugar para
robot n.° 2
Lugar para
robot n.° 1
Alimentador n.° 1
Robot n.° 1
Pieza n.° 1
Software
198 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Integer gripperOutput
Select PartID
Case 1
Robot 1
gripperOutput =1
Case 2
Robot 2
gripperOutput =2
Send
Do While PF_QueLen(PartID) > 0
Pick = PF_QueGet(PartID)
Jump Pick
On gripperOutput; Wait 0.2;
Jump Place
Off gripperOutput; Wait 0.2;
PF_QueRemove PartID
If PF_IsStopRequested(PartID) = True Then
Exit Do
EndIf
Loop
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
199
9.1.3 Ejemplo de programa 1.3
Tipo de ejemplo:
La visión de procesamiento paralelo y la vibración con el movimiento del robot
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cámara descendente fija
Descripción
El robot recoge la pieza n.º 1 del alimentador de piezas y la coloca en un accesorio. Esto continua hasta que
se retiren las piezas “Delanteras” del alimentador. Cuando se haya colocado la última pieza disponible
(90 % de avance del movimiento), el alimentador vibrará, se volverá a cargar la tolva de ser necesario, etc.
Este ejemplo demuestra el modo en que puede ocurrir la acción del alimentador paralelamente al
movimiento del robot a fin de optimizar la producción.
Código de muestra
Main.prg
Function main
MemOff PartsToPick
Off Gripper
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start (1)
Xqt RobotPickPlace
Fend
Lugar
Pieza n.° 1
Alimentador n.° 1
Robot n.° 1
Software
200 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Function RobotPickPlace
DO
Wait MemSw(PartsToPick) = On
If PF_QueLen(1) > 0 Then
Do
Pick = PF_QueGet(1)
PF_QueRemove 1
Jump Pick
On Gripper; Wait 0.2
If PF_QueLen(1) = 0 Then
Jump Place ! D90; MemOff PartsToPick!
Off Gripper; Wait 0.2
Exit Do
Else
Jump Place
Off Gripper; Wait 0.2
EndIf
Loop
Else
MemOff PartsToPick
EndIf
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
MemOn PartsToPick
Wait MemSw(PartsToPick) = Off
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
201
9.1.4 Ejemplo de programa 1.4
Tipo de ejemplo:
1 robot, 2 alimentadores y 1 pieza por alimentador
Configuración
Número de robots: 1
Número de alimentadores: 2
Número de tipos de piezas en cada alimentador: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cada alimentador tiene su propia cámara descendente fija
Descripción
El robot recoge la pieza n.º 1 del alimentador n.º 1 y la coloca en una caja. Esto continua hasta que se
retiren las piezas “Delanteras” del alimentador n.º 1. Luego el robot recoge cada pieza “delantera” del
alimentador n.º 2 y las coloca en una caja. Las cámaras y los alimentadores funcionan paralelamente entre
sí.
Código de muestra
Main.prg
Function main
MemOff PartsToPick1; MemOff PartsToPick2
Off Gripper
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start (1)
PF_Start (2)
Xqt rbt1
Fend
Lugar
Pieza n.° 1
Alimentador n.° 1
Robot n.° 1
Pieza n.° 2
Alimentador n.° 2
Software
202 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Function rbt1
Do
Call RobotPickPlace(1)
Call RobotPickPlace(2)
Loop
Fend
Function RobotPickPlace(PartID As Integer)
Integer partsToPickMembit,
Select PartID
Case 1
partsToPickMembit = IONumber("PartsToPick1")
Case 2
partsToPickMembit = IONumber("PartsToPick2")
Send
Wait MemSw(partsToPickMembit) = On
If PF_QueLen(PartID) > 0 Then
Do
Pick = PF_QueGet(PartID)
PF_QueRemove PartID
Jump Pick
On Gripper; Wait 0.2
If PF_QueLen(PartID) = 0 Then
Jump Place ! D90; MemOff partsToPickMembit !
Off Gripper; Wait 0.2
Exit Do
Else
Jump Place
Off Gripper; Wait 0.2
EndIf
If PF_IsStopRequested(PartID) = True Then
MemOff partsToPickMembit
Exit Do
EndIf
Loop
Else
MemOff partsToPickMembit
EndIf
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
203
9.1.5 Ejemplo de programa 1.5
Tipo de ejemplo:
1 robot, 2 alimentadores y 1 pieza por alimentador– Cámara móvil instalada
Configuración
Número de robots: 1
Número de alimentadores: 2
Número de tipos de piezas en cada alimentador: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cada alimentador usará la cámara móvil instalada en el robot
(no hay cámaras descendentes fijas para este ejemplo)
Descripción
El robot mueve la cámara móvil instalada sobre el alimentador n.º 1 y toma una foto. El robot recoge cada
pieza del alimentador n.º 1 y la coloca en una caja. Esto continua hasta que se retiren las piezas
“Delanteras” del alimentador n.º 1. Luego, el robot mueve la cámara móvil instalada sobre el alimentador
n.º 2 y toma una foto.
El robot recoge cada pieza orientada correctamente del alimentador n.º 2 y las coloca en una caja.
Código de muestra
Main.prg
Function main
MemOff PartsToPick1; MemOff PartsToPick2;
MemOff mobileCamBefore1; MemOff mobileCamAfter1
MemOff mobileCamBefore2; MemOff mobileCamAfter2
MemOff mobileCamInPos1; MemOff mobileCamInPos2
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start (1)
PF_Start (2)
Xqt rbt1
Fend
Lugar
Pieza n.° 1
Alimentador n.° 1
Robot n.° 1
Pieza n.° 2
Alimentador n.° 2
Cámara móvil
montada
Software
204 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Function rbt1
Do
Wait MemSw(mobileCamBefore1) = On
Jump MobileCamShotFeeder1; MemOn mobileCamInPos1
Wait MemSw(mobileCamAfter1) = On
MemOff mobileCamInPos1
Call RobotPickPlace(1)
Wait MemSw(mobileCamBefore2) = On
Jump MobileCamShotFeeder2; MemOn mobileCamInPos2
Wait MemSw(mobileCamAfter2) = On
MemOff mobileCamInPos2
Call RobotPickPlace(2)
Loop
Fend
Function RobotPickPlace(PartID As Integer)
Integer partsToPickMembit, partCnt, gripperOutput, toolNum
Select PartID
Case 1
partsToPickMembit = IONumber("PartsToPick1")
Case 2
partsToPickMembit = IONumber("PartsToPick2")
Send
Wait MemSw(partsToPickMembit) = On
Do While PF_QueLen(PartID) > 0
P0 = PF_QueGet(PartID)
Jump P0
On Gripper; Wait 0.2;
Jump Place
Off Gripper; Wait 0.2;
PF_QueRemove PartID
If PF_IsStopRequested(PartID) = True Then
Exit Do
EndIf
Loop
MemOff partsToPickMembit
Fend
Software
205
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Function PF_MobileCam(PartID As Integer, Action As Integer) As Integer
Integer mobileCamBeforeMembit, mobileCamAfterMembit, mobileCamInPosMembit
Select PartID
Case 1
mobileCamBeforeMembit = IONumber("mobileCamBefore1")
mobileCamAfterMembit = IONumber("mobileCamAfter1")
mobileCamInPosMembit = IONumber("mobileCamInPos1")
Case 2
mobileCamBeforeMembit = IONumber("mobileCamBefore2")
mobileCamAfterMembit = IONumber("mobileCamAfter2")
mobileCamInPosMembit = IONumber("mobileCamInPos2")
Send
Seleccione Action (Acción)
Case PF_MOBILECAM_BEFORE
' Solicitud para que el robot se mueva a la posición de la cámara
MemOff mobileCamAfterMembit
MemOn mobileCamBeforeMembit
Wait MemSw(mobileCamInPosMembit) = On
Case PF_MOBILECAM_AFTER
' Solicitud para que el robot se mueva después de obtener la visión de la pieza
MemOff mobileCamBeforeMembit
MemOn mobileCamAfterMembit
Wait MemSw(mobileCamInPosMembit) = Off
Send
PF_MobileCam = PF_CALLBACK_SUCCESS
Fend
Software
206 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.1.6 Ejemplo de programa 1.6
Tipo de ejemplo:
Especificar el número de piezas por recoger
Configuración
Número de robots: 1
Número de alimentadores: 2
Número de tipos de piezas en cada alimentador: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cada alimentador tiene su propia cámara descendente fija
Descripción
El robot recoge hasta cuatro piezas n.º 1 del alimentador n.º 1 y las coloca individualmente. Luego, el robot
recoge hasta cinco piezas n.º 2 del alimentador n.º 2 y las coloca. Las cámaras y los alimentadores
funcionan paralelamente entre sí. Este ejemplo ilustra el modo en que el robot puede recoger un número
específico de piezas de cada alimentador. El código de muestra además admite recoger todas las piezas
disponibles al definir el parámetro numToPick para ALL_AVAILABLE. Si las piezas “delanteras”
permanecen el alguno de los alimentadores después de recoger la cantidad deseado, el alimentador no
vibrará de manera innecesaria.
Código de muestra
Main.prg
#define ALL_AVAILABLE -1
Function main
MemOff PartsToPick1; MemOff PartsToPick2
Off Gripper
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start (1)
PF_Start (2)
Xqt rbt1
Fend
Lugar
Pieza n.° 1
Alimentador n.° 1
Robot n.° 1
Alimentador n.° 2
Pieza n.° 2
Cámara móvil
montada
Software
207
Function rbt1
Do
Call RobotPickPlace(1, 4) 'part 1...pick & place 4 times
Call RobotPickPlace(2, 5) 'part 2...pick & place 5 times
Loop
Fend
Function RobotPickPlace(PartID As Integer, numToPick As Integer)
Integer partsToPickMembit, partCnt,
Select PartID
Case 1
partsToPickMembit = IONumber("PartsToPick1")
Case 2
partsToPickMembit = IONumber("PartsToPick2")
Send
partCnt = 0
Do
Wait MemSw(partsToPickMembit) = On
If PF_QueLen(PartID) > 0 Then
Pick = PF_QueGet(PartID)
PF_QueRemove PartID
Jump Pick
On Gripper; Wait 0.2
partCnt = partCnt + 1
If PF_QueLen(PartID) = 0 Then
Jump Place ! D90; MemOff partsToPickMembit !
Off Gripper; Wait 0.2
If (partCnt = numToPick) Or (numToPick = ALL_AVAILABLE) Then
Exit Do
EndIf
Else
Jump Place
Off Gripper; Wait 0.2
If (partCnt = numToPick) Then
Exit Do
EndIf
EndIf
Else
MemOff partsToPickMembit
EndIf
If PF_IsStopRequested(PartID) = True Then
MemOff partsToPickMembit
Exit Do
EndIf
Loop
Fend
Software
208 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
209
9.1.7 Ejemplo de programa 1.7
Tipo de ejemplo:
Asegurarse de que el robot coincida con el n.º de robot que se usa para la pieza
Configuración
Número de alimentadores: Más de 1
Número de tipos de piezas en cada alimentador: 1
Orientación de la cámara: Cada alimentador tiene su propia cámara descendente fija
Descripción
Cuando se usan varios alimentadores, es habitual que el robot haga un movimiento en tareas múltiples en
vez de dentro de la devolución de la llamada PF_Robot. En otras palabras, la devolución de la llamada
PF_Robot simplemente carga las ubicaciones de las piezas (puntos) en la cola de alimentación de piezas.
Una tarea de movimiento del robot usa los puntos en la cola. Cuando el código está estructurado de esta
forma, se recomienda que la tarea de movimiento del robot verifique que el número del robot actual
coincida con el n.º de robot que se seleccionó para la pieza. Esta revisión adicional garantizará que el robot
no use los puntos incorrectos y no choque el robot.
Código de muestra
Main.prg
Function RobotPickPlace(PartID As Integer, numToPick As Integer)
If PF_Info(PartID, PF_INFO_ID_ROBOT_NO) <> Robot Then
Print "Robot does not match the robot # for the current part"
Quit All
EndIf
Código de movimiento del robot
Fend
Lugar
Pieza n.° 1
Alimentador n.° 1
Robot n.° 1
Alimentador n.° 2
Pieza n.° 2
Software
210 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.1.9 Ejemplo de programa 1.9
Tipo de ejemplo:
Captura de una nueva imagen y carga de la cola después de cada recogida
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cámara descendente fija
Descripción
El robot recoge la pieza n.º 1 del alimentador de piezas y la coloca en un accesorio. Después de cada
operación de recogida y colocación, se capturará una nueva imagen y se volverá a cargar la cola. Para este
ejemplo, nos preocupa que se puedan mover las piezas circundantes durante la recogida. El valor devuelto
“PF_CALLBACK_RESTART” de la devolución de la llamada PF_Robot obligará que se vuelva a ejecutar
la visión para todas las piezas y se volverán a cargar todas las colas de piezas. Este método no es eficiente,
pero “PF_CALLBACK_RESTART” puede ser útil en ciertas circunstancias donde capturar una imagen en
cada ciclo puede mejorar la precisión el rendimiento. La visión y la vibración del alimentador se produce
en paralelo con el movimiento del robot.
Código de muestra
Main.prg
Function main
MemOff PartsToPick
Off Gripper
Robot 1
If Motor = Off Then Motor On
Power Low
Jump Park
PF_Start (1)
Xqt RobotPickPlace
Fend
Lugar
Pieza n.° 1
Robot n.° 1
Alimentador n.° 1
Software
211
Function RobotPickPlace
Do
Wait MemSw(PartsToPick) = On
If PF_QueLen(1) > 0 Then
Pick = PF_QueGet(1)
PF_QueRemove 1
Jump Pick
On Gripper; Wait 0.2
Jump Place ! D90; MemOff PartsToPick!
Off Gripper; Wait 0.2
Else
MemOff PartsToPick
EndIf
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
MemOn PartsToPick
Wait MemSw(PartsToPick) = Off
PF_Robot = PF_CALLBACK_RESTART
Fend
Software
212 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.1.9 Ejemplo de programa 1.9
Tipo de ejemplo:
Clasificación de una pieza con orientación delantera y posterior
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas en los alimentadores: 1
Número de posiciones de colocación: 2 (uno para el lado delantero y uno para el lado posterior)
Orientación de la cámara: Cámara descendente fija sobre el alimentador n.º 1
Página general de la pieza 1:
Página de visión de la pieza 1:
Descripción
Para esta aplicación, el robot clasificará las piezas según si están en orientación delantera o posterior. Las
piezas del lado delantero se colocarán en un punto etiquetado “PlaceFront” y las piezas del lado posterior se
colocarán en otro punto etiquetado “PlaceBack”. Para esta aplicación no importa el orden de recogida: el
robot recogerá o colocará la mayor cantidad de piezas delanteras que pueda y luego recogerá o colocará la
mayor cantidad de piezas posteriores que pueda. Cuando no está marcado “Needs Flip” (Necesita volteo),
pero se han seleccionado los objetos de visión en “Vision object for front of part” (Objeto de visión para
parte delantera de pieza) y “Vision object for back of part” (Objeto de visión para parte posterior), el
sistema cargará tanto piezas delanteras y posteriores en la cola de las coordenadas y definirá el valor de
orientación de la pieza de la manera correspondiente. Recuerde que la configuración “Needs Flip” le indica
al sistema que usted desea las piezas en cierta orientación. Cuando desmarca esta configuración, le está
indicando al sistema que desea ambas orientaciones.
En este caso, las piezas delanteras automáticamente tendrán sus datos de orientación (en la cola de
coordenadas de piezas) definida en constante “PF_PARTORIENT_FRONT”. Las piezas posteriores
automáticamente tienen sus orientaciones definidas en constante “PF_PARTORIENT_BACK”.
Alimentador 1
Robot n.° 1
Lugar para piezas delanteras
Lugar para piezas posteriores
Software
213
Código de muestra
Main.prg
Function main
If Not Motor = On Then
Motor On
EndIf
Power Low
Jump park
PF_Start 1
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Do While PF_QueLen(PartID) > 0
P0 = PF_QueGet(PartID)
Jump P0
On Gripper; Wait 0.2;
If PF_QuePartOrient(PartID) = PF_PARTORIENT_FRONT Then
Jump PlaceFront
ElseIf PF_QuePartOrient(PartID) = PF_PARTORIENT_BACK Then
Jump PlaceBack
EndIf
Off Gripper; Wait 0.2;
PF_QueRemove PartID
If PF_IsStopRequested(PartID) = True Then
Exit Do
EndIf
Loop
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
214 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.1.10 Ejemplo de programa 1.10
Tipo de ejemplo:
Uso de la devolución de la llamada PF_Vision
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas en los alimentadores: 1
Número de posiciones de colocación: 1
Orientación de la cámara: Cámara descendente fija sobre el alimentador n.º 1
Descripción
Este ejemplo ilustra la forma en que la devolución de la llamada PF_Vision captura una imagen y carga la
cola de coordenadas de piezas con los resultados de visión. Para usar esta función, seleccione “User
processes vision for part via PF_Vision callback” (El usuario procesa la visión para la pieza mediante
devolución de la llamada PF_Vision) desde Menú [Tools] - [Part Feeding] - [Vision] (Herramientas -
Alimentación de piezas - Visión) en EPSON RC+ 7.0.
Código de muestra
Main.prg
Function main
If Not Motor = On Then
Motor On
EndIf
Power Low
Jump park
PF_Start 1
Fend
Alimentador n.° 1
Pieza n.° 1
Lugar
Robot n.° 1
Software
215
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Do While PF_QueLen(PartID) > 0
P0 = PF_QueGet(PartID)
Jump P0
On Gripper; Wait 0.2;
Jump Place
Off Gripper; Wait 0.2;
PF_QueRemove PartID
If PF_IsStopRequested(PartID) = True Then
Exit Do
EndIf
Loop
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Function PF_Vision(PartID As Integer, ByRef numBack As Integer) As Integer
Boolean found
Integer i, numFront
Real RB_X, RB_Y, RB_U, RB_Z
' Pick Z coordinate
RB_Z = -132,0
' Initialize coordinates queue
PF_QueRemove PartID, All
PF_Backlight 1, On
' Detect the parts
VRun UsrVisionSeq
PF_Backlight 1, Off
VGet UsrVisionSeq.Geom01.NumberFound, numFront Piezas delanteras
VGet UsrVisionSeq.Geom02.NumberFound, numBack Piezas posteriores
If numFront <> 0 Then
For i = 1 To numFront
VGet UsrVisionSeq.Geom01.RobotXYU(i), found, RB_X, RB_Y, RB_U
If found Then
PF_QueAdd PartID, XY(RB_X, RB_Y, RB_Z, RB_U)
EndIf
Next
EndIf
PF_Vision = PF_CALLBACK_SUCCESS
Fend
Software
216 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.1.11 Ejemplo de programa 1.11
Tipo de ejemplo:
Recogida una pieza de varios lados
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas en los alimentadores: 1
Número de lados únicos en la pieza: 3
Número de posiciones de colocación: 3 (una posición de colocación para cada lado de la pieza)
Orientación de la cámara: Cámara descendente fija sobre el alimentador n.º 1
Descripción
Para este ejemplo, hay un tipo de pieza física 1 en el alimentador. La pieza tiene 3 lados únicos (lado
derecho, lado izquierdo y lado superior). El robot puede recoger la pieza en cualquiera de las 3
orientaciones. Desde la perspectiva del sistema de visión, cada lado es una pieza distinta (aunque en
realidad es una pieza física). La alimentación de piezas admite que 4 piezas únicas se ejecutan en el mismo
alimentador simultáneamente. Por lo tanto, vamos a crear una pieza aparte para cada lado. Haremos 3
secuencias de visión de las piezas y las llamaremos “Izquierda”, “Derecha” y “Superior”. Cada secuencia
de visión usará un objeto geométrico para ubicar la pieza en su orientación específica. En el diálogo de
alimentación de piezas, crearemos 3 piezas: Pieza 1, 2 y 3. La pieza 1 se colocará en la orientación
“Izquierda”. La pieza 2 se colocará en la orientación “Derecha”. La pieza 3 se colocará en la orientación
“Superior”. “Needs Flip” estará desmarcado para las 3 piezas. Las 3 piezas usarán la misma secuencia de
visión de blob de pieza llamada “PartBlob”.
Alimentador 1
Robot n.° 1
Lugar para lado derecho
Lugar para lado izquierdo
Lugar para lado superior
Software
217
Software
218
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Enseñe la Recogida Z para cada pieza (la altura de recogida puede ser diferente para cada lado de la pieza).
Las piezas del lado izquierdo se colocarán en un punto etiquetado “PlaceLeft”. Las piezas del lado derecho
se colocarán en un punto etiquetado “PlaceRight”. Las piezas del lado superior se colocarán en un punto
etiquetado “PlaceTop”. El robot recogerá y colocará todas las piezas en la orientación izquierda, luego
recogerá y colocará todas las piezas en orientación derecha y, finalmente, recogerá y colocará todas las
piezas en orientación superior.
Código de muestra
Main.prg
Function main
If Not Motor = On Then Motor On
Power Low
Jump park
PF_Start 1,2,3
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Do While PF_QueLen(PartID) > 0
P10 = PF_QueGet(PartID)
Jump P10
On Vacuum; Wait 0.2
Select PartID
Case 1
Jump PlaceLeft
Case 2
Jump PlaceRight
Caso 3
Jump PlaceTop
Send
Off Vacuum; Wait 0.2
PF_QueRemove PartID
Loop
PartID = PartID + 1
If PartID > 3 Then PartID = 1
PF_ActivePart PartID
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Este ejemplo ilustra un método simple para manipular una pieza con varios lados mediante
la funcionalidad para varias piezas. Otro método es para “User to Process Vision” (El
usuario procesa la visión) mediante la devolución de la llamada PF_Vision. Cuando se usa
PF_QueAdd, se pueden incluir los datos del usuario junto con las coordenadas de la pieza.
Los datos del usuario podrían ser un valor numérico que represente la orientación de la
pieza (es decir, 1 = Izquierda, 2=Derecha 3=Superior). La función PF_QueUserData se
utilizaría para obtener el valor de orientación, de manera que se pueda colocar la pieza en
la ubicación correcta. El código debería tomar en cuenta las diferencias de altura en los
lados de las piezas.
NOTA
Software
219
9.2 Un robot – Varias piezas
9.2.1 Ejemplo de programa 2.1
Tipo de ejemplo:
1 robot y varias piezas - La visión de procesamiento paralelo y la vibración con el
movimiento del robot
Configuración
Número de robots: 1
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 2
Número de posiciones de colocación: 1
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos piezas únicas (diferentes físicamente). El robot recogerá y colocará continuamente dos de las
piezas n.º 1 y luego recogerá y colocará una de las piezas n.º 2. Esto se logra cuando se alterna
“PF_ActivePart”. Para esta aplicación, sí importa el orden de recogida (por ejemplo, en el caso de un
montaje de piezas). Cuando se haya colocado la última pieza, “PF_ActivePart” cambia para alimentar la
pieza deseada y da una señal al sistema para que vibre y capture las imágenes, si es necesario. Esto se
consigue en paralelo con el movimiento del robot (30 % del trayecto de “colocación”).
Código de muestra
Main.prg
Function Main
Integer numToPick1, numToPick2, i
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick1
MemOff PartsToPick2
numToPick1 = 2
numToPick2 = 1
PF_Start 1.2
Do
i = 0
Lugar para Robot 1
Robot n.° 1
Software
220 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Do
Wait MemSw(PartsToPick1) = On
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On Gripper
Wait .25
i = i + 1
If i < numToPick1 And PF_QueLen(1) > 0 Then
Jump place
Else
'Última pieza o no hay más piezas disponibles para recoger
If i = numToPick1 Then
PF_ActivePart 2
EndIf
Jump place ! D30; MemOff PartsToPick1 !
EndIf
Off Gripper
Wait .25
Loop Until i = numToPick1
i = 0
Do
Wait MemSw(PartsToPick2) = On
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /R
On Gripper
Wait .25
i = i + 1
If i < numToPick2 And PF_QueLen(2) > 0 Then
Jump place
Else
'Última pieza o no hay más piezas disponibles para recoger
If i = numToPick2 Then
PF_ActivePart 1
EndIf
Jump place ! D30; MemOff PartsToPick2 !
EndIf
Off Gripper
Wait .25
Loop Until i = numToPick2
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
221
9.3 Dos robots – Una pieza
9.3.1 Ejemplo de programa 3.1
Tipo de ejemplo:
2 robots y 1 tipo de pieza física – Movimiento en devolución de la llamada PF_Robot –
Recogida en un orden específico
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 1
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Solo hay un tipo de pieza física. Debido a que cada robot tiene su propia
calibración de cámara, hay dos piezas lógicas: Pieza 1 para el robot 1 y Pieza 2 para el robot 2. Los robots
se turnarán para recoger del alimentador. El orden de recogida es importante en esta aplicación. El orden de
recogida alternado se logra con “PF_ActivePart”. El movimiento del robot se realiza dentro de la
devolución de la llamada PF_Robot. Este ejemplo no tiene procesamiento paralelo del alimentador ni
movimiento del robot. El código es simple, pero no es eficiente. Cada robot tiene un punto etiquetado
“estacionar” y otro etiquetado “colocar”.
El concepto clave de este ejemplo en el valor devuelto de devolución de la llamada PF_Robot
“PF_CALLBACK_RESTART_ACTIVEPART”. Este valor devuelto permite que varios robots usen el
mismo alimentador sin el potencial de las coordenadas de piezas en ambas colas de piezas. El valor
devuelto fuerza la captura de una nueva imagen solo para PF_ActivePart y solo se carga la cola para
PF_ActivePart.
Robot n.° 1
Robot n.° 2
Lugar para robot 1
Lugar para robot 2
Software
222 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
PF_Start 1, 2
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
If PF_QueLen(PartID) > 0 Then
Select PartID
Case 1
Robot 1
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper
Wait .25
Jump place
Off rbt1Gripper
Wait .25
PF_ActivePart 2
Case 2
Robot 2
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On rbt2Gripper
Wait .25
Jump place
Off rbt2Gripper
Wait .25
PF_ActivePart 1
Send
EndIf
PF_Robot = PF_CALLBACK_RESTART_ACTIVEPART
Fend
Software
223
9.3.2 Ejemplo de programa 3.2
Tipo de ejemplo:
2 robots y 1 tipo de pieza física – movimiento en tareas separadas – no importa el orden de
recogida
– Recoger en un orden específico
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 1
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Solo hay un tipo de pieza física. Debido a que cada robot tiene su propia
calibración de cámara, hay dos piezas lógicas: Pieza 1 para el Robot 1 y Pieza 2 para el Robot 2. No
importa el orden de recogida: por orden de llegada. Lo que hace que este ejemplo sea diferente es la visión
que se captura para cada pieza en cada ciclo. Esto puede ser útil si le preocupa que se puedan mover las
piezas circundantes durante la recogida. El valor devuelto “PF_CALLBACK_RESTART” de la devolución
de la llamada PF_Robot obligará que se vuelva a ejecutar la visión para todas las piezas y se volverán a
cargar todas las colas de piezas.
Este método no es eficiente, pero “PF_CALLBACK_RESTART” puede ser útil en ciertas circunstancias.
Lugar para robot 1
Robot n.° 1
Robot n.° 2
Lugar para robot 2
Software
224 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick
PF_Start 1.2
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Function Robot1PickPlace
Robot 1
Do
PF_AccessFeeder(1)
Wait MemSw(PartsToPick) = On
If PF_QueLen(1) > 0 Then
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On 5
Wait .5
Jump place ! D30; MemOff PartsToPick; PF_ReleaseFeeder 1!
Off 5
Wait .25
Else
MemOff PartsToPick; PF_ReleaseFeeder 1
EndIf
Loop
Fend
Function Robot2PickPlace
Robot 2
Do
PF_AccessFeeder(1)
Wait MemSw(PartsToPick) = On
If PF_QueLen(2) > 0 Then
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On 2
Wait .5
Jump place ! D30; MemOff PartsToPick; PF_ReleaseFeeder 1!
Off 2
Wait .25
Else
MemOff PartsToPick; PF_ReleaseFeeder 1
Software
225
EndIf
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
MemOn PartsToPick
Wait MemSw(PartsToPick) = Off
PF_Robot = PF_CALLBACK_RESTART 'Fuerza la actualización de visión y vibración
Fend
Software
226 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.3.3 Ejemplo de programa 3.3
Tipo de ejemplo:
2 robots y 1 tipo de pieza física – movimiento en tareas separadas – Por orden de llegada -
Retraso de proceso simulado
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 1
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Solo hay un tipo de pieza física. Debido a que cada robot tiene su propia
calibración de cámara, hay dos piezas lógicas: Pieza 1 para el Robot 1 y Pieza 2 para el Robot 2. Para este
ejemplo, cada robot tiene un tiempo de proceso variable (simulado por un tiempo de espera aleatorio).
Cada robot está ocupado realizando alguna otra operación desps de recoger una pieza desde el
alimentador. Los bits de memoria “Rbt1Complete” y “Rbt2Complete” se usan para indicar cuando el robot
ha concluido la operación secundaria y ya está listo para recoger otra pieza desde el alimentador. La
devolución de la llamada PF_Robot devolverá el valor “PF_CALLBACK_RESTART_ACTIVEPART”, si
la pieza deseada (PF_ActivePart) no es la misma que la pieza actual (es decir, el otro robot desea recoger
una pieza). Esto evitará la duplicación de puntos en las colas de robot. Se capturará una nueva imagen para
PF_ActivePart y solo se cargará la cola para PF_ActivePart. Sin embargo, si la siguiente pieza es la misma
que la pieza actual (es decir, el mismo robot recogerá del alimentador), entonces el valor devuelto de la
devolución de la llamada PF_Robot será “PF_CALLBACK_SUCCESS”. PF_AccessFeeder y
PF_ReleaseFeeder garantizan que los robots no choquen al ingresar al alimentador.
Lugar para robot 1
Lugar para robot 2
Robot n.° 1
Robot n.° 2
Software
227
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump place
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump place
MemOff PartsToPick1
MemOff PartsToPick2
PF_Start 1.2
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Function Robot1PickPlace
Integer randomTime
Robot 1
MemOn Rbt1Complete
Do
Wait MemSw(PartsToPick1) = On
PF_AccessFeeder(1)
MemOff Rbt1Complete
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper
Wait .25
Jump place ! D30; MemOff PartsToPick1; PF_ReleaseFeeder 1!
Off rbt1Gripper
Wait .25
'Pruebe el tiempo de proceso largo - el robot está haciendo algo más
Randomize
randomTime = Int(Rnd(9)) + 1
Wait randomTime
MemOn Rbt1Complete
Loop
Fend
Software
228 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Function Robot2PickPlace
Integer randomTime
Robot 2
MemOn Rbt2Complete
Do
Wait MemSw(PartsToPick2) = On
PF_AccessFeeder(1)
MemOff Rbt2Complete
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On rbt2Gripper
Wait .25
Jump place ! D30; MemOff PartsToPick2; PF_ReleaseFeeder 1!
Off rbt2Gripper
Wait .25
'Pruebe el tiempo de proceso largo - el robot está haciendo algo más
Randomize
randomTime = Int(Rnd(9)) + 1
Wait randomTime
MemOn Rbt2Complete
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Integer nextPart
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
Case 2
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
Send
Wait MemSw(Rbt1Complete) = On Or MemSw(Rbt2Complete) = On
If MemSw(Rbt1Complete) = On Then
nextPart = 1
ElseIf MemSw(Rbt2Complete) = On Then
nextPart = 2
EndIf
PF_ActivePart nextPart
If nextPart = PartID Then
'Es la misma pieza, así que no es necesario volver a capturar la imagen ni volver a cargar la cola
PF_Robot = PF_CALLBACK_SUCCESS
Else
'Reinicie desde la visión -
'Capture imagen y cargue cola solo para la pieza activa
PF_Robot = PF_CALLBACK_RESTART_ACTIVEPART
EndIf
Fend
Software
229
9.4 Dos robots – Varias piezas
9.4.1 Ejemplo de programa 4.1
Tipo de ejemplo:
2 robots y 1 alimentador, varias piezas físicas – Movimiento en devolución de la llamada
PF_Robot – Recogida en un orden específico
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 2
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Cada robot recoge una pieza única (físicamente distinta). Los robots se
turnarán para recoger del alimentador. El orden de recogida es importante en esta aplicación. El orden de
recogida alternado se logra con “PF_ActivePart”. El movimiento del robot se realiza dentro de la
devolución de la llamada PF_Robot. Este ejemplo no tiene procesamiento paralelo del alimentador ni
movimiento del robot. El código es simple, pero no es eficiente. El robot 1 está recogiendo y colocando la
pieza n.º 1. El robot 2 está recogiendo y colocando la pieza n.º 2. Cada robot tiene un punto etiquetado
“estacionar” y otro etiquetado “colocar”.
Lugar para robot 1
Lugar para robot 2
Robot n.° 2
Robot n.° 1
Software
230 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
PF_Start 1, 2
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
If PF_QueLen(PartID) > 0 Then
Select PartID
Case 1
Robot 1
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper
Wait .25
Jump place
Off rbt1Gripper
Wait .25
PF_ActivePart 2
Case 2
Robot 2
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On rbt2Gripper
Wait .25
Jump place
Off rbt2Gripper
Wait .25
PF_ActivePart 1
Send
EndIf
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
231
9.4.2 Ejemplo de programa 4.2
Tipo de ejemplo:
2 robots y 1 alimentador, varias piezas físicas – Movimiento en tareas separadas – Recogida
en un orden específico
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 2
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Cada robot recoge una pieza única (físicamente distinta). Los robots se
turnarán para recoger del alimentador. Esto se logra cuando se alterna “PF_ActivePart”. Si uno de los
robots no tiene piezas que recoger, entonces el otro robot puede seguir recogiendo del alimentador hasta
que no haya piezas para el robot. El robot 1 está recogiendo y colocando la pieza n.º 1. El robot 2 está
recogiendo y colocando la pieza n.º 2. Cada robot tiene un punto etiquetado “estacionar” y otro etiquetado
“colocar”. “PF_AccessFeeder” y “PF_ReleaseFeeder” se usan para evitar que ambos robots intenten
acceder al alimentador al mismo tiempo. Cuando alguno de los robots ha avanzado 30 % del trayecto hacia
su posición de colocación, el otro robot puede acceder al alimentador.
Lugar para robot 2
Lugar para robot 1
Robot n.° 2
Robot n.° 1
Software
232 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power Low
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick1
MemOff PartsToPick2
PF_Start 1, 2
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Function Robot1PickPlace
Robot 1
Do
Wait MemSw(PartsToPick1) = On
PF_AccessFeeder 1
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On 5
Wait .5
Jump place ! D30; MemOff PartsToPick1; PF_ReleaseFeeder 1 !
Off 5
Wait .25
Loop
Fend
Function Robot2PickPlace
Robot 2
Do
Wait MemSw(PartsToPick2) = On
PF_AccessFeeder 1
P0 = PF_QueGet(2)
PF_QueRemove (2)
Jump P0 /L
On 2
Wait .5
Jump place ! D30; MemOff PartsToPick2; PF_ReleaseFeeder 1 !
Off 2
Wait .25
Loop
Fend
Software
233
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
If PF_QueLen(1) > 0 Then
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
PF_ActivePart 2
Else
PF_ActivePart 1
EndIf
Case 2
If PF_QueLen(2) > 0 Then
MemOn PartsToPick2
Wait MemSw(PartsToPick2) = Off
PF_ActivePart 1
Else
PF_ActivePart 2
EndIf
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
234 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
9.4.3 Ejemplo de programa 4.3
Tipo de ejemplo:
2 robots y 1 alimentador, varias piezas físicas – Movimiento en tareas separadas – Recogida
en un orden específico
Configuración
Número de robots: 2
Número de alimentadores: 1
Número de tipos de piezas en el alimentador: 3
Número de posiciones de colocación: 2
Orientación de la cámara: Cámara descendente fija
Descripción
Hay dos robots y un alimentador. Cada robot recogerá piezas distintas El robot 1 recogerá y colocará la
pieza n.º 1. Después, el robot 2 recogerá y colocará una pieza n.º 4 y una pieza n.º 4. El orden de recogida
es importante en esta aplicación. El orden de recogida alternado se logra con “PF_ActivePart”. El
movimiento del robot se realiza de forma paralela con la vibración del alimentador.
Código de muestra
Main.prg
Function Main
Robot 1
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
Robot 2
Motor On
Power High
Speed 50
Accel 50, 50
Jump park
MemOff PartsToPick1
MemOff PartsToPick4
MemOff PartsToPick5
PF_Start 1,4,5
Lugar para robot 2
Lugar para robot 1
Robot n.° 2
Robot n.° 1
Software
235
Xqt Robot1PickPlace
Xqt Robot2PickPlace
Fend
Function Robot1PickPlace
Robot 1
Do
Wait MemSw(PartsToPick1) = On
PF_AccessFeeder(1)
P0 = PF_QueGet(1)
PF_QueRemove (1)
Jump P0 /R
On rbt1Gripper; Wait .25
Jump place ! D30; MemOff PartsToPick1; PF_ReleaseFeeder 1!
Off rbt1Gripper
Wait .25
Loop
Fend
Function Robot2PickPlace
Robot 2
Do
Wait MemSw(PartsToPick4) = On
PF_AccessFeeder(1)
P0 = PF_QueGet(4)
PF_QueRemove (4)
Jump P0 /L
On rbt2Gripper; Wait .25
Jump place ! D30; MemOff PartsToPick4!
Off rbt2Gripper; Wait .25
Wait MemSw(PartsToPick5) = On
P0 = PF_QueGet(5)
PF_QueRemove (5)
Jump P0 /L
On rbt2Gripper; Wait .25
Jump place ! D30; MemOff PartsToPick5; PF_ReleaseFeeder 1!
Off rbt2Gripper; Wait .25
Loop
Fend
PartFeeding.prg
Function PF_Robot(PartID As Integer) As Integer
Select PartID
Case 1
MemOn PartsToPick1
Wait MemSw(PartsToPick1) = Off
PF_ActivePart 4
Caso 4
MemOn PartsToPick4
Wait MemSw(PartsToPick4) = Off
PF_ActivePart 5
Caso 5
MemOn PartsToPick5
Wait MemSw(PartsToPick5) = Off
PF_ActivePart 1
Send
PF_Robot = PF_CALLBACK_SUCCESS
Fend
Software
236 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
Solución de problemas
Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4 239
Solución de problemas
Dirección IP desconocida del alimentador
(1) Defina la dirección IP del alimentador en el valor predeterminado, de acuerdo con
la Opción EPSON RC+ 7.0 Alimentación de piezas 7.0 IF-240 4.3.2 Recuperar
dirección IP con dirección IP predeterminada.
(2) Use la dirección IP predeterminada en EPSON RC+ 7.0 y realice una conexión al
alimentador de acuerdo con la sección 2.1. Configuración de sistema en el manual
de hardware. Luego, cambie la dirección IP.
El alimentador no vibra o la vibración es débil
- ¿El LED del alimentador está iluminado o parpadea? Si no está iluminado o no
parpadea, es posible que no esté recibiendo alimentación.
- Si aparece un mensaje indicado en la sección 7. Mensajes de error del manual del
software, efectúe los procedimientos de recuperación que se informan para el
mensaje de error correspondiente.
- Es posible que haya fallado la calibración del alimentador. Consulte 2.4 Asistente de
calibración del alimentador en el Manual del software para volver a calibrar el
alimentador.
Si no funciona, cargue los valores predeterminados y ejecute nuevamente la
calibración.
Si nada de lo anterior aplica, es posible que el alimentador presente un mal
funcionamiento. Comuníquese con nosotros.
Las piezas del alimentador no se mueven con fluidez o tienen una
s
eparación desigual
- Es posible que la rigidez de la estructura de montaje del alimentador sea baja, lo cual
impide que la energía vibrante se transmita de manera correcta a la plataforma.
Reemplácela por una estructura de mucha rigidez.
- Es posible que haya fallado la calibración del alimentador. Consulte 2.4 Asistente de
calibración del alimentador en el Manual del software para volver a calibrar el
alimentador.
Si no funciona, cargue los valores predeterminados y ejecute nuevamente la
calibración.
- Es posible que la plataforma se haya gastado por el uso durante un período
prolongado.
La plataforma es una pieza consumible. Reemplace la plataforma.
Si nada de lo anterior aplica, es posible que el alimentador presente un mal
funcionamiento. Comuníquese con nosotros.
240 Alimentación de piezas 7.0 Introducción y hardware (común) y software Mod. 4
La tolva no vibra
- Si la tolva se compró en Epson, verifique que la tolva y el alimentador estén bien
conectados.
Consulte 9. Qué hacer en caso de (Instrucciones para la resolución de problemas)
del manual de hardware (tolva).
- Compruebe que las configuraciones para comunicación con la tolva estén bien
especificadas.
- Consulte 4. Función de devolución de la llamada para alimentación de piezas -
PF_Control del manual de software y verifique que se haya efectuado correctamente
la programación de la operación de la tolva.
Las piezas llenan por completo la platafor
ma
- Es posible que se carguen demasiadas piezas en la bandeja de alimentación para una
operación de tolva única. Ajuste correctamente la cantidad que se carga desde la
tolva.
S
e acaban las piezas de la plataforma
- Compruebe que haya piezas en la tolva.
- Es posible que las piezas no se carguen correctamente desde la tolva. Ajuste la
cantidad que se carga desde la tolva.
- Si la tolva se compró en Epson, verifique que la tolva y el alimentador estén bien
conectados.
TP3 no puede compilar el proyecto con la opción de alimentación de
piezas
- Compile con una PC.
- Puede comenzar desde TP3.
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91
  • Page 92 92
  • Page 93 93
  • Page 94 94
  • Page 95 95
  • Page 96 96
  • Page 97 97
  • Page 98 98
  • Page 99 99
  • Page 100 100
  • Page 101 101
  • Page 102 102
  • Page 103 103
  • Page 104 104
  • Page 105 105
  • Page 106 106
  • Page 107 107
  • Page 108 108
  • Page 109 109
  • Page 110 110
  • Page 111 111
  • Page 112 112
  • Page 113 113
  • Page 114 114
  • Page 115 115
  • Page 116 116
  • Page 117 117
  • Page 118 118
  • Page 119 119
  • Page 120 120
  • Page 121 121
  • Page 122 122
  • Page 123 123
  • Page 124 124
  • Page 125 125
  • Page 126 126
  • Page 127 127
  • Page 128 128
  • Page 129 129
  • Page 130 130
  • Page 131 131
  • Page 132 132
  • Page 133 133
  • Page 134 134
  • Page 135 135
  • Page 136 136
  • Page 137 137
  • Page 138 138
  • Page 139 139
  • Page 140 140
  • Page 141 141
  • Page 142 142
  • Page 143 143
  • Page 144 144
  • Page 145 145
  • Page 146 146
  • Page 147 147
  • Page 148 148
  • Page 149 149
  • Page 150 150
  • Page 151 151
  • Page 152 152
  • Page 153 153
  • Page 154 154
  • Page 155 155
  • Page 156 156
  • Page 157 157
  • Page 158 158
  • Page 159 159
  • Page 160 160
  • Page 161 161
  • Page 162 162
  • Page 163 163
  • Page 164 164
  • Page 165 165
  • Page 166 166
  • Page 167 167
  • Page 168 168
  • Page 169 169
  • Page 170 170
  • Page 171 171
  • Page 172 172
  • Page 173 173
  • Page 174 174
  • Page 175 175
  • Page 176 176
  • Page 177 177
  • Page 178 178
  • Page 179 179
  • Page 180 180
  • Page 181 181
  • Page 182 182
  • Page 183 183
  • Page 184 184
  • Page 185 185
  • Page 186 186
  • Page 187 187
  • Page 188 188
  • Page 189 189
  • Page 190 190
  • Page 191 191
  • Page 192 192
  • Page 193 193
  • Page 194 194
  • Page 195 195
  • Page 196 196
  • Page 197 197
  • Page 198 198
  • Page 199 199
  • Page 200 200
  • Page 201 201
  • Page 202 202
  • Page 203 203
  • Page 204 204
  • Page 205 205
  • Page 206 206
  • Page 207 207
  • Page 208 208
  • Page 209 209
  • Page 210 210
  • Page 211 211
  • Page 212 212
  • Page 213 213
  • Page 214 214
  • Page 215 215
  • Page 216 216
  • Page 217 217
  • Page 218 218
  • Page 219 219
  • Page 220 220
  • Page 221 221
  • Page 222 222
  • Page 223 223
  • Page 224 224
  • Page 225 225
  • Page 226 226
  • Page 227 227
  • Page 228 228
  • Page 229 229
  • Page 230 230
  • Page 231 231
  • Page 232 232
  • Page 233 233
  • Page 234 234
  • Page 235 235
  • Page 236 236
  • Page 237 237
  • Page 238 238
  • Page 239 239
  • Page 240 240
  • Page 241 241
  • Page 242 242
  • Page 243 243
  • Page 244 244
  • Page 245 245
  • Page 246 246
  • Page 247 247
  • Page 248 248
  • Page 249 249
  • Page 250 250
  • Page 251 251
  • Page 252 252
  • Page 253 253
  • Page 254 254

Epson IntelliFlex Feeding System Manual de usuario

Tipo
Manual de usuario