KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Metadaten-Einrichtung
Diese Anleitung zeigt Ihnen, wie Sie Metadaten für die Bilder Ihrer OV80i-Kamera konfigurieren. Metadaten sind benutzerdefinierte Informationen, die mit jedem aufgenommenen Bild gespeichert werden und Ihnen helfen, wichtige Details wie Teilenummern, Seriennummern oder Produktionsdaten zu verfolgen.
Wann Metadaten verwendet werden: Produktionsverfolgung, Teileidentifikation, Qualitätssicherungsaufzeichnungen, Chargeninformationen, Bedieneridentifikation oder beliebige benutzerdefinierte Daten, die Sie mit Inspektionsbildern verknüpfen möchten.
Voraussetzungen
- OV80i-Kamerasystem eingerichtet und verbunden
- Aktives Rezept mit Bildgebungs- und Inspektionseinrichtung konfiguriert
- Mindestens ein AI-Block (Klassifikation oder Segmentierung) konfiguriert
- Verständnis der Daten, die Sie aus den Inspektionsergebnissen verfolgen möchten
Was sind Metadaten?
Metadaten sind zusätzliche Informationen, die an jedes aufgenommene Bild angehängt werden. Diese Informationen:
- Werden mit dem Bild in der Bibliothek der Kamera gespeichert
- Werden im HMI für Bediener angezeigt
- Helfen bei der Identifikation und Verfolgung bestimmter Teile oder Produktionsläufe
- Können in der Bibliothek zur Analyse durchsucht werden
Beispiele für nützliche Metadaten:
- Teilenummern (z. B. „P12345")
- Seriennummern (z. B. „SN987654")
- Bedienernamen (z. B. „John_Smith")
- Schichtinformationen (z. B. „A_Shift")
- Chargennummern (z. B. „Batch_2025_001")
Metadaten können nur gespeichert werden, wenn eine Inspektion abgeschlossen ist. Die Metadaten müssen Teil des Flows sein, der bei „All Block Outputs" beginnt, nachdem die Kamera ein Bild aufgenommen und verarbeitet hat.
Schritt 1: Node-RED-Editor öffnen
1.1 Zum IO-Block navigieren
- Öffnen Sie Ihr aktives Rezept im Recipe Editor
- Klicken Sie auf Configure IO oder wählen Sie IO Block" im Breadcrumb-Menü, um den Node-RED-Editor zu öffnen
1.2 Node-RED-Oberfläche überprüfen
Checkpoint: Sie sollten den Node-RED-Flow-Editor mit dem bestehenden IO-Block-Flow und der Node-Palette auf der linken Seite sehen.
Schritt 2: „All Block Outputs"-Node finden
2.1 Startpunkt finden
Suchen Sie in Ihrem Node-RED-Flow nach dem „All Block Outputs"-Node. Dies ist der Startpunkt, der Daten von der Kamera empfängt, nachdem eine Inspektion ausgelöst und verarbeitet wurde.
Der „All Block Outputs"-Node:
- Enthält Inspektionsergebnisse aller AI-Blöcke
- Beinhaltet Informationen zur Bildaufnahme
- Liefert die Daten, die zur Erstellung von Metadaten benötigt werden
- Ist die Quelle, die sowohl Metadaten als auch Pass/Fail-Entscheidungen speist
2.2 Flow-Struktur verstehen
Ihr Flow sollte diesem Muster folgen:
Camera Trigger → AI Processing → All Block Outputs → [Your Custom Logic]
Von „All Block Outputs" benötigen Sie zwei separate Pfade:
- Metadaten-Pfad: All Block Outputs → Function (Create Metadata) → Capture Metadata
- Entscheidungspfad: All Block Outputs → Function (Logic) → Final Pass/Fail
Sowohl die Metadaten als auch die Pass/Fail-Entscheidungen müssen vom „All Block Outputs"-Node abzweigen.
Schritt 3: Capture Metadata-Node hinzufügen
3.1 Metadaten-Node finden
- Suchen Sie den „Capture Metadata"-Node im linken Bereich (Abschnitt Overview)
- Ziehen Sie den „Capture Metadata"-Node auf die Flow-Arbeitsfläche
- Positionieren Sie ihn in Ihrem Flow nach dem Trigger, aber vor der Bildaufnahme
3.2 Node-Platzierung im Flow
Korrekte Flow-Struktur:
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
Der „Final Pass/Fail"-Node ist erforderlich, damit der Flow ordnungsgemäß funktioniert. Jeder Flow muss mit diesem Node enden.
Schritt 4: Metadatenfelder konfigurieren
4.1 Grundlegende Metadaten einrichten
- Doppelklicken Sie auf den Knoten Capture Metadata
- Konfigurieren Sie die Metadatenfelder, die Sie erfassen möchten
- Richten Sie Datenquellen für jedes Feld ein
4.2 Anforderungen an das Metadatenformat
Die Metadaten müssen als Objekt mit folgenden Eigenschaften formatiert sein:
- String-Schlüssel – Feldnamen müssen Text sein
- String- oder Zahlenwerte – Daten können Text oder Zahlen sein
Beispiel für korrektes Format:
{
"part_number": "P12345",
"serial_number": "SN987654",
"operator": "John_Smith",
"shift": "A",
"quantity": 100,
"temperature": 23.5
}
Schritt 5: Function-Node für Metadaten erstellen
5.1 Function-Node zur Metadatenerstellung hinzufügen
- Fügen Sie einen "function"-Node zwischen "All Block Outputs" und dem "Capture Metadata"-Node ein
- Doppelklicken Sie auf den Function-Node, um ihn zu konfigurieren
- Diese Funktion extrahiert Daten aus den Inspektionsergebnissen und erstellt Metadaten
5.2 Daten aus All Block Outputs extrahieren
Der "All Block Outputs"-Node liefert umfangreiche Inspektionsdaten. So extrahieren Sie diese:
// 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 Statische Metadaten (feste Werte)
Für Informationen, die sich während der Produktion nicht ändern:
// 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 Dynamische Metadaten (mit Inspektionsdaten)
Für Informationen, die aus den Inspektionsergebnissen stammen:
// 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;
Schritt 6: Metadaten- und Pass/Fail-Flows verbinden
6.1 Erforderliche Flow-Struktur
Jeder Flow muss beide Pfade von "All Block Outputs" enthalten:
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
6.2 Den Metadaten-Pfad verdrahten
- Verbinden Sie den Ausgang von "All Block Outputs" mit dem Eingang Ihrer Metadaten-Funktion
- Verbinden Sie den Ausgang der Metadaten-Funktion mit dem Eingang von "Capture Metadata"
- Der Capture Metadata-Node kann ein Endknoten sein (keine Ausgangsverbindung erforderlich)
6.3 Den Pass/Fail-Pfad verdrahten
- Verbinden Sie den Ausgang von "All Block Outputs" mit einer Pass/Fail-Logikfunktion
- Verbinden Sie den Ausgang der Logikfunktion mit dem Eingang von "Final Pass/Fail"
- Der "Final Pass/Fail"-Node ist obligatorisch – jeder Flow muss hier enden
6.4 Beispielfunktion für Pass/Fail-Logik
// 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;
Schritt 7: Metadatenkonfiguration testen
7.1 Bereitstellen und Testen
- Klicken Sie auf die Schaltfläche "Deploy" (obere rechte Ecke)
- Lösen Sie eine Inspektion mit Ihrer konfigurierten Triggermethode aus (manuell, Digitaleingang oder PLC)
- Überprüfen Sie Folgendes:
- Ein Bild wurde erfasst
- Metadaten erscheinen zusammen mit dem Bild
- Pass/Fail-Entscheidung wurde getroffen
- Flow wurde erfolgreich abgeschlossen
7.2 Vollständigen Flow überprüfen
Stellen Sie sicher, dass beide Pfade funktionieren:
Metadatenpfad:
- Navigieren Sie zur Library in der Hauptoberfläche
- Suchen Sie Ihr Testbild
- Überprüfen Sie, ob die Metadaten in den Bilddetails angezeigt werden
Pass/Fail-Pfad:
- Überprüfen Sie, ob die Inspektionsergebnisse den Pass/Fail-Status anzeigen
- Stellen Sie sicher, dass der "Final Pass/Fail"-Node korrekt verarbeitet wurde
- Bestätigen Sie, dass alle angeschlossenen Ausgänge (PLCs, Anzeigen) entsprechend reagieren
7.3 Verschiedene Triggerquellen testen
Überprüfen Sie, ob die Metadaten mit Ihrem spezifischen Trigger funktionieren:
Für manuelle Trigger:
- Verwenden Sie die Software-Triggerschaltfläche
- Überprüfen Sie, ob die Metadaten bei jeder manuellen Erfassung erscheinen
Für Digitaleingangs-Trigger:
- Aktivieren Sie den externen Sensor/Schalter
- Bestätigen Sie, dass die Metadaten mit den getriggerten Bildern erfasst werden
Für PLC-Trigger:
- Senden Sie ein Triggersignal von der PLC
- Überprüfen Sie, ob die Metadaten gegebenenfalls PLC-Daten enthalten
Schritt 8: Erweiterte Metadatenkonfigurationen
8.1 Metadaten aus mehreren globalen Variablen
Kombinieren Sie Daten aus verschiedenen, global gespeicherten Quellen:
// 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;
Schritt 9: Fehlerbehebung bei Metadatenproblemen
9.1 Häufige Probleme
| Problem | Symptome | Lösung |
|---|---|---|
| Metadaten erscheinen nicht | Keine Daten in der Library | Stellen Sie sicher, dass sich der Metadaten-Node im Haupt-IO-Block-Flow befindet |
| Metadaten mit falschem Bild | Daten erscheinen bei falschen Erfassungen | Timing prüfen – Metadaten müssen vor der Bilderfassung erstellt werden |
| Trigger funktioniert nicht | Keine Bilder erfasst | IO-Block-Triggerkonfiguration überprüfen |
| Fehlende Metadatenfelder | Einige Daten fehlen | Payload-Format des Function-Nodes prüfen |
| Falscher Datentyp-Fehler | Node zeigt Fehlerstatus an | Stellen Sie sicher, dass die Werte nur Strings oder Zahlen sind |
9.2 Metadaten-Flow debuggen
Fügen Sie Debug-Nodes zur Fehlerbehebung hinzu:
- Debug-Node nach dem Trigger hinzufügen, um die Triggerfunktion zu überprüfen
- Debug-Node nach der Metadaten-Funktion hinzufügen, um den Payload zu prüfen
- Debug-Node nach Capture Metadata hinzufügen, um die Verarbeitung zu bestätigen
- Debug-Panel auf Fehlermeldungen überprüfen
Schritt 10: Best Practices
10.1 Flow-Design
Effiziente Metadaten-Flows entwerfen:
- Metadaten früh im Flow setzen - Metadaten unmittelbar nach dem Trigger festlegen
- Einzelnen Metadaten-Node verwenden - Keine Capture Metadata-Nodes duplizieren
- Flow-Kontinuität wahren - Metadaten müssen Teil des Haupt-Inspektionsflows sein
- Fehlende Daten behandeln - Stets Standardwerte bereitstellen
10.2 Benennung von Metadatenfeldern
Konsistente, klare Feldnamen verwenden:
- Unterstriche statt Leerzeichen verwenden ("part_number" statt "part number")
- Aussagekräftig, aber prägnant ("operator" statt "op")
- Kleinbuchstaben für Konsistenz verwenden
- Sonderzeichen vermeiden, die Probleme verursachen könnten
10.3 Performance-Überlegungen
Für Produktion mit hohem Volumen:
- Metadatengröße minimieren - Nur notwendige Informationen einschließen
- Effiziente Datentypen verwenden - Zahlen wenn möglich, kurze Zeichenketten
- Komplexe Verarbeitung vermeiden - Metadatenerstellung einfach und schnell halten
- Globale Daten cachen - Häufig verwendete Daten in globalen Variablen speichern
Erfolg! Ihr Metadaten-System ist einsatzbereit
Ihre Metadaten-Konfiguration kann nun:
✅ Benutzerdefinierte Informationen an jede getriggerte Bildaufnahme anhängen
✅ Produktionsdaten synchron mit dem Inspektionsflow verfolgen
✅ Durchsuchbare Informationen in der Kamera-Library speichern
✅ Relevante Daten im HMI für Bediener anzeigen
✅ Rückverfolgbarkeit für Fertigungsanforderungen unterstützen
Laufende Wartung
Regelmäßige Systemprüfungen
- Überprüfen, ob Metadaten bei getriggerten Aufnahmen erscheinen
- Auf fehlende Daten in Produktionsläufen prüfen
- Flow-Performance bei hohen Triggerraten überwachen
- Metadatenfelder bei sich ändernden Anforderungen aktualisieren
Flow-Management
- Metadaten-Timing in der Produktion überprüfen
- Performance der Function Nodes optimieren
- Verwaltung globaler Variablen aktualisieren
- Bediener im triggerbasierten Betrieb schulen
Nächste Schritte
Nach der Einrichtung triggerbasierter Metadaten:
- Mit allen konfigurierten Triggertypen testen (manuell, digital, PLC)
- Bediener in der korrekten Triggernutzung für die Metadatenerfassung schulen
- Verwaltung globaler Variablen für dynamische Daten einrichten
- Metadaten-Vorlagen für verschiedene Produktlinien erstellen
- Produktionsüberwachung mit Metadaten-Analytik implementieren