
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: In der Intralogistik ist die Maximierung der Lagerkapazität entscheidend. Kompakte Sensoren spielen dabei eine Schlüsselrolle: Höchste Leistung in kompakter Bauform schafft mehr Platz für die Ware, denn die Technik macht sich klein. ‣ weiterlesen
Intralogistik: Neue Baumer ToF-Sensoren machen sich klein
- 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: Digitale Souveränität in der Automation: Fraunhofer IOSB-INA entwickelt einen KI-Assistenten für die SPS-Programmierung. ‣ weiterlesen
Automatisierung neu gedacht
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.



















