Konsequente Unterstützung des GenICam Standards

Die Simplon Software Developer Suite war von Begin an konzipiert, zu den aktuellen Bildverarbeitungs-Standards, insbesondere zu GenICam, kompatibel zu sein.

Das Simplon API kapselt den Zugriff auf individuelle GenICam-Komponenten in einem einheitlichen und stabilen Interface. Es ist nicht nötig, die komplexen Prinzipien hinter dem GenICam Standard zu verstehen - diese werden "unter der Haube" behandelt, und dem Benutzer in einem einfachen und leicht zu verstehenden API präsentiert. Egal ob man eine CheckSight, eine PicSight, oder eine Kamera eines anderen Herstellers anschließt - das Programmierinterface bleibt immer das selbe.

Simplon emittelt automatisch die im System verfügbaren Kameras und stellt grundlegende Informationen über sie zur Verfügung. Nachdem eine oder mehrere Kameras verbunden wurden holt es automatisch die Feature-Trees der Kamera(s): alle Konfigurationsfunktionen der Kameras und deren Abhängigkeiten. Die Datentypen, Beschränkungen und andere Eigenschaften werden automatisch berücksichtigt und falls nötig umgewandelt. Simplon kann den Nutzer benachrichtigen, wann immer sich die Werte eines Funktionsparameters ändern.

In jedem Fall versucht Simplon ein natürliches Standardverhalten zu zeigen, und dem Programmierer so eine schnelle Entwicklung von Protoypen zu ermöglichen, ohne sich Gedanken über mögliche Komplexitäten zu machen. Simplon bietet Zugriff auf sämtliche Details der Kamera-Steuerung, wo dies gewünscht wird. Der Programmierer entscheidet, wieviel Kontrolle zu seiner Anwendung passt.

Simplon nutzt die Vorteile des GenICam SFNC (Standard Features Naming Convention) Standards. SFNC definiert Standard-Namen, -Typen und andere Eigenschaften für viele, verbreitete Kamera-Features. Wenn Sie also mit einer SFNC-kompatiblen Kamera arbeiten, kann Simplon deren Funktionen automatisch verstehen. (Alle Kameras von Leutron Vision sind strikt SFNC-kompatibel).

GenTL Producer

Simplon hat eine mehrschichtige Architektur mit sauberer Trennung der Hardware-Steuerungs-Komponenten (Simplon GenTL Producer) und des User-Interface (Simplon API). Diese beiden Schichten kommunizieren über das GeinICam-GenTL-Inteface.

Dieses moderne und offen Design garantiert Interoperabilität mit einer großen Auswahl von Bildverarbeitungsbibliotheken und Kameras.

Die Low-Level-Schicht ist ein vollständiger GenTL-Producer. Dadurch können sich PicSight und CheckSight Kameras automatisch (plug & play) mit jeder GenTL-kompatiblen Software-Bibliothek verbinden. Momentan gehören Halcon, ActivVisionTools und Common Vision Blox dazu. Weitere Hersteller planen die GenTL-Unterstützung in naher Zukunft.

Leutron Vision ist eine der treibenden Kräfte hinter dem Erfolg des GenTL-Standards.

GenTL

GenTL Consumer

Die höhere Simplon-Schicht ist ein vollständiger GenTL-Consumer, der mit jeder GenTL-kompatiblen Hardware arbeitet. Simplon beschränkt den Zugriff auf Kameras von anderen Herstellern nicht, und versucht stets deren vollständigen Funktionsumfang zu nutzen. Dadurch eignet sich Simplon für Anwendungen in denen mehrere Kameras von verschiedenen Herstellern verwendet werden müssen.

Der Grad der Kompatibilität verringert sich allerdings wenn eine Kamera den GenICam Standard nur unzureichend implementiert.

GigE Vision kompatible Bibliothek

Simplon ist ofiziell als GigE Vision kompatible Software zertifiziert. Die Kamera-Steuerungskomponente des Simplon GenTL Producers ist vollständig generisch, und kann dadurch als Schnittstelle für jede GigE Vision kompatible Kamera dienen. Dabei können auch fortgeschrittene Funktionen wie Chunk-Data oder Event-Data genutzt werden, sofern die Kamera dies unterstützt.

Simplon beinhaltet einen Filtertreiber um den Prozessor bei der Bildaufnahme zu entlasten. Wenn Bilddaten über den normalen Netzwerkstack des Betriebssystems verarbeitet werden, benötigt das relativ viel Prozessorzeit. Der Filtertreiber schaltet sich direkt in den Betriebssystemkern und fängt Bilddaten-Verkehr ab. Bevor dieser den Netzwerkstack erreicht liefert der Filtertreiber die Daten direkt zum Anwendungs-Puffer . Dadurch wird der Overhead der Netzwerkverarbeitung auf ein Minimum reduziert und es steht mehr Rechenleistung für die eigentliche Anwendung zur Verfügung. Alle anderen Daten (Nicht-Bild-Daten) bleiben erhalten. Der Filtertreiber beeinträchtigt die normale Netzwerkkomunikation nicht.