首页 理论教育LabVIEW2012中文版虚拟仪器-条件结构介绍

LabVIEW2012中文版虚拟仪器-条件结构介绍

【摘要】:如果将字符串转换为数值,LabVIEW仅可以转换用于表示数值的字符串,而仍将其其余值保存为字符串。同样由于浮点算术运算可能存在四舍五入误差,因此浮点数不能作为选择器标签的值,若将一个浮点数连接到条件分支,LabVIEW将对其进行舍入到最近的偶数值。图5-26 求平方根的程序框图分支1图5-27 求平方根的程序框图分支2图5-28 显示错误LabVIEW的条件结构与其他语言的条件结构相比,简单明了,结构简单,不但相当于Switch语句,还可以实现if…

条件结构同样位于函数选板中的结构子选板中,从结构选板中选取条件结构,并在程序框图上拖放以形成一个图框,如图5-24所示,图框中左边的数据端口是条件选择端口,通过其中的值选择到底哪个子图形代码框被执行,这个值默认的是布尔型,可以改变为其他类型,在改变为数据类型时要考虑的一点是:如果条件结构的选择端口最初接收的是数字输入,那么代码中可能存在有n个分支,当改变为布尔型时分支0和1自动变为假和真,而分支2,3等却未丢失,在条件结构执行前,一定要明确的删除这些多余的分支,以免出错。顶端是选择器标签,里面有所有可以被选择的条件,两旁的按钮分别为减量按钮和增量按钮。

选择器标签的个数可以根据实际需要来确定,在选择器标签上选择在前面添加分支或在后面添加分支,就可以增加选择器标签的个数。

在选择器标签中可输入单个值或数值列表和范围。在使用列表时,数值之间用逗号隔开;在使用数值范围时,指定一个类似10..20的范围用于表示10到20之间的所有数字(包括10和20),而..100表示所有小于等于100的数,100..表示所有大于100的数。当然也可以将列表和范围结合起来使用,如..6,8,9,16..。若在同一个选择器标签中输入的数有重叠,条件结构将以更紧凑的形式重新显示该标签,如输入..9,..18,26,70..。那么将自动更新为..18,26,70..。使用字符串范围时,范围a..c包括a,b和c。

在选择器标签中输入字符串和枚举型数据时,这些值将显示在双引号中,比如“blue”,但在输入这些字符串时并不需要输入双引号,除非字符串或枚举值本身已经包含逗号或范围符号(“,”,“..”)。在字符串值中,反斜杠用于表示非字母数字的特殊字符,比如\r表示回车,\n表示换行。当改变条件结构中选择器接线端连线的数据类型时,若有可能,条件结构会自动将条件选择器的值转换为新的数据类型。如果将数值转换为字符串,比如19,则该字符串的值为“19”。如果将字符串转换为数值,LabVIEW仅可以转换用于表示数值的字符串,而仍将其其余值保存为字符串。如果将一个数值转换为布尔值,LabVIEW会将0和1分别转换为假和真,而任何其他数值将转换为字符串。

输入选择器的值和选择器接线端所连接的对象不是同一数据类型,则该值将变成红色,在结构执行之前必须删除或编辑该值,否则将不能运行,若修改可以连接相匹配的数据类型,如图5-25所示。同样由于浮点算术运算可能存在四舍五入误差,因此浮点数不能作为选择器标签的值,若将一个浮点数连接到条件分支,LabVIEW将对其进行舍入到最近的偶数值。若在选择器标签中输入浮点数,则该值将变成红色,在执行前必须对该值进行删除或修改。

978-7-111-40983-0-Chapter05-26.jpg

图5-24 条件结构

978-7-111-40983-0-Chapter05-27.jpg

图5-25 选择标签的输入

图5-26和图5-27显示了求一个数平方根的程序框图。由于被开方的数需要满足大于或等于零,所以应先判断输入的数是否满足被该开方的条件,可以用条件结构来分两种情况:当大于等于零时,满足条件,运行正常。当小于零时,报告有错误,输出错误代码-1,同时发出蜂鸣声。(www.chuimin.cn)

在连接输入和输出时要注意的是,分支不一定要使用输入数据或提供输出数据,但若任何一个分支提供了输出数据,则所有的分支也都必须提供。这主要是因为,条件结构的执行是根据外部控制条件,从其所有的子框架中选择其一执行的,子框架的选择不分彼此,所以每个子框架都必须连接一个数据。对于一个框架通道,子框架如果没有连接数据,那么在根据控制条件执行时,框架通道就没有向外输出数据的来源,程序就会出错。所以在图5-26的程序框图中,即在小于零时,若没给输出赋予错误代码,则程序不能正常运行,因为分支2已经连接了输出数据。这时会提示错误“隧道赋值”,如图5-28所示。

978-7-111-40983-0-Chapter05-28.jpg

图5-26 求平方根的程序框图分支1

978-7-111-40983-0-Chapter05-29.jpg

图5-27 求平方根的程序框图分支2

978-7-111-40983-0-Chapter05-30.jpg

图5-28 显示错误

LabVIEW的条件结构与其他语言的条件结构相比,简单明了,结构简单,不但相当于Switch语句,还可以实现if…else语句的功能。条件结构的边框通道和顺序结构的边框通道都没有自动索引和禁止索引这两种属性。