
本书从实际应用出发,通过100个典型实例系统地介绍了LabVIEW语言的程序设计方法及测控应用技术。全书分为两篇:入门基础篇包括第1~11章,主要内容有数值型数据、布尔型数据、字符串数据、数组数据、簇数据、数据类型转换、程序结构、变量与节点、图形显示、文件I/O和界面交互;测控应用篇包括第12~20章,主要内容有PC串口通信与测控、三菱PLC串口通信与测控、西门子PLC串口通信与测控、远程I/O模块串口通信与测控、单片机串口通信与测控、NI数据采集卡测控、研华数据采集卡测控、声卡数据采集、LabVIEW网络测控。本书实例由设计任务和任务实现等部分组成,并有详细的操作步骤。本书实例丰富,论述深入浅出,有较强的实用性和可操作性,可供机电类相关专业的大学生、研究生,以及虚拟仪器研发的工程技术人员学习和参考。
前 言 虚拟仪器是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革,它的出现使测试技术进入一个全新的发展阶段。虚拟仪器既有传统仪器的特征,又有一般仪器不具备的特殊功能,在实际应用中表现出传统仪器无法比拟的优势,可以说虚拟仪器是测控系统的关键组成部分。 作为测试工程领域的强有力工具,近年来,由美国国家仪器公司(National Instruments,NI)开发的虚拟仪器软件LabVIEW得到了业界的普遍认可,在测试系统分析、设计和研究方面得到广泛应用。 LabVIEW的全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。它采用了工程人员熟悉的术语、图标等图形化符号来代替常规基于文字的语言程序,把复杂、烦琐、费时的语言编程简化成选择功能图标,并用线条把各种功能图标连接起来的简单图形编程方式。利用LabVIEW,用户可通过定义和连接代表各种功能模块的图标,方便迅速地创建虚拟仪器。 本书从实际应用出发,通过100个典型实例系统地介绍了LabVIEW语言的程序设计方法及测控应用技术,入门基础篇包括第1~11章,主要内容有数值型数据、布尔型数据、字符串数据、数组数据、簇数据、数据类型转换、程序结构、变量与节点、图形显示、文件I/O和界面交互;测控应用篇包括第12~20章,主要内容有PC串口通信与测控、三菱PLC串口通信与测控、西门子PLC串口通信与测控、远程I/O模块串口通信与测控、单片机串口通信与测控、NI数据采集卡测控、研华数据采集卡测控、声卡数据采集、LabVIEW网络测控。提供的实例由设计任务和任务实现等部分组成,并有详细的操作步骤。 书中提供的程序具有实际参考价值,全部经过系统测试,读者可以直接拿来使用或者稍加修改便可用于自己的设计中。 本书实例丰富,论述深入浅出,有较强的实用性和可操作性,可供测控仪器、计算机应用、电子信息、机电一体化、自动化等专业的大学生、研究生,以及虚拟仪器研发的工程技术人员学习和参考。 本书由石河子大学李江全编写第1~5章,邓红涛编写第6~8章,李西洋编写第9~12章;张惠编写第13~14章;新疆工程学院王玉巍编写第15~16章;空军工程大学李丹阳编写第17~20章。电子开发网、北京研华科技等公司为本书提供了大量的技术支持,编者借此机会对他们致以深深的谢意。 由于编者水平有限,书中难免存在不妥或错误之处,恳请广大读者批评指正。 李江全
目 录 第1章 数值型数据 1 实例1 数值输入与显示 1 实例2 滑动杆输出与显示 5 实例3 旋钮与转盘输出 7 实例4 滚动条与刻度条 8 实例5 数值数据基本运算 9 实例6 数值常量的使用 11 第2章 布尔型数据 13 实例7 开关控制指示灯 13 实例8 数值比较与显示 14 实例9 数值逻辑运算 15 实例10 真常量与假常量 16 实例11 确定按钮的使用 17 实例12 停止按钮的使用 18 实例13 按钮的快捷键设置 20 第3章 字符串数据 22 实例14 截取字符串 22 实例15 连接字符串并计算长度 23 实例16 字符串大小写转换 25 实例17 从指定位置插入子字符串 26 实例18 搜索并替换子字符串 27 实例19 匹配字符串 29 实例20 组合框 30 第4章 数组数据 33 实例21 初始化数组 33 实例22 创建一维数组 34 实例23 创建二维数组 36 实例24 计算数组大小 37 实例25 数组索引 38 实例26 数组数据基本运算 40 实例27 矩阵的基本运算 43 实例28 求解线性方程组 44 第5章 簇数据 46 实例29 将基本数据捆绑成簇数据 46 实例30 将簇数据解除捆绑 47 实例31 按名称捆绑与解除捆绑 49 实例32 将多个簇数据创建成簇数组 52 实例33 索引与捆绑簇数组 53 第6章 数据类型转换 55 实例34 数值与字符串相互转换 55 实例35 数值与布尔数组相互转换 58 实例36 字符串与字节数组相互转换 61 实例37 字符串与路径相互转换 64 实例38 数组与簇相互转换 66 实例39 布尔值至(0,1)转换 69 第7章 程序结构 71 实例40 条件结构的使用 71 实例41 平铺式顺序结构的使用 75 实例42 层叠式顺序结构的使用 76 实例43 For循环结构的使用 78 实例44 While循环结构的使用 82 实例45 定时循环结构的使用 86 实例46 定时顺序结构的使用 91 实例47 事件结构的使用 92 实例48 禁用结构的使用 95 第8章 变量与节点 97 实例49 局部变量的创建与使用 97 实例50 全局变量的创建与使用 100 实例51 公式节点的创建与使用 104 实例52 反馈节点的创建与使用 106 实例53 表达式节点的创建与使用 107 实例54 属性节点的创建与使用 108 第9章 图形显示 112 实例55 波形图表与波形图控件的使用 112 实例56 强度图表与强度图控件的使用 116 实例57 XY图控件的使用 118 实例58 三维曲面图控件的使用 121 实例59 滤波器Express VI的使用 123 第10章 文件I/O 126 实例60 文本文件的写入与读取 126 实例61 二进制文件的写入与读取 129 实例62 波形文件的写入与读取 132 实例63 电子表格文件的写入与读取 136 第11章 界面交互 140 实例64 创建登录对话框 140 实例65 菜单的设计与使用 142 实例66 子程序的创建与调用 146 第12章 PC串口通信与测控 150 实例67 PC与PC串口通信 150 实例68 PC双串口互通信 155 实例69 PC与智能仪器串口通信 157 第13章 三菱PLC串口通信与测控 164 实例70 三菱PLC开关量输入 164 实例71 三菱PLC开关量输出 169 实例72 三菱PLC温度测控 173 实例73 三菱PLC电压输出 181 第14章 西门子PLC串口通信与测控 188 实例74 西门子PLC开关量输入 188 实例75 西门子PLC开关量输出 194 实例76 西门子PLC温度测控 199 实例77 西门子PLC电压输出 208 第15章 远程I/O模块串口通信与测控 215 实例78 远程I/O模块数字量输入 215 实例79 远程I/O模块数字量输出 220 实例80 远程I/O模块温度测控 225 实例81 远程I/O模块电压输出 232 第16章 单片机串口通信与测控 236 实例82 单片机数字量输入 236 实例83 单片机数字量输出 243 实例84 单片机电压采集 248 实例85 单片机电压输出 257 实例86 单片机温度测控 265 第17章 NI数据采集卡测控 285 实例87 PCI-6023E数据采集卡电压采集 285 实例88 PCI-6023E数据采集卡数字量输入 288 实例89 PCI-6023E数据采集卡数字量输出 293 实例90 PCI-6023E数据采集卡温度测控 297 第18章 研华数据采集卡测控 303 实例91 PCI-1710HG数据采集卡数字量输入 303 实例92 PCI-1710HG数据采集卡数字量输出 307 实例93 PCI-1710HG数据采集卡温度测控 310 实例94 PCI-1710HG数据采集卡电压输出 316 第19章 声卡数据采集 320 实例95 声卡的双声道模拟输入 320 实例96 声卡的双声道模拟输出 322 实例97 声音信号的采集与存储 323 实例98 声音信号的功率谱分析 324 第20章 LabVIEW网络测控 326 实例99 短信接收与发送 326 实例100 网络温度监测 343 参考文献 347