30. August 2024 von Dr. Uwe Pohlmann
Kleine Helfer, große Wirkung
Wie ein maßgeschneidertes OPC UA Tool die Maschinendatenanbindung von Spritzgussmaschinen vereinfacht
In der Welt der Industrie 4.0 und des Industrial Internet of Things (IIoT) spielen Daten eine entscheidende Rolle. Insbesondere Maschinendaten ermöglichen die automatische Erfassung wertvoller Informationen auf dem Shopfloor zur Bestimmung der OEE (Overall Equipment Effectiveness).
Doch manchmal stellen uns scheinbar einfache Aufgaben vor unerwartete Herausforderungen. So erging es mir kürzlich bei der herstellerunabhängigen Maschinenanbindung von Spritzgießmaschinen. Alle Hersteller (zum Beispiel: Kraus Maffei, ENGEL, Arburg und andere) haben sich auf die Standards Euromap 77 und Euromap 83 für die digitalisierte Kunststoffverarbeitung und MES-Anbindung geeinigt und eine gemeinsame OPC UA Companion-Spezifikation veröffentlicht. Doch wie immer steckt der Teufel im Detail: Die von den Maschinen über den OPC UA Server bereitgestellten Daten müssen validiert und mit der Realität abgeglichen werden.
Die Suche nach dem richtigen Werkzeug
Für diese Aufgabe benötigte ich einen zuverlässigen OPC UA Client und Datenlogger. Es stellte sich schnell heraus, dass die vorhandenen Lösungen nicht optimal waren:
- UA Expert, ein kostenloser OPC UA Client, konnte nur Tags vom Typ Double loggen.
- Kommerzielle Tools sind für die Aufgabe überdimensioniert mit eingeschränkten, zeitlich limitierten kostenlosen Versionen.
- Open Source OPC UA Implementierungen und SDKs boten entweder nur rudimentäre Clients oder keine Möglichkeit, die Historie zu persistieren.
- Kommerzielle SDKs erforderten zudem eigene Entwicklungen, um den Anforderungen gerecht zu werden.
Die Lösung: Ein maßgeschneiderter OPC Client auf Basis von Open Source
Der Python FreeOPCUA Client mit grafischer QT-Benutzeroberfläche und der grafische NodeJS OPC UA CLI Commander stellten sich als die vielversprechendsten Lösungen heraus. Aufgrund der GUI habe ich mich dann für die Python-Implementierung als Basistool entschieden, da sie bereits über einen guten Grundumfang an Funktionen verfügt. Allerdings hatte ich noch nie eine QT-Applikation in Python geschrieben.
In dieser Situation wandte ich mich an Claude.ai mit der 3.5 Sonnet Engine, da es damit wirbt, Programmieraufgaben besonders gut zu lösen und eines der aktuellsten und leistungsfähigsten Large Language Models auf dem Markt ist. Das Tool stand ganz oben auf meiner Liste von Tools, die ich evaluieren und für den täglichen Einsatz testen wollte. Das Ergebnis eines halben Tages LLM-unterstützter Programmierung ist ein FreeOPCUA Client Fork mit DuckDB-Anbindung. Dieses Tool ermöglicht es, eine Historie aller Tags, auf die sich der Benutzer in der GUI subskribiert hat, in einer DuckDB-Datenbank zu protokollieren.
![](/adesso-de/adesso-de/news/blog/2024/2024-09-01-kleine-helfer-grosse-wirkung-1_W686xH343_CUTOUT.png)
Vorteile von DuckDB
DuckDB ist eine eingebettete analytische Datenbank, die für diese Anwendung besonders geeignet ist:
- 1. Hohe Performance bei analytischen Abfragen.
- 2. Einfache Integration ohne separate Datenbankinstallation.
- 3. Kolumnare Speicherung für effiziente Datenverarbeitung.
- 4. SQL-Unterstützung für flexible Abfragen.
Das verwendete Datenmodell ist bewusst einfach und flexibel gehalten.
![](/adesso-de/adesso-de/news/blog/2024/2024-09-01-kleine-helfer-grosse-wirkung-2_W686xH343_CUTOUT.png)
Das Datenmodell
Dieses Schema erlaubt es, alle relevanten Informationen zu jedem geloggten Datenpunkt zu speichern, unabhängig vom konkreten OPC UA Datentyp.
![](/adesso-de/adesso-de/news/blog/2024/2024-09-01-kleine-helfer-grosse-wirkung-3_W686xH343_CUTOUT.png)
Praktischer Nutzen und Ausblick
Mit diesem maßgeschneiderten Tool konnte ich nicht nur die EUROMAP 77 und 83 OPC UA Implementierungen der verschiedenen Hersteller erfolgreich validieren, sondern auch die Produktionsprozesse mittels Maschinendatenerfassung herstellerunabhängig über OPC UA detailliert abbilden. Auf Basis dieser Daten konnten die für die OEE-Berechnung notwendigen Variablen identifiziert und validiert werden.
Diese Anbindung bildet nun die Grundlage für die Erfassung und Optimierung der OEE im Manufacturing Execution System (MES) unseres Kunden. Dies ermöglicht uns, die Produktionsprozesse kontinuierlich zu verbessern und die Effizienz zu steigern.
Fazit
Diese Erfahrung zeigt mir, wie LLM die Programmierung deutlich beschleunigt und vereinfacht und wie kleine, maßgeschneiderte Tools große Herausforderungen lösen können. In einer Zeit, in der Industrie 4.0 und komplexe Systeme oft im Vordergrund stehen, sollten wir die Kraft einfacher, zielgerichteter Lösungen nicht unterschätzen. Sie können nicht nur unmittelbare Probleme lösen, sondern auch den Weg für weitergehende Optimierungen und Innovationen ebnen.