Übersicht
Einführung
Der TwinCAT Machine Learning Server ermöglicht die Ausführung von KI-Modellen direkt auf dem Steuerungs-IPC oder auf einem Edge-Gerät.
Der TwinCAT Machine Learning Server besteht aus zwei Komponenten:
- Dem SPS-Funktionsbaustein als Client des Machine Learning Servers.
- Dem Machine Learning Server als Bereitsteller von Diensten (Laden, Ausführen, … von KI-Modellen).
Diese Komponenten bieten eine asynchrone Ausführungsfunktionalität für SPS-Programme. Das Konzept der asynchronen Berechnung entkoppelt die KI-Modell-Ausführungszeit effektiv vom zyklischen Betrieb der SPS. Der Machine Learning Server ermöglicht die Ausführung beliebig komplexer KI-Modelle sowohl auf CPUs als auch auf NVIDIA GPUs und ist damit insbesondere für die Verwendung mit dem Industrie-PC C6043 geeignet. Der Machine Learning Server wird im Usermode des Betriebssystems ausgeführt. Das führt zu nicht-deterministischem Verhalten, das nur teilweise durch entsprechende Konfiguration der Usermode-Komponenten gemindert werden kann.
Der TwinCAT Machine Learning Server lädt als ONNX-Datei bereitgestellte KI-Modelle. Alle relevanten KI-Frameworks, wie Tensor Flow, Pytorch, Scikit Learn usw. unterstützen diesen Interoperabilitätsstandard. Daraus resultiert eine Entkopplung der Trainingsumgebung und der Ausführungsumgebung. Es können beliebige Trainingsumgebungen genutzt werden, um KI-Modelle zu erstellen und diese können dann mit dem TwinCAT Machine Learning Server zur Ausführung gebracht werden.
Zielgruppen und Anwendungsfälle
Der Machine Learning Server richtet sich unter anderem an die folgenden Anwendungsfälle:
- Einsatz von rechenintensiven KI-Modellen, bei denen die erwartete Rechenzeitreduktion durch Beschleunigung auf einer GPU die zu erwartenden Rechenzeitschwankungen (Jitter) überkompensiert.
- Insbesondere sind hier beispielhaft Vision-KI-Modelle zu nennen für Bildklassifikation, Objekterkennung oder Segmentierung.
- Einsatz von KI-Modellen in niederpriorisierten Tasks, die nur lose mit dem deterministischen SPS-Programm gekoppelt sind.
- KI-Modelle, deren Ergebnisse nicht von der Steuerung weiterverwendet werden, sondern an Systeme oberhalb der Steuerungsebene kommuniziert werden. Zum Beispiel Prozessanalyse-Modelle, bei denen der Maschinenführer informiert wird, Prädiktive Maintenance-Modelle, bei denen das Service Personal informiert wird, usw.
- KI-Modelle, deren Ergebnisse nicht zu einem bestimmten Zeitpunkt von der Steuerung benötigt werden. Beispielsweise KI-Modelle zur Bereitstellung von optimierten oder angepassten Prozessparametern.
Abgrenzung und Vergleich zu ähnlichen TwinCAT-Produkten
Neben dem TwinCAT Machine Learning Server existieren weitere TwinCAT-Produkte mit ähnlicher Funktionalität, also dem Ausführen von KI-Modellen.
- TF3800 TwinCAT Machine Learning Inference Engine
- TF3810 TwinCAT Neural Network Inference Engine
- TF7800 TwinCAT Vision Machine Learning
- TF7810 TwinCAT Vision Neural Network
Die wesentlichen Unterschiede zwischen den aufgeführten Produkten und dem TwinCAT Machine Learning Server sind in der folgenden Tabelle aufgeführt.
Deterministische KI: TF3800, TF3810, TF7810 | Beschleunigte KI: TF3820 |
---|---|
Deterministische KI-Ausführung im TwinCAT-Prozess | Nahe-Echtzeitausführung im separaten Prozess |
Ausführung auf standard x64 CPUs | Hardwarebeschleunigung auf NVIDIA GPUs möglich |
Unterstützt ausgewählte KI-Modelle und Operatoren | Unterstützt aktuelle ONNX Opset Version und damit aktuelle und vielfältige KI-Modelle |
Standard SPS-Funktionsbaustein zur einfachen Integration in TwinCAT | Standard SPS-Funktionsbaustein zur einfachen Integration in TwinCAT |
Interoperabilität durch ONNX-Support | Interoperabilität durch ONNX-Support |
Lizenz-Bundle: TF3810 beinhaltet TF3800, TF7800 und TF7810 | Auch als Server im Netzwerk nutzbar mit mehreren Clients |