Erstellen einer Gruppe

bonatus

Level-1
Beiträge
239
Reaktionspunkte
49
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe folgendes Problem und komm zur Zeit zu keiner vernüftigen Lösung.

Ich habe auf einer Visualisierung 4 Buttons die ich jeweils über die Toggle Option beschalte. Ich möchte nun gern eine Funktion die bei einem eingeschalteten Button alle anderen 3 Button auf False setzt.

Auf eine einfache Lösung bin ich noch nicht gestossen bzw. auf gar keine.

gruß bonatus
 
Ein Button ist ja eigtl nichts anderes, als dass du Variablen auf TRUE oder FALSE setzt.

Du kannst ja deine vier Variablen überprüfen und sobald eine davon auf TRUE gesetzt wird (über den entsprechenden Button), setzt du alle anderen Variablen auf FALSE.
Zum Beispiel nach folgendem Ablauf:
Code:
IF Var1 THEN
   Var2 := FALSE;
   Var3 := FALSE;
   Var4 := FALSE;
ELSE IF Var2 THEN
   Var1 := FALSE;
   Var3 := FALSE;
   Var4 := FALSE;
ELSE IF Var3 THEN
   Var1 := FALSE;
   Var2 := FALSE;
   Var4 := FALSE;
ELSE IF Var4 THEN
   Var1 := FALSE;
   Var2 := FALSE;
   Var3 := FALSE;
END_IF
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ok, ich habe eine Funktion vergessen, wenn auf einen bereits aktivierten Button gedrückt wird soll dieser dann auch deaktiviert werden. Sorry hab ich in der eile vergessen.

trotzdem danke

gruß bonatus
 
Damit ich dich richtig verstehe:

Erster Klick auf einen Button: Dieser wird aktiviert, alle andern deaktiviert.
Zweiter Klick auf den gleichen Button: Dieser wird auch deaktiviert, also alle sind deaktiviert.

Habe ich das so richtig verstanden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Merke dir einfach zwei Zustände je Button: einmal den aktuellen und einmal den alten.
Dann würde ich dir folgenden Code empfehlen:
Code:
IF Var1 AND NOT Var1_alt THEN
   Var2 := FALSE;
   Var3 := FALSE;
   Var4 := FALSE;
ELSE IF Var2 AND NOT Var2_alt THEN
   Var1 := FALSE;
   Var3 := FALSE;
   Var4 := FALSE;
ELSE IF Var3 AND NOT Var3_alt THEN
   Var1 := FALSE;
   Var2 := FALSE;
   Var4 := FALSE;
ELSE IF Var4 AND NOT Var4_alt THEN
   Var1 := FALSE;
   Var2 := FALSE;
   Var3 := FALSE;
ELSE IF (Var1 AND Var1_alt) OR (Var2 AND Var2_alt) OR (Var3 AND Var3_alt) OR (Var4 AND Var4_alt) THEN
   Var1 := FALSE;
   Var2 := FALSE;
   Var3 := FALSE;
   Var4 := FALSE;
END_IF
 
Var1_alt := Var1;
Var2_alt := Var2;
Var3_alt := Var3;
Var4_alt := Var4;
 
... was für eine Visu setzt du ein ? Ggf. kannst du den Vorschlag von Cerberus auf einem Script-fähigen Bediengerät auch direkt (ohne die SPS) umsetzen ...
 
Zurück
Oben