LabVIEW实用工具详解

LabVIEW实用工具详解
作 者: 陈树学
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机/网络 软件工程/开发项目管理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  毕业于哈尔滨工业大学,就职于长春第一汽车集团公司装备公司。主要著作方向为Labview系统开发、MATLAB系统仿真。

内容简介

作为在一线摸爬滚打几十年的工程师,我们遇到过千千万万具体的问题,这些问题的解决往往具有一定的通用性,能够帮助读者解决很多问题,因此我们就有了出版这本《LabVIEW 实用工具详解》的想法。我们在本书中创建了大量的LabVIEW 实用工具,并从读者非常熟悉的具体问题出发,说明了解决这些具体问题的方法。这些实用工具包括数列工具、常用几何工具,等等。在这个基础上,我们针对电子、测试测量以及工业自动化专业创建了大量的相关工具,比如寄存器、触发器、比较器、定时器、计数器,等等。这些工具的实现原理,与相关的硬件基本原理是非常相似的,而且只要稍作修改就能应用到具体的工作、科研场景中。本书中创建了多种常用的复杂数据结构工具,这些内容对于非计算机专业的工程技术人员来说,实现起来比较困难,但在实际编程中,又经常会遇到。本书精心封装了这些常用的数据结构,读者可以直接在项目中使用。本书针对LabVIEW 工程技术人员详细介绍了各种界面布局技术以及常用的程序设计模式和框架,相信读者会找到适合自己实际需要的模式,不断提高解决具体问题的能力。

图书目录

第1 章 简单数学工具(VI) 1

1 1 温度转换工具 1

1 1 1 定制函数选板 2

1 1 2 创建温度转换工具 3

1 1 3 使用库管理温度转换VI 14

1 1 4 定制温度转换工具至LabVIEW

函数选板 16

1 1 5 利用单位进行自动温度转换 17

1 1 6 时间差工具 20

1 2 常用数列工具 21

1 2 1 使用帮助快速定位结构和函数 21

1 2 2 自然数平方和 22

1 2 3 自然数倒数和 23

1 2 4 斐波那契数列 24

1 2 5 完全平方数 25

1 2 6 阶乘构成的数列之和 26

1 2 7 利用数列计算PI 值 27

1 3 角度与弧度的相互转换(读者练习) 27

1 3 1 角度转换为弧度 27

1 3 2 弧度转换为角度 28

1 3 3 创建多态弧度角度转换VI,

并添加到函数选板 28

第2 章 基本数学工具 29

2 1 牛顿迭代法 29

2 1 1 利用牛顿迭代法求平方根 29

2 1 2 利用牛顿迭代法求立方根 30

2 1 3 利用牛顿迭代法求N 次方根 30

2 2 铂电阻、热敏电阻、热电偶线性化 31

2 2 1 铂电阻PT100 32

2 2 2 PT100 温度阻值转换器 35

2 2 3 热敏电阻(读者练习) 36

2 2 4 热电偶 37

2 3 随机数发生器 38

2 3 1 0~1 随机数发生器 38

2 3 2 指定范围的随机数 41

2 3 3 1~N 区间的自然数随机排列 42

2 4 常用几何工具 43

2 4 1 几何点工具 43

2 4 2 直线工具 45

2 4 3 三角形基本公式 49

2 4 4 三角形工具VI 51

第3 章 常用逻辑电路工具 54

3 1 值改变、边沿检测、寄存器 54

3 1 1 未初始化的移位寄存器(SR)

与未初始化的反馈节点 54

3 1 2 值改变 54

3 1 3 边沿检测 56

3 1 4 寄存器 57

3 2 触发器 59

3 2 1 RS 触发器与SR 触发器 59

3 2 2 JK 触发器 60

3 2 3 同步D 触发器 61

3 2 4 T 触发器 61

3 3 比较器 62

3 3 1 数据交换器 62

3 3 2 基本比较器 63

3 3 3 峰值比较器 64

3 3 4 奇偶比较器 64

3 3 5 三段比较器 65

3 3 6 四段比较器 65

3 3 7 多段比较器 65

3 3 8 通断器 66

3 3 9 过零比较器 67

3 3 10 比较选择器 68

3 3 11 限幅器 69

第4 章 常用逻辑编程工具 70

4 1 位操作工具VI 70

4 1 1 位屏蔽符 70

4 1 2 置位 70

4 1 3 复位操作 71

4 1 4 位翻转操作 71

4 1 5 位状态 72

4 1 6 清零 72

4 1 7 布尔数组与位操作 72

4 2 运算器 72

4 2 1 加法运算器 72

4 2 2 减法运算器 73

4 2 3 乘法运算器 73

4 2 4 除法运算器(分频器) 74

4 3 计数器 74

4 3 1 逐点分析库中的计数器 74

4 3 2 加计数器 75

4 3 3 减计数器 75

4 3 4 加减计数器 76

4 3 5 自动复位加计数器 77

4 3 6 自动载入减计数器 77

4 3 7 n 分频器 77

4 3 8 计数器级联 77

4 4 定时器 78

4 4 1 内置的时间计数器函数 78

4 4 2 高精度相对于秒的时间计数器 78

4 4 3 时间计数器工具VI 79

4 4 4 周期触发定时器 79

4 4 5 延迟接通定时器 80

4 4 6 延迟断开定时器 83

4 4 7 已用时间定时器 84

4 4 8 脉冲定时器 84

4 4 9 记忆延迟接通定时器 85

4 5 整点定时闹钟 86

4 5 1 整点(时分秒)闹钟 86

4 5 2 指定时刻(时分秒)闹钟 87

4 5 3 指定多时刻(时分秒)闹钟 87

4 5 4 等间隔(时分秒)闹钟 88

4 5 5 任意时刻闹钟 88

4 5 6 已用时间定时器(时钟) 89

4 6 开关去抖动 89

4 6 1 延迟读去抖动 89

4 6 2 过滤去抖动 90

4 7 门电路测试器 91

4 7 1 自动生成测试数据 91

4 7 2 创建模拟器 92

4 7 3 自动生成真值表 93

4 7 4 三输入门电路测试VI 93

第5 章 数值工具与数组工具 94

5 1 数值与位数工具 94

5 1 1 数值至位数工具 94

5 1 2 位至数值工具 95

5 1 3 数值位数工具 95

5 2 数值圆整工具与浮点数拆分工具 95

5 2 1 圆整到2 的N 次方(对数) 95

5 2 2 圆整到2 的N 次方(布尔) 96

5 2 3 圆整至基数的倍数 96

5 2 4 拆分浮点数(商与余数) 97

5 2 5 拆分浮点数(圆整函数) 97

5 3 简单离散数学工具 98

5 3 1 判断闰年工具 98

5 3 2 阶乘工具 98

5 3 3 阶乘工具(对数) 99

5 3 4 组合工具(公式法) 100

5 3 5 组合工具(简化公式法) 100

5 3 6 排列工具 100

5 3 7 最大公约数工具 101

5 3 8 最小公倍数工具 101

5 3 9 所有因子工具 102

5 3 10 完全数工具 102

5 3 11 水仙花数工具 102

5 4 索引数组工具 103

5 4 1 LabVIEW 2012 隧道操作

新特性 103

5 4 2 索引1D 数组工具 104

5 4 3 行列索引2D 数组工具 104

5 4 4 依行或列索引2D 数组工具 105

5 5 数组相邻元素计算工具 105

5 5 1 相邻元素的加法运算工具 105

5 5 2 相邻元素的减法运算工具 106

5 5 3 相邻元素的乘法运算工具 106

5 5 4 相邻元素的除法运算工具 107

5 5 5 相邻元素的定制算法运算工具 107

5 5 6 相邻元素的其他算法运算工具 108

5 6 数组搜索工具 109

5 6 1 搜索1D 数组所有匹配元素

工具 109

5 6 2 搜索2D 数组所有匹配元素

工具 110

5 6 3 搜索2D 数组所有匹配元素

(2D 转化为1D)工具 110

5 7 交换数组元素工具 111

5 7 1 交换1D 数组元素工具 111

5 7 2 交换2D 数组元素工具 111

5 7 3 交换数组相邻元素工具 112

5 8 条件查找数组元素工具 113

5 8 1 条件查找1D 数组工具 113

5 8 2 条件查找2D 数组工具 113

5 9 查找替换数组元素工具 114

5 9 1 查找替换1D 数组元素工具 114

5 9 2 查找替换2D 数组元素工具 114

5 10 数组排序工具 115

5 10 1 1D 数组排序工具 115

5 10 2 1D 复数数组排序工具 115

5 10 3 2D 数组排序工具 116

5 11 删除数组元素工具 117

5 11 1 删除1D 数组元素工具 117

5 11 2 删除2D 数组元素工具 117

5 12 过滤数组元素工具 118

5 12 1 过滤单个数组元素工具 118

5 12 2 过滤多个数组元素工具 118

5 13 2D 数组镜像工具 119

5 13 1 2D 数组垂直镜像工具 119

5 13 2 2D 数组水平镜像工具 119

5 13 3 2D 数组旋转90°工具 120

5 14 1D 数组集合工具 120

5 14 1 去除1D 数组重复元素工具 120

5 14 2 1D 数组并集集合工具 122

5 14 3 1D 数组交集集合工具 122

5 14 4 1D 数组补集集合工具 122

第6 章 字符串与路径工具 124

6 1 常用字符串工具 124

6 1 1 添加引号、百分号工具 124

6 1 2 删除引号工具 125

6 1 3 行结束符(EOL)工具 126

6 1 4 字符串填充工具 126

6 1 5 缓冲字符串工具 128

6 1 6 连接与拆分字符串工具 129

6 2 ASCII 表工具 130

6 2 1 扩展ASCII 表 130

6 2 2 基本ASCII 表 131

6 3 特殊字符 133

6 3 1 特殊字符下拉列表 133

6 3 2 特殊字符下拉列表的使用方法 134

6 3 3 特殊字符枚举控件 134

6 4 编码工具 135

6 4 1 英文字符与Unicode 的相互

转换 135

6 4 2 LabVIEW 字符串转换为

Unicode 字符串(API) 136

6 4 3 LabVIEW 字符串转换至UTF8

(内置函数) 137

6 4 4 NET 编码工具 137

6 5 字符串的加密与解密 139

6 5 1 按位翻转工具 139

6 5 2 异或加密解密工具 140

6 5 3 查表法加密解密工具 140

6 6 正则表达式 141

6 6 1 十进制整数的正则表达式 141

6 6 2 二进制、八进制与十六进制整

数的正则表达式 143

6 6 3 浮点数正则表达式 143

6 7 常用路径工具 144

6 7 1 有效路径工具 144

6 7 2 应用程序文件夹路径工具 144

6 7 3 支持文件路径工具 145

第7 章 基本数据结构工具 146

7 1 功能型全局变量 146

7 1 1 利用反馈节点创建读写功能

全局变量 146

7 1 2 利用反馈节点创建只读功能

全局变量 147

7 1 3 利用反馈节点创建可初始化

功能全局变量 147

7 1 4 利用循环创建可初始化功能

全局变量 148

7 1 5 创建功能全局变量模板 149

7 1 6 全局停止工具 150

7 2 累加器、均值器与收集器 152

7 2 1 累加器 152

7 2 2 均值器 153

7 2 3 收集器 154

7 3 动作机 156

7 3 1 创建抽象的数据类型 156

7 3 2 抽象数据映射 157

7 3 3 创建动作机 158

7 4 字典 159

7 4 1 字典类的私有数据 159

7 4 2 字典类的属性 160

7 4 3 获取字典内容方法 160

7 4 4 添加方法 161

7 4 5 添加范围方法 162

7 4 6 删除方法与删除范围方法 162

7 4 7 清除方法 163

7 4 8 索引方法 163

7 4 9 根据键获取键值方法 164

7 4 10 字典类转换为组合框方法 164

7 4 11 组合框转换为字典类方法 164

7 4 12 字典类存储对象的扩展 165

第8 章 高级数据结构工具 166

8 1 反馈节点FIFO 166

8 1 1 配置反馈节点延迟属性 166

8 1 2 反馈节点FIFO 应用举例 166

8 2 数组FIFO 167

8 2 1 数组FIFO 项目库 167

8 2 2 数组FIFO 工具输入端子与

输出端子 167

8 2 3 数组FIFO 工具初始化动作 168

8 2 4 数组FIFO 元素的添加与移除

动作 168

8 2 5 数组FIFO 应用举例 169

8 3 队列FIFO 动作机 169

8 3 1 队列FIFO 项目库 170

8 3 2 队列FIFO 动作机输入端子与输出

端子 170

8 3 3 队列FIFO 的初始化动作 171

8 3 4 队列FIFO 的释放队列动作 171

8 3 5 队列FIFO 的加入元素动作与

当前队列动作 172

8 3 6 队列FIFO 应用举例 172

8 4 LVOOP 队列FIFO 172

8 4 1 创建LVOOP 队列FIFO 的

私有数据(队列引用) 173

8 4 2 LVOOP 队列FIFO 初始化方法 174

8 4 3 LVOOP 队列FIFO 释放方法 174

8 4 4 LVOOP 队列FIFO 的添加

元素方法 175

8 4 5 LVOOP 队列FIFO 的状态方法 175

8 4 6 LVOOP 队列FIFO 应用举例 175

8 5 数组堆栈 175

8 5 1 数组堆栈项目库 176

8 5 2 数组堆栈动作机输入端子与

显示端子 176

8 5 3 数组堆栈动作机 177

8 5 4 数组堆栈应用举例 178

8 6 队列堆栈 179

8 6 1 队列三种入队方式 179

8 6 2 队列堆栈动作机 179

8 6 3 队列堆栈应用举例 180

8 7 LVOOP 队列堆栈 181

8 7 1 定义队列堆栈类的私有数据 181

8 7 2 队列堆栈的初始化方法与

释放方法 182

8 7 3 队列堆栈的进栈方法与出栈

方法 182

8 8 批量功能型全局变量(内置) 182

8 8 1 lvconfig llb 库 183

8 8 2 封装lvconfig llb 库函数 183

8 8 3 批量功能全局变量应用举例 184

8 9 哈希表 184

8 9 1 变体属性与哈希表 185

8 9 2 哈希表数据结构工具库 185

8 9 3 创建核心TagVar Data 动作机 185

8 9 4 TagVar Data 动作机接口 189

8 9 5 TagVar Data 动作机应用举例 190

8 10 MemBlock 工具 191

8 10 1 MemBlock 项目库 191

8 10 2 MemBlock 动作机 191

8 10 3 标签列表动作机 192

8 10 4 MemBlock 初始化接口 194

8 10 5 MemBlock 读取接口 194

8 10 6 MemBlock 写入接口 194

8 10 7 MemBlock 静态读取接口 195

第9 章 API 与动态链接库工具 196

9 1 常用API 函数 196

9 1 1 常用API 函数项目库 196

9 1 2 窗口句柄工具 197

9 1 3 窗口图标设置工具 198

9 1 4 模拟击键工具 198

9 1 5 模拟鼠标工具 200

9 1 6 系统工具 202

9 2 创建DLL 206

9 2 1 利用CVI 项目模板来创建DLL

项目 207

9 2 2 添加C 函数与创建DLL 207

9 2 3 LabVIEW 加载DLL 208

9 3 可以直接传递的LabVIEW 基本数据

类型 209

9 3 1 传递指向标量数据类型的指针 209

9 3 2 传递指向一维标量数组的指针 210

9 3 3 传递指向二维标量数组的指针 211

9 3 4 传递指向简单对齐数值结构

的指针 212

9 3 5 传递简单结构 213

9 3 6 传递字符串 214

9 3 7 传递嵌套的简单数值结构指针 215

9 3 8 传递包含数组的结构 216

9 4 结构中元素对齐 217

9 4 1 对齐问题的产生 217

9 4 2 结构体对齐的基本原则 218

9 4 3 编程设置对齐方式 218

9 5 DLL 函数返回指针的处理 219

9 5 1 打包DLL 函数 220

9 5 2 GetValueByPointer 工具 220

9 5 3 C 接口函数 221

第10 章 NET 工具 223

10 1 通用对话框 223

10 1 1 如何使用 NET 构造器 223

10 1 2 颜色对话框 223

10 1 3 字体对话框 224

10 1 4 打开文件对话框 225

10 1 5 消息框 226

10 2 集合类 226

10 2 1 迭代器 226

10 2 2 NET 队列数据结构 227

10 2 3 NET 哈希表 228

10 2 4 动态数组 229

10 3 状态条控件 229

10 3 1 图像列表控件 229

10 3 2 工具标签、进度条与分隔条 230

10 3 3 状态栏控件类 231

10 3 4 状态栏控件应用实例 232

10 4 列表视图 233

10 4 1 列表视图类 233

10 4 2 列表视图类的重要方法与

属性 234

10 4 3 列表视图应用举例 236

10 5 DataGridView 控件 237

10 5 1 Data Column 类 237

10 5 2 Data Table 类 238

10 5 3 Data Set 类 239

10 5 4 DataGridView 应用示例 240

10 6 NET 串口通信 243

10 6 1 串口类 243

10 6 2 写入文本行与读取文本行 244

10 6 3 写入文本与读取文本 245

10 6 4 写入字节数组与读取字节

数组 246

10 6 5 串口接收事件 246

10 7 NET 发送电子邮件 248

10 7 1 Email 类 248

10 7 2 Email 类的重要方法 248

10 7 3 Email 类高级接口方法 250

10 7 4 邮件类应用实例 250

10 8 NET 系统工具 251

10 8 1 目录与文件管理工具 251

10 8 2 驱动器信息工具 252

10 8 3 进程管理工具 252

10 8 4 系统管理类 253

10 8 5 管理对象查询库 254

第11 章 VI Scripting 256

11 1 应用类工具 256

11 1 1 应用类工具库 256

11 1 2 GUID 工具 256

11 1 3 获取内存中所有VI 工具 257

11 1 4 Tag 工具 257

11 1 5 ClassID 和ClassName 工具 258

11 1 6 AppName、AppDir、AppData

工具 259

11 1 7 判断运行环境与退出

LabVIEW 工具 260

11 1 8 系统工具 260

11 1 9 VI 相关工具 261

11 1 10 剪贴板工具 261

11 1 11 VI 标签工具 262

11 1 12 全局数据工具 263

11 1 13 App 类其他工具 263

11 2 VI 类工具 264

11 2 1 获取VI 引用工具 264

11 2 2 读取和写入控件值工具 265

11 2 3 保存前面板和程序框图到

图片工具 267

11 2 4 打印VI 到HTML 文件并在

浏览器中显示工具 267

11 2 5 工具栏显示控制工具 268

11 2 6 读取和设置运行菜单 268

11 2 7 前面板布尔类型属性工具 269

11 2 8 读取和设置前面板窗口边界

与面板边界工具 269

11 2 9 设置前面板居中显示工具 270

11 2 10 读取与设置前面板的状态

工具 270

11 2 11 设置前面板原点工具 271

11 2 12 打开、居中与关闭前面板

工具 271

11 2 13 获取前面板引用与前面板

句柄工具 271

11 2 14 获取前面板子对象引用 272

11 2 15 获取具有焦点控件的引用 272

11 2 16 VI 标签工具 273

11 3 通用控件类工具 273

11 3 1 操作控件值工具 273

11 3 2 读写控件的禁用、可见与

闪烁工具 274

11 3 3 读写控件的位置、边界工具 274

11 3 4 读写控件的说明与提示框信

息工具 275

11 3 5 通用对象属性工具 276

11 3 6 获取标签与标题引用工具 276

11 3 7 控件分组与锁定工具 276

11 3 8 获取控件UID 工具 277

11 3 9 获取控件或接线端的图片

工具 277

11 3 10 控件的高亮显示方法与控件

重新初始化为默认值方法 278

11 3 11 控件标签工具 278

11 3 12 LabVIEW 内置的标签工具 278

11 4 IDE 工具 279

11 4 1 LabVIEW 的重要文件夹 279

11 4 2 IDE Menu 存储工具 280

11 4 3 LabVIEW内置的Menu Launch

工具 280

11 4 4 VI 高级统计工具 281

11 4 5 控件接线端图标显示工具 281

11 5 VI Scripting 自动生成VI 工具 282

11 5 1 VI 脚本函数 282

11 5 2 放置控件、函数与结构 283

11 5 3 内置的未公开的装饰控件 284

11 5 4 内置的未公开的控件 285

11 5 5 内置的未公开CIN 函数 285

11 5 6 自动生成枚举控件、下拉列

表控件、组合框控件 285

11 5 7 字符串类型条件结构自动生

成工具 287

第12 章 列表框、表格和树形控件应用工具 289

12 1 列表框 289

12 1 1 列表框工具库 289

12 1 2 列表框常用属性工具 290

12 1 3 渐变颜色工具 292

12 1 4 交替与渐进背景色列表框

工具 293

12 1 5 用户自定义符号动作机 293

12 1 6 列表框项目操作工具 294

12 1 7 列表框应用举例 295

12 2 多列列表框工具 296

12 2 1 多列列表框工具库 297

12 2 2 四通道模拟数据采集 297

12 2 3 多列列表框嵌入其他类型

控件 298

12 3 表格控件工具 301

12 3 1 表格控件工具库 302

12 3 2 表格控件特有的工具 302

12 3 3 表格控件应用举例 305

12 4 树控件工具 307

12 4 1 树形控件工具库 307

12 4 2 树形控件工具库的基本用法 308

12 4 3 树形控件显示INI 文件内容 309

12 4 4 树形控件内置的拖动功能 310

12 4 5 树形控件拖动功能(内置数

据源) 310

12 4 6 父项与子项 311

12 4 7 动态更新项目 313

12 4 8 设置自定义符号 314

第13 章 图片实用工具 316

13 1 颜色工具 316

13 1 1 图片工具库 316

13 1 2 RGB 和HSL 颜色转换工具 316

13 1 3 系统颜色工具 318

13 1 4 颜色渐变工具 319

13 2 矩形工具 321

13 2 1 矩形不同表达形式的相互转

换工具 321

13 2 2 矩形操作基本工具 321

13 2 3 偏移矩形工具 322

13 3 基本形状绘制工具 323

13 3 1 基本图形绘制工具的底层

工具 323

13 3 2 箭头工具 324

13 3 3 绘制旋转矩形工具 325

13 3 4 绘制星形工具 325

13 3 5 其他基本图形绘制工具 326

13 4 渐变图形绘制工具 326

13 4 1 渐变圆形绘制工具 326

13 4 2 渐变矩形绘制工具 327

13 4 3 提取图片像素点工具 327

13 5 图片工具应用举例 328

13 5 1 利用图片文件屏蔽图片 328

13 5 2 编程绘制屏蔽图片 329

13 5 3 移动图片 329

13 5 4 RGB 通道 330

13 5 5 图片的透明叠加 331

13 5 6 图标浏览器 332

13 5 7 滚动字幕 333

13 5 8 RGB 图像转换为灰度图 333

13 5 9 渐变颜色饼图 334

13 5 10 排列图片与图片加框 335

13 5 11 图片的变换 336

13 6 简单动画制作 337

13 6 1 利用GIF 文件播放动画 337

13 6 2 利用装饰控件制作动画 338

13 6 3 利用图片下拉列表控件制作

动画 338

13 6 4 利用图片控件制作动画 339

13 6 5 利用二维图片控件数组制作

动画 339

第14 章 高级数据显示控件 340

14 1 数值显示 340

14 1 1 数值控件的高级显示 340

14 1 2 选择开关 341

14 1 3 多值的数值控件 341

14 1 4 定制数值控件颜色梯度 342

14 1 5 定制时间标识符 342

14 1 6 变长数组 343

14 1 7 簇的数组 343

14 2 自定义控件 344

14 2 1 自定义布尔控件 344

14 2 2 自定义数值控件 346

14 2 3 透明控件 347

14 3 波形图表 347

14 3 1 波形图表的组成对象 347

14 3 2 上下限波形图表 348

14 3 3 绝对时间波形图表 349

14 3 4 多颜色曲线波形图表 350

14 3 5 降采样波形图表 350

14 3 6 多标尺波形图表 352

14 3 7 不可预知数量的多曲线波形

图表 352

14 4 波形图 353

14 4 1 波形图的游标图例 353

14 4 2 基本波形生成器 354

14 4 3 公式波形发生器 355

14 4 4 控制波形是否可见 356

14 4 5 降采样 357

14 4 6 波形图与图片绘制 357

14 4 7 抽取子波形 358

14 4 8 动态添加与删除游标 359

14 4 9 波形图注释 359

14 4 10 绝对时间波形图与波形属性 360

14 5 XY 图 361

14 5 1 波形数据与XY 图 361

14 5 2 蝴蝶图 362

14 5 3 李萨如图形 363

14 5 4 缓冲XY 图与翻转XY 图 363

14 5 5 波形图与XY 图中的多颜色

曲线 364

14 5 6 XY 图可选平面 365

14 5 7 罗盘图与羽状图 365

14 6 三维数据显示 366

14 6 1 强度图 366

14 6 2 三维曲线图 367

14 6 3 三维饼图 367

14 6 4 三维等高线 368

14 6 5 三维条形图 369

第15 章 界面的层次化设计 370

15 1 XControl 370

15 1 1 XControl 的作用 370

15 1 2 IP 地址XControl 371

15 1 3 确定IP 地址XControl 的数据

类型与状态 371

15 1 4 设计IP 地址外观功能VI 前

面板 372

15 1 5 IP 地址XControl 执行状态更

改事件与数据更改事件 372

15 1 6 IP 地址XControl 方向更改事

件、显示状态更改事件与超

时事件 373

15 1 7 创建IP 地址XControl 的属性

和方法 374

15 1 8 创建IP 地址控件快捷菜单与

属性对话框 374

15 1 9 IP 地址控件使用用户事件发

送消息 375

15 1 10 调试IP 地址控件 376

15 2 XControl 应用实例 377

15 2 1 限定长度的字符串XControl 378

15 2 2 计算器XControl 379

15 3 利用选项卡对界面进行层次化设计 382

15 3 1 属性对话框方式 382

15 3 2 向导方式 382

15 3 3 列表框+选项卡方式 383

15 3 4 树形控件+选项卡方式 384

15 4 对话框 385

15 4 1 对话框与顶层VI、子VI 的

区别 385

15 4 2 常用的内置对话框 385

15 4 3 创建自定义对话框 386

15 4 4 对话框导入导出数据 387

15 4 5 模式对话框的调用方式 388

15 4 6 非模式对话框 390

15 5 动态调用 391

15 5 1 静态VI 引用与“通过引用

调用”节点 391

15 5 2 动态打开VI 引用与“通过引

用调用”节点 393

15 5 3 后台任务 394

15 5 4 闪屏 397

15 5 5 动态调用可重入VI 398

15 5 6 插件 399

15 6 子面板与分隔栏 400

15 6 1 隐藏子面板的边框 401

15 6 2 动态调用子VI 并插入到子

面板 401

15 6 3 列表框+分隔栏划分界面 402

15 6 4 树形控件+分隔栏划分界面 403

第16 章 面向对象编程 404

16 1 LabVIEW 内置的类 404

16 1 1 类的四大特性 404

16 1 2 Console 工具 405

16 1 3 抽象类 405

16 1 4 具体类 406

16 1 5 多态调用 406

16 1 6 自定义构造函数和析构函数 407

16 2 G#类的基本概念 408

16 2 1 G#类模板 408

16 2 2 传递引用 409

16 2 3 G#超类 410

16 2 4 创建G#类的字段、属性和

方法 410

16 3 静态类 411

16 3 1 创建静态类 411

16 3 2 使用静态方法 411

16 3 3 使用静态字段 412

16 4 简单工厂与策略设计模式 412

16 4 1 简单工厂模式类图 412

16 4 2 简单工厂与策略模式项目 413

16 4 3 具体类 414

16 4 4 简单工厂类 414

16 4 5 简单工厂模式应用举例 415

16 4 6 策略模式类图 415

16 4 7 策略模式应用举例 416

16 4 8 简单工厂模式+策略模式应用

举例 417

16 5 外观模式 417

16 5 1 外观模式项目与类图 417

16 5 2 外观类 418

16 5 3 外观模式应用举例 419

16 6 模板模式 419

16 6 1 模板模式项目与类图 420

16 6 2 模板模式应用举例 421

16 7 单件模式 421

16 7 1 单件模式项目与类图 422

16 7 2 单件模式应用举例 422

16 8 建造者模式 423

16 8 1 建造者设计模式项目与类图 423

16 8 2 建造者设计模式应用举例 424

16 9 观察者模式 424

16 9 1 观察者设计模式项目与类图 425

16 9 2 创建观察者抽象类与具体类 426

16 9 3 观察者设计模式的推拉方式 426

16 9 4 创建主题抽象类与具体类 427

16 9 5 观察者设计模式应用举例 428

16 10 中介者模式 428

16 10 1 中介者设计模式项目与类图 429

16 10 2 创建同事类以及具体同事类 429

16 10 3 创建中介者类 430

16 10 4 中介者设计模式应用举例 431

16 11 命令设计模式 432

16 11 1 命令设计模式项目与类图 432

16 11 2 创建Receiver 类 433

16 11 3 创建Command 超类和

Concrete Command 具体

命令类 434

16 11 4 创建Invoker 调用者类 435

16 11 5 命令设计模式简单应用举例 435

16 11 6 宏命令 436

第17 章 LabVIEW 设计模式与项目模板 438

17 1 串口通信组件 438

17 1 1 组件的定义 438

17 1 2 基于延迟的串口通信流程 439

17 1 3 基于延迟的串口通信组件 440

17 1 4 串口通信组件的自动配置 441

17 2 跑马灯组件 442

17 3 常量资源管理组件 445

17 4 标准状态机 447

17 4 1 命令序列 448

17 4 2 顺序状态机 449

17 4 3 标准状态机 451

17 4 4 标准状态机模板 454

17 4 5 同步状态图 455

17 5 UI 单循环状态机 456

17 5 1 如何表示状态 456

17 5 2 “有限次测量”项目模板 457

17 5 3 有限次测量流程图与程序

框图 457

17 5 4 JKI UI 单循环状态机 459

17 6 队列状态机 461

17 6 1 队列消息处理器 461

17 6 2 “字符串+变体数据”队列状

态机 462

17 6 3 “自定义枚举+变体”队列状

态机 463

17 6 4 “字符串+字符串”队列状

态机 464

17 6 5 LVOOP 多态队列状态机 465