Die Plattform CompactRIO bietet einige der ersten PACs (Programmable Automation Controllers) der Branche, die integrierte Bildverarbeitungseigenschaften aufweisen sowie ein vollständig integriertes und effizientes Design zur Verringerung der Markteinführungszeit und kleine Formfaktoren bereitstellen. Sowohl die Platinenoptionen als auch die robusten modularen Controller unterstützen eine Kameraanbindung über USB und Gigabit Ethernet. Die CompactRIO-Plattform trägt durch das NI Vision Development Module dazu bei, die Erstellung von Embedded-Bildverarbeitungsanwendungen zu beschleunigen. Dieses Modul beinhaltet zahlreiche Funktionen für die Bildverarbeitung, die auf einem Echtzeitprozessor und einem FPGA ausgeführt werden können.
Abb. 1: Möglichkeit zur Integration von Bildverarbeitungsfunktionen mithilfe präziser Steuerung, Regelung und Überwachung auf der CompactRIO-Plattform
Die Unterstützung bildgebender Verfahren auf der Plattform CompactRIO lässt sich für eine Reihe von Mess-, Steuer- und Regelanwendungen nutzen, die unterschiedliche I/O beinhalten, darunter:
Abb. 2: Weitere nützliche Daten können die Maschinenzustandsüberwachung ergänzen, indem Wärmebilder hinzugefügt werden, um Überhitzungsstellen aufzudecken.
Das Hinzufügen visueller Daten sorgt dafür, dass ein System seine Umgebung umfassender wahrnehmen kann. In vielen Maschinen ist das Bildverarbeitungssystem vom Controller des Hauptsystems getrennt und Ergebnisse werden mittels serieller oder Ethernet-Kommunikation weitergegeben. Allerdings benötigen viele moderne Anwendungen geringere Latenz, einen kleineren Formfaktor oder eine geringere Leistungsaufnahme, als ein verteiltes System bereitstellen kann. Durch Kombination der erweiterten Steuer- und Regelkapazitäten des CompactRIO mit integrierter Bilderfassung und -bearbeitung besteht eine enge Synchronisation zwischen Bildverarbeitung und I/O. Dank der Anbindungsmöglichkeit von Kameras über Gigabit Ethernet und USB kann CompactRIO-Hardware an tausende Industriekameras angeschlossen werden.
Die Produktlinie der leistungsoptimierten CompactRIO-Controller, die auf Intel Atom und Intel Core i7 Prozessoren basiert, unterstützt GigE-Vision-Kameras über Kabellängen bis zu 400 m und Bandbreiten bis zu 1 Gb/s. Für Überwachungsanwendungen können komprimierte Bilder von IP-Kameras erfasst werden, die mit CompactRIO-Zielsystemen verbunden sind, welche über einen Ethernet-Anschluss verfügen. Alle CompactRIO- und Single-Board-RIO-Zielsysteme, die einen USB-Anschluss besitzen, können Bilder von kompatiblen USB3-Vision-Kameras erfassen. Warum sollten USB3-Vision-Kameras an einem USB-2.0-Anschluss betrieben werden? USB3 Vision stellt eine in der Industrie verwendete Kameraschnittstelle bereit, die von NI-Software für die Bildverarbeitung genutzt werden kann, um Hunderte am Markt erhältliche USB3-Vision-Kameras anzuschließen. Hersteller industrieller Bildverarbeitungskameras machen sich diesen Standard schnell zu eigen. Daher wird erwartet, dass USB3-Vision-Kameras so weitläufig verfügbar sein werden, wie GigE-Vision-Kameras. Zwar ist der Standard für USB-3.0-Anschlüsse vorgesehen, bietet aber auch Abwärtskompatibilität zu USB-2.0-Anschlüssen, die sich häufig bei CompactRIO-Zielsystemen finden. Kompatible Kameras sind z. B. USB3-Vision-Kameras von Basler sowie alle USB3-Vision-Kameras mit Abwärtskompatibilität zu USB-2.0-Anschlüssen. Die Anbindungsmöglichkeit einer Vielzahl von USB3-Vision-, GigE-Vision- und IP-Kameras sorgt dafür, dass etliche Bildverarbeitungsoptionen direkt für aktuelle CompactRIO-Zielsysteme und für den CompactRIO-Anwender zur Verfügung stehen.
Der Treiber NI-IMAQdx sorgt für einen konsistenten Umgang mit der Software, sodass Programmcode bei wechselnden Anwendungsanforderungen unabhängig vom verwendeten CompactRIO-Zielsystem oder von der Kameraschnittstelle nicht bearbeitet werden muss.
Viele Bildverarbeitungsalgorithmen profitieren von der parallelen Arbeitsweise eines FPGAs und lagern verarbeitungsintensive Bestandteile einer Bildbearbeitungsanwendung aus, sodass der Prozessor andere Aufgaben übernehmen kann. Das Vision Development Module bietet über 50 FPGA-Bildverarbeitungsfunktionen sowie eine Programmierschnittstelle für die Bildübertragung zwischen Prozessor und FPGA. Dadurch kann der FPGA als Coprozessor eingesetzt werden, in dem die verarbeiteten Bilder wieder an den Host oder zur Bildverarbeitung geschickt werden, um mit weiteren Verarbeitungsschritten und I/O auf dem FPGA gekoppelt zu werden. So entsteht eine äußerst leistungsfähige Lösung für Anwendungen wie bildverarbeitungsgestützte Motorsteuerung.
Abb. 3: Schnellere Bildverarbeitung durch Auslagerung auf den FPGA
Anwender können mit dem NI Vision Assistant zügig Prototypen für ihre FPGA-Bildverarbeitungsanwendungen entwickeln. Der Assistent ist Bestandteil des Vision Development Module. Der Vision Assistant ist ein konfigurationsgestütztes Werkzeug für die Prototypenerstellung, mit dem Entwickler Bildverarbeitungsalgorithmen bearbeiten und direkt sehen können, wie sich Änderungen der Parameter auf das Bild auswirken. Wenn die Algorithmenerstellung abgeschlossen ist, kann der Vision Assistant automatisch ein vollständiges LabVIEW-Projekt erzeugen, das das Host-Prozessor-VI, das FPGA-VI und weitere Elemente beinhaltet, z. B. Programmcode für die Übertragung von Bildern zwischen Prozessor und FPGA sowie die entsprechenden FIFOs. Der vom Vision Assistant erzeugte FPGA-Code wurde auch für die parallele Ausführung optimiert und überzeugt so durch gesteigerte Performance.
Empfohlene Hardware: Leistungsoptimierte CompactRIO-Controller
Empfohlener Treiber für die Bilderfassung: NI-IMAQdx als Bestandteil der Vision Acquisition Software ab September 2014
Empfohlene Software für die Bildverarbeitung: NI Vision Development Module