Verschiedene Trigger und sets in einem DOIF möglich?

Begonnen von tomspatz, 15 Februar 2017, 18:32:54

Vorheriges Thema - Nächstes Thema

tomspatz

([event1] and [schalter1] (set device1)
DOELSEIF ([event1] and [schalter1] and [?Temperatur] (set device1) (set device2)
DOELSEIF ([event1] and [schalter2] and [?Temperatur] (set device1) (set device2) (set device3)


Wäre das OK so?
LG
Tom

Ellert

Das kommt darauf an, welches Verhalten Du erwartest.

tomspatz

Hallo Ellert
mir geht es darum diese drei verschiedenen DOIFS in einem zu packen, aber das ist auch nicht OK.
Dann nochmal:
event1 triggert wenn schalter1 an ist, wenn allerdings noch Temperatur "passt" soll NUR der zweite Befehlszweig ausgeführt werden.
Falls aber schalter2 zum event1 an ist und die Temperatur passt dann NUR Befehlszweig 3.

Hoffe das ich mich da nicht selbst verrenne.
LG
Tom

Per

Zitat von: tomspatz am 15 Februar 2017, 18:32:54Wäre das OK so?
Nein.
Deine zweite und dritte Bedingung wird nie erreicht, weil diese nur wahr werden können, wenn auch die erste schon wahr ist.
Du könntest aber die Reihenfolge einfach umkehren...

Ellert

#4
Zitat von: tomspatz am 16 Februar 2017, 09:57:22
Hallo Ellert
mir geht es darum diese drei verschiedenen DOIFS in einem zu packen, aber das ist auch nicht OK.
Dann nochmal:
event1 triggert wenn schalter1 an ist, wenn allerdings noch Temperatur "passt" soll NUR der zweite Befehlszweig ausgeführt werden.
Falls aber schalter2 zum event1 an ist und die Temperatur passt dann NUR Befehlszweig 3.

Hoffe das ich mich da nicht selbst verrenne.
LG
Tom

Du hast 4 Eingangsgrössen s1, s2, e1 und T damit hast Du 16 Kombinationsmöglichkeiten.
Da solltest Du Dir erstmal überlegen was bei jeder dieser Möglichkeiten passieren soll. Erst dann kannst Du anfangen die Bedingung zu optimieren.

Im ersten Zweig hast Du T bereits weg optimiert, das führt dazu, wenn e1 wahr wird und s1 wahr ist, nur Zweig 1 geprüft wird und zwar unabhängig von T. Das bedeutet Zweig 2 wird nie geprüft.

Zweig 3 wird nur geprüft, wenn s1 unwahr ist, e1 wahr ist, T wahr ist und s2 wahr wird.

Mit anderen Worten, Du müsstest !T in den ersten Zweig einbauen.

tomspatz

Vielen dank.
Verstehe das mit der Reihenfolge.
Das werde ich so testen und berichten.

LG
Tom