ki2plc_builder
Dipl.-Ing. Johannes Hofer
Letzte Bearbeitung: 21.02.2025 (alle Urheberrechte liegen bei Johannes Hofer)
Künstliche, neuronale Netze der 3. Generation
Skipping Neuronen sind die dritte Generation zur KI und haben mich veranlasst, die Anwendung der neuronalen Netze mit Gewichtung und Backprobagation zu beenden. Spikes sind nun angesagt und diese haben wesentliche Eigenschaften, welche nicht nur gut zur Automatisierung passen, sondern sind besonders für SPS-Anwendungen geeignet. Mit zunehmender Remote-Arbeit auch in der Prozesstechnik zeigen, dass die traditionelle Programmierung nach IEC 611 31-3 immer mehr an Bedeutung verliert.
Als Grundlage soll das im Bild gezeigte Projekt mit SNN (spiking neural network) umgesetzt werden. Es handelt sich hier um einen Teilbereich, welcher tatsächlich etwas mehr Aufmerksamkeit benötigt, als im letzten Video auf meinem YouTube-Kanal gezeigt wurde. Die Umsetzung erfolgt nun nur noch über das Training der Spikes und liefert eine Lösung für eine standard CPU z. B. aus der S7-1500-Serie.
Das Ergebnis ist entweder direkt in der CPU inklusive Training über eine Visualisierung erreichbar oder die Trainingsdaten der SNN werden über eine Schnittstelle in die CPU geladen. Alternativ dazu kann auch ein SCL-Code (ST) generiert werden, sodass der SPS-Programmier immer noch handlungsfähig bleibt und die Inbetriebnahme mit dem TIA-Portal umsetzt.


Im rechten unteren Bild ist das Ergebnis meiner Recherchen über SNN zu sehen. Erstaunlich, denn die Spikes lassen sich nun den Eingängen der digitalen Eingangskarte zuordnen.
Damit ist jetzt das Debuggen in der SPS möglich geworden, da über die Spikes wieder ein Rückschluss auf die digitalen Merkmale (hier Eingänge) machbar sind. Wir trainieren das SNN einzeln zu den Perceptrons und beziehen uns dabei auf eine 16-Bit digitale Inputkarte. Diese ist hier virtuell und muss in der echten CPU nicht unbedingt 1:1 existieren.
Was noch fehlt, ist ein gutes Simulationsprogramm, damit ich nicht alles in C# programmieren muss. Ich denke an PLC-Lab von MHJ, denn auch hier kann man mit C#-Skript arbeiten. So erreicht man auch die CODESYS-SPSen 🙂
So kann aus ki2plc ein SPS-Code (derzeit SCL) über die gewonnenen Spikes generiert werden, welcher als FB in einer Simatik geladen werden könnte. Zudem ist eine Generierung in Python, C#-Skript oder ST für CODESYS ebenfalls denkbar.
Hier zwei Videos zum Thema aus meinem You-Tube-Kanal: https://youtu.be/QXaCZJvQO3I
Test-Link für späteren Zugriff auf meine Daten: Hier sind die Bilder von: The Dev 2610 YouTube – Kanal als Test-Dateien, welche ich von seinem Kanal kopiert habe
https://drive.google.com/drive/folders/1NlqB_t_-CHPKFFe_3I9Muslpn-z08iez?usp=drive_link