OpenSource Webvisualisierung für Siemens S7 [Die Idee]

Die Idee zur freien OpenSource Siemens S7 Webvisualsierung

Die Komponenten von Siemens für die Produkte der Automatisierungswelt S7 (S7-300/S7-400/S7-1200/S7-1500) werden immer erschwinglicher. Grund genug diese für einfache Steuerungsaufgaben auch im Privaten Umfeld zu nutzten.
Was häufig zum Problem wird ist die Visualisierung des Systems. Im Industriellen Bereich gibt es Software in allen Ausführungen. Im Privatgebrauch möchte man eine Lösung für alle Systeme. Somit sollte der Zugriff per PC, Tablet, Smartphone gelingen ohne das viel weitere Hardware dafür benötig wird.

Als ich im letzten vergangene Jahr bei einem Kollegen die Hausautomatisierng auf Basis des KNX – Bus, erstellt habe bin ich auf ein Interessantes Projekt gestoßen.
Seit einiger Zeit sind im Internet zwei Projekte verfügbar die eine OpenSource Lösung zum Visualisieren des KNX Bus Stellen. Sie nennen sich:

Smarthome.py – Der Prozesshandler

Smarhome stellt einen Daemon für Linux Systeme bereit der verschiedenste Aufgaben übernimmt. So Handelt es grundsätzlich Items, die verschiedenen Plugins zugeordnete werden können, ein Plugin ist z.B. das KNX-Plugin. Hierbei lässt sich auf Gruppenadressen Lesen/Schreiben. Voraussetzung dafür ist eine Physikalische Verbindung zum KNX-Bus, z.B. per USB oder TCP/IP Busadapter. Dieses ist wahrscheinlich das mit Abstand das populärste Plugin der Software. Zusätzlich können die Datenitems auch einfach an den internen SQLite Server verbunden werden, so geschieht eine Aufzeichnung der Daten.

Das zweite Herzstück von Smarthome.py ist die Logik diese macht für z.B. KNX Systeme sinn, da hier sonst meistens Hardwaremodule genutzt werden müssen um einfache Und/Oder-Verknüpfungen zu erstellen.

http://mknx.github.io/smarthome/

Smartvisu

Die Smartvisu ist eine Software die im Browser einen WebSocket-Verbindung erzeugt und verschiedene Datenquellen zugreifen kann. Hier gibt es einen Treiber für Smarthome.py. Dieser Greift dann auf die Software Smarthome.py und kommuniziert in beide Richtungen.

Smarthome.py verfügt über verschiedene Mustervorlagen für die Hausautomatisierung. Die Konfiguration setzt voraus, das man mit PHP/HTML umgehen kann.

http://www.smartvisu.de/

In Summe sind dies alle notwendigen Komponenten um ein lauffähige Webvisualisierung für KNX-Haussysteme zu stellen. Als Hardware ist hier z.B. ein Raspberry Pi vollkommen ausreichend.

Anpassungen für Smarthome.py um eine Verbindung zur Siemens S7 zu ermöglichen

Um nun eine Verbindung zur Siemens S7 herstellen zu können müssen die notwendigen Komponenten verfügbar sein. Seit geraumer Zeit ist die Verbindung zur S7 per RFC1006 recht einfach und beherrschbar geworden. Seit dem gibt es diverse Projekte zur Anbindung für unterschiedlichste Systeme (libnodave, snap7, u.v.m)

Für die Auswahl benötigen wir allerdings etwas das in die vorhandenen Systeme passt. Hierbei bin ich auf pyhton-snap7 gestoßen.
Einen Wrapper für snap7 („This is a ctypes based python wrapper for snap7. Snap7 is an open source, 32/64 bit, multi-platform Ethernet communication suite for interfacing natively with Siemens S7 PLCs.“)

Also genau der wichtige Schlüssen um eine Verbindung zwischen allen Systemen aufzubauen.

Smartvisu <-> Smarthome.py <-> python-snap7 <-> snap7 <-> s7-steuerung

Die Idee für die Kommunikation ist vorhanden, nun kann die Umsetzung erfolgen!

Nächster Beitrag [Aufbau des Testsystem]

Bei Fragen ohne weiteren Ideen für dieses Projekt wäre ich erfreut

info@domes-finest.de


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert