Es ist ein noch junges Thema, entsprechend neu ist auch die Abteilung für Maschinelles Lernen bei Beckhoff. Bereits auf der Hannover Messe 2019 präsentierte das Unternehmen die erste konkrete Applikation: Zu sehen waren zwei lineare Transportsysteme XTS. Ein „klassisch“ gesteuertes, und eines ausgestattet mit TwinCAT Machine Learning. Die Mover beider Systeme wurden auf das gleiche, mittig platzierte Förderband aufsynchronisiert. „Während die einzelnen Mover des auf der rechten Seite angeordneten , konventionell gesteuerten XTS stark beschleunigten und dann wieder abbremsten, wies das linke System basierend auf einem trainierten neuronalen Netz deutlich sanftere Bewegungsabläufe auf. „Das linke System spart zum einen kurzfristig Energie, zum anderen mittel- und langfristig Ersatzteile, da der Verschleiß deutlich geringer ausfällt“, erklärt Dr. Klaus Neumann, Software-Entwicklung Maschinelles Lernen bei Beckhoff. Maschinenbauer erhalten also eine Grundlage zur Steigerung der Maschinenperformance, beispielsweise durch Predictive Maintenance, Selbstoptimierung von Prozessabläufen oder eigenständige Erkennung von Prozessanomalien.
Machine Learning für performante Lösungen
Die Grundidee des Maschinellen Lernens besteht darin, Lösungen für bestimmte Aufgaben nicht mehr durch klassisches Engineering zu erarbeiten und in einen Algorithmus zu überführen. Vielmehr soll der gewünschte Algorithmus anhand von beispielhaften Prozessdaten erlernt werden. Auf diese Weise lassen sich leistungsfähige Modelle trainieren und damit bessere, beziehungsweise performantere Lösungen erzielen.
Das Anlernen von solchen neuronalen Netzen ist auch bei hoher Rechenleistung oft ein sehr zeitintensives Unterfangen. So müssen Schachcomputer oft Millionen von Partien verarbeiten, bevor sie in der Lage sind, es mit einem menschlichen Gegenspieler aufzunehmen. Dass es dennoch bereits nach so kurzer Trainingszeit bei Beckhoff konkrete Ergebnisse gibt liegt daran, dass die klar definierte Anwendung wie im Fall des linearen Transportsystems einen „niedriger dimensionalen Raum erzeugt“, wie es Neumann erklärt. Hierdurch lassen sich dann vergleichsweise schnell die gewünschten Ergebnisse erzielen.
Das jeweilige Modell wird innerhalb eines der gängigen ML-Frameworks, beispielsweise Matlab oder Tensorflow, trainiert und anschließend über das standardisierte Austauschformat ONNX (Open Neural Network Exchange) zur Beschreibung von trainierten Modellen in die TwinCAT-Runtime importiert. Diese bietet dafür folgende neue Funktionen:
– TwinCAT 3 Machine Learning Inference Engine: für klassische ML-Algorithmen wie Support Vector Machine und Principal Component Analysis
– TwinCAT 3 Neural Network Inference Engine: für Deep Learning und Neuronale Netze wie Multilayer Perceptrons und Convolutional Neural Networks.
Modellergebnisse direkt in der Echtzeitumgebung nutzbar
Die Inferenz, das heißt die Ausführung eines trainierten ML-Modells, ist als TwinCAT-TcCOM-Objekt direkt in Echtzeit möglich, und zwar bei kleinen Netzen mit einer Reaktionszeit des Systems von unter 100 μs (TwinCAT-Zykluszeit 50 μs). Aufrufbar sind die Modelle sowohl über die PLC, C/C++-TcCOM-Interfaces als auch über eine zyklische Task.
Durch die nahtlose Integration in die Steuerungstechnik steht die Multicore-Unterstützung von TwinCAT auch für das Maschinelle Lernen offen. So kann aus unterschiedlichen Task-Kontexten auf die jeweilige TwinCAT-3-Inference-Engine zugegriffen werden, ohne dass sich dies gegenseitig begrenzend auswirkt. Weiterhin ist der volle Zugriff auf alle Feldbusschnittstellen und Daten in TwinCAT gegeben. Damit lässt sich für die ML-Lösung einerseits eine immense Datenfülle beispielsweise für komplexe Sensordatenfusion (Datenverknüpfung) nutzen. Andererseits stehen echtzeitfähige Schnittstellen zu Aktoren unter anderem für Optimal Control zur Verfügung.