01.11.2020

Wenn es genau sein muss: Prozesssynchronisation mit Industriekameras
In optischen Inspektionssystemen muss ein Bild genau dann aufgenommen werden, wenn sich das in der Regel bewegte Objekt vollständig unter dem Objektiv befindet und die Beleuchtung aktiviert ist. Eigentlich einfach – aber im Detail liegen Fallstricke. Welche das sind und wie diese durch die Auswahl der richtigen Hardware und entsprechenden Stellschrauben in der Software umgangen werden können, zeigt dieser Artikel. Im Fokus stehen dabei die Kamera-Anfragen, die den Technischen Support von Baumer am häufigsten erreichen.
Die Synchronisierung zwischen Maschinentakt im Verarbeitungsprozess, Kamera und Beleuchtung erfolgt über so genannte Trigger: externe Signale oder Ereignisse, die den Bildeinzug der Kamera starten und deren Quellen Hardwarekomponenten sind oder in der Software liegen. Diese Signale müssen erzeugt, transportiert und verarbeitet werden. Das 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.
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.
Trigger verwenden
Für die Synchronisation empfiehlt sich die Verwendung von Triggern – unabhängig vom verwendeten Kameratyp. D.h. 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 Versuch gefunden 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 es 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 wichtig festzulegen, welche Bildrate die Applikation benötigt. Damit können dann weitere Parameter festgelegt, bzw. manche Sensoren und Kameratypen ausgeschlossen werden.
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 (I/O-Type) 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 2: Mit den verschiedenen Trigger Modes können applikationsspezifische Anforderungen abgebildet werden.
Anzahl der Bilder nach dem Trigger?
In der Regel wird nur ein Bild benötigt, was für die Verwendung des FrameStart1) Trigger  Modes spricht. Auf jeden eintreffenden Trigger wird demnach genau ein Frame – also die Kombination aus Belichtungszeit und Sensor Readout – aufgenommen (siehe Bild 2). 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 TriggerOverlap2) Readout Mode (siehe Bild 2) 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.

---
1)  GenICam_SFNC_v2_4 S. 155
2)  GenICam_SFNC_v2_4 S. 178
Bild 3: Beispielhafter Aufbau eines Sequencer-Sets.
Sequencer – wenn’s mehr als ein Bild braucht
Der Sequencer ermöglicht die Aufnahme von Bildserien und -sequenzen mit automatischer Umparametrierung der Kamera auf Basis verschiedener Ereignisse und Signale. Die gewünschten Kameraeinstellungen sind dafür in so genannten 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 (siehe Bild 3).
Jedes dieser Sets bekommt eine Nummer zugewiesen und kann bei Baumer Kameras 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 erheblichen 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 geschalten und beispielsweise Partial Scan Parameter gesetzt werden. Wird der Ablauf und die notwendigen Einstellungen als Ablaufdiagramm dargestellt, steht einer effizienter Sequencer-Erstellung nichts mehr im Wege.
Prozess- und Zeitsynchronisation via PTP
Unter Umständen kann es im Prozess notwendig sein, dass die Komponenten nicht nur synchronisiert werden müssen, sondern auch eine gemeinsame Zeitbasis benötigen. Hierzu dient das Precision Time Protocol (PTP) nach dem IEEE 1588 Standard, das von den 10 GigE Kameras der LX-Serie und einigen GigE Modellen der CX-Serie unterstützt wird. Mit deren Hilfe können zum Beispiel 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.

Pressedownload


Weiterführende Informationen

Pressekontakt
Nach oben