KI2Plc
Die Möglichkeiten einer SPS-Programmierung, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
Zum Thema Byte-Code
Das
mit dem Byte-Code scheint für Python-Programmierer sehr interessant zu sein.
Aufgrund der Nachfrage das hier nachfolgende Beispiel. Mittlerweile hat sich auch ein
Hardware-Hersteller bei mir gemeldet. Erstaunlicherweise handelt es sich hier
um eine Save-SPS (EN 61511-1).
Python wird hier, was SIL betrifft, am höchsten eingestuft und somit C/C++
verdrängt. Das soll sich besonders auf den Störfall beziehen.
Ich
hatte mit dem Thema Save-SPS schon einiges zu tun und bin ehrlich gesagt nicht
überrascht. Dazu aber mehr, wenn der Teil Machine-Learning (siehe Bild oben,
rechter Radio-Button) fertig ist, denn hier wird der SPS-Code automatisch
erzeugt und der Byte-Code dazu zur Übertragung in eine Hardware generiert.
Falls es noch einen PLC-Hersteller
der neuen Generation mit Interesse zum Thema Ki2Plc gibt, bitte melden.
Nun
ist der byte-code-Generator für den Teil-1 endlich fertig und getestet und ich habe
mich aufgrund der vielen Nachfragen entschieden, den Teil-2 ebenfalls fertig zu
stellen, bevor es mit den Videos los gehen kann.
Somit wären alle Funktionen für beide Teile getestet und zudem weitere Python-PLC-Anweisungen fertig gestellt, welche nicht zum Thema IEC 61131-3 gehören, aber über den Byte-Code in der Hardware angewendet werden können.
So kommen wir schließlich über die hier integrierte SPS und dem Simulator zur KI2Plc, denn das ist ja schliesslich unser eigentliches Thema.
Der Byte-Code, kann in der PLC-Sim genauso wie der Python-Code getestet werden, wie im Bild oben zu sehen ist. Links der Python-Code mit allen gültigen Python-Anweisungen und rechts der Byte-Code mit den SPS-spezifischen Anwendungen.
Der
Byte-Code wurde hier mit 83 Bytes aus der Funktion def fc_lc1: übersetzt und kann nun getestet werden. Das Ergebnis sollte wie bei dem
Radio-Button pyPlc
zu sehen, identisch sein.
Die
Zeilen 193 bis 201 sind im Byte-Code nicht zu finden und werden demnach auch für
die PLC nicht sichtbar.
Damit
entfällt alles, was im regulären Python so noch programmiert wurde im Byte-Code
für die KI2Plc.
Das
macht die Sache sicherer, denn die Gepflogenheiten, ich darf das mal so nennen,
der Python-Programmierung entfallen nun und können deshalb so z. B. in der Simatic
S7-1200 angewendet werden.
Mittlerweile
gibt es den Byte-Code auch auf dem Pico 😊, allerdings
noch nicht genügend getestet, da auch hier noch einige Lektionen fehlen. Es folgt auch ein weiteres Beispiel auf einem Raspberry mit zusätzlicher Hardware-Erweiterung. Auch dazu Hersteller bitte melden, falls Interesse besteht.
Nun, ich hoffe das mit dem Byte-Code ein wenig gelichtet zu haben. Beim, nächsten Beitrag sehen wir auch die Merker-Worte und Real-Anwendungen für den analogen Teil der SPS zum Teil-2😊
🙋