Ankündigung

Einklappen
Keine Ankündigung bisher.

Schaltzeitindex in Logik verwenden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DiMa
    antwortet
    Ich habe eine Zeitschaltuhr, die morgens um 6h eine Außenbeleuchtung einschaltet, die mit Sonnenaufgang abgeschaltet wird. Im Sommer liegt der Sonnenaufgang aber vor 6h, d.h. das Licht wird unnötig angeschaltet und bleibt dann auch an...

    Ich habe eine interne Variable angelegt, die speichert, ob die "Abschaltung" schon stattgefunden hat, d.h. ich kann prüfen, ob die Schaltzeit ausgeführt wurde (siehe Frage 1) und ob die Schaltzeit "Ausschalten" bereits ausgeführt wurde (interne Variable). Bei vorliegen dieser Bedingung will ich die Einschaltbefehle "überschreiben" (also "AUS" senden) sonst nicht. Einen Sonnenaufgangs-/Sonnenuntergangs-Baustein habe ich nicht gefunden.

    Mein Problem: Auch wenn die Bedingung nicht vorliegt, krieg' ich nur Logiken zusammen, die dann auch was ausführen. Soll heissen: Der "else"-Pfad wird bei jeder Schaltzeit getriggert.

    Hier mal ein Beispiel:

    Unbenanntes Bild.png

    Bei Vorliegen der korrekten Bedingung ist alles gut. Aber jede andere Bedingung - Abschaltung morgens wurde noch nicht ausgelöst, andere Schaltzeit, als die, um die es geht - schaltet meine Lampen ein, weil die Logik auf Grund der Statusänderung auch ausgeführt wird. Das einzige, was mir noch einfallen würde, wäre im Prinzip bei Eintreten der Bedingung alle Werte über einen Wertgenerator manuell zu setzen... Aber das muss doch eleganter gehen (hoffe ich)?

    Vielleicht ist meine Fragestellung so verständlicher.
    Angehängte Dateien
    Zuletzt geändert von DiMa; 28.12.2020, 15:30.

    Einen Kommentar schreiben:


  • Beleuchtfix
    antwortet
    Das Else wird einfach nicht ausformuliert, wenn die Bedingung nicht stimmt, tut sich einfach nichts. Für ein echtes Else musst du die Gegenfunktion auch getrennt afragen, also Vergleicher >5 --> Aktion Y parallel dazu Vergleicher <= 5 --> Aktion Z

    Gruß
    Florian

    Einen Kommentar schreiben:


  • DiMa
    antwortet
    Und ich habe gleich noch 'ne Frage, bzw. vmtl. einen Knoten im Hirn. Für die Anwendung oben will ich eine Funktion nach dem Schema (Pseudocode)

    IF <Zeitschaltuhr hat ausgelöst> AND <Schaltzeitindex korrekt> THEN
    DO <irgendwas>
    ELSE
    DO NOTHING
    realisieren. Den ersten Teil kriege ich problemlos hin (AND, Vergleicher, Inverter...), aber den "do nothing" Zweig kriege ich nicht hin. Gibt es eine Äquivalent zu exit oder break?

    Einen Kommentar schreiben:


  • DiMa
    hat ein Thema erstellt X1 Schaltzeitindex in Logik verwenden.

    Schaltzeitindex in Logik verwenden

    Ich möchte beim Auslösen einer bestimmten Schaltzeit eine Logik triggern. Leider ist die Doku an dieser Stelle etwas spärlich: Ich vermute, ich kann das über die Elemente "Ausgelöst" und "Schaltzeitindex" der Zeitschaltuhr realisieren. Was ich nicht verstehe:
    • Wo bekomme ich den Schaltzeitindex der Zeitschaltuhr her? Annahme: Das sind die jeweiligen Nummern vor den Schaltzeiten der Zeitschaltuhr im GPA, korrekt?
    • Zählt der Index ab 0 oder 1 (GPA zählt ab 1)?
    • Wie/wann wird der Zeitschaltindex aktualisiert? Steht in der Variablen immer der zuletzt ausgelöste Index? Ich muss auf den Trigger ("Ausgelöst") reagieren, aber nur bei einer bestimmten Schaltzeit ("Schaltzeitindex" = x).
Lädt...
X