Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Metadaten-Einrichtung

OV10i Hinweis

Der OV10i unterstützt ausschließlich Klassifizierungsmodelle. Die auf dieser Seite erwähnten Segmentierungsfunktionen sind auf den Kameras OV20i und OV80i verfügbar.

Diese Anleitung zeigt Ihnen, wie Sie Metadaten für die Bilder Ihrer OV10i-Kamera konfigurieren. Metadaten sind benutzerdefinierte Informationen, die mit jedem aufgenommenen Bild gespeichert werden und Ihnen helfen, wichtige Details wie Artikelnummern, Seriennummern oder Produktionsdaten zu verfolgen.

Wann Metadaten verwenden: Produktionsverfolgung, Teileidentifikation, Qualitätskontrollaufzeichnungen, Chargeninformationen, Bedieneridentifikation oder beliebige benutzerdefinierte Daten, die Sie mit Inspektionsbildern verknüpfen möchten.

Voraussetzungen

  • OV10i-Kamerasystem eingerichtet und verbunden
  • Aktives Rezept mit Bildaufnahme- und Inspektionseinrichtung konfiguriert
  • Mindestens ein AI-Block (Klassifizierung 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 zusammen mit dem Bild in der Bibliothek der Kamera gespeichert
  • Erscheinen im HMI, damit Bediener sie einsehen können
  • 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:

  • Artikelnummern (z. B. „P12345")
  • Seriennummern (z. B. „SN987654")
  • Bedienernamen (z. B. „John_Smith")
  • Schichtinformationen (z. B. „A_Shift")
  • Chargennummern (z. B. „Batch_2025_001")
hinweis

Metadaten können nur gespeichert werden, wenn eine Inspektion abgeschlossen ist. Die Metadaten müssen Teil des Flows sein, der von „All Block Outputs" ausgeht, nachdem die Kamera ein Bild aufgenommen und verarbeitet hat.

Schritt 1: Auf den Node-RED-Editor zugreifen

1.1 Zum IO-Block navigieren

  1. Öffnen Sie Ihr aktives Rezept im Recipe Editor
  2. 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

Prüfpunkt: Sie sollten den Node-RED-Flow-Editor mit dem bestehenden IO-Block-Flow und der Node-Palette auf der linken Seite sehen.

Schritt 2: Den „All Block Outputs"-Node finden

2.1 Den Ausgangspunkt finden

Suchen Sie in Ihrem Node-RED-Flow nach dem Node „All Block Outputs". Dies ist der Ausgangspunkt, 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
  • Enthält Informationen zur Bildaufnahme
  • Stellt die für die Metadatenerstellung benötigten Daten bereit
  • Ist die Quelle, die sowohl Metadaten als auch Pass/Fail-Entscheidungen speist

2.2 Die Flow-Struktur verstehen

Ihr Flow sollte folgendem Muster entsprechen:

Camera Trigger → AI Processing → All Block Outputs → [Your Custom Logic]

Von „All Block Outputs" benötigen Sie zwei separate Pfade:

  1. Metadaten-Pfad: All Block Outputs → Function (Create Metadata) → Capture Metadata
  2. Entscheidungspfad: All Block Outputs → Function (Logic) → Final Pass/Fail
hinweis

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 Metadata-Node finden

  1. Suchen Sie den Node „Capture Metadata" im linken Panel (Bereich Overview)
  2. Ziehen Sie den Node „Capture Metadata" auf die Flow-Arbeitsfläche
  3. 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

warnung

Der Node "Final Pass/Fail" ist erforderlich, damit der Flow ordnungsgemäß funktioniert. Jeder Flow muss mit diesem Node enden.

Schritt 4: Metadatenfelder konfigurieren

4.1 Grundlegende Metadaten einrichten

  1. Doppelklicken Sie auf den Node "Capture Metadata"
  2. Konfigurieren Sie die Metadatenfelder, die Sie erfassen möchten
  3. Richten Sie Datenquellen für jedes Feld ein

4.2 Anforderungen an das Metadatenformat

Wichtig

Die Metadaten müssen als Objekt formatiert sein mit:

  • String-Schlüsseln – Feldnamen müssen Text sein
  • String- oder Zahlenwerten – 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

  1. Fügen Sie einen "function"-Node zwischen "All Block Outputs" und dem "Capture Metadata"-Node ein
  2. Doppelklicken Sie auf den Function Node, um ihn zu konfigurieren
  3. Diese Funktion extrahiert Daten aus den Inspektionsergebnissen und erstellt Metadaten

5.2 Daten aus All Block Outputs extrahieren

Der Node "All Block Outputs" 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 Metadatenpfad verdrahten

  1. Verbinden Sie den Ausgang von "All Block Outputs" mit dem Eingang Ihrer Metadaten-Funktion
  2. Verbinden Sie den Ausgang der Metadaten-Funktion mit dem Eingang von "Capture Metadata"
  3. Der Capture Metadata Node kann ein Endknoten sein (keine Ausgangsverbindung erforderlich)

6.3 Pass/Fail-Pfad verdrahten

  1. Verbinden Sie den Ausgang "All Block Outputs" mit einer Pass/Fail-Logikfunktion
  2. Verbinden Sie den Ausgang der Logikfunktion mit dem Eingang "Final Pass/Fail"
  3. Der Knoten "Final Pass/Fail" ist obligatorisch - jeder Flow muss hier enden

6.4 Beispiel für eine Pass/Fail-Logikfunktion

// 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: Konfiguration der Testmetadaten

7.1 Deploy und Test

  1. Klicken Sie auf die Schaltfläche "Deploy" (obere rechte Ecke)
  2. Lösen Sie eine Inspektion über Ihre konfigurierte Triggermethode aus (manuell, Digital Input oder PLC)
  3. Stellen Sie sicher, dass:
    • Ein Bild aufgenommen wurde
    • Metadaten zusammen mit dem Bild angezeigt werden
    • Eine Pass/Fail-Entscheidung getroffen wurde
    • Der Flow erfolgreich abgeschlossen wurde

7.2 Vollständigen Flow überprüfen

Überprüfen Sie, ob beide Pfade funktionieren:

Metadaten-Pfad:

  • Navigieren Sie zur Library in der Hauptoberfläche
  • Suchen Sie Ihr Testbild
  • Überprüfen Sie, ob die Metadaten in den Bilddetails erscheinen

Pass/Fail-Pfad:

  • Überprüfen Sie, ob die Inspektionsergebnisse den Pass/Fail-Status anzeigen
  • Stellen Sie sicher, dass der Knoten "Final Pass/Fail" korrekt verarbeitet wurde
  • Bestätigen Sie, dass alle verbundenen 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-Trigger-Schaltfläche
  • Überprüfen Sie, ob Metadaten bei jeder manuellen Aufnahme angezeigt werden

Für Digital Input-Trigger:

  • Aktivieren Sie den externen Sensor/Schalter
  • Bestätigen Sie, dass Metadaten mit getriggerten Bildern erfasst werden

Für PLC-Trigger:

  • Senden Sie ein Triggersignal vom PLC
  • Überprüfen Sie, ob die Metadaten gegebenenfalls PLC-Daten enthalten

Schritt 8: Erweiterte Metadaten-Konfigurationen

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

ProblemSymptomeLösung
Metadaten erscheinen nichtKeine Daten in der LibraryÜberprüfen Sie, ob sich der Metadatenknoten im Haupt-IO-Block-Flow befindet
Metadaten mit falschem BildDaten erscheinen bei falschen AufnahmenTiming prüfen - Metadaten müssen vor der Bildaufnahme erfolgen
Trigger funktioniert nichtKeine Bilder aufgenommenÜberprüfen Sie die IO-Block-Triggerkonfiguration
Fehlende MetadatenfelderEinige Daten fehlenÜberprüfen Sie das Payload-Format des Function-Knotens
Fehler durch falschen DatentypKnoten zeigt Fehlerstatus anStellen Sie sicher, dass die Werte nur Strings oder Zahlen sind

9.2 Debug-Metadatenfluss

Fügen Sie Debug-Knoten zur Fehlersuche hinzu:

  1. Debug-Knoten nach dem Trigger hinzufügen, um zu prüfen, ob der Trigger funktioniert
  2. Debug-Knoten nach der Metadaten-Funktion hinzufügen, um den Payload zu überprüfen
  3. Debug-Knoten nach Capture Metadata hinzufügen, um die Verarbeitung zu bestätigen
  4. Debug-Panel auf Fehlermeldungen prüfen

Schritt 10: Best Practices

10.1 Flow-Design

Effiziente Metadatenflüsse entwerfen:

  • Metadaten früh im Flow setzen – Metadaten unmittelbar nach dem Trigger festlegen
  • Einzelnen Metadaten-Knoten verwenden – Keine doppelten Capture Metadata-Knoten verwenden
  • Flow-Kontinuität wahren – Metadaten müssen Teil des Haupt-Inspektionsflows sein
  • Fehlende Daten behandeln – Immer Standardwerte bereitstellen

10.2 Benennung von Metadatenfeldern

Verwenden Sie konsistente, klare Feldnamen:

  • Unterstriche statt Leerzeichen verwenden ("part_number" statt "part number")
  • Beschreibend, aber prägnant ("operator" statt "op")
  • Kleinbuchstaben für Konsistenz verwenden
  • Sonderzeichen vermeiden, die Probleme verursachen könnten

10.3 Performance-Überlegungen

Für Produktionen mit hohem Volumen:

  • Metadatengröße minimieren – Nur notwendige Informationen einschließen
  • Effiziente Datentypen verwenden – Zahlen bevorzugen, kurze Zeichenketten
  • Komplexe Verarbeitung vermeiden – Metadatenerstellung einfach und schnell halten
  • Globale Daten zwischenspeichern – Häufig verwendete Daten in globalen Variablen speichern

Erfolg! Ihr Metadatensystem ist einsatzbereit

Ihre Metadatenkonfiguration kann nun:

✅ Benutzerdefinierte Informationen an jede ausgelöste Bildaufnahme anhängen

✅ Produktionsdaten synchronisiert mit dem Inspektionsflow erfassen

✅ Durchsuchbare Informationen in der Kamerabibliothek speichern

✅ Relevante Daten im HMI für Bediener anzeigen

✅ Rückverfolgbarkeit für Fertigungsanforderungen unterstützen

Laufende Wartung

Regelmäßige Systemprüfungen

  • Prüfen, ob Metadaten bei ausgelösten Aufnahmen erscheinen
  • Auf fehlende Daten in Produktionsläufen prüfen
  • Flow-Performance bei hohen Trigger-Raten überwachen
  • Metadatenfelder bei Änderungen der Anforderungen aktualisieren

Flow-Verwaltung

  • Metadaten-Timing in der Produktion überprüfen
  • Performance der Function-Knoten optimieren
  • Verwaltung globaler Variablen aktualisieren
  • Bediener im triggerbasierten Betrieb schulen

Nächste Schritte

Nach der Einrichtung triggerbasierter Metadaten:

  1. Mit allen konfigurierten Trigger-Typen testen (manuell, digital, PLC)
  2. Bediener in der korrekten Trigger-Verwendung für die Metadatenerfassung schulen
  3. Verwaltung globaler Variablen für dynamische Daten einrichten
  4. Metadaten-Vorlagen für unterschiedliche Produktlinien erstellen
  5. Produktionsüberwachung mithilfe von Metadaten-Analysen implementieren

🔗 Siehe auch