LabVIEW-Äquivalent zu If-, If-Else- und Switch-Anweisungen

Überblick

In befehlsorientierten Programmiersprachen sind Sie möglicherweise mit if-, if-else- oder switch-Anweisungen vertraut. Äquivalente Strukturen in LabVIEW sind die Select-Struktur für einfache if-Anweisungen und die Case-Struktur, wenn mehr Eingangsmöglichkeiten erforderlich sind, wie z. B. eine if-else- oder switch-Anweisung. Genauso wie seine textbasierten Äquivalenten hängt auch der ausgeführte LabVIEW-Code vom Wert eines Eingangs ab. In diesem Dokument wird beschrieben, wie Programmcode so strukturiert werden kann, dass er ähnlich wieif-, if-else- oderswitch-Anweisungen ausgeführt wird.

Inhalt

If-Anweisungen

Select-Funktion

Für einfache Bedingungen und Aktionen führt die Select-Funktion die gleiche Funktion wie eine if-Anweisung aus. Die Select-Funktion befindet sich unter Funktionen»Programmierung»Vergleich»Select. Die Select-Funktion lässt drei Eingangswerte zu. Diese Eingangswerte sind der Reihe nach wie folgt:

  1. Der gewünschte Ausgangswert des TRUE-Cases
  2. Ein TRUE/FALSE-Selektor
  3. Der gewünschte Ausgangswert des FALSE-Cases
     

Der Selektor-Eingang nimmt boolesche Daten an. Je nach Wert der Selektordaten gibt die Select-Funktion den Wert aus, der mit dem Eingang TRUE oder FALSE verbunden ist. Die Ausgänge „True“ und „False“ können verschiedene Datentypen haben. Siehe hierzu das folgende Beispiel, in dem eine Zeichenfolge als Datentyp verwendet wird.

Diagramm - Auswahlfunktion mit String-Datentyp

GUI - Benutzereingabe und String-Ausgabe für Auswahlfunktion

Case-Struktur

Die Select-Funktion ist nützlich, wenn Sie den Ausgang je nach Eingabe ändern müssen. Wenn Sie jedoch je nach Eingang ändern müssen, welcher Programmcode ausgeführtwird, sollten Sie eine Case-Struktur verwenden.

Die Case-Struktur befindet sich auf der Funktionenpalette unter Programmierung » Strukturen » Case-Struktur. Eine Case-Struktur besteht aus drei Abschnitten:

  1. Die Selektorbeschriftung
  2. Die Unterdiagramme oder Cases
  3. Case-Selektor
     

Die Case-Struktur hat per Voreinstellung einen TRUE-Case und einen FALSE-Case. Sie können für jeden Case LabVIEW-Code schreiben, der ausgeführt wird, wenn die Bedingung des Cases erfüllt ist.

Die Case-Struktur hat einen grünen Eingangsanschluss in Form eines Fragezeichens, der als Case-Selektoranschluss bezeichnet wird. Um die Case-Struktur in den Standard-TRUE/FALSE-Cases zu verwenden, verbinden Sie einen booleschen Eingang mit diesem Anschluss, um die Bedingungen festzulegen, unter denen der Case ausgeführt werden soll.

Das folgende Beispiel zeigt ähnlichen Programmcode wie das Select-Beispiel. Der Hauptunterschied besteht darin, dass Sie mit der Case-Struktur Programmcode selektiv ausführen können. (Wenn Sie mit der Select-Funktion arbeiten, können Sie Ihre Daten nicht auf eine variable Weise bearbeiten (d. h. Programmcode ausführen), wie unten dargestellt.)

Diagramm - Case-Struktur TRUE boolesch führt TRUE-Case aus

Diagramm - Case-Struktur FALSE boolesch führt FALSE-Case aus

Wenn in diesem einfachen Beispiel der Benutzereingabe größer als 5 ist, liest der Case-Selektor einen booleschen Wert aus und führt den TRUE-Case aus, in dem der Benutzereingang mit einer Zufallszahl multipliziert wird. Wenn der Benutzereingang kleiner als 5 ist, liest der Case-Selektor auch einen booleschen Wert aus und führt den FALSE-Case aus, bei dem der Eingang mit einer größeren Zufallszahl multipliziert wird. Jeder Case hat einen anderen Programmcode und führt zu anderen Ausgängen als der alternative Case.

If-Else- und Switch-Anweisungen

Case-Strukturen in ihrer TRUE/FALSE-Standardform können alsif-Anweisung verwendet werden. Ein Vorteil der Verwendung von Case-Strukturen besteht jedoch darin, dass Sie den Datentyp des Selektor-Anschlusses ändern und Cases hinzufügen können, um if-else-Anweisungen und Switch-Anweisungen zu erstellen.

Nachdem Sie eine Case-Struktur erstellt haben, können Sie den Datentyp des Eingangsselektors in Zeichenfolgen-, Ganzzahl-, Aufzählungs- oder Fehler-Cluster ändern. Wenn Sie einen Eingang des gewünschten Datentyps mit dem Case-Selektor verbinden, ändert sich die Selektorbeschriftungsoptionen automatisch entsprechend Ihrem neuen Datentyp. In der folgenden Abbildung sehen Sie beispielsweise, dass einnumerischer Datentyp „Benutzereingabe“ mit dem Selektoranschluss verbunden ist und die Selektorbeschriftung jetzt eine numerische Option zeigt.

Diagramm - Benutzereingabe für numerischen Datentyp mit Selektoranschluss verbunden

Sie können der Case-Struktur Unterdiagramme hinzufügen, um andere Vergleiche (oder mögliche Zustände) durchzuführen.  Der Standard-Case der Case-Struktur dient als „else“ in der if-else-Anweisung oder im „Standard“-Case der Switch-Anweisung. In jedem Fall basiert der ausgeführte Programmcode auf dem Eingang, der mit dem Selektoranschluss verbunden ist.

Die Architektur von Case-Strukturen, die als Switch-Anweisungen verwendet werden, bietet Flexibilität in Bezug auf Datentypen, die vom Benutzer eingegeben werden können, sowie auf Modifikationen für den zukünftigen Gebrauch. Anstelle eines numerischen Eingangs kann die Case-Struktur auch einen einfach modifizierbaren Aufzählungseingang als Case-Selektor verwenden.

Zusätzliche Ressourcen

Weitere Informationen zum Hinzufügen, Neuordnen und Kopieren von Cases in einer Case-Struktur finden Sie in der LabVIEW-Hilfe zur Case-Struktur.

Ein Beispiel zu Case-Strukturen finden Sie im VI „Case-Struktur - Selektoranschluss-Datentypen“ im Verzeichnis labview\examples\Structures\Case Structure.
(Beachten Sie, dass unterschiedliche LabVIEW-Versionen für die Beispielordnerstruktur leicht unterschiedliche Titel haben können.)

Im Anhang finden Sie ein Beispiel-VI mit den drei hier beschriebenen Strukturen: einer if-Anweisung mit einer Selektorfunktion, einer if-else-Anweisung mit einer Case-Struktur und einerif-else- oder switch-Anweisung mit einer Case-Struktur.

Was this information helpful?

Yes

No