Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual de aplicaciones
PickMaster 3
Trace back information:
Workspace Main version a364
Checked in 2020-09-24
Skribenta version 5.3.075
Manual de aplicaciones
PickMaster 3
PickMaster 3.56, RobotWare 6.11
ID de documento: 3HAC031978-005
Revisión: U
Contenido
Descripción general de este manual ............................................................................................... 9
1 Seguridad 15
1.1 Señales de seguridad del manual ......................................................................... 15
1.2 Los robots que no tienen frenos de sujeción de ejes son potencialmente letales ........... 17
1.3 Presencia de tensión en el interior del módulo de accionamiento ............................... 18
1.4 Seguridad durante la solución de problemas .......................................................... 20
2 Bienvenido a PickMaster 21
2.1 Introducción ..................................................................................................... 21
2.2 Configuración del proyecto ................................................................................. 22
2.3 La línea y el proyecto ......................................................................................... 23
2.4 Procedimientos iniciales con PickMaster ............................................................... 24
2.5 Términos relativos a PickMaster .......................................................................... 25
3 Instalación 27
3.1 Software PickMaster .......................................................................................... 27
3.2 Clave de licencia de PickMaster ........................................................................... 28
3.2.1 Clave de licencia ..................................................................................... 28
3.2.2 Activación automática de la clave de licencia a través de Internet .................... 29
3.2.3 Activación manual de una licencia de PickMaster .......................................... 30
3.3 Servicio de sincronización de tiempo de PickMaster ................................................ 31
3.4 Requisitos del sistema ....................................................................................... 32
3.4.1 Requisitos ............................................................................................. 32
3.4.2 Switch de Ethernet .................................................................................. 33
3.4.3 Sistema de visión .................................................................................... 34
3.4.4 Requisitos de las cámaras ........................................................................ 37
3.5 Instalación eléctrica ........................................................................................... 40
3.5.1 Instalación de los componentes eléctricos de PickMaster ............................... 40
3.5.2 Configuración del PC ............................................................................... 41
3.5.3 Conexión de las cámaras .......................................................................... 42
3.5.4 Conexión de las señales de E/S ................................................................. 44
3.5.5 Conexión de codificadores ........................................................................ 46
3.5.6 Configuración de las redes ....................................................................... 48
3.5.7 Configuración del controlador de robot ....................................................... 52
3.5.8 Configuración opcional del robot ................................................................ 53
3.5.9 Configuración de robot de seis ejes ............................................................ 54
3.5.10 Instalación de DSQC2000 ......................................................................... 56
3.5.10.1 Módulo de seguimiento del transportador basado en red CTM
(DSQC2000) ............................................................................... 56
3.5.10.2 Conexión del codificador al CTM .................................................... 59
3.5.10.3 Conexión de una cámara al CTM .................................................... 63
3.5.10.4 Conexión de los interruptores de sincronización al CTM ..................... 64
3.6 Ventana de inicio de sesión de aplicación .............................................................. 65
4 Configuración 67
4.1 Configuración de E/S ......................................................................................... 67
4.1.1 Señales de E/S ....................................................................................... 67
4.1.2 Señales de E/S predefinidas ...................................................................... 68
4.2 Configuración de la línea .................................................................................... 69
4.2.1 Introducción ........................................................................................... 69
4.2.2 Configuración del controlador de robot ....................................................... 71
4.2.3 Configuración de la cinta transportadora y el área de trabajo de la cinta
transportadora ........................................................................................ 74
4.2.4 Configuración de un área de trabajo indexada .............................................. 77
4.2.5 Configuración de la cámara ....................................................................... 80
Índice 353
Utilización
Este manual debe utilizarse durante la instalación, la configuración y el
mantenimiento de un sistema PickMaster 3.
Requisitos previos
El personal de mantenimiento/reparación/instalación que trabaje en un robot ABB
debe haber recibido formación de ABB y tener conocimientos sobre trabajos de
instalación/reparación/mantenimiento de tipo mecánico y eléctrico.
Referencias
Referencia ID de documento
Product specification - PickMaster 3 3HAC041347--001
Circuit diagram - IRC5 3HAC024480-011
IRC5 de diseño 14
S4cplus - Diagrama de circuitos
Manual del operador - RobotStudio 3HAC032104-005
Application manual - Conveyor tracking 3HAC050991--001
Manual del producto - IRC5 3HAC021313-005
User’s guide - S4Cplus (BaseWare OS 4.0) 3HAC7793-1
Manual del producto - IRC5 Panel Mounted Controller 3HAC027707-005
Manual del operador - IRC5 con FlexPendant 3HAC050941-005
Manual de referencia técnica - Parámetros del sistema 3HAC050948-005
Manual del operador - Solución de problemas de IRC5 3HAC020738-005
Manual de referencia técnica - Instrucciones, funciones y tipos 3HAC050917-005
de datos de RAPID
Manual de referencia técnica - RAPID Overview 3HAC050947-005
Manual del producto - IRB 140 3HAC027400-005
Manual del producto - IRB 260 3HAC026048-005
Manual del producto - IRB 360 3HAC030005-005
Product manual - IRB 1600, type 0 3HAC023637-001
Referencia ID de documento
Manual del producto - IRB 4600 3HAC033453-005
Referencias externas
Referencia Descripción
http://www.hilscher.com Información acerca del plugin de bus de
campo Hilscher.
Cognex Ethernet Camera Tool Para la configuración de redes de cámaras.
Gigabit Ethernet Performance Driver Para la comunicación con las cámaras.
Basler Scout User Manual Información acerca de cámaras Gigabit Ether-
net y el switch para cámaras Gigabit Ether-
net. Se encuentra en el CD de PickMaster en
la carpeta User Documentation\Vision
Basler Scout datasheet Información acerca de las cámaras Gigabit
Ethernet. Se encuentra en el CD de PickMas-
ter en la carpeta User Documentation\Vision
5 port network switch datasheet Información acerca del switch para cámaras
Gigabit Ethernet. Se encuentra en el CD de
PickMaster en la carpeta User Documenta-
tion\Vision
Avoid_EMI_ESD_in_camera_installations Información acerca de las instalaciones
eléctricas, por ejemplo de las cámaras Giga-
bit Ethernet. Se encuentra en el CD de Pick-
Master en la carpeta User Documentation\Vi-
sion
CognexPCConfigGuide Información detallada acerca de los requisi-
tos de PC para el sistema de visión.
Revisiones
Revisión Descripción
- Publicado con PickMaster 3.22.
A Publicado con PickMaster 3.30.
B Publicado con PickMaster 3.31.
Esta versión incluye los siguientes cambios:
• Actualizado el título del manual.
• Reestructuración del manual.
• Añadida la funcionalidad de visión en color.
• Añadida la funcionalidad para manejar productos con altura
variable.
• Eliminadas las instrucciones y los tipos de datos ocultos del
capítulo de referencia de RAPID.
• Añadidos nuevos diagramas de circuitos.
Revisión Descripción
C Publicado con PickMaster 3.32.
Esta versión incluye los siguientes cambios:
• Actualizada la sección Configuración opcional del robot en la
página 53.
• Actualizado el capítulo Configuración de orígenes de posiciones
en la página 116.
• Actualizado el capítulo Configuración de Remote Integration
Services en la página 169.
• Actualizada la sección Exportación e importación de la configu-
ración de RIS en la página 177.
• Eliminados los diagramas de circuitos del manual, pero entre-
gados como archivos separados; consulte PickMaster 3 -
3HAC024480-008.
D Publicado con PickMaster 3.33.
Esta versión incluye los siguientes cambios:
• Añadida la sección Configuración de una cámara simulada en
la página 82
E Publicado con PickMaster 3.35.
Esta versión incluye los siguientes cambios:
• Actualizada la sección Conexión de codificadores en la pági-
na 46.
• Añadidas figuras a las secciones Configuración del área de
trabajo en la página 126, Introducción a User Hook en la pági-
na 208.
• Añadida la sección External Sensor .NET en la página 215.
• Eliminadas las secciones acerca de los Avisos 4316, 4317 y
4318 y Se desechan escenas o elementos.
• Añadida la sección Avisos 4326 - 4329 en la página 247.
• Referencia de RAPID - Instrucciones AckItmTgt - Confirmación
de un objetivo de elemento en la página 291 y GetItmTgt - Obte-
ner el siguiente objetivo de elemento en la página 294 actualiza-
dos, ResetFlowCount - Restablecer contador de flujo en la pá-
gina 304 añadida.
• Referencia de RAPID - Funciones GetQueueLevel - Obtener el
nivel de la cola en la página 310 actualizada, GetFlowCount -
Obtener número de elementos entregados en la página 313
añadida.
• Referencia de RAPID - Tipos de datos itmtgt - Datos de posición
de elementos en la página 314 actualizada.
F Publicado con PickMaster 3.40.
Esta versión incluye las actualizaciones siguientes:
• Añadido el código de error 12337 en la sección Códigos de
error de visión en la página 267.
• Eliminada la sección Activación de una licencia de prueba.
Revisión Descripción
G Publicado con PickMaster 3.41.
Esta versión incluye las actualizaciones siguientes:
• Añadida la sección Descripción general a Bienvenido a Pick-
Master en la página 21.
• Instalación del software trasladada del capítulo Configuración
al capítulo Instalación. Para obtener más información, consulte
Software PickMaster en la página 27.
• Requisitos del ordenador actualizados y cambiado el título de
la sección a Requisitos del sistema en la página 32.
• Capturas de pantalla añadidas a Configuración de Remote In-
tegration Services en la página 169.
• Añadida la sección Inspección posterior en la página 228.
• Actualizados Histograma en la página 153 y Caliper en la pági-
na 156.
H Publicado con PickMaster 3.41.
Esta versión incluye las actualizaciones siguientes:
• Añadidas las secciones API de RIS2 en la página 273, RIS Proxy
en la página 224 y Plugin RIS2 en la página 199.
J Publicado con PickMaster 3.42.
Esta versión incluye las actualizaciones siguientes:
• Actualizada la sección Introducción del capítulo Configuración
de Remote Integration Services en la página 169.
• Actualizada la descripción del código de error 4314 en el capí-
tulo Solución de problemas.
K Publicado con PickMaster 3.43.
Esta versión incluye las actualizaciones siguientes:
• Eliminadas del manual las secciones acerca de las rutinas
coordinadas y no coordinadas.
• Añadida información acerca de Guardado de la configuración
e la sección Inicio de la aplicación RIS Proxy en la página 224.
• Actualizada la sección Administración de roles y usuarios en
la página 171.
• Añadida información acerca de la generación automática de
la distancia de disparo y el filtro de posición a la sección Con-
figuración de orígenes de posiciones en la página 116.
L Publicado con PickMaster 3.44.
Esta versión incluye la actualización siguiente:
• Añadida información acerca de los comandos de RIS2 Project
status, Start robot, Pause robot y Stop robot al capí-
tulo API de RIS2 en la página 273.
• Añadida información acerca del código de error 8342 a la sec-
ción Códigos de error del robot en la página 261.
M Publicado con PickMaster 3.44.
Actualizaciones menores.
N Publicado con PickMaster 3.50.
• Añadida información acerca de la compatibilidad con S4Cplus.
• Actualizada la sección Configuración de la línea en la página 69.
• Actualizada la sección Administración de roles y usuarios en
la página 171.
• Actualizada la sección Plugin RIS2 en la página 199.
Revisión Descripción
P Publicado con PickMaster 3.51.
• Actualizada la ruta a los archivos de utilidades en la sección
Códigos de error del robot en la página 261.
• Actualizada la sección Configuración de modelos de inspección
en la página 149.
Q Publicado con PickMaster 3.52.
• Información migrada de las Notas de la versión al Manual del
usuario.
R Publicado con PickMaster 3.53.
• Se actualizaron múltiples secciones para actualizaciones del
programa RAPID.
• Actualizada la sección Ajuste en la página 244.
• Añadida la sección AlwaysClearPath en la página 326.
S Publicado con PickMaster 3.54.
Se han añadido las siguientes secciones:
• Añadida la sección Figuras: Conexión de disparo y muestreo
en la página 35.
• Añadida la sección Problema con la resolución de la cámara
en PickMaster en la página 256.
• Se han añadido los códigos de error 12341 y 12342 en la sec-
ción Códigos de error de visión en la página 267.
Se han actualizado las siguientes secciones:
• Actualizada la sección Requisitos del sistema en la página 32.
• Se ha añadido una NOTA en la sección Conexión de los codi-
ficadores en la página 46.
• Se ha actualizado el procedimiento en la sección Configuración
de contenedores en la página 113.
T Publicado con PickMaster 3.55.
A continuación se indican las actualizaciones:
• Añadida la sección Plugin Hilscher CifX 50E-RE en la página 191.
• Añadida la sección UseReachableTargets - Utiliza objetivos
alcanzables en la página 306.
• Añadida la sección GetMaxUsageTime - Obtener el tiempo
máximo de uso medido en la página 309.
• Añadida la sección ResetMaxUsageTime - Restablecer el
tiempo máximo de uso medido en la página 305.
• Actualizada la sección Figuras: Conexión de disparo y muestreo
en la página 35.
• Actualizada la sección Requisitos de software en la página 32.
Revisión Descripción
U Publicado con PickMaster 3.56.
• Añadida la sección Instalación de DSQC2000 en la página 56.
• Añadida la sección Superposición de filtros en la página 120.
• Añadida la sección Diagrama de flujo de solicitud de RIS en la
página 204.
• Se han añadido los códigos de error 4318 y 8337 en el capítulo
Resolución de problemas.
• Actualizada la sección Configuración de la cámara en la pági-
na 80.
• Se ha actualizado la sección de introducción de Configuración
de Remote Integration Services en la página 169.
• Actualizada la sección Señales del área de trabajo de cinta
transportadora en la página 75.
• Se ha actualizado la instrucción UseReachableTargets - Utiliza
objetivos alcanzables en la página 306.
1 Seguridad
1.1 Señales de seguridad del manual
Niveles de peligrosidad
En la tabla siguiente se definen los títulos que especifican los niveles de
peligrosidad indicados en todo este manual.
Para obtener más información, consulte la norma ISO 13849.
Símbolo Designación Significado
PELIGRO Palabra de advertencia que se utiliza para indicar
una situación de peligro inminente que, si no se
evita, provocará lesiones graves.
1.2 Los robots que no tienen frenos de sujeción de ejes son potencialmente letales
Descripción
Dado que el sistema de brazos del robot tiene un peso elevado, especialmente en
los modelos de robot de mayor tamaño, existe peligro si los frenos de retención
están desconectados, averiados o desgastados o si no funcionan correctamente
por cualquier otro motivo.
Por ejemplo, la caída de un manipulador puede causar la muerte o lesiones graves
a una persona que se encuentre debajo.
Seguridad en la manipulación
Acción Información/figura
1 Si sospecha que los frenos de retención Encontrará especificaciones de pesos y
no funcionan, sujete el sistema de brazos otros parámetros en el Manual de producto
del robot por otros medios antes de traba- de cada modelo de robot.
jar en él.
2 ¡Si inhabilita intencionadamente los frenos La forma de conectar correctamente una
de retención mediante la conexión de una fuente de tensión externa se detalla en el
fuente de tensión externa, debe poner el Manual de producto de cada modelo de
máximo cuidado! robot.
PELIGRO
PELIGRO
Descripción
El módulo de accionamiento presenta tensión activa potencialmente accesible
inmediatamente debajo de las cubiertas posteriores y dentro de la cubierta
delantera, incluso si los interruptores principales están apagados.
en1000000049
SECTIONA-A
en1000000050
Seguridad en la manipulación
Lea esta información antes de abrir la cubierta posterior de cualquiera de los
módulos.
Paso Acción
1 Asegúrese de que la alimentación principal entrante esté apagada.
2 Utilice un voltímetro para comprobar que no haya tensión entre ninguno de los
bornes.
3 Continúe con el trabajo de servicio técnico.
Generalidades
Todos los trabajos normales de servicio técnico, instalación, mantenimiento y
reparación suelen realizarse con la alimentación eléctrica y la potencia neumática
e hidráulica desconectadas. Normalmente, todos los movimientos del manipulador
se evitan mediante topes mecánicos, etc.
El trabajo de solución de problemas es distinto. Durante la solución de problemas,
pueden estar encendidas todas las fuentes de alimentación o cualquiera de ellas
y el movimiento del manipulador puede controlarse manualmente desde
FlexPendant, con un programa de robot que se ejecuta localmente o con un PLC
al que el sistema puede estar conectado.
PELIGRO
2 Bienvenido a PickMaster
2.1 Introducción
Descripción general
PickMaster 3 es un producto modular para el control de robots ABB en las
aplicaciones de elección a través del controlador de robot S4Cplus o IRC5. Se
trata de una aplicación programable que permite realizar operaciones de elección
y colocación de objetos. Se utiliza un sistema de visión para encontrar elementos
situados al azar sobre transportadores. Utiliza interfaces gráficas completas para
configurar aplicaciones potentes, desde las que puede controlar múltiples robots
dedicados a elegir y colocar elementos detectados por sensores sobre diferentes
transportadores. Se ha diseñado para gestionar una o varias células de la
producción.
PickMaster 3 puede personalizarse para algunas de las siguientes necesidades
especiales:
• Con visión integrada, puede usarse para un funcionamiento completamente
aleatorio sobre transportadores en constante movimiento y para el
posicionamiento exacto en alimentadores o bandejas indexados.
• Sin reconocimiento de visión, puede usarse como una herramienta de
producción eficiente con flujos de productos guiados sobre distintos
transportadores.
• Para una inspección de calidad eficiente y categorización de productos
únicamente, o junto con reconocimiento de posiciones.
Nota
Introducción
PickMaster 3 consta de dos partes: una línea y un proyecto. La línea contiene
todos los objetos físicos, como robots, cámaras y cintas transportadoras. El
proyecto contiene los elementos que se desea elegir y las conexiones entre áreas
de trabajo, elementos y cámaras.
En general, cada línea se crea y configura una vez y los elementos que no cambian
con frecuencia se guardan en un archivo de línea separado. Puede haber varias
líneas configuradas. Es posible crear muchos proyectos para usar una misma
línea.
La línea
Los siguientes objetos y configuraciones se guardan en la línea:
• Cámaras
• Robots y controladores
• Cintas transportadoras
• Áreas de trabajo de cinta transportadora e indexadas
• Calibración de la cámara
• Ajustes de las cámaras y de la base de coordenadas de la base
No es posible tener más de una línea abierta a la vez.
El proyecto
Los siguientes objetos y configuraciones se guardan en el proyecto.
• Elementos
• Contenedores y patrones
• Orígenes de posiciones que definen qué, dónde y cuándo elegir y colocar
• Modelos de visión
• Programa de RAPID para los controladores de robot
• Configuración y ajuste de áreas de trabajo
• Configuración del robot
Es posible tener varios proyectos abiertos a la vez, pero todos ellos deben estar
configurados para usar la misma línea.
Información relacionada
Configuración de la línea en la página 69.
Configuración del proyecto en la página 104.
Términos relativos a PickMaster en la página 25.
La línea
Los siguientes objetos y configuraciones se guardan en la línea:
• Cámaras
• Robots y controladores
• Cintas transportadoras
• Áreas de trabajo de cinta transportadora e indexadas
• Calibración de la cámara
• Ajustes de las cámaras y de la base de coordenadas de la base
No es posible tener más de una línea abierta a la vez.
Nota
El proyecto
Los siguientes objetos y configuraciones se guardan en el proyecto.
• Elementos
• Contenedores y patrones
• Orígenes de posiciones que definen qué, dónde y cuándo elegir y colocar
• Modelos de visión
• Programa de RAPID para los controladores de robot
• Configuración y ajuste de áreas de trabajo
• Configuración del robot
Es posible tener varios proyectos abiertos a la vez, pero todos ellos deben estar
configurados para usar la misma línea.
Información relacionada
Configuración de la línea en la página 69.
Configuración del proyecto en la página 104.
Términos relativos a PickMaster en la página 25.
Requisitos previos
Cualquier persona que trabaje en la instalación de un robot ABB debe haber
recibido formación de ABB y tener conocimientos sobre trabajos de tipo mecánico
y eléctrico.
Lista de términos
Las palabras que aparecen en cursiva en la columna de definición están incluidas
en la lista de términos y tienen sus propias definiciones.
Término Definición
Contenedor Define qué patrones y qué elementos deben utilizarse para
cada posición de los patrones.
Elemento El término genérico para referirse a un objeto concreto que
debe ser elegido y colocado en una aplicación PickMaster.
Línea Una descripción de los objetos estáticos de una instalación
de PickMaster, como sus robots o áreas de trabajo.
Origen de posiciones Define cómo se generan las posiciones de los elementos y a
qué área de trabajo deben enviarse.
Proyecto Una descripción de un proceso de elección de PickMaster
aplicado a una línea determinada. Es posible definir varios
proyectos para cada línea.
Área de trabajo Una representación en PickMaster de las áreas de elección y
colocación.
3 Instalación
3.1 Software PickMaster
Nota
Nota
Configuración
El servicio de sincronización se basa en el protocolo de tiempo de precisión (PTP),
que a su vez implementa la norma IEEE 1588. Este protocolo utiliza mensajes de
multidifusión a través de UDP/IP y requiere que los puertos UDP 319 y 320 estén
disponibles (para tráfico tanto entrante como saliente). Por tanto, es necesario
que ningún firewall esté bloqueando estos puertos. Póngase en contacto con su
administrador de sistemas para asegurarse de que se hagan las configuraciones
adecuadas.
El servicio de sincronización de tiempo debe estar configurado para funcionar en
el puerto de interfaz de red correcto del PC, es decir, en el puerto de red que se
comunica con los controladores del robot. Esto puede configurarse durante la
instalación de PickMaster o seleccionando Opciones en el menú Archivo.
Información relacionada
Definición de opciones de PickMaster en la página 242.
3.4.1 Requisitos
Requisitos de software
A continuación se enumeran los requisitos de software:
Requisitos de software
Windows 7 (versión de 64 bits, versión de 32 bits), Windows Embedded Standard 7 (versión
de 64 bits, versión de 32 bits) y Windows 10 (versión de 64 bits).
RobotWare 5.05 o posterior
Requisitos de hardware
A continuación se enumeran los requisitos previos para la instalación de
PickMaster:
• Un ordenador que cumpla o rebase los requisitos de sistema especificados
para RobotStudio.
• Una cuenta de inicio de sesión con derechos de administrador en el
ordenador.
Requisitos de hardware
CPU: Procesador a 2,0 GHz o más rápido; se recomienda un procesador multinúcleo. La
visión en color es especialmente exigente en cuanto a los recursos.
Memoria: 1 GB de RAM o más (se recomienda más).
Espacio disponible en disco: Más de 5 GB en el disco de sistema, más de 250 MB en el
disco de instalación
El sistema de visión con Ethernet de gigabit requiere una ranura PCI Express x4 de altura
completa o perfil bajo. También es compatible con PCI Express x8 y x16.
Nota
Descripción general
Se utiliza un switch de Ethernet para conectar el PC a múltiples controladores de
robot. Se recomienda utilizar un switch industrial no administrado con una velocidad
de comunicación de 100 Mbit/s o superior. Se ha comprobado que los switches
que implementan el protocolo 1588 PTP interfieren con la comunicación del
controlador de robot y no deben usarse.
Descripción general
PickMaster puede adquirir imágenes y generar objetivos a través de cámaras que
se comunican a través de Ethernet. Para la comunicación entre las cámaras y el
PC de PickMaster se utiliza una red Ethernet (adaptador de red, cables, switches).
El disparo/muestreo y la tensión de alimentación se conectan a un conector Hirose
de 12 pines situado en la carcasa de la cámara. Preferiblemente, la tensión de
alimentación a la cámara Ethernet se suministra desde una fuente separada
independiente del controlador del robot.
Nota
Nota
Con ello, puede definir los filtros de color que se ejecutarán como paso
previo a PatMax y Blob. El filtro está disponible en los modos
independiente, alineación e inspección secundaria.
en0800000300
A Cámara
B Apantallamiento
C Blanco
D Marrón
E Verde
F Amarillo
G Gris
H Rosa
J Azul
K Rojo
L Negro
M Violeta
N Gris/rosa
P Rojo/azul
Q Tierra
CamPower- 0/24 V para la alimentación de la cámara. Preferiblemente obtenida de una
fuente que permanezca encendida incluso si el controlador de robot está
apagado.
CamI/O- 0/24V para el sistema de E/S de la cámara.
Disparador La señal de entrada que ordena a la cámara la adquisición de una imagen.
Muestreo La señal de salida que indica que la cámara ha adquirido una imagen.
X No se usa
Montaje
Todas las cámaras deben montarse de una forma muy estable para evitar la
vibración y otros movimientos dinámicos. Las cámaras pueden montarse con
cuatro orientaciones diferentes, pero se recomienda que el cuerpo de la cámara
quede orientado hacia el robot o situado en perpendicular al eje X del área de
trabajo.
Iluminación
Una iluminación uniforme del área de imagen es muy importante para conseguir
unos resultados fiables.
Objetivos recomendados
Al planificar una célula es importante elegir una configuración de cámara/objetivo
idónea que proporcione un campo de visión (FOV) adecuado.
El FOV de una cámara se determina a través de tres factores:
• La distancia entre la cámara y la escena.
• La longitud focal del objetivo.
• El tamaño del chip de sensor de la cámara (normalmente especificado como
la longitud de la diagonal del chip, expresada en pulgadas).
xx0900000550
A Chip de sensor
B Objetivo
C Altura del chip (mm)
C Anchura del chip (mm)
D Distancia del objetivo a la escena (mm)
E Escena
f Longitud focal de la cámara (mm)
H Altura de la escena (mm)
W Anchura de la escena (mm)
Para elegir un objetivo adecuado, mira la distancia existente entre la cámara y los
elementos (D) y el tamaño del área de imagen (W*H).
Para calcular la longitud focal adecuada del objetivo:
• Si el factor más importante es la altura del área de imagen: f = (D/W)*Cw
• Si el factor más importante es la longitud del área de imagen: f = (D/H)*Ch
xx0900000565
Una longitud focal menor proporciona un campo de visión más ancho, es decir,
que el valor devuelto es la longitud focal máxima para obtener los valores W y H
especificados.
Configuración del PC
Utilice el procedimiento siguiente para configurar el PC.
1 Instale la tarjeta de interfaz de red (NIC).
2 Inserte el dispositivo USB.
El dispositivo USB contiene la licencia de Cognex para el sistema de visión
Gigabit Ethernet y debe permanecer conectado al ordenador en todo
momento durante la ejecución de PickMaster.
3 Conecte el PC a la red del controlador.
Información relacionada
La forma de configurar la red se describe en la sección Configuración de las redes
en la página 48.
La forma de instalar PickMaster se describe en la sección Instalación en la
página 27.
Los requisitos relativos al PC se describen en Requisitos del sistema en la
página 32.
Requisitos previos
Asegúrese de que toda la alimentación esté apagada antes de conectar las
cámaras. Conexión de las cámaras
Nota
Información relacionada
Diagrama de circuitos del IRC5 - 3HAC024480-008.
Diagrama de circuitos de S4cplus
Requisitos previos
Asegúrese de que toda la alimentación esté apagada.
Conexiones de E/S
El bucle de disparo-muestreo permite una sincronización muy exacta entre el
controlador de robot y la imagen adquirida. El puerto de E/S de la cámara Gigabit
Ethernet cierra este bucle.
Para poder utilizar más de una conexión en la entrada número 9 (StartSig) en la
tarjeta codificadora recomendamos utilizar diodos, por ejemplo el diodo
HER105/Taw1A 400V DO41 (ABB no ofrece asistencia para estos diodos). De esta
forma, se elimina la posibilidad de que se produzcan inversiones de corriente.
Información relacionada
Diagrama de circuitos del IRC5 - 3HAC024480-008.
Diagrama de circuitos de S4cplus
Señales de E/S en la página 67.
Señales de E/S predefinidas en la página 68.
Configuración de la cinta transportadora y el área de trabajo de la cinta
transportadora en la página 74.
Configuración de un área de trabajo indexada en la página 77.
Requisitos previos
Si utiliza menos de cinco tarjetas codificadoras, el número de tarjetas de E/S
digitales instaladas debe estar definido. De forma predeterminada hay una tarjeta
de E/S simulada.
Nota
20.000 conteos por metro es el valor recomendado para los robots de elección.
No se recomiendan valores inferiores a 5.000 por metro, puesto que reduciría
la precisión de seguimiento del robot de forma considerable.
Nota
Información relacionada
Diagrama de circuitos del IRC5 - 3HAC024480-008.
Diagrama de circuitos de S4cplus
Nota
Nota
xx0800000319
Nota
Nota
Nota
¡CUIDADO!
El paso del tráfico de las cámaras y de los controladores por una misma red
puede dar lugar a graves problemas de comunicación.
• WINS: N/A.
RobotWare
PickMaster admite los controladores de robot S4Cplus e IRC5. RobotWare se
instala en el controlador de robot. Para el funcionamiento de PickMaster se requiere
la opción Prepared for PickMaster.
Para obtener más información, consulte el manual de producto del controlador;
consulte Referencias en la página 9.
Señales de E/S
La forma de configurar las señales y tarjetas de E/S se describe en la sección
Señales de E/S en la página 67.
Las señales de E/S predefinidas se describen en la sección Señales de E/S
predefinidas en la página 68.
Información relacionada
Manual de producto del controlador; consulte Referencias en la página 9.
Manual de referencia técnica - Parámetros del sistema.
Configuración de robot de seis ejes en la página 54.
Introducción
Es posible realizar menos modificaciones en los parámetros del sistema.
Tema Process
El siguiente parámetro puede modificarse en el tema Process. Pertenece al tipo
Conveyor systems.
Parámetro Descripción
maximum distance Define la distancia de seguimiento estándar de un objeto
de trabajo de transportador antes de cambiar a un nuevo
objeto de trabajo. De forma predeterminada es de 20.000
mm. El cambio de objeto de trabajo se realiza de forma
automática y rápida pero puede consumir cierto tiempo de
proceso de una aplicación de selección a alta velocidad. El
incremento del valor puede mejorar levemente el tiempo
de ciclo.
Tema Process
Los tres parámetros siguientes pueden modificarse en el tema Process. Pertenecen
al tipo Conveyor systems.
Parámetro Descripción
Start ramp Esta es la rampa de filtro de inicio de corrección que
se utilizará al conectarse a una cinta transportadora
en movimiento. De forma predeterminada tiene el valor
5 (pasos).
Ajuste este parámetro si se requiere una exactitud
mayor. Un valor menor proporciona una mayor exacti-
tud pero el manipulador puede presentar sacudidas al
conectarse al objeto de movimiento.
Stop ramp Esta es la rampa de filtro de fin de corrección que se
utilizará al desconectarse de una cinta transportadora
en movimiento. De forma predeterminada tiene el valor
diez (pasos).
Ajuste este parámetro para eliminar las sacudidas del
manipulador al abandonar el objeto de movimiento. Un
valor menor proporciona una mayor exactitud al
abandonar la cinta transportadora.
Adjustment speed Esta es la velocidad (en mm/s) con la cual el robot debe
recuperar terreno perdido hasta la cinta transportadora
con el primer punto coordinado con la posición de la
cinta transportadora. Debe ser superior a la velocidad
de la cinta transportadora o el robot no podrá recuperar
el terreno perdido hasta la cinta transportadora.
El ajuste de velocidad no debe ser superior al 130%
de la velocidad de la cinta transportadora, con el fin
de reducir las posibles perturbaciones de la velocidad
del robot.
Tema Motion
Los dos parámetros siguientes pueden modificarse en el tema Motion. Pertenecen
al tipo Robot o al tipo Motion Planner.
Parámetro Descripción
Use Six Axes Corvec Permite añadir un ajuste de posición en los seis ejes y
con ello conseguir una orientación exacta de la herra-
mienta. De lo contrario, la corrección sólo se realiza en
los ejes 1, 2 y 3 y la exactitud de la orientación es me-
nor.
Este parámetro sólo puede activarse en los robots de
seis ejes. Si el parámetro Use Kinematic Corvec
está activado, el parámetro Use Six Axes Corvec
no es necesario y no debe usarse.
Parámetro Descripción
Path Step Adjustment Type Añade la cadena TWO_STEPS para cambiar la planifica-
ción del movimiento para utilizar una interpolación en
dos pasos.
Esto puede utilizarse si aparece el mensaje de error
siguiente sin motivo aparente: 50050: Posición fuera
de alcance. Este parámetro puede provocar fallos de
movimiento al pasar por singularidades y extender el
eje 3, cuando los brazos inferior y superior están alinea-
dos.
Nota
Descripción
El CTM es una interfaz de transportador basada en red que ofrece conexiones
para 4 codificadores y 8 cámaras.
xx1800000346
Para obtener más detalles acerca del módulo de seguimiento del transportador,
consulte Application manual - Conveyor tracking.
Funciones
Conexiones Ethernet
El CTM incluye puertos Ethernet WAN y LAN. El puerto WAN del CTM debe
conectarse a la misma red Ethernet que los controladores de robot. Los
controladores de robot deben estar conectados a la misma red con sus puertos
WAN o LAN 3. Si el CTM solo es utilizado por un controlador de robot, por ejemplo
un CTM montado internamente, el puerto WAN del CTM debe conectarse al puerto
LAN 2, LAN 3 o WAN del controlador de robot a través de un switch.
Nota
Distribuciones de alimentación
El CTM incluye dos entradas de alimentación, la entrada de alimentación (X1) y
una entrada de alimentación de la cámara opcional (X20). La entrada de
alimentación es de 24 V, suministra alimentación a todas las funciones principales
del módulo CTM, como se muestra en la siguiente figura:
xx1800000347
protección de corriente del CTM hasta las salidas individuales de los conectores
de la cámara (X21-X28), como se muestra en la siguiente figura:
xx1800000348
Descripción
Un codificador se conecta a una única interfaz de codificador en el CTM. Si varios
robots están siguiendo el mismo transportador, el CTM suministra su velocidad y
posición a todos los controladores de robot a través de comunicación de red.
El módulo de seguimiento del transportador CTM (DSQC2000) puede ubicarse
dentro del controlador de robot o en un armario situado cerca del codificador del
transportador (para reducir la longitud del cable entre el CTM y el codificador).
xx1800000365
xx1800000366
xx1800000367
Montado en el controlador de robot, compartiendo la información del transportador con otros controladores
Cuando el módulo CTM está conectado a la misma red que los controladores de
robot, el módulo CTM puede compartir la información del transportador con todos
los controladores de robot.
xx1800000368
Nota
Montado en el exterior del controlador de robot, compartiendo la información del transportador con otros
controladores
El módulo CTM puede montarse externamente, es decir, en el exterior del
controlador de robot.
xx1800000369
Nota
Montado en el interior del controlador de robot, sin compartir información del transportador
Si no se comparte el transportador con ningún otro controlador de robot, el CTM
puede instalarse dentro del controlador mediante la red LAN. Esto reducirá el
número de puertos WAN externos necesarios en el controlador de robot.
xx1800000370
Nota
Descripción
El CTM contiene 8 conexiones de cámaras para conectar cámaras o señales de
sincronización. Las cámaras pueden recibir alimentación eléctrica de forma
independiente o a través del CTM.
La entrada de la señal de sincronización es compatible con sensores de tipo PNP
y Push-Pull y puede recibir alimentación a través de la salida Sync_Pwr o
externamente. La salida de disparo es una señal de salida digital de 24 V.
La configuración que se muestra en la siguiente figura admite protección frente a
sobrecarga en CameraPower, Sync_Power y Trig_output. La función de detección
de conexión y la función de diagnóstico/protección frente a sobrecarga están
presentes en Sync_Power y Trig_output.
xx1800000371
xx1800000372
Descripción
La señal de entrada de sincronización en cada uno de los conectores de cámaras
también se puede utilizar como un interruptor de sincronización. Puede recibir
alimentación a través de la salida Sync_Pwr o externamente y admite sensores
de tipo PNP y Push-Pull, como se muestra en la siguiente figura:
xx1800000375
Descripción general
Es posible activar una ventana de inicio de sesión de aplicación para restringir el
acceso a PickMaster para diferentes usuarios. Para activar la ventana de inicio de
sesión, haga clic en Archivo -> Opciones -> Habilitar autentificación de usuarios.
La ventana de inicio de sesión se muestra si la casilla de verificación Bloquear
puesto de trabajo está marcada en la barra de herramientas y cuando se reinicie
la aplicación.
Se incluye un usuario administrador predeterminado con acceso completo y con
las siguientes credenciales:
• Usuario: admin
• Contraseña: password
Es posible modificar este usuario y crear otros. Se requiere al menos un usuario
admin.
4 Configuración
4.1 Configuración de E/S
Nota
La longitud máxima del nombre de una señal del área de trabajo de PickMaster
es de 15 caracteres.
Información relacionada
Señales de E/S predefinidas en la página 68.
Manual del operador - RobotStudio.
Manual del operador - IRC5 con FlexPendant.
Nota
Nota
4.2.1 Introducción
Descripción general
La línea describe la configuración de los objetos de la línea física, es decir, sus
cámaras, cintas transportadoras, áreas de trabajo y robots. Siempre y cuando los
objetos de la línea física no cambien, no es necesario editar la línea.
La vista de línea muestra una representación de la línea. La orientación y colocación
de los objetos en la vista de la línea no tiene relevancia para la configuración. Sin
embargo, resulta conveniente colocar los objetos de forma que la vista de la línea
se parezca a la línea física.
Para añadir o editar objetos de la línea, haga clic con el botón derecho en la vista
de la línea. Las líneas se guardan en archivos .pmline.
Nota
Para hacer cambios en una línea, es necesario cerrar todos los proyectos.
Para configurar una nueva línea:
1 En el menú Archivo, seleccione Nueva línea.
2 Añada un controlador de robot; consulte Configuración del controlador de
robot en la página 71.
3 En caso necesario, añada una cinta transportadora; consulte Configuración
de la cinta transportadora y el área de trabajo de la cinta transportadora en
la página 74.
4 En caso necesario, añada un área de trabajo de cinta transportadora; consulte
Configuración de la cinta transportadora y el área de trabajo de la cinta
transportadora en la página 74.
5 En caso necesario, añada una cinta transportadora indexada; consulte
Configuración de un área de trabajo indexada en la página 77.
6 En caso necesario, añada una cámara; consulte Configuración de la cámara
en la página 80.
7 En caso necesario, añada un sensor externo; consulte Configuración de un
sensor externo en la página 84.
8 Calibre la línea; consulte Definición del parámetro Counts Per Meter en la
página 86 y Calibración de la cámara en la página 88.
9 Verifique las calibraciones; consulte Verificación de las calibraciones en la
página 101.
Nota
Nota
Requisitos previos
El controlador de robot debe estar instalado y disponible en la red.
Si se ha actualizado RobotWare en el controlador de robot, es necesario volver a
seleccionar el controlador en la línea.
en0900000528
Sección Descripción
Controlador Esta sección muestra información acerca del controlador de robot
seleccionado. Haga clic en el botón Cambiar... para cambiar de
controlador de robot.
Nota
Robots Muestra una lista con los robots configurados en el controlador se-
leccionado. Active la casilla de verificación correspondiente para
usar un robot. En esta sección puede cambiar el nombre de los ro-
bots.
Autorización de El controlador IRC5 se suministra siempre con un Usuario prede-
usuarios terminado que dispone de un acceso total, pero también es posible
seleccionar en esta sección cualquier usuario configurado para el
controlador.
Archivos de registro Para mostrar correctamente los eventos de registro provenientes
de errores del controlador, es necesario descargar los textos de los errores
del controlador. Los archivos se guardan en una subcarpeta deno-
minada Irc5Files y se descargan una única vez por cada contro-
lador. Los archivos necesarios se descargan automáticamente
cuando es necesario, pero es posible descargarlos manualmente
haciendo clic en el botón Actualizar.
xx1400002096
en0900000529
Señal Descripción
Generador de posicio- La señal digital de entrada que indica que es el momento de generar
nes una nueva imagen de visión o generar nuevas posiciones predefini-
das. Esta señal no se tiene en cuenta si se usa una cinta transpor-
tadora disparada por distancia.
Disparo Si se utiliza un sistema de visión, es necesario conectar esta señal
digital de salida a la entrada de disparo del puerto de E/S de la cá-
mara. Si se utilizan posiciones predefinidas, esta señal de salida
debe conectarse directamente a la señal de inicio de la tarjeta codi-
ficadora del transportador. La mejor forma de hacerlo es mediante
la señal doManSyncX. Si las posiciones predefinidas solo se distri-
buyen a esta área de trabajo (por ejemplo, PickMaster con un solo
robot), puede usarse la señal de codificador cXSoftSyncSig en lugar
de doManSyncX, es decir, sin necesidad de conectar una señal a
la entrada de puesta en marcha de la tarjeta codificadora.
Nota
Señal Descripción
Marcha/paro de cinta Esta señal de salida se utiliza si la cinta transportadora debe ser
controlada por el área de trabajo.
Cola vacía Esta señal de salida se encuentra en el nivel elevado cuando la
cola de esta área de trabajo está vacía. La señal cambia al nivel alto
cuando se obtiene el último elemento de la cola.
Posición disponible Esta señal de salida tiene el nivel elevado cuando existen uno o
varios elementos entre los límites de entrada y salida del área de
trabajo. (Esto puede utilizarse por ejemplo para la inspección pos-
terior).
Nota
Nota
Nota
en0900000530
Señal Descripción
Generador de posiciones La señal digital de entrada que indica que es el momento de
generar una nueva imagen de visión o generar un nuevo pa-
quete de posiciones predefinidas.
Disparo Si se utiliza un sistema de visión, es necesario conectar esta
señal digital de salida a la entrada de disparo del puerto de
E/S de la cámara. Si se utilizan las posiciones predefinidas,
esta señal de salida debe conectarse directamente a la señal
de entrada de muestreo. La mejor forma de hacerlo es usando
una señal de salida simulada con una conexión lógica cruzada
a una señal simulada de entrada de muestreo.
Muestreo Éste es el nombre de la señal de entrada de la señal de
muestreo. Si se utiliza la visión, la señal debe ser generada
por la salida de muestreo del puerto de E/S de la cámara. Si
se utilizan posiciones predefinidas, el muestreo puede ser
generado directamente por la salida de disparo. La mejor forma
de hacerlo es usando una señal de salida simulada para la
señal de disparo y una conexión lógica cruzada a una señal
simulada de entrada de muestreo.
Señal Descripción
Ejecución del robot Éste es el nombre de la señal digital de entrada que se utiliza
para indicar que se permite al robot ejecutar un objetivo de
elemento. Esta señal se utiliza si es necesario cumplir determi-
nadas condiciones antes de que el origen de elementos del
controlador pueda considerar las posiciones como autorizadas
para la ejecución. La ejecución comienza cuando la señal se
encuentra en el nivel alto y se detiene cuando la señal cambia
al nivel bajo. Si la señal pasa al nivel bajo, todos los elementos
restantes del fotograma que se está ejecutando actualmente
se descartan, de forma que cuando la señal vuelve a pasar al
nivel alto se ejecutan los objetivos de elemento del siguiente
fotograma. La señal debe pasar también al nivel bajo una vez
terminado un fotograma y pasar de nuevo al nivel alto para
iniciar la ejecución de los objetivos de elemento del fotograma
siguiente.
Cola vacía Esta señal de salida se encuentra en el nivel elevado cuando
la cola de esta área de trabajo está vacía. La señal cambia al
nivel alto cuando se obtiene el último elemento de la cola.
Posición disponible Esta señal de salida tiene el nivel alto cuando hay uno o varios
elementos mientras la señal Ejecución del robot está en el nivel
alto para el área de trabajo. Si no se utiliza ninguna señal Eje-
cución del robot, la señal Posición disponible pasa al nivel alto
tan pronto como la cola contenga algún elemento.
Introducción
El uso de cámaras y modelos de visión asociados permite localizar objetos dentro
de un área determinada. Cuando se crea una cámara en la vista de línea, ésta no
está conectada a ninguna cámara física. Es necesario hacerlo manualmente en la
ventana de diálogo de configuración de la cámara. La cámara de la vista de línea
se configura para utilizar una cámara física en concreto. La cámara debe
configurarse también para generar una imagen óptima.
Para configurar la cámara en la línea.
1 En la vista de línea, haga clic con el botón derecho y seleccione Añadir
cámara.
Aparece la ventana de diálogo Configuración de cámara.
en0900000531
Nota
3 Configure un puerto.
4 Configure Formato de vídeo para mostrar imágenes en color o monocromas.
5 Cargue las imágenes. Existen dos formas de cargar imágenes en las distintas
ventanas de diálogo de visión.
• Cargar las imágenes desde cualquier carpeta mediante el botón
"Importar" de las distintas ventanas de diálogo.
• Lea los archivos de imágenes desde una carpeta de imágenes
registrada. Cada cámara tiene una imagen predeterminada para el
modelado y un conjunto de imágenes para la calibración que pueden
activarse presionando "Adquirir" en la ventana de diálogo de
calibración. Se requiere cierta configuración adicional destinada a
instalar una imagen registrada como se describe a continuación.
Defina la rutas de archivos que PickMaster utilizará para buscar las imágenes.
Esto se hace mediante la ejecución del archivo "DongleSettings.reg" que se
encuentra en el CD de PickMaster dentro "\PickMaster\DongleData\". Las
rutas de búsqueda se almacenan en el Registro de Windows y pueden
editarse. La ubicación predeterminada de la carpeta de imágenes es
Información relacionada
Utilización de la visión en color en la página 159.
Calibración de la cámara en la página 88.
Descripción general
Un sensor externo es un componente de software que ofrece a colaboradores
externos un control total de cómo se generarán las posiciones de elemento. Un
sensor externo puede utilizar cualquier tipo de detección de elementos, como
lectores de códigos de barras, cámaras o una combinación de sensores fotográficos
para generar posiciones de elemento. Si se utilizan cámaras, puede utilizarse
cualquier combinación de hardware de visión y algoritmos de búsqueda de
imágenes. Existe una interfaz para la implementación de sensores externos como
componentes de software en .NET, por ejemplo usando C# como lenguaje de
programación. Para obtener más información, consulte Descripción general del
de External Sensor .NET en la página 215.
Un servidor de sensores también puede implementarse como un objeto COM.
Para saber más acerca de cómo se implementan los sensores externos como
objetos COM, consulte el archivo PickMaster SDK.pdf de la carpeta de instalación.
Si se utiliza un sistema de visión externo, puede ser necesario desactivar el sistema
de visión interno de PickMaster para evitar que los dos sistemas intenten
conectarse a la misma cámara. Consulte la sección Definición de opciones de
PickMaster en la página 242.
Descripción general
Las calibraciones necesarias para las líneas de PickMaster son las calibraciones
de cámaras y las de áreas de trabajo. La calibración de áreas de trabajo es una
calibración de base de coordenadas de la base para las áreas de trabajo de la
cinta transportadora y una definición de objetos de trabajo para las áreas de trabajo
indexadas. El concepto clave es definir un origen de sistema de coordenadas
común para una cámara y una base de coordenadas de la base de robot o un
objeto de trabajo.
Cada cámara debe ser calibrada separadamente. La calibración de la base de
coordenadas de la base se requiere siempre que se utilicen sistemas de cinta
transportadora.
La calibración de la cámara se almacena en la línea para que todos los proyectos
de la línea compartan la misma calibración. Si necesita calibrar una línea, todos
los proyectos de la línea se actualizarán con la nueva calibración.
La calibración de la cámara y la calibración del área de trabajo pueden realizarse
de forma independiente una de la otra, pero resulta muy difícil conseguir una
calibración exacta de una nueva cámara una vez calibrada el área de trabajo.
La calibración del área de trabajo se almacena en el controlador de robot.
Para calibrar la línea:
1 Defina el parámetro Counts Per Meter (Sólo para cintas transportadoras);
consulte Definición del parámetro Counts Per Meter en la página 86.
2 Calibre la cámara; consulte Calibración de la cámara en la página 88.
Introducción
El parámetro de sistema Counts Per Meter se utiliza para calibrar el codificador
del transportador. El parámetro de sistema Counts Per Meter pertenece al tipo
Fieldbus Command del tema I/O.
Valor Descripción
position1 La posición de la cinta transportadora tras el movimiento.
Léala en la ventana de movimiento manual del FlexPen-
dant.
old_counts_per_meter El valor anterior del codificador.
Nota
Información relacionada
Application manual - Conveyor tracking.
Manual de referencia técnica - Parámetros del sistema.
Introducción
Descripción general
La calibración de la cámara define el origen del sistema de coordenadas compartido
por la cámara y la base de coordenadas de la base del robot o el objeto de trabajo.
Si la cámara se utiliza con un área de trabajo de cinta transportadora, la calibración
de la cámara debe realizarse antes de la calibración de la base de coordenadas
de la base, dado que el origen de calibración de la cámara actúa como punto de
referencia común para las dos calibraciones. Una vez completada la calibración
de la cámara, el origen se guarda y el usuario puede ver gráficamente este origen
una vez realizada la calibración de la base de coordenadas de la base.
Nota
Calibración multivista
La cámara puede calibrarse utilizando una o varias imágenes. La diferencia al
utilizar más de una imagen es que se calcula la posición de la cámara en el espacio.
Esta información espacial se utiliza tanto en las aplicaciones 2.5D cuando es
necesario determinar la altura del producto, y para la compensación de los errores
de paralaje en las aplicaciones 2D puras. Consulte Trabajo con productos de altura
variable (visión 2,5D) en la página 166.
La exactitud de la calibración multivista se incrementa con el número de imágenes
de entrada. Utilice al menos tres imágenes con ángulos de inclinación y altitudes
diferentes. El uso de múltiples imágenes de planchas de calibración en planos
paralelos no incrementa la exactitud.
Requisitos previos
La calibración de la cámara se realiza utilizando plantillas de calibración que debe
imprimir previamente. Las plantillas de calibración se encuentran en la instalación
de PickMaster y en el CD.
Figura
en0900000647
en0900000532
Calibración de la cámara
La ventana de diálogo Calibración de cámara puede usarse para gestionar
calibraciones de cámaras para la cámara especificada. Es posible crear, editar,
importar y exportar calibraciones.
Utilice este procedimiento para calibrar la cámara.
1 Haga clic con el botón derecho en la cámara en la vista de línea y seleccione
Calibrar.
Aparece la ventana de diálogo Resumen de calibración de cámara.
2 Seleccione la calibración predeterminada en la lista y haga clic en Editar.
Aparece la ventana de diálogo Configuración de cámara.
Recomendación
Recomendación
Nota
Resultados de calibración
Resultado Descripción
Residual máx. El error residual máximo de la calibración.
Residual medio El error residual medio de la calibración.
Tiempo de curvatura El tiempo necesario para corregir una imagen. Este tiempo
debe tenerse en cuenta a la hora de calcular el tiempo total
del análisis de imágenes.
Tamaño de imagen El tamaño resultante en píxeles de la imagen corregida.
Vista de cámara El tamaño resultante de la vista de cámara calculado con la
nueva calibración.
Ubicación de cámara La posición de la cámara con relación al origen de la plancha
de calibración de origen.
Introducción
Para cada área de trabajo de transportador, es necesario realizar una calibración
de la base de coordenadas de la base del transportador. La calibración de la base
de trabajo de la base proporciona al robot un punto de referencia utilizado al elegir
o colocar objetos detectados por el sensor en el área de trabajo.
Nota
Nota
xx1400002097
Nota
xx1400002098
xx1400002099
xx1400002100
Nota
Introducción
Para las áreas de trabajo indexadas, es necesario realizar una calibración del
objeto de trabajo. La calibración del objeto de trabajo genera un punto de referencia
para el robot a la hora de elegir o colocar objetos detectados por el sensor en el
área de trabajo.
xx1400002201
Nota
7 Toque Aceptar.
8 Reinicie el programa de RAPID (sin mover el PP) para guardar la definición
del objeto del trabajo seleccionado.
La definición se guarda en la matriz de datos de RAPID NonCnvWOData
situada en el módulo de sistema ppaUser.
xx1400002202
Introducción
La calibración se verifica con ayuda de una plantilla de verificación de calibración.
Esta plantilla presenta un modelo que se programa y usa como una diana que
debe encontrar el robot. La misma herramienta se utiliza en este caso para la
calibración de la base de coordenadas de la base.
El archivo que contiene la plantilla de verificación de la calibración se encuentra
en el paquete de PickMaster.
Para conseguir una calibración muy buena, es posible que sea necesario realizar
más de una vez los pasos de ajuste de calibración de la cámara y ajuste de la base
de coordenadas de la base. En cada ocasión, el resultado debe estar más cerca
de la calibración óptima.
Nota
xx0900000649
Si los orificios están girados con respecto al centro de los objetos, ajuste la
calibración de la cámara. En el gráfico anterior es adecuado usar un valor
positivo, por ejemplo 0,3.
xx0900000650
en0900000651
en0900000652
Descripción general
Los proyectos definen la forma de encontrar los objetos y cómo éstos deben ser
elegidos y colocados por los robots.
Los proyectos se guardan en archivos .pmproj.
Requisitos previos
Es necesario tener configurada una línea.
xx0900000504
xx0900000503
xx0900000511 xx0900000512
xx0900000513
xx0900000514
xx0900000515 xx0900000516
en0900000521
Configuración de elementos
Utilice este procedimiento para configurar los elementos del proyecto.
1 Haga clic con el botón derecho en la vista de proyectos y seleccione Nuevo
elemento.
2 Para editar el elemento, haga clic con el botón derecho en el elemento y
seleccione Editar.
3 En caso necesario, defina niveles para los tipos de elementos aceptados o
rechazados.
Cuando se usa la inspección, los elementos encontrados se marcan como
aceptados o rechazados. Los valores de los tipos de elementos aceptados
y rechazados en la ventana de diálogo Configuración de elemento se envían
al programa de RAPID y se procesan en él. Consulte Configuración de
modelos de inspección en la página 149.
4 En la sección Tamaño, defina el tamaño del elemento.
xx0900000522
A Cámara
B Punto de sujeción ajustado
C Punto de sujeción de modelo de visión
D Altura de elemento
E Ángulo X
F Ángulo Y
G Dirección de la cinta transportadora
Nota
Información relacionada
Configuración de modelos de inspección en la página 149.
en0900000523
en0900000524
Configuración de patrones
Utilice este procedimiento para configurar patrones.
1 Haga clic con el botón derecho en el proyecto y seleccione Editar patrones.
Aparece la ventana de diálogo Configuración de patrón.
2 Haga clic en Nuevo para crear un nuevo patrón o en Editar para editar el
patrón seleccionado.
Aparece la ventana de diálogo Configuración de posición.
Los patrones pueden ser copiados, eliminados, importados y exportados.
Los patrones sólo pueden ser eliminados si no se utilizan en ningún
contenedor del proyecto. Es posible importar patrones desde archivos de
patrones (*.pmpattern) o desde otros proyectos.
3 Haga clic en Nuevo para crear una nueva posición o en Editar para editar
la posición seleccionada.
Aparece la ventana de diálogo Posición de patrón.
4 Defina la posición en milímetros y los ángulos en los que debe
colocarse/elegirse cada elemento.
Cada elemento tiene una posición relativa respecto del origen del patrón.
Un robot de cuatro ejes (es decir, el IRB 360) sólo puede girar alrededor del
eje z y por tanto sólo se usa Ángulo Z.
Los robots de seis ejes pueden elegir y colocar los elementos en patrones
3-D definiendo el Ángulo X y el Ángulo Y de la orientación Euler y la Posición
de rotación desde base de coordenadas para cada patrón.
5 Haga clic en Aceptar.
Posiciones de patrón
El Ángulo X y el Ángulo Y indican la orientación en grados de la superficie del
patrón en la que deben elegirse/colocarse los distintos elementos. Cada orientación
tiene una orientación respecto del origen el patrón.
Ángulo Z es la rotación del elemento en la superficie del patrón en el que deben
elegirse/colocarse los distintos elementos.
Posición de rotación desde base de coordenadas es la distancia desde la base
de coordenadas de la base de la cinta transportadora hasta el origen del patrón,
es decir, la altura hasta el punto de sujeción del modelo de visión.
Es importante definir una herramienta de calibración correcta al calibrar la base
de coordenadas de la cinta transportadora, de forma que la orientación sea correcta
en relación con el punto de sujeción del elemento (punto de elección/colocación).
También es importante realizar la calibración de la cámara a la misma altura que
el punto de sujeción del elemento, es decir, el punto de sujeción del modelo de
visión.
Requisitos previos
Debe tener definido al menos un elemento en el proyecto antes de configurar el
contenedor.
en0900000525
Configuración de contenedores
Utilice este procedimiento para configurar contenedores para el proyecto.
1 Haga clic con el botón derecho en la vista de proyectos y seleccione Nuevo
contenedor.
Aparece la ventana de diálogo Configuración de contenedor.
Continúa en la página siguiente
Manual de aplicaciones - PickMaster 3 113
3HAC031978-005 Revisión: U
© Copyright 2008-2020 ABB. Reservados todos los derechos.
4 Configuración
4.3.4 Configuración de contenedores
Continuación
Nota
Descripción general
El objeto central del proyecto es el origen de posiciones. Define la generación de
las posiciones de elemento y su envío al área de trabajo.
Para configurar el origen de posiciones:
1 Haga doble clic en Origen de posiciones o haga clic con el botón derecho
en Origen de posiciones y seleccione Editar para abrir la ventana de diálogo
Configuración de origen de posiciones.
2 Seleccione valores en Tipo de origen, Tipo de disparador y Distancia de
disparo.
3 En la pestaña Distribución, configure la distribución de elementos; consulte
Distribución de elementos en la página 120.
4 Seleccione el tipo de origen y configure los modelos en las pestañas Visión,
Predefinido o Externo; consulte Tipo de origen y modelos en la página 123.
5 Configure los componentes de software de otros fabricantes en la sección
Vínculos de usuario; consulte User Hook de PickMaster en la página 125.
en0900000520
donde min (Rx) es la altura mínima del área de interés y max(Mx) es la distancia
diagonal más grande de todos los modelos definidos como se muestra en la
siguiente imagen.
Mx
Rx
Área de interés
xx1300000654
Filtro de posición
El filtro de posición define la distancia mínima permitida entre posiciones de
elemento distintas encontradas por una cámara o un sensor externo. Por ejemplo,
si utiliza dos o más modelos para identificar un mismo objeto, podría existir una
coincidencia en cada modelo en prácticamente la misma ubicación. Si las dos
posiciones de un mismo elemento están más cerca en la dirección X o la dirección
Y que la distancia mínima definida entre elementos, solo la posición que presenta
el valor de clasificación más alto se enviará al controlador del robot. Es posible
definir el valor de clasificación de cada modelo de visión. Para obtener más detalles,
consulte Modelos de visión en la página 132. Si Solo del mismo nivel está
seleccionado, solo se filtrarán las posiciones de elemento que tengan el mismo
nivel de inspección.
Nota
Superposición de filtros
Los elementos pueden identificarse en dos fotogramas consecutivos debido a la
superposición. Los modelos pueden tener una pequeña variación en la posición
de elección y colocación entre estos fotogramas. Los elementos que se encuentran
en dos fotogramas consecutivos y cuya posición de elección y colocación no varíe
de un fotograma a otro más que la distancia indicada en la superposición de filtros
serán considerados como un mismo elemento.
Distribución de elementos
De forma predeterminada, todas las posiciones se envían a la misma área de
trabajo. Es posible distribuir las posiciones de elemento a más de un área de
trabajo, para repartir la carga entre varios robots o para garantizar el acceso a
todas las posiciones.
Todas las posiciones de un tipo de elemento determinado son distribuidas a los
robots por un solo distribuidor de elementos. Existen cuatro tipos de distribuidores
de elementos.
• Área de trabajo: Las posiciones de elemento son gestionadas por un solo
transportador o área de trabajo indexada.
• Sólo pasar: Las posiciones de elemento se descartan y no son gestionadas
por ninguna área de trabajo. Si no se selecciona ningún distribuidor para un
tipo de elemento, éste se considera como Sólo pasar.
• Grupo de LB: Las posiciones de elemento son gestionadas por áreas de
trabajo incluidas en un grupo de reparto de carga. Un grupo de reparto de
carga es un conjunto de distribuidores de área de trabajo, sólo pasar y grupo
de ATC. Las posiciones de elemento se distribuyen entre las áreas de trabajo
de una forma óptima para evitar el envío de dos posiciones adyacentes a la
misma área de trabajo.
• Grupo de ATC: Las posiciones son gestionadas por áreas de trabajo incluidas
en un grupo de Adaptive Task Completion (ATC). Un grupo de ATC es un
conjunto de áreas de trabajo ordenadas que obtendrán las mismas posiciones
de elemento. El primer robot accede a tantas posiciones como sea posible.
Los demás robots del grupo de ATC acceden a las posiciones que queden
sin procesar. Si la última área de trabajo del grupo es un área de trabajo de
cinta transportadora con inicio y parada, se garantiza que todas las posiciones
serán procesadas.
Para poder usar el reparto de carga o ATC, las áreas de trabajo deben estar
organizadas con el orden en el que se encuentran después del origen de posiciones
(por ejemplo: la cámara o el sensor).
El área de trabajo que dispara el origen de posiciones se define automáticamente.
Al iniciar un proyecto, el área de trabajo del robot que está preparado en primer
lugar se selecciona como área de trabajo de disparador. Si el robot de un área de
trabajo de disparador se para, el área de trabajo de otro robot que esté en
funcionamiento será la que dispare el origen de posiciones.
El control de árbol Distribución de elementos muestra los elementos cuyas
posiciones se deben generar. Los elementos aceptados y rechazados pueden
distribuirse de formas diferentes.
Reparto de carga
Las posiciones de elemento distribuidas por un grupo de reparto de carga se
reparten entre los distribuidores del grupo. Un grupo de reparto de carga puede
contener cualquier número de distribuidores de elementos y un solo distribuidor
puede aparecer varias veces. La proporción entre el número de veces que se
añade un solo distribuidor y el número total de distribuidores define la proporción
de las posiciones de elemento enviadas por ese distribuidor determinado. Las
posiciones de elemento se organizan de la forma óptima entre los distribuidores,
para evitar el envío de posiciones adyacentes a una misma área de trabajo.
Si la opción ATC está seleccionada, todos los grupos de ATC definidos aparecen
enumerados entre los distribuidores disponibles. Además, los grupos de ATC
también pueden añadirse a los grupos de reparto de carga. Sin embargo, para
conseguir la finalización de tareas, el grupo de reparto de carga sólo debe contener
grupos de ATC.
Información relacionada
Modelos de visión en la página 132.
Estados del robot en la página 232.
Personalización de PickMaster con User Hook en la página 208.
Documentación del SDK de PickMasterPickMaster User Hooks.chm.
en0900000527
Nota
Nota
Nota
del robot. El robot debe poder alcanzar esta posición desde cualquier posición
de su área de trabajo antes de que la posición esté fuera de alcance.
I F
E
C D
A
xx1000001344
Nota
Clasificación de elementos
Los elementos identificados por los modelos de visión pueden clasificarse como
aceptados o rechazados. Estos dos tipos pueden distribuirse en áreas de trabajo
diferentes y pueden recibir valores de tipo de elemento diferentes accesibles desde
el programa de RAPID. La clasificación de elementos puede realizarse mediante
PatMax, Mancha y Herramienta de inspección.
Información relacionada
Tipo de origen y modelos en la página 123.
Continúa en la página siguiente
132 Manual de aplicaciones - PickMaster 3
3HAC031978-005 Revisión: U
© Copyright 2008-2020 ABB. Reservados todos los derechos.
4 Configuración
4.3.9 Modelos de visión
Continuación
en0900000539
en0900000656
Nota
Nota
Nota
Nota
Nota
Información relacionada
Configuración de elementos en la página 106.
Utilización de la visión en color en la página 159.
Trabajo con productos de altura variable (visión 2,5D) en la página 166.
Programas de RAPID en la página 321.
Configuración de orígenes de posiciones en la página 116.
xx1500001659
Nota
xx0900000542
A Original
B Erosión
C Dilación
D Apertura
E Cierre
Opciones morfológicas:
• Erosión reduce o elimina las características del objeto y aumenta el
grosor de los orificios del objeto. Esta operación sustituye cada píxel
de la imagen con el valor máximo de los píxeles y cada uno de sus
ocho píxeles cercanos en vertical y horizontal.
• Dilación reduce o elimina los orificios de los objetos y aumenta el
grosor de las características del objeto. Esta operación sustituye cada
píxel de la imagen con el valor mínimo de los píxeles y cada uno de
sus ocho píxeles cercanos en vertical y horizontal.
• Cierre elimina los orificios. Preserva las características pequeñas. Se
aplica una operación de erosión a la imagen, seguida de una operación
de dilación.
• Apertura preserva los orificios. Elimina las características pequeñas
de los objetos. Se aplica una operación de dilación a la imagen, seguida
de una operación de erosión.
Opciones de limpieza:
• Podar ignora, pero no elimina, las características que tengan un tamaño
inferior a un tamaño especificado (tamaño de conectividad). Cuando
se podan de una imagen todas las características cuyo tamaño es
menor que un tamaño determinado, se calculan las medidas de la
mancha que contenía dichas características como si las características
siguieran existiendo, pero las características en sí no se cuentan.
• Rellenar se utiliza para rellenar las características podadas, usando
los valores de grises de los píxeles más cercanos en el lado izquierdo.
El valor de píxeles que se utiliza para rellenar la característica es el
valor del píxel que se encuentra inmediatamente a la izquierda de la
característica rellenada. Dado que se rellena cada fila de píxeles de la
característica, se usa el valor de píxel que se encuentra inmediatamente
a la izquierda de la fila de píxeles como valor de relleno para la fila.
• Conectividad define el tamaño mínimo (en píxeles) que debe tener
una mancha para ser tenida en cuenta. Se utiliza con la poda o el
relleno.
6 En la sección Zona de elemento, active la casilla de verificación Activar y
haga clic en Definir. Ajuste del polígono mostrado alrededor del objeto
encontrado, con ayuda de los vértices. A continuación, haga clic en Entrenar.
El polígono puede tener de 2 a 16 vértices.
7 En la sección Opciones de visualización, seleccione Imagen de
segmentación para mostrar la imagen procesada. Seleccione la forma en
que desea mostrar el resultado.
• Ángulo de elemento muestra el ángulo del elemento que se enviará
al robot.
• Puntuación del elemento muestra en la ventana de imagen la
puntuación para el elemento seleccionado.
• Área de elemento muestra el área de la mancha en la ventana de la
imagen.
Nota
Información relacionada
Utilización de la visión en color en la página 159.
Histograma en la página 153.
Configuración de elementos en la página 106.
Programas de RAPID en la página 321.
Configuración de orígenes de posiciones en la página 116.
Recomendación
en0900000543
Geométrico
El modelo secundario de inspección geométrico se configura de la misma forma
que el modelo PatMax. Consulte Configuración de un modelo geométrico con
PatMax en la página 134. Además, es necesario entrenar las posiciones relativas
de los elementos encontrados y la coincidencia de alineación correspondiente.
Coincidencias necesarias define el número de coincidencias con el modelo
secundario de inspección que se requieren dentro de la de inspección para que
el resultado sea considerado como aceptado.
Límites de desviación define las desviaciones permitidas con respecto a las
posiciones entrenadas.
Después de una búsqueda y de que sus elementos se hayan encontrado dentro
del área de inspección, es necesario entrenar sus posiciones. Las posiciones
relativas se enumeran como Dif. X, Dif. Y y Dif. ángulo.
Haga clic en Entrenar para guardar las posiciones de los elementos con respecto
a la coincidencia de alineación.
Mancha
El modelo secundario de inspección de mancha se configura de la misma forma
que el modelo de mancha. Consulte Configuración de modelos de mancha en la
página 142. Además debe configurarse el número de coincidencias necesarias.
Coincidencias necesarias define el número de coincidencias con el modelo
secundario de inspección que se requieren dentro de la de inspección para que
el resultado sea considerado como aceptado.
Histograma
La herramienta de histograma mide el color o el nivel de grises dentro de un área
determinada. Si se utiliza una cámara monocroma, la herramienta de histograma
mide el nivel de grises dentro de un área determinada. De modo similar, si se
utiliza una cámara en color, se miden por separado los tres canales de color (rojo,
verde y azul). La herramienta de histograma resulta útil si los objetos a identificar
tienen formas similares pero colores diferentes.
El área de inspección de un modelo secundario de inspección de histograma se
representa gráficamente como un círculo. Sin embargo, el área utilizada en el
en1200000684
en1200000685
Caliper
La herramienta Caliper permite identificar los bordes y mide la distancia entre
ellos. El análisis sólo se realiza dentro del área de inspección correspondiente.
Para incrementar el contraste en las imágenes en las que las piezas presentan un
tono de escala de grises similar, es posible utilizar el filtrado de color. Para obtener
más información, consulte Utilización de la visión en color en la página 159.
en0900000654
en0900000655
Externo
Es posible usar modelos de visión externos que admiten la inspección secundaria
como modelos de inspección si están instalados. El programa PickMaster no
incluye ningún modelo externo.
Para saber más acerca de los modelos de visión externos y cómo se implementan,
consulte PickMaster SDK.pdf.
Espacios colorimétricos
Cuando se trabaja con RGB, el color de cada píxel se representa por su contenido
de rojo, verde y azul. La representación numérica es lineal para los tres colores
básicos: rojo (255, 0, 0), verde (0, 255, 0) y azul (0, 0, 255). Sin embargo puede
resultar difícil comprender la composición de otros colores mezclados.
El HSI es un espacio colorimétrico que se traduce más fácilmente a la percepción
humana de los colores.
• Matiz: La ubicación del color dentro del espectro electromagnético. Consulte
el gráfico siguiente.
• Saturación: La pureza del color.
• Intensidad: La luminosidad del color.
Dado que el espectro de matiz es continuo (tanto 0 como 255 representan al rojo),
resulta adecuado representarlo como un círculo.
xx0900000444
Con ayuda del filtrado de colores resulta más fácil distinguir entre los colores si
son diferentes. El nivel de similitud puede interpretarse como la distancia entre
los colores en el espacio colorimétrico. La diferencia puede ser más pronunciada
en uno u otro de los dos espacios colorimétricos y por este motivo resulta
conveniente probar con filtros de los dos espacios colorimétricos.
Iluminación
Dado que un sistema en color proporciona más información acerca del contenido
de color de una imagen, también es más sensible a las condiciones de iluminación.
Es muy importante proporcionar una iluminación uniforme y que se mantenga en
el tiempo.
xx0900000445
A Modelo de visión
B Imagen en color
C Filtro de color
D Imagen de escala de grises
E Reconocimiento de objetos
xx0900000446
Requisitos previos
La cámara debe ser una cámara en color.
Debe haber un formato de vídeo en color configurado para la cámara.
La licencia de visión de Cognex debe contener la opción de herramientas de color.
en0900000657
Recomendación
Los rangos de filtro deben ser estrechos para conseguir una imagen de salida
que tenga un contraste elevado. Desde el punto de vista de la calidad de la
imagen, con frecuencia es mejor seleccionar muestras de color homogéneamente
pequeñas y añadir varios rangos a la lista de colores.
Recomendación
Pruebe a filtrar tanto con RGB como con HSI. En ocasiones uno puede funcionar
significativamente mejor que otro.
Ejemplo 1
El ejemplo siguiente describe como localizar una pieza con PatMax e inspeccionar
el color con Mancha.
1 Cree un modelo de inspección; consulte Configuración de modelos de
inspección en la página 149.
2 Cree un modelo de alineación PatMax. Utilice el filtrado de colores si necesita
incrementar el contraste, o bien utilice la imagen monocroma sin filtrar si
presenta un contraste suficiente.
3 Añada un modelo secundario de inspección de tipo Mancha.
a Seleccione Filtro de color y haga clic en Definir. De esta forma se
abre la ventana de diálogo Parámetros de filtro de color.
b Extraiga el color a inspeccionar haciendo clic en Definir color. De esta
forma el color deseado se filtra al color blanco en la ventana de imagen
de mancha.
c Haga clic en Definir filtro para cerrar la ventana de diálogo Parámetros
de filtro de color.
d Ajuste la configuración de la mancha con el fin de encontrar la mancha
de color blanco.
e En caso necesario ajuste la configuración del filtro de color y del
análisis de mancha.
4 Pruebe el resultado en la ventana de diálogo Configuración de inspección.
Ejemplo 2
en0900000658
en0900000659
Requisitos previos
La cámara debe ser calibrada con varias imágenes (multivista).
Las opciones de altura sólo pueden utilizarse junto con un modelo PatMax
independiente.
Nota
Nota
Nota
Si sólo existe un tipo de objeto y siempre está situado en la misma altura, lo más
exacto es calibrar la cámara y su altura en lugar de utilizar Altura del modelo
como forma de compensación.
Recomendación
Información relacionada
Calibración de la cámara en la página 88.
Configuración de elementos en la página 106.
4.4.1 Instrucción
Descripción general
Remote Integration Service (RIS) es un servicio genérico para interfaces que puede
utilizarse para el control remoto de PickMaster desde un dispositivo remoto (cliente),
como por ejemplo un PLC. RIS se ha diseñado con flexibilidad y puede utilizarse
a través de una amplia gama de medios (plugins), como HTTP, TCP/IP, RS232,
bus de campo y E/S digital. Algunos medios, por ejemplo HTTP, ofrecen más
funcionalidad que otros.
Nota
Hilscher CIF 50 y la E/S digital solo son compatibles con la versión de 32 bits
de PickMaster.
La serie Hilscher CIFX 50E-RE es compatible con versiones de 32 y 64 bits de
PickMaster.
Descripción general
1 Abra el proyecto.
2 En el menú Archivo, haga clic en Editar plugin RIS. Aparece la ventana de
diálogo Remote Integration Service.
en0900000534
Introducción
PickMaster gestiona distintos roles y usuarios. Cada usuario tiene un rol y cada
rol está asociado a una capacidad. Los usuarios, roles y capacidades se definen
en auth.conf. Este archivo está situado en la carpeta de instalación de PickMaster,
dentro de RIS\RIS2\auth\.
Se ofrecen los roles "administrador" y "operador". El administrador tiene la
posibilidad de “administrar” y el operador tiene la posibilidad de “operar”.
Se ha creado un nombre de usuario y una contraseña para cada rol.
Nombre de usuario de administrador: admin con la contraseña: password
Nombre de usuario de operador: operator con la contraseña: password
Nota
xx1300001102
Creación de un rol
Para crear un rol:
1 Haga clic en Archivo y seleccione Editar usuarios y roles....
Se muestra la ventana Editar usuarios y roles.
xx1300001077
Eliminación de un rol
Para eliminar un rol:
1 Haga clic en Archivo y seleccione Editar usuarios y roles....
Se muestra la ventana Editar usuarios y roles.
2 Seleccione en la lista Roles el rol que desee eliminar.
3 Haga clic en Delete role (Eliminar rol).
xx1300001078
¡AVISO!
Creación de un usuario
Para crear un usuario:
1 Haga clic en Archivo y seleccione Editar usuarios y roles....
Se muestra la ventana Editar usuarios y roles.
2 En la sección Usuarios, haga clic en Crear nuevo usuario.
Se muestra la ventana Crear nuevo usuario.
xx1300001079
Eliminación de un usuario
Para eliminar un usuario:
1 Haga clic en Archivo y seleccione Editar usuarios y roles....
Se muestra la ventana Editar usuarios y roles.
2 Seleccione en la lista Usuarios el usuario que desee eliminar.
3 Haga clic en Eliminar usuario.
Aparece una ventana de confirmación de la eliminación del usuario
seleccionado.
xx1300001080
Comandos
El protocolo RIS especifica los comandos del proyecto y el robot. El plugin RIS de
PickMaster confirmará el comando cuando se produzca un cambio de estado en
el proyecto o el robot. Si hay algo que esté impidiendo a PickMaster ejecutar
correctamente el comando, PickMaster comunicará la causa al cliente RIS.
Comando Respuesta del proyecto Respuesta del robot
Abrir proyecto Abierto, Error * n/a
Cerrar proyecto Cerrado, Modificado, En funciona- n/a
miento, Error *
Iniciar proyecto En funcionamiento, Cerrado, Error En funcionamiento, Apagado del or-
de configuración * , Licencia no váli- denador principal, Estado de paro
da * , Error * de emergencia, Error, Modo manual
Respuestas de estado
Los distintos estados se describen en Estados del robot en la página 232. El estado
Apagado es específico de Remote Integration Service. Al detener un proyecto, es
posible que el robot tarde aún unos segundos en pararse realmente. Durante este
tiempo, el estado del robot es Apagado.
Las respuestas de estado del proyecto y del robot se envían tan pronto como
cambia el estado correspondiente, pero la velocidad de elección del robot sólo se
envía como respuesta al comando Obtener la velocidad de elección.
Valores de respuesta
Introducción
En el caso de un plugin de TCP/IP, la configuración de RIS puede exportarse a un
archivo XML. El archivo XML puede ser modificado directamente en un editor de
texto para su importación posterior. Para la edición puede usarse cualquier editor
de XML (por ejemplo el Bloc de notas de Microsoft).
Es posible modificar todos los valores de los comandos, además de añadir nuevos
proyectos.
La función de importación añade o sustituye los proyectos de la configuración
actual.
La importación de un archivo XML tiene éxito si:
• La sintaxis XML es correcta, es decir tal y como fue generada por la función
de exportación.
• No se ha definido ningún proyecto duplicado en el archivo XML.
• Todos los valores de los comandos son exclusivos.
Requisitos previos
Los proyectos importados pueden ejecutarse si:
1 Todas las rutas del proyecto son correctas, es decir la ubicación de los
archivos *.pmproj es correcta.
2 Las ID de los robots del proyecto son correctas, es decir, las ID de robot
están definidas en el archivo *.pmline en el que se basa el archivo *.pmproj.
Nota
en1200000667
en1200000666
Hardware admitido
El plugin de E/S digital permite enviar comandos de PickMaster como señales de
E/S digitales. El plugin puede utilizarse con tarjetas de E/S Advantech así como
con PCI-1750 y PCI-1756. Las especificaciones de estas tarjetas se muestran en
la siguiente tabla.
PCI-1750 PCI-1756
Entradas aisladas 16 32
Salidas aisladas 16 32
Rango de entrada 5-50 V o contactos secos 10-50 V
Rango de salida 5-40 V colector abierto 5-40 V
Corriente de entrada a 24 V n/a 4 mA
Corriente absorbida (máx. por señal) 200 mA 200 mA
Consumo de potencia (típico) 850 mA 285 mA
Comunicación
El plugin de E/S digital escucha para detectar entradas digitales desde una tarjeta
de E/S y cambia el estado de las salidas digitales para indicar los cambios de
estado de un proyecto de PickMaster. Los grupos de señales de E/S se utilizan
como valores binarios. Por ejemplo, es posible usar cuatro señales de entrada
para describir los valores de 0 a 15.
Los grupos de señales que se usan con las entradas y salidas se muestran en las
siguientes tablas. Las señales reales utilizadas para los grupos de entrada y salida
Continúa en la página siguiente
Manual de aplicaciones - PickMaster 3 181
3HAC031978-005 Revisión: U
© Copyright 2008-2020 ABB. Reservados todos los derechos.
4 Configuración
4.4.6 Plugin de E/S digital
Continuación
Comandos
Los comandos aceptados por el plugin de E/S digital se dividen en comandos de
proyecto y comandos de robot. Un comando determinado se ejecuta siempre como
un valor binario en cuatro señales de entrada. Los comandos disponibles se
enumeran en la siguiente tabla.
Comandos de proyecto Valor decimal Valor binario
Abrir 1 0001
Cerrar 2 0010
Iniciar 3 0011
Parar 4 0100
Para los comandos de proyecto, la entrada Número de proyecto debe indicar con
qué proyecto debe ejecutarse el comando. En el caso de los comandos de robot,
es necesario especificar las señales Número de proyecto y Número de robot
para indicar a qué robot de qué proyecto debe enviarse el comando.
Para notificar al plugin de E/S digitales que debe ejecutarse un comando, la señal
Ejecutar debe cambiar al nivel alto. A continuación, se leen las entradas y la señal
Comando ejecutado cambia al nivel alto. Como respuesta a ello, es necesario
cambiar de nuevo la señal Ejecutar al nivel bajo para poder ejecutar otro comando
o enviar mensajes de estado.
Respuestas
Cada comando se confirma con la señal Comando ejecutado pero no se envía
directamente ningún mensaje de estado después de un comando. En su lugar, el
plugin envía los mensajes de estado tan pronto como cambia el estado de un
proyecto o de un robot dentro de un proyecto. Los mensajes de estado que pueden
ser enviados por el plugin de E/S digital se enumeran en las siguientes tablas.
Estado del proyecto Valor decimal Valor binario
Abrir 1 00001
Cerrado 2 00010
En funcionamiento 3 00011
Parado 4 00100
Modificado 5 00101
Error de configuración * 6 00110
Licencia no válida * 7 00111
Error * 8 01000
Es posible configurar un valor de tiempo límite para definir cuánto tiempo debe
esperar el plugin de E/S digitales para recibir una confirmación desde el cliente.
El tiempo límite se utiliza al esperar el cambio de la señal Ejecutar al nivel bajo en
el punto C como en el Ejemplo 1 en la página 186 y al esperar el cambio de la señal
ACK de estado en los puntos B y D del Ejemplo 2 en la página 187. El tiempo límite
y el intervalo de sondeo se especifican en el editor Configuración de hardware
Ejemplo 1
El siguiente gráfico muestra cómo detener el robot número 2 del número de
proyecto 5.
en0900000389
A Cuando todas las señales de entrada están definidas, la señal Ejecutar cambia
al nivel alto.
B Después de un breve periodo de tiempo, en función del intervalo de sondeo,
las entradas se leen y la señal Comando ejecutado cambia al nivel alto.
C Cuando el cliente observa que la señal Comando ejecutado tiene el nivel alto,
cambia la señal Ejecutar al nivel bajo.
D En el siguiente sondeo, el plugin de E/S digital detecta que Ejecutar tiene el nivel
bajo y cambia de nuevo la señal Comando ejecutado al nivel alto.
E Proyecto 5 = 0b101
F Robot 2 = 0b10
G Parar robot = 0b1000
H Ejecutar
J Comando ejecutado
Ejemplo 2
El siguiente gráfico muestra cómo manejar el mensaje de estado de paro de
emergencia del robot 1 del proyecto 3.
en0900000390
en1200000671
Recomendación
Hardware admitido
El plugin Hilscher se ha diseñado para su uso con tarjetas de bus de campo de
Hilscher y admite todos los protocolos admitidos por Hilscher, es decir Profibus,
DeviceNet, InterBus, etc.
Con PickMaster debe utilizarse la serie CIF 50 de Hilscher:
• CIF 50 – DNS (esclavo de DeviceNet)
• CIF 50 – DNM (maestro de DeviceNet)
• CIF 50 – DPS (esclavo de ProfiBus)
• CIF 50 – PB (maestro de ProfiBus)
Protocolo de comunicaciones
La comunicación a través del bus de campo se basa en el uso de 4 bytes en el
protocolo.
En los ejemplos siguientes se ilustra el envío y la recepción del comando de estado
del robot (193).
Información relacionada
Para obtener más información acerca de los productos de Hilscher, póngase en
contacto con su distribuidor de Hilscher o visite el sitio http://www.hilscher.com.
Para la solución de problemas de hardware, póngase en contacto con su servicio
de asistencia local de Hilscher o llame al teléfono de asistencia mundial al cliente
de Hilscher.
xx1800001451
xx1800001452
Nota
Nota
Todos los valores deben ser números enteros del 1 al 65535 y deben ser
unívocos.
Nota
xx1800001454
Recomendación
Hardware admitido
Con PickMaster debe utilizarse la serie CifX 50E-RE de Hilscher:
Se pueden utilizar el mismo hardware y la misma interfaz para todos los protocolos
Ethernet (PowerLink, EthernetIP, ProfiNet, Sercos, EtherCAT, ModBus y Varan).
Nota
Protocolo de comunicaciones
La comunicación a través del bus de campo se basa en el uso de 4 bytes en el
protocolo.
En los ejemplos siguientes se ilustra el envío y la recepción del comando de estado
del robot (193).
Información relacionada
Para obtener más información acerca de los productos de Hilscher, póngase en
contacto con su distribuidor de Hilscher o visite el sitio http://www.hilscher.com.
Encontrará detalles sobre CifX 50E-RE de Hilscher aquí
https://www.hilscher.com/products/product-groups/pc-cards/pci-express/cifx-50e-res3m/
Nota
en1200000672
4 Seleccione en Puerto serie el puerto COM que desee usar con PickMaster.
5 Seleccione la velocidad de datos en la lista Velocidad en baudios.
6 Seleccione el número de bits de datos en la lista Bits de datos.
7 Seleccione el sistema de paridad en la lista Paridad.
8 Seleccione el número de bits de parada en la lista Bits de parada.
9 Haga clic en Aceptar y a continuación continúe configurando los proyectos;
consulte Configuración del proyecto en la página 206.
Nota
Hardware admitido
El plugin de puerto serie se utiliza para el acceso a PickMaster a través de una
conexión RS-232. El plugin puede ser configurado para usar cualquier puerto COM
con un amplio rango de configuraciones posibles.
Protocolo de comunicaciones
Cuando el plugin está en funcionamiento, permanece a la escucha de comandos
entrantes. Los comandos deben tener una longitud de 2 bytes. Si se lee un solo
byte, será desechado. Si se leen 3 bytes, el último es omitido. Los comandos
disponibles se enumeran en Comandos y respuestas en la página 175.
Las respuestas se envían como 4 bytes, con el tipo de respuesta en los 2 primeros
bytes y el tipo de estado en los 2 bytes siguientes.
Los bytes se envían en el orden de bytes de la red, Big Endian. Esto significa que
el byte más significativo se envía en primer lugar. El comando 256 (0x0100) debe
ser enviado como 0x01, 0x00. Una respuesta del comando 10 (0x000A) con el
argumento 5 (0x0005) se envía como 0x00, 0x0A, 0x00, 0x05.
Ejemplo
Supongamos que el valor del comando Obtener el estado del robot es 102 (0x0066).
Para preguntar el estado del robot a PickMaster, el comando debe enviarse con
el contenido siguiente.
Byte1 Byte0
102 (0x66) 0 (0x00)
en1200000673
Hardware admitido
El plugin TCP/IP se utiliza para utilizar PickMaster a través de cualquier red TCP/IP.
Protocolo de comunicaciones
El protocolo de comunicaciones utilizado con el plugin TCP/IP es el mismo que el
utilizado con el plugin serie; consulte Plugin serie en la página 196.
Introducción
RIS2 (Remote Integration Service 2) presenta las siguientes características:
• Una interfaz de comunicación independiente de la plataforma
• Ajuste de parámetros en caliente
• Acceso a la información
• Operaciones de servicio
• Administración de proyectos y
• Administración de usuarios
RIS2 proporciona el acceso a las HMI y demás dispositivos capaces de comunicarse
por HTTP.
Operaciones disponibles
Operaciones de administración de proyectos
• Lista de proyecto
• Abrir proyecto
• Cerrar proyecto
• Guardar proyecto
• Iniciar proyecto
• Detener proyecto
• Obtener el estado del proyecto
• Obtener mensajes de registro
Monitorización de visión
• Lista de orígenes de posiciones
• Iniciar visión detallada en PC anfitrión
Parámetros de ajuste
• Lista de parámetros de ajuste
Recomendación
Al utilizar RIS2, no utilice el carácter "&" en la ruta del proyecto, ya que podría
hacer que los parámetros de solicitud del servidor web RIS2 sean incorrectos.
Configuraciones de servidor
RIS2 requiere el servidor de web integrado en PickMaster.
RIS2 requiere el servidor de web integrado en PickMaster. El archivo de
configuración appweb.conf, situado en la carpeta de PickMaster, administra la
configuración del servidor. Se lee al iniciar el servidor, es decir, cuando se ejecuta
por primera vez el plugin RIS2. Las instrucciones de configuración aparecen en
líneas individuales y en sus nombres de instrucción se distingue entre mayúsculas
y minúsculas. Las líneas que comienzan con un carácter "#" son comentarios y
se omiten. En el caso de RIS2 las siguientes instrucciones son obligatorias; las
partes marcadas en cursiva son variables que pueden cambiar en función de la
instalación:
include RIS\RIS2\log.conf
include RIS\RIS2\auth\auth.conf
Listen 80
Methods set GET PUT
Nota
Archivos de registro
Introducción
El servidor de web integrado proporciona registros detallados acerca de los accesos
de clientes y las operaciones. Para ello se utilizan dos archivos de registro:
• Registro de errores
• Registro de rastreo
Los registros están situados en la carpeta de instalación de PickMaster, dentro de
RIS\RIS2\logs.
Registro de errores
El registro de errores registra la configuración del servidor, detalles acerca de las
peticiones de lectura y otros tipos de información de rastreo y errores.
El nivel de detalle de los mensajes escritos en el registro de errores puede definirse
en la directiva ErrorLog de log.conf (de forma predeterminada, situado en la carpeta
de instalación de PickMaster, dentro de RIS\RIS2). El nivel es un dígito del 0 al 5,
siendo 0 el nivel menos detallado y 5 el nivel más detallado.
Registro de rastreo
El registro de accesos registra los detalles de cada petición correcta servida por
el servidor de web integrado. De forma predeterminada, para el registro utiliza el
formato de archivo CLF (Combined Logfile Format) utilizado por el servidor web
Apache.
Peticiones de RIS2
El servidor de web integrado en PickMaster proporciona una interfaz REST para
el acceso a las operaciones de RIS2.
Cada petición es un URL que comienza con un prefijo, por ejemplo
http://pickmasterhost.se.abb.com/pickmaster/.
El tipo de petición se identifica con una cadena seguida de una barra, por ejemplo:
startrobot/. Los parámetros se indican con un signo de interrogación seguido por
los parámetros indicados con la sintaxis clásica de URL, como:
projectpath=c:\projectpath&robotid= 37e8578a-…
El resultado de las peticiones se proporciona en XML.
Cliente de RIS2
PickMaster se distribuye con un cliente de RIS2. El cliente está disponible en forma
de código abierto. Puede usarse tal cual o como una pauta al diseñar clientes para
PickMaster con la interfaz de RIS2.
El cliente ha sido desarrollado en Visual Studio 2008 y la solución consta de dos
proyectos, RIS2Client y RIS2ClientHelper.
El proyecto RIS2Client se ha implementado sobre Windows Presentation
Foundation (WPF). Aprovecha toda la interfaz de RIS2.
Observe el código fuente, cree el proyecto e inícielo para hacerse una idea de
cómo se diseña y usa un cliente de PickMaster.
en1000001316
Diagrama de flujo
El siguiente diagrama de flujo proporciona una descripción general de las
solicitudes de RIS:
xx2000000521
Introducción
Utilice este procedimiento para definir la forma en que PickMaster debe interpretar
los comandos de bus de campo. Siga este procedimiento para los plugins Hilscher,
serie y TCP/IP. La E/S digital tiene su propia ventana de diálogo de configuración
de proyecto; consulte Plugin de E/S digital en la página 179.
Todos los comandos deben definirse como enteros con el rango de 1 a 65.535 y
deben ser exclusivos. Los comandos están definidos con números predeterminados
que normalmente no es necesario cambiar.
1 En Configuración del proyecto, haga clic en Configurar.
2 Defina los comandos del proyecto.
3 A continuación, configure los comandos del robot.
4 Seleccione el robot en la lista Robot.
5 Defina los comandos de robot.
Si el proyecto contiene más de un robot, puede definir comandos para todos
los robots antes de hacer clic en Aceptar.
6 Haga clic en Aceptar para cerrar la Configuración del proyecto.
7 Haga clic en Aceptar para cerrar la Configuración de Remote Integration
Services
en0900000535
Requisitos previos
La interfaz que un Hook debe implementar contiene un solo método. Sin embargo,
la interfaz se deriva de la interfaz IPMUserHook, que contiene algunas propiedades
y funciones que también deben implementarse. Además, cada User Hook debe
heredar también de la clase HookMarshaller, dado que los objetos Hook tienen
que tener marshalling entre dominios de aplicación diferentes.
Un User Hook puede generar sus posiciones de elemento de varias formas. Puede
ser suficiente con un algoritmo en el propio Hook, pero lo más probable es que
sea necesario consultar algún tipo de objeto externo. El Hook puede leer un archivo,
comunicarse con otro objeto .NET a través de zócalos de conexión remota a través
de Ethernet, o bien comunicarse con un PLC.
Aplicación de prueba
El CD de PickMaster contiene una aplicación de prueba llamada HookTester
(HookTester.exe). Este programa puede utilizarse durante los desarrollos realizados
para probar el User Hook. HookTester busca los archivos User Hook disponibles
en una subcarpeta llamada UserHooks, del mismo modo que PickMaster. La
mayoría de las funciones de interfaz pueden probarse con el programa de prueba.
en1000001396
Información relacionada
Espacio de nombres ABB.PickMaster.UserHooks en la página 214.
Todas las clases, interfaces, estructuras y enumeraciones se describen en el
archivo PickMaster User Hooks.chm.
Requisitos previos
Se requiere lo siguiente.
• Visual Studio 2005.
• Conocimientos básicos de .NET.
• PMHook.dll y SimplePosGenHook.cs del CD de PickMaster.
• Opcional: HookTester.exe y PMHook.xml del CD de PickMaster.
en0900000363
Descripción general
El espacio de nombres ABB.PickMaster.UserHooks proporciona definiciones para
todas las definiciones de User Hook que pueden ser utilizadas por PickMaster. Se
describen en detalle en el archivo PickMaster User Hooks.chm.
Clases
Clase Descripción
AdjustablePosition2 Representa una posición de un área de trabajo especifica para
un controlador de robot. Esta clase es utilizada por un Positio-
nAdjusterUser Hook. Esta clase no puede heredarse.
HookMarshaller La clase básica para todos los User Hook y la que permite el
acceso a los objetos más allá de los límites de dominio de la
aplicación. Esta clase es abstracta (MustInherit en Visual Basic)
y por tanto no es posible crear instancias de ella.
ItemPosition2 Representa una posición de un área de trabajo especifica para
un controlador de robot. Esta clase es utilizada por un User
Hook PositionGenerator.
LogMessage Representa un mensaje de registro que puede enviarse a
PickMaster y añadirse al registro de la aplicación. No puede
ser heredada.
Interfaces
Interfaz Descripción
IPickMaster Una referencia a la aplicación de PickMaster.
IPMUserHook IPMUserHook es una interfaz básica para todos los User Hooks.
Contiene propiedades básicas del Hook y determinados méto-
dos que deben ser implementados por cada Hook.
IPositionAdjuster2 IPositionAdjuster2 es la interfaz a implementar para un User
Hooks que deba ajustar posiciones de elemento generadas
por los modelos de visión de PickMaster o por posiciones
predefinidas.
IPositionGenerator2 IPositionGenerator2 es la interfaz a implementar para un User
Hooks que deba generar posiciones de elemento.
Estructuras
Estructura Descripción
ObjectInfo Un objeto de PickMaster disponible.
Enumeraciones
Enumeración Descripción
LogType Los mensajes de registro añadidos al registro de PickMaster
con AddLog pueden marcarse con Estado, Aviso o Error.
ObjectType Identifica el tipo de un objeto de PickMaster.
PositionCategory Las posiciones de elemento puede marcarse con categorías
diferentes.
Introducción
PickMaster admite una interfaz de desarrollo de software que personaliza la
generación de posiciones a partir de sistemas de visión/sensores de otros
fabricantes. La interfaz permite la generación de posiciones desde cualquier tipo
de sensores externos, como cámaras, escáneres de línea, barreras fotoeléctricas,
lectores de códigos de barras, etc. Al igual que las posiciones generadas por el
sistema de visión interno de PickMaster, las posiciones de los sensores externos
pueden ser distribuidas de varias formas, por ejemplo a varios robots haciendo
uso del reparto de carga o ATC. Es posible generar posiciones para los distintos
elementos con una distribución individual de los elementos. Las posiciones pueden
identificarse como aceptadas o rechazadas y pueden marcarse con un valor de
etiqueta que puede ser verificado en el nivel de RAPID. Los sensores externos
pueden usarse con áreas de trabajo de transportador, así como en áreas de trabajo
indexadas. El filtrado de solapamiento para los transportadores puede ser
gestionado por PickMaster.
Los sensores externos pueden implementarse en cualquier lenguaje compatible
con .NET, como C# o VB.NET. El sensor externo tiene que implementar
obligatoriamente un conjunto de interfaces predefinidas. Normalmente utilizará
hardware externo para generar las posiciones. Puede comunicarse con el hardware
por ejemplo a través de TCP/IP, comunicación serie u otro protocolo adecuado.
Métodos de instalación
La instalación de un sensor .NET puede realizarse de dos maneras.
Descripción
Utilice esta descripción para implementar y probar un sensor externo en un PC
sin necesidad de hardware adicional.
Requisitos
Para ejecutar esta prueba básica (con los ejemplos de código) se requiere lo
siguiente:
• Microsoft Visual Studio 2005
• Microsoft .Net 2.0
• PickMaster 3
• RobotStudio
• Conocimientos básicos de RobotStudio y PickMaster
• External Sensor .NET
• Se requieren conocimientos de C# y .NET para personalizar un sensor
externo, por ejemplo para su integración con un sistema externo de visión
real.
Implementación
Utilice este procedimiento para configurar una biblioteca de clases
• Inicie Microsoft Visual Studio. Cree un nuevo proyecto de biblioteca de clases
de C# y asígnele un nombre adecuado, por ejemplo MySensor.
en1000001209
en1000001210
Implementación de un sensor
Ejemplo 1: Sensor a partir de ejemplos de código
• Elimine la fuente de plantilla Class1.cs.
• Añada los elementos existentes: Añada los archivos *.cs contenidos en el
CD de PickMaster, External Sensor .NET/Code examples: TestSensor.cs,
SensorConfig.cs, Generator.cs, PositionCallbackDlg.cs
Compile el sensor
Compile la solución. Con ello generará mySensor.dll.
RobotStudio
• Inicie RobotStudio y cree una estación compuesta por un controlador de
robot virtual para un IRB360 con la opción de RobotWare Prepared for
PickMaster.
• Cargue y ejecute ppacal.prg para calibrar un objeto de trabajo indexado
en una posición alcanzable para el robot. Posteriormente, las posiciones
enviadas desde el sensor externo estarán relacionadas con este objeto de
trabajo.
• En la ventana de diálogo del programa, seleccione IdxWobj1 para la
calibración y complete todos los pasos del procedimiento de calibración. Al
definir el objeto de trabajo, el eje Z debe estar orientado hacia arriba.
PickMaster
• Ejecute PickMaster y cree una nueva línea.
• Cree un nuevo sensor externo. En la ventana emergente, seleccione
NetWrapper y pulse Aceptar.
en1000001211
en1000001212
en1000001213
en1000001214
en1000001215
RIS Proxy
Introducción
RIS Proxy es una aplicación independiente utilizada para acceder a PickMaster
Remote Integration Service (RIS). El uso de múltiples instancias de RIS Proxy
proporciona la posibilidad de usar simultáneamente varios plugins de RIS. La
funcionalidad de RIS2 se proporciona a través del plugin TCP/IP.
en1000001382
en1000001383
Nota
Nota
Recomendación
en1000001384
Protocolo de comunicaciones
El plugin permanece a la escucha de comandos entrantes mientras se está
ejecutando. Los comandos deben tener una longitud de al menos 2 bytes.
Las respuestas se envían como 4 bytes, con el tipo de respuesta en los 2 primeros
bytes y el tipo de estado en los 2 bytes siguientes. Los bytes se envían en el orden
de bytes de la red, Big Endian. Esto significa que el byte más significativo se envía
en primer lugar. El comando 256 (0x0100) debe ser enviado como 0x01, 0x00.
Una respuesta del comando 10 (0x000A) con el argumento 5 (0x0005) se envía
como 0x00, 0x0A, 0x00, 0x05.
Ejemplo 1:
Introducción
PickMaster 3 puede configurarse para el reconocimiento y la inspección de objetos
y para permitir que equipos externos tomen las acciones adecuadas. Una señal
de salida digital del controlador de robot está coordinada con el objeto reconocido
en un transportador. La salida digital está conectada a equipos periféricos para
indicar la presencia del objeto específico. La función puede usarse para
inspeccionar los objetos una vez que han pasado más allá de la zona del robot o
antes de llegar a ella.
Nota
en0900000882
5 Ejecución en producción
5.1 Ejecución de PickMaster
Inicio de la producción
El inicio y la parada del proyecto se realizan desde el menú Producción. También
puede usar los botones de la barra de herramientas y los métodos abreviados de
teclado. F7 inicia un proyecto y Mayús + F7 lo detiene.
Durante la ejecución, el acceso a los robots se realiza desde la pestaña Producción
del área de trabajo Espacio de trabajo.
en0900000533
Requisitos previos
La línea y el proyecto deben estar configurados para el inicio de la producción.
El proyecto debe estar abierto y activo.
Velocidad de elección
La velocidad de elección se muestra en forma de iconos en la pestaña Producción
mientras el robot está en funcionamiento.
Se muestran los valores siguientes:
• Número de elecciones durante el último minuto.
• Número total de elecciones desde el inicio del proyecto.
Nota
Paro de emergencia
En caso de emergencia:
1 Pulse el pulsador de paro de emergencia del controlador de robot o del
FlexPendant para parar el robot inmediatamente.
Con ello pondrá el controlador en el estado de emergencia y se muestra un
aviso en el FlexPendant y en PickMaster.
2 Solucione el problema.
3 Libere el pulsador de emergencia.
4 A continuación, confirme y restablezca el estado de emergencia en el
FlexPendant o a través del menú emergente antes de reiniciar el robot.
¡CUIDADO!
Nota
Si tiene lugar un paro de emergencia tras una pausa solicitada y antes de que
el robot se haya detenido, el robot pasa al estado parado.
Imágenes en directo
Es posible ver las imágenes de las distintas cámaras durante el funcionamiento
del proyecto.
Nota
xx0800000340
Búfer de Se utiliza para cambiar entre la grabación o la pausa y definir el tamaño del
imáge- búfer de imágenes. Haga clic en Guardar para guardar todas las imágenes del
nes búfer en un archivo .pmw.
Opcio- Seleccione qué modelos de visión desea mostrar, todos juntos o individualmente,
nes de la y otras opciones relativas a qué desea mostrar en las imágenes. La configuración
pantalla se aplica tanto en el modo de grabación como en el de pausa.
Informa- Recorra el búfer de imágenes mientras la grabación está en pausa. También
ción de puede usar ALT + FLECHA IZQUIERDA o FLECHA DERECHA para avanzar o
imagen retroceder paso a paso. Haga clic en Exportar para guardar el archivo de imagen
actual en un archivo (formato .bmp).
La vista de lista de la parte inferior muestra información sobre todas las coinci-
dencias. Cuando se selecciona un modelo individual, las columnas cambian en
función de su tipo.
Los botones de desplazamiento de imagen y zoom pueden usarse para analizar
más detalladamente una imagen.
Nota
Vision Analyzer
Los búfers de imágenes almacenados en la ventana de diálogo Información
detallada de visión pueden guardarse como archivos .pmv. Estos archivos pueden
visualizarse mediante un programa separado llamado PickMaster Vision Analyzer.
Inicie Vision Analyzer desde el menú Archivo de PickMaster o desde el menú
Inicio de Windows.
xx0800000342
Información relacionada
Administración del registro de eventos en la página 246.
Todos los mensajes de error aparecen enumerados en Manual del
operador - Solución de problemas de IRC5.
en0900000360
El área de trabajo
El área de trabajo presenta tres pestañas:
• La pestaña Proyecto muestra los objetos y sus conexiones (todos los
proyectos abiertos).
• La pestaña Producción se utiliza para iniciar, parar y poner en pausa
proyectos o robots individuales. También muestra estadísticas de elección.
El área de registro
Todos los mensajes del sistema de robot aparecen en el área Registro. El mensaje
contiene una indicación de tiempo, una ID de error y una descripción breve. Los
mensajes aparecen clasificados como Estado, Aviso o Error. Haga clic con el botón
derecho en el área de registro para borrar o guardar el registro en un archivo.
Todos los mensajes se envían al Registro de eventos de Windows. Haga clic con
el botón derecho en el área de registro para abrir el Registro de eventos de
Windows.
Consulte Administración del registro de eventos en la página 246.
El área de visión
Al visualizar las imágenes en directo durante la configuración o al ejecutar un
proyecto, las imágenes aparecen en el área Visión.
en0900000361
en1200000665
5.3 Ajuste
5.3.1 Ajuste
Introducción al ajuste
En ocasiones, las posiciones exactas de elección y colocación no son exactamente
las esperadas. Esto podría deberse a un pequeño error en la calibración de la
cámara o del área de trabajo. Se pueden ajustar las posiciones cuando un proyecto
está en funcionamiento. Esto se conoce como ajuste.
Limitaciones
El programa RAPID debe estar en funcionamiento para ajustar los parámetros
Robot speed, tool vacuum times y pick/place times. Otros parámetros
como enter/exit limits pueden ajustarse sin ejecutar el programa RAPID.
6 Solución de problemas
6.1 Introducción a la solución de problemas
Solución de problemas
En este capítulo se describen algunos de los problemas más habituales que pueden
darse al instalar, configurar o ejecutar PickMaster.
Un fallo en el sistema de robot aparece primero como un síntoma, que puede ser:
• Un mensaje de registro de eventos que puede verse a través de PickMaster,
el FlexPendant, RobotStudio o el Visor de eventos de Windows.
• Aparición de un funcionamiento deficiente del sistema o la aparición de
alteraciones mecánicas.
• El sistema no puede iniciarse o presenta un comportamiento inesperado
durante la puesta en marcha.
• Indicaciones en el hardware, por ejemplo a través de los LEDs.
• Otros tipos de síntomas. El sistema de robot es complejo y tiene un número
elevado de funciones y combinaciones de funciones.
Información relacionada
La solución de problemas genérica y todos los mensajes de error del sistema de
robot aparecen enumerados en Manual del operador - Solución de problemas de
IRC5.
Administración del registro de eventos en la página 246.
El registro de eventos
Los mensajes de registro de eventos que aparecen en el área de registro de
PickMaster también se almacenan en el registro de eventos de Windows. Puede
ver los mensajes con el Visor de eventos de Windows.
Información relacionada
Consulte la Ayuda de Windows para obtener más información acerca del Visor de
eventos.
Acciones de verificación
A continuación aparecen las acciones de verificación generales de los avisos 4326,
4327, 4328 y 4329. Para una explicación más detallada, consulte Aviso 4326 en la
página 248, Aviso 4327 en la página 249, Avisos 4328 y 4329 recibidos a la vez en
la página 250, Aviso 4328 recibido sin el 4329 en la página 250 y Aviso 4329 recibido
sin el 4328 en la página 250.
Acción 1
Compruebe la selección de señales para disparo y muestreo en la configuración
de área de trabajo de la línea de PickMaster. Compruebe que las configuraciones
de E/S de estas señales se correspondan con el cableado.
Acción 2
Compruebe todos los cables de disparo y muestreo. Compruebe si los cables de
disparo y muestreo están entremezclados. Asegúrese de que los cables estén
apantallados, conectados correctamente y puestos a tierra de la forma correcta.
No debe haber corriente en el apantallamiento. Asegúrese de que las fuentes de
24 V no estén intercambiadas. El parámetro de sistema del controlador
SyncSeparation (tema: I/O, tipo: Fieldbus Command, nombre: CNVX) puede
modificarse para filtrar los eventos de entrada de disparo desde una cámara o
sensor.
Acción 3
Compruebe todos los cables de red local de la red de robots. Asegúrese de que
los cables estén apantallados y conectados correctamente. Compruebe que tenga
definidas correctamente la dirección IP, la pasarela predeterminada y la máscara
de subred (tanto en el PC como en el controlador de robot). Recuerde que estos
tres valores deben definirse incluso si sólo tiene un ordenador y un controlador
de robot en la red. Para obtener más información, consulte Configuración de las
redes en la página 48 .
Acción 4
Consulte Configuración de las redes en la página 48 .
Acción 5
Compruebe que la dirección IP (vaya a Archivo y haga clic en Opciones) del campo
"Adaptador de red del controlador" sea la dirección del adaptador de red del PC
que se comunica con el controlador del robot. Compruebe si el servicio de
sincronización de tiempo tiene problemas para conectarse al controlador. Detenga
el servicio durante 30 segundos y reinícielo a continuación. Compruebe que no
haya ningún firewall activo que pueda estar afectando a los servicios de
sincronización de tiempo.
Acción 6
Reduzca la frecuencia de disparo. En ocasiones el intervalo entre disparos es
demasiado breve y el sistema tiene que disparar con una frecuencia mucho mayor
de la que es capaz de gestionar. La frecuencia con la que puede gestionarse el
disparo depende del grado de complicación de los modelos utilizados en el sistema.
En ocasiones el disparo frecuente puede deberse a defectos en los cables de
disparo/muestreo o a ruido eléctrico.
Acción 7
Algunos switches almacenan en sus búfers datos que deben estar presentes. Este
tiempo de búfer puede ser excesivo. Pruebe a cambiar a un hub simple o reduzca
este tipo de búfer. Asegúrese de que se esté ejecutando el software más reciente
en el hub/switch. Asegúrese de que el código de RAPID no contenga bucles infinitos
porque afectarán a la comunicación de red del robot.
Acción 8
Depure la implementación del sensor externo.
Acción 9
En el caso de los sensores externos puede existir un retardo reducido constante
entre los impulsos de muestreo y la captura del registro de fecha y hora (por
ejemplo si la señal de disparo está conectada de forma cruzada con el muestreo).
Modifique el parámetro Ajuste de sincronización del origen de posiciones para
modificar todos los registros de fecha y hora enviados a PickMaster con un valor
de tiempo constante.
Aviso 4326
En cuanto a las acciones de verificación, consulte la sección anterior.
Causas probables:
La siguiente tabla contiene las causas probables del aviso 4326:
Causa probable Acciones de verifica-
ción
Si el área de trabajo es de transportador:
La tarjeta del transportador no recibe ningún impulso de muestreo Acción 1 en la pági-
en la entrada de inicio. na 247, Acción 2 en la
página 247
La señal de muestreo no está configurada como cXNewObjStrobe. Acción 1 en la pági-
na 247
PickMaster no tiene conexión con el controlador del robot. Acción 3 en la pági-
na 247
Si el área de trabajo está indexada:
La señal de muestreo configurada no recibe ningún impulso de Acción 1 en la pági-
muestreo. na 247, Acción 2 en la
página 247
Aviso 4327
Descripción del error:
4327 Faltan las posiciones de elementos esperadas desde %s. Consulte el Manual
de aplicaciones.
Causas probables:
La siguiente tabla contiene las causas probables del aviso 4327:
Causa probable Acciones de verifica-
ción
Si el origen es una cámara:
La cámara no recibe impulsos de disparo. Acción 1 en la pági-
na 247, Acción 2 en la
página 247
PickMaster no tiene conexión con la cámara. Acción 4 en la pági-
na 247
Si el origen es un sensor externo:
El sensor externo no recibe ningún impulso de disparo. Acción 1 en la pági-
na 247, Acción 2 en la
página 247
El sensor externo no envía ninguna posición a PickMaster. Acción 8 en la pági-
na 248
Si el origen es un sensor externo:
El sensor externo no recibe ningún impulso de disparo. Acción 1 en la pági-
na 247, Acción 2 en la
página 247
El sensor externo no envía ninguna posición a PickMaster. Acción 8 en la pági-
na 248
Si el origen es de un tipo predefinido y el área de trabajo es un transportador:
La tarjeta del transportador no recibe ningún impulso de muestreo Acción 1 en la pági-
en la entrada de inicio. na 247, Acción 2 en la
página 247
La señal de muestreo no está configurada como cXNewObjStrobe. Acción 8 en la pági-
na 248
PickMaster no tiene conexión con el controlador del robot. Acción 3 en la pági-
na 247
Si el origen es de un tipo predefinido y el área de trabajo está indexada:
La señal de muestreo configurada no recibe ningún impulso de Acción 1 en la pági-
muestreo. na 247, Acción 2 en la
página 247
PickMaster no tiene conexión con el controlador del robot. Acción 3 en la pági-
na 247
Causas probables:
La siguiente tabla contiene las causas probables de los avisos 4328 y 4329:
Causa probable Acciones de verifica-
ción
En orden de probabilidad:
La sincronización de tiempo entre los controladores y PickMaster Acción 6 en la pági-
no está en funcionamiento. na 248
La frecuencia de disparo es demasiado alta. Acción 5 en la pági-
na 247
Bajo rendimiento de la red de robots. Acción 7 en la pági-
na 248
Bajo rendimiento de la red de cámaras. Acción 4 en la pági-
na 247
Causas adicionales relativas a los sensores externos:
Los registros de fecha y hora no están suficientemente sincroniza- Acción 9 en la pági-
dos con los muestreos. na 248
El sensor externo no envía posiciones con un registro de fecha y Acción 8 en la pági-
hora correctos. na 248
Causas probables:
La siguiente tabla contiene las causas probables de los avisos 4328 y 4329:
Causa probable Acciones de verifica-
ción
La señal de disparo no es estable. Acción 2 en la pági-
na 247
Causas probables:
La siguiente tabla contiene las causas probables de los avisos 4328 y 4329:
Causa probable Acciones de verifica-
ción
La señal de muestreo no es estable. Acción 2 en la pági-
na 247
Causas probables
Pueden existir varias causas por las que la cámara no toma imágenes. Para
comprobar todas las causas posibles, es necesario verificar lo siguiente.
• Compruebe que el cable de disparo esté conectado correctamente.
• Compruebe que el cable de la cámara esté conectado al puerto correcto.
Si la cámara se dispara a distancia, es posible que el codificador no esté registrando
ningún movimiento en la cinta transportadora debido a
• una conexión incorrecta del codificador o
• la selección de una cinta transportadora incorrecta en el área de trabajo.
Si la cámara se dispara por E/S, es posible que la célula fotoeléctrica no esté
detectando ninguna pieza, debido a:
• Una conexión incorrecta.
• Mala reflexión.
Causas probables
Pueden existir varias causas por las que el robot no se mueve a pesar de la que
la cámara tome imágenes correctamente. Para comprobar todas las causas
posibles, es necesario verificar lo siguiente.
• Para comprobar que el cable de muestreo está conectado, compruebe el
LED StartSig de la tarjeta codificadora.
• Compruebe la distribución del origen de posiciones.
• Compruebe la AI c*Speed en la lista de E/S si se detecta cualquier velocidad.
En caso contrario, compruebe las señales del codificador.
• Compruebe la AI c*Position en la lista de E/S si se hace el seguimiento de
cualquier posición. En caso contrario, compruebe la distribución del origen
de posiciones.
• Compruebe el sentido del movimiento en la DI c*DirOfTravel.
• Monitorice la señal Queue Idle, para comprobar si la cola recibe posiciones.
• Monitorice la señal Position Available, para comprobar si las piezas se
detectan.
Causas probables
Pueden existir varias causas por las que la exactitud de posición sea inadecuada
o variable. Para comprobar todas las causas posibles, es necesario verificar lo
siguiente.
• Verifique que la calibración Counts Per Meter sea adecuada. Verifíquelo
varias veces. Incluya la verificación en el mantenimiento programado.
• Evite los codificadores de eje de accionamiento, dado que el deslizamiento
de la cinta sobre los rodillos puede variar.
• Compruebe la calibración de la cámara. El uso de una cuadrícula de
calibración de mala calidad generará un resultado de calibración inexacto.
• Compruebe si existen diferencias entre la altura de la plantilla de calibración
y la altura del producto.
• Compruebe si existen errores de paralaje a la hora de identificar productos
altos.
• Asegúrese de que la cámara no esté montada en el bastidor del robot dado
que provocaría vibraciones en la cámara.
Causas probables
Pueden existir varias causas por las que el robot utilice cada posición dos veces.
Para comprobar todas las causas posibles, es necesario verificar lo siguiente.
• Si se utilizan posiciones predefinidas disparadas por E/S o contenedores,
defina la distancia de filtro SyncSeparation para evitar los disparos dobles
y reflejados.
• Si se utiliza la visión, incremente el solape y el filtro de posición.
• Desactive la casilla de verificación Sólo mismo nivel en el Origen de
posiciones.
Si el robot se encuentran en sentido descendente y un grupo de ATC intenta utilizar
un elemento ya utilizado, el orden del área de trabajo en el origen de posiciones
es incorrecto.
Causas probables
Pueden existir varias causas por las que la resolución de la cámara haya
disminuido. Para comprobar todas las causas posibles, es necesario verificar lo
siguiente:
• Está activa la configuración predeterminada de fábrica.
• Es posible que esté activada la configuración personalizada. Compruebe
que la configuración personalizada tenga una ROI (área de interés) reducida.
7 API de RIS2
7.1 Mensajes
Mensajes de excepción
Cada petición de RIS2 devuelve un mensaje de excepción si la petición falla. Los
mensajes de excepción se entregan en formato XML.
Ejemplo:
<?xml version="1.0" encoding="utf-16"?>
<Exception>
<Message>Reason for exception</Message>
</Exception>
Mensajes de estado
Introducción
La mayoría de las peticiones de RIS2 devuelven los mensajes de estado actual
del proyecto o del robot en función de la petición y el estado actual del proyecto.
Los mensajes de estado se entregan en formato XML.
Ejemplo:
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<Status>1</Status>
</ProjectStatusMessage>
Ejemplo:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>1</Status>
</RobotStatusMessage>
Lista de proyectos
Introducción
Enumera los proyectos en PickMaster en función del estado deseado y muestra
el proyecto deseado con los robots pertenecientes. Los estados de proyecto
disponibles son Running, Stopped, Open, Closed y Configured.
URL
http://pickmasterhost.se.abb.com/pickmaster/listprojects
Método HTTP
GET
Parámetros
status: indica el estado de los proyectos a enumerar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/listprojects/?status=configured
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<Projects>
<Project>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Robots>
<Robot>
<Name>Robot1</Name>
<Guid>37e8578a-b49c-4fa9-8612-684ebd141441</Guid>
</Robot>
</Robots>
</Project>
<Project>
<ProjectPath>C:\PMProjects\Project2.pmproj</ProjectPath>
<Robots>
<Robot>
<Name>Robot1</Name>
<Guid>37e8578a-b49c-4fa9-8612-684ebd141441</Guid>
</Robot>
</Robots>
</Project>
</Projects>
Abrir proyecto
Introducción
Abre un proyecto y muestra el mensaje de estado del proyecto.
URL
http://pickmasterhost.se.abb.com/pickmaster/openproject
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto a abrir.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/openproject/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<Status>6</Status>
</ProjectStatusMessage>
Cerrar proyecto
Introducción
Cierra un proyecto y muestra el mensaje de estado del proyecto.
URL
http://pickmasterhost.se.abb.com/pickmaster/closeproject
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto a cerrar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/closeproject/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<Status>7</Status>
</ProjectStatusMessage>
Guardar proyecto
Introducción
Guarda un proyecto y muestra la ruta del proyecto guardado.
URL
http://pickmasterhost.se.abb.com/pickmaster/saveproject
Método HTTP
PUT
Parámetros
projectpath: la ruta del proyecto a guardar.
Ejemplo de uso:
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/saveproject/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<SaveProject>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
</SaveProject>
Iniciar proyecto
Introducción
Inicia un proyecto y muestra el mensaje de estado del proyecto.
URL
http://pickmasterhost.se.abb.com/pickmaster/startproject
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto a iniciar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/startproject/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<Status>1</Status>
</ProjectStatusMessage>
Detener proyecto
Introducción
Detiene un proyecto y muestra el mensaje de estado del proyecto.
URL
http://pickmasterhost.se.abb.com/pickmaster/stopproject
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto a detener.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/stopproject/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>2</Status>
</RobotStatusMessage>
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</
ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/projectstatus
Método HTTP
GET
Parámetros
projectpath: indica la ruta del proyecto.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/projectstatus/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/startrobot
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot a iniciar.
robotid: indica la ID del robot a iniciar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/startrobot/?projectpath=
C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>1</Status>
</RobotStatusMessage>
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/pauserobot
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot a poner en pausa.
robotid: indica la ID del robot a poner en pausa.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/pauserobot/?projectpath=
C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>3</Status>
</RobotStatusMessage>
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
Parar el robot
Introducción
Detiene un robot y muestra el mensaje de estado del robot o el mensaje de estado
del proyecto en función del estado actual.
URL
http://pickmasterhost.se.abb.com/pickmaster/stoprobot
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot a detener.
robotid: indica la ID del robot a detener.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/stoprobot/?projectpath=
C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>2</Status>
</RobotStatusMessage>
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/resetrobotemergencystop
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot cuyo paro de
emergencia se desea restablecer.
robotid: indica la ID del robot cuyo paro de emergencia se desea restablecer.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/resetrobotemergencystop/
?projectpath=C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-
684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>1</Status>
</RobotStatusMessage>
<?xml version="1.0" encoding="utf-16"?>
<ProjectStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<Status>2</Status>
</ProjectStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/robotstatus
Método HTTP
GET
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot.
robotid: indica la ID del robot.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/robotstatus/?projectpath=
C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<RobotStatusMessage>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
<Status>2</Status>
</RobotStatusMessage>
URL
http://pickmasterhost.se.abb.com/pickmaster/listtuningparameters
Método HTTP
GET
Parámetros
projectpath,: indica la ruta del proyecto cuyos parámetros de ajuste se desea
enumerar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/listtuningparameters/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<TuningParameters>
<Project>C:\PMProjects\Project1.pmproj</ Project>
<Node>
<Name>Robot1</Name>
<Type>Robot</Type>
<Parameters>
<Parameter>
<Path>/RBT:{37E8578A-B49C-4FA9-8612-684EBD141441}/Speed</Path>
<DataType>Integer</DataType>
<Limits>
<Minimum>0</Minimum>
<Maximum>0</Maximum>
</Limits>
</Parameter>
<Parameter>
<Path>/RBT:{37E8578A-B49C-4FA9-8612-684EBD141441}/PickRate</Path>
<DataType>Integer</DataType>
<Limits>
<Minimum>0</Minimum>
<Maximum>0</Maximum>
</Limits>
</Parameter>
</Parameters>
</Node>
<Node>
<Name>Item1</Name>
<Type>Item</Type>
<Parameters>
<Parameter>
<Path>/ITEM:{785A586B-BB09-4D99-9955-9CF1D3B5B0CF}/GripX</Path>
<DataType>Float</DataType>
<Limits>
<Minimum>0</Minimum>
<Maximum>0</Maximum>
</Limits>
</Parameter>
<Parameter>
<Path>/ITEM:{785A586B-BB09-4D99-9955-9CF1D3B5B0CF}/GripZ</Path>
<DataType>Float</DataType>
<Limits>
<Minimum>0</Minimum>
<Maximum>0</Maximum>
</Limits>
</Parameter>
</Parameters>
</Node>
</TuningParameters>
URL
http://pickmasterhost.se.abb.com/pickmaster/readtuningparameter
Método HTTP
GET
Parámetros
projectpath: indica la ruta del proyecto cuyos parámetros de ajuste se desea
leer.
parampath: indica la ruta del parámetro que se desea leer.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/readtuningparameter/?projectpath=
C:\PMProjects\Project1.pmproj¶mpath=/RBT:{37E8578A-B49C-4FA9-8612-684EBD141441}/Speed
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<TuningParameter>
<Value>5000</Value>
</TuningParameter>
URL
http://pickmasterhost.se.abb.com/pickmaster/writetuningparameter
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto cuyos parámetros de ajuste se desea
escribir.
parampath: indica la ruta del parámetro que se desea escribir.
value: indica el valor a escribir.
Ejemplo de uso:
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/writetuningparameter/
?projectpath=C:\PMProjects\Project1.pmproj¶mpath=/RBT:{37E8578A-B49C-4FA9-
8612-684EBD141441}/Speed&value=5000
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<TuningParameter>
<Value>4500</Value>
</TuningParameter>
URL
http://pickmasterhost.se.abb.com/pickmaster/listservicevariables
Método HTTP
GET
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot cuyas variables
de servicio se desea enumerar.
robotid: indica la ID del robot cuyas variables de servicio se desea enumerar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/listservicevariables/
?projectpath=C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-
684ebd141441
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ServiceVariables>
<ServiceVariable>
<Name>ServVar1</Name>
<Value>0</Value>
</ServiceVariable>
<ServiceVariable>
<Name>ServVar2</Name>
<Value>0</Value>
<ServiceVariable>
<Name>ServVar3</Name>
<Value>0</Value>
</ServiceVariable>
</ServiceVariable>
</ServiceVariables>
URL
http://pickmasterhost.se.abb.com/pickmaster/writeservicevariable
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot cuyas variables
de servicio se desea escribir.
robotid: indica la ID del robot cuyas variables de servicio se desea escribir.
servicevariable: indica el nombre de la variable de servicio.
value: indica el valor a escribir
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/writeservicevariable/
?projectpath=C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-
684ebd141441&servicevariable=ServVar1&value=1
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ServiceVariableValue>
<ServiceVariable>
<Name>ServVar1</Name>
<Value>1</Value>
ProjectPath>C:\PMProjects\Project1.pmproj</ ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612- 684ebd141441</RobotId>
<ServiceVariable>
</ServiceVariableValue>
URL
http://pickmasterhost.se.abb.com/pickmaster/listserviceroutines
Método HTTP
GET
Parámetros
projectpat: indica la ruta del proyecto que contiene el robot cuyas rutinas de
servicio se desea enumerar.
robotid: indica la ID del robot cuyas rutinas de servicio se desea enumerar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/listserviceroutines/
?projectpath=C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-
684ebd1414411
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ServiceRoutines>
<ServiceRoutine>
<Name>TestCycle</Name>
</ServiceRoutine>
<ServiceRoutine>
<Name>Home</Name>
</ServiceRoutine>
<ServiceRoutine>
<Name>WashDown</Name>
</ServiceRoutine>
<ServiceRoutine>
<Name>Homepos</Name>
</ServiceRoutine>
</ServiceRoutines>
URL
http://pickmasterhost.se.abb.com/pickmaster/invokeserviceroutine
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el robot cuya rutina de
servicio se desea invocar.
robotid: indica la ID del robot cuyas rutinas de servicio se desea invocar.
serviceroutine: indica el nombre de la rutina de servicio.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/invokeserviceroutine/
?projectpath=C:\PMProjects\Project1.pmproj&robotid=37e8578a-b49c-4fa9-8612-
684ebd141441&serviceroutine=TestCycle
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<ServiceRoutine>
<Name>testcycle</Name>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<RobotId>37e8578a-b49c-4fa9-8612-684ebd141441</RobotId>
</ServiceRoutine>
</ServiceVariableValue>
URL
http://pickmasterhost.se.abb.com/pickmaster/listpositionsources
Método HTTP
GET
Parámetros
projectpath: indica la ruta del proyecto cuyos orígenes de posiciones se desea
enumerar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/listpositionsources/
?projectpath=C:\PMProjects\Project1.pmproj
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<PositionSources>
<PositionSource>
<Name>Position Source1</Name>
<Guid>855501ed-3fb0-418c-9316-7880e94f8024</Guid>
</PositionSource>
</PositionSources>
Visión detallada
Introducción
Inicia la ventana de diálogo de información de visión detallada del origen de
posiciones seleccionado. La ventana de diálogo se inicia en la aplicación
PickMaster. Muestra la ruta del proyecto y la ID del origen de posiciones.
URL
http://pickmasterhost.se.abb.com/pickmaster/detailedvision
Método HTTP
PUT
Parámetros
projectpath: indica la ruta del proyecto que contiene el origen de posiciones
cuya visión detallada se desea iniciar.
possrcid: indica la ID del origen de posiciones cuya visión detallada se desea
iniciar.
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/detailedvision/
?projectpath=C:\PMProjects\Project1.pmproj&posSrcId=855501ed-3fb0-418c-9316-
7880e94f8024
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<DetailedVision>
<ProjectPath>C:\PMProjects\Project1.pmproj</ProjectPath>
<PositionSourceId>855501ed-3fb0-418c-9316-7880e94f8024</PositionSourceId>
</DetailedVision>
Mensajes de registro
Introducción
Recopila hasta los últimos 100 mensajes de registro de PickMaster. Utiliza el
sondeo prolongado, es decir, las peticiones esperan a que lleguen nuevos mensajes
de PickMaster durante un intervalo de hasta 30 segundos antes del retorno. Debe
usarse preferiblemente en su propio hilo. Muestra los mensajes de registro con el
mensaje, el proyecto de origen, el registro de fecha y hora, el estado y el tipo.
URL
http://pickmasterhost.se.abb.com/pickmaster/logmessages
Método HTTP
GET
Parámetros
Ninguno
Ejemplo de uso
URL de petición:
http://pickmasterhost.se.abb.com/pickmaster/logmessages/
Respuesta:
<?xml version="1.0" encoding="utf-16"?>
<LogMessages>
<LogMessage>
<Message>[Controller1] -- Entering state Connected </Message>
<ProjectName>Project1</ProjectName>
<Time>11/03/10 15:40:11</Time>
<Status>0</Status>
<Type>Status</Type>
</LogMessage>
<LogMessage>
<Message>[Robot1] Controller state: MotorsOn</Message>
<ProjectName>Project1</ProjectName>
<Time>11/03/10 15:40:11</Time>
<Status>8194</Status>
<Type>Status</Type>
</LogMessage>
<LogMessage>
<Message>[Controller1] -- Entering state MotorsOn </Message>
<ProjectName>Project1</ProjectName>
<Time>11/03/10 15:40:11</Time>
<Status>0</Status>
<Type>Status</Type>
</LogMessage>
<LogMessage>
<Message>[Robot1] -- T_ROB1 entering state InitRapid </Message>
<ProjectName>Project1</ProjectName>
<Time>11/03/10 15:40:11</Time>
<Status>0</Status>
<Type>Status</Type>
</LogMessage>
</LogMessages>
8 Referencia de RAPID
8.1 Instrucciones
Utilización
AckItmTgt se utiliza para confirmar que se ha utilizado un itmtgt recibido con
GetItmTgt desde un origen de elementos (por ejemplo, gestionado por el robot,
omitido o devuelto a la cola para su uso posterior). Normalmente, la confirmación
tiene la forma de un evento TriggL en la ruta (con datos de disparo Ack o Nack
desde los datos de origen) para asegurarse de que la confirmación no tenga lugar
antes de que finalicen los posibles movimientos relacionados con el objetivo. Sin
embargo, si el itmtgt recibido debe ser omitido o devuelto a la cola para su uso
posterior, es posible que los movimientos relacionados con el objetivo no sean
necesarios. En este caso es conveniente utilizar esta instrucción en su lugar. Solo
tras la realización de la confirmación es posible capturar un nuevo itmtgt desde
el origen de elementos.
Ejemplo básico
VAR itmtgt PlaceTarget;
GetItmTgt ItmSrcData{Index}.ItemSource, PlaceItem;
AckItmTgt ItmSrcData{Index}.ItemSource, PlaceItem, FALSE
\Skip:=TRUE;
Argumentos
AckItmTgt ItemSource ItemTarget Acknowledge [\Skip] [\Type]
ItemSource
Tipo de dato: itmsrc
El origen de elementos desde el cual se ha recibido el objetivo de elemento con
GetItmTgt.
ItemTarget
Tipo de dato: itmtgt
El objetivo de elemento que se desea confirmar.
Acknowledge
Tipo de dato: bool
El estado de confirmación. TRUE si el itmtgt ha sido gestionado (elegido o
colocado) por el robot y FALSE si no es así, en cuyo caso el itmtgt es devuelto
a la cola.
Skip
Tipo de dato: bool
Indica si el itmtgt debe omitirse. Si tiene el valor TRUE, no será posible recibir
el itmtgt de nuevo con GetItmTgt. Si se combina con Acknowledge = FALSE,
el itmtgt se deja pasar para su posible manejo por los robots posteriores. Si se
combina con Acknowledge = TRUE, la omisión no tendrá ningún efecto. Si Skip
tiene el valor FALSE, el itmtgt se considerará como gestionado por el robot (si
se combina con Acknowledge = TRUE), o se pondrá de nuevo en la cola para su
uso posterior (si se combina con Acknowledge = FALSE).
Type
Tipo de dato: num
Modifica el tipo del itmtgt. Si se combina con Acknowledge = FALSE y Skip
= TRUE, se deja pasar el elemento hacia los robots posteriores de acuerdo con la
distribución del nuevo tipo de elemento.
Si se combina con Acknowledge = FALSE y Skip = FALSE, el elemento es
devuelto a la cola con el nuevo tipo de elemento y puede seguir siendo recibido
con GetItmTgt. El tipo de elemento sólo cambiará localmente; el tipo de elemento
y la distribución del elemento no cambiarán en el caso de los robots posteriores.
Si se combina con Acknowledge = TRUE, el cambio de tipo no tendrá ningún
efecto.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Código de error Descripción
ERR_ITMSRC_UNDEF itmsrc no definido.
Limitaciones
El itmtgt debe ser recibido con la instrucción GetItmTgt.
Sintaxis
AckItmTgt
[ItemSource ':=' ] <variable (VAR) of itmsrc>,
[ItemTarget ':=' ] <var or pers (INOUT) of itmtgt>,
[Acknowledge':=' ] <expression (IN) of bool>,
[\Skip ':=' ] <expression (IN) of bool>,
[\Type ':=' ] <expression (IN) of num>;
Información relacionada
Utilización
FlushItmSrc se utiliza para vaciar un origen de elementos. Esta instrucción vacía
los búfers del origen de elementos, cambia el número de escena a uno y vacía la
tarjeta codificadora.
Ejemplo básico
FlushItmSrc PlaceSource;
Vacía el objeto de origen de elementos PlaceSource creado anteriormente.
Argumentos
FlushItmSrc ItemSource
ItemSource
Tipo de dato: itmsrc
El origen de elementos creado.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Limitaciones
Para evitar problemas potenciales, esta instrucción solo debe ejecutarse una vez
que se ha confirmado definitivamente el último objetivo de elemento.
Sintaxis
FlushItmSrc
[ItemSource ':=' ] <variable (VAR) of itmsrc>;
Utilización
GetItmTgt se utiliza para obtener el siguiente objetivo itmtgt disponible en la
cola de origen de elementos entre la entrada y el límite de salida del área de trabajo.
El programa de RAPID espera en esta instrucción hasta que sea posible alcanzar
el elemento o hasta que se agote el tiempo límite.
Ejemplos básicos
A continuación aparecen algunos ejemplos básicos de la instrucción GetItmTgt.
Ejemplo 1
GetItmTgt PlaceSource, PlaceItem;
Recibe un elemento de colocación de PlaceSource cuando haya uno que puede
usarse.
Ejemplo 2
...
VAR selectiondata neg_y_sort;
neg_y_sort.ShapeType:=BOX;
neg_y_sort.ConsiderType:=BitOr(ITEMS_TO_USE,ITEMS_BYPASS);
neg_y_sort.GeometricData.x:=60;
neg_y_sort.GeometricData.y:=500;
neg_y_sort.GeometricData.z:=10;
neg_y_sort.GeometricData.radius:=0;
neg_y_sort.Offset.OffsetRelation:=FRAME_COORD_DIR;
neg_y_sort.Offset.OffsetPose.trans.x:=0;
neg_y_sort.Offset.OffsetPose.trans.y:=-500;
neg_y_sort.Offset.OffsetPose.trans.z:=0;
neg_y_sort.Offset.OffsetPose.rot.q1:=1;
neg_y_sort.Offset.OffsetPose.rot.q2:=0;
neg_y_sort.Offset.OffsetPose.rot.q3:=0;
neg_y_sort.Offset.OffsetPose.rot.q4:=0;
IF pick_type = 2 THEN pick_type := 1; ELSE
pick_type := 2
ENDIF
xx0900000451
A Entrada
B Límite de comprobación
C Salida
D Sentido del flujo de producto
E Sentido de clasificación
1-10 Orden de clasificación
Argumentos
GetItmTgt ItemSource, ItemTarget [\MaxTime] [\TimeFlag] [\ItemType]
[\Limit] [\SortData] [\Selection] [\Val1Min] [\Val1Max]
[\Val2Min] [\Val2Max] [\Val3Min] [\Val3Max] [\Val4Min]
[\Val4Max] [\Val5Min] [\Val5Max]
ItemSource
Tipo de dato: itmsrc
El origen de elementos del que debe recibirse el objetivo de elemento.
ItemTarget
Tipo de dato: itmtgt
El posición de elemento recibido.
[\MaxTime]
Tipo de dato: num
El tiempo máximo de espera, expresado en segundos. Si se agota este tiempo
antes de la obtención del objetivo de elemento y no se añade el indicador TimeOut,
[\TimeFlag]
Tipo de dato: bool
El parámetro de salida que contiene el valor TRUE si se agota el tiempo máximo
de espera permitido antes de que se reciba un objetivo de elemento. Si se incluye
este parámetro en la instrucción, no se considera un error si llega a agotarse el
tiempo límite. Este argumento no se tiene en cuenta si el argumento MaxTime no
se incluye en la instrucción.
[\ItemType]
Tipo de dato: num
Especifica qué número de tipo de elemento se solicita. La instrucción espera hasta
que esté disponible para su ejecución un objetivo de elemento que tenga el número
de tipo solicitado.
[\Limit]
Tipo de dato: num
Modifica la distancia desde la que se recibe el objetivo de elemento. Esta
instrucción devuelve el siguiente objetivo de elemento que se encuentre por encima
de este límite. Si se excluye este parámetro, la instrucción devuelve el siguiente
objetivo de elemento que se encuentre por encima del límite de salida.
La distancia se especifica en milímetros desde el centro del robot. El valor es
positivo si el límite se encuentra más allá del centro del robot respecto del sentido
de movimiento del alimentador. Este argumento sólo es válido cuando se utiliza
un transportador.
[\SortData]
Tipo de dato: sortdata
Esta estructura de datos define cómo deben clasificarse los elementos.
[\Selection]
Tipo de dato: selectiondata
Esta estructura de datos define cómo deben seleccionarse los elementos.
[\Val1Min]
Tipo de dato: num
Especifica el valor mínimo para el parámetro Val1 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val1Max]
Tipo de dato: num
Especifica el valor máximo para el parámetro Val1 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val2Min]
Tipo de dato: num
Especifica el valor mínimo para el parámetro Val2 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val2Max]
Tipo de dato: num
Especifica el valor máximo para el parámetro Val2 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val3Min]
Tipo de dato: num
Especifica el valor mínimo para el parámetro Val3 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val3Max]
Tipo de dato: num
Especifica el valor máximo para el parámetro Val3 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val4Min]
Tipo de dato: num
Especifica el valor mínimo para el parámetro Val4 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val4Max]
Tipo de dato: num
Especifica el valor máximo para el parámetro Val4 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val5Min]
Tipo de dato: num
Especifica el valor mínimo para el parámetro Val5 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
[\Val5Max]
Tipo de dato: num
Especifica el valor máximo para el parámetro Val5 del itmtgt. La instrucción
espera hasta que esté disponible para su ejecución un objetivo de elementos que
cumpla esta condición.
Ejecución de programas
Si no hay ningún objetivo de elemento en el búfer ni ningún objetivo de elemento
disponible en el área de trabajo, la ejecución del programa espera en esta
instrucción hasta que se considera que un elemento está dentro del área de trabajo.
Si se especifica el argumento MaxTime, el tiempo de espera se supervisa. Si el
tiempo de espera sobrepasa el valor de MaxTime y se utiliza el argumento o
TimeFlag, el programa continuará. Si no se utiliza TimeFlag, se genera un error.
Si se especifica TimeFlag, este indicador cambia a TRUE si se supera el tiempo.
De lo contrario, cambia a FALSE.
El argumento Limit modifica el límite a partir del cual el objetivo de elemento
debe recibirse.
Si se especifica el argumento SortData, la instrucción devuelve el objetivo de
elemento más cercano al límite de salida en la dirección X y, en función de la
ausencia de otros objetos en la dirección de clasificación, se selecciona el primer
objeto en la dirección de clasificación. La distancia indicada en CheckBoundry
define la distancia de separación necesaria alrededor de un objeto. La clasificación
comprobará el flujo de producción tanto en sentido ascendente como descendente
para detectar otros objetivos de elemento. Si este argumento se combina con el
argumento Limit, el algoritmo de clasificación también tendrá en cuenta todos
los objetos situados entre el límite y el límite de salida a la hora de comprobar la
presencia de objetos cercanos dentro de la distancia de seguridad. Si se utiliza
más de un robot en un sistema con orígenes de posiciones compartidos, por
ejemplo, reparto de carga o ATC, es muy recomendable utilizar el argumento
Selection con datos de selección correctos, dado que SortData no tiene en
cuenta los elementos que estén pasando en el momento de la clasificación.
Si se especifica el argumento Selection, la instrucción devuelve el objetivo de
elemento más cercano al límite de salida en la dirección X y que no tenga otros
objetivos de elemento que estén dentro de la forma especificada. Si este argumento
se combina con el argumento Limit, el algoritmo de selección también tendrá en
cuenta todos los objetos situados entre el límite y el límite de salida a la hora de
comprobar la presencia de objetos cercanos dentro de la distancia. Es muy
recomendable usarlo con el fin de evitar colisiones.
Si se especifican valores para los argumentos opcionales Va1Xmin o Va1Xmax,
la instrucción devolverá un objetivo de elementos que cumple los valores máximo
y mínimo necesarios para Va1X.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
GetItmTgt
[ItemSource ':=' ] <variable (VAR) of itmsrc>,
[ItemTarget ':=' ] <var or pers (INOUT) of itmtgt>
[\MaxTime ':=' ] <expression (IN) of num>
[\TimeFlag ':=' ] <var or pers (INOUT) of bool>
[\ItemType ':=' ] <expression (IN) of num>
[\Limit ':=' ] <expression (IN) of num>
[\SortData ':=' ] <expression (IN) of sortdata>
[\Selection ':=' ] <expression (IN) of selectiondata>
[\Val1Min ':=' ] <expression (IN) of num>
[\Val1Max ':=' ] <expression (IN) of num>
[\Val2Min ':=' ] <expression (IN) of num>
[\Val2Max ':=' ] <expression (IN) of num>
[\Val3Min ':=' ] <expression (IN) of num>
[\Val3Max ':=' ] <expression (IN) of num>
[\Val4Min ':=' ] <expression (IN) of num>
[\Val4Max ':=' ] <expression (IN) of num>
[\Val5Min ':=' ] <expression (IN) of num>
[\Val5Max ':=' ] <expression (IN) of num>;
Información relacionada
Utilización
NextItmTgtType se utiliza para obtener el tipo del siguiente objetivo de elemento
(itmtgt) del búfer del origen de elementos. Si se indica el parámetro de distancia
Limit, la instrucción devolverá el tipo del siguiente objetivo de elemento que esté
por encima del límite. El programa de RAPID espera en esta instrucción hasta que
haya un elemento en esta cola.
Ejemplos básicos
NextItmTgtType PlaceSource, PlaceType
Obtiene el tipo del siguiente objetivo itmtgt de PlaceSource.
Argumentos
NextItmTgtType ItemSource ItemType [\Limit] [\MaxTime] [\TimeFlag]
ItemSource
Tipo de dato: itmsrc
El origen de elementos del que debe obtenerse el tipo del objetivo de elemento.
ItemType
Tipo de dato: num
El tipo del objetivo de elemento obtenido.
[\Limit]
Tipo de dato: num
Éste es el límite a partir del cual se obtiene el tipo. Esta instrucción devuelve el
tipo del siguiente objetivo de elemento que se encuentre por encima de este límite.
Si se excluye este parámetro, la instrucción devuelve el tipo del siguiente objetivo
de elemento que se encuentre por encima del límite de salida.
La distancia se calcula en milímetros desde el centro del robot. El valor es positivo
si el límite se encuentra más allá del centro del robot respecto del sentido de
movimiento de la cinta transportadora.
Este argumento sólo es válido cuando se utiliza un transportador.
[\MaxTime]
Tipo de dato: num
El tiempo máximo de espera, expresado en segundos. Si se agota este tiempo
antes de la obtención del objetivo de elemento y no se añade el indicador TimeOut,
se llamará al gestor de errores con el código de error ERR_PPA_TIMEOUT. Si no
hay ningún gestor de errores, se detiene la ejecución.
[\TimeFlag]
Tipo de dato: bool
El parámetro de salida que contiene el valor TRUE si se agota el tiempo máximo
de espera permitido antes de que se obtenga un objetivo de elemento. Si se incluye
Ejecución de programas
Si no hay ningún objetivo de elemento en el búfer ni ningún objetivo de elemento
por encima del límite Limit, la ejecución del programa espera en esta instrucción
hasta que haya un elemento en el búfer.
Si se especifica el argumento MaxTime, el tiempo de espera se supervisa. Si el
tiempo de espera sobrepasa el valor de MaxTime y se utiliza el argumento o
TimeFlag, el programa continuará. Si no se utiliza TimeFlag, se genera un error.
Si se especifica TimeFlag, este indicador cambia a TRUE si se supera el tiempo.
De lo contrario, cambia a FALSE.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
NextItmTgtType
[ItemSource ':=' ] <variable (VAR) of itmsrc>,
[ItemType ':=' ] <var or pers (INOUT) of num>
[\Limit ':=' ] <expression (IN) of num>
[\MaxTime ':=' ] <expression (IN) of num>
[\TimeFlag ':=' ] <var or pers (INOUT) of bool>;
Información relacionada
Utilización
QStartItmSrc se utiliza para iniciar la cola de un origen de elementos. Esta
instrucción debe usarse al iniciar un nuevo programa o después del vaciado.
Ejemplo básico
QStartItmSrc PlaceSource;
Se inicia la cola de objetos del origen de elementos PlaceSource.
Argumentos
QStartItmSrc ItemSource
ItemSource
Tipo de dato: itmsrc
El origen de elementos iniciado.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
QStartItmSrc
[ItemSource ':=' ] <variable (VAR) of itmsrc>;
Información relacionada
Utilización
QStopItmSrc se utiliza para detener la cola de un origen de elementos.
Ejemplo básico
QStopItmSrc PlaceSource;
Se detiene la cola de objetos del origen de elementos PlaceSource.
Argumentos
QStopItmSrc ItemSource
ItemSource
Tipo de dato: itmsrc
El origen de elementos detenido.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
QStopItmSrc
[ItemSource ':=' ] <variable (VAR) of itmsrc>;
Información relacionada
Utilización
ResetFlowCount se utiliza para restablecer el contador de flujo. El contador de
caudal indica el número de objetos que han pasado por el límite de salida de un
área de trabajo de transportador desde el último restablecimiento. El valor del
contador de flujo puede recuperarse con la función GetFlowCount
Ejemplo básico
ResetFlowCount PlaceSource;
Restablece el contador de flujo de un origen de elementos.
Argumentos
ResetFlowCount ItemSource
ItemSource
Tipo de dato: itmsrc
El origen de elementos.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden
gestionarse en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
ResetFlowCount[ItemSource ':=' ] <variable (VAR) of itmsrc>;
Información relacionada
Descripción
ResetMaxUsageTime se utiliza para restablecer el tiempo máximo de uso medido
de los objetos anteriormente manipulados. Es el tiempo desde la recepción de un
objetivo con GetItmTgt hasta que el robot manipula el objeto (tiempo de
confirmación). ResetMaxUsageTime solo está disponible con la opción PickMaster
3.
Ejemplo
ResetMaxUsageTime ItmSrcData{PickWorkArea{1}}.ItemSource;
Restablece el tiempo máximo de uso de un origen de elementos.
Argumentos
ResetMaxUsageTime ItemSource
Item Source
ItemSource
Tipo de dato: itmsrc
El origen de elementos.
Gestión de errores
Se generan los siguientes errores recuperables, que se gestionan con un gestor
de errores. La variable del sistema ERRNO se establecerá en:
Sintaxis
ResetMaxUsageTime[ItemSource ':=' ] <variable (VAR) of itmsrc>;
Descripción
UseReachableTargets se utiliza para activar un modo funcional, en el que el robot
solo recibe objetivos alcanzables para la manipulación de objetos. Cuando se
activa, los objetivos no alcanzables se filtran para las solicitudes de objetivos con
GetItmTgt, consulte Manual de aplicaciones - PickMaster 3.
UseReachableTargets establece una zona de liberación de objetivos óptima de
tamaño variable. El tamaño de la zona de liberación depende del alcance del robot
y de la velocidad en tiempo real del transportador. Cuando la velocidad del
transportador aumenta, el tamaño de la zona de liberación disminuye, con lo que
se reduce la cantidad de objetivos disponibles para el uso. Si la velocidad del
transportador es demasiado elevada, la zona de liberación desaparece por completo
y no se recibirán objetivos hasta que la velocidad se reduzca.
UseReachableTargets solo está disponible con la opción PickMaster 3.
¡AVISO!
xx1800000383
Ejemplo
UseReachableTargets ItmSrcData{PlaceWorkArea{1}}.ItemSource, TRUE,
0.7 \ReleaseTime:=0.1;
GetItmTgt PlaceSource, PlaceItem;
Argumentos
UseReachableTargets ItemSource, Enable, UsageTime [\ReleaseTime]
Item Source
ItemSource
Tipo de dato: itmsrc
El origen de elementos en que se activa UseReachableTargets.
Enable
Enable
Tipo de dato: bool
Activa/desactiva UseReachableTargets.
Usage Time
UsageTime
Tipo de dato: num
El tiempo de uso previsto de los objetivos. Es el tiempo desde la recepción del
objetivo con GetItmTgt, hasta que el robot manipula el objeto (por ejemplo, lo
recoge), que se conoce como tiempo de confirmación. El tiempo de uso real se
mide continuamente y se puede recibir el tiempo máximo de uso medido con
GetMaxUsageTime. Para evitar errores, el valor de UsageTime se debe definir
como una suma del tiempo máximo de uso medido y un margen. Por ejemplo,
establezca UsageTime = Tiempo máximo de uso medido + 0,1 segundos. El
inconveniente de definir un margen de seguridad prolongado es la reducción
innecesaria de la zona de liberación de objetivos, lo que puede reducir la velocidad
de elección.
[\ReleaseTime]
Release Time
Tipo de dato: num
El valor de ReleaseTime define el momento en que los objetivos entran en la zona
de liberación, antes de quedar al alcance del robot. Si el valor es negativo, los
objetivos entran en la zona de liberación después de quedar al alcance del robot.
Se recomienda un valor de 0,1 o inferior para evitar errores de alcance. Un valor
superior puede resultar útil para compensar velocidades elevadas de la cinta
transportadora. El inconveniente de un valor superior es el aumento del riesgo de
errores de alcance aguas arriba a bajas velocidades.
Nota
Sintaxis
UseReachableTargets
[ItemSource ':=' ] <variable (VAR) of itmsrc>,
[Enable ':=' ] <var or pers (IN) of bool>
[UsageTime ':=' ] <var or pers (IN) of num>
[\ReleaseTime ':=' ] <expression (IN) of num>;
Limitaciones
Si el área de trabajo del robot está limitada en la configuración de movimientos,
existe la posibilidad de que los objetivos situados hasta 20 mm fuera del área de
trabajo, perpendiculares a la dirección de movimiento del transportador, puedan
ser recuperados por la instrucción GetItmTgt.
Una solución alternativa para evitar errores fuera de alcance consiste en establecer
una comprobación adicional en el valor Y de itemtarget antes de moverse hacia
él.
8.2 Funciones
Descripción
GetMaxUsageTime se utiliza para obtener el tiempo máximo de uso medido de
los objetos anteriormente manipulados. Es el tiempo desde la recepción de un
objetivo con GetItmTgt hasta que el robot manipula el objeto (tiempo de
conformación). El tiempo de uso real se mide continuamente para cada objeto
manipulado. GetMaxUsageTime solo está disponible con la opción PickMaster 3.
Ejemplo
VAR num usetime;
usetime := GetMaxUsageTime(ItmSrcData{PickWorkArea{1}}.ItemSource);
usetime es el tiempo máximo de uso medido desde el inicio de la producción o
desde la ejecución de ResetMaxUsageTime.
Valor de retorno
Tipo de dato: num
El tiempo máximo de uso medido desde el inicio de la producción o desde la
ejecución de ResetMaxUsageTime.
Argumentos
GetMaxUsageTime (ItemSource)
Item Source
ItemSource
Tipo de dato: itmsrc
El origen de elementos.
Gestión de errores
Pueden generarse los errores recuperables enumerados a continuación. Estos
errores se pueden gestionar en un gestor de errores. El valor de la variable de
sistema ERRNO se establecerá en:
Sintaxis
GetMaxUsageTime '('[ItemSource ':=' ] <variable (VAR) of itmsrc>
')';
Esta función devuelve el valor de los datos con el tipo de datos num.
Utilización
GetQueueLevel se utiliza para obtener el número actual de objetivos de elementos
de un origen de elementos que cumpla determinadas condiciones.
Ejemplo básico
reg1 := GetQueueLevel(PlaceSource);
Se asigna a reg1 el número actual de objetivos de elemento del origen de
elementos PlaceSource.
Valor de retorno
Tipo de dato: num
El número actual de objetivos de elemento del origen de elementos.
Argumentos
GetQueueLevel (ItemSource [\ItmType] [\MinLimit] [\MaxLimit])
ItemSource
Tipo de dato: itmsrc
El origen de elementos cuyo número actual de objetivos de elemento debe
obtenerse.
\ItmType
Tipo de dato: num
Sólo se cuentan los elementos del número de tipo especificado.
\MinLimit
Tipo de dato: num
Define la distancia mínima hasta el centro del robot desde donde se cuenta un
elemento. Un valor negativo indica que el límite se encuentra más arriba del centro
del robot. Un valor positivo indica que el límite se encuentra más abajo. Los
parámetros no afectan a las áreas de trabajo indexadas.
\MaxLimit
Tipo de dato: num
Define la distancia máxima hasta el centro del robot desde donde se cuenta un
elemento. Un valor negativo indica que el límite se encuentra más arriba del centro
del robot. Un valor positivo indica que el límite se encuentra más abajo. El
parámetro no afecta a las áreas de trabajo indexadas.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
GetQueueLevel '('
[ItemSource ':=' ] <variable (VAR) of itmsrc> ')'
[\ItmType ':=' ] <expression (IN) of num>
[\MinLimit ':=' ] <expression (IN) of num>
[\MaxLimit ':=' ] <expression (IN) of num>;
Una función con un valor de retorno del tipo de dato num.
Utilización
GetQueueTopLevel se utiliza para obtener el número máximo de objetivos de
elemento que han estado presentes simultáneamente en el búfer de un origen de
elementos.
Ejemplos básicos
reg1 := GetQueueTopLevel(PlaceSource);
Se asigna a reg1 el número máximo de objetivos de elemento que han estado
presentes simultáneamente en el origen de elementos PlaceSource.
Valor de retorno
Tipo de dato: num
El número máximo de objetivos de elemento que han estado presentes
simultáneamente en el origen de elementos.
Argumentos
GetQueueTopLevel (ItemSource)
ItemSource
Tipo de dato: itmsrc
El origen de elementos cuyo número actual de objetivos de elemento debe
obtenerse.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden ser
gestionados en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
GetQueueTopLevel '('
[ItemSource ':=' ] <variable (VAR) of itmsrc> ')';
Una función con un valor de retorno del tipo de dato num.
Utilización
GetFlowCount se utiliza para obtener el número total de elementos que han
pasado por el límite de salida de un área de trabajo de transportador desde la
ejecución de ResetFlowCount. No se cuentan los elementos manejados por el
robot (incluso si pasan el límite de salida antes de que se produzca la
elección/colocación).
Ejemplo básico
VAR num counter;
ResetFlowcount PlaceSource;
WaitTime 10;
counter := GetFlowCount(PlaceSource);
Se asigna a counter el número de elementos provenientes de PlaceSource que
han pasado el límite de salida.
Valor de retorno
Tipo de dato: num
El número de elementos que han pasado el límite de salida desde la ejecución de
ResetFlowCount.
Argumentos
GetFlowCount (ItemSource)
ItemSource
Tipo de dato: itmsrc
El origen de elementos.
Gestión de errores
Pueden generarse los errores recuperables siguientes. Los errores pueden
gestionarse en un gestor de errores. La variable de sistema ERRNO cambia a:
Sintaxis
GetFlowCount '('[ItemSource ':=' ] <variable (VAR) of itmsrc> ')';
La función devuelve un valor con el tipo de dato num.
Información relacionada
Utilización
itmtgt se utiliza para describir un elemento de elección o colocación.
Descripción
Itmtgt identifica el elemento que debe elegirse o colocarse. Contiene la posición
y varios datos adicionales.
Componentes
tag
Tipo de dato: num
Un número secuencial que identifica al elemento. Puede modificarse con un User
Hook para su uso libre. Está restringido a los valores enteros.
type
Tipo de dato: num
El tipo del elemento.
scene
Tipo de dato: num
Un número secuencial que identifica la escena, que corresponde por ejemplo a
una imagen tomada por el sistema de visión.
robtgt
Tipo de dato: robtgt
La posición de elección o colocación.
val1
Tipo de dato: num
Opcional. Puede usarse para contener información adicional específica del
elemento, por ejemplo, mediante un User Hook. Tiene el tipo de dato float.
val2
Tipo de dato: num
Opcional. Puede usarse para contener información adicional específica del
elemento, por ejemplo, mediante un User Hook. Tiene el tipo de dato float.
val3
Tipo de dato: num
Opcional. Puede usarse para contener información adicional específica del
elemento, por ejemplo, mediante un User Hook. Tiene el tipo de dato float.
val4
Tipo de dato: num
val5
Tipo de dato: num
Opcional. Puede usarse para contener información adicional específica del
elemento, por ejemplo, mediante un User Hook. Tiene el tipo de dato float.
Ejemplos
Ejemplo 1
CONST itmtgt pickpos :=
[1,2,1,0,0,0,0,0,[[20,40,8],[1,0,0,0],[0,0,0,0],
[9E+9,9E+9,9E+9,9E+9,0,0]]];
Se define una posición de elección. El eje externo relacionado con las cintas
transportadoras utilizadas debe cambiarse a cero, es decir, debe marcarse como
no utilizado (con el valor 9E+9). Ejemplo: Si tiene dos cintas transportadoras,
cambie a cero las posiciones de los dos últimos ejes externos.
Estructura
<dataobject of itmtgt>
<tag of num>
<type of num>
<scene of num>
<val1 of num>
<val2 of num>
<val3 of num>
<val4 of num>
<val5 of num>
<dataobject of robtarget>
<trans of pos>
<x of num>
<y of num>
<z of num>
<rot of orient>
<q1 of num>
<q2 of num>
<q3 of num>
<q4 of num>
<robconf of confdata>
<cf1 of num>
<cf4 of num>
<cf6 of num>
<cfx of num>
<extax of extjoint>
<eax_a of num>
<eax_b of num>
<eax_c of num>
<eax_d of num>
<eax_e of num>
<eax_f of num>
Continúa en la página siguiente
Manual de aplicaciones - PickMaster 3 315
3HAC031978-005 Revisión: U
© Copyright 2008-2020 ABB. Reservados todos los derechos.
8 Referencia de RAPID
8.3.1 itmtgt - Datos de posición de elementos
Continuación
Información relacionada
Utilización
selectiondata se utiliza para describir los criterios de selección. También se
usa para describir la clasificación de elementos.
Descripción
selectiondata se utiliza para definir los criterios de clasificación y área de
separación al obtener objetivos de elemento de un origen de elementos.
Componentes
ShapeType
Tipo de dato: shapetype
Especifica la forma del área de separación que debe utilizarse.
• SHAPE_UNDEFINED especifica que no se utiliza ninguna selección.
• BOX especifica que debe utilizarse un tetraedro alrededor de la posición del
objetivo de elemento en el que no debe haber ningún otro objetivo de
elemento presente.
• CYLINDER especifica que debe utilizarse un cilindro alrededor de la posición
del objetivo de elemento en el que no debe haber ningún otro objetivo de
elemento presente.
• SPHERE especifica que debe utilizarse una esfera alrededor de la posición
del objetivo de elemento en la que no debe haber ningún otro objetivo de
elemento presente.
ConsiderType
Tipo de dato: aconsidertype
Especifica qué elementos de la cola deben tenerse en cuenta al seleccionar.
• ITEMS_TO_USE especifica que solo se deben tener en cuenta en la selección
los elementos marcados para su uso en esta cola.
• ITEMS_BYPASS especifica que solo se deben tener en cuenta en la selección
los elementos marcados para su omisión en esta cola.
• ITEMS_PICKED especifica que sólo se deben tener en cuenta en la selección
los elementos marcados como ya elegidos, ya sea por esta cola o por una
cola anterior de la línea.
• ITEMS_PLACED especifica que sólo se deben tener en cuenta en la selección
los elementos marcados como ya colocados, ya sea por esta cola o por una
cola anterior de la línea.
Si a la hora de seleccionar un elemento deben tenerse en cuenta los elementos
que presentan marcas diferentes, utilice una operación BitOr con los tipos a
considerar. (Función de RAPID BitOr(<byte>,<byte>).)
GeometricData
Tipo de dato: geodata
Offset
Tipo de dato: offsetdata
El offset se compone de OffsetRelation (offsetreltype) y OffsetPose
(pose).
OffsetRelation puede ser de dos tipos diferentes.
• FRAME_COORD_DIR indica que la rotación de OffsetPose se hace de forma
relativa al sistema de coordenadas del objeto de trabajo o del transportador.
• ITEM_COORD_DIR indica que la rotación de OffsetPose se hace de forma
relativa al sistema de coordenadas del elemento que se desea comprobar.
OffsetPose se utiliza para alejar el centro de la forma de la posición del elemento,
por ejemplo, si la posición de la pinza del elemento no se encuentra en el centro
del objeto real que se desea elegir.
Ejemplos
VAR selectiondata clear_rect:= [BOX,ITEMS_TO_USE,[22,15,5,0],
[FRAME_COORD_DIR,[[0,7,0],[1,0,0,0]]]];
Limitaciones
La orientación debe estar normalizada, es decir, la suma de los cuadrados debe
ser igual a 1.
q1 2 + q2 2 + q3 2 + q4 2 = 1
Estructura
<dataobject of selectiondata>
<ShapeType of shapetype>
<ConsiderType of considertype>
<GeometricData of geodata>
<x of num>
<y of num>
<z of num>
<radius of num>
<Offset of offsetdata>
<OffsetRelation of offsetreltype>
<OffsetPose of pose>
<trans of pos>
<x of num>
<y of num>
<z of num>
<rot of orient>
<q1 of num>
<q2 of num>
<q3 of num>
<q4 of num>
Información relacionada
Utilización
sortdata se utiliza para describir los criterios de clasificación.
Descripción
sortdata se utiliza para definir los criterios de clasificación de objetivos de
elemento de un origen de elementos.
Componentes
SortType
Tipo de dato: sorttype
El tipo de clasificación que se desea usar.
• UNSORT_TYPE indica que no se utiliza ninguna clasificación.
• POS_Y_SORT_TYPE indica que la clasificación debe hacerse en la dirección
Y positiva del área de trabajo.
• NEG_Y_SORT_TYPE indica que la clasificación debe hacerse en la dirección
Y negativa del área de trabajo.
CheckBoundary
Tipo de dato: num
La distancia de separación para la clasificación, en milímetros. La distancia se
define como la distancia mínima hasta el siguiente elemento en la dirección de
clasificación.
SortDirOffset
Tipo de dato: num
Una distancia de offset más allá del objetivo de elemento en la dirección de
clasificación. Se utiliza para definir el límite interior del pasillo, dentro del cual no
se permiten otros objetivos de elemento.
Ejemplos
VAR sortdata y_sort:=[NEG_Y_SORT_TYPE ,78, 52];
Estructura
<dataobject of sortdata>
<SortType of sorttype>
<CheckBoundary of num>
<SortDirOffset of num>
Introducción
Descripción general
Cada robot tiene un programa de RAPID predeterminado que puede editarse con
un editor de texto normal desde la configuración del robot de la ventana de diálogo
del trabajo. Cuando se inicia un trabajo, el programa se descarga mediante
PickMaster en el controlador de elección. El programa contiene la rutina Main en
la que se inicia la ejecución del programa.
Nota
Si existe más de un área de trabajo de elección con un robot, este utiliza el que
presente un menor índice configurado de área de trabajo. Si existe más de un área
de trabajo de colocación con un robot, este utiliza el que presente un menor índice
configurado de área de trabajo. El programa de RAPID puede modificarse para
implementar otra secuencia, por ejemplo para una elección doble en una sola
colocación.
Movimientos
El programa de RAPID se construye con seis movimientos diferentes.
En el caso de un robot de seis ejes, deben utilizarse los siguientes dos puntos
intermedios:
• Entre la posición 3 y la posición 4.
• Entre la posición 6 y la posición 1 del siguiente bucle.
xx0800000326
Nota
Módulos de programa
El programa de RAPID predeterminado contiene tres módulos de programa.
Módulo Descripción
PPAMAIN Se encarga de las inicializaciones principales del programa y
de la secuencia de ejecución. No edite este módulo con el fin
de crear uno personalizado.
PPASERVICE Contiene las rutinas y variables de servicio que pueden ejecu-
tarse y definirse desde PickMaster.
PPAEXECUTING Gestiona las operaciones de elección y colocación. Personalice
este módulo para sus propios fines.
Módulos de sistema
Un controlador de robot ABB IRC5 con la opción de RobotWare Prepared for
PickMaster (PickWare) siempre contendrá los módulos de sistema cargados
ppaBase (encriptado) y ppaUser (abierto).
Módulo Descripción
ppaBase Contiene variables para la comunicación con PickMaster, ruti-
nas de eventos y rutinas de creación, inicialización y elimina-
ción de orígenes de elementos.
ppaUser Contiene declaraciones de los tipos de datos públicos y alberga
los datos de objetos de trabajo para las áreas de trabajo inde-
xadas. También contiene la declaración de datos de herramien-
ta predeterminada, por ejemplo, PickAct1 y PickAct2.
sourcedata
El tipo sourcedata se utiliza en la matriz de variables ItmSrcData. Esta matriz
contiene datos sobre cada uno de los orígenes de elementos.
El registro puede ser ampliado para otros fines, pero no se debe cambiar ni eliminar
ningún componente de la estructura.
Nombre Alias Descripción
Used bool Un indicador que define que se utiliza el índice de la
matriz.
ItemSource itmsrc El descriptor del origen de elementos.
SourceType itmsrctype Tipo de origen, PICK_TYPE, PLACE_TYPE o
UNDEFINED_TYPE.
Ack triggdata Datos de disparo para la confirmación de los objetivos
de elemento.
Nack triggdata Datos de disparo para la confirmación negativa de los
objetivos de elemento.
SimAttach1 triggdata Datos de disparo para vincular un elemento cercano al
activador 1 de la simulación.
noncnvwobjdata
El tipo noncnvwobjdata se utiliza en la matriz de variables persistentes
NonCnvWOData. Sólo se utiliza en las áreas de trabajo indexadas. Los datos del
objeto de trabajo se guardan en esta matriz. A partir de ese momento, estos datos
se utilizan al crear orígenes de elementos.
El registro puede ser ampliado para otros fines, pero no se debe cambiar ni eliminar
ningún componente de la estructura.
Nombre Alias Descripción
Used bool Un indicador que define que se utiliza el índice
de la matriz.
NonCnvWobjName string El nombre del área de trabajo.
Wobj wobjdata Los datos de objeto de trabajo almacenados.
AlwaysClearPath
Borrar trayectoria
La trayectoria del robot se borra antes del reinicio si se produce una parada durante
un movimiento coordinado hacia un objeto de trabajo móvil. De lo contrario, el
movimiento coordinado continúa por la trayectoria almacenada, aunque la posición
del objeto en la cinta transportadora puede haber cambiado a una posición que
se encuentre fuera del alcance del robot.
8.4.2 Variables
Nota
8.4.3 Rutinas
PROC main()
Rutina inicial del programa de RAPID. El programa se inicia siempre desde esta
rutina.
PROC InitSafeStop()
Inicializa la rutina TRAP SafeStop. Es necesario ejecutarla al principio de la
ejecución del programa para conseguir un paro correcto del robot cuando se pone
en pausa o se detiene el proyecto de PickMaster.
PROC InitTriggs()
Define los eventos de disparo de la activación, inversión y desactivación del vacío
en el inicio del proyecto para cada índice de área de trabajo utilizada. Encontrará
más información en SetTriggs.
PROC InitPickTune()
Inicializa la rutina TRAP PickTune. Es necesario ejecutarla al principio del inicio
del proyecto, para que se realice el ajuste de las áreas de trabajo.
PROC InitSpeed()
Configura la velocidad de robot que se utiliza en el programa. En esta rutina se
ejecuta la instrucción VelSet, que define la velocidad máxima permitida para el
robot. Si se utiliza un robot de seis ejes, este límite puede ajustarse para evitar
errores en el movimiento.
PROC PickPlace()
Inicia las colas de elementos e inicializa la configuración final. La secuencia de
elección y colocación se ejecuta desde esta rutina. No haga cambios en esta rutina.
Esta rutina es a la que se llama cuando se inicia la ejecución de la elección y la
colocación.
PROC SafeStop()
Cuando se detiene o pone en pausa el proyecto, se llama a esta rutina desde la
rutina SafeStopTrap o la rutina PickPlace. El movimiento lento hacia la posición
de seguridad se ejecuta desde esta rutina.
PROC GotoRestartPos()
Ejecuta el movimiento lento hasta la posición de seguridad y envía una confirmación
negativa a todos los orígenes de elementos. Es necesario hacerlo para informar
a todos los orígenes de que la ejecución ha sido interrumpida.
PROC Home()
Rutina de servicio que mueve el robot hasta la posición de seguridad.
PROC WashDown()
Rutina de servicio de lavado.
PROC TestCycle()
Rutina de servicio de pruebas.
PROC Homepos()
Rutina de servicio que mueve el robot hasta la posición de sincronización.
PROC EnumerateWorkAreas()
Configura las matrices y las áreas de trabajo de elección, colocación y otros.
PROC PickPlaceSeq()
Especifica la secuencia de la aplicación, es decir la lógica de cómo elegirá y
colocará el robot desde las distintas colas.
Esta rutina se ejecuta una vez con cada bucle, lo cual se cuenta como una elección
en las estadísticas de velocidad de elección de la pestaña de producción de
PickMaster.
TRAP SafeStopTrap
La rutina TRAP que captura la señal de E/S de paro. Se ejecuta si la señal de E/S
de paro se activa antes de la llamada a SafeStop desde la rutina PickPlace.
TRAP PickTuneTrap
La rutina TRAP que conecta los valores ajustados de PickMaster a las variables
correspondientes.
PROC ResetEvent()
Restablece algunas variables. Esta rutina sólo se ejecuta en el shelf del evento
de sistema RESET.
PROC PowerOnEvent()
Restablece algunas variables. Esta rutina solo se ejecuta en el shelf del evento
de sistema POWER_ON.
PROC StopEvent()
Borra la trayectoria del robot si éste se encuentra en un movimiento coordinado
cuando se produce el paro. Esta rutina solo se ejecuta en el shelf del evento de
sistema STOP.
PROC RestartEvent()
Esta rutina solo se ejecuta en el shelf del evento de sistema RESTART. Si el robot
se encuentra actualmente en un movimiento coordinado, esta rutina forzará al
programa a reiniciarse desde el nivel que tenga un gestor de errores para el error
PPA_RESTART generado.
PROC NewSource()
Crea un nuevo origen de elementos e inicializa la variable ItmSrcData. PickMaster
llama a esta rutina para cada área de trabajo cuando se inicia el proyecto.
PROC ClearAll()
Restablece todas las variables importantes y elimina todos los orígenes de
elementos. Se llama a esta rutina al detener el proyecto.
PROC PickRateInit()
Inicializa el cálculo de la velocidad de elección.
PROC PickRateReset()
Restablece el cálculo de la velocidad de elección.
PROC CheckAx4Rev ()
Comprueba si es necesario restablecer el cuarto eje del IRB340.
PROC NotifyClearAll ()
Indica a PickMaster que se ejecuta ClearAll.
PROC NotifySafeStop ()
Indica a PickMaster que se ejecuta SafeStop.
PROC NotifyRunning ()
Indica a PickMaster que el proceso se está ejecutando.
PROC NotifyWaitForExe ()
Indica a PickMaster que el programa de RAPID está esperando una nueva orden.
PROC WaitForExeOrder ()
PROC IncrPicks ()
Incrementa el cálculo de elección.
PROC ppaWaitWobj(PERS wobjdata Wobj, \num RelDist \num MaxTime \bool TimeFlag)
Encapsula la instrucción WaitWobj. Para obtener más información, consulte
Application manual - Conveyor tracking
PROC WalkTheData()
Rastrea el contenido de las variables de matriz ItmSrcData y NonCnvWOData, lo
que puede resultar útil al intentar encontrar un error. Imprime el archivo TheData.log
en el directorio de sistema del controlador.
TRAP PickRateTrap
La rutina TRAP que calcula la velocidad de elección correcta para el robot.
Ejemplo de código
PROC PickPlaceSeq()
Pick PickWorkArea{1};
IF PickTarget.Type = 1 THEN
Place PlaceWorkArea{1};
ELSEIF PickTarget.Type = 2 THEN
Place PlaceWorkArea{2};
ENDIF
ENDPROC
Ejemplo de código
PROC PickPlaceSeq()
VAR num PlaceType:=0;
NextItmTgtType
ItmSrcData{PlaceWorkArea{1}}.ItemSource,
PlaceType;
IF PlaceType = 1 THEN
Pick PickWorkArea{1};
ELSEIF PlaceType = 2 THEN
Pick PickWorkArea{2};
ENDIF
Place PlaceWorkArea{1};
ENDPROC
Nota
Ejemplo de código
PROC Pick(num Index)
VAR num PickType:=0;
VAR num PlaceType:=0;
WObjPick:=ItmSrcData{Index}.Wobj;
NextItmTgtType
ItmSrcData{PlaceWorkArea{1}}.ItemSource,PlaceType;
TEST PlaceType
CASE 4:
PickType:=1;
CASE 5:
PickType:=2;
CASE 6:
PickType:=3;
ENDTEST
GetItmTgt ItmSrcData{Index}.ItemSource, PickTarget
\ItemType:=PickType;
TriggL \Conc, RelTool(PickTarget.RobTgt, 0, 0,
-ItmSrcData{Index}.OffsZ), MaxSpeed,
ItmSrcData{Index}.VacuumAct1, z20, PickAct1 \WObj:=WObjPick;
MoveL \Conc, PickTarget.RobTgt, LowSpeed, z5 \Inpos:=
ItmSrcData{Index}.TrackPoint, PickAct1 \WObj:=WObjPick;
GripLoad ItemLoad;
TriggL RelTool(PickTarget.RobTgt, 0, 0, -ItmSrcData{Index}.OffsZ),
LowSpeed, ItmSrcData{Index}.Ack, z20, PickAct1
\WObj:=WObjPick;
ENDPROC
Implementación
Como punto inicial, cree una configuración de trabajo sencilla con un robot.
El programa RAPID tiene que modificarse. Para editar el programa RAPID, vaya
a la vista Vista de proyecto, seleccione un robot y muestre el menú desplegable,
seleccione el Programa Rapid y seleccione Editar....
La rutina PickPlaceSeq realiza dos llamadas a la rutina de elección para gestionar
la primera y la segunda elección. A continuación, realiza una llamada a la rutina
de colocación para gestionar la colocación simultánea de los elementos recogidos.
Consulte el siguiente código de ejemplo.
!
! Procedure PickPlaceSeq
!
! The Pick and Place sequence.
! Edit this routine to specify how the robot shall execute the
movements.
!
!***********************************************************
PROC PickPlaceSeq()
Pick PickWorkArea{1}, 1;
Pick PickWorkArea{1}, 2;
Place PickWorkArea{1};
ENDPROC
Para la rutina de elección, consulte el código de ejemplo que aparece a
continuación. Tenga en cuenta el uso de PickAct2 y VacuumAct2 para la segunda
elección.
!***********************************************************
!
! Procedure Pick
!
! Executes a pick movement.
! Edit this routine to modify how the robot shall
! execute the pick movements.
! Needs to be changed if more than one activator is used.
!
!***********************************************************
PROC Pick(num Index, num pickNo)
IF Index > 0 THEN
WObjPick:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PickTarget;
IF pickNo = 1 THEN
TriggL\Conc,RelTool(PickTarget.RobTgt,0,0,
-ItmSrcData{Index}.OffsZ),
MaxSpeed,ItmSrcData{Index}.VacuumAct1,z20,
PickAct1\WObj:=WObjPick;
TriggL\Conc,PickTarget.RobTgt,LowSpeed,ItmSrcData{Index}.SimAttach1,
z5\Inpos:=ItmSrcData{Index}.TrackPoint,
PickAct1\WObj:=WObjPick;
GripLoad ItemLoad;
TriggL
RelTool(PickTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),
LowSpeed,ItmSrcData{Index}.Ack,z20,PickAct1\WObj:=WObjPick;
ELSEIF pickNo = 2 THEN
TriggL\Conc,RelTool(PickTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),
MaxSpeed,ItmSrcData{Index}.VacuumAct2,
z20,PickAct2\WObj:=WObjPick;
TriggL\Conc,PickTarget.RobTgt,LowSpeed,ItmSrcData{Index}.SimAttach2,
z5\Inpos:=ItmSrcData{Index}.TrackPoint,
PickAct2\WObj:=WObjPick;
GripLoad ItemLoad;
TriggL
RelTool(PickTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),
LowSpeed,ItmSrcData{Index}.Ack,z20,
PickAct2\WObj:=WObjPick;
ENDIF
ELSE
ErrWrite "Missing item distribution", "Cannot pick because no
item distribution contains current work area."
\RL2:="Please check configuration";
SafeStop;
ENDIF
ENDPROC
Los datos de herramienta PickAct1 se utilizan en la primera elección. Los datos
de herramienta PickAct2 se utilizan en la segunda elección. Actualice PickAct1
y PickAct2 (definido en el módulo ppaUser.sys): Defina el punto central de la
herramienta en el centro del eyector de vacío controlado. Actualice también el
peso y el centro de masa. Guarde las actualizaciones del programa RAPID, cierre
el editor y aplique las actualizaciones.
Para la rutina de colocación, consulte el ejemplo que aparece a continuación.
Tenga en cuenta el uso de VacuumOff1 y VacuumOff2 para la colocación
simultánea de ambos elementos sostenidos.
!***********************************************************
!
! Procedure Place
!
! Executes a place movement.
! Edit this routine to modify how the robot shall
! execute the place movements.
! Needs to be changed if more than one activator is used.
!
Continúa en la página siguiente
Manual de aplicaciones - PickMaster 3 339
3HAC031978-005 Revisión: U
© Copyright 2008-2020 ABB. Reservados todos los derechos.
8 Referencia de RAPID
8.5.4 Ejemplo: Elección doble en una sola colocación
Continuación
!***********************************************************
PROC Place(num Index)
IF Index > 0 THEN
WObjPlace:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PlaceTarget;
MoveL\Conc,RelTool(PlaceTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),
MaxSpeed,z20,PlaceAll\WObj:=WObjPlace;
TriggL\Conc,PlaceTarget.RobTgt,LowSpeed,ItmSrcData{Index}.VacuumRev1\T2:=
ItmSrcData{Index}.VacuumOff1\T3:=ItmSrcData{Index}.VacuumOff2\T4:=
ItmSrcData{Index}.VacuumRev2\T5:=ItmSrcData{Index}.SimDetach1\T6:=
ItmSrcData{Index}.SimDetach2,z5\Inpos:=
ItmSrcData{Index}.TrackPoint,PlaceAll\WObj:=WObjPlace;
GripLoad load0;
TriggL RelTool(PlaceTarget.RobTgt,0,0,-ItmSrcData{Index}.OffsZ),
LowSpeed,ItmSrcData{Index}.Ack,z20,PlaceAll\WObj:=WObjPlace;
ELSE
ErrWrite "Missing item distribution", "Cannot place because no
item distribution contains current work area."
\RL2:="Please check configuration";
SafeStop;
ENDIF
ENDPROC
Los datos de herramienta PlaceAll (definidos en el módulo ppaUser.sys) se
utiliza en la colocación. Actualice PlaceAll: Defina el punto central de la
herramienta en el centro de los eyectores de vacío controlados. Actualice también
el peso y el centro de masa. Guarde las actualizaciones del programa RAPID,
cierre el editor y aplique las actualizaciones.
Nota
Utilice el mismo método para configurar una herramienta con más de dos
activadores. Sin embargo, se requieren varios pasos de configuración adicionales.
Por ejemplo, el uso de una herramienta con 3 - 4 activadores requiere los
siguientes pasos adicionales:
1 Seleccione dos tarjetas de E/S como una opción de controlador. Otra
alternativa consiste en crear señales adicionales goVacBlow3, goVacBlow4,
doVacuum3, doVacuum4, doBlow3 y doBlow4. El primer bit de goVacBlowX
se solapará con la señal doVacuumX. El segundo bit de goVacBlowX se
solapará con la señal doBlowX.
2 Actualice la rutina SetTriggs. Active los eventos TriggEquip VacuumAct3,
VacuumOff3, VacuumAct4 y VacuumOff4 eliminando la marca de
comentario de estas líneas.
Ejemplo de código
PROC Place(num Index)
VAR bool flagplace:=TRUE;
WObjPlace:=ItmSrcData{Index}.Wobj;
flagplace:=TRUE;
WHILE flagplace=TRUE DO
GetItmTgt ItmSrcData{Index}.ItemSource,
PlaceTarget\MaxTime:=1\TimeFlag:=flagplace;
IF flagplace=TRUE THEN
PulseDO\PLength:=0.2,doSIMPosGen;
ENDIF
ENDWHILE
MoveL\Conc, RelTool(PlaceTarget.RobTgt, 0, 0,
ItmSrcData{Index}.OffsZ), MaxSpeed, z20,
PickAct1\WObj:=WObjPlace;
TriggL\Conc, PlaceTarget.RobTgt, LowSpeed,
ItmSrcData{Index}.VacuumRev1
\T2:=ItmSrcData{Index}.VacuumOff1, z5
\Inpos:=ItmSrcData{Index}.TrackPoint,
PickAct1\WObj:=WObjPlace;
GripLoad load0;
TriggL RelTool(PlaceTarget.RobTgt, 0, 0, ItmSrcData{Index}.OffsZ),
LowSpeed, ItmSrcData{Index}.Ack, z20,
PickAct1\WObj:=WObjPlace;
ENDPROC
xx0800000323
A Pinzas
B Forma de selección
C Elemento
D Posición de destino del elemento
E Sentido del flujo de producto
F Salida
G Límite de comprobación
H Entrada
Ejemplo de código
PROC Pick(num Index)
VAR selectiondata sel_data;
VAR robtarget draw_target;
VAR num check_limit;
sel_data.ShapeType:=BOX;
sel_data.ConsiderType:=BitOr(ITEMS_TO_USE,ITEMS_BYPASS);
sel_data.GeometricData.x:=60;
sel_data.GeometricData.y:=70;
sel_data.GeometricData.z:=10;sel_data.GeometricData.radius:=0;
sel_data.Offset.OffsetRelation:=ITEM_COORD_DIR;
sel_data.Offset.OffsetPose.trans.x:=0;
sel_data.Offset.OffsetPose.trans.y:=0;
sel_data.Offset.OffsetPose.trans.z:=0;
sel_data.Offset.OffsetPose.rot.q1:=1;
sel_data.Offset.OffsetPose.rot.q2:=0;
sel_data.Offset.OffsetPose.rot.q3:=0;
sel_data.Offset.OffsetPose.rot.q4:=0;
check_limit:=150;
WObjPick:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PickTarget
\Limit:=check_limit\Selection:=sel_data;
TriggL \Conc, RelTool(PickTarget.RobTgt, 0, 0,
-ItmSrcData{Index}.OffsZ), MaxSpeed,
ItmSrcData{Index}.VacuumAct1, z20, PickAct1\WObj:=WObjPick;
MoveL \Conc, PickTarget.RobTgt, LowSpeed, z5 \Inpos:=
ItmSrcData{Index}.TrackPoint, PickAct1\WObj:=WObjPick;
GripLoad ItemLoad;
TriggL RelTool(PickTarget.RobTgt, 0, 0, -ItmSrcData{Index}.OffsZ),
LowSpeed, ItmSrcData{Index}.Ack, z20,
PickAct1\WObj:=WObjPick;
ENDPROC
xx0800000324
A Salida
B Límite de comprobación
C Sentido del flujo de producto
D Sentido de clasificación
E Entrada
Ejemplo de código
PROC Pick(num Index)
VAR selectiondata y_sort;
VAR robtarget draw_target;
VAR num check_limit;
y_sort.ShapeType:=BOX;
y_sort.ConsiderType:=BitOr(ITEMS_TO_USE,ITEMS_BYPASS);
y_sort.GeometricData.x:=41;
y_sort.GeometricData.y:=160;
y_sort.GeometricData.z:=5;
y_sort.GeometricData.radius:=0;
y_sort.Offset.OffsetRelation:=FRAME_COORD_DIR;
y_sort.Offset.OffsetPose.trans.x:=0;
y_sort.Offset.OffsetPose.trans.y:=-150;
y_sort.Offset.OffsetPose.trans.z:=0;
y_sort.Offset.OffsetPose.rot.q1:=1;
y_sort.Offset.OffsetPose.rot.q2:=0;
y_sort.Offset.OffsetPose.rot.q3:=0;
y_sort.Offset.OffsetPose.rot.q4:=0;
check_limit:=150;
WObjPick:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PickTarget
\Limit:=check_limit\Selection:= y_sort;
TriggL\Conc, RelTool(PickTarget.RobTgt, 0, 0,
-ItmSrcData{Index}.OffsZ), MaxSpeed,
ItmSrcData{Index}.VacuumAct1, z20, Gripper\WObj:=WObjPick;
MoveL\Conc, PickTarget.RobTgt, LowSpeed, z5
\Inpos:=ItmSrcData{Index}.TrackPoint, Gripper
\WObj:=WObjPick;
GripLoad ItemLoad;
draw_target:=PickTarget.RobTgt;
draw_target.trans.y:=-200;
draw_target.rot:=[0,1,0,0];
TriggL draw_target, LowSpeed, ItmSrcData{Index}.Ack, z20,
Gripper\WObj:=WObjPick;
ENDPROC
9 Diagrama de circuitos
9.1 Diagramas de circuitos
Descripción general
Los diagramas de circuito no están incluidos en este manual, pero están disponibles
para los usuarios registrados en el portal myABB Business, www.myportal.abb.com.
En las tablas de abajo puede consultar los números de artículo.
Controladores
Opciones de RobotWare
ABB Inc.
Robotics and Motion
1250 Brown Road
Auburn Hills, MI 48326
USA
Telephone: +1 248 391 9000
abb.com/robotics
3HAC031978-005, Rev U, es