![LabVIEW 完全自学手册](https://wfqqreader-1252317822.image.myqcloud.com/cover/814/29975814/b_29975814.jpg)
第3章 LabVIEW 基本数据类型及其相互转换
LabVIEW是一种编程语言,其任务的核心就是处理数据。LabVIEW所支持的数据类型十分丰富,其不但包括数值型、布尔型及字符串型,还包括波形数据、路径数据和I/O数据等,数据类型及其转换对LabVIEW编程有着重要的作用。
【本章导读】
◆ 基本数据类型
◆ 数据类型之间的转换
3.1 基本数据类型
3.1.1 数值型
数值型数据是LabVIEW中最简单也是最常用的数据类型,它分为整型、浮点型及复数等类型,具体分类如表3-1所示。
表3-1 数值型数据分类表
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image84.jpeg?sign=1738866255-CeA5W6UpE3qIZ5zOuKLdeJ0J9xmYgplS-0-73aa35e1c089f9344d9486ef624acccf)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/3-1-1.jpg?sign=1738866255-J2MihdeOjGuEfEfYx44qKhVAoetUoymM-0-67f6d45c9184f05bb0a4d4a25dd0fd51)
数值型数据的创建包括变量与常数的创建。
(1)数值型变量的创建
在前面板空白处单击右键,选取“控件→新式→数值”或“控件→经典→经典数值”,就可选取相应的数值型输入控件或显示控件。
(2)数值型常量的创建
在LabVIEW内部集成了一些常用的高精度数学、物理和化学常量,如圆周率、重力常数、阿伏伽德罗常数等。
在后面板空白处单击右键,选取“编程→数学→数值→数学与科学常量”,就可选取相应的数值型常数。
提示
数值型变量是在程序运行时通过键盘或鼠标来设定,而常量只能在编程时设定,在程序运行时常数就不能再改变。
(3)设置数值类型
在前面板,选取数值型输入控件或显示控件并单击右键,从快捷菜单中选取“表示法”,则可设置所需类型。
3.1.2 布尔型
布尔型数据也称逻辑型数据,它只有真和假两个值,以对应布尔型控件的“开”和“关”的状态。
布尔型数据的创建有三种方法:
① 在前面板由菜单栏选取“查看→控件选板”→“新式→布尔”。
② 在前面板由菜单栏选取“查看→控件选板”→“经典→经典布尔”。
③ 在后面板由菜单栏选取“查看→函数选板”→“编程→布尔”。
布尔型控件按外形可分为按钮式、摇杆式、开关式、指示灯式及滑杆式等,如图3-1所示,凭此可设计出逼真的虚拟仪表界面。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image86.png?sign=1738866255-OklMrPXkY2TODpVVDjm5LoX1mGpByrLi-0-7dbcf664cc84e16fb887960f2c79f771)
图3-1 布尔型控件外观
3.1.3 数组
数组是相同数据元素组成的大小可变的集合,数组由两个要素组成,即元素和维数。数组元素的类型可以是数值型、布尔型、字符串型和波形等,但数组、表单及图形等不能作为数组元素。
数组可以是一维或多维的,每一维最多有231个元素。
数组的创建有3种,分别是由前面板创建、由后面板创建及用程序创建。
(1)由前面板创建数组
在前面板,选取“控件→新式→数组、矩阵与簇→数组”。再向数组内放入一个数值输入控件,就创建了一个一维数组。若要显示多个数组成员,可选取定位工具,在数组的边框处拖动出现的网状拐角以增减显示区域,如图3-2所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image87.png?sign=1738866255-TTyAqmZYT1PH4QiOYHFaZVzDisWYVfIU-0-4879de679179c564f8473080e5f0f012)
图3-2 数组添加输入控件前后
若增加数组的维数,可在索引框处单击鼠标右键,并从快捷菜单选取“添加维度”。
为了显示更多的数组成员,可选取定位工具,将鼠标移动到数组上,会出现调节控制点,拖动调节控制点就可增加显示成员,其效果如图3-3所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image89.png?sign=1738866255-wQNYJpGzkMi7vfgbh6E56KClCHZ65xJx-0-92e1cee658b4e8e609d2f0224ac47126)
图3-3 增添维数和显示成员
(2)由后面板创建数组
在后面板,选取“函数→编程→数组→数组常量”,来放置一个数组常量,如图3-4所示。然后再将一个数值常量放入数值常量框架中,就创建了一个数值,如3-5所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image90.png?sign=1738866255-KNssokUD6FMXojcr8LpFWDW3EOub3P12-0-6bd9dfd01a7735f44593943ec6abf536)
图3-4 添加数组常量
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image91.png?sign=1738866255-ruCbKSxyomQMoF1XX4K1VFmdutZ61hh9-0-3cf6436d9bc12fd3b1eb3e641c540269)
图3-5 添加数值常量
若要添加多个数组成员,可选取定位工具,在数组的边框处拖动出现的调节控制点,以增减数组成员,如图3-6所示。若修改数值常量值,可用文本工具点击相应的数值常量加以修改即可,如图3-7所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image92.png?sign=1738866255-xVNMgick1i1cexI2i2bJVzV6c0FbDMgJ-0-7a96ba2695240b5aeae472f57288fe32)
图3-6 增减数组成员
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image93.png?sign=1738866255-nVK7s6TxX9OSnmhrkwu8vpuGu2uVHgTK-0-b7f2974f3f976adcc00163a5042f15c8)
图3-7 修改数值常量值
此外,也可仿照前面板的方法来增添数组的维数等。
(3)用程序创建数组
除了使用前、后面板来创建数组,还可以通过For循环来创建数组,具体的操作是:
① 选取“函数→编程→结构→循环”,在后面板放置一个循环结构。
② 用连接工具点击变量i,以建立首个连接点。移动鼠标到循环结构的右边框,如图3-8所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image94.png?sign=1738866255-1VEKJCHoPfPPu6rQrOtvbERZWqMyRZoU-0-4f59ce0d8d0bbe02e11364f62e114d8c)
图3-8 循环结构内连线
③ 单击鼠标,以结束连线。
④ 在连线结束位置,单击鼠标右键,由快捷菜单选取“创建→显示控件”,以存储和显示数值内容。
⑤ 在循环次数输入端点,单击鼠标右键,由快捷菜单选取“创建常量”,并对循环次数加以修改,如图3-9所示。这样就创建了一个数组元素分别为0、1、2的一维数组。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image95.png?sign=1738866255-yxr5o8obO4ewt53Mig0vysIAplfoJ9qP-0-341d52752f67f93cee87c5882744ad7e)
图3-9 以程序建数组
3.1.4 字符串
字符串是一系列可显或不可显ASCII码字符的集合,它提供了一种独立于操作平台的信息和数据格式。在LabVIEW中,数据采集和仪器控制基本是以字符串的形式来传递数据。
字符串控件分为字符串输入控件、字符串显示控件和组合框控件。
(1)创建字符串输入控件
字符串输入控件是以文本框的形式来输入字符串,其创建方法是:
在前面板,选取“控件→新式→字符串与路径→字符串输入控件”来添加一个字符串输入控件,如图3-10所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image96.png?sign=1738866255-309WQEo2zahzrTtvz6UEQOIrYyxJCFNu-0-dbaba682f6b192ead473ff46d60e5b3a)
图3-10 字符串输入控件
(2)创建字符串显示控件
字符串显示控件用于以文本框的形式来显示字符串,字符串有4种显示类型,即正常显示、“\”代码显示、密码显示和十六进制显示。
① 正常显示:是指显示可打印的字符串,对于不可打印的字符则以一个小方框替代。
② “\”代码显示:是指将所有不可显示的字符以反斜杠方式来显示,对于中文字符所显示的是其内码。
③ 密码显示:是指为了保护输入信息而以星号(*)来代替输入内容的显示方式,多用于密码输入等场合。
④ 十六进制显示:是指以十六进制的ASCII值来替代原内容的显示方法。
字符串显示控件的创建方法是:
在前面板,选取“控件→新式→字符串与路径→字符串显示控件”来添加一个字符串显示控件。
为了设置不同的显示方式,使用鼠标右键单击相应的字符串显示控件,再由快捷菜单选取相应选项即可。各显示方式的效果如图3-11所示,其程序框图如图3-12所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image97.png?sign=1738866255-782qp5SapIyiHkIV1v18jBhhpAesKDEI-0-8d66162311d01d1e5469729f52ae3810)
图3-11 字符串显示效果
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image98.png?sign=1738866255-7Mjuzdow97K7qcSq3qd4XLb1eUqhambZ-0-1107e49bf0ffe29ba712330e0a028853)
图3-12 字符串显示效果程序框图
(3)创建组合框
组合框控件用于创建字符串列表,在组合框中有多个字符串,每个字符串都是组合框的一个选项,并对应一个键值。
创建组合框的操作是:
① 在前面板,选取“控件→新式→字符串与路径→组合框”来添加一个组合框控件。为了添加各选项,使用鼠标右键单击组合框控件,由快捷菜单选取“编辑项...”选项,则弹出“组合框属性”对话框,如图3-13所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image99.png?sign=1738866255-lzmoga9H1tR7z3w2daT5RKzsZUXDP5Hh-0-b67fb1b1361573c75026cb2cc4cb73ae)
图3-13 组合框属性对话框
② 单击“插入”按钮,为对话框添加选项“电风扇”。若需要独立设置键值,可取消“值与项值匹配”前的对钩,然后修改值的内容。
③ 使用“插入”按钮,添加更多选项。
④ 单击“确定”按钮,退出组合框编辑。
⑤ 运行程序,其效果如图3-14所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image100.png?sign=1738866255-DSC4JbmgGs4X3UTn1hscX74XIrfjS0I4-0-3c1a41097c8ad0aac6cb9ebdfa144d54)
图3-14 组合框运行效果
3.1.5 簇
簇是由不同数据类型的元素所组成的集合,簇的成员可以是任意的数据类型,但不能同时将输入控件和输出控件放在一起。
创建簇有两种方法,分别是由前面板创建和由后面板创建。
(1)由前面板创建簇
在前面板,选取“控件→新式→数组、矩阵与簇→簇”,再向簇的框架内放入相关的输入控件以构成一条记录信息,如图3-15所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image101.png?sign=1738866255-wzVAZhrl6IoBVKD44MM2wvwMeZ1bWdzP-0-1c4e51744af250317c96554915152afb)
图3-15 前面板创建簇
(2)由后面板创建簇
在后面板,选取“函数→编程→簇、类与变体→簇常量”,再向簇的框架内放入相关的数据常量以构成一条记录信息,如图3-16所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image102.png?sign=1738866255-nJs2WTL4ZckdykGPGy7F4dt1LKYQoLLR-0-bdae98f1f83a466462aa1896f8f8e2a8)
图3-16 后面板创建簇
对于簇内对象的大小是可以自主调整的,右击簇边界,在弹出的快捷菜单中可选取相应的调节操作,如图3-17所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image103.png?sign=1738866255-fu1S8LXLCMWdQwNbN4Vae401GKQz7e7N-0-5290dff2b0fd3cae0b2ff80aa9ddcebd)
图3-17 调整大小
3.1.6 路径
路径是进行文件操作的关键参数之一,在LabVIEW中,涉及路径的控件有两种,即文件路径输入控件和文件路径显示控件。
创建路径的操作是:
在前面板,选取“控件→新式→字符串与路径”,然后视具体需要选取文件路径输入控件或文件路径显示控件,如图3-18所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image104.png?sign=1738866255-2Ill5CyaFDZz7dSSCXMhYdK36oov5i0Z-0-ea6eb4edc7788d62e7900acb5695d16e)
图3-18 路径控件
3.1.7 波形数据
波形数据是LabVIEW特有的一种数据类型,它类似于簇,是由一系列不同数据类型的数据构成。
波形数据由起始时刻t0、波形采样时间dt、波形数据Y以及波形属性所组成。
(1)时间标识类型
在LabVIEW中,记录时间的专用数据类型是时间标识类型,时间标识的内容包括“时:分:秒:毫秒”及“年-月-日”。
创建时间标识的方法是:
在前面板,选取“控件→新式→数值”,然后视具体需要选取时间标识输入控件或时间标识显示控件,如图3-19所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image105.png?sign=1738866255-r3tia8XjJFFXFdLN1UFCiOIPOfi4UjaU-0-6d890ea1e639071d03abee4745fc2b0b)
图3-19 时间标识控件
(2)波形显示控件
波形显示控件可用于波形数据的显示,其创建方法是:
在前面板,选取“控件→新式→I/O→波形”,如图3-20所示。在默认状态下,波形显示控件是不显示属性的。若要显示属性,可在控件上单击右键,再由快捷菜单选择“显示项→属性”。波形属性主要用于存储波形的长度、类型等参数信息。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image106.png?sign=1738866255-SRx6ee2aMltquIj6T6NxgvgCTgZIiDOl-0-527c82eb52c169e644b89e192b6a52cd)
图3-20 波形显示控件
3.2 数据类型之间的转换
3.2.1 数值型数据之间的转换
实现数值型数据间的转换可采用的方法是:在后面板,选取“函数→编程→数值→转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-2所示。
表3-2 数值型数据转换图标功能表
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image107.png?sign=1738866255-rBKizXIBObZEwdCKfnH3OvUeHQRPsWeb-0-f0756c8b41b4d2ccbaa16fbef0397d3f)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image108.png?sign=1738866255-sI4pVHgYH9RlhgosigjCitO66US7LEqj-0-ad52fb44060c3249c28dc9f0b6192643)
将一个单精度浮点型数据3.1415转换为8位无符号整数的程序框图和转换结果如图3-21所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image109.png?sign=1738866255-SbfOXJG9UgMDsjDI9IABSZ6s8n46crxj-0-18b61015a8c3150f7b1aa1e4c62e404d)
图3-21 数值型数据转换
3.2.2 数值与字符串之间的转换
在LabVIEW中,数值可以转换为字符串,同样字符串也可以转换为数值,采用的方法是:在后面板,选取“函数→编程→字符串→数值/字符串转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-3所示。
表3-3 数值型数据转换表
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image110.png?sign=1738866255-wzuk9zz5ThTKXjhtiNEcySCvuukjYm0u-0-9ad1ec87823aca31f9f94ec049211003)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image111.png?sign=1738866255-aiigB61Ex7MP25pcaEVfPUSxWTpYQnYV-0-aa12c381ea71d79455ca95816034ab62)
将一个字符串“1234.567”转换为整数的程序框图和转换结果如图3-22所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image112.png?sign=1738866255-VSh8oB4fXQZruV0saQQOjJUnUOHSyO1L-0-070bc7e7e38d223350b9e849bf010c5f)
图3-22 字符串转换为整数
3.2.3 布尔值转为数值
布尔型与数值间也能够转换,在转换中T对应1,F则对应0。将布尔型转换为数值的方法是:在后面板,选取“函数→编程→数值→转换→布尔值至(0,1)转换”,为“布尔”端口添加输入控件,为“0,1”端口添加输出控件,则程序框图和前面板如图3-23所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image113.png?sign=1738866255-u1k9PQen7kY0Yq6OjV9lnf1xKe0JN4Pa-0-703b6313a00f4244a77e83b9ff402190)
图3-23 布尔值转为数值
3.2.4 路径与字符串之间的转换
路径可以转换成字符串,字符串也能够转换成路径,使用的方法是:在后面板,选取“函数→编程→字符串→路径/数组/字符串转换”,再按要求选取“路径至字符串转换”或“字符串至路径转换”。
将字符串转换为路径的程序框图和前面板如图3-24所示,将路径转换为字符串的程序框图和前面板如图3-25所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image114.png?sign=1738866255-ZYgAofCLW9gWaPXAHYFecVbosTkZybmr-0-7434c43fb1adc3f15f3eaf7e525aae8c)
图3-24 字符串转换为路径
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image115.png?sign=1738866255-Hr13ls0TOL31P7JuQoKWACI6OUPRD47S-0-d6f2afbcf0b1ffca1e98aa8a3c4d9554)
图3-25 路径转换为字符串
3.2.5 数值与时间的转换
数值可以被转换成时间格式的数据,采用的方法是:在后面板,选取“函数→编程→数值→转换→转换为时间标识”,再为其两端添加输入和输出控件即可。将数值转换为时间的程序框图和前面板如图3-26所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image116.png?sign=1738866255-gLZThAunaBrqbcMDImiHNNxVOh9Do74V-0-bc1c1a6177da12b690e271b630ed86fa)
图3-26 数值转换成时间
合理地使用数据类型,并加以适当地转换,有利于灵活地进行数据处理。