NNP

Neuronaler Netzwerkplan
Dipl.-Ing. Johannes Hofer

Letzte Bearbeitung: 31.01.2026

Nachdem ich einige neue Wege der KNN ausprobiert habe, bin ich nun bei diesem Ergebnis gelandet.

Wie heißt es so schön “ back to the roots“.

Die Neuronentechnik ist sicherlich fazinierend und hat mich nach der Erkenntnis, dass Neuronen für die SPS immer feuern (spikes) zum NNP geführt. Hier steht NNP für Neuronaler Netzwerkplan und ist nicht mit einem neuronalen Netzwerkdiagramm zu verwechseln.

Die Anwendung eines neuronalen Netzwerkes bis hin zum Netzwerkplan innerhalb einer SPS war bei meinen ersten Versuchen mit dem TIA-Portal in der Programmiersprache SCL erfolgreich, aber mit erheblichen Nachteilen bez. des Editors begleitet. Aus diesem Grund habe ich parallel einen Weg über eine andere SPS gesucht und bin schließlich bei verschiedenen SPSen gelandet, welche ebenfalls bezüglich der Geschwindigkeit zur Abarbeitung der Neuronen erfolgreich waren und unter Berücksichtigung der IEC 61131-Sprachen kompatibel sind. Es fehlt also nicht an der Ausführungsgeschwindigkeit der Hardware, sondern an der Möglichkeit des Editors in SCL oder ST, mit Schleifen und Arrays zu arbeiten und vor allem diese zu debuggen.

Das war sehr mühselig und zudem zeitaufwendig. Aus dem neuronalen Netzwerkplan eine verständliche Verarbeitung für den Anwender (Elektriker) zu erreichen, wurde letztendlich dadurch möglich, dass die Neuronenwerte (LReal) aus den verschiedenen Layern wieder zu einem Stromlaufplan führten. Back to the Roots ist im wahrsten Sinne des Wortes tatsächlich gelungen.

Es ist damit nicht unbedingt notwendig einen Programmierer zur Lösung für einen NNP einzusetzen, sondern nur ein Training, welches normalerweise der Konstrukteur der Anlage durchführen sollte. Zur Kontrolle des so trainierten Netzwerkplanes wird zusätzlich daraus ein Stromlaufplan generiert. 😎

Im Bild ist die Simatic-Lösung ersichtlich. Insgesamt sind im FL=First-Layer über 16T Neuronen zu sehen. Im Beispiel für den Ausgang A0.7 sieht man den Strompfad mit den Schaltern dazu, welcher aus den neuronalen Werten generiert wird. Derzeit wird die Arduino Opta getestet!

Speichertrainierbare Steuerung kontra SPS 😎 (STS, PTC)

Zielsetzung ist eine SW zu erstellen, welche ein Training am Gerät ermöglicht und damit eine völlige Unabhängigkeit zu einer kostenpflichtigen Programmierumgebung bietet. Die Opta ist mit einer Software (PTC, programmable trainable control) vorinstalliert und bietet so die Möglichkeit diese über den User-Button zu trainieren. Dazu wurde die klassische Arduino IDE mit C/C++ verwendet. Somit also auch zudem Open Source!

Bildquelle: https://store.arduino.cc/collections/opta-family

Die Zykluszeiten sind enorm und liegen im Vergleich zur S7-1500 in mys und nicht in ms. Da kann ein ausgiebiger NNP trainiert werden. Abgesehen von den Zykluszeiten ist die Programmierung mit der IDE in C/C++ wesentlich eleganter und debug-fähig (falls notwendig). Das Training erfolgt über einen Browser, ebenso die Kontrolle des Trainings über die Strompfade, welche aus den Daten des NNP’s und deren WF abgeleitet werden.

Also was will man mehr?

Fortsetzung folgt ….

Abürzungen: KKN -> Künstlich Neuronales Netz, NNP -> Neuronaler Netztplan, WF -> Weightfaktor, STS -> Speichertrainierbare Steuerung