Lab VIEW高级程序设计

Lab VIEW高级程序设计
作 者: 杨乐平
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 程序设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Lab VIEW高级程序设计》作者简介

内容简介

本书以最新LabVIEW 6.1版本为对象,系统介绍了LabVIEW高级程序设计的基本概念、关键技术和实际应用的专门知识。全书共分为三大部分:第一部分包括第1章到第8章,主要是从数据结构、算法原理、数字逻辑、外部接口与扩展、多线程编程和LabVIEW运行控制技术等方面,对LabVIEW高级程序设计的基本概念和关键技术进行了深入分析与系统论述。第二部分包括第9章到第14章,主要结合数学分析、仿真与控制、数字信号处理、数据采集与仪器控制、网络通信和SQL远程数据库等专题,系统论述了LabVIEW的扩展和高级应用。第三部分包括第15章和第16章,主要从LabVIEW程序优化设计和软件工程两个方面,介绍了LabVIEW高级程序员应该具备的项目管理和总体知识。本书可作为高等院校相关专业的教材或教学参考书,也可供有关工程技术人员和软件工程师参考。本书附光盘2张。

图书目录

绪论1

1.1概述1

1.2LabVIEW应用2

1.2.1LabVIEW版本更新2

1.2.2LabVIEW应用3

1.3LabVIEW 6.1的新特性3

1.4精通LabVIEW4

1.5本书内容安排5

2

数据结构7

2.1概述7

2.1.1基本概念和术语7

2.1.2数据类型和结构8

2.2数据存储9

2.2.1数据存储9

2.2.2数据平滑13

2.2.3类型描述符16

2.3堆栈与队列19

2.3.1堆栈19

2.3.2队列21

2.4内存指针23

2.5链表24

2.5.1链表24

2.5.2多重链表30

2.6树与图31

2.6.1树31

2.6.2图35

3

算法原理41

3.1概述41

3.1.1基本概念41

3.1.2算法分析42

3.1.3算法的增长率42

3.2搜索算法43

3.2.1顺序搜索43

3.2.2二叉搜索44

3.2.3其他搜索技术45

3.2.4搜索算法分析48

3.3排序算法49

3.3.1简单插入排序49

3.3.2快速排序51

3.4加密算法55

3.4.1加密与解密56

3.4.2凯撒密码56

3.4.3一次一密系统57

3.4.4公开密钥法58

4

逻辑控制与逻辑电路63

4.1概述63

4.2基本逻辑功能64

4.3继电器66

4.4移位器69

4.5触发器71

4.6ALU和CPU73

5

ActiveX与多媒体应用78

5.1概述78

5.2基本概念和术语79

5.2.1相关术语79

5.2.2COM81

5.2.3OLE85

5.2.4ActiveX86

5.3LabVIEW和ActiveX89

5.3.1ActiveX包容器90

5.3.2ActiveX功能节点93

5.3.3ActiveX作为客户机102

5.3.4ActiveX作为服务器102

5.3.5ActiveX应用实例104

5.4ActiveX与多媒体化123

5.4.1动画播放123

5.4.2影音文件播放124

5.5控制LabVIEW125

5.5.1在其他应用程序中控制LabVIEW125

5.5.2ActiveX错误代码与调试127

5.5.3LabVIEW中不兼容的控件129

6

LabVIEW外部接口与扩展131

6.1概述131

6.1.1动态数据交换131

6.1.2动态链接库与应用编程接口132

6.1.3C代码接口133

6.1.4MATLAB与HiQ133

6.2LabVIEW中的DDE调用134

6.2.1LabVIEW DDE VIs134

6.2.2LabVIEW中的DDE通信134

6.2.3Request方式137

6.2.4Advise方式139

6.2.5同步方式140

6.2.6LabVIEW与Excel通信142

6.2.7NetDDE142

6.3LabVIEW中的DLL与API调用145

6.3.1LabVIEW中的DLL调用145

6.3.2API应用实例149

6.4CIN节点的使用153

6.4.1创建一个空CIN节点154

6.4.2创建CIN节点的输入输出端口154

6.4.3创建.c源文件155

6.4.4创建.lsb文件156

6.4.5加载.lsb文件160

6.5MATLAB Script节点与HiQ Script节点160

6.5.1MATLAB Script节点160

6.5.2HiQ Script节点162

7

LabVIEW多线程165

7.1概述165

7.1.1操作系统与多线程165

7.1.2多线程的相关概念与实现166

7.1.3关于多线程的一些误解169

7.2LabVIEW的多线程170

7.2.1子系统170

7.2.2运行队列172

7.2.3LabVIEW多线程中的DLL173

7.2.4定制线程结构175

7.3LabVIEW中线程数目估计176

7.3.1线程数目分析176

7.3.2优化VIs的线程179

7.3.3VI优先级182

7.4LabVIEW中的Subroutine183

7.4.1LabVIEW的数据类型184

7.4.2何时使用Subroutine185

8

LabVIEW运行控制技术188

8.1概述188

8.1.1VI Server技术188

8.1.2Notification技术189

8.1.3Queue技术189

8.1.4Semaphore技术189

8.1.5Rendezvous技术190

8.1.6Occurrence技术190

8.1.7Event Structure技术190

8.2LabVIEW VI Server技术191

8.2.1VI Server节点191

8.2.2动态调用VI应用实例194

8.3Notification技术206

8.3.1Notifier Operations节点206

8.3.2Notification应用实例209

8.4Queue技术211

8.4.1Queue VIs211

8.4.2Queue 应用实例211

8.5Semaphore技术217

8.5.1Semaphore VIs217

8.5.2Semaphore应用实例219

8.6Rendezvous技术221

8.6.1Rendezvous VIs221

8.6.2Rendezvous应用实例221

8.7Occurrence技术224

8.7.1Occurrence节点224

8.7.2Occurrence 应用实例225

8.8LabVIEW 事件编程226

8.8.1Event Structure的使用226

8.8.2Event Structure应用实例229

8.8.3使用Event Structure应注意的问题229

9

数学分析233

9.1概述233

9.1.1G语言与数学分析233

9.1.2G语言数学工具包简介235

9.1.3G语言的公式翻译器236

9.2公式运算节点237

9.2.1公式运算节点VIs237

9.2.2应用实例239

9.2.3公式运算节点中的数据类型、运算符和支持的函数242

9.3函数计算244

9.3.1函数计算VIs244

9.3.2应用实例247

9.4微积分运算249

9.4.1Calculus模板简介249

9.4.2应用实例251

9.5最优化257

9.5.1最优化VIs257

9.5.2应用实例259

9.6概率统计260

9.6.1概率统计VIs260

9.6.2应用实例265

9.7曲线拟合与插值271

9.7.1曲线拟合与插值VIs271

9.7.2应用实例273

9.8线性代数与数组运算277

9.8.1线性代数模块277

9.8.2数组运算模块277

9.9方程求解和数字函数281

9.9.1零点求解281

9.9.2常用数字函数283

10

数字信号处理286

10.1概述286

10.2傅里叶变换288

10.2.1傅里叶变换的概念288

10.2.2LabVIEW中的频域分析VIs289

10.2.3傅里叶变换应用实例292

10.2.4傅里叶变换VIs的输出结果294

10.3Hilbert变换297

10.3.1Hilbert变换的定义297

10.3.2Hilbert变换VIs297

10.3.3应用实例297

10.4相关分析299

10.4.1自相关函数299

10.4.2互相关函数301

10.4.3LabVIEW中的时域分析模板301

10.4.4相关分析应用实例304

10.5功率谱分析305

10.5.1自功率谱密度305

10.5.2帕斯瓦尔定理306

10.5.3互谱密度函数307

10.5.4非均匀采样数据的功率谱计算308

10.5.5谱分析实例310

10.6联合时频分析311

10.6.1联合时频分析VIs311

10.6.2应用实例312

10.7窗函数314

10.7.1窗函数简介314

10.7.2LabVIEW中的窗函数317

10.7.3用于谱分析的窗和用于滤波器设计的窗325

10.8数字滤波器326

10.8.1数字滤波器的基本概念326

10.8.2滤波器设计326

10.8.3滤波器的选择329

10.8.4LabVIEW中的滤波器330

10.8.5滤波器应用实例335

10.9波形测量336

10.9.1LabVIEW的波形分析功能336

10.9.2波形测量VIs338

10.9.3波形测量实例340

10.10波形调理345

10.10.1波形调理VIs345

10.10.2应用实例346

10.11波形监测348

10.11.1波形监测VIs348

10.11.2应用实例349

10.12波形发生354

10.12.1波形发生VIs354

10.12.2应用实例356

10.13LabVIEW逐点分析库358

10.13.1LabVIEW逐点分析库简介358

10.13.2逐点分析应用实例359

11

仿真与控制364

11.1仿真概述364

11.1.1什么是仿真364

11.1.2仿真的作用365

11.2使用LabVIEW数学工具包仿真365

11.2.1仿真实例366

11.2.2随机数的产生371

11.2.3韦伯分布随机变量的产生方法376

11.2.4泊松分布随机变量的产生方法377

11.3LabVIEW控制与仿真工具包378

11.3.1LabVIEW控制与仿真工具包378

11.3.2仿真与控制工具包提供的VIs379

11.3.3控制与仿真工具包应用实例385

12

数据采集与IVI仪器驱动器390

12.1概述390

12.1.1数据采集390

12.1.2IVI仪器驱动器392

12.2数据采集的实时与同步控制395

12.2.1中高速数据采集395

12.2.2特殊采样399

12.3基于网络的远程数据采集401

12.3.1利用RDA技术实现远程数据采集401

12.3.2利用DataSocket技术实现远程数据采集406

12.3.3RDA技术和DataSocket技术比较408

12.4IVI仪器规范和功能409

12.4.1IVI仪器规范409

12.4.2IVI驱动器的功能410

12.4.3IVI驱动器与传统驱动器的区别413

12.5IVI配置与仪器仿真414

12.5.1Initialize with Options.vi415

12.5.2利用Measurement and Automation

Explorer配置IVI416

12.5.3利用IVI Drivers进行仪器仿真421

13

网络通信425

13.1概述425

13.1.1TCP与UDP425

13.1.2DataSocket427

13.1.3Remote Panels427

13.2TCP通信428

13.2.1TCP节点428

13.2.2TCP通信应用实例430

13.3UDP通信435

13.3.1UDP 节点435

13.3.2UDP应用实例436

13.4DataSocket通信437

13.4.1DataSocket的组成437

13.4.2DataSocket节点439

13.4.3DataSocket节点应用实例442

13.5Remote Panels446

13.5.1配置LabVIEW Web Server446

13.5.2在LabVIEW环境中操作Remote Panels449

13.5.3通过网页浏览器在网页中操作

Remote Panels450

13.5.4利用LabVNC实现Remote Panels发布451

14

SQL与数据库访问457

14.1概述457

14.1.1LabVIEW SQLToolkit简介457

14.1.2LabSQL简介458

14.2Microsoft ADO459

14.2.1Microsoft ADO简介459

14.2.2Microsoft ADO编程模型459

14.3结构化查询语言SQL465

14.3.1简单查询465

14.3.2联合查询468

14.3.3连接查询468

14.4LabSQL的安装与配置470

14.4.1LabSQL的安装470

14.4.2LabSQL的配置471

14.5LabSQL VIs473

14.5.1LabSQL VIs分类473

14.5.2LabSQL Command VIs474

14.5.3LabSQL Connection VIs475

14.5.4LabSQL Recordset VIs476

14.6LabSQL应用实例478

14.6.1LabSQL应用实例一——查询479

14.6.2LabSQL应用实例二——修改记录481

14.6.3LabSQL应用实例三——删除记录482

14.6.4LabSQL应用实例四——添加记录483

15

LabVIEW程序优化设计485

15.1概述485

15.2VI性能监测与分析485

15.2.1性能监测485

15.2.2VI执行速度488

15.3LabVIEW内存管理492

15.3.1虚拟内存493

15.3.2Mac系统的内存493

15.3.3VI内存管理493

15.3.4数据缓存494

15.3.5内存监视495

15.3.6最佳内存使用规则497

15.4LabVIEW程序结构分析508

15.4.1概述508

15.4.2主程序层510

15.4.3测试层516

15.4.4驱动层518

15.5LabVIEW程序优化措施519

15.5.1顺序结构519

15.5.2嵌套结构520

15.5.3驱动程序521

15.5.4轮询循环522

15.5.5数组处理522

16

LabVIEW软件工程524

16.1概述524

16.1.1灵活性和可扩展性524

16.1.2可维护性525

16.1.3代码重用性525

16.1.4可读性525

16.2软件开发计划与管理526

16.2.1软件需求分析526

16.2.2软件设计528

16.2.3软件编程530

16.2.4软件测试531

16.2.5软件维护532

16.3软件开发模型533

16.3.1边写边改模型533

16.3.2瀑布模型533

16.3.3快速原型模型536

16.3.4螺旋模型537

16.4软件开发质量保证539

16.4.1ISO 9000标准539

16.4.2LV9000工具包540

16.4.3软件测试与验证工具包540

16.5文档编写541

16.5.1LabVIEW的文档541

16.5.2打印LabVIEW文档542

16.5.3VI的历史记录542

16.6综合实例542

附录A

LabVIEW术语表545

附录B

快捷操作与操作技巧546

B1快捷操作546

B2操作技巧547

附录C

错误代码表549

C1错误代码范围一览表549

C2VISA错误代码表550

C3运算表达式错误表553

C4公式翻译错误代码表554

C5信号处理错误代码表556

C6Waveform错误代码表561

C7Apple Event错误代码表561

C8仪器驱动器错误代码表562

C9PPC错误代码表563

C10LabVIEW专有PPC错误代码表564

C11GPIB错误代码表564

C12TCP与UDP错误代码表565

C13串口通信错误代码表565

C14仪器驱动器错误代码表565

C15LabVIEW专有Apple Event错误代码表566

C16MATLABScript and HiQ Script错误代码表666

C17DDE错误代码表567

C18ActiveX错误代码表568

参考文献569