
Dateien für das Seminar in Python-Code für die eigene Anwendung, Erweiterung usw.
Erster Kontakt zur installierten Software mit dem ersten, einfachen Operand; die Zuweisung
In main.py die eigene Funktion Eintragen
Erster Unterschied der Anweisungen für pyPls und byte_plc_code kennen lernen
Eine neue Funktion in die Datei lesson.py hinzufügen
Test der neuen und alten Funktion
Kommentarzeichen '#' und seine Wirkung auch im byte_plc_code
Verschiedene MOVE-Anwendungen für plc_sim zu demonstrieren
Darstellungsmöglichkeiten in plc_sim
Funktions-Namen im Python-Code kurz vorgestellt
Was machen wir im Kurs nicht
Operanden kennen lernen
Operandenbereich I, Q und M
Zuweisung mit Bit-Operanden
Speicher-Organisation kurz erklärt
Bit-Operanden und deren Zuweisung
Die Und-Verknüpfung mit dem AND-Operand
Was beim UND-Operand geht und was nicht geht
Typische Schreibfehler
Variablen als Ersatz zum Literal 'Q0.0' als Beispiel
Beeinflussung bei zwei gleichzeit gestarteten Funktionen
Bit-Operanden und deren Zuweisung
Die OR- und XOR-Verknüpfung mit den OR- und XOR-Operand
Unterschied von OR und XOR testen
Die Bit-Operanden A, AND, OR und XOR in Kombination testen und verstehen
Die Grenzen der Verschachtelung
Der Bitoperand Negation NEG
Der Operand SET
Der Operand RESET
Kopieren mit Integer und Real-Zahlen, sowie Konstanten
Das Zeichen (char, chr) mit MOVE anwenden
Die Wertebereiche MW und MD
Was geht hier in dieser Version und was geht nicht
Überlauf und Datenverlust
Die 6 Vergleichs-Operatoren
Der Compare-Operand mit MD, MW und Konstanen
Parameter-Beschreibung zum CMP-Operanden
Nicht bearbeitete Vergleichsoperanden im byte_plc_code
Vergleiche mit Real-Werte
Parameter P1 bis P3 kennen lernen
Die vier arithmetischen Basis-Operanden Add, Sub, Div und Mul
Was geht und was geht nicht im byte_plc_code
Verschiedene Aufruf-Möglichkeiten
Was ist eine Zeitverzögerung
Die Timer-Parameter
Was geht und was geht nicht mit dem Timer
Beispiele mit dem Timer
Fehlermöglichkeiten erkennen
Wie funktioniert ein TOF-Timer
Timer mit Timer verschachteln
Timer-Nr. richtig vergeben
Wie funktioniert der Zeit-Impuls
Aufruf und Test
Beispiel mit einer Sicherheits-Taste
Parameterbeschreibung der COUNTER-Operanden
Aufwärtszähler mit CTU-Operand (Counter Up)
Fehlermöglichkeiten durch falsche Parameter erkennen
Am Beispiel den CTU besser verstehen
Counter mit Timer combinieren
Prinzip des Abwärtszähler kennen lernen
Parameter des CTD-Operanden
Unterschied zum CTU
Parameter mit Merkern
Kleine Aufgabe mit Timer und CTD
Counter UP und Counter Down combimiert in CTUD
Kleines Praktikum in Python mit dem CTUP
Dieser Counter ist nicht in byte_plc_code umgesetzt
Analogwerte grundsätzlih betrachtet
Das Lesen vom Analogeingang mit ANA_IN
Die Kaibrierung mit LIMIT
Wir kopieren den Analogeingang auf den Analogausgang
Darstellung des Wertes in der Grafik
Umrechnung mit LIMIT, auch für die Grafik
Differenzmerkmale durch Berechnung mit LIMIT erkennen
Tür- oder auch Schleuse automatisch öffnen und schließen. Die Lösung in P1-L (Lektion 22) zeigt eine mehrstufige Lösung, ähnlich wie Netzwerke im TIA-Portal
Aufgabe beschreiben
Grenzen der SPS-Operanden in dieser Version darstellen
Lösung mit Python und SPS-Operanden demonstrieren
Die Lösung wird in L-P2 (Lektion 23) vorgestellt
Lösungsvorschlag zur Aufgabe P1 (Lektion 20)
Lösungsvorschlag zur Aufgabe P2 aus Lektion 21
Ein kleines Beispiel für die Umsetzung einer Aufgabe in Python mit dem Byte-Code nach einer Simatic S7-1200 und Snap7 zu transferieren um diese dann in der realen SPS zu starten. Hierzu gibt es keine Lektion Lösung, sondern nur das Video und die Dateien.
Die Software pyPlc ist in Python programmiert und bietet die Möglickeit, sich seine eigene SPS (PLC) in Python zu programmieren. Dazu wird schrittweise eine Einführung in die Operanden einer SPS vorgestellt, welche mit einer PLC-Simulation getestet werden können. Der Kurs kann als Anwendungstraining zum Thema SPS nicht nur für Python-Programmierer betrachtet werden, sondern dient auch als Vorgabe zum Thema SPS für Lehrbeauftragte.
Zusätzlich besteht die Möglichkeit einen sogenannten byte-plc_code zu erzeugen. Dieser dient zur Programmierung einer eigenen, externen SPS, welche kein Python versteht, denn dort werden allerdings meist andere Hochsprachen verwendet, wie z. B. SCL bei der Simatic oder Micropython beim Pico oder entsprechend andere Programmiersprachen. Der byte-plc_code wird am Beispiel der Simatic und Snap7 vorgestellt. Das bezieht sich allerdings nicht auf den vollen Umfang dieses Kurses und dient dem besseren Verständnis zum Byte-Code, wie hier der Simatic S7-1200 und deren Anwendung in SCL.
pyPlc ist speziell für diesen Kurs programmiert und dient als Vorlage und kann vom Teilnehmer mit entspechenden Kenntnissen für Python, beliebig erweitert, geändert und angewendet werden. Hier kann der Python-Programmierer seine Wissen über die Programmierung einer SPS erweitern und die Basics-Funktionen einer SPS lernen.
Hinweis: Es besteht keine Verpflichtung zur Vollständigkeit dieses Programmes, sondern pyPlc dient der selbständigen Anwendung und vorallem zur eigenen Schulung in den Bereichen SPS und Python.
Der Kurs wird mit Python auf einem Windows-PC vorgestellt. Andere Betriebssysteme gehen sicherlich auch, das Wissen dazu muss der Teilnehmer allerdings selbst erarbeiten oder bereits besitzen.
Deswegen möchte ich darauf hinweisen, dass dieser Kurs kein Python-Kurs ist. Auch die angedeuteten Hinweise zur KI mit einer PLC sind nicht Inhalt dieses Kurses.
Micropython ist nicht vollständig kompatibel zu Python und sollte berücksichtigt werden - das als Hinweis. Ich habe für den Kurs die Python-Version 3.11.2, 64 Bit on Win 32 verwendet.