TcCOM

Die Nutzung eines TcCOM zur Inferenz eines ML-Modells in TwinCAT liefert eine sehr einfache Möglichkeit, trainierte Modelle in der TwinCAT-XAR auszuführen. Prinzipiell ist das gesamte Vorgehen bereits im Schnellstart dokumentiert, sodass im Folgenden zunächst die dort beschriebenen Schritte wiederholt und nachfolgend ein paar weitere Details gegeben werden.

Einbeziehung eines Modelles mittels TcCOM-Objekt

In diesem Abschnitt wird die Ausführung von Modellen des Maschinellen Lernens mittels eines vorbereiteten TcCOM-Objektes behandelt. Diese Schnittstelle bietet eine einfache und übersichtliche Möglichkeit, Modelle zu laden, in Echtzeit auszuführen und mittels des Prozessabbilds entsprechende Verknüpfungen in die eigene Applikation zu erzeugen.

Vorbereitetes TcCOM-Objekt TcMachineLearningModelCycal erzeugen

1. Selektieren Sie dazu den Knoten TcCOM Objects mit der rechten Maustaste und wählen Sie Add New Item…
TcCOM 1:

Unter Tasks eine neue TwinCAT Task erzeugen und der neu erzeugten Instanz des TcMachineLearningModelCycal diesen Task-Kontext zuweisen

2. Gehen Sie dazu auf den Reiter Context des erzeugten Objekts.
3. Wählen Sie im Drop-Down-Menü Ihre erzeugte Task aus.
Die Instanz des TcMachineLearningModelCycal verfügt über einen Reiter ML model configuration. Hier können Sie die Beschreibungsdatei des ML Algorithmus (XML oder BML) laden und bekommen im Anschluss daran verfügbare Datentypen für Ein- und Ausgänge des selektierten Modells angezeigt.

TcCOM 2:

Projekt auf Target aktivieren

1. Bevor Sie das Projekt auf einem Target aktivieren, müssen Sie im Projektbaum unter System>License im Tab Manage Licenses die TF3810 Lizenz manuell anwählen, da Sie ein Mehrlagiges Perzeptron laden möchten.
2. Aktivieren Sie die Konfiguration.
Sie können nun das Modell durch händisches Schreiben auf dem Input testen.

TcCOM 3:

Ist das Prozessabbild größer, d.h. existieren viele Ein- oder Ausgänge, kann es hilfreich sein, nicht jeden Eingang einzeln als PDO zu erzeugen, sondern einen Eingang oder einen Ausgang als Array-Typ zu definieren. Aktvieren Sie dazu die Checkbox Generate IO as array und klicken Sie auf Generate IO.

Modelle mit mehreren Engines, vgl. XML Tag Parameters, können geladen werden, jedoch wird nur EngineId = 0 verwendet. Ein Umschalten zwischen den EngineIds ist mit der TcCOM API nicht vorgesehen.

Die verwendete ML-Beschreibungsdatei wird automatisch vom Engineering System auf das Runtime System bei Aktivieren der Konfiguration übertragen. Details zum Dateimanagement sind im Abschnitt Dateimanagement der ML-Beschreibungsdateien beschrieben.