3.1 数值

在本节中,将介绍最基本的数据类型——数值。LabVIEW中的数值控件有很多种表现形式,并提供有很多对数值的操作函数。

3.1.1 数值控件

数值控件又分为数值输入控件和数值显示控件,这些控件均位于“控件”选板→“新式”→“数值”子选板上。数值输入控件和数值显示控件各自都有很多种表现形式,如图3.1和图3.2所示。在控件选板上,它们又分为新式、银色、系统和经典等,即还具有不同的风格,使用者可根据自己的喜好选择使用。

图3.2 数值输入控件和数值显示控件

3.1.2 数值的数据类型

LabVIEW以浮点数、定点数、整数、无符号整数以及复数等不同数据类型表示数值数据。那么,LabVIEW中的数值数据类型是如何进行设置的呢?

下面,以一个数值输入控件为例进行介绍(显示控件以及常量是类似的)。首先,在前面板上创建一个数值输入控件,然后,经鼠标操作来到程序框图面板。这时,程序框图面板上已经出现了一个数值输入控件的图标,它与在前面板上生成的数值输入控件相对应,如图3.3所示。此情况下,LabVIEW默认生成的数值的数据类型为双精度64位实数。这个信息是如何得到的呢?一个办法是,通过查看该数值输入控件在程序框图面板上的显示图标来判断其当前的数据类型。因为在LabVIEW中,不同数据类型的数值控件的图标颜色和形式是不一样的,如图3.3所示的数值输入控件的图标是橙色的,而且下面有标识“DBL”,这表明,该数值输入控件中的数据当前的数据类型为双精度浮点数。LabVIEW中的数值数据类型有多种,除了实数(橙色)和整数(蓝色)通过颜色可以快速地辨识出来外,想要知道某数值输入控件中当前的具体数据信息,仅靠其图标上的标识来判断,还不能保证准确无误。鉴于此,一个简便、可靠的办法,是调用LabVIEW的即时帮助功能。具体地,在程序框图上,选中所关注的数值输入控件的图标,然后,同时按住Ctrl+H组合键,就会在程序框图面板上弹出一个即时帮助窗口,显示出该输入控件当前的数值数据类型,如图3.4所示。

图3.3 在前面板和程序框图面板中的数值输入控件

图3.4 即时帮助中显示的数值输入控件的数据类型信息

另外,数值输入控件当前的数据类型也是可以改变的。如图3.5所示,改变数值输入控件当前的数据类型的方法如下:首先,在程序框图上选中所关注数值输入控件的图标,右击,选择“表示法”,可以看到共有15种数据类型,且当前选中的是“DBL”;改为选择下方的“I32”,随即,程序框图中该输入控件的图标就变成了蓝色,即时帮助窗口中给出的信息也改为32位的整数,如图3.6所示。如此,就将输入控件中的双精度浮点数改成了整型数。LabVIEW中的15种数据类型各自的具体含义见表3.1。

图3.5 改变数值输入控件的数据类型

图3.6 输入控件的数据类型为整型

表3.1 LabVIEW的15种数值数据类型

数据类型是一个很基础的概念,不难懂,但是要学清楚,否则VI运行中出现问题时,可能很难找到出错的原因。在进行VI编程时,特别要注意对数据类型的正确使用。下面以例3.1进行说明。

【例3.1】 求平均数。

在第2章中,已经编写出了求平均数的VI。对于求平均数这个命题,有的初学者编写成的VI如图3.7和图3.8所示。可以看到,其中的Result显示控件是蓝色的,表明它当中的数据是整型的。而且,在除数即数值常量2与除法函数相连处出现了一个红点——表示这里发生了数据类型的强制转换,即整型数被转换成了浮点数。同样,在Result显示控件的输入端子上也出现了一个红点,这是因为,橙色的连线代表传输的是浮点数,而蓝色的Result显示控件代表接收到的应是整型数据,所以,在此处也发生了数据类型的强制转换。

这个VI通过了程序编译,并没有语法上的错误,但是当它运行完毕后,就会出现错误。如图3.7所示,当输入1和2,结果本应该是1.5,但此VI的计算结果却为2。问题就出在Result控件的数据类型上。回到该VI的程序框图上,将Result显示控件的数据类型改为“DBL”即双精度浮点数,然后再运行VI,就会得到正确的结果了。

图3.7 求平均数VI的程序框图

图3.8 求平均数VI的前面板

3.1.3 数值函数

LabVIEW提供的数值函数均位于“函数”选板→“编程”→“数值”子选板上,如图3.9所示。这些数值函数的图标均很形象,使用起来都比较简单,可以根据实际需求选择相应的函数。在“数值”子选板之下的“转换”子选板上,如图3.10所示,提供有很多可实现数值数据类型转换的函数,如此,就可以通过编程的方式改变数值的数据类型了。

图3.9 数值函数

下面,通过例3.2,介绍“随机数”函数和“表达式节点”的使用要点。

【例3.2】 “随机数”函数和“表达式节点”的使用。

为例3.2编写好的VI如图3.11所示,其中调用了“表达式节点”。“表达式节点”用于计算含有单个变量的表达式。使用“表达式节点”时,要注意采用正确的语法、运算符和函数,具体内容请参考LabVIEW的帮助文件。

图3.10 转换子选板

“随机数”函数的图标,外观看起来像两个错落放置在一起的骰子,调用它可以生成数值范围在0至1的一个随机数,在需要生成随机信号的编程场合经常会用到它。

图3.11 例3.2VI的程序框图和前面板