Automatische Vision-SPS-Code-Generierung mit Twincat Analytics

Bild 2 | Twincat Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery.
Bild 2 | Twincat Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery.
Bild 2 | Twincat Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery.
Bild 2 | Twincat Analytics Editor mit Vision-Algorithmen, Module Watcher und Image Gallery.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.

Bild: Beckhoff Automation GmbH & Co. KG

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.

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

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.

Veröffentlicht am
Kategorisiert in inVISION

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert