S7
S7 | |
---|---|
Zweck / Funktion | |
Dieses Modul dient zur Integration von Simatic/S7/Logo! Steuerungen in die FHEM | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstige Systeme |
Modulname | 44_S7.pm |
Ersteller | Charlie71 (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
under Construction
Die Simatic Steuerungsfamilie incl Logo! von Siemens ist eine Speicherprogrammierbare Steuerung. Dieses Modul unterstützt folgende Siemens Steuerungen sofern sie eine Ethernet Schnittstelle verfügen.
- S7 300/400/WinAC CPU
- S7 1200/1500 CPU
- S7 200/LOGO 0BA7
Unterstützte Plattformen
Ab der Version V2.0 werden nun alle Plattformen auf denen FHEM läuft unterstützt.
Auf folgenden Plattformen wurde das Modul bereits erfolgreich getestet:
Plattfromtestergebnisse:
Plattform | Teststatus | Bemerkung |
---|---|---|
ARMv6 | passed | raspberry pi |
AMD64 | passed | Mintlinux |
MIPS | passed | Fritzbox 7390 |
FHEM Modul
Das FHEM Modul besteht aus folgenden Dateien:
- 44_S7.pm ... das zentrale Modul stellt die Kommunikation zur SPS her und koordiniert das regelmäßige Abholen des Lesespeicherblöcke von der SPS.
- 44_S7_ARead.pm ... hiermit lässt sich ein readonly analoger Datenpunkt erstellen
- 44_S7_AWrite.pm ... hiermit lässt sich ein analoger Datenpunkt zum Schreiben an die SPS erstellen
- 44_S7_DRead.pm ... hiermit lässt sich ein digitaler/binary readonly Datenpunkt erstellen
- 44_S7_DWrite.pm ... hiermit lässt sich ein digitaler/binary Datenpunkt zum Schreiben erstellen
- 44_S7_Client.pm ... dieses Modul beinhaltet die S7 Protokoll (Es basiert auf Snap7 - Settimino)
Funktionsbeschreibung
Hier wird die grundsätzliche Funktionsweise des Moduls erklärt: Es lassen sich Lesespeicherblöcke (Readings) und Schreibspeicherblöcke (Writings) konfigurieren.
Lesespeicherblock (SPS --> FHEM): Der konfigurierte Speicherblock wird in diskreten Zeitabständen von der SPS gelesen. Anschließend werden alle Analogen readonly Datenpunkte und alle Digitalen/binary readonly Datenpunkte die an diesem Speicherblock 'hängen' aktualisiert.
Schreibspeicherblock (FHEM --> SPS): Die Schreibspeicherblöcke werden nur 'on demand' an die SPS geschickt. DH wird ein wert eines analogen Datenpunkts (zum Schreiben) geändert so wird der Wert im internen Abbild des Speicherblocks aktualisiert und anschliessend der gesamte Speicherblock zur SPS geschoben.
Aus diesem Konzept ergeben sich folgende Rahmenbedingungen: Ein Speicherbyte in der SPS kann entweder einem Reading oder einem Writing zugeordnet werden. Auf jeden Fall soll vermieden werden, dass ein Byte sowohl Reading gelesen als auch Writing überschrieben wird.