Bildverarbeitung in Echtzeit?

Bildverarbeitung in Echtzeit?

Was gilt es bei Industrie-Anwendungen zu beachten?

Unter Echtzeitbetrieb versteht man die Einhaltung von maximalen, definierten Verarbeitungszeiten von Rechnersystemen. Entgegen der begrifflich naheliegenden Vermutung, wird mit Echtzeit keine Aussage zur Dauer der Verarbeitung gemacht. Man unterscheidet ´Harte´ und ´Weiche´ Echtzeit: Wenn die Einhaltung der vorgegebenen Verarbeitungszeiten generell gilt, wird von Ersterem gesprochen; wenn die erlaubte Verarbeitungszeit nur üblicherweise eingehalten wird, von Letzterem.
Im Zusammenspiel der Einzelkomponenten einer Maschine ist das rechtzeitige Vorhandensein von Steuerinformationen entscheidend. Entsprechend muss das Bildverarbeitungssystem diese Anforderung in Maschinen-Echtzeit erfüllen. Speziell die Synchronisierung von Kamera und Beleuchtung auf die Prüfobjekte ist zeitkritisch. Perfekte Harte Echtzeit schaffen hier Controller auf FPGA-Basis. Durch ihre klare definierten Zeitabläufe sind sie echtzeitfähig. Bei den Vision-PCs VisionBoxen sind diese deshalb bereits integriert. Für die zügige Umsetzung auch komplexer Anforderungen sorgt ein umfangreiches SDK für C++ oder .net, so dass kein VHDL-Code angefasst werden muss. Dies soll anhand eines Praxis-Beispiels gezeigt werden. Auf einem Fließband laufen zu sortierende Teile. Eine Lichtschranke erfasst die Teileposition, bezogen auf eine Inkrementalgeberstellung. Liegt das Teil passend, werden synchron die Kamera(s) ausgelöst und die LEDs der Beleuchtung mit Strom versorgt. Mit dem Sortierergebnis wird dann an der richtigen Auswurfposition ein Druckluftventil ausgelöst und das Teil vom Band gepustet. Der Echtzeitcontroller einer VisionBox AGE-X erledigt das mit wenigen Zeilen Parametriercode.

Echtzeit auf x86

Die Problematik Windows-basierter Bildverarbeitungssysteme hinsichtlich Echtzeitfähigkeit wurde bereits von IntervalZero (inVision 1/15, S. 62) aufgezeigt. Zusammengefasst: Windows ist erst dann im weichen Sinne echtzeitfähig, wenn neben der Rechenleistung für die Bildauswertung noch ausreichend Ressourcen für die verschiedenen Windows-Services bereitstehen. Wahlweise investiert man in proprietäre Echtzeit-Software für Windows.

Was ist die Alternative?

Kritisch ist der Zeitpunkt der Bildaufnahme und der aus der Bildverarbeitung folgenden Aktion. Dazwischen liegt möglicherweise genug Zeit für einen Windows-Rechner, die (Weiche) Echtzeitbedingung zu erfüllen. Aus diesem Grund kombiniert Imago den Echtzeit-Controller mit einem Windows-OS. Im gezeigten Praxisbeispiel liegt der Auswurf so weit von der Bildaufnahme entfernt, dass sich Latenzen im Windows ausmitteln und die bezahlte Rechenleistung optimal genutzt wird. Darüber hinaus lassen sich auf der x86-Architektur auch andere Betriebssysteme als Windows nutzen. Unter Linux kann z.B. die RT-Erweiterung genutzt werden, um einen x86-Rechner weiter in Richtung Harter Echtzeit zu bringen. Aktuell arbeitet man an entsprechenden Systemen für die VisionBox AGE-X.

Seiten: 1 2Auf einer Seite lesen

Imago Technologies GmbH
/www.imago-technologies.com

Das könnte Sie auch Interessieren

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige