Hallo Leute,
irgendwie habe ich einen Knoten im Gehirn auch wenn ich denke, dass es eigentlich ganz einfach gehen müsste.
Also ich will, dass bei Eintreten eines "Auslösers" (z.B. es regnet gerade in die Bude) sofort eine "Reaktion" ausgelöst wird (Ansage oder was auch immer). Und diese soll alle 5 Minuten wiederholt werden solange der Auslöser weiter besteht.
Klingt nicht kompliziert, oder? Bei zyklisch denkt man sofort an cycle, aber der kann nicht "sofort" sondern erst, wenn zufällig gerade sein 5-Minuten-Zyklus erreicht ist.
Bisher hatte ich das mit einer Hilfsvariablen etwa so gelöst:
Kommt mir aber sperrig vor. Jetzt ist mir eingefallen, dass es ohne Hilfsvariable und dafür mit afterc auch gehen müste. Also etwa so:
Elegant und schlank ist aber was anderes. Welche Variante resourcen-schonender ist, weiß ich schon gar nicht.
Kann jemand den Knoten lösen? Bin für jede Anregung dankbar,
Jens.
irgendwie habe ich einen Knoten im Gehirn auch wenn ich denke, dass es eigentlich ganz einfach gehen müsste.
Also ich will, dass bei Eintreten eines "Auslösers" (z.B. es regnet gerade in die Bude) sofort eine "Reaktion" ausgelöst wird (Ansage oder was auch immer). Und diese soll alle 5 Minuten wiederholt werden solange der Auslöser weiter besteht.
Klingt nicht kompliziert, oder? Bei zyklisch denkt man sofort an cycle, aber der kann nicht "sofort" sondern erst, wenn zufällig gerade sein 5-Minuten-Zyklus erreicht ist.
Bisher hatte ich das mit einer Hilfsvariablen etwa so gelöst:
Code:
varJetztReagieren = AUS; if "Ausloeser-1/1/1" then varJetztReagieren = EIN endif; if varJetztReagieren then write("Reaktion-1/1/2", EIN); varJetztReagieren = AUS endif; if after(varJetztReagieren == AUS, 300000u64) and "Ausloeser-1/1/1" then varJetztReagieren = EIN endif;
Code:
Restzeit = 0; if afterc("Ausloeser-1/1/1", 300000u64, Restzeit) then Restzeit = 300000 endif; if Restzeit > 299000u64 then write("Reaktion-1/1/2", EIN) endif; if "Ausloeser-1/1/1" == AUS then Restzeit = 0u64 endif; // Timer beenden
Kann jemand den Knoten lösen? Bin für jede Anregung dankbar,
Jens.
Kommentar