Montag, 26. August 2024

 

Ki2Plc geschützte Domain 😎

Die Möglichkeiten einer SPS-Programmierung mittels künstliche Neuronen, um diese am Geschehen der KI zu beteiligen


Neue Videos auf meinem YouTube-Kanal zum Thema Ki2Plc.








                


Mehr Infos auf meiner Homepage:

ki2plc



Dienstag, 16. Juli 2024

 

Ki2Plc geschützte Domain 😎

Die Möglichkeiten einer SPS-Programmierung mittels künstliche Neuronen, um diese am Geschehen der KI zu beteiligen



Ki2Plc - wie ist der Stand mit C#?

Nun hat sich in letzter Zeit viel getan. Insbesondere die Arbeiten mit WP an der neuen Webseite ki2plc.com. Da muss man erst durch. 

Hier das letzte Bild und eine Erklärung zum Testen des künstlichen Neuron mit seiner Vernetzung.


Zunächst besteht die Möglichkeit ein künstliches Neuron, ab jetzt KN genannt, oder einen Knoten vom Test auszuschliessen. Unter Punkt 1 sehen wir die KN mit roten Nummern und unter Punkt 2 die Knoten ohne Bezeichnung, welche nun vom Test ausgeschlossen wurden.

Nur so kann ein gezieltes Testen selektiert werden, damit mögliche, andere Fehler ausgeschlossen werden können. Hier ist zum Beispiel der Knoten "00" vom KN 1 im Test. Da es sich um eine Vernetzung handelt, sind solche Tests unter Umständen sehr kompliziert.

Die Punkte 3 + 4 zeigen, ob es sich um die digitalen Eingänge handelt oder die Perceptrons anderer KN. Also aus der Vernetzung. Auf der linken Seite können die Sigmoid-Werte eingesehen werden. Und im unteren Bild sehen wir die Vernetzung von KN1 mit den anderen KN. Und im darauf folgenden Bild die Vernetzung der einzelnen Knoten zu den KN und deren Perceptrons.

Also Punkt 1 zeigt, dass alle roten Knoten (Punkt 2) mit vier KN verbunden sind. Das sind die 4 KN 12, 13, 14 und 15.  Diese KN 12 - 15 sind nur für den Knoten "00" bestimmt. So kann jeder Knoten eine beliebige Gruppe von 4 KN auswählen.



Im weiteren Bild (unten) ist die Vernetzung des KN1 zu erkennen. Alle Knoten verbinden sich zu den vier KN, jeweils mit deren Perceptrons. Das ist natürlich nur zur Darstellung so gemacht worden, da es ja praktisch keinen wirklichen Sinn macht.

Das also kurz zu den Verbindungen und der Vernetzung. In meinem Teil der Einleitung werden die Themen natürlich ausführlicher behandelt. Sollte meine neue Webseite ki2plc.com als Blog nicht gut funktionieren, muss ich wohl gezwungener Maßen auf diesem Blog weitere Informationen hinterlegen.

Ach so: Mit Doppelclick auf das KN oder den Knoten können diese jeweils vom Test ausgenommen oder wieder zugeschaltet werden. Also ist ein Konten so als Netzwerk zu sehen und ein KN als Funktionsblock. Das so für die SPS-Programmierer.

Danke für die Geduld 🙋

Weitere Infos auf meiner Homepage
ki2plc.com








Montag, 24. Juni 2024

 

Ki2Plc geschützte Domain 😎

Die Möglichkeiten einer SPS-Programmierung mittels künstliche Neuronen, um diese am Geschehen der KI zu beteiligen



Ki2Plc mit C# unter MVS frame.dot

Da ich derzeit keine Videos in meinem YouTube-Blog veröffentliche und Anfragen erhalte, wie es nun weitergeht mit meiner Idee ki2plc, hier ein Bild zum Entwicklungsstand C#.



Ich musste erst den Windows-Kram lernen und natürlich ein wenig C#, damit ich etwas zustande bekomme. Nun habe ich den digitalen Teil fast fertig und kann ohne Programmierung mit IEC 61131-3 ein Project mit künstlichen Neuronen in die SPS laden. Und tatsächlich bin ich selbst davon begeistert und auch überrascht, wie toll das in C# umsetzbar ist. Also ist vorerst Python für mich gestorben 😉

Im Bild ist die Plattform zum Training digitaler Signale zu sehen. Kenntnisse der Programmierung wie KOP, FUB, ST oder ähnliches sind nun keine Voraussetzung mehr. Alles wird im Modell für künstliche Neuronen und deren Knoten trainiert, indem lediglich durch das Klicken auf IO-Parameter die gewünschten Eigenschaften geschaffen werden. Alles kann kinderleicht getestet werden, bevor die Anwendung als SPS-Programm in eine SPS geladen wird. 

Damit wird sozusagen der Programmierschritt übersprungen, sodass der Entwickler der Maschine nun das quasi-Programm schreiben kann. Die Daten der künstlichen Neuronen werden über den Sigmoid ermittelt und sind somit für eine zukünftige Mustererkennung geeignet.

Es erfolgt somit eine stetige Erweiterung der betriebseigenen Modelle, welche für den Betreiber mit zunehmender Sicherheit eine wirtschaftliche, moderne Lösung für zukünftige Projekte sichert.

Mehr Sicherheit 😇

Im folgenden Bild ist ein künstliches Neuron mit einer Menge an Knoten (P1) trainiert worden. Unten links im Diagramm ist der erste Ausgang nicht geschaltet (P3), obwohl das Neuron im roten Bereich (GP=Ground-Position) feuert (P2). Im Diagramm ist erkennbar, dass der erste Knoten feuert (P2) und auch im Trainingsbild zu sehen, dass der erste Knoten feuert (P4). Trotzdem ist der erste Ausgang nicht geschaltet! (P3) Das deutet auf einen Fehler hin. Nur so kann auf einem Blick erkannt werden, dass entweder ein Programmierfehler vorliegt oder ein falsches Training einen Widerspruch auslöst. 

Nicht das Listing -was es ja gar nicht mehr gibt- muss studiert werden, sondern das Neuron und dessen Training. Auch ein Nicht-Programmierer erkennt sofort den Widerspruch bzw. diesen Fehler.


Das ist ein mit Absicht erzeugter Fehler und kommt selbstverständlich in der KI nicht vor 😁

Nun wie auch immer können künstliche Neuronen mit anderen künstlichen Neuronen verbunden werden, also nicht nur IO-Parameter. Die Erbeigenschaften des künstlichen Neurons im Soma (Zellkörper) werden in einem anderen künstlichen Neuron verknüpft. Das muss ich allerdings erst noch programmieren 😏, bin aber fast fertig damit. Hier schon einmal im folgenden Bild die ersten Verknüpfungen von künstlichen Neuronen untereinander.



Im oberen Bereich können je Knoten bis zu vier KN (künstliche Neuronen) verknüpft werden (P1). D. h. jeder Knoten kann 4 andere KN festlegen. Da es 16 Konten in einem KN gibt, können somit 16 verschiedene Kombinationen miteinander verknüpft sein. Das wird noch graphisch dargestellet, damit der Konstrukteur die Übersicht behält 😎



Da gibt es noch viel zu tun, also ran an den Speck ... 🙋

Ach so, meine Texte werden nicht mehr auf diesem Blog veröffentlicht, da ich nun mehr Werkzeuge benötige um alles verständlich darzustellen. Also an alle - vielen Dank - für den Besuch meines Blogs
Hier geht es dann erst mal als Blog  ki2plc.com zusätzlich auf meiner neuen Webseite weiter:




Montag, 11. März 2024

 

KI2Plc geschützte Domain 😎

Die Möglichkeiten einer SPS-Programmierung, um diese am Geschehen der künstlichen Intelligenz zu beteiligen



TIA-Portal und CODESYS mit künstlichen, neuronalem Netz

Mit dem neuen Video beginnt nun der Einstieg in die SPS für das TIA-Portal und CODESYS. Dazu wird ein mögliches Modell zum künstlichen, neuronalen Netz vorgestellt. Die ersten vier Teile zeigen das Modell für ein künstliches Neuron, welches eine komplette digitale Gruppe in einer SPS bearbeiten kann. Damit ist die Basis geschaffen, das Modell zunächst im Einzelfall zu betrachten. Nun folgt die Überlegung, wie das 'Brain' dazu funktionieren könnte. Nach dem Aktionspotential (Link Wiki) kann das künstliche Neuron nun komplette oder auch teilweise Informationen an die Dendriten senden und somit nahe und ferne Neuronen erreichen. Außerdem entsteht so eine Eigendynamig, welche wir für das Vorhaben in der Steuerungstechnik nutzen können.

 https://de.wikipedia.org/wiki/Aktionspotential

Die Arbeiten werden nun in Python getestet und das Projekt in die SPS geladen. Wir werden also die SPS bezüglich des neuronalen Netzes in Zukunft mit Python programmieren. Das ist mein neues Vorhaben und mal abwarten was da jetzt so passieren wird.



Teil -1


Teil-2


Teil-3 (TIA-Portal)


Teil-4 (CODESYS)


Nun ist die Zeit gekommen auch komplexe Varianten der Neuronen-Modelle anzugehen. Das wird sicherlich sehr interessant und bedarf natürlich auch Zeit für die Entwicklung. Bis jetzt mache ich schließlich noch alles ohne fremde Hilfe. Mal sehen was da sich noch entwickelt.