KI trifft SPS

 KI-gestützte Qualitätskontrolle: Ein intelligentes Modell prüft Sechskantmuttern auf Mängel und stellt so eine gleichbleibend hohe Produktqualität sicher.
KI-gestützte Qualitätskontrolle: Ein intelligentes Modell prüft Sechskantmuttern auf Mängel und stellt so eine gleichbleibend hohe Produktqualität sicher. Bild: MathWorks GmbH

Dieser gemeinsam entwickelte Ansatz kombiniert Matlab-Tools mit Beckhoff-Produkten und ermöglicht so ein Low-Code-Design sowie effizientes Training von KI-Modellen. Ein anschauliches Beispiel ist die automatisierte Qualitätskontrolle von Sechskantmuttern. Der Workflow ist jedoch flexibel und lässt sich auf komplexere Anwendungen übertragen, was die Entwicklungs- und Implementierungszeiten verkürzt.

Schrittweise zum KI-Modell

Der von Beckhoff und Mathworks entwickelte Workflow gliedert sich in drei zentrale Schritte:

1) Entwicklung, Training und Optimierung eines Deep-Learning-Modells – Das Modell wird in Matlab mit der Deep Learning Toolbox entworfen und trainiert. Alternativ lassen sich Modelle aus Frameworks wie PyTorch oder TensorFlow importieren.

2) Erstellung eines kompilierten Twincat-Objekts – Mithilfe von Matlab Coder und Twincat Target for Matlab wird aus dem trainierten Modell ein Twincat-Objekt generiert. Dieses kann neben dem Deep-Learning-Modell auch Pre- und Postprocessing-Code enthalten.

3) Instanziierung und Nutzung im Twincat 3 Engineering – Das erstellte Twincat-Objekt wird in Twincat 3 Engineering eingebunden und kann mit anderen SPS-Funktionen kombiniert werden. Die Anwendung läuft dann in Echtzeit direkt auf der Maschinensteuerung.

Ergänzend umfasst der Demonstrations-Workflow:

  • Regelungsalgorithmus-Design in Simulink und Stateflow – Aus dem Regelungsmodell wird mit Simulink Coder und Twincat 3 Target for Simulink ein Twincat-Objekt erzeugt.
  • Entwicklung einer HMI mit Matlab App Designer – Die Schnittstelle nutzt Twincat 3 Interface for Matlab und Simulink für den Datenaustausch zwischen Matlab und der Twincat-Laufzeitumgebung.
 Systemintegration eines Deep Learning-Modells mit Twincat Vision.
Systemintegration eines Deep Learning-Modells mit Twincat Vision.Bild: MathWorks GmbH

Transfer Learning mit vortrainierten Netzwerken

Nach der Datenerfassung und -aufbereitung erfolgt das Training des Deep-Learning-Modells. Matlab und die Deep Learning Toolbox bieten verschiedene Ansätze:

  • Training eines Netzwerks von Grund auf mit dem Deep Network Designer
  • Definition als Matlab-Funktion mit benutzerdefinierter Trainingsschleife
  • Transfer Learning, also das erneute Training eines vortrainierten Modells mit eigenen Daten

Für Anwendungen mit wenig fehlerhaften Daten sind auch spezialisierte Anomalieerkennungsverfahren wie FCDD und PatchCore verfügbar. In der Beispielanwendung zur Sechskantmutter-Inspektion setzte das Beckhoff-Team auf Transfer Learning und trainierte vortrainierte Resnet-18- und SqueezeNet-Netzwerke, um Bilder von Sechskantmuttern zu klassifizieren.

Obwohl ResNet-18 eine hohe Genauigkeit bot, war es deutlich größer und langsamer als SqueezeNet. Für die Anforderungen der SPS – ein Zeitbudget von 300ms pro Zyklus – erwies sich SqueezeNet als die bessere Wahl. Durch gezieltes Pruning der Faltungsschichten wurde das Netzwerk weiter beschleunigt, bei nur geringem Genauigkeitsverlust. Die Möglichkeit, verschiedene Netzarchitekturen und Komprimierungsoptionen schnell zu evaluieren, ist ein klarer Vorteil für Entwicklungsteams, die zwischen Genauigkeit, Geschwindigkeit und Ressourcenbedarf abwägen müssen.

Vom Matlab-Modell zum Twincat-Objekt

Das Erstellen eines Twincat-Objekts aus einer Matlab-Funktion, die ein Deep-Learning-Modell aufruft, erfolgt in zwei Schritten:

Zuerst wird mit Matlab Coder C/C++-Code generiert, anschließend mit Twincat Target for Matlab ein Twincat-Objekt kompiliert. Dieser Prozess lässt sich durch Skripte automatisieren, sodass bei Änderungen am Modell schnell aktualisierte Twincat-Objekte erzeugt werden können.

Alternativ kann das Deep-Learning-Netzwerk als ONNX-Datei exportiert und direkt in Twincat 3 geladen werden. Dort übernimmt eine Inferenz-Engine (Twincat Machine Learning Server) die Ausführung – bei Bedarf sogar auf einer GPU. Der Matlab-basierte Workflow bietet jedoch den Vorteil, dass zusätzlich Pre- und Postprocessing-Funktionen eingebunden werden können.

Nach der Kompilierung wird das Twincat-Objekt wie jedes andere Objekt im Twincat Engineering eingesetzt. Ingenieure können das Deep-Learning-Modell in SPS-Code (z.B. Strukturierten Text) integrieren. Im Beispiel von Beckhoff wurde das Objekt so programmiert, dass es ein Kamerabild verarbeitet und die Klassifikation („in Ordnung“ oder „defekt“) samt Zuverlässigkeitswert ausgibt.

Bewegungssteuerung und HMI-Design

Für die Qualitätskontrolle musste das Team zudem einen Servomotor regeln, um Sechskantmuttern im Kamerasichtfeld zu positionieren. Statt den Regler direkt in Twincat zu programmieren, nutzten die Ingenieure Model-Based Design in Simulink und Stateflow. Nach erfolgreicher Simulation wurde der Code mit Simulink Coder und Twincat 3 Target for Simulink in ein Twincat-Objekt überführt und in Twincat Engineering integriert.

Für die Bedienoberfläche (HMI) kam der Matlab App Designer zum Einsatz. Die HMI ermöglicht die Steuerung der Mutternbewegung, zeigt die aktuelle Position und die Klassifikationsergebnisse mit Wahrscheinlichkeitswerten an und überwacht Benchmarks wie die Ausführungszeit des Klassifikators. Der Datenaustausch zwischen HMI und SPS-Laufzeit erfolgt über das ADS-Protokoll.

Ausblick und Erweiterungsmöglichkeiten

Ein großer Vorteil des Workflows ist die schnelle Iteration: Teams können gezielt Kompromisse zwischen Modellgenauigkeit, Netzwerkgröße und Ausführungszeit bewerten. Bei Bedarf lassen sich Netzwerke weiter optimieren oder leistungsfähigere Steuerungen einsetzen. Der Workflow ist flexibel erweiterbar, etwa um das Klassifikationsergebnis direkt für Regelungsentscheidungen zu nutzen. So lässt sich der Weg zu einer noch intelligenteren, reaktiveren und effizienteren Fertigung ebnen – und das mit Werkzeugen, die Ingenieuren und Technikern eine praxisnahe, schnelle Umsetzung ermöglichen.