Copyright © Dipl.-Ing. Johannes Hofer 2022
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Das Listing zum Pi:
# socket test for raspi
Pico-EVB verbindet die SPS mit dem Lan. Hier kommt die KI-SPS zum Einsatz, welche eine neue Art der Automatisierung ermöglicht.
Copyright © Dipl.-Ing. Johannes Hofer 2022
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Das Listing zum Pi:
# socket test for raspi
Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
HMI-Anwender im Testmodus TIA-Simulation zeigt das folgende Video:
Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Was ist, wenn ein PLC-Programmierer
seine eigenes Programm zur Automatisierung anwenden möchte, ohne die KI-Vorteile
zu verlieren. Nun das ist sicherlich verständlich, wenn zu den ganzen Dingen eines
KI-Automaten kein sooo großes Vertrauen besteht. Schließlich weiß man ja auch nicht
was da in einem Baustein so abgeht – oder?
Verständlich und auch vollkommen normal den Dingen
nicht zu trauen.
Man verwendet im eigenen Programm zwar Bibliotheksbausteine,
aber nur soweit dieser überwiegend bekannt sind und zudem auch schon tausendmal
getestet wurden.
Damit ein KI-System bestehen kann, müssen spezifische
Daten existieren. Wir haben ja schon den Eingangs-Layer, die Regeln und den oder
die Ausgangs-Layer kennen gelernt. Zudem kennen wir ja auch schon Deep-Learning, welches im Gerät Zwischenlayer erzeugen kann,
um damit mehrere Möglichkeiten für die Ausgangs-Layer zu bilden.
Diese
Vorgehensweise mit dem Deep-Learning wird direkt auf der Hardware ausgeführt und
deswegen auch als Edge-KI bezeichnet.
Was man sich so alles einfallen lässt 😊. Das was da so innerhalb des KI-Automaten
abgeht, könnte zur Automatisierung ungewünscht sein. Nach dem Motto, was der Bauer
nicht kennt, frisst er nicht, können wir mit dem sogenannten Edge-Control aushelfen.
Betrachten wir dazu in einer Simatic dem Aufruf
eines KI-Automaten, wie uns auch schon bekannt ist, dann sehen wir die Möglichkeit
einen Eingangsparameter IN_EC zu setzen.
Bild 8.2: Die SPS besitzt zu jedem KI-Automat einen Edge-Control-FB
Jeder KI-Automat besitzt einen booleschen Eingang
IN_EC (Punkt 1) welche wahlweise den Funktionsbaustein EC_SD1 (Punkt 2) aktiviert oder nicht aktiviert. Damit können wir
das logische Geschehen für den Programmablauf zur Logik dem Programmierer überlassen.
Wie auch immer er dies löst entscheidet jetzt nicht mehr der KI-Baustein, sondern
liefert dazu die Daten, Funktionen und nötigen Parameter. Somit ist der Programmierer
völlig unabhängig der KI-Dinge und kann somit schalten und walten, wie er
dies auch in der Vergangenheit schon getan hat.
Na also, dann haben wir ja unser Edge-Control und
die KI vereinbart. Ob das so sinnvoll ist, muss im Einzelfall entschieden werden
😊
Die KI allerdings bleibt erhalten und liefert so
wichtige Daten und Erkenntnisse, ob der Baustein nun so auch richtig funktioniert.
Geliefert wird das dann über den sogenannten Backpropagation-Faktor und alle sind
zufrieden – oder wie oder was?
Dazu nun das folgende Video zum Praxisbaustein "Automatische Türsteuerung" in YouTube
Fortsetzung folgt im nächsten Post .... 💇
Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Kapitelausschnitt:
Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Kapitelausschnitt:
Ein SD allein
funktioniert nicht. Wie immer ist alles viel komplizierter – warum soll es auch
einfach sein, denn schließlich soll die neue Idee eine große Wirkung haben. Dazu
müssen wir das Komponenten-Diagramm betrachten, welches das Zusammenspiel aller
SW-Bausteine zeigt und erklären soll,
auch wenn das in den meisten Fällen als sehr langweilig empfunden wird, denn wer
liest derzeit in der modernen Internetwelt noch Literatur oder Bedienungsanweisungen.
Da wird doch lieber am Objekt gleich ausprobiert, was da so abgeht.
Für den Programmierer allerdings ein wichtiger
Informationszweig, denn aus den vielen Programmzeilen wird man ohne Plan nicht zurechtkommen.
Zudem sind doch eine Menge Schnittstellen zu erkennen und die müssen verstanden
werden, wenn man da etwas ändern, erweitern oder sonstiges unternehmen möchte.
Betrachtet man die Komponente C_SD, dann ist diese für die Entwicklung
der Eingangslayer, Ausgangslayer, Regeln und vieles mehr verantwortlich und sicherlich
auch für den Anwender zur Entstehung seines Projektes, die wichtigste Anwendung
am Monitor, welches letztendlich in der Hardware durch die KI-SPS zur Anwendung kommt.
Das Projekt unter NET Core in der Komponente MainWindow
ist mit seinen folgenden Komponenten notwendig, damit überhaupt ein Klick mit der
Maus und das daraus entstehende KI-Geschehen,
ich darf das mal so nennen, wirksam wird.
Das SD
kann über die Komponente C_KI_GroupLS letztendlich
über die Assoziationen mit dem C_Project kommunizieren
und ist so in der Lage seine Inhalte an die Komponente C_DG (Dokument_Generator) zu übermitteln. Der erzeugt dann das Datenformat
(JSON) und wird, wenn gewünscht, in C_Project über die Funktion OL (Output Layer) an die Komponente C_Socket gesendet, welche dann dafür sorgt,
dass die PLC ihre Daten zur Ausführung
erhält.
Die Daten werden mit Hilfe der Komponente C_DB_Plc generiert, je nachdem was da für
eine SPS angesprochen werden soll.
Nun – ist doch ganz einfach – oder 😊.
Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Kapitelausschnitt:
Der Programmierer möchte gerne über das Dateninterface
zur PLC Informationen erhalten bzw. Anweisungen
an die PLC schreiben. Ich erwähne ausdrücklich
PLC und nicht SPS, damit nicht der Eindruck entsteht, dass hier eine Verbindung zur
Simatic oder einer anderen SPS gemeint ist. Obwohl ja PLC die engl. Übersetzung zur SPS ist, wird, so meine Erfahrung auf den Baustellen, die PLC oft als nicht Simatic oder ähnliches verstanden. Vielleicht auch nur eine typische
verdeutschte Auffassung, dass eine PLC ein
IOT-System wie Arduino oder Raspberry PI
darstellen muss. Nun ja – wie auch immer das verstanden wird ist so ein SD in fast jedem System integrierbar 😊.
Mit dem Port ipx kann der Programmierer aus der KI2Plc mit der ausgewählten PLC/SPS
über das Interface <-SD_Obj – PLC_Onj
-> kommunizieren. Im Prinzip ist die tatsächliche Hardware an dieser Stelle
noch nicht bekannt, sondern wird erst über den Datentyp in der Komponente C_DB_Plc bestimmt, damit ab hier eine Kommunikation
stattfinden kann.
Der
Programmierer und letztendlich der Anwender der Software Ki2Plc wird über die Konfiguration den Weg zur Datenwelt der ausgewählten
Hardware finden.
So wird das Bild 30 aus Kapitel 6.1 Dateninterface SD etwas gelüftet, denn schließlich liefert
der Port den Weg zur Datenwelt einer PLC,
wie immer diese gestaltet ist. Unklar ist bis jetzt noch der Datenfluss vom SD zu einer Hardware, welche nur über den
C_Socket (Bild 30) zu erreichen
ist.
Hier muss man ganz klar die Assoziationen genauer
studieren, um sich im Datenfluss zurecht zu finden und das ist nicht jedermanns
Sache. Erst viel später in den fortgeschrittenen Kapiteln wird das dann noch im
praktischen Teil aufgeklärt.
Allerdings ist der Weg zur Kommunikation über mehrere
Komponenten nicht immer notwendig und damit wesentlich einfacher zu verstehen, wenn
das SD direkt im SPS-System integriert ist. Und damit meine ich jetzt tatsächlich eine
Simatic mit einem KI-Automaten, denn hier habe ich das umgesetzt
und kann so über die Visualisierung des Systems direkt mit dem SD kommunizieren und entsprechend die Regeln
festlegen.
Die
Konfiguration erfolgt somit innerhalb der KI-SPS
und erlaubt so über das meist bestehende Visualisierungs-System (HMI)
auch gleichzeitig die Festlegung der Regeln durch den Supervisor, um nicht Programmierer zu sagen 😊
Selbstverständlich ist der Service, wie das C#-Programm
Ki2Plc nicht so umfangreich, allerdings
besteht eine Schnittstelle PlcApi von
der SPS zur Außenwelt und diese kann dann
den Service, ganz besonders die Datenzugriffe und Algorithmen zur KI, wesentlich verbessern.