
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.

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: