Automatische Vision-SPS-Code-Generierung mit Twincat Analytics

Vision, SPS & Analytics

Mit der Erweiterung von Twincat Analytics lassen sich Bilder nun auch mit den Twincat-Vision-Funktionen in der Engineeringumgebung komfortabel und umfassend auswerten.
Mit der Erweiterung von Twincat Analytics lassen sich Bilder nun auch mit den Twincat-Vision-Funktionen in der Engineeringumgebung komfortabel und umfassend auswerten.Bild: Beckhoff Automation GmbH & Co. KG

Für sich genommen ist die Aufgabenverteilung der beiden Twincat-Produkte klar: Twincat Vision ist für die Erstellung von Bildverarbeitungsprozessen in der Maschinensteuerung gedacht. Die Konfiguration von Kameras erfolgt in einer grafischen Oberfläche und unterscheidet sich darin nicht von der einer Antriebsachse. Die Bildverarbeitung selbst wird vollständig in der SPS programmiert, wofür eine umfangreiche SPS-Bibliothek zur Verfügung steht. Twincat Analytics bietet hingegen viele verschiedene Algorithmen für die Auswertung von Prozessdaten einer Maschine, wie z.B. hochaufgelöste Schwingungen, Zustandswerte oder Positionen von Antrieben. Der große Unterschied besteht in der Nutzung der Algorithmen. Im Gegensatz zur direkten Arbeit mit SPS-Bibliotheken wird in Twincat Analytics rein grafisch in einem Konfigurationseditor gearbeitet. Die Algorithmen selbst basieren auf den gleichen SPS-Bibliotheken und lassen sich vom Analytics-Anwender nach Abschluss seiner Konfiguration mittels einer automatischen SPS-Code-Generierung in einem neu erstellten SPS-Projekt einfach und ohne eigene Programmierung nutzen.

Bild 3 | Vision-Bild zeitlich synchronisiert mit Prozessdaten im Twincat Scope.
Bild 3 | Vision-Bild zeitlich synchronisiert mit Prozessdaten im Twincat Scope.Bild: Beckhoff Automation GmbH & Co. KG

Zahlreiche Analytics-Funktionen

Twincat Analytics bietet Algorithmen von einfach bis komplex – von einfachen Flankenzählern, Grenzwertüberwachungen und Einhüllenden bis hin zur Spektralanalyse, Korrelationsfunktionen und Unsupervised-Clustering-Verfahren aus dem Bereich des maschinellen Lernens. In Summe stehen mehr als 150 Algorithmen für die Auswertung von Prozessdaten zur Verfügung. Die in Netzwerken organisierten Algorithmen können individuell miteinander zu Ketten verknüpft werden, welche sich als Templates zur Wiederverwendung abspeichern lassen. Viele Anwender nutzen diese Möglichkeit anwendungsbezogen, sodass man in der Algorithmen-Toolbox weitere Rubriken beispielsweise mit Maschinen-Modulen oder mechanischen Komponenten findet. Es können somit u.a. Maschinenmodulnamen wie Modul MH_Milling_Long3c in der Toolbox stehen, um für Servicetechniker gezielte Algorithmik für Teile der unterschiedlichen Maschinentypen zur Verfügung zu stellen. Zusammen mit dem Software-Oszilloskop Twincat Scope können diese Daten nicht nur grafisch einer Verarbeitung übergeben, sondern auch grafisch dargestellt werden – in zeitbasierten Line-Charts, Bar-Charts oder 3D-Charts. Ergebnisse der Algorithmen können samt Zeitstempel in Drag&Drop Aktionen mit dem Charting verknüpft werden. Dadurch lassen sich Ereignisse Maschinenzyklus-genau einsortieren und markieren. Dies gilt für Live-Daten der Maschinen, aber auch für historische Daten, bei denen beispielsweise Logical-Operatoren nach speziellen Zustandsverknüpfungen im Datenstrom suchen. Daraus ergibt sich gerade bei der Suche nach Fehlverhalten ein Zeitvorteil.

Automatische SPS-Code-Generierung

Richtig einfach wird das Engineering jedoch durch die automatische SPS-Code-Generierung. Doch wofür wird diese überhaupt benötigt? Grundsätzlich erlaubt es Twincat Analytics mit der Code-Generierung, die Analyse kontinuierlich in einer SPS-Runtime auszuführen. Dies kann die Maschinensteuerungs-Runtime selbst sein oder diejenige auf einem Remote-Gerät, welches parallel zu den Maschinensteuerungen läuft und somit von der eigentlichen Steuerung entkoppelt ist. Eine solche Entkopplung bietet den Vorteil, dass Analysen unabhängig vom Prozess immer wieder ausgetauscht und aktualisiert werden können. Insbesondere mit stetig steigender Erfahrung im Bereich der Datenanalyse ist dies ein häufiges Szenario. Des Weiteren ist die Verwendung komplexer Algorithmik auf der Maschinensteuerung selbst noch lange nicht Standard. Viele Anwender blicken respektvoll auf die Programmierung mit solchen Algorithmen und auf die Integration in den vorhandenen Steuerungs-Code. Zusätzlich ist es reine Zeitverschwendung, Dinge, die man schon fertig konfiguriert und getestet hat, erneut programmatisch runter tippen zu müssen. Der automatisch generierte Code vermeidet somit Programmierfehler und bringt einen großen Geschwindigkeitsvorteil bei der Entwicklung. Letzteres wird besonders deutlich, wenn die Anwender nicht nur den Analyse-Code, sondern zusätzlich noch ein webbasiertes Dashboard für die Darstellung der Analyse-Ergebnisse automatisch generieren.

Bilddaten-Auswertung in Twincat Analytics

Da Kamerasysteme immer häufiger klassische Sensorik an der Maschine ersetzen, ist es ein logischer Schritt, die Auswertung von Bilddaten in Twincat Analytics zu integrieren. Dazu kommt die Tatsache, dass der Low-Code-Ansatz von Twincat Analytics auch bei vielen spezialisierten Vision-Tools verbreitet ist. Daher liegt es auf der Hand, die große Anzahl an Vision-Algorithmen schrittweise in Twincat Analytics zu integrieren. Der Vorteil ist dabei eindeutig: Für eine Vision-Applikation mit Twincat muss nicht mehr direkt mit der Programmierung gestartet werden. Die benötigten Algorithmen kann man bequem per Konfiguration zusammenstellen und in einem Nicht-Echtzeit-Kontext ablaufen lassen und testen. Gerade während der ersten Evaluierungsphase einer solchen Applikation müssen viele Funktionen und Parameter ausprobiert werden. Ständiges Aktivieren von Echtzeitkonfigurationen und Herunterladen von Code können entfallen. Durch die Unabhängigkeit muss nicht erst ein Maschinenzustand so wiederhergestellt werden, dass neue Ergebnisse mit den vorherigen vergleichbar werden. Was beispielsweise bei End-of-Line-Tests, bei denen eine Ausschusserkennung realisiert werden soll, besonders nützlich ist.

Vorteilhaft ist dabei neben dem Nicht-Echtzeit-Kontext, insbesondere die zusätzliche Möglichkeit, historisierte Bild-Rohdaten immer wieder für die Optimierung der Auswertung und Parameter nutzen zu können. Die Ausgangsbilder an den Modulen der Algorithmen, wie z.B. Color- oder Median-Filter, können auf Eingänge weiterer Vision-Algorithmen wie Detect Blobs oder Read QR Code verknüpft werden. Hat man die ideale Einstellung für ein oder mehrere Kamerasysteme gefunden, kann auf Knopfdruck der benötigte Echtzeit-SPS-Code basierend auf der Twincat-Vision-Bibliothek erzeugt und auf die Steuerung heruntergeladen werden. Der erzeugte SPS-Code ist transparent lesbar und objektorientiert aufgebaut. Die Strukturierung ist in Anlehnung an die zuvor konfigurierten Netzwerke realisiert, sodass man sich direkt auch in dem generierten Code zurechtfinden kann. Im Idealfall ist die Applikation damit fertig, aber auch spezifische Änderungen können jederzeit vorgenommen werden. Ein späteres Code-Compare und Merge sind möglich. Besonders vorteilhaft ist außerdem, dass die ausführliche Dokumentation der Twincat-Vision-Bibliothek genutzt werden kann, um den Vision-spezifischen Teil des generierten Codes zu verstehen.

Auswertungen per Software-Oszilloskop

Dies ist aber nicht der einzige Aspekt der Vision-Integration in Twincat Analytics: Auch andere Standard-Funktionen von Twincat Analytics Standard-Funktionen sollen der Bilddatenauswertung zugutekommen. Daher ist ein Drag&Drop von Bilddaten in das Twincat Scope genauso wie bei den Prozessdaten möglich. Das Ausgangsbild eines Vision-Algorithmus wird dabei in das Scope gezogen sowie direkt in einem Cam-Chart einzeln visualisiert. Bei Bedarf kann das Bild per Maus in eines der Prozessdaten-Charts gezogen werden. Danach liegt es im Hintergrund des Charts, ein Marker mit farblicher Kennzeichnung sorgt für die Zuordnung von Prozessdatum und Bild auf der Zeitachse.

Natürlich haben auch Vision-spezifische Funktionen in Twincat Analytics Einzug gehalten. Ziel der Produktentwicklung ist eine Oberfläche, die den Anwender mit speziellen Elementen, die an die jeweilige Algorithmik angepasst sind, ideal zu unterstützen. Daher werden intuitiv bedienbare Elemente umgesetzt, die beispielsweise für ein einfaches Abspeichern von gefundenen Konturen sorgen, welche später für einen Konturabgleich wieder geladen werden müssen. Andere Funktionen wie das Tool-Window für den Module Watcher sind für alle Algorithmen generalisiert. Je nach markiertem Bildverarbeitungsmodul zeigt der Watcher Eingangs- und Ausgangsbild direkt an. Die Image Gallery erlaubt eine individuelle Zusammenstellung von mehreren Eingangs- und Ausgangsbildern verschiedener Algorithmen. Dabei können Bilder aus einem Stream oder Einzelbilder von der Festplatte geladen und gepinnt werden, wodurch diese sich mit aktuellen Bildern vergleichen lassen. In der Gallery sind zudem einige Standard-Funktion wie Color-Picker, Pixel-Vermessung, Pixel-Position und Kontrast-Einstellungen möglich. Es können jedem Bild zusätzliche Shapes und Beschriftungen hinzugefügt werden. Ein so bearbeitetes Bild steht für einen Export in verschiedene Bildformate zur Verfügung.

Ausblick

Die nächsten Entwicklungsschritte beziehen sich neben dem stufenweisen Ausbau der Algorithmik auf die automatische Generierung von Vision Controls für das webbasierte Dashboard. Dieses dient der dauerhaften Darstellung von Visionergebnissen für unterschiedliche Nutzerrollen, welche im Analytics-Engineering definierbar sind. Aufgrund des plattformunabhängigen HTML-5-Dashboard profitieren nicht nur Experten wie Entwickler, Applikateure, Inbetriebnehmer und Servicetechniker von der kombinierte Twincat-Analytics-Vision-Lösung, sondern auch Maschinenbediener sowie Produktions- und Betriebsleiter. Letztere können die wichtigsten Produktionsdaten bei Bedarf ortsunabhängig und jederzeit über mobile Endgeräte aufrufen.


  • Exporte im März gestiegen

    Im März sind die deutschen Exporte gegenüber Februar kalender- und saisonbereinigt um 0,9% gestiegen.


  • Krones verschärft Nachhaltigkeitsziele

    Nach einem Beschluss des Gesamtvorstands hat sich Krones zum Ziel gesetzt, bis 2040 seine Treibhausgasemissionen entlang der gesamten Wertschöpfungskette auf Netto-Null zu…