![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=1738861974-U21pHAb20E8QGq4xNIQacM8rxUIx7NSy-0-658a084923a7a9957edde163a96d6a14)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/3-1-1.jpg?sign=1738861974-Mqb5VLvBobZ175jlhS5RKBIfsHnQPrP6-0-c9156f106b013612d5b80beadad572a4)
数值型数据的创建包括变量与常数的创建。
(1)数值型变量的创建
在前面板空白处单击右键,选取“控件→新式→数值”或“控件→经典→经典数值”,就可选取相应的数值型输入控件或显示控件。
(2)数值型常量的创建
在LabVIEW内部集成了一些常用的高精度数学、物理和化学常量,如圆周率、重力常数、阿伏伽德罗常数等。
在后面板空白处单击右键,选取“编程→数学→数值→数学与科学常量”,就可选取相应的数值型常数。
提示
数值型变量是在程序运行时通过键盘或鼠标来设定,而常量只能在编程时设定,在程序运行时常数就不能再改变。
(3)设置数值类型
在前面板,选取数值型输入控件或显示控件并单击右键,从快捷菜单中选取“表示法”,则可设置所需类型。
3.1.2 布尔型
布尔型数据也称逻辑型数据,它只有真和假两个值,以对应布尔型控件的“开”和“关”的状态。
布尔型数据的创建有三种方法:
① 在前面板由菜单栏选取“查看→控件选板”→“新式→布尔”。
② 在前面板由菜单栏选取“查看→控件选板”→“经典→经典布尔”。
③ 在后面板由菜单栏选取“查看→函数选板”→“编程→布尔”。
布尔型控件按外形可分为按钮式、摇杆式、开关式、指示灯式及滑杆式等,如图3-1所示,凭此可设计出逼真的虚拟仪表界面。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image86.png?sign=1738861974-AkcRRaJsDE4NbVyXM761RqkqM8G4zoDs-0-dc7bafe543ec3c4a5f2c7ee54f283fee)
图3-1 布尔型控件外观
3.1.3 数组
数组是相同数据元素组成的大小可变的集合,数组由两个要素组成,即元素和维数。数组元素的类型可以是数值型、布尔型、字符串型和波形等,但数组、表单及图形等不能作为数组元素。
数组可以是一维或多维的,每一维最多有231个元素。
数组的创建有3种,分别是由前面板创建、由后面板创建及用程序创建。
(1)由前面板创建数组
在前面板,选取“控件→新式→数组、矩阵与簇→数组”。再向数组内放入一个数值输入控件,就创建了一个一维数组。若要显示多个数组成员,可选取定位工具,在数组的边框处拖动出现的网状拐角以增减显示区域,如图3-2所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image87.png?sign=1738861974-hEsihvikGX1YACFA7RDH2GHmgznIyEg2-0-83fa22144b4630d3e9d26b93fe5b4161)
图3-2 数组添加输入控件前后
若增加数组的维数,可在索引框处单击鼠标右键,并从快捷菜单选取“添加维度”。
为了显示更多的数组成员,可选取定位工具,将鼠标移动到数组上,会出现调节控制点,拖动调节控制点就可增加显示成员,其效果如图3-3所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image89.png?sign=1738861974-i5SJKdcyPu4pGX6TFj5VWpQikQkBTylt-0-8bddbae903530c08a8d94d7f721530f6)
图3-3 增添维数和显示成员
(2)由后面板创建数组
在后面板,选取“函数→编程→数组→数组常量”,来放置一个数组常量,如图3-4所示。然后再将一个数值常量放入数值常量框架中,就创建了一个数值,如3-5所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image90.png?sign=1738861974-2xrj20liIRthefSgjBtUD3Kvap1BQeUG-0-2da1d2f25fcdcc920a55da0b6e3cbe11)
图3-4 添加数组常量
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image91.png?sign=1738861974-qmH21WfLDuzKOzsqlzbTqrJzGlZ8gCkS-0-bbeab84daf2d9be7acfc855e916807e4)
图3-5 添加数值常量
若要添加多个数组成员,可选取定位工具,在数组的边框处拖动出现的调节控制点,以增减数组成员,如图3-6所示。若修改数值常量值,可用文本工具点击相应的数值常量加以修改即可,如图3-7所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image92.png?sign=1738861974-Me5nJlMsDJ7GTYULhbhGX9bfCwDQw5b4-0-bd50765a68bff1b0e8e9000474c6ac8a)
图3-6 增减数组成员
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image93.png?sign=1738861974-s72khYVHRUwbFASdRaTP2MqueGNA11Ik-0-5af1aa83fe587e262fbaa2537d78264c)
图3-7 修改数值常量值
此外,也可仿照前面板的方法来增添数组的维数等。
(3)用程序创建数组
除了使用前、后面板来创建数组,还可以通过For循环来创建数组,具体的操作是:
① 选取“函数→编程→结构→循环”,在后面板放置一个循环结构。
② 用连接工具点击变量i,以建立首个连接点。移动鼠标到循环结构的右边框,如图3-8所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image94.png?sign=1738861974-nC7yWOdhOH8iYDFmbpHz1SgPJtnnagd7-0-c27a1b27aea9e14fea826d07852fe595)
图3-8 循环结构内连线
③ 单击鼠标,以结束连线。
④ 在连线结束位置,单击鼠标右键,由快捷菜单选取“创建→显示控件”,以存储和显示数值内容。
⑤ 在循环次数输入端点,单击鼠标右键,由快捷菜单选取“创建常量”,并对循环次数加以修改,如图3-9所示。这样就创建了一个数组元素分别为0、1、2的一维数组。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image95.png?sign=1738861974-pL7NqW2OucFpCJg6XyrxWqtdIRRZXtPx-0-0ee55eb41dcfb602e6ef040e219534f6)
图3-9 以程序建数组
3.1.4 字符串
字符串是一系列可显或不可显ASCII码字符的集合,它提供了一种独立于操作平台的信息和数据格式。在LabVIEW中,数据采集和仪器控制基本是以字符串的形式来传递数据。
字符串控件分为字符串输入控件、字符串显示控件和组合框控件。
(1)创建字符串输入控件
字符串输入控件是以文本框的形式来输入字符串,其创建方法是:
在前面板,选取“控件→新式→字符串与路径→字符串输入控件”来添加一个字符串输入控件,如图3-10所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image96.png?sign=1738861974-lzkZ4CU3juCtrqkgKkCpo0DlIHkP9XyY-0-e6d8528be0085d88d185e8b654f5530f)
图3-10 字符串输入控件
(2)创建字符串显示控件
字符串显示控件用于以文本框的形式来显示字符串,字符串有4种显示类型,即正常显示、“\”代码显示、密码显示和十六进制显示。
① 正常显示:是指显示可打印的字符串,对于不可打印的字符则以一个小方框替代。
② “\”代码显示:是指将所有不可显示的字符以反斜杠方式来显示,对于中文字符所显示的是其内码。
③ 密码显示:是指为了保护输入信息而以星号(*)来代替输入内容的显示方式,多用于密码输入等场合。
④ 十六进制显示:是指以十六进制的ASCII值来替代原内容的显示方法。
字符串显示控件的创建方法是:
在前面板,选取“控件→新式→字符串与路径→字符串显示控件”来添加一个字符串显示控件。
为了设置不同的显示方式,使用鼠标右键单击相应的字符串显示控件,再由快捷菜单选取相应选项即可。各显示方式的效果如图3-11所示,其程序框图如图3-12所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image97.png?sign=1738861974-gYEZByIwZCQkOlaxSS7zWHvyWnxW8iCj-0-62f76f042b50c6fc7604cfddd4de1e7d)
图3-11 字符串显示效果
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image98.png?sign=1738861974-GohrXCV6T9HWvMH5FijKlhoQ9C9Sk4TP-0-31d4669724c2e79afdd26939605dd36a)
图3-12 字符串显示效果程序框图
(3)创建组合框
组合框控件用于创建字符串列表,在组合框中有多个字符串,每个字符串都是组合框的一个选项,并对应一个键值。
创建组合框的操作是:
① 在前面板,选取“控件→新式→字符串与路径→组合框”来添加一个组合框控件。为了添加各选项,使用鼠标右键单击组合框控件,由快捷菜单选取“编辑项...”选项,则弹出“组合框属性”对话框,如图3-13所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image99.png?sign=1738861974-SdvwslxUkAM4FfcoYtuznHNkg35fT9zp-0-0350a26af71e94987245d2398be5b8b8)
图3-13 组合框属性对话框
② 单击“插入”按钮,为对话框添加选项“电风扇”。若需要独立设置键值,可取消“值与项值匹配”前的对钩,然后修改值的内容。
③ 使用“插入”按钮,添加更多选项。
④ 单击“确定”按钮,退出组合框编辑。
⑤ 运行程序,其效果如图3-14所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image100.png?sign=1738861974-C1d1crQoJbqtjbMJTcCVRGcnIsqOXD1d-0-93f3dd8147eb51f6ca0a4ea66ce4aacd)
图3-14 组合框运行效果
3.1.5 簇
簇是由不同数据类型的元素所组成的集合,簇的成员可以是任意的数据类型,但不能同时将输入控件和输出控件放在一起。
创建簇有两种方法,分别是由前面板创建和由后面板创建。
(1)由前面板创建簇
在前面板,选取“控件→新式→数组、矩阵与簇→簇”,再向簇的框架内放入相关的输入控件以构成一条记录信息,如图3-15所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image101.png?sign=1738861974-BepnGipVbNwHKJuRIuuU9wC2wShXNfgD-0-784307b26c0499c78730b77c1487c85d)
图3-15 前面板创建簇
(2)由后面板创建簇
在后面板,选取“函数→编程→簇、类与变体→簇常量”,再向簇的框架内放入相关的数据常量以构成一条记录信息,如图3-16所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image102.png?sign=1738861974-bytBlBlWVOnsZ5xH1rcbe4vnOuAzcy8J-0-54fe49c956830557b9dbac397e5f63c2)
图3-16 后面板创建簇
对于簇内对象的大小是可以自主调整的,右击簇边界,在弹出的快捷菜单中可选取相应的调节操作,如图3-17所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image103.png?sign=1738861974-9HiYBPdPBgdGBrVXFH9y1Zi5Pou5yNkI-0-91153c4d7fb8da4484d9d71c370580ad)
图3-17 调整大小
3.1.6 路径
路径是进行文件操作的关键参数之一,在LabVIEW中,涉及路径的控件有两种,即文件路径输入控件和文件路径显示控件。
创建路径的操作是:
在前面板,选取“控件→新式→字符串与路径”,然后视具体需要选取文件路径输入控件或文件路径显示控件,如图3-18所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image104.png?sign=1738861974-wh6wjJ9t51esapnrRpWNMmFOhtWGdfqY-0-58848bc8dd801d8410e78a330dd556bb)
图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=1738861974-KxLLO7laOEvs62owzP8nBPE5EMZGLudu-0-65f0fe473842ad1056ce6f4be78cd7e4)
图3-19 时间标识控件
(2)波形显示控件
波形显示控件可用于波形数据的显示,其创建方法是:
在前面板,选取“控件→新式→I/O→波形”,如图3-20所示。在默认状态下,波形显示控件是不显示属性的。若要显示属性,可在控件上单击右键,再由快捷菜单选择“显示项→属性”。波形属性主要用于存储波形的长度、类型等参数信息。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image106.png?sign=1738861974-gemS5BzjqfS4pb6N1yZd49AAmjJnSmpd-0-bf886b5cf48d1faa1c043922a7112e31)
图3-20 波形显示控件
3.2 数据类型之间的转换
3.2.1 数值型数据之间的转换
实现数值型数据间的转换可采用的方法是:在后面板,选取“函数→编程→数值→转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-2所示。
表3-2 数值型数据转换图标功能表
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image107.png?sign=1738861974-a8DONa2jailcMZ3lbAVwsDsFNhhGr7U6-0-0f52d7d0c55ef4ed64cc17a92c1b685b)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image108.png?sign=1738861974-Iuafnyp8MlVGgKBlT93T7dLcEbPvO6Em-0-2a7f95e7a38b1baf8742aacf8836a3c7)
将一个单精度浮点型数据3.1415转换为8位无符号整数的程序框图和转换结果如图3-21所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image109.png?sign=1738861974-bFpllIGkYsl2hUuYiCpSJ0sW6N8RY6SF-0-f1684f5a337d1856fae86a444bd80f72)
图3-21 数值型数据转换
3.2.2 数值与字符串之间的转换
在LabVIEW中,数值可以转换为字符串,同样字符串也可以转换为数值,采用的方法是:在后面板,选取“函数→编程→字符串→数值/字符串转换”,再按要求指定所需的选项。在转换子模板中,各图标的具体功能如表3-3所示。
表3-3 数值型数据转换表
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image110.png?sign=1738861974-VoO2QneawkuCd5TxoGmRsNsu5pIaz1QL-0-830afd448eb3dc732da00b74b2e3844c)
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image111.png?sign=1738861974-4DkLfFXFMjoLNXLAjVBuQQlpnN4eAiZV-0-e8d9e1781e522e4bb1d6341a8a98fe8d)
将一个字符串“1234.567”转换为整数的程序框图和转换结果如图3-22所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image112.png?sign=1738861974-pfQBTcY8Xa4IuY5ewk6VITadHv6YF3QT-0-c66c1f41cc1f4aa201a20ce833b6518c)
图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=1738861974-RunAdigp9EkcPxIC5PN3r0jnoc4n4BJz-0-edaf6cd57a1aa756a9c3041c7b0b55de)
图3-23 布尔值转为数值
3.2.4 路径与字符串之间的转换
路径可以转换成字符串,字符串也能够转换成路径,使用的方法是:在后面板,选取“函数→编程→字符串→路径/数组/字符串转换”,再按要求选取“路径至字符串转换”或“字符串至路径转换”。
将字符串转换为路径的程序框图和前面板如图3-24所示,将路径转换为字符串的程序框图和前面板如图3-25所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image114.png?sign=1738861974-lVHWhbTPcMAY5e4QybFUG34rpO4uxnXu-0-281bc7946429fccb7d00bbdf680fafea)
图3-24 字符串转换为路径
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image115.png?sign=1738861974-7CsHdIEXHL34deRJBNJbTIIzylbWrngu-0-4c689de908a5736ddcaac3c5ce87dc2f)
图3-25 路径转换为字符串
3.2.5 数值与时间的转换
数值可以被转换成时间格式的数据,采用的方法是:在后面板,选取“函数→编程→数值→转换→转换为时间标识”,再为其两端添加输入和输出控件即可。将数值转换为时间的程序框图和前面板如图3-26所示。
![](https://epubservercos.yuewen.com/B62057/16499775505871906/epubprivate/OEBPS/Images/image116.png?sign=1738861974-SuKZK4OzyeEvriVHUgyarD1NY35LkHyX-0-8bd9938624e819ece4cd0e6816c4462f)
图3-26 数值转换成时间
合理地使用数据类型,并加以适当地转换,有利于灵活地进行数据处理。