QASS Open Source

Wir bei QASS stellen unsere eigenen Messgeräte inklusive Sensorik her und programmieren auf Basis der Daten, die diese Hardware produziert, Anwendungen für den Einsatz in verschiedensten Industrieprozessen oder spezielle Lösungen für die Anforderungen unserer Kunden. Diese enge Verzahnung zwischen Hardware und Software erlaubt es uns, beides so aufeinander abzustimmen, das wir sehr viel Kontrolle und Einblick in die Datenerhebung, sowie Datenverarbeitung haben. Aus diesem Grund haben wir Programmier-Werkzeuge entwickelt, die wir zu diesem Zweck einsetzen. Wir probieren gerne neue Dinge und Ansätze aus, um zu schauen was mit den neuesten Erkenntnissen und unseren Daten möglich ist. 
Uns ist aber sehr bewusst, dass wir mit diesem Wunsch nicht alleine sind. Deshalb haben wir die Werkzeuge zur Arbeit mit unseren Daten unter eine LESSER GNU GENERAL PUBLIC LICENSE gestellt. Dies ermöglicht jedem den Zugang zu unseren Daten und erlaubt einen Einstieg in die Datenverarbeitung mit Python.

Daten-Pipeline

Aufnahme
Remote-Steuerung des Analyzer4D

Mit unserem Networking Paket, kann die Analyzer4D Software aus einem anderen Programm heraus gesteuert werden. Messungen können gestartet und Parameter ausgelesen werden.

Indizierung
Indizierung der Messdaten

Da während einer Messung verschiedenste Formate gleichzeitig aufgenommen werden können, kann mit unserem Analyzer Paket ein Index erstellt werden, mit dem sich die unterschiedlichen Datenformate filtern lassen.

Verarbeitung
Lesen der Messdaten

In unserem Analyzer Paket befinden sich Werkzeuge, um unsere Dateien mit nur zwei Zeilen Python Code einzulesen.

Logik
Hier kommt deine Lösung

Nun ist es an dir, mit den vorhandenen Daten spannende neue Ansätze auszuprobieren und zu testen. Knüpfe einfach an die Ausgabe unserer Pakete an und entwickle deine eigenen Tools!

Remote Steuerung

Die Analyzer4D Software kommt mit einer Netzwerkschnittstelle, durch die sich der beispielsweise der Messablauf steuern lässt. Messungen können gestartet und gestoppt werden, es können Parameter in den Einstellungen gesetzt werden oder Anwendungsvariablen in der Software gesetzt werden. 

Dadurch kann durch ein neben dem Analyzer4D stehendes Programm der Programmablauf während einer Messung beeinflusst werden, falls im Operatorennetz ein Programmteil auf diese Variablen zugreift. Dies ist besonders praktisch, um Metadaten wie die Bauteilnummer auszutauschen, um ein Bauteil direkt mit einer Messung zu korrelieren und in der Datenbank abzulegen.

Indizierung

Nach einer erfolgreichen Messreihe findet man sich normalerweise in der schönen Lage wieder, das nun mehrere Terabytes an Messdaten vorhanden sind. Jedoch lässt sich nicht einfach ablesen, welche Messdaten zu welcher Prozessnummer gehören oder welche Messdaten welche Komprimierung aufweisen. Hierfür haben wir den BufferMetadataCache erstellt. 

Dieser Cache synchronisiert eine Datenbank mit einem Verzeichnis und erlaubt es, die Messdaten schnell anhand ihrer Metadaten zu identifizieren. Hier können bestimmte Kanäle oder Prozessnummern gefiltert werden, um schnell die richtigen Daten in der Hand zu haben. Der Cache lässt sich sowohl von einer Datenbank als auch aus Python heraus verwenden.

Messdaten einlesen

Wir nutzen ein eigenes Dateiformat, welches sich aus den Metadaten der Messeinstellungen und den Messdaten zusammensetzt. Dieses Format ist ohne die Spezifikation zu kennen nur sehr schwer einzulesen, weshalb wir die Buffer Klasse erstellt haben, um unsere Daten in typischer Python manier in nur zwei Zeilen Code einlesen können:

Dokumentation

Wir wissen sehr gut wie frustrierend es sein kann, mit Werkzeugen zu arbeiten, bei denen nur der Senior-Entwickler mit 20 Jahren Erfahrung im Unternehmen noch weiß, wie sie genau funktionieren. Deshalb dokumentieren wir unsere Open Source Bibliotheken mit Sphinx. Dies ermöglicht eine komplette Dokumentation des Quellcodes mit Funktionssignaturen und Beispielen, welche wir noch durch explizite Beispiele außerhalb vom Quellcode ergänzen können. Aus diesen Kommentaren im Quellcode erstellen wir automatisiert Websites oder wahlweise auch PDF Dokumente mit der vollständigen Dokumentation der jeweiligen Interfaces mit Beispielen.

Lust auf mehr? Erweitere dein Wissen in unserem E-Learning Bereich.

Jetzt anmelden und loslegen!