Modul LOGO für die Mikrosteuerung Siemens Logo 7/8

Begonnen von John, 18 Dezember 2014, 21:45:30

Vorheriges Thema - Nächstes Thema

mani

Hallo John,
Danke für Deine rasche Hilfe den ersten Schritt haben wir geschafft ;D
von mir aus kann es weiter gehen.. ;)

Mfg Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

John

#61
Hi mani,

wie heisst das Objekt und das zugordnete Reading von dem du die Aussentemperatur lesen willst ?

Hast du dich schon in die Grundlagen von "notify" eingelesen ?

Bitte noch einen Auszug vom Eventlog, in dem der zu setzende Wert zu sehen ist.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mani

Hallo John,
meine versuche mit notify sehen so aus die gehen aber nicht....

define Aussentemp_notify notify Heizung {\ fhem "set  Aussentemp ".ReadingsVal("Heizung"," ambientTemperature ");;\ }
oder
define Aussentemp_notify notify Aussentemperatur{\ fhem "set  Aussentemp ".ReadingsVal("Aussentemperatur");;\ }

das Objekt heißt "Heizung" und das Reading  "ambientTemperature" oder ich hab auch ein readingProxy mit ambientTemperatur Objektname "Aussentemperatur"

Danke Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

fu_zhou

define Aussentemp_notify notify Heizung {\
fhem "set Aussentemp ".ReadingsVal("Heizung","ambientTemperature","0");;\
}


,"0" muss rein, das ist der Ersatzwert, wenn ReadingsVal nichts liefert.
FHEM auf RasPi 2, S7-300 mit ET200S über ProfiNet

mani

Hallo fu_zhou,

Danke aber das geht leider auch nicht....was könnte noch falsch sein?

mfg Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

fu_zhou

Was steht denn jetzt im Log?

Probiere es doch mal mit dem Weather-Modul, das funktioniert so bei mir:
# Temperatur aus dem Web and 317 schicken
define Wetter Weather 638242 1800 de
attr Wetter room Wetter

define Temp_AU_Web S7_AWrite db 22 4 float
attr Temp_AU_Web IODev 317
attr Temp_AU_Web event-on-change-reading state
attr Temp_AU_Web room Wetter
attr Temp_AU_Web stateFormat {sprintf("%.1f",ReadingsVal($name,"state",0))." °C"}

define Temp_AU_Web_notify notify Wetter {\
fhem "set Temp_AU_Web ".ReadingsVal("Wetter","temp_c","10");;\
}
attr Temp_AU_Web_notify room Wetter


Das MUSS funktionieren.
FHEM auf RasPi 2, S7-300 mit ET200S über ProfiNet

John

@mani

Teil 2: Wie erstellt man ein funktionierendes Notify, das einen Wert in die Logo schreibt ?

Im Eventlog wirst du folgenden Eintrag finden, wenn das Reading von ambientTemperature aktualisiert wird:
Zitat2015-02-05 22:44:49 readingsProxy Heizung ambientTemperature: 33

Nachfolgender Notify wird immer einen Eintrag in die Log-Datei schreiben, wenn der Trigger gefeuert wird:

define Aussentemp_notify notify Heizung:ambientTemperature.* { Log(3,"n:%NAME p0:%EVTPART0 p1:%EVTPART1");;}

Der notify soll gelten wenn
* das Device Heizung  involviert ist
* und das Ausdruck ambientTemperature mit beliebigen Folgezeichen enthalten ist

In der Log-Datei steht dann:
Zitat2015.02.05 22:41:40 3: n:Heizung p0:ambientTemperature: p1:33
Damit ist auch die Bedeutung der Synonyme %NAME, %EVTPART0 und %EVTPART1 (ist der Wert des Readings)  klar.

Wenn das alles so funktioniert kommt der nächste Schritt. Wir wollen den Wert in die Logo schreiben.
Also modifizieren wird den Notify:
define Aussentemp_notify notify Heizung:ambientTemperature.* {"set Aussentemp %EVTPART1" }

Alternativ kann man auch folgendes formulieren:
define Aussentemp_notify notify Heizung:ambientTemperature.* set Aussentemp $EVTPART1

Man kann den Notify auch manuell testen mit folgender Anweisung:
trigger Heizung ambientTemperature: 13

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mani

Hallo John ,
Danke Funktioniert mit
define Aussentemp_notify notify Heizung:ambientTemperature.* set Aussentemp value $EVTPART1
;D nur weiß ich jetzt nicht wie ich den negativen Wert verarbeiten kann...
gibt es eine Funktion zum addieren damit in der logo ein positiver Wert ankommt
z.B.:Aussentemperatur=-5 Gain0,1=-50 was jetzt in der Logo ankommen mit  500 addieren=450=>würde dann in der Logo ankommen ist das möglich?

danke Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

John

@mani

aber die LOGO kann doch mit Integer und somit mit negativen Zahlen umgehen.
Was hast du damit für ein Problem.
Ausserdem kannst du einen Verstärker in der Logo nachschalten mit Gain und Offset.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mani

Hallo John,
hab einen Verstärker hinter dem Analogeingang gesetzt aber sobald ein negativ Wert kommt zeigt dieser nur noch 32000 wie müsst ich Offset ,Gain einstellen?..hab schon alles mögliche Versucht

Danke Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

John

#70
Hallo Manfred,

ich habe das mit LogoSoft V7 getestet und kann hier deine Erfahrung bestätigen.

Wenn ich das jedoch mit LogoSoft V8 (als Hardware ist eine Logo7 parametriert) funktionert im Simulations-Modus
alles bestens. (siehe Anhang)

Ich schlage vor, daß du deine Software kostenlos  upgradest
https://w3.siemens.com/mcms/programmable-logic-controller/de/logikmodul-logo/demo-software/Seiten/Default.aspx?HTTPS=REDIR
um das Ganze nochmal mit einer physischen Logo7 zu  testen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mani

Hallo John,
hab jetzt mit der neuen Software V8/Logo 0BA7.ES4 das ganze Versucht und bei mir geht es auch im Simulatinsmodus über einen AI Eingang aber über den NAI1 scheint es nicht zu funktionieren.. :-\ liegt es vielleicht an i2?

Mfg Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

John

#72
Hi Manfred,
das kann nicht sein.

Der Anhang in Post #70 zeigt ja gerade  einen NAI, der auf VW0 liegt, als i2 formatiert ist und
den Wert -200 hat.

Anbei mein Test-Projekt.

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mani

Hallo John,
hab jetzt offset auf -100 eingestellt im Fhem und jetzt bekomm ich auch verarbeitbare Werte. :)

Danke Manfred
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

John

Wie überprüfst du in der Logo, ob du von FHEM noch Werte bekommst ?

Wenn die Werte von FHEM prozessrelevant sind solltest du die Kommunikation  überwachen und ggf einen Ersatzwert in der Logo übernehmen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP