LösenAnheftenSchließen
pcc-twincat-vision-analytics-stage

28.08.2023

Vision-Integration für vereinfachtes Engineering und mehr Bildanalyse-Funktionen

Automatische Vision-SPS-Code-Generierung mit TwinCAT Analytics

Bis vor wenigen Jahren waren Vision-Lösungen in Maschinen ausschließlich eigenständige Systeme, welche über Schnittstellen mit der tatsächlichen Maschinensteuerung kommunizierten. Die Programmierung erfolgte eher Code-lastig über die Einbindung von Vision-Bibliotheken oder über spezielle Hardware, in denen komfortabel konfiguriert werden kann. Durch die Integration der Bildverarbeitung in die Maschinensteuerung entfallen mit TwinCAT Vision bereits die Schnittstellen und die Programmierung erfolgt wie gewohnt nach IEC 61131-3. Mit einer Kombination aus TwinCAT Vision und TwinCAT Analytics werden nun beide Ansätze für ein optimales Engineering kombiniert und die Anwendungen durch eine einfache Konfiguration erleichtert.

Pascal Dresselhaus, Produktmanager TwinCAT, Beckhoff Automation
Pascal Dresselhaus, Produktmanager TwinCAT, Beckhoff Automation

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 sehr 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 denkbar einfach und ohne eigene Programmierung nutzen.

Umfangreiche Analytics-Funktionen

TwinCAT Analytics bietet Algorithmen von ganz einfach bis komplex – von einfachen Flankenzählern, Grenzwertüberwachungen und Einhüllenden bis hin zu Spektralanalyse, Korrelationsfunktionen und Unsupervised-Clustering-Verfahren aus dem Bereich des maschinellen Lernens. In Summe mehr als 150 Algorithmen für die Auswertung von Prozessdaten. 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 sehr 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 einfachen Drag-and-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 unglaublicher Zeitvorteil. 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 herunter 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.

TwinCAT Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery
TwinCAT Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery

Vision-Integration mit deutlichen Vorteilen

Da Kamerasysteme immer häufiger klassische Sensorik an der Maschine ersetzen oder auch mehrere Sensoren durch ein einziges Kamerasystem zusammengefasst werden können, ist es ohnehin 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. Was für TwinCAT Vision folglich eine ideale Ergänzung darstellt. 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 ein 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. Allein diese Funktionalität vereinfacht das Engineering deutlich und spart viel Zeit und damit Engineering-Kosten.

Detailliertere Auswertungen per Software-Oszilloskop

Dies ist aber nicht der einzige Aspekt der Vision-Integration in TwinCAT Analytics: Auch andere Standard-Funktionen von TwinCAT Analytics sollen der Bilddatenauswertung zugutekommen. Daher ist ein Drag-and-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.

Spezifisches Fenster für das Finden und Labeln von Konturen in Bildern
Spezifisches Fenster für das Finden und Labeln von Konturen in Bildern

Natürlich haben auch Vision-spezifische Funktionen in TwinCAT Analytics Einzug gehalten. Ziel der kontinuierlichen Produktentwicklung ist eine Oberfläche, die den Anwender mit speziellen Elementen, die an die jeweilige Algorithmik angepasst sind, ideal zu unterstützen. Die Algorithmen sind in Analytics so standardisiert wie nötig und so individuell wie möglich implementiert. 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 dagegen individuelle Zusammenstellungen 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-Funktionen 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.

Kontinuierliche Weiterentwicklung

Die nächsten Entwicklungsschritte beziehen sich neben dem stufenweisen Ausbau der Algorithmik auf die automatische Generierung von Vision Controls für das webbasierte Dashboard. Das Dashboard dient dabei der dauerhaften Darstellung von Bildverarbeitungsergebnissen 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 kombinierten 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.

Weitere Informationen