Freitag, 29. April 2022

 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


8.2     Logic Edge-Control

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


Praktikum KI-SPS - Teil 2

Vorerst noch überwiegend KV-Diagramm mit KI-Gerüst und der Einsatz von Bibliotheksbausteinen.  

Zum Test suche ich noch einen Spender über eine größere SPS. Muss nicht das TIA-Portal sein. Auch wäre eine neuzeitige SPS mit Arduino oder sowas denkbar. Da das KI-Verfahren sehr sicher ist, kann man hier auch eine andere Hardware sehr gut einsetzen. Also einfach auf meinem Blog melden :)

 Fortsetzung folgt im nächsten Post .... 💇

 

Samstag, 23. April 2022

 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





https://youtu.be/0TjR0Gws6G0

Dieses mal aus zeitlichen Gründen nur das Video in YouTube :)


Freitag, 18. März 2022

 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:

8.1     Die ersten Schritte mit KI2Plc



Der Einstieg mit KI2Plc
vom KV zur KI-SPS



Diesmal das Video zum Kapitel. Nach Freigabe der ersten Lite-Version kann diese über meinen Blog unverbindlich und kostenfrei angefordert werden :) Das wird in Kürze der Fall sein. Alle Daten zur Person bez. dieser Anfrage werden vertraulich behandelt und sind zum aktuellen Update der SW nur auf meinem PC gespeichert. 

Fortsetzung folgt im nächsten Post .... 💇



Sonntag, 20. Februar 2022

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:


7.1     Das Komponenten-Diagramm

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.



   Bild 36: Das Komponenten-Diagramm zum Gesamtgeschehen

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 😊.


Fortsetzung folgt im nächsten Post .... 💇
Verleger und SPS-Hersteller können sich gerne melden 😊

Firma oder Start-up, mit Interesse mein know-now exklusiv zu erwerben können sich gerne melden.


 


Samstag, 12. Februar 2022

  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:


6.4     Der Port ipzur PLC

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 😊.

 


Bild 33: Das Tor zur PLC mit dbx_DB

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.


Fortsetzung folgt im nächsten Post .... 💇
Verleger und SPS-Hersteller können sich gerne melden 😊

Firma oder Start-up, mit Interesse mein know-now exklusiv zu erwerben können sich gerne melden.


 


Sonntag, 30. Januar 2022

 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:


6      Das Datenmodell zum SD

Bis zu diesem Kapitel sind bereits einige einfache Beispiele zum Thema KI-SPS in Bildern gezeigt worden. Damit eine Umsetzung dieser neuen Idee möglich wird, muss ein Interface geschaffen werden, welches zu jedem Element des SDs eine Datenverbindung anbieten kann.

Betrachten wir Bild 29 eines Projektes, dann lässt sich dieses sehr einfach beschreiben:

Ein Gerät (SPS, Raspberry Pi etc.) hat ein Programm, welches ich als Projekt bezeichne.  Das könnte die bereits erwähnte Krananlage oder eine Schuhmaschine oder eine Celle einer Fertigung für ein Zubehörteil eines Autos, sein. Das Projekt besteht, abgesehen von den Programmabschnitten und Modulen aus den Bibliotheken, aus mehreren KI-Gruppen, welche jeweils ein SD besitzt. Natürlich könnte eine KI-Gruppe auch mehrere SDs besitzen, um dieser Frage gleich zuvorzukommen 😊.

Jedes SD besitzt Elemente aus verschiedenen Datentypen. Damit diese auch Daten austauschen können, hat jedes Element eine Datenschnittstelle.

        Bild 29: Das Datenmodell zum SD

Ohne diese Datenschnittstelle wäre das SD hilflos und könnte über die gelernten Regeln keine Aktionen verursachen. Das Ganze beginnt also mit der Datenschnittstelle lebendig zu werden, um das mal so auszudrücken. So erklären sich auch die vielen Möglichkeiten bei einer SPS mit dem KI-Automat. Hier haben wir die KI-Gruppen stellvertretend durch ein SD, welches nun über die einzelnen Elemente, je nach Ergebnis der gelernten Regeln, Daten lesen und schreiben kann.

Diese Daten können auch Ergebnisse aus komplexen Bausteinen sein, wie PID-Regler oder Funktionsbausteine, welche noch traditionell programmiert sind.

Das bedeutet, die Kontrolle der entsprechenden Programmabschnitte, welcher Art auch immer, werden durch den KI-Automat übernommen.

Das ergibt nun eine völlig neue Denkweise zur Erstellung und Planung eines SPS-Programmes und deren Auswirkung zur Prozessumgebung. Immerhin haben wir es hier mit modernen, neuzeitige Elementen zu tun, welche über die Datenschnittstellen (JSON-Formate) auch mit anderen KI-Systemen, kommunizieren können.

Da wir es hier mit einer SPS vergleichen, richtet sich die Datenschnittstelle nach den üblichen Datenformaten einer SPS, welche auch als Operanden bezeichnet werden. Dazu gehören nicht nur die Eingangs- und Ausgangsoperanden, sondern z. B. auch Timer, Counter, Merker und sonstige Operanden-Typen.

Davon abgesehen ist das Gerät SPS ja mittlerweile nicht nur eine Simatic und dessen Strukturen, sondern wandert z. B.  über Codesys in ganz andere Gebilde, welche schließlich auch durch die Anbieter der Steuerungstechnik, mal ganz vorsichtig formuliert, als Geräte mit der Programmierung zur IEC-Kompatibilität auch als SPS bezeichnet werden.

Fortsetzung folgt im nächsten Post .... 💇
Verleger und SPS-Hersteller können sich gerne melden 😊

Firma oder Start-up, mit Interesse mein know-now exklusiv zu erwerben können sich gerne melden.

Dienstag, 18. Januar 2022

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:

 


5      SD und die KI

Bis Kapitel 4 haben wir das SD mit seinen Elementen so ein wenig im Einsatz gesehen. Die Steuerungstechniker kennen überwiegend das KV-Diagramm und wissen, dass hier eine optimale Kürzung für digitale Schaltungen mit einem Ausgang erfolgen kann. Daraus wurde ja früher der Schaltschrank mit der Klappertechnik gebaut, 😊. Diese Dinge werden gegenwertig zwar noch in der Ausbildung zum Steuerungstechniker erwähnt, aber das war es auch schon. Durch die Programmierung der Schütztechnik in der SPS, ist das KV weit in den Hintergrund gerückt.

Viele Programmierer wenden Teile des KVs an, aber meist unbewusst.


                          

                        Bild 26: Struktur zum Signatur-Diagramm SD

Warum heißt das nun Signatur-Diagramm (SD) und nicht Signal-Diagramm?

Ein SD, wie vereinfacht in Bild 26 zu sehen, kann nun auch mehrere Ausgänge bedienen und integriert zudem auch analoge Signale, sowie Funktionsergebnisse und schließlich selbst wieder SDs. Wesentliche Unterschiede zum KV bilden sich bereits in den Element-Bereichen und den dazugehörigen Elementen (IPA, IPF, IPD, IPSD analog dazu die Output-Bezeichnungen).

Es gibt also je Parameter einen Platzhalter für den Datentyp, welche erst später zugeordnet werden kann und deswegen über eine Verbindung zur Datenbasis verfügt. So wie das Signatur-Diagramm aus der Literatur Informatik, allerdings in anderer Form.

Meiner Meinung nach ist das Signatur-Diagramm aus der Informatik ein Signatur-Plan.

Das KV hat seine Regeln (Rules), welche binär auch zur Optimierung verwendet werden. Das SD hat ebenso Regeln, diese werden mittels machine learning erfasst und über Methoden im deep learning optimiert. Der wesentliche Unterschied besteht darin, dass es sich dabei zwar auch um Regeln handelt, diese aber mit analogen Signalen verknüpft werden können und durch verschiedene Algorithmen im deep learning spezialisiert werden.

Ein SD hat somit auch Regeln, werden aber anders angewendet.

Die Anwendung und Auswertung hat nicht nur das Ziel bei digitalen und analogen Signalen eine binäre Verknüpfung zu kreieren, sondern auch critical inputlayer zu erkennen. Diese wirken sich dann direkt auf den Ausgangslayer (CIE) aus und bilden ein Alarmsystem, welches über Schnittstellen im JSON-Format (DG) anderen Komponenten zur Verfügung gestellt wird. Die Aufbereitung der Regeln werden für den KI-Automat definiert und können zusätzlich über den DG (document generator) auch anderen Komponenten zur Verfügung gestellt werden.

Wie bei Funktionsparametern in Programmiersprachen werden Bezeichnungen und deren Datentypen übergeben. Das nennen die Informatiker Signatur einer Schnittstelle. Deswegen auch die Bezeichnung SD, 😊

Da es sich hier um eine Software (SW) handelt, gibt es eine ganze Menge an Ideen, sinnvolle Dinge zur IOT-Welt vom SD abzuleiten. Besonders bei schon bestehenden Anlagen ist eine automatische Erstellung des SD sehr gut möglich. Was da so alles gemacht werden könnte, ist sehr umfangreich. Deswegen möchte ich mich in dieser Lektüre auf die Programmerstellung über einen SD und einen KI-Automat beschränken.

Die Anwendung für eine SPS, da befindet sich der KI-Automat, ist dann sinnvoll, wenn diese das entsprechende Umfeld zum SD anbietet. Dazu gehören genügend Speicher und eine attraktive Programmiersprache, damit der KI-Automat  auch schmerzlos umgesetzt werden kann. Zudem ist ja ohne Webseite heutzutage nix mehr los – oder?

Das SD und deren Struktur ist für eine Webanwendung besonders gut geeignet.

Warum ist das so? Nun einige Argumente sind Speicher, Internet, moderne Programmiersprachen und IOT. Was hat das Ganze nun mit der SPS zu tun?

Ein SPS-Programmierung kann auch virtuell existieren und hat in Verbindung mit einem SD und der KI mehr Sicherheit zu bieten als eine SPS-Programmierung herkömmlicher Art. Zudem kann das Programm in verschiedenen Plattformen zur Anwendung kommen und ist 100%ig internetfähig.

Besitzt nun eine herkömmliche SPS einen KI-Automaten, dann ist sie damit auch internetfähig, zumindest über den SD-Anteil. Besonders in der IOT kann ich mir ein Produkt vorstellen, welches SDs verarbeitet. Ob das dann noch als SPS bezeichnet wird? 😊.

Das Mischen mit SD und traditioneller SPS-Programmierung ist immer gegeben und jederzeit möglich.

Nun gut – nur die Eingangs- und Ausgangslayer in Form der KI darzustellen, reicht auch nicht für eine ganz, ganz schwache KI aus. Deswegen noch einmal: Was hat das SD mit KI zu tun?

Ich würde das mit der KI sicherlich nicht ins Spiel bringen, wenn da nicht machine learning eingebettet wäre. Nebenbei bemerkt existiert das deep learning auch, ist aber nicht unbedingt notwendig, bei Verwendung einfacher Steuerungen.

Aus den gelernten Daten entsteht eine Interpretation für den KI-Automat, welche jederzeit durch zusätzliches Lernen online ausgetauscht werden kann. Die Daten berücksichtigen auch SW-Komponenten der SPS, wenn diese so gelernt wurden.

Eigentlich bin ich der Überzeugung, wie in dieser Lektüre schon öfters erwähnt, dass ein ungeplantes Programm ein Zufallsprodukt ist. Trotz Planung, beispielhaft mit Grafcet, WSD oder anderen Planungsmitteln, kann ich wenig anfangen, wenn ich dabei an eine KI denke, denn jedes SD umgesetzt in einen KI-Automat kann gleichzeig Zustände analysieren, welche in der Programmierung nicht berücksichtigt wurden oder sogar online Zustände erkennen, welche die Anlage im Fehlerfall liefert. 

Man könnte daraus ableiten: Lernen und nicht planen 😊

Der KI-Automat ist durch seine Struktur in der Lage bei einem angeschlossenem, externen KI-System analysegerechte Daten zu liefern. Mit all den genannten Fakten kann nach meiner Meinung das SD in die leichte KI eingestuft werden.

Nun gut- lange Rede kurzer Sinn. Schauen wir uns das mal genauer an und versuchen im folgenden Kapitel einen sinnvollen Ablauf, KI-gerecht 😊, zu verstehen.


Fortsetzung folgt im nächsten Post .... 💇

Verleger und SPS-Hersteller können sich gerne melden 😊
Firma oder Start-up, mit Interesse mein know-now exklusiv zu erwerben können sich gerne melden.