Montag, 17. April 2023

   Copyright ©  Dipl.-Ing. Johannes Hofer 2022                                           

 

KI2Plc

Die Möglichkeiten einer  SPS-Programmierung, um diese am Geschehen der künstlichen Intelligenz zu beteiligen

 




Fragen zu float oder real: 

Dazu ein Test-Beispiel aus der Analog-Verarbeitung


Gerade die Analog-Verarbeitung bereitet in jeder Hochsprache Probleme, zumindest die korrekte Verarbeitung für den Analogein- und Analogausgang des jeweiligen Gerätes.

Die so spezifizierten Bausteine, wie NORM und SCALE helfen dabei sich vorerst auf einer neutralen Ebene zu bewegen. Danach erfolgt mit einem MOVE die Übertragung nach einem analogen Ein- oder Ausgang, welcher im Gerät spezifiziert wurde.

Die sogenannte Treiberschnittstelle erledigt dann den Rest.

Das Lesen eines analogen Wertes aus der Schnittstelle erolgt in ein MW, welches den digitalen Zustand des ausgesuchten Ports darstellt. Je nach Konfiguration ist dieser polar oder bipolar. In den meisten, praktischen Anwendungen handelt es sich um einen polaren Port, welcher keine negativen Werte zulässt. Im folgenden Video ist wieder ein Vergleich zu sehen, welcher das Prinzip bei einer S7-1200 in FUP zeigt.

Das Video ist ohne Ton:



Analoge Werte werden in MD gespeichert. Das Merker-Doppelwort hat hier in pyPlc immer einen float-Wert gespeichert.


Wie wird der Python-Code in einer Hardware (z. B. Simatic) angewendet?

Die Frage zur Anwendung in einem Gerät kann erst vorgestellt werden, wenn der Baustein dazu in Python fertig gestellt ist. Grundsätzlich funktionieren die bereits bestehenden Bausteine aus der pyPlc.py. Dafür ist kein Python-Interpreter, sondern eine byte-orientierte Verabeitung programmiert. Ähnlich, wie es bei Java der Fall ist.

Der Byte-Interpreter ist für den Programmierer zugänglich und kann direkt im PC vorab getestet werden. Das ermöglicht den kompletten Test am Arbeitstisch und sollte so nach dem Download in das Gerät ohne Probleme funktionieren.

Geräte, welche Python verarbeiten (Microphyton) müssen noch getestet werden. Hier fehlt mir noch eine passende und sinnvolle Hardware.

Bis auf weitere Fragen zum Thema pyPlc 🙋