Prozesssynchronisation mittels Trigger – ein Leitfaden

Prozesssynchronisation mittels Trigger – ein Leitfaden

Bei der Bildverarbeitung muss ein Bild genau dann aufgenommen werden, wenn sich das (bewegte) Objekt vollständig unter dem Objektiv befindet und die Beleuchtung aktiviert ist. Eigentlich einfach, aber im Detail liegen oft Fallstricke. Welche das sind, zeigt der Beitrag.

Bild 1 | Arbeiten Maschinentakt und Kamera nicht synchron, befinden sich Objekte bei der Bildaufnahme nicht genau unter der Kamera (rechts), was eine einwandfreie Funktion bildverarbeitender Algorithmen erschwert. (Bild: Baumer Optronic GmbH)

Die Synchronisierung zwischen Maschinentakt im Verarbeitungsprozess, Kamera und Beleuchtung erfolgt über Trigger, d.h. externe Signale oder Ereignisse, die den Bildeinzug der Kamera starten und deren Quellen Hardwarekomponenten sind oder in der Software liegen. Die Signale müssen erzeugt, transportiert und verarbeitet werden. Dies sind Prozessschritte, die Zeit benötigen bzw. Schwankungen unterworfen sind und damit berücksichtigt werden müssen. Moderne Industriekameras sind für diese Synchronisation jedoch bestens gerüstet.

Trigger verwenden

Für die Synchronisation empfiehlt sich die Verwendung von Triggern, unabhängig vom verwendeten Kameratyp. Die Kamera sollte nicht im Free Running Modus laufen, sondern in der Software muss der TriggerMode aktiviert sein. Sobald die Kamera den Trigger empfängt, beginnt sie mit der Bildaufnahme nach einem einstellbaren TriggerDelay. Mit dieser Verzögerung wird sichergestellt, dass Schwankungen oder Verzögerungen im System (etwa durch Kabel oder Beleuchtungselektronik) berücksichtigt werden. In der Regel muss der Delay durch Versuche bestimmt werden, da er von den verwendeten Komponenten abhängt. Die Verzögerung in der Kamera selbst, ist als Maximalwert im Datenblatt angegeben. Wird mit Triggern gearbeitet, gilt außerdem zu beachten, wann die Kamera für den nächsten Trigger empfänglich ist. Dies hängt vom verwendeten Kamera- und Sensortyp ab. Für den Anwender ist es wichtig festzulegen, welche Bildrate die Applikation benötigt. Damit können weitere Parameter festgelegt, bzw. manche Sensoren und Kameratypen ausgeschlossen werden.

Bild 2 | Mit den verschiedenen Trigger Modes können applikationsspezifische Anforderungen abgebildet werden. (Bild: Bild: Baumer Optronic GmbH)

Woher kommt der Trigger?

Ein Trigger wird von externer Hardware, aus der Software heraus oder durch ein Action Command gesteuert. Wenn möglich, sollte ein Hardware-Trigger eingesetzt werden, da dieser sehr viel weniger Schwankungen und Verzögerungen im Bereich von Mikrosekunden unterliegt. Bei Verwendung eines Software-Triggers liegen die Schwankungen dagegen im Millisekunden-Bereich. Ob das akzeptabel ist, muss applikationsspezifisch bewertet werden. Ein Action Command findet z.B. bei der Synchronisation mit Encodern Verwendung, um Bildaufnahmen bei bestimmten Encoder-Positionen zu starten. Bei einigen Kameratypen, wie den CX-Modellen mit Precision Time Protocol (PTP) kann der Trigger zeitsynchronisiert durch ein Action Command ausgelöst werden. In allen Fällen wird in der Software der Kamera dafür das Register TriggerSource verwendet.

Über welchen Eingang sollte der Hardware-Trigger kommen?

Der Großteil digitaler Industriekameras ist heute mit einem oder mehreren optoentkoppelten Digital-Eingängen und/oder sogenannten GPIOs (general purpose inputs/outputs), also Allzweckeingänge und -ausgänge, ausgestattet. Die erstgenannten Schaltkreise weisen eine Schaltzeit im Millisekunden-Bereich auf, können aber höhere Spannungen übertragen und sind aufgrund der galvanischen Trennung der beiden Stromkreise unempfindlich gegenüber Masseschleifen und elektromagnetischen Störungen. GPIOs sind dagegen schneller. Sie reagieren mit einer Latenz im Nanosekunden-Bereich, werden aufgrund der fehlenden galvanischen Trennung zwischen Signalquelle und Kamera jedoch als weniger sicher hinsichtlich ihrer Anfälligkeit für Masseschleifen und elektromagnetische Störungen betrachtet.

Bild 3 | Beispielhafter Aufbau eines Sequencer-Sets. (Bild: Baumer Optronic GmbH)

Anzahl der Bilder nach Trigger?

In der Regel wird nur ein Bild benötigt, was für die Verwendung des FrameStart Trigger Modes spricht. Auf jeden eintreffenden Trigger wird demnach genau ein Frame – also die Kombination aus Belichtungszeit und Sensor Readout – aufgenommen. Trigger, die während der Belichtung und dem Readout eintreffen, werden von der Kamera verworfen. Wird aufgrund einer höheren Taktrate eine Überlappung von Sensorbelichtungszeit und Readout der vorherigen Aufnahme benötigt, bietet sich der TriggerOverlap Readout Mode an. Das Timing wird dabei so gewählt, dass die Kamera den Trigger so annimmt und verarbeitet, dass das Readout des Frames (n) und die Belichtungszeit des Frames (n+1) sehr kurz nacheinander eintreten. Sind mehrere Bilder nach dem Trigger notwendig, empfiehlt sich die die Verwendung des Sequencers.

Sequencer für Bildserien

Der Sequencer ermöglicht die Aufnahme von Bildserien/-sequenzen mit automatischer Umparametrierung der Kamera auf Basis verschiedener Ereignisse und Signale. Die gewünschten Kameraeinstellungen sind dafür in Sequencer-Sets gespeichert. Mehrere davon aneinandergereiht bilden eine Sequenz. Die Verbindungen innerhalb der Sequenzen erfolgen über verschiedene Pfade. Daher sind neben unterschiedlichen Kamerafunktionen auch pfadbezogene Funktionen Teil jedes Sequencer-Sets. Jedes dieser Sets bekommt eine Nummer zugewiesen und kann bei den Kameras von Baumer Funktionen wie Belichtungszeit, Gain, Partial Scan Parameter oder die Ansteuerung digitaler Ausgänge enthalten. Die zugewiesene Nummer ist u.a. Bestandteil der Pfadinformationen für den Wechsel zwischen den Sequencer-Sets. Ein weiterer Bestandteil ist das Signal, dessen Zustandsänderung den Set-Wechsel bewirkt und die Zustandsänderung (Flanke), die letztlich triggert. Signalquelle kann dabei ein Hardware Trigger oder ein kamerainternes Signal wie das Ende eines Counters oder Timers sein. Auch GenICam Events wie ExposureActive oder ReadoutActive können als Triggerquelle dienen. Der Einsatz des Sequencers ist zwar augenscheinlich mit höherem Aufwand verbunden, bringt jedoch einen deutlichen Flexibilitätszuwachs mit sich. So kann die Belichtungszeit für einzelne Bilder oder Bildgruppen individuell eingestellt werden, sofern sie in einem dedizierten Sequencer-Set aufgenommen werden. Neben der Set-spezifischen Belichtungszeiteinstellung können auch Ausgänge geschaltet und z.B. Partial Scan Parameter gesetzt werden. Wird der Ablauf und die notwendigen Einstellungen als Ablaufdiagramm dargestellt, steht einer effizienter Sequencer-Erstellung nichts im Wege.

Prozess-/Zeitsynchronisation via PTP

Allerdings kann es im Prozess notwendig sein, dass die Komponenten nicht nur synchronisiert werden müssen, sondern auch eine gemeinsame Zeitbasis benötigen. Hierzu dient PTP nach dem IEEE 1588 Standard, das von den 10GigE Kameras der LX-Serie und einigen GigE Modellen der CX-Serie unterstützt wird. Mit deren Hilfe können Bilder mehrerer Kameras synchron aufgenommen werden. Über ein Action Command wird dann zu festen, vordefinierten Zeitpunkten bei allen Kameras ein Trigger ausgelöst. Um die Aufnahmen zusätzlich eindeutig zu identifizieren und zuzuordnen, kann jedem Bild zusätzlich eine Trigger ID zugeordnet werden.

Themen:

| Fachartikel
Baumer Optronic GmbH

Das könnte Sie auch Interessieren