Ich habe drei Tasten und darf man gleichzeitig zwei oder drei Tasten nicht drücken. Wenn ich habe schon eine Taste gedrückt, dann, wenn ich andere Taste drücke, muss erste Taste zurück gehen oder muss nichts passieren.
Danke schon im Voraus.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Definiere eine Merkervariable die, wenn eine Taste gedrückt wird auf TRUE geht und wenn die letzte gedrückte Taste losgelassen wird, wieder auf FALSE gesetzt wird.
Dann kannst Du für jede Taste einen IF-THEN Block schreiben.
IF Taste1 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
IF Taste2 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
IF Taste3 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
(Danach den Merker wieder zurücksetzen)
IF (Taste1 = FALSE AND Taste2 = FALSE AND Taste3 = FALSE) THEN
MERKER := FALSE;
END_IF
Ich habe es nicht getestet! Doch es sollte so funktionieren.
Viel Spass beim ausprobieren!
Mit freundlichen Grüssen! Pitsch
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen.
Ich habe folgendes Problem:
Ich habe drei Tasten und darf man gleichzeitig zwei oder drei Tasten nicht drücken. Wenn ich habe schon eine Taste gedrückt, dann, wenn ich andere Taste drücke, muss erste Taste zurück gehen oder muss nichts passieren.
Danke schon im Voraus.
Hallo
Definiere eine Merkervariable die, wenn eine Taste gedrückt wird auf TRUE geht und wenn die letzte gedrückte Taste losgelassen wird, wieder auf FALSE gesetzt wird.
Dann kannst Du für jede Taste einen IF-THEN Block schreiben.
IF Taste1 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
IF Taste2 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
IF Taste3 = TRUE AND MERKER = FALSE THEN
MERKER := TRUE;
.... (Hier kommt der Code, was die Taste tun soll)
END_IF
(Danach den Merker wieder zurücksetzen)
IF (Taste1 = FALSE AND Taste2 = FALSE AND Taste3 = FALSE) THEN
MERKER := FALSE;
END_IF
Ich habe es nicht getestet! Doch es sollte so funktionieren.
Viel Spass beim ausprobieren!
Mit freundlichen Grüssen! Pitsch
Herzlichen Dank für die Hilfe!
in der open source library von oscat findest du in der release 3 einen baustein interlock_4 der macht unter anderem genau das was du suchst.
die 3 ist noch nicht offiziell released, aber unter ankündigungen im forum kannst du dir die beta downloaden