Verhalten eines Monoflop noch unklar (Triggert er nach Ablauf der Zeit?)
Verfasst: Mi Nov 06, 2019 8:31 am
Ich kämpfe seit gestern morgen mit einer Logik, die ich mir eigentlich ganz einfach gedacht habe. Aber das Verhalten verstehe ich nicht und ich glaube es gibt hier auch noch Fehlverhalten im Dok-Modus, die es mir zusätzlich erschweren das Verhalten zu verstehen.
Was ich machen will:

Die Logikzelle schreibt aber zweimal ein True auf den Ausgang Out, 1x sofort und 1x nach Ablauf der 5 Sekunden. Warum?

Triggert ein Monoflop die eigene Logik nach Ablauf der Zeit?
Nur zur Info, die Logik 155, die ich nach 5 Sekunden mit dem zweiten Ausgang antriggern möchte ist es nicht. Die ist Deaktiviert und wird aktuell nicht ausgeführt. Ich habe den Ausgang 2 auch schon abgekoppelt, das hat nichts geändert.
Was ich machen will:
- Wenn auf einem Eingang ein Flankenwechsel von False auf True kommt (Inhibit 1),
- soll zunächst auf dem Ausgang Out ein True
- und nach Ablauf einer Zeit, die ich im Parameter "Verzögerung nächste Aktion" in Sekunden vorgebe, ebenfalls ein True gesendet werden.
Code: Alles auswählen
/**
*
*/
{
"Level":[
["$t_next","integer", 1],
["$Inhibit1","bool", false],
["$Out","bool", false],
["$constTrue","bool", true],
["$dummy","bool", false],
["$trigger_next","bool", false]
],
"Module":[
["Break",["$Inhibit1"]],
["And" , ["$constTrue"], "$Out"],
["Monoflop","$Out",0,"$dummy","$t_next",1],
["Latch", "$constTrue" ,"$trigger_next", "$dummy", 2]
],
"Input":[
["Verzögerung nächste Aktion","Zeit in Sekunden bis Folgefunktion ausgelöst wird","$t_next","u"],
["Inhibit 1","Bei False wird die Logik ausgeführt, bei True verhindert","$Inhibit1","a"]
],
"Output":[
["Out","Schalten","$Out","a"],
["Auslöser next function","HK aktiv oder inaktiv","$trigger_next","a"]
]
}

Die Logikzelle schreibt aber zweimal ein True auf den Ausgang Out, 1x sofort und 1x nach Ablauf der 5 Sekunden. Warum?

Triggert ein Monoflop die eigene Logik nach Ablauf der Zeit?
Nur zur Info, die Logik 155, die ich nach 5 Sekunden mit dem zweiten Ausgang antriggern möchte ist es nicht. Die ist Deaktiviert und wird aktuell nicht ausgeführt. Ich habe den Ausgang 2 auch schon abgekoppelt, das hat nichts geändert.