LabVIEWIf、If-ElseSwitch等效结构

概览

在基于文本的语言中,您可能熟悉if、if-elseswitch语句;而在LabVIEW中,简单if语句的等效结构是选择结构,如果有必要提供更多输入选择(如if-elseswitch语句),则可以使用条件结构。与基于文本的语言的等效结构一样,LabVIEW代码的执行情况取决于输入的值。本文档讨论如何构建代码,以达到与ifif-elseswitch语句类似的效果。

内容

If语句

选择函数

对于简单的条件和操作,选择函数可达到与if语句类似的效果。您可以在“函数”(Functions)»“编程”(Programming)>>“比较”(Comparison)>>“选择”(Select)下找到选择函数。选择函数可接受三种输入。从上到下按顺序列出的输入如下所示:

  1. TRUE条件分支的期望输出
  2. TRUE/FALSE选择器
  3. FALSE条件分支的期望输出
     

选择器输入接受布尔数据。根据选择器数据的值,选择函数返回连线至true或false输入的值。true和false输出可以是各种类型的数据。请参阅下面使用字符串数据类型的范例。

条件结构

选择函数非常有用,因为您只需要根据输入更改输出。但是,如果您需要根据输入更改执行的代码,则需要使用条件结构

您可以在“函数选板”(Functions Palette)的“编程”(Programming)>>“结构”(Structures)>>“条件结构”(Case Structure)下找到条件结构。条件结构分为三个部分:

  1. 选择器标签
  2. 子程序框图或条件
  3. 条件选择器
     

条件结构默认使用一个True条件和一个False条件。对于每个条件,您都可以编写满足相应条件时执行的LabVIEW代码。

条件结构有一个绿色问号输入接线端,称为条件选择器接线端。要在默认True/False条件下使用条件结构,应将布尔输入连线至此接线端,以设置应执行条件的情况。

下面的范例显示了与选择范例类似的代码。关键区别在于使用条件结构时,您可以选择性地执行代码。(如果使用选择函数,您将无法以如下所示的可变方式操作数据[即执行代码]。)

在这个简单的范例中,如果用户输入大于5,则条件选择器将读取一个true布尔值并执行true条件,即用户输入乘以随机数。或者,如果用户输入小于5,则条件选择器将读取一个false布尔值并执行false条件,其中输入乘以更大的随机数。每个条件都有不同的代码以及与其他条件不同的输出。

If-ElseSwitch语句

默认true/false形式的条件结构可用作if语句。不过,使用条件结构的一个优点是,您可以更改选择接线端的数据类型并添加条件,以创建if-else语句和switch语句。

创建条件结构后,您可以将输入选择器的数据类型更改为字符串、整数、枚举或错误簇数据类型。如果将所需数据类型的输入连线至条件选择器,则会自动更改选择器标签选项,以适应您的新数据类型。例如,在下图中,数值数据类型的用户输入连线至选择器接线端,选择器标签当前显示数值选项。

您可以将子程序框图添加到条件结构中,以进行其他比较(或可能的状态)。  条件结构的默认条件用作if-else语句中的else或switch语句的“默认”条件。在每种条件下,执行的代码都基于连线至选择器接线端的输入。

借助可用作switch语句的条件结构,用户可以灵活地输入各种数据类型,同时便于未来修改。除了数值输入外,条件结构还可以使用易于修改的枚举输入作为条件选择器输入

更多资源

有关在条件结构中添加、重新排列和复制条件的更多信息,请参考条件结构LabVIEW帮助中的教程。

请参阅labview\examples\Structures\Case Structure中的Case Structure - Selector Data Types VI,了解条件结构运用范例。
(请注意,不同版本的LabVIEW的范例文件夹结构标题可能略有不同。)

附件是包含此处讨论的三种结构的VI范例:带有选择器函数的if语句、带有条件结构的if-else语句和带有条件结构的if-elseswitch语句。

Was this information helpful?

Yes

No