本书以LabVIEW为讲解对象,系统介绍了LabVIEW程序设计的理念、关键技术和应用实例。全书分为三大部分:基础篇、实例应用篇和综合开发篇。基础篇(第1~10章)介绍了LabVIEW程序设计所需的基础知识,实例应用篇(第11~27章)介绍了实际应用中涉及的具体问题和应用实例,综合开发篇(第28~32章)则对实际工作中的具体系统进行详细的讲解和分析。 本书共有100个实例,具有涵盖面广、内容丰富、结构清晰、实用性强的特点。本书通过大量实例阐述程序设计中的重要概念和设计步骤,突出了系统完整性和实用性相结合的优点。
严雨:嵌入式开发工程师,具有丰富的开发经验,曾就职于多家世界知名公司,从事嵌入式开发工作,先后编撰《LabVIEW入门与实战开发100例》《新编51单片机C语言实战教程:入门、实战、开发、拓展全程攻略》《嵌入式技术基础》等专业图书。刘艳伟,曾在航天企业担任设计师,中国电子学会会员,主要从事单片机、嵌入式系统、机电等专业的图书编写和教学指导工作,在计算机、电子、通信方面具有扎实的理论知识基础和丰富的实践开发能力,先后编撰《单片机应用技术实例教程》、《嵌入式系统开发技术》、《LabVIEW入门与实践开发100例》、《51单片机应用开发范例大全》等优秀教材和图书,受到了广大高校师生的赞誉。
第1章 LabVIEW的基本操作
1.1 【实例1】基于模板打开一个VI并运行
1.2 【实例2】基于模板创建一个VI
1.3 【实例3】编辑前面板
1.3.1 控件选板
1.3.2 工具选板
1.3.3 前面板的编辑
1.4 【实例4】调试VI
第2章 自定义VI
2.1 【实例5】简易数值运算
2.1.1 设计目的
2.1.2 程序框图主要功能模块介绍
2.1.3 详细设计步骤
2.2 【实例6】简单滤除信号噪声
2.2.1 设计目的
2.2.2 程序框图主要功能模块介绍
2.2.3 详细设计步骤
第3章 数组
3.1 【实例7】创建数组控件
3.2 【实例8】创建二维数组
3.3 【实例9】数组的多态性
3.4 【实例10】“数组大小”函数
3.5 【实例11】“索引数组”函数
3.6 【实例12】“数组插入”函数
3.7 【实例13】“初始化数组”函数
第4章 簇
4.1 【实例14】创建簇
4.2 【实例15】“捆绑”函数
4.3 【实例16】“解除捆绑”函数
4.4 【实例17】“簇至数组转换” 函数和“数组至簇转换”函数
第5章 字符串、变量和矩阵
5.1 【实例18】基本字符串函数的使用
5.2 【实例19】“数组至电子表格字符串转换”函数和“电子表格字符串至数组转换”函数
5.3 【实例20】局部变量和全局变量的使用
5.4 【实例21】矩阵的基本运算
5.5 【实例22】求解线性代数方程
第6章 程序结构
6.1 【实例23】For循环
6.2 【实例24】While循环
6.3 【实例25】顺序结构
6.4 【实例26】事件结构
6.5 【实例27】使能结构
6.6 【实例28】选择结构
6.7 【实例29】公式节点
6.8 【实例30】移位寄存器
第7章 图形化数据显示
7.1 【实例31】波形图表
7.2 【实例32】波形图
7.3 【实例33】定制波形图表
7.4 【实例34】定制波形图
7.5 【实例35】XY曲线图
7.6 【实例36】强度图
7.7 【实例37】三维曲面图
第8章 人机界面交互设计
8.1 【实例38】创建登录对话框
8.2 【实例39】创建主菜单
8.3 【实例40】自定义控件
8.4 【实例41】修饰静态界面
8.5 【实例42】动态交互界面
第9章 文件I/O
9.1 【实例43】向文件中写入数据
9.2 【实例44】从文件中读取数据
9.3 【实例45】写入二进制文件
9.4 【实例46】写入表单文件
9.5 【实例47】读取电子表格文件
9.6 【实例48】向文件中写入波形数据
第10章 子VI与程序调试
10.1 【实例49】创建子VI
10.2 【实例50】调用子VI
第11章 数学分析与信号处理
11.1 【实例51】求商和余数
11.2 【实例52】数值微积分
11.3 【实例53】曲线积分
11.4 【实例54】求解微分方程—单摆运动
11.5 【实例55】线性代数计算器
11.6 【实例56】求解多项式函数零点
11.7 【实例57】曲线拟合
11.8 【实例58】概率与统计
11.9 【实例59】取值最优化
11.10 【实例60】MathScript节点实现信号分析
11.11 【实例61】信号生成
11.12 【实例62】计算信号归一化频率
11.13 【实例63】测量信号幅值和电平
11.14 【实例64】信号的瞬态特性测量
11.15 【实例65】单边傅里叶变换
11.16 【实例66】双边傅里叶变换
11.17 【实例67】平滑窗
11.18 【实例68】汉明窗
11.19 【实例69】提取正弦波
11.20 【实例70】逐点分析滤波器
第12章 数据采集和仪器控制
12.1 【实例71】单通道单点采样
12.2 【实例72】采集波形
12.3 【实例73】单通道单点输出
12.4 【实例74】生成波形
12.5 【实例75】VISA函数
12.6 【实例76】LabVIEW与GPIB通信
12.7 【实例77】使用NI-DAQmx VI创建任务
12.8 【实例78】使用DAQ Assistant创建任务
第13章 Express VI
13.1 【实例79】利用Express VI实现数值比较
13.2 【实例80】利用Express VI实现刻度标示变换
13.3 【实例81】利用Express VI实现信号选择
第14章 【实例82】获取系统当前时间
14.1 设计目的
14.2 程序框图主要功能模块介绍
14.3 详细设计步骤
第15章 【实例83】创建右键快捷菜单
15.1 设计目的
15.2 程序框图主要功能模块介绍
15.3 详细设计步骤
第16章 【实例84】数字示波器
16.1 设计目的
16.2 程序框图主要功能模块介绍
16.3 详细设计步骤
16.3.1 前面板设计
16.3.2 触发电平子VI的设计
16.3.3 触发器子VI的设计
16.3.4 通道选择子VI的设计
16.3.5 功率估计子VI的设计
16.3.6 相位分析子VI的设计
16.3.7 选择功能的实现
16.3.8 水平分度调节处理功能块的设计
16.3.9 幅值分度调节处理功能块的设计
16.3.10 完整程序框图
16.3.11 运行结果
第17章 【实例85】触发计数器
17.1 设计目的
17.2 程序框图主要功能模块介绍
17.3 详细设计步骤
17.3.1 创建一个新的VI
17.3.2 添加仿真信号
17.3.3 添加“触发与门限”函数
17.3.4 进行统计计数
17.3.5 完整程序框图
17.3.6 运行结果
第18章 【实例86】基本函数发生器
18.1 设计目的
18.2 程序框图主要功能模块介绍
18.3 详细设计步骤
18.3.1 创建一个新的VI
18.3.2 配置基本函数发生器
18.3.3 完整程序框图
18.3.4 前面板界面布局
18.3.5 运行结果
第19章 【实例87】对高斯噪声的统计分析
19.1 设计目的
19.2 程序框图主要功能模块介绍
19.3 详细设计步骤
19.3.1 创建一个新的VI
19.3.2 添加信号源
19.3.3 对信号进行统计分析
19.3.4 创建柱状图
19.3.5 完整程序框图
19.3.6 运行结果
第20章 【实例88】信号的功率谱测量
20.1 设计目的
20.2 程序框图主要功能模块介绍
20.3 详细设计步骤
20.3.1 创建一个新的VI
20.3.2 产生添加了噪声的正弦信号
20.3.3 前面板的设计
20.3.4 功率谱测量程序框图
20.3.5 完整程序框图
20.3.6 运行结果
第21章 【实例89】低通滤波器设计
21.1 设计目的
21.2 程序框图主要功能模块介绍
21.3 详细设计步骤
21.3.1 创建一个新的VI
21.3.2 产生信号源
21.3.3 低通滤波
21.3.4 进行频谱分析
21.3.5 完整程序框图
21.3.6 运行结果
第22章 【实例90】火车车轮状态的实时监控
22.1 设计目的
22.2 程序框图主要功能模块介绍
22.2.1 “Butterworth滤波器(逐点)”函数
22.2.2 “数组最大值与最小值(逐点)”函数
22.2.3 “布尔值转换(逐点)”函数
22.2.4 条件结构
22.3 详细设计步骤
22.3.1 创建一个新的VI
22.3.2 构建仿真数据数组
22.3.3 Butterworth滤波处理
22.3.4 峰值检测
22.3.5 完整程序框图
22.3.6 运行结果
第23章 【实例91】温度分析仪
23.1 设计目的
23.2 程序框图主要功能模块介绍
23.2.1 数字温度计子VI模块
23.2.2 “数组最大值与最小值”函数
23.2.3 “均值”函数
23.2.4 簇捆绑函数(控件)
23.3 详细设计步骤
23.3.1 数字温度计子VI的设计
23.3.2 前面板的设计
23.3.3 温度数据采集
23.3.4 温度分析
23.3.5 完整程序框图设计
23.3.6 运行结果
第24章 【实例92】谐波分析仪
24.1 设计目的
24.2 程序框图主要功能模块介绍
24.2.1 测试信号子VI
24.2.2 “谐波失真分析”函数
24.2.3 “简易错误处理器”函数
24.3 详细设计步骤
24.3.1 创建一个新的VI
24.3.2 编写测试信号子VI
24.3.3 添加“谐波失真分析”函数
24.3.4 完成前面板的设计
24.3.5 运行结果
第25章 【实例93】电话按键声音模拟器
25.1 设计目的
25.2 程序框图主要功能模块介绍
25.2.1 “创建路径”函数
25.2.2 “播放声音文件”函数
25.2.3 “数值至十进制数字符串转换”函数
25.3 详细设计步骤
25.3.1 创建一个新的VI
25.3.2 前面板的设计
25.3.3 电话按键声音模拟和键值显示
25.3.4 完整程序框图
25.3.5 运行结果
第26章 【实例94】回声产生器
26.1 设计目的
26.2 程序框图主要功能模块介绍
26.2.1 回声产生器功能模块
26.2.2 While循环功能模块
26.3 详细设计步骤
26.3.1 创建一个新的VI
26.3.2 回声产生模块程序设计
26.3.3 完整程序框图
26.3.4 运行结果
第27章 【实例95】回声探测器
27.1 设计目的
27.2 程序框图主要功能模块介绍
27.2.1 回声产生子VI功能模块
27.2.2 回声探测功能模块
27.2.3 结果显示功能模块
27.2.4 While循环功能模块
27.3 详细设计步骤
27.3.1 创建回声产生子VI
27.3.2 前面板的设计
27.3.3 回声探测程序框图设计
27.3.4 完整程序框图
27.3.5 运行结果
第28章 【实例96】信号的发生与处理综合实例
28.1 设计目的
28.2 程序框图主要功能模块介绍
28.2.1 产生原始信号子VI模块
28.2.2 窗函数滤波模块
28.2.3 FFT功率谱函数模块
28.2.4 波形最大最小值函数模块
28.2.5 活动游标控件模块
28.3 详细设计步骤
28.3.1 产生原始信号子VI
28.3.2 前面板的设计
28.3.3 产生原始信号
28.3.4 添加“FIR加窗滤波器”函数
28.3.5 添加“FFT功率谱”函数
28.3.6 添加“波形最大最小值”函数
28.3.7 游标设置
28.3.8 完整程序框图
28.3.9 运行结果
第29章 【实例97】双通道频谱测量的滤波器设计
29.1 设计目的
29.2 程序框图主要功能模块介绍
29.2.1 测试信号生成模块
29.2.2 “双通道谱测量”VI
29.2.3 “信号掩区和边界测试”VI
29.2.4 “滤波器”VI
29.2.5 设置截止频率子VI模块
29.2.6 处理结果显示部分
29.3 详细设计步骤
29.3.1 创建截止频率设置子VI
29.3.2 前面板的设计
29.3.3 产生仿真信号
29.3.4 信号滤波
29.3.5 信号的双通道谱测量
29.3.6 检测信号
29.3.7 程序框图中数据流的传输
29.3.8 完整程序框图
29.3.9 运行结果
第30章 【实例98】微处理器冷却装置的实时监控
30.1 设计目的
30.2 微处理器冷却装置实时监控系统的运行
30.3 程序框图主要功能介绍
30.4 微处理器冷却装置实时监控系统的设计步骤
30.4.1 前面板的设计
30.4.2 PAC-IO with Fan Status子VI的创建
30.4.3 Temp. Logger子VI的创建
30.4.4 Update Timing Diagram子VI的创建
30.4.5 Fan Computation子VI的创建
30.4.6 程序总体框架的处理
30.4.7 “定时循环”结构的输入和初始化
30.4.8 输入阶段的处理过程
30.4.9 计算阶段的处理过程
30.4.10 输出阶段的处理过程
30.4.11 添加程序注释和说明
第31章 【实例99】脉冲及瞬态测量控件设计
31.1 设计目的
31.2 程序框图主要功能模块介绍
31.3 详细设计步骤
31.3.1 生成基本波形和噪声波形
31.3.2 仿真波形的生成和显示
31.3.3 瞬态测量程序块
31.3.4 脉冲测量程序块
31.3.5 周期平均值和均方根程序块
31.3.6 幅值和电平测量程序块
31.3.7 完整的程序框图
第32章 【实例100】数据采集系统的设计
32.1 设计目的
32.2 数据采集系统相关介绍
32.2.1 测试过程介绍
32.2.2 测试参数分析
32.3 系统前面板的开发
32.3.1 创建新的虚拟仪器(VI)
32.3.2 系统选项卡控件
32.3.3 修饰图案
32.3.4 系统下拉列表
32.3.5 数值输入控件
32.3.6 文件路径输入控件
32.3.7 布尔控件
32.3.8 波形图表控件
32.3.9 系统单选控件
32.3.10 旋钮控件
32.3.11 温度计控件
32.3.12 仪表控件
32.3.13 多列列表框控件
32.4 程序框图设计
32.4.1 顺序结构
32.4.2 数据采集装置的参数设置
32.4.3 冷端补偿通道
32.4.4 电压信号采集模块
32.4.5 数据采集和处理模块
32.4.6 数据显示与保存模块
32.4.7 程序运行控制模块
参考文献