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 😊