Lernen von Prozessmodellen
Zur Modellierung von mathematisch schwierig zu beschreibenden Prozessen werden oft neuronale Netze eingesetzt. In Beispiel 8.7 wird eine neuronales Netz in der SPS eingesetzt, um das Verhalten eines simulierten, nichtlinearen Prozesses mit Verzögerungsverhalten 1. Ordnung zu erlernen.
Oft sind die Ressourcen einer SPS aber nicht ausreichend, um größere neuronale Netze zu trainieren. Deshalb werden die Prozessdaten, die in der SPS nach Einlesen der Sensordaten und Ausgabe der Stellwerte vorliegen, an einen leistungsstärkeren Rechner mit GPU z. B. in der Cloud übertragen. Im Projekt Erzeugen von Trainingdaten für Google Colab.project wurde in der Soft-SPS von Codesys ein nichtlinearer PT3-Prozess mit einem sägezahnförmigen Signal angeregt. Die Traceaufzeichnung dieser Prozesswerte wurde als Textdateien PT3ProzessMitSawtooth.txt bzw. PT3ProzessMitSteps.txt gespeichert und in Google-Colab hochgeladen.

Das Jupyter-Notebook LernenProzessmodell.ipynb beschreibt den Python-Code der zum Training eines neuronalen Netzes mit 3 Schichten, von denen die ersten beiden jeweils 32 Neuronen und die dritte ein Neuron enthalten. Das neuronale Netz wurde mit den Prozesswerten bei der Sägezahnanregung mithilfe der Pakete Tensorflow und Keras trainiert.
Wie nachfolgend gezeigt, kann das neuronale Netz sowohl die trainierten Daten mit hinreichender Genauigkeit prädizieren, als auch die nicht trainierten Prozesswerte bei sprungförmigen Anregungen.
Das so erlernte Prozessverhalten ermöglicht es, Steuerungs- und Regelungsstrategien gefahrlos in einem solchen neuronalen Zwilling in der Cloud auszuprobieren. Wenn die optimalen Strukturen und Parameter gefunden sind, können diese in der SPS verwendet werden, um den realen Prozess anzusteuern.
Speicherprogrammierbare Steuerungen im Industrial IoT

6. Auflage erschienen im Hanser Verlag,
November 2024
