描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121313615丛书名: EDA应用技术
产品特色
编辑推荐
内容简介
本书系统、全面地讲解了LabVIEW的编程技术,主要内容包括LabVIEW开发环境介绍、数据结构、程序结构、属性节点、子VI与内存管理、多线程应用、程序设计模式、动态调用、常用控件的编程、文件操作、程序界面构建、面向对象编程、LabVIEW与外部组件的通信、LabVIEW与硬件的通信、应用程序制作和安装包的生成。本书的特色是实例多,作者将多年的编程经验精心制作为例题,例题中的程序代码反映了LabVIEW编程中的重点和难点,而且浅显易懂,可以满足不同层次读者的需要。LabVIEW的编程思想和传统的文本编程语言是有差别的,书中很多程序代码提供了多种实现方法,通过这种举一反三的形式帮助读者理解LabVIEW的编程思想。
目 录
第1章 初识LabVIEW
1.1 虚拟仪器
1.2 LabVIEW
1.3 LabVIEW的控件
1.4 LabVIEW的修饰
1.5 LabVIEW编程元素
1.6 选中VI对象
1.7 完整的LabVIEW程序—VI
1.8 LabVIEW的项目
第2章 LabVIEW编程环境
2.1 前面板窗格
2.2 工具选板
2.3 VI菜单
2.4 工具栏
2.5 常用组合键
2.6 VI属性
2.7 程序代码调试
第3章 数据类型与运算
3.1 数值类型
3.1.1 数值类型分类
3.1.2 数值型存储
3.1.3 浮点数误差
3.2 字符串类型
3.2.1 字符串存储
3.2.2 字符串函数
3.3 布尔类型
3.4 数组
3.5 簇
3.6 变体
3.7 波形数据
3.8 枚举类型
3.9 自定义类型
3.10 常量和变量
3.11 运算类型
第4章 程序结构
4.1 循环结构
4.1.1 While循环
4.1.2 For循环
4.1.3 数据进出循环的途径
4.1.4 反馈节点
4.1.5 For循环的退出机制
4.1.6 While循环的退出机制
4.1.7 数据出循环的条件
4.1.8 循环结构与数组函数
4.2 条件结构
4.2.1 布尔类型输入
4.2.2 整型标量输入
4.2.3 字符串类型输入
4.2.4 枚举类型
4.2.5 错误簇
4.3 事件结构
4.3.1 创建事件分支
4.3.2 通知事件
4.3.3 过滤事件
4.3.4 LabVIEW的事件源
4.3.5 多事件分支
4.3.6 事件结构应用
4.4 顺序结构
4.4.1 平铺式顺序结构
4.4.2 层叠式顺序结构
4.4.3 平铺式顺序与层叠式顺序的转换
4.5 公式节点
第5章 属性节点和方法
5.1 控件的属性节点
5.2 属性的类层次结构
5.3 LabVIEW的属性类
5.3.1 通用类
5.3.2 图形对象类
5.3.3 修饰类
5.3.4 文本类
5.3.5 控件类
5.3.6 字符串类
5.3.7 布尔类
5.3.8 数值类
5.3.9 数字类
5.3.10 簇类
5.3.11 VI类
5.3.12 前面板类
5.4 LabVIEW的方法
5.4.1 控件的方法
5.4.2 VI的方法
5.5 属性和方法的多线程
第6章 子VI与内存管理
6.1 子VI的创建
6.1.1 从普通VI创建子VI
6.1.2 从程序框图创建子VI
6.2 VI的四个内存单元
6.3 多态VI
6.4 子VI中的程序结构
6.5 子VI的执行模式
6.5.1 不可重入VI
6.5.2 可重入VI
6.6 共享副本与数据窜改
6.7 子VI加载内存的形式
6.8 子VI与属性节点
6.9 子VI的生命周期
6.10 LabVIEW的内存再分配
6.11 LabVIEW中的缓存重用
6.12 数据类型的转换
6.13 合理的编程习惯
6.14 应用程序的内存管理
第7章 多线程
7.1 LabVIEW的执行系统与多线程机制
7.2 多线程的执行机制—时间片
7.3 LabVIEW多线程分类
7.4 多线程通信
7.4.1 局部变量
7.4.2 全局变量
7.4.3 队列
7.4.4 LV2型全局变量
7.4.5 共享变量
7.4.6 数据传递机制读/写速度
7.4.7 LabVIEW变量的深入分析
7.4.8 子VI与主VI的实时通信
7.5 多线程同步
7.6 并行循环的停止机制
7.7 多线程的优势
7.8 多线程优先级
7.9 多线程应用
第8章 LabVIEW的设计模式
8.1 连续循环模式
8.2 事件处理器
8.3 状态机
8.3.1 顺序状态机
8.3.2 改进型状态机
8.3.3 标准状态机
8.3.4 事件状态机
8.3.5 超时状态机
8.3.6 自定义事件状态机
8.4 队列消息处理器
8.4.1 查询模式的队列消息处理器
8.4.2 事件驱动的队列消息处理器
8.4.3 基于超时事件的队列消息处理器
8.4.4 基于自定义事件的队列消息处理器
8.4.5 基于回调机制的队列消息处理器
8.4.6 多重嵌套的队列消息处理器
8.5 顶层程序设计模式
8.6 多线程的模块化
8.7 LabVIEW程序的构建策略
8.8 连续循环时的事件响应
第9章 动态调用技术
9.1 VI服务器与引用
9.2 动态控制VI
9.3 动态事件
9.4 LabVIEW的回调机制
9.5 多线程传递事件
第10章 常用控件的编程
10.1 列表框
10.1.1 列表框的属性
10.1.2 列表框的方法
10.1.3 列表框的应用
10.2 多列列表框
10.2.1 多列列表框的属性
10.2.2 多列列表框的应用
10.3 选项卡
10.4 树形控件
10.5 波形图表
10.5.1 波形图表的外观
10.5.2 波形图表的数据输入形式
10.5.3 图形图表类属性
10.5.4 标尺类属性
10.5.5 波形图表类属性
10.6 波形图
10.7 XY图
10.8 XControl控件
第11章 文件I/O操作
11.1 常用的文件类型
11.2 常用的文件操作函数
11.3 报表
11.3.1 LabVIEW工具包
11.3.2 自动化函数
第12章 程序界面构建
12.1 菜单
12.1.1 自定义菜单的创建
12.1.2 自定义菜单的响应
12.2 快捷菜单
12.2.1 快捷菜单的创建
12.2.2 快捷菜单的响应
12.3 工具栏
12.3.1 工具栏的创建
12.3.2 工具栏的响应
12.4 对话框
12.5 状态栏编程
12.6 界面的构建实例
第13章 面向对象编程
13.1 面向对象的编程思想
13.2 面向对象的基本概念
13.3 LabVIEW的类
13.3.1 创建基类
13.3.2 类的继承
13.4 面向对象的编程应用
13.5 LabVIEW面向对象的利弊分析
第14章 LabVIEW与外部组件的通信
14.1 DLL
14.1.1 DLL的概念
14.1.2 DLL文件的制作
14.1.3 DLL文件的调用
14.2 Windows API
14.3 Active X
14.4 多进程通信
第15章 接口通信和驱动程序开发
15.1 串口通信
15.1.1 串口通信的硬件介绍
15.1.2 基于LabVIEW的串口通信
15.2 USB总线通信
15.2.1 CH372概述
15.2.2 单片机与CH372的接口电路
15.2.3 单片机USB通信程序
15.2.4 基于DLL的USB通信
15.2.5 基于VISA的USB通信
15.3 计算机声卡通信
第16章 LabVIEW应用程序制作
16.1 修改主程序外观
16.2 修改路径
16.3 创建LabVIEW项目
16.4 生成应用程序(EXE文件)
16.5 制作程序安装包
1.1 虚拟仪器
1.2 LabVIEW
1.3 LabVIEW的控件
1.4 LabVIEW的修饰
1.5 LabVIEW编程元素
1.6 选中VI对象
1.7 完整的LabVIEW程序—VI
1.8 LabVIEW的项目
第2章 LabVIEW编程环境
2.1 前面板窗格
2.2 工具选板
2.3 VI菜单
2.4 工具栏
2.5 常用组合键
2.6 VI属性
2.7 程序代码调试
第3章 数据类型与运算
3.1 数值类型
3.1.1 数值类型分类
3.1.2 数值型存储
3.1.3 浮点数误差
3.2 字符串类型
3.2.1 字符串存储
3.2.2 字符串函数
3.3 布尔类型
3.4 数组
3.5 簇
3.6 变体
3.7 波形数据
3.8 枚举类型
3.9 自定义类型
3.10 常量和变量
3.11 运算类型
第4章 程序结构
4.1 循环结构
4.1.1 While循环
4.1.2 For循环
4.1.3 数据进出循环的途径
4.1.4 反馈节点
4.1.5 For循环的退出机制
4.1.6 While循环的退出机制
4.1.7 数据出循环的条件
4.1.8 循环结构与数组函数
4.2 条件结构
4.2.1 布尔类型输入
4.2.2 整型标量输入
4.2.3 字符串类型输入
4.2.4 枚举类型
4.2.5 错误簇
4.3 事件结构
4.3.1 创建事件分支
4.3.2 通知事件
4.3.3 过滤事件
4.3.4 LabVIEW的事件源
4.3.5 多事件分支
4.3.6 事件结构应用
4.4 顺序结构
4.4.1 平铺式顺序结构
4.4.2 层叠式顺序结构
4.4.3 平铺式顺序与层叠式顺序的转换
4.5 公式节点
第5章 属性节点和方法
5.1 控件的属性节点
5.2 属性的类层次结构
5.3 LabVIEW的属性类
5.3.1 通用类
5.3.2 图形对象类
5.3.3 修饰类
5.3.4 文本类
5.3.5 控件类
5.3.6 字符串类
5.3.7 布尔类
5.3.8 数值类
5.3.9 数字类
5.3.10 簇类
5.3.11 VI类
5.3.12 前面板类
5.4 LabVIEW的方法
5.4.1 控件的方法
5.4.2 VI的方法
5.5 属性和方法的多线程
第6章 子VI与内存管理
6.1 子VI的创建
6.1.1 从普通VI创建子VI
6.1.2 从程序框图创建子VI
6.2 VI的四个内存单元
6.3 多态VI
6.4 子VI中的程序结构
6.5 子VI的执行模式
6.5.1 不可重入VI
6.5.2 可重入VI
6.6 共享副本与数据窜改
6.7 子VI加载内存的形式
6.8 子VI与属性节点
6.9 子VI的生命周期
6.10 LabVIEW的内存再分配
6.11 LabVIEW中的缓存重用
6.12 数据类型的转换
6.13 合理的编程习惯
6.14 应用程序的内存管理
第7章 多线程
7.1 LabVIEW的执行系统与多线程机制
7.2 多线程的执行机制—时间片
7.3 LabVIEW多线程分类
7.4 多线程通信
7.4.1 局部变量
7.4.2 全局变量
7.4.3 队列
7.4.4 LV2型全局变量
7.4.5 共享变量
7.4.6 数据传递机制读/写速度
7.4.7 LabVIEW变量的深入分析
7.4.8 子VI与主VI的实时通信
7.5 多线程同步
7.6 并行循环的停止机制
7.7 多线程的优势
7.8 多线程优先级
7.9 多线程应用
第8章 LabVIEW的设计模式
8.1 连续循环模式
8.2 事件处理器
8.3 状态机
8.3.1 顺序状态机
8.3.2 改进型状态机
8.3.3 标准状态机
8.3.4 事件状态机
8.3.5 超时状态机
8.3.6 自定义事件状态机
8.4 队列消息处理器
8.4.1 查询模式的队列消息处理器
8.4.2 事件驱动的队列消息处理器
8.4.3 基于超时事件的队列消息处理器
8.4.4 基于自定义事件的队列消息处理器
8.4.5 基于回调机制的队列消息处理器
8.4.6 多重嵌套的队列消息处理器
8.5 顶层程序设计模式
8.6 多线程的模块化
8.7 LabVIEW程序的构建策略
8.8 连续循环时的事件响应
第9章 动态调用技术
9.1 VI服务器与引用
9.2 动态控制VI
9.3 动态事件
9.4 LabVIEW的回调机制
9.5 多线程传递事件
第10章 常用控件的编程
10.1 列表框
10.1.1 列表框的属性
10.1.2 列表框的方法
10.1.3 列表框的应用
10.2 多列列表框
10.2.1 多列列表框的属性
10.2.2 多列列表框的应用
10.3 选项卡
10.4 树形控件
10.5 波形图表
10.5.1 波形图表的外观
10.5.2 波形图表的数据输入形式
10.5.3 图形图表类属性
10.5.4 标尺类属性
10.5.5 波形图表类属性
10.6 波形图
10.7 XY图
10.8 XControl控件
第11章 文件I/O操作
11.1 常用的文件类型
11.2 常用的文件操作函数
11.3 报表
11.3.1 LabVIEW工具包
11.3.2 自动化函数
第12章 程序界面构建
12.1 菜单
12.1.1 自定义菜单的创建
12.1.2 自定义菜单的响应
12.2 快捷菜单
12.2.1 快捷菜单的创建
12.2.2 快捷菜单的响应
12.3 工具栏
12.3.1 工具栏的创建
12.3.2 工具栏的响应
12.4 对话框
12.5 状态栏编程
12.6 界面的构建实例
第13章 面向对象编程
13.1 面向对象的编程思想
13.2 面向对象的基本概念
13.3 LabVIEW的类
13.3.1 创建基类
13.3.2 类的继承
13.4 面向对象的编程应用
13.5 LabVIEW面向对象的利弊分析
第14章 LabVIEW与外部组件的通信
14.1 DLL
14.1.1 DLL的概念
14.1.2 DLL文件的制作
14.1.3 DLL文件的调用
14.2 Windows API
14.3 Active X
14.4 多进程通信
第15章 接口通信和驱动程序开发
15.1 串口通信
15.1.1 串口通信的硬件介绍
15.1.2 基于LabVIEW的串口通信
15.2 USB总线通信
15.2.1 CH372概述
15.2.2 单片机与CH372的接口电路
15.2.3 单片机USB通信程序
15.2.4 基于DLL的USB通信
15.2.5 基于VISA的USB通信
15.3 计算机声卡通信
第16章 LabVIEW应用程序制作
16.1 修改主程序外观
16.2 修改路径
16.3 创建LabVIEW项目
16.4 生成应用程序(EXE文件)
16.5 制作程序安装包
前 言
前言
LabVIEW是美国国家仪器公司推出的应用程序开发环境,配合高效的数据采集设备,可以快速构建虚拟测控系统。随着科技的不断进步,传统仪器正逐渐向虚拟仪器方向发展。虚拟仪器具有可编程的特点,借助计算机和通用的数据采集设备,可以编程实现或修改仪器的功能,实现了硬件的可重用性。
LabVIEW是一门高级编程语言,使用LabVIEW不仅可以构建虚拟测控系统,还可以开发Windows应用程序并能生成程序安装包。由于LabVIEW的这些优势,它正逐渐得到广泛应用,国内外高等学校的工科专业一般都开设相关课程,学好LabVIEW对专业课的学习也是很有帮助的。对于LabVIEW的学习者,尤其是初学者,拥有一本容易入门、系统全面的编程教材是非常重要的。作者从事LabVIEW编程多年,在LabVIEW程序开发方面积累了大量的实践经验,现将这些经验编写成书奉献给读者,希望对机械、电子、通信等相关专业学生的专业课学习有所帮助。
对于LabVIEW的学习者,掌握高效的学习方法是学好LabVIEW的重要因素。作为一门编程语言,编程实践是极其重要的环节。在作者接触的一些LabVIEW学习者中,有很多人说自己的编程水平提高得很慢。这些初学者都是在阅读他人的程序,但自己很少动手编写程序,这是学习编程语言的大忌。编程水平是在编程过程中得到提高的,只有多动手编程,才能尽快熟悉LabVIEW的开发环境。学习LabVIEW时,应该多动手编程,思考为什么要这样编程,有没有更好的方法实现这段程序,仅通过阅读程序是无法提高编程水平的。根据作者的经验,对于初学者而言,大量抄写已有的程序是快速提高编程水平的好方法。本书中有大量的例题,配套的程序都是作者精心编写并通过调试的。初学者可以按照例题步骤反复抄写例题的程序,以达到熟练掌握这些程序的目的。当已经熟悉了LabVIEW的编程环境并可以独立完成VI的编写时,可以尝试思考为什么要这样编程,并在理解的基础上独立编写书中例题。在编程时,可以尝试用不同的方法实现一段相同功能的程序,并比较程序运行效率的高低。经过这种举一反三的编程,可以更加深入地理解LabVIEW的编程思想。
作者本着交流学习的态度撰写本书,由于自身水平有限,书中难免有错误之处,欢迎广大读者提出宝贵意见。如果您对书中的程序代码有更精妙的实现方法,或者指出本书中的错误,可以与作者联系()。
宋铭
LabVIEW是美国国家仪器公司推出的应用程序开发环境,配合高效的数据采集设备,可以快速构建虚拟测控系统。随着科技的不断进步,传统仪器正逐渐向虚拟仪器方向发展。虚拟仪器具有可编程的特点,借助计算机和通用的数据采集设备,可以编程实现或修改仪器的功能,实现了硬件的可重用性。
LabVIEW是一门高级编程语言,使用LabVIEW不仅可以构建虚拟测控系统,还可以开发Windows应用程序并能生成程序安装包。由于LabVIEW的这些优势,它正逐渐得到广泛应用,国内外高等学校的工科专业一般都开设相关课程,学好LabVIEW对专业课的学习也是很有帮助的。对于LabVIEW的学习者,尤其是初学者,拥有一本容易入门、系统全面的编程教材是非常重要的。作者从事LabVIEW编程多年,在LabVIEW程序开发方面积累了大量的实践经验,现将这些经验编写成书奉献给读者,希望对机械、电子、通信等相关专业学生的专业课学习有所帮助。
对于LabVIEW的学习者,掌握高效的学习方法是学好LabVIEW的重要因素。作为一门编程语言,编程实践是极其重要的环节。在作者接触的一些LabVIEW学习者中,有很多人说自己的编程水平提高得很慢。这些初学者都是在阅读他人的程序,但自己很少动手编写程序,这是学习编程语言的大忌。编程水平是在编程过程中得到提高的,只有多动手编程,才能尽快熟悉LabVIEW的开发环境。学习LabVIEW时,应该多动手编程,思考为什么要这样编程,有没有更好的方法实现这段程序,仅通过阅读程序是无法提高编程水平的。根据作者的经验,对于初学者而言,大量抄写已有的程序是快速提高编程水平的好方法。本书中有大量的例题,配套的程序都是作者精心编写并通过调试的。初学者可以按照例题步骤反复抄写例题的程序,以达到熟练掌握这些程序的目的。当已经熟悉了LabVIEW的编程环境并可以独立完成VI的编写时,可以尝试思考为什么要这样编程,并在理解的基础上独立编写书中例题。在编程时,可以尝试用不同的方法实现一段相同功能的程序,并比较程序运行效率的高低。经过这种举一反三的编程,可以更加深入地理解LabVIEW的编程思想。
作者本着交流学习的态度撰写本书,由于自身水平有限,书中难免有错误之处,欢迎广大读者提出宝贵意见。如果您对书中的程序代码有更精妙的实现方法,或者指出本书中的错误,可以与作者联系()。
宋铭
媒体评论
在线试读
评论
还没有评论。