UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

LE: Umsetzung einer Ein- und Ausschaltverzögerung

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
paralan
Reactions:
Beiträge: 264
Registriert: Mi Sep 05, 2018 11:49 pm
Hat sich bedankt: 287 Mal
Danksagung erhalten: 102 Mal

LE: Umsetzung einer Ein- und Ausschaltverzögerung

#1

Beitrag von paralan »

Hallo zusammen,

ich versuche schon den ganzen Tag mit den Timern eine Ein- und Ausschaltverzögerung in einer Custom Logik nachzubilden. Leider ohne Erfolg. :roll:

Als Vorlage sollte z.B. eine normale UND-Logik dienen. An dieser Logikzelle kann man ja den Ausgang ein- und ausschaltverzögern.
Kann mir da jemand weiter helfen, dies in einer Custom Logik umzusetzen?

Bild

Vielen Dank!


Viele Grüße

Alan
Zuletzt geändert von Robert_Mini am Mi Jul 10, 2019 9:36 am, insgesamt 1-mal geändert.
Gruß Alan

TWS 2600 ID:190; VPN offen; Reboot nach Absprache, da Beschattung über Logikeditor aktiv!

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#2

Beitrag von gbglace »

wenn Du grundsätzlich mit den Customlogiken zrecht kommst, schaue Dir bei der gebauten UND-Logik mal den Code an der erscheint wenn Du auf </> klickst. und ggf nochmal wenn du die Zeitverzögerer ausbaust, das Delta im Code müsste das sein was du suchst.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
paralan
Reactions:
Beiträge: 264
Registriert: Mi Sep 05, 2018 11:49 pm
Hat sich bedankt: 287 Mal
Danksagung erhalten: 102 Mal

#3

Beitrag von paralan »

Danke Göran für den Hinweis! Werd mich da mal durchhangeln.

Grüße Alan
Gruß Alan

TWS 2600 ID:190; VPN offen; Reboot nach Absprache, da Beschattung über Logikeditor aktiv!

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#4

Beitrag von Robert_Mini »

Hallo Alan!

Hab grad in der KB noch den Monoflop aufgenommen => app.php/kb/viewarticle?a=87
Bezüglich der aller Optionen bin ich noch ein wenig auf @S. Kolbinger angewiesen (Unterschied zwischen pegelgesteuert und trigger auf beide Flanken??) , aber sollte soweit mal helfen.

Beispiel:

Code: Alles auswählen

{
    "Level":[
        ["$Brunnenpumpe_DelayTime","float",10.0],
        ["$Brunnenpumpe_Delay","bool",false],
        ["$Kuehlung_Aktiv","bool",false],
        ["$Reset","bool", false]
    ],
    "Module":[
        ["Monoflop","$Kuehlung_Aktiv","$Reset","$Brunnenpumpe_Delay","$Brunnenpumpe_DelayTime",2]
    ],
    "Input":[
        ["Freigabe","Freigabe Kühlung","$Kuehlung_Aktiv","c"]
    ],
    "Output":[
        ["Brunnenpumpe_Delay","Brunnenpumpe einschalten, wenn Kühlung aktiv und Temperaturen OK","$Brunnenpumpe_Delay","c"]
    ]
}
Für eine Einschaltverzögerung musst du das Beispiel noch mit einer AND Logik ergänzen und den invertierten Ausgang des Monoflop als Eingang verwenden => "-$Brunnenpumpe_Delay"

Code: Alles auswählen

["And",["$Temp_OK","-$Brunnenpumpe_Delay"],"$Brunnenpumpe_Ein"]
lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#5

Beitrag von S. Kolbinger »

Hallo zusammen,

ich hatte das schon mal vorbereitet.
Bevor also der Frust zu groß wird, kann man sich hier orientieren:

Als Schaltung:
Bild

Code: Alles auswählen

{
    "Level":[
        ["$In","bool",false],
        ["$dT_ON","float",0],
        ["$dT_OFF","float",0],
        ["$Out","bool",false],
        ["$Limit_ON","bool",false],
        ["$Delayed_ON","bool",false],
        ["$Extend_ON","bool",false],
        ["$VAR<Inhibit?>","bool",false]
    ],
    "Module":[
        ["Break",["$VAR<Inhibit?>"]],
        ["Monoflop","$In","-$In","$Limit_ON","$dT_ON",2],
        ["And",["$In","-$Limit_ON"],"$Delayed_ON"],
        ["Monoflop","$Delayed_ON","$Delayed_ON","$Extend_ON","$dT_OFF",4],
        ["Or",["$Delayed_ON","$Extend_ON"],"$Out"]
    ],
    "Input":[
        ["In","Eingang","$In","c"],
        ["dT_Ein","Einschaltverzögerung[s]","$dT_ON","c"],
        ["dT_Aus","Ausschaltverzögerung[s]","$dT_OFF","c"],
        ["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
    ],
    "Output":[
        ["Out","Ausgang","$Out","c"]
    ]
}
Bild
Gruß,
Stefan K.

Ersteller
paralan
Reactions:
Beiträge: 264
Registriert: Mi Sep 05, 2018 11:49 pm
Hat sich bedankt: 287 Mal
Danksagung erhalten: 102 Mal

#6

Beitrag von paralan »

Hi Stefan,

vielen Dank für deine schnelle Antwort!! :clap: Das werde ich gleich ausprobieren!!
Mein Fehler war die richtige Beschaltung des Reset Eingangs der Timer.

Viele Grüße

Alan
Gruß Alan

TWS 2600 ID:190; VPN offen; Reboot nach Absprache, da Beschattung über Logikeditor aktiv!

Ersteller
paralan
Reactions:
Beiträge: 264
Registriert: Mi Sep 05, 2018 11:49 pm
Hat sich bedankt: 287 Mal
Danksagung erhalten: 102 Mal

#7

Beitrag von paralan »

Robert_Mini hat geschrieben: Mi Jul 10, 2019 7:59 am Hallo Alan!

Hab grad in der KB noch den Monoflop aufgenommen => app.php/kb/viewarticle?a=87
Hallo Robert, vielen Dank! Die KB nutze ich sehr viel und ist eine super Hilfestellung und Nachschlagewerk! :handgestures-thumbupright:

Gruß Alan
Gruß Alan

TWS 2600 ID:190; VPN offen; Reboot nach Absprache, da Beschattung über Logikeditor aktiv!

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#8

Beitrag von Robert_Mini »

S. Kolbinger hat geschrieben: Mi Jul 10, 2019 9:07 am Hallo zusammen,

ich hatte das schon mal vorbereitet.
Bevor also der Frust zu groß wird, kann man sich hier orientieren:
Das Beispiel ist auch Basis für die Doku der Custom Logik in der KB =>
app.php/kb/viewarticle?a=84

Edit:
Hab grad den Titel noch leicht angepasst.

Robert
Zuletzt geändert von Robert_Mini am Mi Jul 10, 2019 9:37 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#9

Beitrag von S. Kolbinger »

Hi Robert,

bei allem was du für das Forum im allgemeinen und für die Knowledge-Base im besonderen leistest, kannst du dir meiner Unterstützung sicher sein. :bow-yellow:
Robert_Mini hat geschrieben: Mi Jul 10, 2019 7:59 am Hab grad in der KB noch den Monoflop aufgenommen => app.php/kb/viewarticle?a=87
Bezüglich der aller Optionen bin ich noch ein wenig auf @S. Kolbinger angewiesen (Unterschied zwischen pegelgesteuert und trigger auf beide Flanken??) , aber sollte soweit mal helfen.
Pegelgesteuert bedeutet, dass nur der aktuelle Wert am "Start"-Eingang bewertet wird.
Es spielt also keine Rolle, ob sich der Wert geändert hat oder gleich geblieben ist.
D.h. jedesmal, wenn die Logik getriggert wird (durch welchen Trigger auch immer, es muss nicht unbedingt durch den Eingang sein, der mit "Start" verknüpft ist), wird der aktuelle Wert interpretiert.

Liegt am Start-Eingang TRUE an:
  • Bei nicht retriggerbarem Timer, wird der Timer nur gestartet, falls er nicht bereits lief. Die Restlaufzeit wird nicht geändert.
  • Bei retriggerbarem Timer, wird der Timer gestartet, bzw. neu "aufgezogen", falls er bereits lief.

Ein typisches Beispiel ist ein Treppenhauslicht, das lediglich durch KNX-Taster gesteuert wird, die nur EIN-Telegramme auf den Bus schicken und niemals AUS-Telegramme.
Hier würde man einen pegelgesteuerten retriggerbaren Timer (Monoflop) verwenden
Zuletzt geändert von S. Kolbinger am Mi Jul 10, 2019 9:48 am, insgesamt 1-mal geändert.
Gruß,
Stefan K.

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#10

Beitrag von Robert_Mini »

Danke!
So ähnlich habe ich mir das auch gedacht.Ist der Unterschied zwischen:
  • 0 ... Nicht re-triggerbar, Pegelgesteuert
  • 6 ... Nicht re-triggerbar, Timer wird bei beiden Flanken getriggert

dann, dass pegelgesteuert bei jedem Telegramm neu getriggert wird und beiden Flanken nur wenn sich der Wert tatsächlich ändert - oder?

Danke und lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Logikengine & Logik-Editor“