Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik Mindestdauer Werterreichung wie abbilden?

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

    Logik Mindestdauer Werterreichung wie abbilden?

    Hallo zusammen,

    gibt es in der Logik des eibPCs2 eine einfache Möglichlichkeit eine Mindestdauer für die Erreichung eines Wertes einzurichten. Ein kurzes Beispiel wofür ich das nutzen möchte:
    Windgeschwindigkeit soll für mindests 1 Minuten über 1m/s sein um eine Logik zu aktivieren (Weränderung von 0 auf 1). Heißt ich muss eine Minute lang sicherstellen, dass eine Variable/Gruppenadresse einen Wert höher als 1 hat.

    Wie setze ich das am besten um?

    Viele Grüße
    Korbi

    #2
    Hi,

    das Prinzip ist:

    Bei jedem Wechsel von 0 auf 1 der Bedingung wird der Timer (delay()) (neu) gestartet. Wenn der Timer abgelaufen ist, und die Bedingung immernoch erfüllt ist, dann war der Wert während dem Timer immer größer.
    Falls es währenddessen kleiner geworden ist, wäre er am Ende nicht mehr erfüllt. Falls er zwischendurch kleiner und wieder größer ist, wird der Timer neu gestartet.

    image.png

    Gleiches Prinzip im Experten:

    Code:
    bWindalarm = "Wind-1/0/4" > 1f16
    if delay(bWindalarm, 60000u64) and bWindalarm then {
        write("295 - Alarm1-14/0/247", EIN);
    } endif​

    Kommentar


      #3
      Hi,

      super vielen Dank. Da war ich näher dran als ich vermutet hatte.

      Vieöe Grüße
      Korbi

      Kommentar

      Lädt...
      X