INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Case-Struktur mit mehreren Elementen verbinden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.11.2010, 17:16
Beitrag #1

BMTstudent Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

2011
2010
DE

98xxx
Deutschland
Case-Struktur mit mehreren Elementen verbinden
Hallo,

ich hänge gerade an einem scheinbar trivialen Problem fest. Vielleicht kann mir jemand dabei helfen:

Ich habe auf meinem FPanel mehrere LEDs als Bedienelemente. Je nach dem, welche der Benutzer betätigt, sollen verschiedene Operationen ausgeführt werden. Diese wiederum sollen in einer Case-Struktur stehen. Wenn also LED 1 aktiviert wurde, wird im Blockdiagramm Case 1 aktiviert.

Allerdings find ich gerade kein einfache Methode, die vielen Bedienelemente sinnvoll mit dem einen Fragezeichen der Case-Struktur zu verbinden.
Eventuell kann ich mir vorstellen, als Zwischenschritt noch ein Enum-Element im Blockdiagramm einzufügen, aber dann müsste das wiederum sinnvoll mit den Elementen verbunden werden.

PS: Das ganze sollte natürlich so gestaltet sein, dass bei keiner oder mehrfacher Auswahl nicht gleich das Programm ins Straucheln gerät, sondern einfach nichts machtSmile

Gruß, und ein schönes Restwochenende


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.11.2010, 17:27
Beitrag #2

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Case-Struktur mit mehreren Elementen verbinden
Hallo,

auf Anhieb fällt mir folgende Lösung ein: Du erstellst aus den Buttons ein boolsches Array und wandelst das in eine Zahl.
Die Zahl spiegelt den Status der Buttons wieder von einer 4-Bit-Zahl (Binär).

So kannst du in der Case-Struktur auf die einzelnen Buttons reagieren, aber auch auf die Kombination verschiedener, falls du das benötigen solltest.
Auch ist es problemlos für weitere Buttons erweiterbar und recht flexibel.

Ein Beispiel ist angehängt.

   


Sonstige .vi  bool.vi (Größe: 9,13 KB / Downloads: 317)
Lv85_img

Grüße
Matze

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.11.2010, 17:44
Beitrag #3

BMTstudent Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

2011
2010
DE

98xxx
Deutschland
Case-Struktur mit mehreren Elementen verbinden
Ja, die Idee hatte ich auch schon. Dann werd ichs auch so machen.Smile

Hatte zunächst bedenken, ob das Programm nen Fehler meldet, wenn ich nich alle Cases vorinitialisiere. Aber wie ich gerade überprüft hab, wird bei Zahlen für die kein Case existiert "0,Voreinstellung" angewählt. Damit kann ich also leben.


DankeSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.11.2010, 17:50 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2010 17:52 von Matze.)
Beitrag #4

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Case-Struktur mit mehreren Elementen verbinden
Genau das bedeutet die Option "Voreinstellung". Diese wird aufgerufen, wenn am Eingang der Case-Struktur etwas anderes anliegt als in den Cases definiert (vielleicht aus anderen Programmiersprachen als Else-Zweig bekannt).
Die Voreinstellung kannst du auch manuell auf einen anderen Wert setzen.
Die 0 tritt auf, wenn kein Schalter gewählt ist. D.h. diese könntest du ggf. zukünftig brauchen.

Lege hier z.B. einen Case mit Wert "-1" an (dieser kann durch keine Schalter-Kombination auftreten), klicke mit der rechten Maustaste auf die "-1" und wähle "als Standard festlegen" (oder wie das heißt).
Dann wird der Case "-1" aufgerufen, wenn eine Kombination auftritt, die du nicht definiert hast.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 6.789 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 5.679 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.528 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 4.099 16.04.2020 14:30
Letzter Beitrag: GerdW
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.217 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Zwei VI's verbinden masch_18 11 9.098 12.10.2017 17:09
Letzter Beitrag: GerdW

Gehe zu: