Hallo zusammen,
ich habe aber mal wieder eine Frage weg der Visu. Und zwar möchte ich mir einen Webbutton erstellen der initial auf Aus steht. Wird er gedrückt soll sein Zustand auf ein gehen und gleichzeitig sollen durch das drücken mehrere Werte auf den Bus geschrieben werden.
Nun habe ich ein kleines Logikproblem. So habe ich das realisiert (Pseudocodeteile):
Var_a=Aus \\Variable die mir den Status des Button anzeigt
if webbutton(ID) ==1 Then \\Der Button geht beim drücken ja kurz auf 1 und dann wieder auf 0
if Var_a==Aus Then \\
write(...); write(...); Var_a=Ein \\
endif
if Var_a==Ein Then \\
write(...); write(...); Var_a=Aus \\
endif
endif
Das Verhalten ist jetzt so, dass der Button initial auf aus steht. Sobald er gedrückt wird (webbutton(ID)==1) geht's in die erste if Abfrage, da Var_a=Aus zutrifft.
In den Anweisungen dieser if Abfrage wird dann ja u.a. Var_a=Ein gesetzt. Also ist die nächste if Abfrage natürlich auch wieder wahr und die Variable Var_a wird am Ende wieder auf Aus gesetzt.
Der Button blinkt also in der Visu beim drücken mal kurz auf und ist anschließend gleich wieder aus. Die Werte werden natürlich auch auf den Bus geschrieben. Nur leider beide hintereinander und nicht entweder oder. Ist auch irgendwie logisch, nur wie kann ich das anders machen, so dass der Button nach einmaligem drücken dauerhaft an bleibt und die einen Werte schreibt und beim nochmaligen drücken dauerhaft aus bleibt und die anderen Werte schreibt?
ich habe aber mal wieder eine Frage weg der Visu. Und zwar möchte ich mir einen Webbutton erstellen der initial auf Aus steht. Wird er gedrückt soll sein Zustand auf ein gehen und gleichzeitig sollen durch das drücken mehrere Werte auf den Bus geschrieben werden.
Nun habe ich ein kleines Logikproblem. So habe ich das realisiert (Pseudocodeteile):
Var_a=Aus \\Variable die mir den Status des Button anzeigt
if webbutton(ID) ==1 Then \\Der Button geht beim drücken ja kurz auf 1 und dann wieder auf 0
if Var_a==Aus Then \\
write(...); write(...); Var_a=Ein \\
endif
if Var_a==Ein Then \\
write(...); write(...); Var_a=Aus \\
endif
endif
Das Verhalten ist jetzt so, dass der Button initial auf aus steht. Sobald er gedrückt wird (webbutton(ID)==1) geht's in die erste if Abfrage, da Var_a=Aus zutrifft.
In den Anweisungen dieser if Abfrage wird dann ja u.a. Var_a=Ein gesetzt. Also ist die nächste if Abfrage natürlich auch wieder wahr und die Variable Var_a wird am Ende wieder auf Aus gesetzt.
Der Button blinkt also in der Visu beim drücken mal kurz auf und ist anschließend gleich wieder aus. Die Werte werden natürlich auch auf den Bus geschrieben. Nur leider beide hintereinander und nicht entweder oder. Ist auch irgendwie logisch, nur wie kann ich das anders machen, so dass der Button nach einmaligem drücken dauerhaft an bleibt und die einen Werte schreibt und beim nochmaligen drücken dauerhaft aus bleibt und die anderen Werte schreibt?
Kommentar