Jetzt auch in der App!

Das Handbuch der Bildverarbeitung Mehr

Erweitern Sie Ihr Bildverarbeitungs Know-how

BESSER MEHR WISSEN

Profitieren Sie von der Erfahrung unserer Experten

Vision Docs - das neue Handbuch ist da

DAS NACHSCHLAGEWERK

FÜR BILDVERARBEITER

Holen Sie sich das aktuelle Handbuch! Mehr

Stabile Bilderfassung

Bei der Konzeption eines Bilderfassungssystems konzentriert sich der Anwender häufig nur darauf, die erforderliche Technik so auszulegen, dass das System funktioniert.

die erforderliche Technik so auszulegen, dass das System funktioniert. Oft wird viel Zeit mit der Diagnose von unregelmäßig auftretenden Systemausfällen vergeudet, weil bei der Auslegung der Schnittstellenhardware zu wenig darüber nachgedacht wurde, welche Schwierigkeiten in einem System auftreten können. Viele Systementwickler gehen davon aus, dass das System fehlerfrei läuft und dass Probleme wie zum Beispiel zu viele Trigger-Impulse, Buskonflikte, korrupte Daten oder defekte Bilder aufgrund von externen elektrischen Störungen nie vorkommen.

Bei unkritischen Anwendungen werden zwar keine Sicherungsfunktionen gegen solche Fehler benötigt, doch für die Entwicklung eines robusten Prüfsystems oder bei der Auslegung eines Systems nahe an den Leistungsgrenzen der eingesetzten Schnittstellentechnologie ist ein stabiles Bilderfassungssystem eine wichtige Voraussetzung. Von einigen Herstellern wurden deswegen robuste Mechanismen entwickelt, die Informationen über Systemfehler an die Entwickler des Systems senden, wodurch dann entsprechende Korrekturmaßnahmen ergriffen werden können. Ohne diese Verfahren könnte es zu Systemabstürzen kommen oder die Systeme würden weiterlaufen, ohne dass ein Ausfall oder ein korruptes Bild bemerkt wird. In diesem Abschnitt befassen wir uns mit Funktionalitäten, mit denen ein System gegen ungewöhnliche Systemereignisse robust gemacht wird, wie zum Beispiel Teledyne DALSAs »Trigger to Image Reliability« (T2IR), Allied Visions »Secure Image Signature« (SIS) sowie Funktionen, die im GigE-Vision- und USB3-Vision-Standard implementiert sind.

Trigger, Zähler und Call-Back-Funktionen

Ein häufiger und gravierender Fehler besteht in der Annahme, dass mit jedem Auslösen eines Triggers auch ein Bild erfasst wird. Hier wird oft davon ausgegangen, dass es zu keinen Irritationen führt, wenn die Taktzeit der Kamera höher als die Auslösegeschwindigkeit ist. Es wird dabei jedoch nicht beachtet was passiert, wenn Trigger schneller als mit maximaler Systemgeschwindigkeit bei der Kamera ankommen oder wenn es zum Beispiel aufgrund von Systemrauschen ungewollte Trigger gibt, die zu unerwarteten Fehlern führen. Bei zahlreichen Bilderfassungssystemen wird dieses Auslösen einfach ignoriert. Das führt dazu, dass manche Trigger keine Prüfung nach sich ziehen, wodurch das Produkt ungeprüft passieren kann. Bei anderen Systemen wird die Bilderfassung nach der

Hälfte des Bilderfassungsvorgangs zurückgesetzt, was entweder zu korrupten Bildern oder im schlimmsten Fall zu einem Systemabsturz führt, falls der DMA oder die Speicherverwaltung durcheinander gebracht werden beziehungsweise überlaufen.

Bei einer guten Implementierung wird das fehlerhafte Auslösen korrekt ohne Verfälschung verarbeitet und die Anwendung mittels Call-Back oder überwachtem Zähler über das Auftreten informiert. Die Anwendung kann dann die entsprechenden Maßnahmen ergreifen. Insbesondere beim synchronisierten Auslösen und entsprechendem Bildeinzug mehrerer Kameras muss eine detaillierte Signal- und Datenprüfung implementiert sein, damit die dort möglichen Fehlzustände abgefangen werden können.

Event Meldung
Trigger Informiert die Host-Anwendung, dass ein Triggerausgelöst wurde.
Doppel-Trigger Informiert die Host-Anwendung, dass zwei Triggerfast gleichzeitig ausgelöst wurden und einer davonignoriert wurde.
Start Bild Informiert die Host-Anwendung, dass dieBildaufnahme begonnen hat.
Ende Bild Informiert die Host-Anwendung, dass dieBildaufnahme abgeschlossen ist.
Start Übertragung Informiert die Host-Anwendung, dass die Bildübertragung in den PC-Speicher gestartet wurde.
Ende Übertragung Informiert die Host-Anwendung, dass die Bildübertragung in den PC-Speicher abgeschlossen ist.

Zeitstempel

In manchen Anwendungen ist es vorteilhaft zu wissen, wann ein Bild erfasst wurde. Ein Zeitstempel muss nicht unbedingt einer tatsächlichen Zeit entsprechen, sondern kann Bilder auf beliebige Art und Weise markieren und mit einem externen Ereignis synchronisieren. Bei Anwendungen mit bewegten Prüfobjekten kann ein Bild zum Beispiel mit dem Zeitstempel eines Drehgebers versehen werden, der die Position des zugehörigen Transportbandes markiert. Ein fehlerhaftes Produkt kann somit an einer späteren Stelle eindeutig identifiziert und über einen geeigneten Mechanismus aussortiert werden. Dies erfolgt zuverlässig auch dann, wenn das Transportband anfährt oder stoppt oder sich seine Geschwindigkeit ändert. Ein weiteres Beispiel für den sinnvollen Einsatz eines Zeitstempels ist ein Bilderfassungssystem mit vielen Kameras, das später offline ausgewertet werden muss. Sind die Bilder mit einem gemeinsamen Bilderfassungszeitstempel versehen, so lässt sich die Verbindung zwischen den Bildern auch in nachfolgenden Arbeitsschritten noch sicher herstellen. Die Synchronisierung von Kamera-Zeitstempeln kann nun unter Verwendung des PTP-Protokolls erfolgen, das Bestandteil des GigE-Vision-Standards ist. Mit einem Zeitstempel können auch nützliche Systeminformationen wie zum Beispiel Auslöser- und Bilderfassungszähler zur Verfügung gestellt werden, so dass die Anwendung sicher sein kann, dass das Bild gültig ist, die Reihenfolge stimmt und kein Bild übersehen wurde.

Datenüberwachung und CRC-Prüfung

Bei Hochgeschwindigkeitssystemen können externe Signalfehler oder Rauschen manchmal zu fehlerhaften Datentaktzeiten und Datenfehlern führen. Mit einer durchdachten Schnittstellenauswahl können diese Signale überwacht und auf ihre richtige Funktion hin überprüft werden. So können diverse Schnittstellenkarten für Analog, LVDS und CameraLink feststellen und melden, ob eine Zeile oder einzelne Bilder zu wenige oder zu viele Pixel aufweisen. Diese Funktionalität erlaubt es dem System, geeignete Maßnahmen zu ergreifen. Mit Hilfe einer solchen Überwachung kann das System beim Auftreten eines Ereignisses unmittelbar reagieren.

Bei einer direkten Anbindung wie bei USB oder GigE wird eine CRC-Prü- fung durchgeführt. Beim Einsatz dieser Technologie ist deshalb oft eine CRC-Prüfung von Vorteil. CRC steht für Cyclic Redundancy Check und beschreibt ein System, bei dem für eine bestimmte Datei oder ein Datenpaket eine Prüfsumme generiert wird. Mit dieser Prüfsumme können nach der Übertragung oder Speicherung eventuelle Fehler ermittelt werden. Dabei muss die CRC-Prüfung jedoch mittels Prozessor in einer Kamera durchgeführt werden und der Host muss dann das Gesamtbild lesen, um zu prüfen, ob CRC-Prüfung und Bild übereinstimmen.

Bei Schnittstellen wie zum Beispiel FireWire oder Gigabit Ethernet ist das CRC-Modul jedoch bereits in die Hardware zur Überprüfung der Datenpakete integriert. Die Anzahl voraussichtlicher Pakete pro Bild wird durch eine intelligente Treiberprogrammierung überwacht, wodurch die CRC-Prüfung erfolgen kann und die korrupten Bilder korrekt markiert und gemeldet werden. Beim Einsatz der GigE-Vision- oder USB-Technologie kann der Host neben der Kennzeichnung von Übertragungsfehlern zudem das erneute Senden von beschädigten oder verlorenen Paketen anfordern, wodurch die Sicherheit der Datentransfers garantiert ist. Diese Technologien finden auch bei CoaXPress und CameraLink HS Anwendung. CameraLink HS geht hier mit einer automatischen Resend/Korrekturmöglichkeit noch einen Schritt weiter. Der einzige Bilderfassungsstandard, der keine CRC-Datenprüfung anwendet, ist CameraLink.

Steuerung und Synchronisation

In den vergangenen Jahren haben sich die Funktionalitäten von Schnittstellen über die reine Bilderfassung hinaus weiterentwickelt. Dieser Trend hat sich auch bei Kameras mit digitalen Schnittstellen fortgesetzt. Früher war der Systemintegrator für die Auslegung der Zeiten für Bildauslösung, Bilderfassung, Beleuchtungssteuerung und die Steuerung der Ausschleuseeinheit zuständig. Dies erforderte in der Regel eine kundenspezifische Hardware, da die PC-Zeitverzögerung für spezielle Timings nicht ausreichend war wurde mit einer PC-Steuerung gearbeitet, so konnte dies aufgrund der Verzögerungen oft zu einem unregelmäßigen Systemverhalten führen.

Heutzutage sind zahlreiche dieser Funktionen in der Bilderfassungshardware oder der Kamera zu finden, wodurch die Systemkonfiguration erleichtert und robuster wird. Mit zusätzlichen Geräten wie zum Beispiel Sensoren, welche das Ausschleusen fehlerhafter Objekte erkennen können, Drehgebern oder internen Zählern sind die heutigen hochmodernen Bilderfassungslösungen in der Lage, die zeitliche Steuerung zwischen der Produkterfassung, Systemsteuerung und dem anschließenden verzögerten Ausschleusen zu übernehmen. Ein Beispiel für eine solche Steuerung ist in der folgenden Abbildung dargestellt.

Steuerung und Synchronisation

Als diese Technik noch nicht zur Verfügung stand, musste der Entwickler eines Bilderfassungssystems viel Zeit für die Abstimmung von Auslösen, Aussortieren und Beleuchtung und deren Schaltungen aufwenden. Bei der Auswahl einer Bilderfassungsschnittstelle sollte man deswegen immer das Gesamtsystem im Auge behalten. Was zu Beginn als preisgünstigste Lösung erscheint, kann am Ende oft deutlich teurer sein, da zusätzlich Zeit, Aufwand und Hardware bei der Zusammenstellung eines Bilderfassungs- und Ausschleusesystems benötigt werden. In den letzten Jahren wurde durch die Gigabit-Ethernet-Technologie die Möglichkeit geschaffen, auch Kameras einzusetzen, die sich in einer Entfernung von 100 oder mehr Metern vom Steuerungsrechner befinden.

Dadurch kann zum Beispiel der Host-Rechner aus der Fabrikhalle in einen sauberen, kühlen Server-Raum verlagert werden. Diese Veränderung hat dazu geführt, dass die herkömmliche Integration der Synchronisations- und Aussortierfunktion auf der Bilderfassungskarte des Computers nicht mehr rentabel ist, da sich dieser in einiger Entfernung von der Anlage befinden kann. Deswegen wird in solchen Fällen eine alternative Lösung benötigt.

Die nun zur Verfügung stehenden Ethernet-basierenden Timing Controller ermöglichen die Synchronisation mehrerer Kameras, Auslöser und Ausschussweichen im gesamten Netzwerk. Dies funktioniert auch mit Kameras, die zusammen mit Encodern an Transportbändern verwendet werden. Diese Funktionalität führt zu einem neuen Typ von Bilderfassungssystemen: dem netzwerkbasierten, zentralen Bilderfassungssystem. Eine zeitliche Synchronisation von Kameras untereinander ist auch in den GigE-Vision-Standard 2.0 eingeflossen (PTP Precision Time Protocol), um genau solche Möglichkeiten auszuweiten.


Mehr zum Thema Bilderfassung und Standards: