neues Modul: SIEMENS Anbindung / S7 / Siemens Logo

Begonnen von charlie71, 12 August 2014, 15:33:23

Vorheriges Thema - Nächstes Thema

ecki58

noch einen Hinweis Alfons.
Ein Lebensbit von der Steuerung zu Fhem und zurück funktioniert bei mir auch nur sicher wenn ich eine Impuls/Pause mit mindestens 5s einstelle sonst kommen nicht alle Impulse sicher durch. Ich denke es liegt an der Verarbeitungszeit des RaspberryPi+. Sie Steuerung ist eine rel. neue S7-315 2pn/dp, Zykluszeit 2-5ms.
Deine SPS brauchst Du nicht erst aufbauen, so wichtig ist es nicht, mir würde es schon reichen wenn die Impulsverlängerung funktioniert.

Ecki

alfonsmoeller

#571
Hallo ecki58,
schau dir doch mal das Beispiel im WIKI an.

http://www.fhemwiki.de/wiki/S7#WinLC_RTX_4.5_Beispielconfig

Da schalte ich mit dem M255.5 einen Merker und lese diesen ständig
aus und zeige den an. Ich meine M255.5 ist ein 4 sec Tackt,
2 sec ein und  2 sec aus.

define Rueckmeldung7 S7_DRead db 31 0.7
attr Rueckmeldung7 IODev PCS_7
attr Rueckmeldung7 group Licht
attr Rueckmeldung7 room Keller


Auf der FHEM sieht man das Blinken des Symbols als Glühbirne ohne Ausfälle.
m.f.G. Alfons

ecki58

Moin Alfons,
das habe ich mir ja angesehen, da hast du auch recht und das passt so.
Ich bekomme aber Signale von FS20 Bewegungssensoren (0.5s Imp.) und will sie in der SPS sicher auswerten.
Die Signaländerungen von der SPS zu Fhem, die hauen ja auch bei mir hin.
Und ehrlich gesagt wollte ich bei der Kommunikation auf die Rückmeldungen verzichten.

Gruß
ecki

alfonsmoeller

Hallo ecki58,
versuch mal das:


define XXXXX_ein notify XXXXX { if ( Value("XXXXX") eq "on") {fhem("set zurSPS on;;set zurSPS on;;set zurSPS on")} }
define XXXXX_aus notify XXXXX { if ( Value("XXXXX") eq "off") {fhem("set zurSPS off;;set zurSPS off;;set zurSPS off")} }


"XXXXX" steht für deinen Bewegungsmelder und "zurSPS" für den Ausgang zur SPS. Notfalls wiederholst Du das 5 mal.

m.f.G. Alfons

ecki58

Hallo Alfons,

Dein Vorschlag funktioniert wie meiner:
define KeFl_BewegNotify notify KeFl_Beweg set DO_0010 $EVENT

ich jetzt eine Fangschaltung in der SPS eingerichtet.
So habe ich mit bekommen dass das Signal vom Bewegungssensor ein anderes ist als von dem Handsender.
Kann man auch super in EventGhost  mit den PCE und PCS beobachten.
Also "on" und "off" vom Handsender funktioniert, auch mit sehr kurzen Impulsen,
aber die Signale vom PIRA "Ein auf alte Helligkeit für Einschaltdauer x Sekunden" wird gar nicht verstanden !
Das sind die Sendebefehle am 34 bis 43 aus dem Handbuch.
Ich muß mir da wohl noch was anderes einfallen lassen.

Gruß
ecki

ecki58

oder charlie71 hat noch eine Idee, was in dem S7 Modul zu ergänzen ...   ???

Ich hab den PIRA jetzt noch mal mit den internen Tasten bedient. Und es ist eindeutig so, das kein Signal (auch länger) nicht erkannt wird.

ecki

alfonsmoeller

Hallo ecki58,
wenn ich das richtig verstehe hast Du meine 2 Zeilen nicht ausprobiert, sondern gehst davon aus das
beides (deine Zeile und meine Zeilen) das gleiche bewirkt. Beachte aber das in meinem Fall mehr Zeit
vergeht da der Schaltbefehl 3 mal ausgeführt wird.

Wenn ich das richtig weiß gehört das PIRA doch zur FS20 Familie. Dann sollte auch die Schalt-Verzögerung
funktionieren.

m.f.G. Alfons

ecki58

Doch ich hab sie ausprobiert und sie laufen auch noch so in meinem Fhem.
Wahrscheinlich kann ich das nicht sehen.

define KeFl_Beweg_ein notify KeFl_Beweg { if ( Value("KeFl_Beweg") eq "on") {fhem("set DO_0010 on;;set DO_0010 on;;set DO_0010 on")} }
define KeFl_Beweg_aus notify KeFl_Beweg { if ( Value("KeFl_Beweg") eq "off") {fhem("set DO_0010 off;;set DO_0010 off;;set DO_0010 off")} }

Das Problem ist warscheinlich der Sendebefehl vom PIRS
FS20PCE.11223344.1211.Do.PreviousValue (0.5, 'Do.Off')
FS20PCE.11223344.1211.Do.Off
so wird er von EventGhost angezeigt.

Bei dem Handsender sieht das so aus
FS20PCE.11223344.1211.Do.PreviousValue
FS20PCE.11223344.1211.Do.Off

und genau das wird der feine unterschied sein.  8)

John

@ecki58
folgender Vorschlag:
du fütterst mit dem schnellen Signal einen Zähler innerhalb von FHEM (z.B. ein dummy).
Diesen schickst du zur SPS.
Durch einen alt/neu Vergleich weiss die SPS, daß sich das Signal geändert hat.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

ecki58

Hallo John
das wird nicht helfen, da es wohl an dem Sendeprotokoll des PIRA liegt.

Das Problem ist warscheinlich der Sendebefehl vom PIRS
FS20PCE.11223344.1211.Do.PreviousValue (0.5, 'Do.Off')       --------->  das müßte ON werden bzw. Do.PreviousValue
FS20PCE.11223344.1211.Do.Off                                                           also so wie es eben ein Handschalter macht.
so wird er von EventGhost angezeigt.

Bei dem Handsender sieht das so aus
FS20PCE.11223344.1211.Do.PreviousValue                            ---------> hier funktioniert alles so wie ich es will.
FS20PCE.11223344.1211.Do.Off                                                           leider gibt der PIRA das so nicht her.

Gruß
Ecki

alfonsmoeller

Hallo John,
das ist eine sehr gute Idee.

Stichwort: "HourCounter"

m.f.G. Alfons

ecki58

Moin Alfons und John,

den HourCounter hab ich mir angesehen, der würde mit den Erkenntnissen die ich habe auch nicht funktionieren.
Es liegt an dem Sendetelegramm was ich im PIRA parametriert habe.

   FS20PCE.11223344.1211.Do.PreviousValue (0.5, 'Do.Off')

Dieser Befehl wird nicht als sauberes ON erkannt und eben so auch nicht interpretiert.
Nun bin ich auf die rettend Lösung gekommen. Ich habe als erstes den PIRA um parametriert
von  Do.PreviousValue (0.5, 'Do.Off') (im Bedienungsanleitung 34) in Do.PreviousValue (im Ba. 11).
In Fhem.cfg habe ich dann diese zwei Zeilen programmiert.

define KeFl_BewegNotify notify KeFl_Beweg set DO_0010 $EVENT
define S70010_on notify KeFl_Beweg:on.* { { fhem ("set KeFl_Beweg off ;; set DO_0010 off")}}

Die erste Zeile setzt den Ausgang zur SPS DO_0010
Da der PIRA nur noch ein "on" bei einer Bewegung sendet, setze ich in der zweiten Zeile den Befehl "off" für den PIRA und dem S7Ausgabesignal. Hier könnte man bestimmt auch noch eine Verzögerungszeit einbauen.
So funktioniert es nun seit ein paar Stunden ohne Probleme.

Leider habe ich mich und Euch erst mal auf die falsche Fährte gesetzt. Nichts desto trotz hatte ich durch euch erst die Möglichkeit auch noch mal anders darüber nachzudenken.

Vielen Dank euch Zweinen,
schönen Sonntag
Bis bald mal wieder
ecki

zicki

Moin zusammen,

währe es auch möglich Routing zu nutzen? Zum Beispiel FHEM --> Ethernet CP --> CPU1 --> Profibus --> CPU2 ? Mit dem OPC Inat funktionierts, hier könnte ich den TSAP abgucken. Aber welches Modul muss ich an welcher Stelle manipuliern um dieses zu testen? Hat jemand eine Idee oder kann mir einen Tip geben damit ich Routing nutzen kann?

Gruß Zicki
Raspberry PI 2 Jessie mit FHEM; FritzBox 7580 FritzOS 06.83; S7 200 für Heizung und Solar;AVR-NET-IO informiert die S7 200 über das Wetter von morgen und die aktuellen Temperaturen (5x 1-Wire)im Solarspeicher sowie 1x AVR-NET-IO mit Ethersex 10x 1-Wire Raumtemperaturen und Status Fensterkontakte

TechMech

Hallo Zusammen,

wie schon von DrJJ in Beitrag #559 erwähnt, würde mich eine Timer -Funktion auch interressieren.
Ich betreibe eine Gartenbewässerung über ein Logo 0BA8 und möchte gerne Zeiten bei der Ansteuerung über Fhem vorgeben.

Toll wäre es für vordefinierte Zeiten aus einem dropdown menü wählen zu können.
Vielleicht ist eine solche Funktion realisierbar, ich würde mich freuen.

Vielen Dank für die bisher großartige Leistung

Gruß TechMech

Porsti

Hi,

habe gerstern noch mal etwas mit dem Modul gespielt und muss mich meinem vorredner anschließen.
Es wäre praktisch einen weiteren Befehl wie on-for-timer oder den trigger für einen Befehl verlängern zu können.

Ist so etwas schwiering einzubinden??

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-SEC-SCo
MQTT,Shelly,  KNX (Merten, MDT, Siemens, ABB)
Erneuerbare: SMA + Mennekes