LabVIEW入门与实战开发100例(第3版)

LabVIEW入门与实战开发100例(第3版) pdf epub mobi txt 电子书 下载 2025

严雨,夏宁 著
图书标签:
  • LabVIEW
  • 数据采集
  • 仪器控制
  • 虚拟仪器
  • 自动化测试
  • 工业控制
  • 图形化编程
  • NI
  • 实验数据处理
  • 工程实例
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121304552
版次:3
商品编码:12109478
包装:平装
丛书名: 百例成才系列丛书
开本:16开
出版时间:2017-01-01
用纸:胶版纸
页数:490
字数:800000
正文语种:中文

具体描述

内容简介

本书以LabVIEW 8.2版本为讲解对象,系统地介绍了LabVIEW程序设计的理念、关键技术和应用实例。全书从内容上共分为3部分。第1~10章简洁明了地介绍了LabVIEW程序设计所需的基础知识;第11~17章则介绍了实际应用中涉及的具体问题和应用实例;第28~32章为对现实工作和生活中的具体系统的了解和分析。 本书共有100个实例,具有涵盖面广、内容丰富、结构清晰、实用性强的特点。本书通过大量实例阐述程序设计中的重要概念和设计步骤,突出了系统完整性和实用性相结合的优点。

作者简介

严雨:嵌入式开发工程师,具有丰富的开发经验,曾就职于多家世界知名公司,从事嵌入式开发工作。对于单片机的学习,融入了作者自身多年积累的经验和技巧。

目录

目 录
第1章 LabVIEW 8.2的基本操作
1.1 【实例1】基于模板打开一个VI并运行
1.1.1 打开模板VI
1.1.2 窗口介绍
1.1.3 运行模板VI
1.2 【实例 2】基于模板创建一个VI
1.3 【实例3】编辑前面板
1.3.1 控件选板
1.3.2 工具选板
1.3.3 前面板的编辑
1.4 【实例4】调试VI
1.5 本章小结
第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 详细设计步骤
2.3 本章小结
第3章 数组
3.1 【实例7】创建数组控件
3.1.1 程序框图主要功能模块介绍
3.1.2 详细设计步骤
3.2 【实例 8】创建二维数组
3.3 【实例9】数组的多态性
3.3.1 程序框图主要功能模块介绍
3.3.2 详细设计步骤
3.4 【实例 10】“数组大小(Array Size)”函数
3.4.1 程序框图主要功能模块介绍
3.4.2 详细设计步骤
3.5 【实例 11】“索引数组(Index Array)”函数
3.5.1 程序框图主要功能模块介绍
3.5.2 详细设计步骤
3.6 【实例 12】“数组插入(Insert into Array)”函数
3.6.1 程序框图主要功能模块介绍
3.6.2 详细设计步骤
3.7 【实例 13】“初始化数组(Initialize Array)”函数
3.7.1 程序框图主要功能模块介绍
3.7.2 详细设计步骤
3.8 本章小结
第4章 簇
4.1 【实例 14】创建簇
4.1.1 程序框图主要功能模块介绍
4.1.2 详细设计步骤
4.2 【实例 15】“捆绑(Bundle)”函数
4.2.1 程序框图主要功能模块介绍
4.2.2 详细设计步骤
4.3 【实例 16】“解除捆绑(Unbundle)”函数
4.3.1 程序框图主要功能模块介绍
4.3.2 详细设计步骤
4.4 【实例17】“数组/簇转换(Array to Cluster /Cluster to Array)”函数
4.4.1 程序框图主要功能模块介绍
4.4.2 详细设计步骤
4.5 本章小结
第5章 字符串、变量和矩阵
5.1 【实例 18】基本字符串函数的使用
5.1.1 程序框图主要功能模块介绍
5.1.2 详细设计步骤
5.2 【实例 19】“数组/电子表格字符串转换”函数
5.2.1 程序框图主要功能模块介绍
5.2.2 详细设计步骤
5.3 【实例 20】局部变量和全局变量的使用
5.3.1 程序框图主要功能模块介绍
5.3.2 详细设计步骤
5.4 【实例 21】矩阵的基本运算
5.4.1 程序框图主要功能模块介绍
5.4.2 详细设计步骤
5.5 【实例 22】求解线性代数方程
5.5.1 程序框图主要功能模块介绍
5.5.2 详细设计步骤
5.6 本章小结
第6章 程 序 结 构
6.1 【实例23】For循环
6.1.1 程序框图主要功能模块介绍
6.1.2 详细设计步骤
6.2 【实例 24】While循环
6.2.1 程序框图主要功能模块介绍
6.2.2 详细设计步骤
6.3 【实例 25】顺序结构(Sequence Structure)
6.3.1 程序框图主要功能模块介绍
6.3.2 详细设计步骤
6.4 【实例26】事件结构(Event Structure)
6.4.1 程序框图主要功能模块介绍
6.4.2 详细设计步骤
6.5 【实例 27】使能结构(Disable Structure)
6.5.1 程序框图主要功能模块介绍
6.5.2 详细设计步骤
6.6 【实例 28】选择结构(Case Structure)
6.6.1 程序框图主要功能模块介绍
6.6.2 详细设计步骤
6.7 【实例 29】公式节点
6.7.1 程序框图主要功能模块介绍
6.7.2 详细设计步骤
6.8 【实例 30】移位寄存器
6.8.1 程序框图主要功能模块介绍
6.8.2 详细设计步骤
6.9 本章小结
第7章 图形化数据显示
7.1 【实例 31】波形图表(Graph)
7.1.1 程序框图主要功能模块介绍
7.1.2 详细设计步骤
7.2 【实例 32】波形图(Waveform)
7.2.1 程序框图主要功能模块介绍
7.2.2 详细设计步骤
7.3 【实例 33】定制波形图表
7.3.1 程序框图主要功能模块介绍
7.3.2 详细设计步骤
7.4 【实例 34】定制波形图
7.4.1 程序框图主要功能模块介绍
7.4.2 详细设计步骤
7.5 【实例 35】XY曲线图
7.5.1 程序框图主要功能模块介绍
7.5.2 详细设计步骤
7.6 【实例 36】强度图(Intensity Graph)
7.6.1 程序框图主要功能模块介绍
7.6.2 详细设计步骤
7.7 【实例 37】三维曲面图
7.7.1 程序框图主要功能模块介绍
7.7.2 详细设计步骤
7.8 本章小结
第8章 人机界面交互设计
8.1 【实例 38】创建登录对话框
8.1.1 设计目的
8.1.2 程序框图主要功能模块介绍
8.1.3 详细设计步骤
8.2 【实例 39】创建主菜单
8.2.1 设计目的
8.2.2 程序框图主要功能模块介绍
8.2.3 详细设计步骤
8.3 【实例 40】自定义控件
8.3.1 设计目的
8.3.2 程序框图主要功能模块介绍
8.3.3 详细设计步骤
8.4 【实例 41】修饰静态界面
8.4.1 设计目的
8.4.2 程序框图主要功能模块介绍
8.4.3 详细设计步骤
8.5 【实例 42】动态交互界面
8.5.1 设计目的
8.5.2 程序框图主要功能模块介绍
8.5.3 详细设计步骤
8.6 本章小结
第9章 文件I/O
9.1 【实例 43】向文件中写入数据
9.1.1 设计目的
9.1.2 程序框图主要功能模块介绍
9.1.3 详细设计步骤
9.2 【实例 44】从文件中读取数据
9.2.1 设计目的
9.2.2 程序框图主要功能模块介绍
9.2.3 详细设计步骤
9.3 【实例 45】写入二进制文件
9.3.1 设计目的
9.3.2 程序框图主要功能模块介绍
9.3.3 详细设计步骤
9.4 【实例 46】写入表单文件
9.4.1 设计目的
9.4.2 程序框图主要功能模块介绍
9.4.3 详细设计步骤
9.5 【实例 47】读取电子表格文件
9.5.1 设计目的
9.5.2 程序框图主要功能模块介绍
9.5.3 详细设计步骤
9.6 【实例 48】向文件中写入波形数据
9.6.1 设计目的
9.6.2 程序框图主要功能模块介绍
9.6.3 详细设计步骤
9.7 本章小结
第10章 子VI与程序调试
10.1 【实例 49】创建子VI
10.1.1 设计目的
10.1.2 程序框图主要功能模块介绍
10.1.3 详细设计步骤
10.2 【实例 50】调用子VI
10.2.1 设计目的
10.2.2 程序框图主要功能模块介绍
10.2.3 详细设计步骤
10.3 本章小结
第11章 数学分析与信号处理
11.1 【实例51】求商和余数
11.1.1 设计目的
11.1.2 程序框图主要功能模块介绍
11.1.3 详细设计步骤
11.2 【实例52】数值微积分
11.2.1 设计目的
11.2.2 程序框图主要功能模块介绍
11.2.3 详细设计步骤
11.3 【实例53】曲线积分
11.3.1 设计目的
11.3.2 程序框图主要功能模块介绍
11.3.3 详细设计步骤
11.4 【实例54】求解微分方程――单摆运动
11.4.1 设计目的
11.4.2 程序框图主要功能模块介绍
11.4.3 详细设计步骤
11.5 【实例55】线性代数计算器
11.5.1 设计目的
11.5.2 程序框图主要功能模块介绍
11.5.3 详细设计步骤
11.6 【实例56】求解多项式函数零点
11.6.1 设计目的
11.6.2 程序框图主要功能模块介绍
11.6.3 详细设计步骤
11.7 【实例57】曲线拟合
11.7.1 设计目的
11.7.2 程序框图主要功能模块介绍
11.7.3 详细设计步骤
11.8 【实例58】概率与统计
11.8.1 设计目的
11.8.2 程序框图主要功能模块介绍
11.8.3 详细设计步骤
11.9 【实例59】取值最优化
11.9.1 设计目的
11.9.2 程序框图主要功能模块介绍
11.9.3 详细设计步骤
11.10 【实例60】MathScript节点实现信号分析
11.10.1 设计目的
11.10.2 程序框图主要功能模块介绍
11.10.3 详细设计步骤
11.11 【实例61】信号生成
11.11.1 设计目的
11.11.2 程序框图主要功能模块介绍
11.11.3 详细设计步骤
11.12 【实例62】计算信号归一化频率
11.12.1 设计目的
11.12.2 程序框图主要功能模块介绍
11.12.3 详细设计步骤
11.13 【实例63】测量信号幅值和电平
11.13.1 设计目的
11.13.2 程序框图主要功能模块介绍
11.13.3 详细设计步骤
11.14 【实例64】信号的瞬态特性测量
11.14.1 设计目的
11.14.2 程序框图主要功能模块介绍
11.14.3 详细设计步骤
11.15 【实例65】单边傅里叶变换
11.15.1 设计目的
11.15.2 程序框图主要功能模块介绍
11.15.3 详细设计步骤
11.16 【实例66】双边傅里叶变换
11.16.1 设计目的
11.16.2 程序框图主要功能模块介绍
11.16.3 详细设计步骤
11.17 【实例67】平滑窗
11.17.1 设计目的
11.17.2 程序框图主要功能模块介绍
11.17.3 详细设计步骤
11.18 【实例68】汉明(Hamming)窗
11.18.1 设计目的
11.18.2 程序框图主要功能模块介绍
11.18.3 详细设计步骤
11.19 【实例69】提取正弦波
11.19.1 设计目的
11.19.2 程序框图主要功能模块介绍
11.19.3 详细设计步骤
11.20 【实例70】逐点分析滤波器
11.20.1 设计目的
11.20.2 程序框图主要功能模块介绍
11.20.3 详细设计步骤
11.21 本章小结
第12章 数据采集和仪器控制
12.1 【实例71】单通道单点采样
12.1.1 设计目的
12.1.2 程序框图主要功能模块介绍
12.1.3 详细设计步骤
12.2 【实例72】采集波形
12.2.1 设计目的
12.2.2 程序框图主要功能模块介绍
12.2.3 详细设计步骤
12.3 【实例73】单通道单点输出
12.3.1 设计目的
12.3.2 程序框图主要功能模块介绍
12.3.3 详细设计步骤
12.4 【实例74】生成波形
12.4.1 设计目的
12.4.2 程序框图主要功能模块介绍
12.4.3 详细设计步骤
12.5 【实例75】VISA函数
12.5.1 设计目的
12.5.2 程序框图主要功能模块介绍
12.5.3 详细设计步骤
12.6 【实例76】LabVIEW 8.2与GPIB通信
12.6.1 设计目的
12.6.2 程序框图主要功能模块介绍
12.6.3 详细设计步骤
12.7 【实例77】使用NI-DAQmx VI创建任务
12.7.1 设计目的
12.7.2 详细设计步骤
12.8 【实例78】使用DAQ Assistant创建任务
12.8.1 设计目的
12.8.2 程序框图主要功能模块介绍
12.8.3 详细设计步骤
12.9 本章小结
第13章 Express VIs
13.1 【实例79】利用Express VI创建数值比较实例
13.1.1 设计目的
13.1.2 程序框图主要功能模块介绍
13.1.3 详细设计步骤
13.2 【实例80】利用Express VI实现刻度标示变换
13.2.1 设计目的
13.2.2 程序框图主要功能模块介绍
13.2.3 详细设计步骤
13.3 【实例81】利用Express VI进行信号选择
13.3.1 设计目的
13.3.2 程序框图主要功能模块介绍
13.3.3 详细设计步骤
13.4 本章小结
第14章 【实例82】获取系统当前时间
14.1 设计目的
14.2 程序框图主要功能模块介绍
14.2.1 “获取日期/时间(秒)”函数
14.2.2 “格式化日期/时间字符串”
函数
14.2.3 结果显示部分
14.3 详细设计步骤
14.3.1 前面板的设计
14.3.2 程序框图的设计
14.3.3 运行结果
14.4 本章小结
第15章 【实例83】创建右键快捷菜单
15.1 设计目的
15.2 程序框图主要功能模块介绍
15.2.1 While循环模块
15.2.2 用户界面事件响应模块
15.2.3 摄氏-华氏公式转换模块
15.2.4 摄氏-华氏转换显示模块
15.3 详细设计步骤
15.3.1 前面板的设计
15.3.2 程序框图的设计
15.3.3 运行结果
15.4 本章小结
第16章 【实例84】数字示波器
16.1 设计目的
16.2 程序框图主要功能模块介绍
16.2.1 触发器功能块
16.2.2 通道选择功能块
16.2.3 水平分度调节功能块
16.2.4 幅值分度调节功能块
16.2.5 相位分析功能块
16.2.6 功率估计功能块
16.2.7 波形显示功能块
16.3 详细设计步骤
16.3.1 前面板设计
16.3.2 触发电平(Slope)子VI的设计
16.3.3 触发器(Trigger)子VI的设计
16.3.4 通道选择(Select Channel)子VI的设计
16.3.5 功率估计子VI的设计
16.3.6 相位分析子VI的设计
16.3.7 选择功能的实现
16.3.8 水平分度调节处理功能块的设计
16.3.9 幅值分度调节处理功能块的设计
16.3.10 完整程序框图
16.3.11 运行结果
16.4 本章小结
第17章 【实例85】触发计数器
17.1 设计目的
17.2 程序框图主要功能模块介绍
17.2.1 “触发与门限”函数
17.2.2 “统计”函数
17.3 详细设计步骤
17.3.1 创建一个新的VI
17.3.2 添加仿真信号
17.3.3 添加“触发与门限”函数
17.3.4 进行统计计数
17.3.5 完整程序框图
17.3.6 运行结果
17.4 本章小结
第18章 【实例86】基本函数发生器
18.1 设计目的
18.2 程序框图主要功能模块介绍
18.2.1 基本函数发生器函数模块
18.2.2 While循环模块
18.3 详细设计步骤
18.3.1 创建一个新的VI
18.3.2 配置基本函数发生器
18.3.3 完整程序框图
18.3.4 前面板界面布局
18.3.5 运行结果
18.4 本章小结
第19章 【实例87】对高斯噪声的统计分析
19.1 设计目的
19.2 程序框图主要功能模块介绍
19.2.1 仿真信号生成模块
19.2.2 统计函数模块
19.2.3 “创建直方图”函数
19.3 详细设计步骤
19.3.1 创建一个新的VI
19.3.2 添加信号源
19.3.3 对信号进行统计分析
19.3.4 创建柱状图
19.3.5 完整程序框图
19.3.6 运行结果
19.4 本章小结
第20章 【实例88】信号的功率谱测量
20.1 设计目的
20.2 程序框图主要功能模块介绍
20.2.1 “正弦波形”函数
20.2.2 “高斯白噪声波形”函数
20.2.3 “FFT功率谱”函数
20.3 详细设计步骤
20.3.1 创建一个新的VI
20.3.2 产生添加了噪声的正弦信号
20.3.3 前面板的设计
20.3.4 功率谱测量程序框图
20.3.5 完整程序框图
20.3.6 运行结果
20.4 本章小结
第21章 【实例89】低通滤波器设计
21.1 设计目的
21.2 程序框图主要功能模块介绍
21.2.1 测试信号生成模块
21.2.2 滤波功能模块
21.2.3 频谱分析模块
21.2.4 While循环模块
21.2.5 结果显示模块
21.3 详细设计步骤
21.3.1 创建一个新的VI
21.3.2 产生信号源
21.3.3 低通滤波
21.3.4 进行频谱分析
21.3.5 完整程序框图
21.3.6 运行结果
21.4 本章小结
第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 运行结果
22.4 本章小结
第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 运行结果
23.4 本章小结
第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 运行结果
24.4 本章小结
第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 运行结果
25.4 本章小结
第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 运行结果
26.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 运行结果
27.4 本章小结
第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 运行结果
28.4 本章小结
第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 运行结果
29.4 本章小结
第30章 【实例98】微处理器冷却装置的实时监控
30.1 设计目的
30.2 微处理器冷却装置实时监控系统的运行
30.3 程序框图主要功能介绍
30.3.1 系统的总体框架
30.3.2 初始化和整体参数设定功能块
30.3.3 输入阶段功能块
30.3.4 计算阶段功能块
30.3.5 输出阶段功能块
30.3.6 微处理器温度控制模拟子VI
30.3.7 微处理器温度记录子VI
30.3.8 定时参数时序图更新子VI
30.3.9 风扇运行状态计算子VI
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 添加程序注释和说明
30.5 本章小结
第31章 【实例99】脉冲及瞬态测量控件设计
31.1 设计目的
31.2 程序框图主要功能模块介绍
31.2.1 仿真波形生成
31.2.2 瞬态特性测量
31.2.3 脉冲测量
31.2.4 周期平均值和均方根
31.2.5 幅值和电平
31.2.6 波形图缩放功能
31.2.7 波形图显示功能
31.3 详细设计步骤
31.3.1 生成基本波形和噪声波形
31.3.2 仿真波形的生成和显示
31.3.3 瞬态测量程序块
31.3.4 脉冲测量程序块
31.3.5 周期平均值和均方根程序块
31.3.6 幅值和电平测量程序块
31.3.7 完整的程序框图
31.4 本章小结
第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 程序运行控制模块
32.5 本章小结
参考文献

前言/序言

前 言


本书全面介绍了LabVIEW 8.2(中文版)虚拟仪器开发过程中的各种编程知识与技巧;通过理论与实例结合的方式,深入浅出地介绍了其使用方法和技巧,目的在于让读者快速掌握这门功能强大的图形化编程语言。

本书第3版在第1版和第2版的基础之上,对书中实例的实际开发过程进行了适当的精简,使得实例的讲解更加贴近读者的理解过程。此外,对第1版和第2版中的部分综合实例做了适当调整,将其中原理性比较强而实际应用比较差的综合实例替换为更加实用的综合实例,以期达到开发人员实际开发参考用书的目的。

本书紧密结合开发人员的心得体会,以实用性强的100个实例细致地讲述了LabVIEW 8.2的软件操作方法、关键细节技巧和工程应用实践经验,在编写过程中力求做到语言精练、通俗易懂、内容紧凑。

本书可分为3篇——基础篇、实例应用篇和综合开发篇,具体章节内容安排如下。

1.第1章至第10章为LabVIEW的基础篇

第1章介绍了LabVIEW 8.2软件的基础操作,包括VI的创建、前面板的编辑和VI实例的调试等。第2章对VI的自定义进行了讲解。第3章至第5章分别介绍了编程过程中经常遇到的数组、簇、字符串、变量和矩阵。第6章介绍了程序结构,包括循环结构、选择结构和顺序结构等。第7章至第9章介绍了图形化数据显示、人机界面交互设计,以及文件I/O操作的具体内容。第10章则对大型系统程序编写过程中常用到的子VI的创建和调试进行了详细的介绍。

2.第11章至第27章为LabVIEW的实例应用篇

第11章介绍了数学分析和信号处理中常用到的函数和处理方法。第12章讲解了LabVIEW数据采集和仪器控制的常用方法。第13章向读者呈现了Express VI编程的快速和易用特点。第14章讲解了如何获得系统当前时间。第15章对创建右键快捷菜单进行了举例说明。第16章至第24章分别介绍了信号生成和处理过程中常用的分析方法和实现方式,包括数字示波器、触发计数器、基本函数发生器、噪声分析、功率谱测量、滤波处理和高级谐波分析等。第25章介绍了一个电话按键声音模拟器的设计技巧。第26章和第27章介绍了回声发生器和回声探测器的设计方法。

3.第28章至第32章为LabVIEW的综合开发篇

第28章介绍了一个信号的发生和处理综合实例,对信号发生和处理的函数进行了综合使用。第29章介绍了LabVIEW在双通道频谱测量的滤波器设计中的应用,体现了虚拟设计的实用性。第30章介绍了微处理器冷却装置的实时监控的实例应用和编程特点。第31章介绍了脉冲及瞬态测量控件设计,凸显了LabVIEW控件编程的实用性。第32章介绍了数据采集系统的设计实例的详细编程过程,对数据采集系统的实际开发进行了深入的介绍。

本书给读者提供了大量的实例,使读者可以触类旁通、学以致用地掌握LabVIEW的实践应用,并可帮助读者快速、深入地学习和掌握该软件的强大功能,切实提高工作效率。

本书主要由严雨、田京京、夏宁编著,参与编写的还有岂兴明、李若谷、严安国、张为平、何世兰、刘洋洋、姚宗旭、王闯、徐慧超、葛祥磊等。由于编著者水平有限,书中难免存在错误和疏漏之处,恳请广大读者批评指正!


编著者

2016年7月



LabVIEW入门与实战开发100例(第3版) 内容简介 本书是一本面向LabVIEW初学者及有一定基础的开发人员的全面指南,旨在帮助读者快速掌握LabVIEW图形化编程环境,并能够独立完成各类实际项目。本书共包含100个精心设计的实战案例,涵盖了从基础概念到高级应用的广泛主题,力求理论与实践紧密结合,让读者在动手实践中深入理解LabVIEW的核心功能和开发技巧。 第一部分:LabVIEW基础与入门 本部分将引导读者走进LabVIEW的世界,从认识其独特的图形化编程范式开始,循序渐进地掌握核心概念和基本操作。 第一章:LabVIEW初识 LabVIEW简介与应用领域: 深入解读LabVIEW作为一种强大的图形化集成开发环境(GIDE)的优势,以及其在数据采集、仪器控制、自动化测试、嵌入式系统、信号处理、图像处理、机器人控制等众多领域的广泛应用。我们将通过实际案例展示LabVIEW如何简化复杂系统的开发流程,提高开发效率。 LabVIEW开发环境概览: 详细介绍LabVIEW的各项重要窗口,包括前面板(Front Panel)、程序框图(Block Diagram)、项目资源管理器(Project Explorer)、查找窗口(Find Window)、工具面板(Tools Palette)、函数选板(Function Palette)等。重点讲解各窗口的功能和使用方法,让读者熟悉LabVIEW的整体布局。 第一个LabVIEW VI(虚拟仪器): 从零开始,引导读者创建并运行第一个简单的LabVIEW VI。我们将演示如何放置控件(Controls)和指示器(Indicators)到前面板,如何在程序框图上连接节点(Nodes)和导线(Wires)来构建程序逻辑。这个过程将直观地展示图形化编程的魅力。 LabVIEW数据类型与基本操作: 介绍LabVIEW支持的主要数据类型,如数值型(Numeric)、布尔型(Boolean)、字符串型(String)、数组(Array)、簇(Cluster)等。讲解如何在这类数据之间进行转换,以及如何在VI中进行基本的数据操作,如算术运算、逻辑运算、字符串连接等。 VI的组织与重用: 探讨如何将复杂的VI分解成更小的、可管理的子VI,以提高代码的可读性和可维护性。讲解子VI的创建、编辑、参数传递以及如何在主VI中调用子VI。 第二章:LabVIEW核心概念解析 流程控制结构: 深入讲解LabVIEW中的核心流程控制结构,包括: 顺序结构(Sequence Structure): 演示如何在多个操作之间强制执行特定的执行顺序。 条件结构(Case Structure): 讲解如何根据条件的不同执行不同的程序分支,适用于简单的条件判断。 移位寄存器(Shift Register): 解释移位寄存器在循环中传递数据的功能,是实现迭代计算和状态保持的关键。 反馈节点(Feedback Node): 介绍反馈节点在循环中实现数据回馈和状态累积的作用。 循环结构: 详细介绍LabVIEW的两种主要循环结构: While循环(While Loop): 演示如何根据一个条件来控制循环的执行,直到条件不满足时退出。 For循环(For Loop): 讲解如何根据指定的迭代次数来执行循环,适用于已知循环次数的场景。 事件结构(Event Structure): 重点介绍事件结构在用户界面交互中的重要性。解释事件的类型(如按键按下、值改变、定时器超时等)以及如何响应这些事件,实现用户友好的交互式应用程序。 簇与数组的应用: 结合实际例子,详细阐述簇和数组在组织和管理相关数据方面的强大能力。讲解如何创建、访问和操作簇和数组,例如如何将多个传感器数据打包成一个簇,或如何处理大量采集的数据点。 第三章:前面板设计与用户界面 控件与指示器的选择与配置: 介绍LabVIEW丰富的控件和指示器库,包括数值显示、图表、开关、按钮、LED灯、文本框等。讲解如何根据应用需求选择合适的控件,以及如何对其属性(如颜色、大小、可见性、格式等)进行详细配置。 图表与图形工具: 重点讲解LabVIEW强大的图表和图形工具,包括波形图(Waveform Chart)、XY图(XY Graph)、幅度和相位图(Amplitude and Phase Plot)、三维图表(3D Graph)等。演示如何实时显示采集到的数据,如何配置图表的显示模式、坐标轴、图例等,以及如何进行数据分析和可视化。 菜单栏、工具栏与快捷键: 介绍如何自定义LabVIEW的菜单栏和工具栏,以适应特定的开发流程。同时,讲解常用的快捷键,提高开发效率。 打包与部署: 讲解如何将开发的VI打包成可执行文件(Executable)或安装程序(Installer),以便在没有LabVIEW开发环境的计算机上运行。 第二部分:数据采集与仪器控制实战 本部分将深入探讨LabVIEW在数据采集和仪器控制领域的强大功能,通过一系列经典案例,让读者掌握与硬件交互的核心技术。 第四章:数据采集基础 NI DAQ硬件简介: 简要介绍NI(National Instruments)DAQ(Data Acquisition)硬件产品系列,包括PCI/PCIe、USB、EthernetDAQ等,以及它们在各种应用中的角色。 DAQmx驱动与API: 详细讲解NI-DAQmx驱动程序及其API(Application Programming Interface)。演示如何使用DAQmx函数来配置和管理DAQ设备,包括通道配置、采样率设置、触发方式选择等。 模拟量输入(AI)采集: 通过实例,讲解如何使用DAQmx实现对模拟信号的采集,如电压、电流、温度等。演示如何配置AI通道、设置采样时序、读取采集到的数据,并将其显示在波形图上。 模拟量输出(AO)控制: 讲解如何使用DAQmx生成模拟输出信号,用于控制外部设备。演示如何设置AO通道、写入输出值,以及在不同应用场景下进行模拟输出控制。 数字量输入(DI)与输出(DO): 讲解如何使用DAQmx进行数字信号的读写,例如读取开关状态、控制LED灯、驱动继电器等。演示数字量采集和输出的配置与实现。 计数器/定时器(CI/CO)功能: 介绍DAQ硬件的计数器/定时器功能,用于测量频率、脉冲宽度、生成脉冲信号等。通过实例演示如何利用这些功能实现更复杂的测量和控制。 多通道与同步采集: 讲解如何配置和实现多通道数据的同步采集,确保不同通道数据的时间一致性,这对于分析复杂系统至关重要。 第五章:仪器连接与控制 仪器通信接口: 介绍LabVIEW支持的常见仪器通信接口,包括GPIB(General-Purpose Interface Bus)、VISA(Virtual Instrument Software Architecture)、串行通信(RS-232)、以太网(Ethernet)和USB。 VISA介绍与使用: 详细讲解VISA作为统一的仪器通信抽象层。演示如何使用VISA驱动来查找、打开、配置和关闭仪器连接,以及如何读写仪器命令。 GPIB仪器控制: 通过实例,演示如何使用LabVIEW的GPIB工具包来控制GPIB接口的仪器,如示波器、函数发生器、电源等。讲解SCPI(Standard Commands for Programmable Instruments)命令集的使用。 串行通信(RS-232)控制: 讲解如何通过LabVIEW实现RS-232串行通信,控制串口设备,如GPS模块、某些传感器等。演示串口参数的配置和数据收发。 网络通信(TCP/IP, UDP)与仪器控制: 介绍如何利用TCP/IP和UDP协议进行网络通信,控制网络接口的仪器。这在分布式测量和远程控制中尤为重要。 常用仪器驱动程序: 介绍如何获取和使用特定仪器的驱动程序(Instrument Driver)。演示如何通过这些驱动程序调用仪器的高级功能,而无需手动编写低级命令。 实例:控制示波器采集波形: 一个经典的实战案例,将演示如何使用LabVIEW控制一台示波器,设置触发、通道、时间基等参数,然后采集波形并显示在LabVIEW前面板上。 实例:控制函数发生器产生信号: 另一个实例,演示如何使用LabVIEW控制函数发生器,生成不同类型(正弦、方波、三角波等)和参数(频率、幅度、占空比等)的信号。 第三部分:高级LabVIEW开发技巧与应用 本部分将进一步深入LabVIEW的开发,介绍一些高级技术和在特定领域的应用,帮助读者构建更强大、更灵活的系统。 第六章:高级数据处理与分析 一维与多维数组的高级操作: 讲解如何使用LabVIEW的数组函数对数据进行更复杂的操作,如子数组提取、数组重塑、数组转置、数组排序、数组搜索等。 滤波器设计与应用: 介绍LabVIEW中内置的各种滤波器(如低通、高通、带通、带阻滤波器),以及如何使用它们对信号进行滤波。演示如何设计和应用数字滤波器。 FFT(快速傅里叶变换)与频谱分析: 讲解FFT的原理,以及如何使用LabVIEW的FFT函数进行频谱分析。演示如何通过FFT观察信号的频率成分,识别噪声源等。 统计分析函数: 介绍LabVIEW提供的各种统计分析函数,如计算平均值、标准差、最小值、最大值、直方图等,用于数据分析和质量控制。 信号生成与处理: 演示如何使用LabVIEW生成各种类型的信号,如正弦波、方波、随机噪声等,并对这些信号进行各种处理,如叠加、调制、解调等。 自定义数学函数与工具包: 介绍如何通过LabVIEW的数学函数来构建自定义的数学算法,以及如何利用NI提供的或第三方开发的数学和信号处理工具包来扩展功能。 第七章:程序结构与效率优化 状态机(State Machine)设计: 详细讲解状态机的概念和在LabVIEW中的实现方法。通过实例演示如何使用状态机来管理复杂系统的不同工作状态,提高程序的模块化和可维护性。 生产者-消费者(Producer-Consumer)设计模式: 介绍生产者-消费者模式在多任务并发处理中的应用。演示如何使用队列(Queue)和通知(Notification)来实现高效的数据传递和任务同步。 亚VI(SubVI)与VI服务器: 深入讲解如何有效地组织和重用代码,包括创建具有不同输入输出的亚VI,以及如何使用VI服务器来实现远程调用和动态加载VI。 错误处理与报告: 介绍LabVIEW强大的错误处理机制,包括错误簇(Error Cluster)的使用、用户自定义错误处理以及如何编写健壮的错误报告机制。 性能分析与优化: 讲解如何使用LabVIEW的性能分析工具(如Profile Performance and Memory)来识别程序瓶颈,并提供优化代码执行效率的方法,如优化循环、减少不必要的内存操作等。 并行处理与多线程: 介绍LabVIEW中实现并行处理的方法,如使用条件编译、亚VI的可重入性以及NI提供的并行编程工具包,以充分利用多核处理器的性能。 第八章:特定领域应用案例 实例:PID控制器设计与仿真: 演示如何使用LabVIEW设计和仿真一个PID(Proportional-Integral-Derivative)控制器,用于温度、位置等闭环控制系统。 实例:电机控制与速度测量: 通过实际案例,展示如何使用LabVIEW采集电机编码器的脉冲信号,计算电机转速,并实现对电机速度的闭环控制。 实例:数据记录与分析系统: 构建一个通用的数据记录系统,能够采集多路传感器数据,并实时显示、保存到文件,同时提供基本的离线数据分析功能。 实例:用户界面定制与嵌入式系统交互: 演示如何创建更复杂的、具有专业界面的LabVIEW应用程序,以及如何将其与NI嵌入式硬件(如CompactRIO, sbRIO)进行交互,实现独立的嵌入式数据采集与控制系统。 实例:图像采集与基础图像处理: 介绍如何使用LabVIEW连接相机进行图像采集,并利用Vision Development Module(如果包含)或基础的图像处理函数实现一些简单的图像分析,如边缘检测、目标识别等。 实例:基于网络的服务或客户端开发: 演示如何利用LabVIEW的网络通信功能,开发简单的网络服务或客户端,实现与其他应用程序或设备的远程通信。 附录 LabVIEW快捷键列表 常用LabVIEW函数速查 常见问题解答(FAQ) 本书旨在为读者提供一个全面、系统的LabVIEW学习路径,通过100个详实、可操作的实战案例,帮助读者从零开始掌握LabVIEW的核心技术,并能够胜任各种实际工程开发任务。无论是学生、研究人员还是工程师,都能从中获益,加速您的LabVIEW开发之路。

用户评价

评分

我是一名刚踏入自动化领域不久的在校研究生,正愁于不知道如何入门LabVIEW。学校的课程虽然涉及了,但总觉得不够深入,而且实践机会有限。听师兄们推荐了不少LabVIEW的书,但很多都过于理论化,看得我云里雾里的,或者案例太简单,根本解决不了实际问题。当我在网上看到《LabVIEW入门与实战开发100例(第3版)》的介绍时,眼睛一下就亮了。特别是“入门”和“100例”这两个关键词,让我觉得它非常适合我这种新手。我希望能通过这本书,扎实地掌握LabVIEW的基本语法、VI设计、控件使用、数据流等等核心概念。更重要的是,我希望能够学习到如何将这些基础知识应用到实际的工程项目中。例如,书中会不会讲解如何设计一个用户友好的前面板?如何处理用户输入?如何进行错误排查?还有,我特别希望能看到一些关于数据可视化和信号处理的例子,比如如何绘制各种曲线图、进行FFT分析等等。如果这本书能够提供清晰的图文解释,并且代码示例能够直接运行,那对我来说就是巨大的帮助。我期待这本书能像一位经验丰富的导师一样,循序渐进地引导我,让我不再对LabVIEW感到畏惧,而是能够自信地进行二次开发。

评分

作为一名已经接触LabVIEW一段时间的工程师,我正在寻求突破瓶颈,提升自己的开发能力。市面上关于LabVIEW入门的书籍很多,但真正能够帮助我深入理解其精髓、解决复杂问题的却屈指可数。《LabVIEW入门与实战开发100例(第3版)》这本书,从书名上看,就透露出一种“干货满满”的气息。我个人更倾向于那些能够提供深度技术讲解和高级开发技巧的书籍,而不是泛泛而谈的基础知识。我猜想这本书的“100例”不仅仅是数量上的堆砌,而是涵盖了不同难度、不同应用领域的典型场景,能够让我看到LabVIEW在不同行业中的应用潜力。我特别希望书中能够深入探讨一些高级主题,比如如何设计高效的状态机,如何实现多线程的并发执行,如何进行网络通信(TCP/IP、UDP等),以及如何将LabVIEW程序打包成可执行文件。我甚至期待书中能涉及一些关于API调用、ActiveX控件集成、或者利用LabVIEW进行实时嵌入式系统开发的案例。能够提供一些关于代码优化、内存管理、以及提高程序健壮性的实践建议,对我来说将非常有价值。如果这本书能让我对LabVIEW的开发能力有一个全新的认识,并为我指明进一步学习的方向,那它绝对是一本值得我认真研读的佳作。

评分

我是一名对数据分析和可视化充满热情的学生,一直想找一本能够系统学习LabVIEW在这些方面的应用的书。虽然Python等语言在数据科学领域非常流行,但我发现LabVIEW在某些特定场景下,尤其是在与硬件结合进行数据采集和实时分析时,具有不可替代的优势。我了解到《LabVIEW入门与实战开发100例(第3版)》这本书,感觉它可能正好能填补我的知识空白。《LabVIEW入门与实战开发100例(第3版)》的名字就非常吸引人,它明确了“入门”和“实战”这两个关键点。我希望通过这本书,不仅能学习到LabVIEW的基本操作,更重要的是能够掌握如何利用它来进行复杂的数据处理和精美的可视化呈现。我特别关注那些能够展示LabVIEW在数据采集、信号处理、统计分析以及图形化报表生成等方面的案例。例如,我希望能看到如何采集多通道的传感器数据,如何进行滤波、FFT分析,如何绘制各种科学图表(如散点图、线图、3D图等),以及如何生成PDF或者Excel格式的报告。如果书中能够提供一些关于如何自定义控件、创建自己的函数库的例子,那就更好了。我期待这本书能像一个宝藏箱,里面装满了各种解决实际问题的“钥匙”,让我能够轻松地将脑中的想法转化为可视化的成果。

评分

作为一名在嵌入式系统领域工作的开发者,我一直对NI的CompactRIO等硬件平台很感兴趣,而LabVIEW正是这些平台的核心开发语言。我手头已经有《LabVIEW入门与实战开发100例(第3版)》这本书的电子版,虽然我主要关注的是嵌入式开发,但出于对LabVIEW整体能力的好奇,我还是浏览了一下目录。《LabVIEW入门与实战开发100例(第3版)》在我看来,它最吸引人的地方在于其“实战”导向。市面上很多LabVIEW的书籍,要么停留在基础的GUI设计,要么就是一些非常浅显的例子,很难真正触及到复杂的系统开发。而“100例”这个数字,暗示了其内容的丰富度和多样性,我推测其中应该包含了大量能够体现LabVIEW在工业自动化、数据采集、仪器控制等领域强大应用能力的案例。我个人比较关注如何在LabVIEW中实现高效的算法,比如数字信号处理、状态机设计,以及如何与各种硬件(如传感器、执行器、PLC等)进行无缝集成。我希望这本书能够深入讲解这些主题,并提供实用的代码和开发技巧。例如,书中会不会涉及多线程编程、实时任务调度,或者如何利用LabVIEW进行FPGA的开发?这些都是我迫切想了解的。如果这本书能提供一些关于性能优化的建议,或者展示如何构建可扩展、可维护的大型LabVIEW项目,那它在我心中的价值将大大提升。

评分

作为一名在实验室里摸爬滚打多年的工程师,我接触过不少LabVIEW相关的资料,但真正让我眼前一亮的,确实不多。《LabVIEW入门与实战开发100例(第3版)》这本书,虽然我还没来得及翻阅,但仅凭其名,就让我对它充满了期待。我工作的实验室,仪器设备种类繁多,数据采集和自动化控制是家常便饭,而LabVIEW正是我们实现这些功能的得力助手。我一直希望找到一本既能系统讲解LabVIEW基础知识,又能提供大量实际应用案例的书籍,帮助我快速上手,解决工作中的实际问题。这本书的“100例”这个数字,着实吸引了我,我猜想里面应该涵盖了从基础的波形显示、数据记录,到稍复杂的PID控制、通讯协议实现,甚至可能还有一些嵌入式开发或者机器视觉的基础应用。我最看重的是它的“实战开发”这四个字,这意味着它不会仅仅停留在理论层面,而是会提供可以直接借鉴的代码和思路,这对于我们这种需要快速产出成果的工程师来说,简直是雪中送炭。我个人对案例的深度和广度有比较高的要求,希望它能覆盖我们实验室经常会遇到的各种场景,比如多通道数据同步采集、实时状态监控、远程控制以及一些简单的报表生成等。如果这本书真的能做到这一点,那它绝对会成为我案头的必备工具书。

评分

十个字十个字十个字十个字

评分

对于学习很有帮助,很好的一本书

评分

内容详尽,适合学习

评分

速度非常的快

评分

很好

评分

很适合新手阅读,书的质量也很不错。

评分

收到收到收到

评分

很好的东西,推荐!赞!很好的东西,推荐!赞!

评分

好好好好好好好好好好好好

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有