第3章 LabVIEW 基本数据类型及其相互转换

LabVIEW是一种编程语言,其任务的核心就是处理数据。LabVIEW所支持的数据类型十分丰富,其不但包括数值型、布尔型及字符串型,还包括波形数据、路径数据和I/O数据等,数据类型及其转换对LabVIEW编程有着重要的作用。

【本章导读】

◆ 基本数据类型

◆ 数据类型之间的转换

3.1 基本数据类型

3.1.1 数值型

数值型数据是LabVIEW中最简单也是最常用的数据类型,它分为整型、浮点型及复数等类型,具体分类如表3-1所示。

表3-1 数值型数据分类表

数值型数据的创建包括变量与常数的创建。

(1)数值型变量的创建

在前面板空白处单击右键,选取“控件→新式→数值”或“控件→经典→经典数值”,就可选取相应的数值型输入控件或显示控件。

(2)数值型常量的创建

在LabVIEW内部集成了一些常用的高精度数学、物理和化学常量,如圆周率、重力常数、阿伏伽德罗常数等。

在后面板空白处单击右键,选取“编程→数学→数值→数学与科学常量”,就可选取相应的数值型常数。

提示

数值型变量是在程序运行时通过键盘或鼠标来设定,而常量只能在编程时设定,在程序运行时常数就不能再改变。

(3)设置数值类型

在前面板,选取数值型输入控件或显示控件并单击右键,从快捷菜单中选取“表示法”,则可设置所需类型。

3.1.2 布尔型

布尔型数据也称逻辑型数据,它只有真和假两个值,以对应布尔型控件的“开”和“关”的状态。

布尔型数据的创建有三种方法:

① 在前面板由菜单栏选取“查看→控件选板”→“新式→布尔”。

② 在前面板由菜单栏选取“查看→控件选板”→“经典→经典布尔”。

③ 在后面板由菜单栏选取“查看→函数选板”→“编程→布尔”。

布尔型控件按外形可分为按钮式、摇杆式、开关式、指示灯式及滑杆式等,如图3-1所示,凭此可设计出逼真的虚拟仪表界面。

图3-1 布尔型控件外观

3.1.3 数组

数组是相同数据元素组成的大小可变的集合,数组由两个要素组成,即元素和维数。数组元素的类型可以是数值型、布尔型、字符串型和波形等,但数组、表单及图形等不能作为数组元素。

数组可以是一维或多维的,每一维最多有231个元素。

数组的创建有3种,分别是由前面板创建、由后面板创建及用程序创建。

(1)由前面板创建数组

在前面板,选取“控件→新式→数组、矩阵与簇→数组”。再向数组内放入一个数值输入控件,就创建了一个一维数组。若要显示多个数组成员,可选取定位工具,在数组的边框处拖动出现的网状拐角以增减显示区域,如图3-2所示。

图3-2 数组添加输入控件前后

若增加数组的维数,可在索引框处单击鼠标右键,并从快捷菜单选取“添加维度”。

为了显示更多的数组成员,可选取定位工具,将鼠标移动到数组上,会出现调节控制点,拖动调节控制点就可增加显示成员,其效果如图3-3所示。

图3-3 增添维数和显示成员

(2)由后面板创建数组

在后面板,选取“函数→编程→数组→数组常量”,来放置一个数组常量,如图3-4所示。然后再将一个数值常量放入数值常量框架中,就创建了一个数值,如3-5所示。

图3-4 添加数组常量

图3-5 添加数值常量

若要添加多个数组成员,可选取定位工具,在数组的边框处拖动出现的调节控制点,以增减数组成员,如图3-6所示。若修改数值常量值,可用文本工具点击相应的数值常量加以修改即可,如图3-7所示。

图3-6 增减数组成员

图3-7 修改数值常量值

此外,也可仿照前面板的方法来增添数组的维数等。

(3)用程序创建数组

除了使用前、后面板来创建数组,还可以通过For循环来创建数组,具体的操作是:

① 选取“函数→编程→结构→循环”,在后面板放置一个循环结构。

② 用连接工具点击变量i,以建立首个连接点。移动鼠标到循环结构的右边框,如图3-8所示。

图3-8 循环结构内连线

③ 单击鼠标,以结束连线。

④ 在连线结束位置,单击鼠标右键,由快捷菜单选取“创建→显示控件”,以存储和显示数值内容。

⑤ 在循环次数输入端点,单击鼠标右键,由快捷菜单选取“创建常量”,并对循环次数加以修改,如图3-9所示。这样就创建了一个数组元素分别为0、1、2的一维数组。

图3-9 以程序建数组

3.1.4 字符串

字符串是一系列可显或不可显ASCII码字符的集合,它提供了一种独立于操作平台的信息和数据格式。在LabVIEW中,数据采集和仪器控制基本是以字符串的形式来传递数据。

字符串控件分为字符串输入控件、字符串显示控件和组合框控件。

(1)创建字符串输入控件

字符串输入控件是以文本框的形式来输入字符串,其创建方法是:

在前面板,选取“控件→新式→字符串与路径→字符串输入控件”来添加一个字符串输入控件,如图3-10所示。

图3-10 字符串输入控件

(2)创建字符串显示控件

字符串显示控件用于以文本框的形式来显示字符串,字符串有4种显示类型,即正常显示、“\”代码显示、密码显示和十六进制显示。

① 正常显示:是指显示可打印的字符串,对于不可打印的字符则以一个小方框替代。

② “\”代码显示:是指将所有不可显示的字符以反斜杠方式来显示,对于中文字符所显示的是其内码。

③ 密码显示:是指为了保护输入信息而以星号(*)来代替输入内容的显示方式,多用于密码输入等场合。

④ 十六进制显示:是指以十六进制的ASCII值来替代原内容的显示方法。

字符串显示控件的创建方法是:

在前面板,选取“控件→新式→字符串与路径→字符串显示控件”来添加一个字符串显示控件。

为了设置不同的显示方式,使用鼠标右键单击相应的字符串显示控件,再由快捷菜单选取相应选项即可。各显示方式的效果如图3-11所示,其程序框图如图3-12所示。

图3-11 字符串显示效果

图3-12 字符串显示效果程序框图

(3)创建组合框

组合框控件用于创建字符串列表,在组合框中有多个字符串,每个字符串都是组合框的一个选项,并对应一个键值。

创建组合框的操作是:

① 在前面板,选取“控件→新式→字符串与路径→组合框”来添加一个组合框控件。为了添加各选项,使用鼠标右键单击组合框控件,由快捷菜单选取“编辑项...”选项,则弹出“组合框属性”对话框,如图3-13所示。

图3-13 组合框属性对话框

② 单击“插入”按钮,为对话框添加选项“电风扇”。若需要独立设置键值,可取消“值与项值匹配”前的对钩,然后修改值的内容。

③ 使用“插入”按钮,添加更多选项。

④ 单击“确定”按钮,退出组合框编辑。

⑤ 运行程序,其效果如图3-14所示。

图3-14 组合框运行效果

3.1.5 簇

簇是由不同数据类型的元素所组成的集合,簇的成员可以是任意的数据类型,但不能同时将输入控件和输出控件放在一起。

创建簇有两种方法,分别是由前面板创建和由后面板创建。

(1)由前面板创建簇

在前面板,选取“控件→新式→数组、矩阵与簇→簇”,再向簇的框架内放入相关的输入控件以构成一条记录信息,如图3-15所示。

图3-15 前面板创建簇

(2)由后面板创建簇

在后面板,选取“函数→编程→簇、类与变体→簇常量”,再向簇的框架内放入相关的数据常量以构成一条记录信息,如图3-16所示。

图3-16 后面板创建簇

对于簇内对象的大小是可以自主调整的,右击簇边界,在弹出的快捷菜单中可选取相应的调节操作,如图3-17所示。

图3-17 调整大小

3.1.6 路径

路径是进行文件操作的关键参数之一,在LabVIEW中,涉及路径的控件有两种,即文件路径输入控件和文件路径显示控件。

创建路径的操作是:

在前面板,选取“控件→新式→字符串与路径”,然后视具体需要选取文件路径输入控件或文件路径显示控件,如图3-18所示。

图3-18 路径控件

3.1.7 波形数据

波形数据是LabVIEW特有的一种数据类型,它类似于簇,是由一系列不同数据类型的数据构成。

波形数据由起始时刻t0、波形采样时间dt、波形数据Y以及波形属性所组成。

(1)时间标识类型

在LabVIEW中,记录时间的专用数据类型是时间标识类型,时间标识的内容包括“时:分:秒:毫秒”及“年-月-日”。

创建时间标识的方法是:

在前面板,选取“控件→新式→数值”,然后视具体需要选取时间标识输入控件或时间标识显示控件,如图3-19所示。

图3-19 时间标识控件

(2)波形显示控件

波形显示控件可用于波形数据的显示,其创建方法是:

在前面板,选取“控件→新式→I/O→波形”,如图3-20所示。在默认状态下,波形显示控件是不显示属性的。若要显示属性,可在控件上单击右键,再由快捷菜单选择“显示项→属性”。波形属性主要用于存储波形的长度、类型等参数信息。

图3-20 波形显示控件

3.2 数据类型之间的转换

3.2.1 数值型数据之间的转换

实现数值型数据间的转换可采用的方法是:在后面板,选取“函数→编程→数值→转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-2所示。

表3-2 数值型数据转换图标功能表

将一个单精度浮点型数据3.1415转换为8位无符号整数的程序框图和转换结果如图3-21所示。

图3-21 数值型数据转换

3.2.2 数值与字符串之间的转换

在LabVIEW中,数值可以转换为字符串,同样字符串也可以转换为数值,采用的方法是:在后面板,选取“函数→编程→字符串→数值/字符串转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-3所示。

表3-3 数值型数据转换表

将一个字符串“1234.567”转换为整数的程序框图和转换结果如图3-22所示。

图3-22 字符串转换为整数

3.2.3 布尔值转为数值

布尔型与数值间也能够转换,在转换中T对应1,F则对应0。将布尔型转换为数值的方法是:在后面板,选取“函数→编程→数值→转换→布尔值至(0,1)转换”,为“布尔”端口添加输入控件,为“0,1”端口添加输出控件,则程序框图和前面板如图3-23所示。

图3-23 布尔值转为数值

3.2.4 路径与字符串之间的转换

路径可以转换成字符串,字符串也能够转换成路径,使用的方法是:在后面板,选取“函数→编程→字符串→路径/数组/字符串转换”,再按要求选取“路径至字符串转换”或“字符串至路径转换”。

将字符串转换为路径的程序框图和前面板如图3-24所示,将路径转换为字符串的程序框图和前面板如图3-25所示。

图3-24 字符串转换为路径

图3-25 路径转换为字符串

3.2.5 数值与时间的转换

数值可以被转换成时间格式的数据,采用的方法是:在后面板,选取“函数→编程→数值→转换→转换为时间标识”,再为其两端添加输入和输出控件即可。将数值转换为时间的程序框图和前面板如图3-26所示。

图3-26 数值转换成时间

合理地使用数据类型,并加以适当地转换,有利于灵活地进行数据处理。