DOCUMENTACIÓN CON IA
¿Qué desea saber?
Configuración de Metadatos
Esta guía muestra cómo configurar metadatos para las imágenes de la cámara OV10i. Los metadatos son información adicional que se almacena junto con cada imagen capturada, ayudando a rastrear detalles importantes como números de parte, números de serie o datos de producción.
Cuándo usar metadatos: Seguimiento de la producción, identificación de piezas, registros de control de calidad, información de lote, identificación del operador, o cualquier dato personalizado que necesite asociarse a las imágenes de inspección.
Prerrequisitos
- Sistema de cámara OV10i configurado y conectado
- Receta activa configurada con la configuración de adquisición de imágenes e inspección
- Al menos un bloque IA (clasificación o segmentación) configurado
- Comprensión de los datos que desea rastrear a partir de los resultados de inspección
¿Qué son los metadatos?
Los metadatos son información adicional que se adjunta a cada imagen capturada. Esta información:
- Se almacena junto con la imagen en la biblioteca de la cámara
- Aparece en la HMI para que los operadores la vean
- Ayuda a identificar y rastrear piezas específicas o lotes de producción
- Puede buscarse en la biblioteca para su análisis
Ejemplos de metadatos útiles:
- Números de parte (p. ej., "P12345")
- Números de serie (p. ej., "SN987654")
- Nombres de operador (p. ej., "John_Smith")
- Información de turno (p. ej., "A_Shift")
- Números de lote (p. ej., "Batch_2025_001")
Los metadatos solo se pueden guardar cuando se completa una inspección. Los metadatos deben formar parte del flujo que comienza desde "All Block Outputs" después de que la cámara capture y procese una imagen.
Paso 1: Acceder al Editor de Node-RED
1.1 Navegar al Bloque IO
- Abra su receta activa en el Editor de Recetas
- Haga clic en Configurar IO o seleccione Bloque IO en el menú de migas de pan para ingresar al editor de Node-RED
1.2 Verificar la Interfaz de Node-RED
Punto de control: Debe verse el editor de flujos de Node-RED con el flujo existente del Bloque IO y la paleta de nodos en el lado izquierdo.
Paso 2: Localizar el Nodo "All Block Outputs"
2.1 Encontrar el Punto de Inicio
En su flujo de Node-RED, busque el nodo "All Block Outputs". Este es el punto de inicio que recibe datos de la cámara después de que se activa y procesa una inspección.
El nodo "All Block Outputs":
- Contiene resultados de inspección de todos los bloques de IA
- Incluye información de captura de imágenes
- Proporciona los datos necesarios para la creación de metadatos
- Es la fuente que alimenta tanto los metadatos como las decisiones de aprobado o rechazado
2.2 Comprender la Estructura del Flujo
Su flujo debe seguir este patrón:
Camera Trigger → AI Processing → All Block Outputs → [Your Custom Logic]
A partir de "All Block Outputs" necesita dos rutas separadas:
- Ruta de Metadatos: All Block Outputs → Function (Create Metadata) → Capture Metadata
- Ruta de Decisión: All Block Outputs → Function (Logic) → Final Pass/Fail
Tanto los metadatos como las decisiones de aprobado o rechazado deben ramificarse desde el nodo "All Block Outputs".
Paso 3: Añadir Nodo de Metadatos de Captura
3.1 Localizar Nodo de Metadatos
- Localice el nodo "Capture Metadata" en el panel izquierdo (sección Visión general)
- Arrastre el nodo "Capture Metadata" al lienzo del flujo
- Colóquelo en su flujo después del disparador pero antes de la captura de imágenes
3.2 Colocación del Nodo en el Flujo
Estructura de flujo correcta:
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
El nodo "Final Pass/Fail" es requerido para que el flujo funcione correctamente. Cada flujo debe terminar con este nodo.
Paso 4: Configurar Campos de Metadatos
4.1 Configuración de Metadatos Básicos
- Haz doble clic en el nodo Capture Metadata
- Configura los campos de metadatos que deseas rastrear
- Configura las fuentes de datos para cada campo
4.2 Requisitos de Formato de Metadatos
Los metadatos deben formatearse como un objeto con:
- Claves de cadena - Los nombres de los campos deben ser texto
- Valores de cadena o numéricos - Los datos pueden ser texto o números
Ejemplo de formato correcto:
{
"part_number": "P12345",
"serial_number": "SN987654",
"operator": "John_Smith",
"shift": "A",
"quantity": 100,
"temperature": 23.5
}
Paso 5: Crear Nodo de Función para Metadatos
5.1 Agregar Nodo de Función para la Creación de Metadatos
- Agregue un nodo "function" entre "All Block Outputs" y el nodo "Capture Metadata"
- Haz doble clic en el nodo de función para configurarlo
- Esta función extraerá datos de los resultados de inspección y creará metadatos
5.2 Extraer Datos de All Block Outputs
El nodo "All Block Outputs" proporciona datos de inspección detallados. Aquí se explica cómo extraerlos:
// Extract data from inspection results
const captureId = msg.payload.capture_id;
const serialNumber = msg.payload.serial_number || "No_Serial";
const inspectionTime = msg.payload.inspection_time || new Date().toISOString();
// Create metadata from inspection data
msg.payload = {
"capture_id": captureId,
"serial_number": serialNumber,
"inspection_time": inspectionTime,
"operator": global.get("current_operator") || "Unknown"
};
return msg;
5.3 Metadatos Estáticos (Valores Fijos)
Para información que no cambia durante la producción:
// Set static metadata values
msg.payload = {
"recipe_name": "Bolt_Inspection_v2",
"line_number": "Line_3",
"shift": "A_Shift",
"station": "QC_Station_1"
};
return msg;
5.4 Metadatos Dinámicos (Utilizando Datos de Inspección)
Para información que proviene de los resultados de inspección:
// Extract inspection data
const captureId = msg.payload.capture_id;
const imageUrl = msg.payload.image_url;
const predictions = msg.payload.classification?.predictions || [];
// Create dynamic metadata
msg.payload = {
"capture_id": captureId,
"part_number": "P" + Date.now(),
"total_rois": predictions.length,
"timestamp": new Date().toISOString(),
"batch": global.get("current_batch") || "Default_Batch"
};
return msg;
Paso 6: Conectar Metadatos y Flujos de Pass/Fail
6.1 Estructura de Flujo Requerida
Cada flujo debe tener ambas rutas desde "All Block Outputs":
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
6.2 Conectar la ruta de metadatos
- Conecte la salida "All Block Outputs" a la entrada de su función de metadatos
- Conecte la salida de la función de metadatos a la entrada "Capture Metadata"
- El nodo Capture Metadata puede ser un nodo terminal (no se necesita conexión de salida)
6.3 Conectar la ruta Pass/Fail
- Conecte la salida "All Block Outputs" a una función de lógica Pass/Fail
- Conecte la salida de la función de lógica a la entrada "Final Pass/Fail"
- El nodo "Final Pass/Fail" es obligatorio - cada flujo debe terminar aquí
6.4 Ejemplo de Función de Lógica Pass/Fail
// Extract inspection result for pass/fail decision
const predictions = msg.payload.classification?.predictions || [];
// Determine if inspection passed (all ROIs passed)
let passed = true;
for (let prediction of predictions) {
if (!prediction.predicted_class.includes("pass")) {
passed = false;
break;
}
}
// Set the pass/fail result
msg.payload = passed;
return msg;
Paso 7: Configuración de Metadatos y Prueba
7.1 Despliegue y Prueba
- Haga clic en el botón "Deploy" (esquina superior derecha)
- Dispare una inspección usando su método de disparo configurado (manual, entrada digital o PLC)
- Verifique que:
- Se haya capturado una imagen
- Los metadatos aparezcan junto a la imagen
- Se haya tomado la decisión de pass/fail
- El flujo se haya completado con éxito
7.2 Verificar Flujo Completo
Verifique que ambas rutas funcionen:
Ruta de Metadatos:
- Navegue a Biblioteca en la interfaz principal
- Localice su imagen de prueba
- Verifique que los metadatos aparezcan en los detalles de la imagen
Ruta Pass/Fail:
- Verifique que los resultados de la inspección muestren el estado pass/fail
- Verifique que el nodo "Final Pass/Fail" se haya procesado correctamente
- Confirme que cualquier salida conectada (PLCs, indicadores) responda adecuadamente
7.3 Prueba de Diferentes Fuentes de Disparo
Verifique que los metadatos funcionen con su disparador específico:
Para disparadores manuales:
- Utilice el botón de disparo por software
- Verifique que los metadatos aparezcan en cada captura manual
Para disparadores de entrada digital:
- Active el sensor/interruptor externo
- Confirme que los metadatos se capturen con las imágenes disparadas
Para disparadores del PLC:
- Envíe la señal de disparo desde el PLC
- Verifique que los metadatos incluyan datos del PLC, si aplica
Paso 8: Configuraciones Avanzadas de Metadatos
8.1 Metadatos a partir de múltiples variables globales
Combinar datos de diferentes fuentes almacenadas globalmente:
// Combine data from various global storage
const operatorData = global.get("operator_info") || {};
const productData = global.get("product_info") || {};
const shiftData = global.get("shift_info") || {};
msg.payload = {
"operator": operatorData.name || "Unknown",
"operator_id": operatorData.id || "000",
"product_code": productData.code || "Default",
"product_version": productData.version || "1.0",
"shift": shiftData.current || "Day",
"line_status": "Running",
"timestamp": new Date().toISOString()
};
return msg;
Paso 9: Solución de problemas de metadatos
9.1 Problemas Comunes
| Problema | Síntomas | Solución |
|---|---|---|
| Metadatos no aparecen | No hay datos en la Biblioteca | Verifique que el nodo de metadatos esté en el flujo principal del IO Block |
| Metadatos con imagen incorrecta | Los datos aparecen con capturas incorrectas | Verifique la temporización: los metadatos deben ir antes de la captura de la imagen |
| Disparador no funciona | No se capturan imágenes | Verifique la configuración de disparo del IO Block |
| Faltan campos de metadatos | Faltan algunos datos | Verifique el formato de carga útil del nodo de función |
| Error de tipo de dato incorrecto | El nodo muestra estado de error | Asegúrese de que los valores sean solo cadenas o números |
9.2 Flujo de Metadatos de Depuración
Añada nodos de depuración para solucionar problemas:
- Añada un nodo de depuración después del disparador para verificar que el disparador funciona
- Añada un nodo de depuración después de la función de metadatos para revisar la carga útil
- Añada un nodo de depuración después de Capture Metadata para confirmar el procesamiento
- Verifique el panel de depuración para mensajes de error
Paso 10: Mejores Prácticas
10.1 Diseño del Flujo
Diseñe flujos de metadatos eficientes:
- Mantener los metadatos al inicio del flujo - Configure los metadatos inmediatamente después del disparador
- Utilizar un único nodo de metadatos - No duplicar nodos Capture Metadata
- Mantener la continuidad del flujo - Los metadatos deben formar parte del flujo principal de inspección
- Gestionar datos faltantes - Siempre proporcione valores predeterminados
10.2 Nomenclatura de Campos de Metadatos
Use nombres de campos consistentes y claros:
- Use guiones bajos en lugar de espacios ("part_number" en lugar de "part number")
- Sea descriptivo pero conciso ("operator" no "op")
- Use minúsculas para mantener la consistencia
- Evite caracteres especiales que puedan causar problemas
10.3 Consideraciones de Rendimiento
Para producción de alto volumen:
- Minimizar el tamaño de los metadatos - Incluir solo la información necesaria
- Usar tipos de datos eficientes - Números cuando sea posible, cadenas cortas
- Evitar procesamiento complejo - Mantenga la creación de metadatos simple y rápida
- Almacenar en caché datos globales - Guarde los datos de uso frecuente en variables globales
¡Éxito! Su Sistema de Metadatos ya está Listo
Su configuración de metadatos ya puede:
✅ Adjuntar información personalizada a cada captura de imagen disparada
✅ Rastrear datos de producción sincronizados con el flujo de inspección
✅ Almacenar información indexable en la biblioteca de la cámara
✅ Mostrar datos relevantes en la HMI para los operadores
✅ Soportar trazabilidad para los requisitos de fabricación
Mantenimiento Continuo
Verificaciones del Sistema
- Verifique que los metadatos aparezcan con las capturas disparadas
- Verifique la presencia de datos faltantes en las ejecuciones de producción
- Monitoree el rendimiento del flujo con altas tasas de disparo
- Actualice los campos de metadatos conforme cambien los requisitos
Gestión del Flujo
- Revise la temporización de metadatos en la producción
- Optimizar el rendimiento de nodos de función
- Actualizar la gestión de variables globales
- Capacite a los operadores en la operación basada en disparadores
Próximos Pasos
Después de configurar metadatos basados en disparadores:
- Pruebe con todos los tipos de disparadores configurados (manual, digital, PLC)
- Capacite a los operadores en el uso adecuado del disparador para la captura de metadatos
- Configure la gestión de variables globales para datos dinámicos
- Cree plantillas de metadatos para diferentes líneas de producto
- Implemente monitoreo de la producción utilizando análisis de metadatos