KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
Mehrere Ansichten in einem einzigen Rezept
Diese Anleitung zeigt Ihnen, wie Sie ein einzelnes Rezept einrichten, mit dem verschiedene Teile, Winkel oder Ansichten geprüft werden können, ohne zu anderen Rezepten wechseln zu müssen. Es gibt verschiedene Gründe dafür, jedoch sind zwei Hauptanwendungsfälle:
- wenn zwischen den Aufnahmen nicht genügend Zeit ist, um das Rezept zu wechseln,
- wenn dieselbe Prüfung an mehreren Teilen oder Winkeln eines Teils durchgeführt wird (z. B. Anwesenheit/Abwesenheit von Bolzen an fünf verschiedenen Positionen einer Karosserie). In diesem Fall vermeidet diese Methode, dasselbe Modell (Bolzen-Anwesenheit/Abwesenheit) mehrfach in verschiedenen Rezepten trainieren zu müssen.
Das folgende Beispiel ist eine einfache Version mit zwei Ansichten und einer Prüfungsart, aber Sie können dieselbe Technik für eine unbegrenzte Anzahl von Prüfungsarten und Ansichten anwenden. In dieser Prüfung suchen wir nach der Anwesenheit/Abwesenheit von Bits auf zwei Seiten eines Bohrbit-Gehäuses. Eine Seite hat fünf Bits auf der Unterseite, und die andere Seite hat acht Bits sowohl oben als auch unten. Wir nennen die Seite mit 16 Bits Seite A und die mit fünf Bits Seite B.
![]() | ![]() |
|---|---|
| Seite A (16 Bits) | Seite B (5 Bits) |
Erstellen und Trainieren eines neuen Rezepts
Anstatt für jede Seite ein eigenes Rezept zu erstellen, kombinieren wir aufgrund der unterschiedlichen Layouts beide Seiten in einem Rezept, damit wir dasselbe Anwesenheits-/Abwesenheitsmodell nicht zweimal trainieren müssen.
-
Erstellen Sie ein neues Rezept. In diesem Fall handelt es sich um ein Classification-Rezept, aber dasselbe Prinzip kann auch mit Segmentation verwendet werden.
-
Richten Sie das Template Image und das Alignment für die erste Ansicht ein:
Der Aligner ist nicht verfügbar, wenn mehr als eine Ansicht im selben Rezept geprüft wird. Das Template Image und der Aligner werden nur verwendet, um das Basisbild für das Inspection Setup festzulegen.

- Zeichnen Sie ROIs für Seite A. Benennen Sie sie so, dass erkennbar ist, zu welcher Seite sie gehören. In diesem Fall haben wir die ROIs A1–A16 genannt.

- Kehren Sie zum Template Image und Alignment zurück, um das Bild durch Seite B zu ersetzen, entweder durch eine neue Aufnahme oder aus der Bibliothek.

- Verwenden Sie die Schloss-Symbole neben jeder ROI, um zu verhindern, dass die ROIs von Seite A verschoben werden, und zeichnen und benennen Sie dann die ROIs für Seite B.

Wiederholen Sie diesen Vorgang bei komplexeren Rezepten für so viele verschiedene Ansichten, wie Sie prüfen möchten.
- Beschriften und trainieren Sie das Classification-Modell mit Bildern beider Seiten A und B. Beschriften Sie beim Aufnehmen und Labeln von Seite A nicht die ROIs von Seite B und umgekehrt.
![]() | ![]() |
|---|---|
| Labeln von Seite A (Pass) | Labeln von Seite A (Fail) |
![]() | ![]() |
| Labeln von Seite B (Pass) | Labeln von Seite B (Fail) |
Node-RED-Logik konfigurieren
-
Navigieren Sie zum IO Block (Configure IO im Recipe Editor), um Ihren Node-RED-Flow zu öffnen.
-
Erstellen Sie eine Quelle, die der OV10i mitteilt, welche Seite gerade geprüft wird.
Dies können Roboterpositionsdaten, Informationen von der PLC oder etwas anderes sein, was Sie verwenden möchten. Im folgenden Beispiel simulieren wir dies mit zwei Inject-Nodes, von denen einer den String "A" und der andere den String "B" sendet.
- Da die eingehenden Seitendaten möglicherweise nur momentan vorliegen, wir aber prüfen möchten, welche Seite aktiv ist, speichern wir die Zustandsdaten mithilfe einer Flow-Variable, die bestehen bleibt, bis die nächste Seiteninformation empfangen wird. Verbinden Sie Ihre Datenquelle mit einem Function-Block, der den folgenden Code enthält:
flow.set('side',msg.payload);
return msg;

- Sie können testen, ob Ihre Seitendaten korrekt gespeichert werden, indem Sie die Seitenleiste context öffnen, eine Nachricht senden und dann im Bereich Flow-Variable auf refresh klicken. Der Flow-Datenbereich wird nur aktualisiert, wenn manuell auf die kleine refresh-Schaltfläche geklickt wird.

- Sobald die Seitendaten ordnungsgemäß in der Flow-Variable gespeichert sind, fügen Sie einen Switch-Node hinzu, der mit All Block Outputs verbunden ist. Dies wird der Block sein, der die Nachricht mit den Prüfdaten je nach aktiver Seite in der Flow-Variable weiterleitet. Konfigurieren Sie ihn so, dass er die Flow-Variable prüft und die Nachricht an Port 1 weiterleitet, wenn A aktiv ist, und an Port 2, wenn B aktiv ist.

Wiederholen Sie diesen Vorgang bei komplexeren Rezepten für so viele verschiedene Ansichten, wie Sie prüfen möchten.
- Verbinden Sie jeden Ausgangsport des Switch mit einem Classification Block Logic-Block und konfigurieren Sie jeden gemäß den Regeln, die Sie für diese Seite prüfen möchten. Der Switch-Node leitet die Nachricht jeweils nur an einen der Nodes weiter. Das folgende Bild zeigt die Konfiguration für den B-Seiten-Port des Switches. Beachten Sie, dass keine der A-ROIs referenziert wird, sodass die Logik die Ergebnisse dieser Seite ignoriert, wenn die Prüfung über diesen Node geleitet wird.

- Verbinden Sie schließlich die Logic-Blöcke mit dem Inspection Pass/Fail-Block. Dadurch können die Ergebnisse auf dem HMI angezeigt sowie an eine angeschlossene PLC oder andere Flow-Komponenten weitergegeben werden.

Rezept testen
Nachdem der Node-RED-Flow konfiguriert ist, ist es an der Zeit, das Rezept End-to-End zu testen.
- Zuerst senden wir den Befehl für Seite A über unseren Node-RED Inject-Node. Anschließend prüfen wir mit dem HMI ein Gutteil. Beachten Sie, dass die gesamte Prüfung bestanden wurde, obwohl einer der Bereiche auf Seite B fehlgeschlagen ist.

- Wenn wir nun ein Bit auf Seite A entfernen und erneut prüfen, erhalten wir das gewünschte Fail-Ergebnis.

- Weiter zur Seite B: Wir senden das B-Signal über unseren Node-RED Inject und klicken im Bereich der Kontextdaten auf refresh für die Flow-Variable, um sicherzustellen, dass sie gespeichert ist.

- Wenn wir nun auf die B-Seite eines Gutteils wechseln, sehen wir, dass die Prüfung bestanden wird, obwohl alle Bereiche der A-Seite fehlschlagen.

Herzlichen Glückwunsch! Sie wissen nun, wie Sie ein einziges Rezept und Modell für mehrere Ansichten eines Teils verwenden. Dies ermöglicht komplexe Prüfungen bei hohen Geschwindigkeiten und eine enge Integration mit Robotern. Außerdem sparen Sie erhebliche Zeit, die Sie sonst mit dem Training mehrerer Modelle verbringen würden, die dieselbe Prüfung nur auf verschiedenen Ansichten durchführen.





