KI-Modell updaten
KI-Modelle können zur Laufzeit der Maschine ausgetauscht werden. Im Folgenden werden zwei Fälle mit den entsprechend zu befolgenden Schritten beschrieben.
Fall 1: Modellupdate ohne Änderung des Modell-Interface
Definition des Falls:
In diesem Fall bleibt das Eingangs- und Ausgangsinterface zum KI-Modell beim Tausch des Modells identisch. Dazu müssen die Input- und Output-Nodes in ihrer Reihenfolge (wenn mehrere Nodes) und in ihrer Shape unverändert bleiben.
Es wird empfohlen, die gesamte Modellarchitektur beim Modellupdate nicht zu verändern, also ein Transfertraining/Fine-Tuning auf dem bestehenden KI-Modell zu machen. Dadurch verändern sich die Interfaces zum Modell nicht und auch das Laufzeitverhalten bleibt gleich.
Ein Modellupdate ist ohne Compile-Prozess und ohne TwinCAT-Stopp durchführbar.
Schritte zum Update des Modells:
- JSON und PlcOpenXml mit dem TwinCAT Machine Learning Model Manager erstellen.
- JSON und ONNX auf den relevanten Systemen verfügbar machen. Falls der Fullpath sich geändert hat, zum Beispiel per ADS den neuen Pfad in einer Variablen bekannt machen.
- Der Hash der Ein- und Ausgangsdatentypen ändert sich nicht. Damit muss keine neue PlcOpenXml eingelesen werden. Die neue PlcOpenXml bleibt unbenutzt.
- In der laufenden SPS den State wechseln, z. B. per ADS eine entsprechende Variable setzen, und Deconfigure() aufrufen, um die aktuelle Session zu schließen.
- Configure aufrufen, um die neue JSON zu laden.
Während der Zeit von Deconfigure bis zum Abschluss der Configure-Methode können mit diesem Funktionsbaustein keine Inferenzaufrufe zum Server gesendet werden.
Fall 2: Modellupdate mit Änderung des Modell-Interface
Definition des Falls:
In diesem Fall verändert sich das Eingangs- und Ausgangsinterface zum KI-Modell beim Tausch des Modells. Dadurch passen die Eingangs- und Ausgangsdatentypen in der SPS nicht mehr zum Modell. In der Regel sind dann mehrere Stellen im Quellcode zu ändern.
Es wird empfohlen, bei einer solchen Änderung den Quellcode im TwinCAT XAE zu überarbeiten, das Projekt neu zu testen und erst dann auf die Maschine zu laden. Beachten Sie, dass sich auch das Laufzeitverhalten des KI-Modells verändert haben kann.
In diesem Fall ist ein Modellupdate mit einem TwinCAT-Stopp beim Aufspielen des neuen, veränderten TwinCAT-Projekts verbunden.