NEWS
Trigger oder Impuls mit einem Funktionsblock programmieren
-
Hallo Leute,
ich bin gerade mit einem privaten Projekt beschäftigt. Im Projekt benötige ich ein Impuls, der bisschen mehr kann als der Standard Trigger.
So nun zu meiner Frage: Kann ich mit einem Funktionsblock einen Trigger erstellen der im Code eingestellt wird, z.B. auf 5s und jedesmal wenn ich einen Button drücke, sollte die Zeit auf z.B. 1s erhöht werden.
Also einmal Button drücken –> Impuls schaltet 5 Sekunden einen Output
2. mal Button drücken --> Impuls schaltet 6 einen Output
usw.
Da muss ich noch einen Counter mit einbauen, aber das Ganze gelingt mir nicht. Es scheitert schon am Trigger selbst
Vielleicht kann mir einer einen Tipp geben? Vielen Dank im Voraus.
-
Zeig doch mal den Code den du machen würdest der nicht tut.
Du kannst lokale Variablen wie einen Zähler haben den du immer im trigger erhöhst und aufaddierst. Musst die Variable nur außerhalb des triggers definieren.
Und die Logik wann das zurückgesetzt wird fehlt noch.
Gesendet vom Handy …
-
Hallo, danke für deine Antwort. Mein Code sieht bisher wie folgt aus:
var trigger = context.get("trigger") || 5; //Zeit
if(msg.payload == "var1"){ //Button1
for(var i = 0; i < trigger; i++){
node.send({payload:1});
}
trigger +=1; //Zeit verlängern
msg.payload = trigger;
context.set("trigger", trigger);
}
else if(msg.payload == "res1"){ //Reset-Button
trigger = 5;
msg.payload = trigger;
context.set("trigger", trigger);
}
return msg;
den Counter habe ich schonmal. Allerdings komme ich beim Trigger einfach nicht weiter…
Gruß