Siemens IOT2000

Lesen Sie hier, wie man die GRAFCET-Engine auf dem Siemens IOT2020/2040 verwendet und anschließend einen GRAFCET-Plan überträgt.

Sie benötigen GRAFCET-Studio Version 1.0.3.0 oder neuer!

Wie beim Raspberry Pi wird ein Python3 Script gestartet und anschließend kann das IOT über Grafcet-Studio über die Grafcet-Norm programmiert werden. Die Kommunikation zwischen Grafcet-Studio und dem IOT ist ebenfalls über das MQTT Protokol realisiert. Siehe dazu auch die Beschreibung für den Raspberry Pi.

Die Kombination aus IOT2020/IOT2040 und Grafcet-Studio bietet folgende Möglichkeiten:

  • Erstellung der Grafcet-Logik (Schrittkette) mit Grafcet-Studio
  • Download der Grafcet-Logik in das IOT (dies dauert nur 1 Sekunde)
  • Beobachtung (Debuggen) der Grafcet-Logik
  • Über die Grafcet-Logik können beliebige Sensoren und Aktoren verwendet werden, die über Python ansprechbar sind (= keine Einschränkungen).
  • Der IOT kann über das lokale Netzwerk oder über das Internet angesprochen werden (MQTT macht es möglich)

Weitere Vorteile von Grafcet-Studio:

  • Visuelle Programmierung und Debuggen des IOT.
  • Einfaches und reduziertes Userinterface (UI) in Grafcet-Studio (= einfache Bedienung).
  • Verwendung der Norm Grafcet DIN EN 60848: Diese Norm ist Bestandteil des Lehrplans von vielen technische Berufen.
  • Die Dokumentation in Grafcet ist gleichzeitig das Steuerungsprogramm
  • Simulator integriert: Sie können ohne Hardware die Grafcet-Logik vorab simulieren, bevor Sie den Grafcet in das Device übertragen
  • Hoch komfortable Entwicklung: Das Programm kann innerhalb 1 Sekunde in das Device übertragen werden und läuft dort autark.
  • Moderne Entwicklungsumgebung: Vektor-orientierte UI auf Basis von Microsoft Windows Presentation Foundation (WPF).
  • Ziel-Plattformübergreifend: Das erstellte Steuerungsprogramm kann ohne Änderungen in ein anderes System (S7-Steuerung von Siemens, Arduino Due, Raspberry Pi) verwendet werden.
  • Durch das Python Skript können alle verfügbaren Baugruppen in der Grafcet-Logik verwendet werden.
  • Es besteht die Möglichkeit, die Grafcet-Logik durch Python-Befehle zu ergänzen. Beispiel: Wenn ein bestimmtes Ereignis im Grafcet auftritt könnte eine Email über Python verschickt werden.
  • Es können mehrere Instanzen der Grafcet-Engine im Python-Skript erzeugt werden, die unabhängig voneinander sind. Diese unterschiedlichen Instanzen können bei Bedarf untereinander kommunizieren.
  • Die Grafcet-Runtime (Grafcet-Engine) ist für das Device kostenlos. Nur den Editor (Grafcet-Studio) muss man erwerben (z.B. IoT-Edition für 99€ +MwSt.)
  • Grafcet-Studio kann im Simulatormodus mit einer virtuellen Anlage/Maschine verbunden werden. So kann der Grafcet sehr effizient überprüft werden. Siehe YouTube-Video.

  • GRAFCET-Studio Pro-Edition oder IoT-Edition oder GRAFCET-Studio Demoversion
  • IOT2020 oder IOT2040 mit Python3. (Python3 ist auf dem IOT bereits vorinstalliert)

  1. Download des Betriebssystems (Image). Link.
  2. Kopieren Sie das Image auf eine SD-Karte (mind. 16 GB). Für das Schreiben des Images können Sie z.B. den Win32 Diskmanager verwenden
  3. Download von PuTTY. Mit diesem Tool können Sie das IOT über das SSH protokoll fernsteuern. Link.
  4. Download eines FTP Programms. Damit können Sie Dateien von Ihrem PC auf das IOT kopieren. Downloadlink von FileZilla.
  5. Einlegen der SD-Karte und einschalten

Zu der Einrichtung des SIEMENS IOT gibt es auch eine (englische) PDF von Siemens: Link.

Die IP-Adresse des IOT ist voreingestellt auf 192.168.200.1. Sie sollten deshalb Ihre Netzwerkkarte auf das gleiche Subnetz einstellen, z.B. auf 192.168.200.10. Tipp: Schließen Sie einen USB-Netzwerkadapter an. Die IP Adresse dieses Adapters können Sie dann unabhängig von Ihrer Standard-Netzwerkkarte einstellen.

Wenn die Verbindung mit PuTTY steht, können Sie sich als "root" einloggen. Starten Sie anschließend das Setup-Programm durch eingabe von iot2000setup:

Im Menü Software->Manage Autostart Options können Sie die Option Auto start Mosquitto Broker einschalten:

Nach dem Reboot steht der MQTT Broker zur Verfügung. In Grafcet-Studio können Sie dann einfach die IP Adresse des IOT2000 in den Deviceeinstellungen angeben.

Bei den Netzwerkeinstellungen sollten Sie als neue IP Adresse dhcp einstellen. Dann erhällt das IOT eine passende IP Adresse vom DHCP Server in Ihrem lokalen Netzwerk. Über die Logdateien des Routers finden Sie heraus, welche IP-Adresse vergeben wurde.

Die Grafcet-Engine (Python3 Skript) kommuniziert mit Grafcet-Studio über MQTT. Deshalb muss die Bibliothek "paho-mqtt" installiert werden. Diese Bibliothek wird von der Grafcet-Engine verwendet. Verbinden Sie sich über PuTTY und geben Sie folgenden Befehl ein:

pip3 install paho-mqtt

Laden Sie nachfolgende ZIP Datei herunter:

In der ZIP Datei finden Sie u.a. diese Dateien:

  • grafcet_IOT2000.py = Hier wird eine Instanz der Grafcet-Engine erzeugt und verwendet
  • GrafcetEngineRuntime.py = Grafcet-Engine als Python Code. Das Beispiel grafcet_IOT2000.py verwendet diese Bibliothek.

Schritt Erklärung
1 Import der Grafcet-Engine.
2 Anlegen einer Grafcet-Engine Instanz.
3 MQTT Verbindung einstellen. Der 2. und 3. Parameter muss mit der Einstellung in Grafcet-Studio übereinstimmen.
4 In der Schleife: Bearbeitung der Grafcet-Logik.

Hinweis: In diesem Skript fehlt der Zugriff auf die Hardware Ein- und Ausgänge. Die Grafcet-Engine stellt Funktionen (read... und write...) bereit, um die Grafcet-Eingänge zu beschreiben und die Grafcet-Ausgänge auszulesen. Damit die Grafcet-Logik die Hardware Ein- und Ausgänge verwenden kann, müssen die Zustände (Werte) der Eingänge zyklisch in die Grafcet-Eingänge geschrieben werden. Und die Zustände der Grafcet-Ausgänge müssen in die Hardware-Ausgänge geschrieben werden. Die Beschreibung der Funktionen finden Sie hier.

So fügen Sie das Device in Grafcet-Studio hinzu:

Schritt Erklärung
1 Das Fenster Grafcet-Engine zur Ansicht bringen und den Plus-Button drücken.
2 Als Device wählen: "Grafcet-Engine MQTT".
3 Einen beliebigen Namen eingeben. Dieser Name erscheint dann später in der Auswahl-Liste
4 Ok-Button drücken
5 IP-Adresse des IOT2000 angeben. Auf dem IOT muss dann der MQTT Broker (Mosquitto) gestartet sein.
6 Topic1 ist eine beliebige Kennung, die im Python-Skript identisch sein muss.
7 Topic2 ist eine beliebige Kennung, die im Python-Skript identisch sein muss.

Bei Verbindungsproblemen bitte folgendes prüfen:

  • Ist der IOT2000 über die IP-Adresse erreichbar? PC und IOT müssen im gleichen Subnetz sein. Beispiel: IOT-IP: 192.168.2.118, PC-IP= 192.168.2.101
  • Ist der Mosquitto MQTT Broker eingeschaltet? Nach dem Einschalten im IoT2000Setup muss das IOT neu gestartet werden.
  • Ist das Python-Skript gestartet?
  • Ist Topic1 und Topic2 im Python-Skript und in Grafcet-Studio identisch?
  • Verwenden IOT und Grafcet-Studio den gleichen MQTT Broker?