Dateimanagement der ML-Beschreibungsdateien

Dateimanagement auf dem Engineering PC (XAE)

Konvertierung, Bearbeitung der ONNX, XML und BML

Der Machine Learning Model Manager dient als zentrales Werkzeug zur Bearbeitung und Konvertierung von Machine Learning Modellen. Wird eine Datei geladen und bearbeitet, so wird die resultierende Datei im Standardfall in den folgenden Ordnern abgelegt – je nach durchgeführter Aktion:

Der Default-Ordner kann jeweils im Model Manager angepasst werden.

Wird statt des GUI-basierten Machine Learning Model Managers die Machine Learning Toolbox genutzt, wird die neu erzeugte Datei im aktiven Pfad abgelegt, solange kein anderer Pfad konkret benannt wurde.

Einbinden eines Modells in eine TwinCAT Solution

Wird eine BML- oder XML-Beschreibungsdatei in einer TwinCAT Solution genutzt, muss bezüglich des Dateimanagements unterschieden werden zwischen TcCOM API und der PLC API.

TcCOM API

Nach Einbindung einer Beschreibungsdatei im TcCOM TcMachineLearningModelCycal wird die entsprechende Beschreibungsdatei in das Visual Studio Projektverzeichnis kopiert und ist somit Bestandteil des Projekts: <VS Projekt>\_MLInstall.

Bei Aktivieren der Konfiguration wird die Datei aus dem Visual Studio Projektverzeichnis in den Boot-Ordner auf dem Zielsystem kopiert: \TwinCAT\3.1\Boot\ML_Boot.

PLC API

Bei Nutzung der PLC API wird im SPS-Code der Dateiname und Pfad der Machine Learning Modelldatei als T_MaxString angegeben – entsprechend ist vom Anwender zu gewährleisten, dass vom Zielsystem ausgehend eine entsprechende Datei existiert. Das heißt, die Beschreibungsdatei wird weder Bestandteil des Visual Studio Projektverzeichnis noch wird sie automatisch auf das Zielsystem übertragen.

Übertragung der ML-Beschreibungsdateien auf das Zielsystem bei Aktivierung der Konfiguration

TcCOM API

Bei Nutzung des TcCOM Object TcMachineLeraningModelCycal wird die ML-Beschreibungsdatei vom XAE-System automatisch auf das XAR-System übertragen.

Die Datei wird aus dem Visual Studio Projektordner <VS Projekt>\_MLInstall in den Boot-Ordner auf dem XAR übertragen TwinCAT\3.1\Boot\ML_Boot.

PLC API

Wird die PLC API genutzt, ist der Nutzer für die Übertragung der ML-Beschreibungsdatei zuständig. Dadurch erhöht sich einerseits die Flexibilität der Anwendung, andererseits sind entsprechende Schritte vom Anwender zu implementieren.

Die Übertragung der ML-Beschreibungsdatei auf das Zielsystem kann auf vielen Wegen erfolgen, nachfolgend wird einer beispielhaft genannt.

Dateimanagement der ML-Beschreibungsdateien 1:

Hinweis

Schreibrechte auf dem Zielsystem

Es sind die Schreibrechte seitens des Betriebssystems und die Write Filter-Einstellungen zu beachten.

ML-Beschreibungsdateien im Feld aktualisieren

Ein wichtiges Szenario beim maschinellen Lernen ist die Aktualisierung von datenbasierten Algorithmen im Feld während der Laufzeit einer Maschine. Auch hier ist wieder zu unterscheiden zwischen Nutzung der TcCOM API und der PLC API.

TcCOM API

Bei der TcCOM API verhält sich das Updateverhalten wie bei anderen Änderungen im TcCOM-Bereich. Es ist ein XAE-System notwendig mit einer ADS Route auf das Zielsystem. Im XAE kann im TwinCAT-Projekt eine neue ML-Beschreibungsdatei eingebunden werden. Durch Aktivieren der Konfiguration wird dann das neue Projekt auf das Zielsystem übertragen. Hier ist also ein Neustart der TwinCAT-Laufzeit notwendig.

PLC API

Wird die PLC API genutzt, ist ein Aktualisieren der ML-Beschreibungsdatei auf dem Zielsystem ohne Neustart der TwinCAT-Laufzeit möglich. Dazu ist lediglich ein Update der ML-Beschreibungsdatei auf dem Zielsystem sowie ein erneutes Triggern der Configure-Methode notwendig.

Sie können dazu, z. B. per ADS, die SPS-Variable, die den FullPath der ML-Beschreibungsdatei hält, auf den Wert der neuen, zuvor auf das Dateisystem übertragenen, Datei setzen, und dann den State der State-Maschine wieder auf „laden“ setzen.