页数:402页 开本:16开 重量:640g
《精通LabVIEW虚拟仪器程序设计与案例实现》分四篇共18章,详细地介绍了LabVIEW的基本概念、基本操作以及在工程领域的应用。 第一篇“入门篇”,介绍了LabVIEW的一些相关概念、特点及安装步骤,并用一个简单的“Hello World”让读者对LabVIEW编程有一个整体的了解。第二篇“基础篇”,详细介绍了LabVIEW编程的一些基本操作。如数据类型及相互的转换、LabVIEW的程序结构、LabVIEW的数据表达与显示、文件I/O,通过这些技术的介绍和学习,读者就能熟练掌握LabVIEW的基本操作了。第三篇“应用篇”,详细介绍了LabVIEW在工程领域的一些应用、相关实例、调试技巧以及应用程序发布等。如LabVIEW在数学分析中的应用、LabVIEW在信号处理中的应用、LabVIEW与外部程序的接口、LabVIEW的多线程技术、LabVIEW的数据库应用、LabVIEW在数据采集与仪器控制中的应用、LabVIEW在网络、串口等通信中的应用及LabVIEW的界面设计与美化和代码优化方法等。第四篇疑难问题解答,帮助读者尽快融入实战角色。
目录
入门篇 第1章 LabVIEW概述 2 1.1 LabVIEW与G语言 2 1.2 LabVIEW与虚拟仪器 3 1.3 LabVIEW的发展历程 5 1.4 LabVIEW2011新特性 5 1.5 思考与练习 7 第2章 开始LabVIEW编程 8 2.1 LabVIEW安装 8 2.2 启动LabVIEW 12 2.3 基本概念 14 2.3.1 VI 14 2.3.2 前面板 14 2.3.3 程序框图 16 2.4 LabVIEW操作面板 17 2.4.1 工具选板 17 2.4.2 控件选板 18 2.4.3 函数选板 20 2.5 LabVIEW菜单栏及工具栏 20 2.5.1 LabVIEW菜单栏 20 2.5.2 LabVIEW工具栏 22 2.6 VI的创建与编辑 22 2.6.1 VI的创建 22 2.6.2 VI的编辑 23 2.7 VI的运行与调试 25 2.8 LabVIEW常用快捷键 25 2.9 LabVIEW帮助 26 2.9.1 即时上下文帮助 26 2.9.2 查找范例 26 2.9.3 在线帮助 27 2.10 综合实例:创建一个“HelloWorld”程序 27 2.11 思考与练习 29 基础篇 第3章 LabVIEW中的数据类型 32 3.1 基本数据类型 32 3.1.1 数字型 34 3.1.2 布尔型 35 3.1.3 字符串型与路径 36 3.1.4 枚举型 37 3.1.5 簇 38 3.1.6 数组 38 3.1.7 波形数据 39 3.1.8 时间标识 39 3.1.9 变体 39 3.2 数据类型之间的转换 40 3.2.1 不同数字类型之间的转换 40 3.2.2 数字/字符串转换 41 3.2.3 字符串/数组/路径转换 43 3.2.4 布尔值/数字值转换 44 3.2.5 数字与时间标识的转换 45 3.3 数据运算与操作 45 3.3.1 基本数学运算与操作 45 3.3.2 字符串运算与操作 47 3.3.3 布尔运算与操作 48 3.3.4 比较运算 49 3.3.5 数组与矩阵操作 51 3.3.6 簇操作 55 3.3.7 波形数据操作 57 3.4 综合实例:模拟温度监测 57 3.5 思考与练习 58 第4章 LabVIEW中的程序结构 59 4.1 循环结构 59 4.1.1 For循环 60 4.1.2 While循环 63 4.2 顺序结构 64 4.2.1 平铺式顺序结构 64 4.2.2 层叠式顺序结构 66 4.3 定时结构 67 4.3.1 定时循环 67 4.3.2 定时顺序 69 4.3.3 定时VI 69 4.4 条件结构 70 4.5 事件结构 72 4.6 公式节点 76 4.7 反馈节点 78 4.8 变量 78 4.8.1 局部变量 78 4.8.2 全局变量 80 4.8.3 共享变量 82 4.9 禁用结构 83 4.9.1 程序框图禁用结构 83 4.9.2 条件禁用结构 83 4.10 综合实例 84 4.10.1 综合实例1:数组求和 84 4.10.2 综合实例2:动态窗口管理 84 4.11 思考与练习 87 第5章 LabVIEW中的数据表达与显示 88 5.1 数值型数据的表达与显示 88 5.1.1 数值输入与显示控件 89 5.1.2 滑动杆控件 91 5.1.3 进度条控件 92 5.1.4 旋钮类控件 92 5.1.5 其他个性控件 92 5.2 布尔型数据的表达与显示 93 5.3 字符型数据的表达与显示 95 5.4 用二维图形表达与显示数据 97 5.4.1 波形图表与波形图 98 5.4.2 XY图和ExpressXY图 106 5.4.3 强度图表与强度图 107 5.4.4 数字波形图和混合波形图 107 5.5 用三维图形表达与显示数据 109 5.5.1 三维曲面图 110 5.5.2 三维参数图 111 5.5.3 三维曲线图 112 5.6 其他图形显示控件 112 5.6.1 极坐标图 113 5.6.2 最小—最大曲线显示控件 113 5.7 综合实例:绘制李萨如图形 114 5.8 思考与练习 115 第6章 LabVIEW中的文件I/O 116 6.1 文件I/O基本概念介绍 116 6.2 常用文件 117 6.2.1 二进制文件(.dat) 117 6.2.2 文本文件(.txt) 120 6.2.3 电子表格文件(.xls) 123 6.3 LabVIEW的特殊文件 125 6.3.1 波形文件(WaveformFiles) 125 6.3.2 XML文件 126 6.3.3 数据存储文件(TDM) 127 6.3.4 高速数据流文件(TDMS) 128 6.3.5 测量文件(LVM) 130 6.4 其他文件 131 6.4.1 音频文件(.wav) 131 6.4.2 压缩文件(.zip) 132 6.4.3 配置文件(.ini) 133 6.5 文件工具 133 6.5.1 路径、目录操作 133 6.5.2 获取文件、目录的信息 134 6.5.3 文件位置与大小设置 135 6.5.4 文件操作 136 6.6 综合实例 137 6.6.1 综合实例1:文件循环写入 137 6.6.2 综合实例2:文件循环保存 137 6.6.3 综合实例3:读取Excel文件 138 6.7 思考与练习 139 应用篇 第7章 数学分析 142 7.1 初等与特殊函数 142 7.2 线性代数 143 7.3 微积分 145 7.4 概率与统计 147 7.5 最优化 148 7.6 微分方程 149 7.7 几何 150 7.8 多项式 151 7.9 曲线拟合 152 7.10 插值 153 7.11 脚本与公式 155 7.12 综合实例:水箱问题 156 7.13 思考与练习 157 第8章 信号处理 158 8.1 信号发生 158 8.1.1 基本函数发生器 159 8.1.2 多频信号发生器 161 8.1.3 噪声信号发生器 162 8.1.4 用公式节点产生信号 163 8.1.5 用ExpressVI产生信号 163 8.2 时域分析 164 8.2.1 基本平均值与均方差测量 165 8.2.2 过渡态测量 166 8.2.3 提取信号单频信息 169 8.2.4 相关 170 8.2.5 谐波失真分析 171 8.3 频域分析 172 8.3.1 傅里叶变换 173 8.3.2 拉普拉斯变换 174 8.3.3 功率谱分析 175 8.4 信号调理 176 8.4.1 滤波器 176 8.4.2 窗函数 178 8.4.3 波形调理 179 8.5 波形监测 183 8.5.1 边界检测 183 8.5.2 波峰波谷检测 184 8.5.3 触发与门限 185 8.6 逐点分析 188 8.7 综合实例:声音回波特性分析 189 8.8 思考与练习 190 第9章 外部程序接口 191 9.1 DLL与API调用 191 9.1.1 DLL调用 191 9.1.2 参数类型的配置 193 9.1.3 WindowsAPI调用 194 9.2 可执行文件的调用 197 9.3 ActiveX调用 198 9.3.1 ActiveX自动化 198 9.3.2 ActiveX容器 200 9.3.3 ActiveX事件 201 9.3.4 LabVIEW作为服务器端 203 9.4 LabVIEW与MATLAB混合编程 205 9.5 综合实例:用LabVIEW与MATLAB混合编程实现小波去噪 205 9.6 思考与练习 207 第10章 多线程技术 208 10.1 多线程基本概念 208 10.2 多线程带来的问题 210 10.3 LabVIEW中的多线程 211 10.3.1 LabVIEW的执行系统 211 10.3.2 运行队列 213 10.3.3 LabVIEW多线程中的DLL 214 10.3.4 定制线程配置 215 10.3.5 LabVIEW对多核CPU的支持 218 10.4 生产者/消费者模式 219 10.4.1 生产者/消费者的优势 219 10.4.2 生产者/消费者基本组成结构 219 10.4.3 多消费者循环 223 10.4.4 基于队列状态机的生产者/消费者结构 224 10.5 综合实例:多线程计时器 226 10.6 思考与练习 226 第11章 数据采集与仪器控制 227 11.1 数据采集 227 11.1.1 数据采集系统基本组成 227 11.1.2 NI数据采集硬件产品及其应用领域 229 11.1.3 硬件选型重要参数 230 11.1.4 配置管理软件MAX 231 11.1.5 NI—DAQ应用举例 235 11.2 仪器控制 239 11.2.1 常用总线介绍 239 11.2.2 仪器驱动程序 242 11.2.3 LabVIEW仪器控制 242 11.2.4 LabVIEW与第三方硬件的连接 249 11.3 综合实例:“NIPCI—MIO—16E—1”采集卡使用 249 11.4 思考与练习 253 第12章 通信 254 12.1 串行通信 254 12.1.1 串口介绍 254 12.1.2 串口接线定义与连接方式 255 12.1.3 LabVIEW中的串口编程 258 12.2 网络通信 262 12.2.1 TCP协议通信 262 12.2.2 UDP协议通信 267 12.3 DataSocket通信 269 12.3.1 DataSocket技术 269 12.3.2 DataSocket逻辑构成 270 12.3.3 DataSocket编程 271 12.4 远程面板 273 12.4.1 配置LabVIEWWebServer 274 12.4.2 在LabVIEW环境中操作RemotePanels 276 12.5 综合实例:基于TCP协议的DSP调试软件 277 12.6 思考与练习 280 第13章 界面设计与美化 281 13.1 界面设计的一般原则与常用界面风格 281 13.1.1 界面设计的一般原则 281 13.1.2 常用界面风格 282 13.2 菜单设计 284 13.3 属性节点与调用节点 285 13.4 子VI调用与重载 287 13.4.1 子VI的创建与调用 287 13.4.2 多面板程序设计 289 13.4.3 动态载入界面 290 13.5 界面美化 293 13.5.1 使用布局工具排列对象 293 13.5.2 添加背景图片 293 13.5.3 自定义控件 294 13.5.4 动画 296 13.5.5 利用控件选板与工具选板 297 13.5.6 VI属性设置 299 13.6 综合实例:用属性节点控制Tab控件 300 13.7 思考与练习 302 第14章 代码优化 303 14.1 代码优化的必要性 303 14.2 VI性能分析工具 303 14.2.1 性能和内存分析工具 304 14.2.2 显示缓冲区分配工具 306 14.2.3 VI统计工具 307 14.2.4 查找可并行的循环工具 308 14.3 VI内存使用 309 14.3.1 虚拟内存 309 14.3.2 VI组件内存管理 310 14.3.3 数据流编程和数据缓冲区 311 14.3.4 条件输入控件和数据缓冲区 312 14.3.5 前面板的内存问题 312 14.4 高效使用内存的规则 312 14.5 常用代码优化方法与技巧 313 14.5.1 及时释放内存 313 14.5.2 输出重复使用输入缓冲区 314 14.5.3 使用一致的数据类型 314 14.5.4 避免频繁调整数组大小 315 14.5.5 开发高效的数据结构 317 14.5.6 使用元素同址操作结构 319 14.5.7 防止内存泄漏 321 14.5.8 动态调用子VI 321 14.6 思考与练习 322 第15章 项目管理与报表生成 323 15.1 项目管理 323 15.1.1 项目浏览器 323 15.1.2 源代码管理工具 324 15.1.3 LLB管理器 325 15.2 报表生成 326 15.2.1 报表生成VI介绍 326 15.2.2 简易报表生成 328 15.2.3 高级报表生成 330 15.2.4 报表生成工具包 331 15.3 综合实例:报表生成 335 15.4 思考与练习 336 第16章 应用程序发布 337 16.1 LabVIEW程序生成规范 337 16.2 发布应用程序前的准备 338 16.3 创建源代码发布 339 16.4 创建独立应用程序(EXE) 344 16.5 创建安装程序(SETUP) 351 16.6 创建共享库(DLL) 357 16.7 思考与练习 360 第17章 工程应用实例介绍 362 17.1 基于声卡的信号采集与分析软件 362 17.2 DSO25216驱动开发 368 17.3 管道漏点检测与定位 374 17.4 多通道数据采集软件 382 17.5 基于串口通信的上位机控制软件 385 疑难问题解答 第18章 LabVIEW应用技巧集萃及常见疑难解答 390 18.1 LabVIEW应用技巧集萃 390 18.2 常见疑难问题及解答 396 18.2.1 数据读取与文件操作方面的问题 396 18.2.2 仪器控制与驱动方面的问题 397 18.2.3 界面与显示方面的问题 398 18.2.4 程序运行与应用程序发布方面的问题 400 18.2.5 其他问题 401 |