Machine Learning in Echtzeit Software-Lösung für Machine Learning in der Automatisierung

Mit TwinCAT 3 stehen die neuen Möglichkeiten von Machine Learning und Deep Learning in der gewohnten Steuerungswelt zur Verfügung.
Mit TwinCAT 3 stehen die neuen Möglichkeiten von Machine Learning und Deep Learning in der gewohnten Steuerungswelt zur Verfügung.

Beckhoff Automation hat eine in die Automatisierungs-Software TwinCAT 3 nahtlos integrierte Lösung für Machine Learning (ML) vorgestellt. Sie realisiert Machine Learning in Echtzeit und eignet sich somit auch für Motion Control.

Grundidee von Machine Learning ist, 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 beispielhafter Prozessdaten erlernt werden. Auf diese Weise lassen sich Modelle trainieren und damit bessere oder leistungsfähigere Lösungen erzielen. Für die Automatisierungstechnik erschließt dies neue Möglichkeiten und Optimierungspotenziale etwa in puncto Predictive Maintenance, Selbstoptimierung von Prozessabläufen oder eigenständige Erkennung von Prozessanomalien.

Das jeweilige Modell wird innerhalb eines der gängigen Machine-Learning-Frameworks, etwa Matlab oder TensorFlow, trainiert und anschließend über das standardisierte Austauschformat ONNX (Open Neural Network Exchange) zur Beschreibung trainierter Modelle in die TwinCAT-Runtime importiert. Diese bietet dafür folgende neue Funktionen:

– TwinCAT 3 Machine Learning Inference Engine: für klassische Machine-Learning-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

Die Inferenz, also die Ausführung eines trainierten Machine-Learning-Modells, ist als TcCOM-Objekt (TwinCAT Component Object Model) 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 über die SPS, über C/C++-TcCOM-Interfaces und über eine zyklische Task.

Durch die nahtlose Integration in die Steuerungstechnik steht die Multicore-Unterstützung von TwinCAT auch für Machine Learning offen. So kann aus unterschiedlichen Task-Kontexten auf die jeweilige TwinCAT 3 Inference Engine zugegriffen werden, ohne dass sich dies gegenseitig begrenzend auswirkt. Außerdem ist der volle Zugriff auf alle Feldbusschnittstellen und Daten in TwinCAT gegeben. Damit lässt sich für die Machine-Learning-Lösung einerseits eine große Datenfülle etwa für komplexe Sensordatenfusion (Datenverknüpfung) nutzen. Andererseits stehen echtzeitfähige Schnittstellen zu Aktoren unter anderem für Optimal Control zur Verfügung.