Montag, 10. 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

 

4.1.1     Falsches Lernen

Betrachten wir für den Einstieg in unserem Simulator ein einfaches Beispiel für einen analogen Eingang in Verbindung mit einem digitalen Ausgang. Hier möchte ich zeigen, dass wir auch bei analogen Signalen ein SD anwenden können. Allerdings sollten wir nun besonders darauf achten, dass richtig gelernt wird, um unser geplantes Ziel zu erreichen.

Nun was ist richtig oder falsch?

Bei den binären Signalen haben wir nur true und false und die entsprechende Verknüpfung dazu. Das KV-Diagramm lässt sich also hier wunderbar als Lernsystem einsetzen. Wie ist das nun bei unserem analogen Bild mit seinen 100 möglichen Zuständen?

Das kennen wir ja aus der Programmierung, das mit den Operatoren <=, >= und ganz besonders gefährlich der Vergleich =, .

Auch hier gilt die Regel, nicht ans Programmieren denken!

Ein kleines Beispiel: Wir möchten eine Heizung ab 0°C einschalten und bei 20° C abschalten. Dabei betrachten wir einen gesamten, möglichen Temperaturbereich von 0°-100°C unipolar. So müssen wir in unseren  Steuergerät keine besondere Skalierung vorbereiten, da diese bereits von 0-100 skaliert wird. Betrachten wir dazu den ersten Lernprozess in Bild 14. Bei 0°C wird die Heizung am digitalen Ausgang eingeschaltet (Punkt 1) und bei 20°Celsius (Punkt 2) wieder ausgeschaltet. Ganz einfach und mehr nicht. In Punkt 3 sehen wir das gelernte über zwei Regeln, welche auch so an das Steuergerät bzw. an den internen Simulator im JSON-Format übertragen werden.


Bild 14: Falsches Lernen durch fehlende Information

Im Test (Bild 15) können wir nun zufriedenstellend feststellen, dass vorerst alles wunderbar so funktioniert, wie wir uns das ausgedacht haben. Warum der Button CIL On/Off eingeschaltet ist, haben wir bereits aus Kapitel 3 gelernt. Zur Erinnerung: Die Heizung würde sonst bei 2°C wieder abschalten, da das Signal Critical-InputLayer aufleuchtet und alle Ausgänge abgeschaltet werden, falls wir den Button CIL On/Off nicht betätigen. Unsere Heizung ist bei 20°C, wie in Punkt 2 erkennbar, ausgeschaltet. Das verhält sich so auch weiterhin bis 100°C so.

Die Überraschung im Test erleben wir erst, wenn wir die Temperatur wieder senken und erwarten, dass sich die Heizung bei 19°C wieder einschaltet, was beim Hochfahren der Temperatur bei 19°C, der Fall war.

Bei Betrachtung des Bildes 14 unter Punkt 3 erkennen wir, dass nur 2 Signaturen gelernt wurden. Das war das Einschalten bei 0°C und das Ausschalten bei 20°C. Alle anderen Punkte sind nun nicht gelernt und erzeugen den Fehler Critical-Error, welcher allerdings durch den Button überbrückt wurde. Warum haben wir das so gemacht?

Eine Überbrückung der nicht gelernten Signale ist dann sinnvoll, wenn wir diese noch nicht kennen, diese zurzeit nicht zur Verfügung stehen, keine Notwendigkeit gesehen wird oder letztendlich nicht genügend Speicher im Steuergerät zur Verfügung steht.


Bild 15: Falsches Lernen durch fehlende Informationen

In unserem Beispiel haben wir allerdings nicht damit gerechnet, dass wir uns hier einen kleinen Fehler einhandeln. In Bild 16 sehen wir die Situation in Punkt 1, da wir uns bereits bei 15°C befinden und immer noch die Heizung ausgeschaltet ist (Punkt 2).

Wieso ist das so? Nun ganz einfach, wir haben vergessen das zu lernen, denn das Einschalten wurde nur in einem Punkt bei 0°C gelernt. Auch erkennen wir, dass der SLF auf 2% steht (Punkt 3), somit den zwei gelernten Signaturen entspricht.

Hätten wir bei 19°C den Ausgang für die Temperatur auch eingeschaltet und das gelernt, also einen dritten Punkt eingefügt, dann würde sich die Heizung bei 19°C auch wieder einschalten und eingeschaltet bleiben, wenn sich die Temperatur weiter senkt.

Da kommt sofort der Gedanke, um ganz sicher zu gehen, könnte man ja alle bekannten Punkte lernen, also bei 0°C einschalten und danach jedes weitere Grad wieder den Button der Kamera drücken. So hätten wir lückenlos das Einschalten bis 19°C  gelernt.

Wird jeder Schritt gelernt, gibt es auch keine Lernlücken und es kann durch den KI-Automat lückenlos umgesetzt werden. Das Warning Critical-InputLayer würde nicht entstehen und wir haben damit den SLF auf 100% gesetzt.

Das hört sich doch gut an und außerdem sind 100 Signaturen nicht viel. Dafür spricht auch, dass alles richtig funktionieren muss, auch wenn wir ab z. B. 15°C erst einschalten und testen.


Bild 16: Erst beim Senken der Temperatur wird der Fehler bemerkt

Kritisch wird das erst dann bei der Forderung eine Kommastelle im Prozentwert zu erweitern. Das sieht man häufig bei Regelventilen, welche über PID mit einer Stelle hinter dem Komma angezeigt werden sollen. Da kommen wir dann schon auf 1000 Signaturen, .

Nun halten wir den Ball zunächst flach und betrachten uns das Lernen mit allen Punkten aus diesem Beispiel, indem wir halbautomatisch lernen.


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

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

Verleger oder SPS-Hardware-Hersteller können sich gerne melden 😊

Montag, 3. 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



3.1.1     Vom SD zum KI-Automat

Nun – das mit dem KV-Diagramm ist ja noch verständlich und nachvollziehbar. Aber was hat das mit KI zu tun? Dazu betrachten wir in Bild 3 den Ablauf von Daten in einer Anlage (Fabrik), welche zunächst, egal wie, in einem SD erfasst und dann in eine SPS transferiert werden.



Bild 3: SD für digitale Signale via WSD

Digitale und analoge Signale werden über eine Aufnahme (ML, Machine Learning) erfasst und so direkt oder über DLS (Deep Learning Signal) in einen Input-Output-Layer-String (IOLS) formatiert, welcher über das JSON-Format beschrieben in ein Steuergerät, hier eine SPS, transferiert wird. Diese besitzt einen Parser, welcher die Daten parst und entsprechend über Funktionen (KI-Automat) und dem Ausgangslayer das Geschehen in der Fabrik neu beeinflusst. Die Ausgangsparameter digital oder analog wirken so entsprechend auf die Fabrik, welche dann mit der nächsten Signatur eine entsprechende Antwort an das KI-System liefert. 

Ohne vorerst genauer darüber nachzudenken, wie wir mittels Programm in einem Steuergerät eine neu Aktion im Prozess bewirken, ist dieser Gedanke, dass in das Geschehen der KI einzuordnen, doch gar nicht so schlecht - oder?

Das KV-Diagramm unterstützt uns somit, ohne ein spezielles Steuerungsprogramm zu schreiben, damit wir unsere Wirkung zur Prozess-Steuerung erreichen.

Neu ist das nicht, aber dessen Anwendung in Verbindung mit ML und DL ist neu! Ganz, ganz früher hatte man das KV-Diagramm innerhalb eines Schaltschrankes zur Schütztechnik genutzt. Jetzt kann man das digital und analog auch mittels KI und das sogar mit vielen, positiven Effekten zur Prozesslage und Steuerung, welche wir in den laufenden Kapiteln noch kennen lernen werden.

Jedoch bleiben wir zunächst bei dem Gedanken, dass die Signalzustände gemessen aus dem Prozess quasi wie ein Foto aufgenommen, diese über ein besonderes Verfahren an das Steuergerät gesendet werden, um diese dann mittels KI-Automat zur Prozess-Steuerung und -Regelung zu nutzen.

Dieser Kreislauf bewirkt so nicht nur Änderungen im Prozess, sondern kann so auch als Lernsystem zur Datengewinnung angewendet werden.

Letzteres wird oft nicht verstanden, deswegen ein Beispiel: Man stelle sich vor, dass ein Fahrzeug (z. B.) eine Krananlage von Hand gefahren wird. Der Kranführer kann eine schwebende Last pendelarm, fast spielerisch, genau an einen Punkt positionieren. Eine automatische Anlage kann das nur mit hohen technischen Aufwand (Kamera usw.). Wenn wir nun den Vorgang des Kranführers erfassen würden, indem wir schnelle Aufnahmen der Input- und Output-Layer erzeugen, könnten wir die so gewonnen Fahreigenschaften mittel ML erfassen und durch weiteres Lernen (DL) in den KI-Automat transferieren.

Das wäre doch ein sinnvoller Einsatz und kann schon als schwache KI bezeichnet werden - oder nicht? Ich habe das bereits vielfach praktiziert, allerdings hieß es damals noch nicht künstliche Intelligenz 😊.

Naja, was soll, so einfach ist es mit der Umsetzung ohne, oder wenig Programmieraufwand nun doch nicht.

Das Verfahren über die Erfassung mittels Input-Layer und Anpassung (Deep Learning) der Daten zur Anpassung an Output-Layer ist sicherlich in die sogenannte schwache KI einzuordnen.

Warten wir es ab und beschäftigen uns nun das notwendige Wissen zu erreichen, um dieses Ziel für Steuerungsgeräte wie z. B. eine SPS umzusetzen.


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

Verleger können sich gerne melden 😊


Mittwoch, 29. Dezember 2021

 Copyright ©  Dipl.-Ing. Johannes Hofer 2021, 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



1.1     SPS wird KI-SPS

Kann die Anwendung durch die SPS für eine KI eingesetzt werden und wenn ja, macht das einen Sinn? 

Zunächst muss sich der interessierte Gedanken darüber machen, was so im Wesentlichen überhaupt eine KI ist und wie diese dann für die speziellen Anforderungen an eine SPS-Anwendung umgesetzt werden kann. Ich habe dazu etliche Videos, Berichte und Dokumentationen studiert und versucht das neue Thema KI als SPS-Programmierer zu verstehen und möchte meine Erkenntnisse so zusammenzufassen, dass SPS-Programmierer, egal welche Altersgruppe und erworbenen Berufserfahrung, so ein wenig Verständnis zum Thema finden und die KI für die eigenen Anwendungen in der SPS interessant macht.

Da werden Synapsen mit Daten versorgt und dann als Eingangslayer bezeichnet, welche über spezielle Funktionen im sogenannten Deep-Learning spezialisiert werden, damit entsprechende Ausgangslayer entstehen können. Diese werden dann wieder für den Techniker lesbaren Code weitergegeben. Alle Fachleute der KI mögen mir verzeihen, wenn ich das so einfach darstelle, denn schließlich handelt es sich ja um eine wissenschaftliche, hoch einzustufende Technologie 😊.

Die bekanntesten Beispiele in der KI sind die Datenerfassung per Foto, welche dann über das Expertenwissen (Deep-Learning) wieder dazu führt, dass am Ausgangslayer ein Teil der Fotos wiedererkannt werden. Das hört sich sehr lustig an, so wie ich das formuliere, aber das ist tatsächlich so, zumindest erfreut diese Darstellung meine Zuhörer in Seminaren oder dergleichen.

Der Webseiten-Programmierer stuft die KI sicherlich anders ein, als ein SPS-Programmierer und es gibt eine ganze Menge weitere Anwendungsgebiete die fachspezifisch die KI als Erfolgserlebnis einstufen und sich viele Interessenten derzeit regelrecht darauf stürzen. Und wenn es nur die Daten für eine Erfassung in Eingangslayer sind, ist hier für SPSen ein wesentlicher Faktor für die weitere Verarbeitung (Deep-Learning) notwendig, damit der Eindruck entsteht, es handelt sich hier um künstliche Intelligenz 😊.

Ein Berater zur KI und deren Prozesse für das Marketing hatte mir zum Thema KI-SPS die Frage gestellt: Wo bekommst du eigentlich die Daten her?

Nun konnte ich das nicht so einfach beantworten, da ich in dieser Phase noch nicht genügend Kenntnisse über die KI hatte und der Fachberater wusste nicht was eine SPS ist.

Jetzt bin ich genau an dem Punkt, der mir heute nach ca. einem Jahr eine Antwort liefert. Die KI in der SPS ist nicht mit der Automatisierung durch KI im Gewerbe Marketing oder ähnliche Gebiete wie Webseiten vergleichbar, trotzdem es mittlerweile sehr interessante Artikel über den Anschluss zur KI in SPS Anwendungen gibt.

Dazu noch eine wichtige, weitere Darstellung bezüglich Geräte. Eine SPS könnte ja auch ein Raspberry PI sein oder sowas aus der Arduino-Welt oder aus IOT-2000. Hier sind Datenmengen nicht so das Problem, da entsprechend der Preisklasse genügend Speicher für eine KI-SPS zur Verfügung steht. Also auf geht’s mit einer PLC die IEC-6311-31 nicht versteht, sondern nur moderne Hochsprachen und wie bei IOT sich sogar imaginär in eine Wolke befinden könnte 😊.

So einfach ist dieser Gedanke nicht, denn eine SPS hat zudem eine recht hohe Anforderung an die Sicherheit der ausführenden Hardware. Abgesehen von modern sind neuzeitige Hochsprachen eigentlich nur der Zeit angepasste Sprachkonzepte. Fertige Module aus der IEC-Welt und den dazu gehörigen Sprachkonzepten der graphischen Programmierung, stellen da schon eine andere Arbeitswelt dar. Wie diese fertigen Bausteine programmiert sind, ist nicht bekannt, sondern nur deren Anwendung.

Auch wenn das nicht ganz so einfach ist, was ein Glück, dass es diese Sprachkonzepte heute gibt, denn wer will schon wissen, wie es tatsächlich funktioniert 😊

Eine SPS als KI-SPS wäre denkbar, wenn die Daten dazu so geliefert werden, dass diese im Speicher der SPS sinnvoll untergebracht werden können. Die SPS ist für Datenmengen nicht ausgelegt, sondern eher für die sicher Verarbeitung der Daten, welche direkt unmittelbar zum Prozess gehören. Das bezieht sich selbstverständlich auf eine kostengünstige SPS, denn Gigabytes gibt es auch für viel Geld . Zudem benötigt man ein Deep-Learning, denn schließlich gehört das zur KI und letztendlich Ausgangslayer. So - die SPS wäre also als KI-SPS einsetzbar ohne den Verlust der gewohnten Sicherheit bezüglich der Hardware-Ausstattung.

Und was ist mit der Software?  Ein KI-Konzept bringt selbstverständlich eine gewisse Sicherheit, denn schließlich haben wir es hier mit KI zu tun und so ein KI-Prozess ist mit einem Standard-Algorithmus aus bewährten Bausteinen ausgestattet. Den so programmierten KI-Automat können wir abgesehen in einer SPS auch in einem Raspberry Pi einsetzen. So hätten wir auf beiden Seiten einen Gewinn – denke ich.

Mal aus einer anderen Perspektive betrachtet, dass SPS-Hersteller einen riesigen Aufwand veranstalten, um sichere SPSen zu bauen und dazu leider nur eine sehr begrenzte, firmeninterne Programmierung anbieten, dann ist hier nach meiner Meinung erst recht ein Platz für KI zu schaffen. Aus dem bekannten Seilbahnunglück 2021 ist eine solche Ableitung bezüglich der KI trotz Sicherheits-SPS sehr wohl zu bedenken – denke ich schon wieder 😊.

Zusammenfassend kann die Idee der KI-SPS sehr erfolgreich sein, wenn eine komplette, neue Überarbeitung der vergangenen Konzepte erfolgt und alte Ideen und Erfindungen modernisiert werden. Geschied das nicht, wird die traditionelle SPS den KI-Anschluss sicherlich verlieren.


Zusätzliche Info zum Signatur-Diagramm im Video:



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

Verleger können sich gerne melden 😊



 

Mittwoch, 24. November 2021

Copyright ©  Dipl.-Ing. Johannes Hofer 2021                                                            

KI für SPS-Programmierer

Die KI-SPS 


Einleitung

Muss man denn heutzutage tatsächlich alles mit einer KI erledigen? Für den Einsatz der KI in der industriellen Steuerungstechnik könnte das bedeutet, dass der traditionelle SPS-Programmierer ersetzt oder zumindest wesentlich in seiner Programmierarbeit unterstützt wird.

Zudem besteht auch leider die Möglichkeit, dass die KI in den SPSen gar nicht einziehen wird.

Abgesehen davon wird es bei Anwendung der KI in der SPS dann so sein, dass sich die Qualität und damit auch die Sichere Anwendung der Software in der SPS durch die KI enorm steigert. All diese Überlegungen setzen folgerichtig voraus, dass die KI in der SPS richtig verstanden wird und man nicht wieder beginnt zu programmieren.

Wie das gemeint ist? Nun ja, man muss in sogenannten Synapsen denken – und davon braucht man eine ganze Menge.

Synapsen in einer SPS? Also was es so alles gibt 😏

Es kann doch nicht sein, dass heutzutage der SPS-Programmierer noch mit FUP, KOP, AWL oder ähnlichen Programmieranweisungen arbeiten muss. In Bezug auf die kostenintensiven Inbetriebnahmen und das hohe Risiko der Produzenten, sowie die meist folgende Wartung und Richtigstellung nach der Inbetriebnahme, kann doch ein KI-System, das viel besser und wirtschaftlicher erledigen – oder?

Die SPS soll durch Lernen „quasi programmiert“ und nicht durch eigene, erstellte Algorithmen passend zur Aufgabenstellung codiert werden. Dazu ein wichtiger und wahrer Leitsatz:

Eine nicht geplante Programmierung wird ein Zufallsprodukt erzeugen.

Wieso jetzt dieser Einwand? Kann mir doch keiner erzählen, dass ich meine Software nicht plane – oder? Es gibt doch meist ein Pflichtenheft und solche Dinge. Das ist doch schon mal eine gewisse Planung und außerdem gibt es doch verschiedene Planungswerkzeuge wie Grafcet oder Schrittdiagramme usw.

Zugegeben wird viel auf der Baustelle erledigt und da könnte das mit der ungeplanten Software schon ein wenig wahr sein. Abgesehen von dem Ärger und Folgen, die man sich da so einhandelt, könnte das neue und aktuelle Thema der KI eventuell doch die so bekannten Inbetriebnahme Probleme in einem anderen Licht erscheinen lassen. Ich will es mal so ausdrücken.

Programmieren auf der Baustelle wird oft auch als Baustellenprogrammierung bezeichnet und zeigt eine mangelhafte Vorbereitung zur Projektaufgabe oder verdeutlicht auf einfache Weise, dass das Programm zur Inbetriebnahme nicht erstellt wurde.

Der neue Weg bedeutet also, dass KI für die SPS durch einen KI-Automaten umgesetzt wird. Diese Automatenprogrammierung ist ein fester Bestandteil einer Anwendung und somit eine SW mit festgelegten Algorithmen, welche wie eine Bibliothek betrachtet werden kann. So könnte die Baustellenprogrammierung sehr stark eingeschränkt werden oder sogar vielleicht auch der Vergangenheit angehören.

Denken Sie doch einmal über Ihre Anwendung in der traditionellen SPS nach. Da werden Timer, Zähler und viele weitere Bausteine zusammengefasst und kommen so in Ihrer Applikation zum Einsatz. Stellen Sie sich mal vor der Timer würde nicht funktionieren und das nach tagelanger Fehlersuche. Undenkbar, oder?

Bibliotheksbausteine, aber auch einfache, logische Bausteine wie UND, ODER usw. sind doch seit geraumer Zeit in vertrauensvollen Händen und werden ohne Bedenken eingesetzt.

Dann stellt sich mir die Frage ob ich dann auch einen KI-Automaten einsetzen kann?. Der Unterschied ist zwar wesentlich, denn hier verwende ich keine „einfachen“ Bausteine mehr, sondern ein System, bestehend aus Daten und festgelegten Regeln. In der Umsetzung allerdings verbergen sich allerdings wieder die uns bekannten Bibliotheksbausteine. Warum also der Neuzeit nicht anpassen!

Falls der Programmierer nach der Abarbeitung des KI-Automaten noch einen Einfluss auf das programmierte Geschehen ausüben möchte, besteht die Möglichkeit einer zusätzlichen Bearbeitung mittels IEC 611-31. Das wird zumindest immer wieder gefordert und kann ohne weitere Probleme nach Wunsch zusätzlich eingefügt werden. So gilt:

Der oder die SPS-Programmierer entscheiden wieviel KI das Programm beinhalten wird und richtet sich nach der geforderten Sicherheit, entsprechend der notwendigen Komplexität.

Das könnte doch eine Alternative sein, die moderne Denkweise für dieses Thema mal genauer zu betrachten! Um Probleme bei den verschiedenen Versionen und Typen der SPSen aus dem Weg zu gehen, soll eine Programmierung des Automaten möglichst versionsfrei gestaltet sein.

Das hört sich doch schon mal interessant an - oder?

SPS wird KI-SPS

Kann eine SPS für eine KI eingesetzt werden und wenn ja, macht das einen Sinn? 

Zunächst muss sich der interessierte Gedanken darüber machen, was so im Wesentlichen überhaupt eine KI ist und wie diese dann für die speziellen Anforderungen zur SPS umgesetzt werden kann. Ich habe dazu etliche Videos, Berichte und Dokumentationen studiert und versucht das neue Thema KI als SPS-Programmierer zu verstehen und möchte meine Erkenntnisse so zusammenzufassen, dass SPS-Programmierer, egal welche Altersgruppe und erworbene Berufserfahrung, so ein wenig Verständnis zum Thema finden und die KI für die eigenen Anwendungen in der SPS interessant macht.

Da werden Synapsen mit Daten versorgt und dann als Eingangslayer bezeichnet, welche über spezielle Funktionen im sogenannten Deep-Learning spezialisiert werden, damit entsprechende Ausgangslayer entstehen können. Diese können dann wieder als ein verständliches Ergebnis an den Menschen weitergegeben werden. Alle Fachleute der KI mögen mir verzeihen, wenn ich das so einfach darstelle, denn schließlich handelt es sich ja um eine wissenschaftliche, hoch einzustufende Technologie 😊.

Die bekanntesten Beispiele in der KI sind die Datenerfassung per Foto, welche dann über das Expertenwissen (Deep-Learning) wieder dazu führt, dass am Ausgangslayer ein Teil der Fotos wiedererkannt werden. Das hört sich sehr lustig an, so wie ich das formuliere, aber das ist tatsächlich so, zumindest erfreut diese Darstellung meine Zuhörer in Seminaren oder dergleichen.

Der Webseiten-Programmierer stuft die KI sicherlich anders ein, als ein SPS-Programmierer und es gibt eine ganze Menge weitere Anwendungsgebiete die fachspezifisch die KI als Erfolgserlebnis einstufen und sich viele Menschen derzeit regelrecht darauf stürzen. Und wenn es nur die Daten für eine Erfassung in Eingangslayer sind, ist hier ein wesentlicher Faktor für die weitere Verarbeitung (Deep-Learning) notwendig, damit der Eindruck entsteht, es handelt sich hier um künstliche Intelligenz. Ein Berater zur KI und deren Prozesse für das Marketing hatte mir zum Thema KI-SPS die Frage gestellt: Wo bekommst du eigentlich die Daten her?

Nun konnte ich das nicht beantworten, da ich in dieser Phase noch nicht genügend Kenntnisse für die KI hatte und der Fachberater wusste nicht was eine SPS ist.

Jetzt bin ich genau an dem Punkt, der mir heute nach ca. einem Jahr eine Antwort liefert. Die KI in der SPS ist nicht mit der Automatisierung durch KI im Gewerbe Marketing oder ähnliche Gebiete wie Webseiten vergleichbar. Mittlerweile gibt es sehr interessante Berichte über den Anschluss zur KI in SPS Anwendungen.

Dazu noch eine wichtige, weitere Darstellung bezüglich Geräte. Eine SPS könnte ja auch ein Raspberry PI sein oder sowas aus der Arduino-Welt und sogar IOT-2000. Hier sind Datenmengen nicht so das Problem. Also auf geht’s mit einer PLC die IEC-6311-31 nicht versteht, sondern nur moderne Hochsprachen und wie bei IOT sich sogar imaginär in einer Wolke befinden könnte 😊

Abgesehen von modern sind neu zeitige Hochsprachen eigentlich nur der Zeit angepasste Sprachkonzepte, welche weit entfernt einer notwendigen Basis an Grundelementen, nur der einfacheren Anwendung dienen soll.

Auch wenn das nicht ganz einfach ist, was ein Glück, dass es diese Sprachkonzepte heute gibt, denn wer will schon wissen wie es tatsächlich funktioniert 😊

Eine SPS als KI-SPS ist also denkbar, wenn die Daten so geliefert werden können, dass diese im Speicher sinnvoll untergebracht werden können. Die SPS ist für Datenmengen nicht ausgelegt, sondern eher für die sicher Verarbeitung der Daten, welche direkt unmittelbar zum Prozess gehören. Zudem benötigt man ein Deep-Learning, denn schließlich gehört das zur KI und letztendlich Ausgangslayer. So - die SPS wäre also als KI-SPS einsetzbar ohne den Verlust der gewohnten Sicherheit.

Jedoch bringt auch ein KI-Konzept Sicherheit, denn schließlich haben wir es hier mit KI zu tun und so ein KI-Prozess ist mit einem Standard-Algorithmus aus bewährten Bausteinen ausgelegt. Diesen können wir auch in einem Raspberry Pi einsetzen. So hätten wir auf beiden Seiten einen Gewinn!

Wenn man bedenkt, dass SPS-Hersteller einen riesigen Aufwand veranstalten, um sichere SPSen zu bauen und dazu nur eine sehr begrenzte, firmeninterne Programmierung erlauben, dann ist hier nach meiner Meinung erst recht ein Platz für KI zu schaffen. Aus dem bekannten Seilbahnunglück 2021 ist eine solche Ableitung trotz Sicherheits-SPS sehr wohl zu bedenken – denke ich.

Zusammenfassend kann die Idee der KI-SPS sehr erfolgreich sein, wenn eine komplette, neue Überarbeitung der vergangenen Konzepte erfolgt und alte Ideen und Erfindungen modernisiert werden. Geschied das nicht, wird die traditionelle SPS den KI-Anschluss verlieren.


Weitere Info im Video:



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

Buchverleger, Geräte-Hersteller, welche mich unterstützen möchten oder eine Zusammenarbeit wünschen, können sich gerne melden ..


Samstag, 9. Oktober 2021

 Autor und (c): Johannes Hofer                                                                                                                                                Letzter Update: 18.11.2021

KI für die industrielle Automatisierung

Der KI-Automat in der PLC


Der Prototyp III hat nun ein anderes Katzengesicht! Für ein vernünftiges Ergebnis müssen wir mehrmals lernen - denn schließlich wollen wir ja ein KI-System nutzen. Also, müssen wir immer mehr Katzen (Signaturen) aufnehmen, damit wir unser Ziel erreichen.

Durch die wachsende Datenmenge wird unser KI-Automat immer klüger, bis dieser unsere Hilfe für den gelernten Prozess nicht mehr benötigt, da er selbst ausreichend entscheiden kann.

Na toll - Hoffentlich funktioniert das auch 😏. Ich hatte das Glück den Prototyp III in einem Laborbetrieb in Belgien zu testen. Die Firma hatte mich eingeladen und zugeschaut, wie ich mit dem supervised learning meine Signaturen fotografiere, die Gewichtung mit der Pipline unterstütze und wie das so mit einer Simatic funktioniert. Vielen Dank für die freundliche Einladung und herzliche Grüße nach Brüssel!

Was machen wir nun? Im Prototyp II hatten wir nur graue Katzen, das waren ausschließlich digitale Signale. So konnten wir schon nach einem einmaligen Lernprozess ein recht ordentliches Ergebnis erzielen. Ein Programmierer kann das mit seinem Programm in SPS-Sprachen (IEC 611-31) so nicht erreichen. Warum nicht?

Jede Software hat einen bestimmten Fehler-Anteil. Bei nur 4% Fehlerquote handelt es sich bereits um einen Spritzenprogrammierer mit einem sehr guten Testresultat. Zudem gibt es bei jeder Aufgabenstellung unbekannte Situationen, welche das so erstellte Programm meistens nicht berücksichtigt oder im Falle der SPS-Programmiermöglichkeiten nicht berücksichtigen kann. 

Der KI-Automat kennt jede mögliche Situation! Es handelt sich hierbei zwar auch um eine Software, welches allerdings als KI-Automat programmiert ist und nachweisbar die Fehlergrenze von 4% nicht überschreitet.  

Der einzige Nachteil wäre, dass falsche Katzen fotografiert werden. Das ist aber ein anderes Thema, für das der KI-Automat nicht zuständig ist 😁

Das müsste natürlich genauer erklärt werden. Dazu müssen aber die Grundlagen zum KI-Automat vollständig verstanden werden. Und soweit sind wir noch nicht. Der Prototyp III bringt uns allerdings ein wenig weiter, dieses besser zu verstehen.

Fassen wir noch einmal kurz zusammen:
  • Wir lernen unterstützt die Signaturen (Input-Layer und supervised learning). Das sind unsere Synapsen
  • Danach erfolgt die Gewichtung mit einer Pipeline
  • Das Deep-Learning wird intern durch Expertenwissen je nach Bedarf hinzugefügt
  • Die so entstehenden Ausgangs-Layer dienen dem KI-Automat
  • Der KI-Automat in der Plc wird mit den Binär-Daten der Ausgangslayer gefüttert
Nun - erweitern wir unseren Horizont mit einer Aufgabe aus der Verfahrenstechnik, welche tatsächlich bereits von mir in Betrieb genommen wurde. Der Auftraggeber hat über die kurze, erfolgreiche  Inbetriebnahmezeit sein Erstaunen geäußert.

Nachteil ist: Den KI-Automat in SCL geschrieben kann der SPS-Programmierer nachvollziehen, allerdings seine Daten dazu nicht.

Letztendlich ist das aber egal, denn sind wir mal ehrlich: Wer versteht schon den Vorgang einer KI im Detail als SPS-Anwender? 😵

Aufgabenstellung

Das Programm soll auf Hinsicht zum Prototyp IV jetzt schon bereits seiten- und maßstabsorientiert sein.

In Prototyp IV werden wir eine Kranbrücke für Schüttgüter pendelarm positionieren und dazu benötigen wir Angaben zur Lagersituation in mm bzw. cm.

Wir wählen für dieses Projekt die Maße für DIN-A3 aus und einen genauen Zeichenmaßstab von ± 1mm je Pixel. Zudem kann das Papier industriegerecht gedruckt und verwendet werden. Für den jetzigen Prototyp III benötigen wir zusätzlich PCE-Symbole, also Tank, Ventil, Pumpe usw. 

Es soll ein Medium von z. B. 24° C auf 32°C innerhalb 10 Stunden temperiert werden. Danach soll die Temperatur von 32° für 2 Stunden gehalten werden. Der Prozess ist dann beendet und das Medium kann abgefüllt werden.

Der gesamte Temperaturverlauf ab 24° bis 32° darf ±1°C nicht überschreiten.

So - lieber SPS-Programmierer, dann leg mal los. Ich garantiere dir, dass du damit ein richtiges Problem bekommst, denn speziell zu dieser Aufgabe folgendes:
  • Das Medium ist auch innerhalb eines Produktes unterschiedlich (Toleranzbereich) und erzeugt damit unterschiedliche Eigenwärme
  • Das heiße Wasser weist größere Toleranzen auf, wenn der Heizkessel örtlich weit entfernt ist oder andere Teilnehmer (Kessel) vom Wasser gebrauch nehmen.
  • Die Geräte werden je nach Betriebszeiten erneuert und das erzeugt unterschiedliche Toleranzen welche der Programmierer nicht berücksichtigen kann, da diese nicht parametrisiert werden können.
  • Der Temperaturverlauf und seine Zeiten ändern sich je nach Charge (Batch)
  • Die Filtereigenschaften haben deutliche Verschleiß-Eigenschaften über den geforderten Prozessverlauf.
  • Und und und ...
Ein selbst lernendes System kann durch die Anzahl der fotografierten Katzen (bei jedem Batch) dazulernen. Das heißt, nur bei jedem erfolgreichen Prozess wird dieser in die Datenbank übernommen. Dadurch wird die ehemalige Hilfestellung bei der ersten Aufnahme ( supervised learning ) immer mehr in den Hintergrund treten und damit ironischerweise automatisch der SPS-Programmierer auch 😎.

Umsetzung

Wir werden zunächst unser C#-Programm aus Prototyp II so ändern, dass WPF wegfällt und eine seitenorientierte Oberfläche entsteht (Bild 1). Dann erweitern wir den KI-Automat mit analogen Signalen. Die grauen Katzen kennen wir ja bereits aus Prototyp I und II. Jetzt erhalten wir zusätzlich bunte Katzen 😉



Bild 1

In der ersten Phase erstellen wir die Daten für unseren Simulator zur Aufgabenstellung. In der zweiten Phase untersuchen wir das mit der SPS (Simatic). 

Es wird also in YouTube mindestens zwei Filmabschnitte geben.

Nach langer Diskussion und letztendlich in Brüssel habe ich (wir) entschieden, keinen PID-Regler anzuwenden. Das ist zwar ein Gerät, welches nur parametrisiert wird (so auch unser Timer TON), aber die Praxis zeigt, dass die Aufgabenstellung mit nur einem PID-Regler nicht gelöst werden konnte. So müssen mehrere PID-Regler verwendet werden, da die kritischen Überleitungen von der Start-Temperatur und er End-Temperatur überschwingen und so bei der Toleranz von nur ± 1°C die Angelegenheit sehr kompliziert wird. 

Außerdem ist auch hier die Verantwortung vom Programmierer zum Anlagenhersteller ständig in Frage gestellt - wenn es nun doch nicht funktioniert hat 😓. Diese Diskussionen finden wir leider bei jeder traditionellen Inbetriebnahme. Der Entwickler möchte mit komplexen Bausteinen wie den PID möglichst keinen Kontakt.

Mit unserem KI-Automat wird diese Situation deutlich verbessert, da verständliche Werkzeuge für die Aufnahme der Signaturen verwendet werden und damit die Anwendung der Programmzyklen oder ähnliches nicht mehr notwendig werden.

In der YouTube-Version werde ich natürlich nur kurze Prozesszeiten zeigen. 💁

Zum Thema KI

Kurz zusammengefasst nun der jetzige Stand zur SW für die KI-Automation im Prototyp III. Im nachfolgenden Bild sehen wir noch einmal die Vorgehensweise für die Erstellung eines Ausgangslayers (OL), welcher schließlich in die SPS transferiert und dort durch den KI Automat in einen zyklischen Prozess umgesetzt wird. 



Am PC wird zunächst mittels Machine-Learning (ML) alle 100 ms (Prototyp III) ein Foto der Signatur erzeugt und als Eingangslayer (IL)  abgelegt. Durch den Prozess des Deep-Learning (DL) entstehen so Outputlayer (OL), welche der Fabrik gegebenenfalls wieder zur Verfügung gestellt werden. Hier erfolgt bereits ein Lernprozess innerhalb der Entwicklungsphase. Die Ausgangslayer in der SPS werden im Prototyp III kontinuierlich verarbeitet ohne dass diese sich erneuern bzw. erweitern.

Dieser Prozess muss also nach einem erneuten Lernen am PC wieder in die SPS übertragen werden. Der KI-Automat in der SPS verarbeitet nun die im DB zur Verfügung gestellten Daten nach dem Prinzip der Automaten-Programmierung (SCL). 

Erst im Prototyp IV wird jeder Prozess-Lauf von der SPS an ein Daten-System zum  PC übertragen, welcher so wieder neue Outputlayer generiert. Diese gelangen dann wieder in die SPS als zusätzliche Daten im DB. Das werden wir dann im Prototyp IV sehr schön erkennen können.

So erhöht sich nach jedem Prozess die Datenbasis im DB und kann je nach Bedarf abgeschaltet werden. Die SPS hat damit eine automatisierte Inbetriebnahme abgeschlossen und arbeiten autark mit den bestehenden Daten.

Das noch einmal zur Erklärung, da doch immer wieder die gleichen Fragen gestellt werden. Ich hoffe das reicht vorerst, denn im folgenden Abschnitt zeige ich den ersten Kontakt über ein Diagram mit einem analogen Eingang. Hier lernen wir über die Tankfüllung das Ein/Ausschalten des Mixers. Der Test zeigt uns so, wie analoge Signale im Eingangslayer schließlich im Ausgangslayer landen.

Der Analog-Eingang

Der Analogeingang für die Tankfüllung_T1 soll den Mixer ab z ,B. 6% einschalten. Dazu verwenden wir einen Slider, welcher händisch auf 6% gestellt wird um dann den digitalen Ausgang TankMixer_T1 einzuschalten.




Danach können wir je nach Bedarf den automatischen Lauf des Sliders einschalten. Nun erhalten wir einen kontinuierlichen analogen Prozess, bis der Tank mit 100% gefüllt ist. Im Bild sehen wir die Tankfüllung bei 62% und den bereits gelernten SLF (supervised learning factor) mit 57%. 

Die so erzeugten Bilder alle 100 ms gelangen nun in die Eingangslayer, welche danach im Deep-Learning zu einem Ausgangs-Layer verarbeitet werden. 
Dazu das erste Video



Wir sehen bereits den Zusammenhang der Signale aus dem Signatur-Diagramm und den einzelnen Bauelementen, welche sich in beliebigen, hier DIN A3 Seiten, befinden. Somit sind auch bereits die Eigenschaften der Schnittstellen zur SPS festgelegt. Betrachten wir nun den folgenden Abschnitt zum lernen der Ventile und Pumpen.


Ventile und Pumpen für Füllen und Entleeren

Der Tank wird mit je einem Ventil und einer Pumpe gefüllt bzw. entleert.

Die Pumpe darf nicht gegen ein geschlossenes Ventil pumpen. 

Im Klartext muss also das Einschalten der Pumpe nur möglich sein, wenn das dazu gehörige Ventil auch geöffnet ist.

Wir haben bei der Pumpe und dem Ventil je einen Eingang als Setpoint, welche bestimmt ob das Ventil oder die Pumpe eingeschaltet werden soll oder nicht. Der sogenannte ActualValue ist dann der tatsächliche Ausgang zum Ventil / Pumpe um tatsächlich je eine Ausgang für das Einschalten zu liefern. Im Diagram deswegen als Output konfiguriert.

So erklärt sich auch das folgende Diagramm, welches das Lernen der jeweiligen Ventil/Pumpe-Kombination zeigt.



Alles ja schon aus dem Prototyp II bekannt mit den digitalen Signalen und am Besten den nächsten Film  betrachten 😉




Die externe KI_SPS kontrolliert die KD-SPS


Nun ist es soweit! Ich habe meine SPS mit einer Kunden-SPS verbunden, indem ich das Analog-Signal für die Tank-Temperatur parallel abgegriffen habe und der Stellwert für das Control-Valve schlichtweg kundenseitig abgeklemmt und auf meine KI-SPS wieder angeklemmt wurde.




So hat die KD-SPS nix gemerkt und kann ganz einfach mit dem Batch beginnen. Nur der Stellwert für das CV-Ventil wird nun über meine KI-SPS erfolgen. 

Und dass durch den Konstrukteur der Anlage, denn der muss es ja wissen 😇

Dazu benutzt er meinen Slider, sonst nichts. Wir holen uns also die Daten dieses mal von der Anlage aus der SPS über die Schnittstelle PLC_API, wie von mir in Udemy erklärt, allerdings mittlerweile hier bei mir erweitert mit Daten innerhalb des Streams. Das natürlich weiterhin im JSON-Format.

So muss nun der arme Konstrukteur den Schieber 10 Std. beobachten und regeln. 

Er wollte das ja so und keinen PID-Regler 🙉

Die Temperatur wird ab 24°C geregelt, genauer gesagt ab 24,3 °C, denn innerhalb von ±0.3 °C wird nichts geregelt. Der letzte Stellwert bleibt also erhalten. So der Herr Konstrukteur.






Da innerhalb der 10 Std. die Temperatur um 8°C erhöht wird, muss also je Stunde der Sollwert um 0.8°C erhöht werden. Wir sprechen die SPS mit der SW KI2SPS in einem Sekunden-Takt an, das sind also Werte die wir mit 3 Stellen hinter dem Komma (8°C / 10std / 60min / 60sek)  = 0.0002°C je Sekunde speichern könnten. Die KD-SPS gibt allerdings nur alle 5 Minuten einen Setpoint zum Temperaturverlauf. Das sind also in der KD-SPS 0.067°C je 5 min.  Naja - dann viel Spaß.

Der Sollwert (blaue Linie) wird wie bei der KD-SPS über TON-Timer in der KI-SPS nachvollzogen und am Monitor zur Unterstützung des Konstrukteurs die aktuelle Temperatur und der Setpoint, sowie die Differenz angezeigt. So kann er den Stellwert so ca. alle 5 Minuten entsprechend korrigieren oder dies auch jede Sekunde anpassen. Das ist ein Vorteil gegenüber der KD-SPS, welche ja nur alle 5 Minuten regelt.

Nun dann - kann ja nix mehr schief gehen👦

Wenn alles geklappt hat, wir haben ja nur Wasser 😏 als Medium, dann versuchen wir das noch einmal über die KI-SPS ohne den Konstrukteur.

So nebenbei bemerkt, steht meine KI-SPS immer noch in Belgien, denn der nette  Konstrukteur hat Spaß daran gefunden und wird wohl eine Modernisierung beim Lieferanten in Deutschland anfordern 👌

Der Verlauf mit der KI-SPS hatte keinen Fehler geliefert, wenn genügend gelernt wurde. Die Probleme in der KD-SPS wurden somit erkannt und können nun durch den Programmierer korrigiert werden.

Am besten wir schauen uns das alles, soweit möglich und sinnvoll, im nächsten Video an.



Fazit: 950 Aufnahmen für den Input-Layer und damit einen supervised learning factor SLF von 62% zeigen ein gutes Ergebnis. Damit sind sehr viele Fälle abgesichert, welche in der Batch-Programmierung in der KD-SPS nicht umgesetzt wurden.


Lernen muss gelernt sein


Bei diesem praktischen Test hat sich wieder gezeigt, dass sich der positive Erfolg nur durch richtiges Lernen einstellt.

Der Schieber könnte ja auch automatisch bewegt werden! Immer dann wenn  AV mit > 0.3 vom SP abweicht, könnte der Schieber entsprechend verschoben werden, bis die Toleranz wieder stimmt, Das würde dazu führen, das Problem der Programmierung nur zu verschieben. In diesem Fall kann zwar ein Ergebnis im KI-Automat nachvollzogen werden, aber nur wenn keine extremen Störungen auftreten.

Damit diese auch erfasst werden, hat der Bediener mit Absicht extreme Situationen erzeugt, die Grenzen bis 0.9°C aufweisen und dann entsprechend dagegen gesteuert. Das - und nur das - hat dann zum Ergebnis des SLF von 62% geführt. Bei Analogwerten mit einer Kommastelle ist das sehr viel. Eben diese 950 Aufnahmen, wobei die Möglichkeiten wesentlich höher liegen. Insgesamt sind bei 100% ohne eine Kommastelle, das ist der Stellwert von 0-100%, schon 400 Möglichkeiten mischbar.

Das Ergebnis in der KI-SPS mit dem KI-Automat ist allerdings sehr sicher, da die SW einen konstanten Algorithmus nachweist, denn ungeplante SW ist ein Zufallsprodukt 😉

Firmen, welche Simulationen schreiben, sind für die Anwendung dieser Technologie besonders angesprochen und gut geeignet diese Idee zu implementieren. Eine Simulation liefert die Signaturen und diese gehen dann getestet in den KI-Automat. Ist doch toll - oder - 

Also meldet euch bei Interesse einer Zusammenarbeit oder exklusive Übernahme des jetzigen Prototyp-Standes der SW Ki2SPS 😌

Bis zum Prototyp IV, wenn überhaupt ....🙋



   





















Donnerstag, 19. August 2021


KI für die industrielle Automatisierung


Hat ein wenig gedauert den Prototyp II ins Leben zu rufen. Warum ??


Nun ja - mit der Webseite und JS waren die Ressourcen schnell ausgeschöpft. Außerdem konnte ich mit JS bis heute die S7-xx nicht in Betrieb nehmen. 

Den Grund kenne ich bis heute nicht. Aber erfahrene Siemens-Anwender in den Bereichen Simatic-SPS können sich ihren Teil dazu denken. Anders ausgedrückt, liefert die Kundenbindung oft eine Erklärung zu solchen Dingen.

Ich habe mich nun entschlossen das Ganze in C# unter VS 2019 zu programmieren. Da ich kein C#-Programmierer bin und dazu eine Menge Schnittstellen zu bestehenden Systemen notwendig waren, hat es eben eine wenig gedauert :)

Besonders schön ist die Programmierung der Schnittstelle PLC_API (siehe Bild), welche mit meiner  S7-1200 super funktioniert. Wie der derzeitige Stand der Software nun aussieht ist im folgenden Bild aus dem Deployment ersichtlich. 




Dazu einige Worte:
    C# ist für einen JS-Programmierer zunächst in den ersten Schritten, eine Katastrophe! Allerdings gibt es in der modernen Ausführung C# die Möglichkeiten Datentypen zu entbinden. So konnte ich Arrays über List mit unterschiedlichen Datentypen, so wie in JS, deklarieren.

Damit ist mit der Deklaration der Klassen im Stiel C++ der Weg in Richtung JS schon einmal geebnet. Strukturen (Struct)  in C# für meine Anwendung inakzeptabel und somit unbrauchbar. Genug mit dem Meckern, kommen wir zu eigentlichen Thema.

Nun haben wir ein kompiliertes Produkt unter Window 10 und können so im Modul KI-Automation (linke Seite im Bild) unsere Schnittstellen zur SPS, zum Web und schließlich zum Supervised Learning System in unseren Prototypen anwenden. Eine Verbindung zu einer noch nicht definierten  Datenbank folgt dann im letzten Prototype IV.

Auf der rechten Seite sehen wir das Modul KI-Automat, welches die Ausgangslayer über die Schnittstelle PLC-API in einen KI-Automat packt.

Der Prototyp II soll nun die Anwendung des KI_SLS im SLS-Modus manuell und automatik demonstrieren. 

Die Betriebsarten  (manuell, automatik) beziehen sich auf das SLS Modell und hat mit den Betriebsarten der Anlage nichts zu tun. 

Das folgenden Bild zeigt den ersten Schritt zum Modul KI-Automation in C# umgesetzt. Da muss natürlich noch einiges entwickelt werden :) 




Beschreibung der Aufgabe zum Prototyp II:
    In einer Anlage werden runde Teile auf einem Förderband in eine Zange transportiert. Dort soll ein Roboter das Teil auf einen Rundschalt-Tisch platzieren. Der Prototyp II bedient den kompletten Weg vom Fördersystem (Laufband) über eine Weiche zu eine Zange. Dazu gehören mehrere Zylinder, ein Bandmotor und zwei Schnittstellen zur Material-Anlieferung sowie ein Roboter. Das SLS erfolgt über mehrere Schritte mit noch digitalen Signalen und standardisierten Element aus der Automatisierung nach DIN 6-1131, wie z. B. ein TON-Timer. Der Prototyp II besteht aus folgenden drei Gruppen:
  • Förderband
  • Material-Schieber
  • Material-Zange
Jede Gruppe hat somit ihre digitalen Eingangs und Ausgangsparameter, welche in der SPS global ohne spezielle Bezeichner vorhanden sind. Das gilt auch für die Ausgangsparameter und Timer- bzw. Zählerbausteine usw. 

Die Zuordnung der Parameter zur SPS erfolgt über den Modus => Set Parameter (Radio Button). Das ist bereits geschehen. Wie das funktioniert, sehen wir im Prototyp III, da wir dort auch analoge Signale verarbeiten.

    Unsere Aufgabe hat nun einige tausend Synapsen und ist für einen SPS-Programmierer schon nicht mehr sooo ...  einfach umzusetzen, wenn er das gleiche Ergebnis, wie aus dem Ausgangslayer über das KI_SLS entstanden ist, erreichen möchte.

Antwort zur Frage: Wie erfolgt die Gewichtung der Synapsen im Eingangslayer:
    Diese Frage wird immer wieder gestellt und es ist nur verständlich, denn in der technischen  Automatisierung können wir die Gewichtung wie es traditionell so gezeigt wird, nicht anwenden. Die KI ist hier total anders bezüglich der Gewichtung und nicht vergleichbar mit den verschiedenen Gewichtungen in der traditionellen KI. Das gilt auch für irgendwelche Filter, welche in der KI-SLS nicht zu finden sind. Wir verwenden hier eine sogenannte Pipeline. Diese soll im Laufe der Prototypen noch vorgestellt werden. Die Pipeline garantiert die Sicherheit der Ausführung in der SPS, wenn gewünscht bis zu 100%! Vorausgesetzt ist natürlich die ordentliche Umsetzung der Ausgangslayer in der SPS !!

Die Pipeline unterscheidet sich im wesentlichen in den Anwendungen der KI-SLS (manuell oder automatisch) und liefert die Sicherheit als Voraussetzung für die Umsetzung in eine SPS. Im Vergleich zur traditionellen KI kann die Pipeline als Gewichtung betrachtet werden.

Nun betrachten wir den ersten Block zum Förderband:




Im oberen Bild sehen wir das ML in der Betriebsart Manuell/Semiauto. Hier werden die entsprechenden Aufnahme mit Hilfe der Pipeline gemacht. Diese Vorgehensweise entspricht ungefähr den Aufnahmen von verschiedenen Katzen im traditionellen KI-System, wenn man so will. Es ist für den Konstrukteur ein sehr wichtiger Schritt, den er dann später mit der Automatischen Aufnahme vergleichen könnte. Das ist allerdings meistens nicht mehr nötig. 

Das automatische SLS ist aufwendig und wird bei jeder Änderung in der Konstruktion erneut programmiert. Damit ist das händische Verfahren günstiger, solange keine dynamischen Prozesse vorhanden sind.

Das Ergebnis in den Ausgangs-Layern allerdings ist für beide Verfahren bis zu diesem Stand Prototyp II so ziemlich gleich.

Betrachten wir hierzu nun das Prozessbild:




Es hat sich nun einiges getan. Die Teile werden links auf das Förderband transportiert, wenn eine Material-Anforderung anliegt. Dann gelangt das Teil auf den Tisch zum Zylinder indem es vom Teil davor in die richtige Position geschoben wird, welcher dieses nun in die Zange schiebt. Nach der Bearbeitung in der Zange wird ein Roboter dieses Teil dann auf einen Rundschalt-Tisch montieren (nicht sichtbar).

Das ganze wird nun im automatischen Betrieb über das Modul Machine-Learning trainiert und dann das Ergebnis hier im Monitor getestet oder direkt auf die CPU S7-1200 geladen.

Fortsetzung folgt ---> im letzten Teil wird das Video in meinem YouTube Kanal veröffentlicht. Ich denke so in einigen Tagen, wenn keine Benken zur Veröffentlichung anliegen.
Hier schon mal das tonlose Testvideo:




Hersteller von Simulation-Programmen Industrie 4.0 können gerne Kontakt aufnehmen, falls Interesse an eine Zusammenarbeit über diese tolle Idee besteht :)

Hier nun der Link zu YouTube:



Der Prototyp III wird nun vorbereitet und beinhaltet ein Beispiel aus der Verfahrenstechnik mit analogen Signalen und PID-Reglern. 

Es wird zu diesem Thema eine Serie KI mit dem TIA-Portal geben. Dazu suche ich einen deutschen oder spanischen Anbieter.  Also keine Niederlassung in Deutschland wie z.B. Udemy!!









Mittwoch, 16. Juni 2021

KI für die industrielle Automatisierung

 Geht KI auch mit dem TIA-Portal? 

Warum denn nicht? Geht ja auch mit dem Raspberry und PLC-Arduino und Beckhoff und Rockwell AB und B&R und  ...  so ... weiter ....

KI in der Steuerungstechnik ist die Zukunft für Manager aus den Fachbereichen wie z. B. Automatisierung, Sondermaschinenbau und SPS-Hersteller und gleichzeitig der Untergang für Personalanbieter der Bereiche Programmierer nach IEC-61131-3. 

Das Thema KI ist der Knackpunkt für die industrielle Automatisierung. Denn dort wird keine Programmiersprache mehr verwendet. Also kein:
  • FUP
  • KOP
  • AWL
  • AS
aber, falls vorhanden, ST oder eine andere höhere Programmiersprache, damit die aus der KI gelernten Daten nach dem gelernten Muster (Ausgangslayer) verarbeitet werden können. Die SPS hat dabei nur die Funktionalität der Sicherheit zu tragen. Das bedeutet:

  • Keinen projektbezogenen SPS-Programmierer mehr
  • Die Inbetriebnahme erfolgt durch den Konstrukteur der Anlage
  • Machine- und Deep learning liefern gleichzeitig auch den Funktionsnachweis
  • Die SPS verarbeitet die Daten der Ausgangslayer nach dem Prinzip KI-B
  • Automatische Fehlererkennung
  • Automatische Qualitätsoptimierung
  • Automatische Hinweise für nicht gelernte Zustände der Anlage
  • Durch die backpropagation (KI-B) wird eine höchste Sicherheit gewährleistet
Dazu sind natürlich einige Dinge zu klären. Was ist KI-B und was bedeutet ML für diesen KI-Bereich? Außerdem gibt es viele, viele weitere Fragen zum Thema "Keine SPS-Programmierer mehr nötig".

OK - Das Thema steht und ich erarbeite derzeit jeweils einen Prototypen aus 4 verschiedenen Branchen. Diese werden nach Fertigstellung auf meinem YouTube-Kanal veröffentlicht und somit zur Diskussion gestellt. Zumindest ist das so geplant :).


Der erste Prototyp

Der erste Prototyp soll ein einfaches Beispiel aus der Pneumatik sein. Bei dieser Gelegenheit kann ich gleich die Teil-Oberfläche des KI-B-Robots erklären.



Hier wird ein Zylinder ein- bzw. ausgefahren. Die Funktionsbeschreibung soll nun über das ML erfolgen. Das wäre in Worten ungefähr so: Der Zylinder soll ausfahren, solange das Signal 'S1_V1' am Ventil den Zustand 'true' besitzt. Zwangsmäßig fährt der Zylinder dann aus oder ein. 

Wir haben es also mit einer einfachen Steuerung zu tun, welche recht simpel in ML erfasst werden kann. Hier sind die Reaktoren = Eingangssignale = LS1_C1, LS2_C1, die Betriebsart Manuell und Automatik. Die Aktoren = Ausgangssignale sind S1_V1. Also vorerst nur ein aktiver Ausgang.

Die oberen drei Kreise ermöglichen das ML mit Handbetrieb (Manuell) und das ML in Automatik. Im folgenden Bild ist der Zylinder ausgefahren, da das Signal am Ventil aktiv ist.


Der Lernmodus für die Automatik und den Handbetrieb sind gleich, damit das Ganze zur Erklärung nicht zu kompliziert wird. Das ML müsste also nur die Parameter Manuel und Automatik berücksichtigen. Zudem aber wird nur in der Automatik auch auf mögliche Fehler und Warnings hingewiesen. Diese Parameter sind somit auch Ausgangsparameter und werden automatisch vorerst unsichtbar (Hiddenlayer) hinzugefügt. 

Mit Beginn des ML wird grundsätzlich die bestehende Situation als Grundstellung = Ausgangsparameter gelernt.

Damit haben wir also doch einige Ausgangsparameter, welche automatisch generiert werden hinzubekommen.  Mit dem ML wird ebenfalls ein Weg-Zeit-Diagramm zur Kontrolle automatisch generiert und spiegelt so den Lernmechanismus wieder. 




Damit die Frage gleich vorweg beantwortet wird:

Natürlich werden auch analoge Signale als AI und AQ berücksichtigt. Zudem kommen Elemente wie Timer , PID und andere Dinge hinzu.

Dazu dann mehr bei den Prototypen Chemie und Zellentechnik. Nun werde ich das Video für den ersten Prototyp fertig stellen, damit zunächst die prinzipielle Vorgehensweise gezeigt werden kann. Auf das Ergebnis bin ich selbst gespannt 😉 

Nun ist der erste Prototyp fertig (Stand 19.07.2021). 








Anhang:

Zum Thema KI:

Seminarveranstalter zum Thema KI für die Automatisierung können sich gerne anbieten.
Sollte es das DIF noch geben, bitte melden sie sich.

Links zu meinen Themen ohne KI:
https://www.youtube.com/watch?v=Hsn4yTFUZ_s

Udemy zur Vorbereitung mit einer PLC-API:
https://www.udemy.com/course/scl-api-mit-dem-tia-portal/learn/lecture/26664222#overview