Siemens S5 Vorbemerkungen für Einsteiger

Aus FHEMWiki
Version vom 20. Februar 2017, 17:01 Uhr von Krueuw (Diskussion | Beiträge) (Modul-Download nicht mehr nötig, da Bestandteil von FHEM, also entfernt)

Simatic S5 - die preiswerte Alternative

Für weniger als den Preis einer LOGO mit acht Ein- bzw. Ausgängen kann man bei der von Siemens bis 2014 mit Ersatzteilen versorgten SPS z.b. bei ebay Angebote wie diesesmit 64 digitalen Ein- bzw. Ausgängen, acht analogen Eingängen und einem analogen Ausgang finden. Für alle Komponenten in Industriequalität gibt es ausgefeilte deutschsprachige kostenlose Siemens-Dokumentation im PDF-Format.

Das Problem ist eher die notwendige Programmiersoftware:

  1. es gibt ein preiswertes Handprogrammiergerät PG 605 mit einzeiliger Eingabe für Puristen,
  2. das originale DOS Programm Step5 läuft in der DOS-Box von 32-Bit-Windows oder in einer virtuellen Maschine mit DOS oder Windows für alte Hasen,
  3. WinSPS S5 von MHJ läuft unter Windows und kostet immer noch über 400 €. Es gibt sie aber auch zum Ausprobieren als wenig eingeschränkte Sharewareversion zum kostenlosen Download. Das Interface ist z.B. wegen fehlender Mausradunterstützung und abweichender Tastaturkürzel etwas gewöhnungsbedürftig, aber sonst gut geeignet.
  4. S5 für Windows von IBHsoftec ist die modernste Version, die unter aktuellen Windows-Versionen läuft und über 800 € kostet.

Insbesondere gibt es keine Möglichkeit freie Software oder ein Linux-Programm einzusetzen. Eventuell kann man sich einen Programmier-PC (mit Programmierer ;-) borgen und dann ein sehr minimales universelles Programm schreiben und spätere Modifikationen auf FHEM-Basis abwickeln.

Konfiguration

Hardware

folgende Hardware habe ich für meinen Aufbau benutzt:

  • RaspberryPi
  • RS232<->PLC Converter Kabel von Horter
Nicht alle Leitungen bzw. USB-Adapter funktionieren mit dem Raspi. Deshalb gibt es hier eine funktionierende Variante mit einer Modifikation des Bausatzes von www.horter.de, entsprechend der Diskussion im Forum:

Horter-mod-minimal.png

Software

RaspberryPi

  1. Installation der aktuellen Raspbian Distribution
  2. Nachrichten aus SerialPort deaktivieren, das geht für den Raspi 1 und 2 am einfachsten über das RPI Config-Tool
    #:$> sudo raspi-config
    
  3. für den Raspi 3 muss man diese Anleitung beachten.
  4. Aktualisieren des Betriebssystem auf die aktuellste Version und Neustart
    #:$> sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot
    
  5. Installation fehlender Pakete
    #:$> sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl libjson-perl -y
    
  6. Herunterladen und installieren von FHEM
    #:$> sudo wget http://fhem.de/fhem-5.7.deb && sudo dpkg -i fhem-5.7.deb && rm fhem-5.7.deb
    
    #:$> cd /opt && sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
    
    • Im Web-Browser aufrufen: http://[ip-adresse]:8083
    • Über die Eingabeleiste von FHEM die letzten Updates einspielen und Neustart durchführen
    > update
    > shutdown restart

FHEM sollte nun laufen und die SPS vom Raspberry aus ansprechbar sein, indem man zunächst den FHEM-Befehl define zum Konfigurieren einer Verbindung zur SPS benutzt (siehe Wiki).

Projektvorschlag: S5 als Ein- bzw. Ausgangsklemmen für FHEM einsetzen

Die meisten FHEM-Installationen setzen wegen der Flexibilität eine Funklösung wie FS20 oder HomeMatic beim Schalten von Aktoren bzw. Einlesen von Sensoren ein. Eine deutlich höhere Zuverlässigkeit erreicht man mit leitungsgebundenen Geräten in Industriequalität. Die Simatic S5 könnte die Rolle einer kostengünstigen schaltbaren Klemme für FHEM ohne spezielles S5-Programm übernehmen, indem man einfach direkt mit FHEM auf den Ausgang schreibt. Hier A 4.0 als exemplarisches Beispiel:

define s5test S7 S5 /dev/ttyAMA0 
define S5A4.0 S7_DWrite outputs 0 4.0
attr S5A4.0 IODev s5test
attr S5A4.0 room Arbeitszimmer

Damit kann man direkt mit:

set S5A4.0 ON bzw. set S5A4.0 OFF

den Ausgang schalten, ohne den Ausgang innerhalb der SPS dafür zu konfigurieren.

Das gleiche Verfahren ist prinzipiell für das Lesen der Eingänge möglich. Hier E 3.0 als exemplarisches Beispiel:

define S5E3.0 S7_DRead inputs 0 3.0
attr S5E3.0 IODev s5test
attr SE34.0 room Arbeitszimmer

Der Haken an dieser Art der Nutzung ist das beschränkte Zeitverhalten. Impulse von weniger als ca. 1 s Länge können nicht direkt verwendet werden, da die Verbindung zwischen FHEM und S5 im 1-s-Takt gepollt wird. Dann ist eine einfache Programmierung notwendig. Ausgangsimpulse müssen so mit Timern auf der S5 auf das gewünschte Maß gekürzt und Eingangsimpule zur sicheren Erkennung entsprechend verlängert werden. Dies gilt insbesondere für Handtaster.

Die verwendeten zu schreibenden Bytes müssen exklusiv für FHEM zur Verfügung stehen, dürfen also im S5-Programm nicht beschrieben werden.

Zur Geschwindigkeitsverbesserung sollten diese Zeilen pro define hinzugefügt werden:

attr S5E3.0 event-min-interval .*:600
attr S5E3.0 event-on-change-reading state

Da FHEM die Verbindung zu mehreren SPSen unterstützt, könnten diese im Haus verteilt werden und im Falle der 95U z.B. je 16 Ein- und Ausgänge zur Verfügung stellen (modular erweiterbar). Der Einbau ist auf Hutschiene möglich. Die Leistungsaufnahme von ein paar Watt kann durch die Verwendung von 19 Volt Laptop-Netzteilen reduziert werden.

S595u.png

zurück zum Ausgangs-Artikel