Software Robot - App zur automatischen Qualitätssicherung von Kryoaggregaten

Aufgabe

Unser Kunde produziert Kryoaggregate für den Einsatz in industriellen Anwendungen. Bevor die Aggregate das Werk verlassen, müssen die Aggregate einem Funktions- und Performancetest unterzogen werden. Diese beiden Schritte dienen der Qualitätssicherung und sollen vollautomatisch abgefahren werden. Hierzu benötigt unser Kunde eine passende Software, die zusätzlich zur vollautomatischen Prüfung auch einen Prüfbericht (als PDF) mit Prüfergebnis erstellt.

Zur Vorgehensweise: Die Prüfsoftware kommuniziert mit dem Steuerungssystem des Kryoaggregates und fährt dieses in bestimmte Betriebszustände. Parallel dazu liest die Prüfsoftware die Prozessdaten (Messwerte / Sensorwerte) zurück und prüft anhand von vorher festgelegten Kriterien, ob sich die Prozess-Ist-Werte innerhalb der Prozess-Soll-Werte (sog. Hüllkurven) befinden.

Die Prozessdaten sollen während der Prüfprozedur in Echtzeit visualisiert und persistent gespeichert werden, damit nach der Prüfung automatisch ein Prüfprotokoll erstellt werden kann. Dieses Protokoll beinhaltet neben dem Prüfergebnis auch Ausschnitte der Prozessdaten als Liniendiagramm. Alle durchgeführten Prüfungen müssen archiviert werden, um ggf. zu einem späteren Zeitpunkt auf Ergebnisse und Details zurückgreifen zu können.

Als Hardwarebasis steht eine Workstation (x86_64 Architektur) mit Windows 11 Pro zur Verfügung, da unser Kunde hauptsächlich Windows PCs einsetzt.

Technologiebasis und GUI Framework

Wir haben uns bei der Umsetzung für eine App auf Basis von Python entschieden, da Python prädestiniert für die Arbeit mit großen Datenmengen ist. Hinzu kommt, dass es für Python eine Vielzahl von Bibliotheken gibt, welche die Kommunikation mit zusätzlicher Hardware komfortabel ermöglicht. Als GUI nutzen wir tkinter, da das Framework mit entsprechenden Themes auch auf Windows gutaussehende Ergebnisse liefert.

Kommunikation mit den Kryoaggregaten

Bei der Kommunikation mit den Kryoaggregaten kommt ModbusTCP zum Einsatz. ModbusTCP ist in der Steuerung der Kryoaggregate standardmäßig aktiviert und kann mit der Python-Bibliothek pyModbusTCP komfortabel genutzt werden.

Interne Datenhaltung sowie Prüf-, Prozess- und Messdaten

Die Visualisierung der Messdaten, sowohl in Echtzeit als auch für den anschließenden Prüfbericht, erfolgt mit Matplotlib. Jeder gemessene Wert wird zudem persistent in einer Timeseries Datenbank gespeichert. Hier haben wir uns für PostgreSQL als lokale Installation auf der Workstation entscheiden.

Auswertung und Prüfbericht

Jeder Prüfbericht enthält einen Auszug der visualisierten Messdaten als Liniendiagramm. Der Prüfbericht wird im Anschluss als PDF Datei exportiert, dazu nutzen wir die Bibliothek reportlab (Open Source Version).

Rollout, Deploy & Codesigning

Um die App am Ende auf den Workstations auszurollen und zu nutzen, wurde die Binary (.exe) mit pyinstaller erstellt und mit SignTool (im Windows 10 SDK integriert) signiert. Wir verfügen über unsere eigenen Codesigning Zertifikate für alle nennenswerte Betriebssysteme.

Backup

In die Anwendung wurde ein lokales Backup/Restore-Feature integriert, welches den lokalen Datenbestand exportieren kann. Dies wird dann relevant, wenn die Workstation z.B. aufgrund eines Hardwaredefekts getauscht werden müsste.

Zusammenfassung Tech Stack

  • Betriebssystem: Windows 11 Pro
  • App und GUI: Python, tkinter
  • Prozessdatenvisualisierung: Matplotlib
  • Datenbank (für Timeseries Daten): PostgreSQL
  • Kommunikation mit Steuerungshardware: pyModbusTCP
  • PDF Dokumente: reportlab

Aufgrund von NDAs mit unserem Kunden / Auftraggeber können wir leider keine Screenshots zeigen oder detailliertere Einblicke in das Projekt geben.

Hast du generelle Fragen zu unseren Projekten? Kontaktiere uns per E-Mail unter hello@parallelogon-software.com und lass uns über dein Projekt sprechen.