Vision Docs - das neue Handbuch ist da

DAS NACHSCHLAGEWERK

FÜR BILDVERARBEITER

Holen Sie sich das aktuelle Handbuch! Mehr

Erweitern Sie Ihr Bildverarbeitungs Know-how

BESSER MEHR WISSEN

Profitieren Sie von der Erfahrung unserer Experten

GigE Vision und GenICam

Gigabit-Ethernet for Machine Vision oder kurz, »GigE Vision«: Dieser Schnittstellen-Standard und das eng damit verbundene generische Software- Interface »GenICam« (Generic Interface for Cameras) sind besonders interessant für die Bildverarbeitungs-Branche!

Wie gelangt ein Kamera-Bild in den auswertenden PC? Auf diese scheinbar einfache Frage gibt es in der industriellen Bildverarbeitung mittlerweile eine Vielzahl möglicher und sehr kontrovers diskutierter Antworten. Es fallen Begriffe wie CameraLink, IEEE 1394, auch FireWire genannt sowie USB, Gigabit-Ethernet. Neben diesen Standard-Übertragungsmöglichkeiten, die meist aus dem PC-Consumer-Markt stammen, gibt es zudem noch viele weitere, proprietäre Wege. Für den Anwender ist es aufgrund des umfangreichen Angebots am Markt daher nicht einfach, bei der Planung eines neuen Bildverarbeitungs-Systems diejenigen Komponenten auszuwählen, die seine Aufgabe zum optimalen Preis am besten lösen.

Besonders interessant ist in diesem Zusammenhang Gigabit-Ethernet for Machine Vision oder kurz GigE Vision. Der Standard verfolgt zum einen das Ziel, ein einheitliches Protokoll auf Basis von UDP/IP zu definieren, über das GigE Vision-kompatible Bildverarbeitungs-Produkte mit einem Host kommunizieren können. Zum anderen gibt es mit GenICam, auf das der Standard verweist, eine allgemein gültige Software-Schnittstelle, die es den Geräten erlaubt, ihre Funktionen einer generischen Software mittels eines standardisierten XML-Datei mitzuteilen. Die Kombination von einheitlichem Protokoll und XML-Definition ermöglicht es dann, eine geräteunabhängige Software von einem beliebigen Anbieter zu verwenden. Die eingesetzte Bildverarbeitungs-Hardware ist somit austauschbar.

Enorme Vorteile für den Anwender

Für den Anwender ergeben sich aus dieser Technik eine ganze Reihe von Vorteilen. Das wesentlichste Argument wurde bereits angesprochen: Die eingesetzte Hardware ist durch den Standard austauschbar geworden. Dies verspricht kürzere Designzyklen, geringere Entwicklungskosten und birgt somit breitere Marktchancen.

Des weiteren bietet GigE Vision viel mehr als Schnittstellen wie FireWire/IEEE1394 oder gar USB die Vorteile eines industriellen Standards, der laufend weiterentwickelt wird und auch als 10 GigE verfügbar ist. Durch die Nutzung der Massenmarkt-Technologie Ethernet als Basis von GigE Vision wird die Bildverarbeitung daher von günstigeren Komponenten profitieren. Außerdem gibt es eine breite Palette an industrietauglichen Konnektoren und Kabeln sowie Komponenten wie Router, Switches etc. in IPxx- Varianten für diese Technologie erhältlich, die den Einsatz im rauen industriellen Umfeld ermöglichen.

Hinzu kommt, dass mit Gigabit-Ethernet, anders als bei FastEthernet, die Bandbreite von "normalen" Netzwerk-Verbindungen ausreichend ist, um die hohen Ansprüche an Bandbreite von vielen Bildverarbeitungs-Applikationen zu befriedigen. Mit einer Datenrate von rund 1000 MByte/s deckt GigE Vision (basierend auf Gigabit-Ethernet) den größten Teil gängiger Bildverarbeitungs-Applikationen ab.

Weitere Vorteile für den Anwender sind, dass beliebig viele Geräte an einem Host betrieben werden können, dass die Möglichkeit zur Fernwartung erschlossen wird und dass ein Distributed Computing / Verteiltes Rechnen wesentlich einfacher realisierbar wird.

Darüber hinaus lässt Gigabit-Ethernet deutlich höhere Kabellängen zu, die zudem aufgrund der weiten Verbreitung billig und selbst in Schleppketten- und Roboter-tauglichen Ausführungen erhältlich sind. Nach der Spezifikation sind bis zu 100 Meter möglich, was mit anderen Technologien bisher nur mit großem Aufwand , d.h. durch den Einsatz von Repeatern bei CameraLink, von Hubs bei IEEE 1394 oder gar den Wechsel auf ein anderes Medium wie Glasfaser oder Coax- Kabel, möglich war. Für noch größere Distanzen kann auch Glasfaser zum Einsatz kommen. In Sachen Datentransport ist das aber noch lange nicht alles: Bei der Protokolldefinition von GigE Vision spielt das darunter liegende Transportmedium in erster Näherung keine Rolle.

Das Standardisierungs-Gremium von GigE Vision ist der AIA (Automated Imaging Association) zugeordnet und wird somit von vielen weltweit führenden Herstellern der Bildverarbeitungs-Branche getragen. Dazu zählen u.a. Firmen wie Basler Vision Technologies, JAI, Matrox, National Instruments, Photonfocus, Pleora Technologies, Teledyne DALSA und STEMMER IMAGING.

Richtungsweisende Ansätze in punkto Software

Dass die Industrie versuchte, GigE Vision als eigenen Standard zu definieren, macht nach vorangegangenen Erfahrungen Sinn: Zweck eines Standards ist es ja, die Integration von Hardware-Komponenten zu vereinfachen bzw. die Austauschbarkeit von Komponenten zu garantieren sowie Kosten und Zeit für die Integration zu minimieren. Bei der Entwicklung von CameraLink ist man hierbei einen ersten Schritt gegangen und hat das Hardware-Interface zwischen Kamera und Host definiert. Der Software-Part kam dort allerdings etwas zu kurz, da man sich auf die Definition einer seriellen Kommunikation beschränkt, aber die Funktionalität der Kamera gänzlich außen vor gelassen hat. Der Ansatz bei IEEE1394/FireWire war da deutlich weitreichender, da man die Funktionalität der Kamera in einem mehr oder weniger starren Registerlayout vorgeschrieben hat. Als problematisch hat sich dort allerdings genau diese wenig flexible Struktur des Registerlayout erwiesen. Fatal war jedoch die Tatsache, dass keine Referenzimplementierung vorhanden war, was dazu führte, dass heute im Prinzip jeder Hersteller von FireWire-Produkten sein eigenes SDK mitliefert. Aus Kundensicht sind verschiedene IEEE1394-Hardware-Produkte somit nicht mehr einfach austauschbar.

GigE Vision und GenICam verfolgen hier einen Ansatz, der das Ziel hat, die Funktionalität der Kameras nicht festzuschreiben. Vielmehr soll der Standard eine flexible Beschreibung der Kamera-Features liefern, die eine generische Software anschließend nutzen kann. (siehe Bild GenICam)

Das Ziel von GenICam ist es, vollständiges Plug&Play für die Bildverarbeitung zur Verfügung zu stellen.

Wie funktioniert das nun im Detail?

Für die Beschreibung von Kamera-​Merkmalen wird eine XML-​Datei verwendet, das letztendlich eine Register-​Map beschreibt. In dieser Datei legen die Hersteller die Eigenschaften ihrer Produkte in einem im Standard beschriebenen Format ab und erläutern, wie bzw. wo diese angesprochen werden können. Damit kann z.B. ein Register, das den Gain einer Kamera kontrolliert, an beliebiger Stelle in der Register-​Map der Kamera liegen. Mittels der XML-Datei ist es der Software dann möglich, diesen Gain zu verstellen.

Mit Hilfe einer generischen Software ist es dann ein Leichtes, beliebige Funktionen in der Kamera anzusprechen oder auf Parameter zu zugreifen. GenICam ist also dafür verantwortlich, zum einen das Layout der XML-​Datei zu definieren und zum anderen eine Referenzimplementierung zur Verfügung zu stellen, die in der Lage ist, die Kamera zu steuern und Daten von ihr auf zunehmen. In mehreren Ausbaustufen soll GenICam außerdem die Kommunikationsschicht zur Kamera abstrahieren und damit auch für FireWire- oder CameraLink-​Kameras verfügbar sein.

Dafür werden die Mechanismen, die für die Kommunikation mit der Kamera notwendig sind, abstrahiert und in einer speziellen Kommunikationsschicht, dem Transport-Layer, gekapselt. Durch den Austausch dieser Schicht ist dann möglich, nicht nur mit GigE Vision-​Komponenten zu kommunizieren, sondern auch mit IEEE 1394 oder anderen register​basierten Geräten. In einem weiteren Schritt wird dann die Funktionalität in sofern erweitert, dass nicht nur der reine Registerzugriff unterstützt wird, sondern auch der Austausch von String-Tokens, was dann den Einsatz von GenICam auch für CameraLink ermöglichen wird.

GigE Vision & GenICam: Blockdiagramm mit Transport-Layer

Fazit

Mit GigE Vision und GenICam gibt es zwei interessante Standards für die Bildverarbeitung. Bei der Definition von GenICam hat sich die Industrie so weitgehend wie nie zuvor bei der Erstellung eines Software-​Standards geeinigt.