NEWS
8 Werte auf False oder TRUE vergleichen...dann setze
-
Hallo Leutz,
ich komme irgendwie nicht so richtig weiter, mir fehlt so ein wenig der Denkanstoß.
Bekomme das mit der Oder Verknüpfung nicht hin mit einem anschließend Move.Würde gerne 8 Werte gleichzeitig auf TRUE überprüfen, wenn einer von Ihnen ein TRUE hat möchte ich gerne einen WERT in eine Globale Variable schieben, aber auch wenn keine Boolsche Variable ein TRUE hat, möchte ich gerne einen WERT in eine Globale Variable schieben.
z.B. 13121 für TRUE und 16121 für FALSE
Wäre sehr dankbar für ein wenig Hilfe.
Grüße
Zimbl -
@zimbl Boolesche Algebra
Wenn nur einer der Werte true sein muss damit der Gesamtwert (deine globale Variable) true ist, dann ist das eine ODER Verknüpfung. Ich würd mal probieren:
GlobalBoole = Wert1 ODER Wert2 ODER Wert3 ...
und dann
WENN GlobalBoole DANN GlobalWert = 13121 SONST GlobalWert = 16121 -
ich würde das gerne mit Blockly machen ? !!!
mit welchen würdest du das machen ? Weil das klingt für mich erstmal einfacher... -
@zimbl
glaub der Block wird Dir da helfen können: -
oh jetzt wird es richtig kompliziert....
ich war eher bei Fall Objekt und an den externen einfach 8 dran gesetzt und die überprüfen auf Änderung bzw. auf Unwahr...
aber da bin ich dann nicht weiter gekommen...
-
@zimbl sagte in 8 Werte auf False oder TRUE vergleichen...dann setze:
ich war eher bei Fall Objekt und an den externen einfach 8 dran gesetzt und die überprüfen auf Änderung bzw. auf Unwahr...
Bei dem WirrWarr würde ich auch nicht weiter kommen
Versuch mal "normal" zu erklären was Du möchtest, denn ich glaube dann wird eben dieser von mir benannte Block Dein Rätsel lösen !
-
Also ich möchte :
Bei 8 Überwachten Werte auf "TRUE" in eine Globale Variable den Wert 12345 schreiben.
Wenn keiner dieser Werte ein TRUE hat, dann soll in dieser Globalen Variable den Wert 12346 schreiben.
Mit einer Normalen SPS wäre das richtig easy...aber bei Blockly tue ich mir etwas schwer...
Eine ODER Verknüpfung mit 8 Eingängen, einem Ausgang und diesen dann auf ein MOVE mit EN-Eingang. oder vielleicht sogar einen SEL Baustein....aber wie gesagt, bei Blockly ist es verwirrend...
-
@zimbl ich verstehe dein Problem mit Blockly nicht, das müsste imho so aussehen
Du hängst einfach auf der rechten Seite des "oder" jeweils wieder ein "oder" rein bis du da 8 Werte eintragen kannst.
ObjectID wäre dann die globale Boolean Variable, die du vorher anlegen musst, das "oder" findest du im Blockly unter "Logik" (und da wählst du dann "und" aus und änderst das "und" in ein "oder" -
@zimbl sind Deine DPs alle im selben Adapter zu finden ? Also im selben Objekt-Strang?
-
@zimbl sagte: Bei 8 Überwachten Werte
Du meinst mit Werten Datenpunkte?
Dann kann man entsprechend viele Blöcke "oder" verwenden oder es über eine Schleife lösen. -
-
ja das sieht ganz gut aus....ich glaube hier werde ich mal drauf aufbauen...
Meine Idee sag bisher so aus...
-
obwohl das ist für mich halt auch sehr gut nachvollziehbar....."als laie"
aber ich denke auch aufwendiger...
-
Hier löst dein Script allerdings schon aus, sobald eines der Objekte auf 'false' wechselt bzw. aktualisiert. Das würde der "oder" Verknüpfung entsprechen. Wenn alle Objekte z.B. auf 'true' stehen und NUR dann ausgelöst werden soll, musst du einen anderen Weg suchen. Aber wie du ja gesehen hast, führen einige Wege zum Ziel.
-
ja meins ist auch nur mal so ein versuch....man muss auch probieren, sonst lernt man es ja nie. Zum Glück gibt es hier dieses Forum....
Vielen Dank nochmal an alle
-
Richtig. Einfach machen und gucken, was passiert. So lernt man am Besten.
-
so ich habe das mal aufgebaut und getestet,
aber leider nimmt er immer den oberen Wert zum Steuern. (12346)Was könnte verkehrt sein ?
-
@zimbl sagte in 8 Werte auf False oder TRUE vergleichen...dann setze:
Was könnte verkehrt sein ?
Wenn Du das mal zeigen würdest (bildlich) dann könnte man da auch helfen
-
natürlich kein Problem.
ich muss dazu sagen, das ich derzeit eigentlich "denke" das ich hier nur Änderungen registriere, weil die unteren Werte sind im "Normal" Zustand TRUE und die oberen GPIO "FALSE"
-
@zimbl sagte: das ich hier nur Änderungen registriere
So ist es: Wenn sich kein Wert ändert, wird auch nicht getriggert.