LabVIEW虚拟仪器项目开发与实践
上QQ阅读APP看书,第一时间看更新

前言

随着计算机和测控技术的发展,以“软件即仪器”为核心思想的虚拟仪器技术在工业领域得到了广泛应用。NI公司的LabVIEW是虚拟仪器系统开发工具的开山鼻祖和杰出代表。可以快速、高效地将各类软、硬件集成在一起,创建大型的数据采集、处理分析和测控项目。因此笔者认为有必要深入研究基于LabVIEW的虚拟仪器技术。

自从1998年第一次接触LabVIEW以来,笔者常在国内外各类LabVIEW虚拟仪器相关的网站上搜集资料,并在LAVA、NI Discussion Forums、OpenG等论坛上与国内外的同行交流。期间,常感慨国内虚拟仪器开发资料的匮乏,不少书籍资料中的内容还停留在让人尴尬的、简单绘制函数曲线图的阶段,离实际项目开发相去甚远。每每遇到这种情况,都有将自己的一些心得整理出来与大家分享的冲动,相信一定对广大开发人员有所帮助。

2012年,笔者编写的《LabVIEW虚拟仪器项目开发与管理》一书出版后,收到了大量的读者反馈。很多读者对于书中提出的单循环和多循环框架给予了极高的评价,并将这些框架应用于他们的项目实践中。也有不少读者对书中内容提出了不少建议,希望能补充网络通信、数据采集和滤波等方面的内容,并要求增加一些项目实例。由于2012—2018年,我一直在工作之余忙于编写《图像处理、分析与机器视觉(基于LabVIEW)》一书,《LabVIEW虚拟仪器项目开发与管理》一书的再版就被搁置了。此外,近几年LabVIEW虚拟仪器和机器视觉技术也得到了长足发展。为了能紧跟新技术发展的步伐,我在《LabVIEW虚拟仪器项目开发与管理》一书的基础上,对LabVIEW虚拟仪器的项目开发技术进行了更新,并根据读者反馈补充了大量新内容,重新编写了本书。

全书共22章,主要讲解LabVIEW虚拟仪器项目开发的基础知识、虚拟仪器项目开发方法以及项目管理和实践。

第1~6章为基础知识,主要讲解LabVIEW程序前面板设计、LabVIEW的基本数据结构、程序框图、函数和子VI的开发以及错误处理等内容。通过这些内容的学习,读者会对使用LabVIEW开发虚拟仪器项目的软件有一个概括性的了解。

第7~19章讲解大型复杂虚拟仪器项目开发方法。这部分内容是本书的核心,多数内容都是笔者实际项目开发经验的总结,书中提及的源码可直接用于实际项目开发。该部分的内容简要汇总如下。

第7~9章:主要介绍实际项目开发过程中应使用的程序框架。介绍事件结构、定时结构、禁用结构以及元素同址结构。对各种单循环程序框架进行比较,包括轮询、经典状态机、消息状态机、队列状态机、事件状态机,以及程序框架中数据传递和功能全局量的使用等。并在讲解多线程编程技术、同步多循环和异步多循环程序结构后,讲解用于解决大型复杂项目的并行多循环程序框架,以及模块化的多循环程序框架。这些程序框架均已开源,读者可在实际项目开发时直接使用。

第10章:讲解LabVIEW高级用户界面开发技术,包括自定义控件、XControl、菜单、光标、工具栏、状态栏以及多语言支持等。

第11~13章:讲解数据类型和程序代码的扩展,以及代码的复用技术,包括自定义数据类型以及面向对象编程;使用公式节点、表达式节点、脚本节点简化数学运算,使用CIN将文本代码无缝嵌入程序框图,以及使用VI Server和VI Scripting以编程方式动态控制VI;OPENG和MGI代码库的使用、调用DLL、ActiveX、.NET以及最新的Python脚本调用等。

第14、15章:讲解数据存储与表达技术,包括文本文件、二进制文件、数据记录文件和电子表格文件、配置文件、TDMS文件和XML文件等文件类型的操作、数据压缩、数据加密、数据表达以及数据库技术等。

第16章:讲解网络通信技术,包括网络参考模型和通信协议,串口通信、红外和蓝牙通信、TCP/IP与UDP通信、DataSocket技术、FTP和SMTP应用程序开发,以及简单消息传递参考库NI STM等。

第17~19章:讲解信号与传感器、数据采集技术和数字滤波器的设计和应用。

第20~22章主要介绍虚拟仪器项目的开发管理与实践。在介绍项目管理的相关实践经验后,给出一个影像增强仪质量检测系统的实际设计开发实例。最后基于航空液流阀检测系统、ASDX传感器测试系统和灌装检测机器视觉系统三个实例,对项目开发过程中的一些关键技术进行汇总,给出测控项目和机器视觉项目的完整模板。

LabVIEW虚拟仪器项目开发是一个“既容易又困难”的工作。说容易是因为LabVIEW作为开发工具很容易上手,说难是因为它覆盖的技术领域很广,而且这些领域的知识在开发过程中经常交差融合使用。因此,全书在编写过程中力求面向实际应用,尽量避免浅尝辄止和纸上谈兵。希望能通过笔者的一点努力,提供一些有价值的技术资料和源码模板(本书中各章配套源码可以扫描下方的二维码下载),以便广大开发人员能更专注于各自专业技术领域的研究和开发。

本书的编写过程犹如播放一首承载记忆的老歌,历久而弥新。十年弹指一挥间,编写《LabVIEW虚拟仪器项目开发与管理》时的艰辛仍历历在目,而本书编写过程中的甜蜜又被再次承载。在《LabVIEW虚拟仪器项目开发与管理》编写过程中,我的妻子怀孕,很多章节都是在照顾妻子和熬夜中完成的,直到我的儿子出生并过第一个生日。感谢妻子对我的支持,也感谢儿子给了我不断坚持的信念。本书编写过程中,我的儿子Zhuo正在认真学习微积分,他努力地帮我寻找书中的问题,纠正了很多数学公式中的错误,感谢他的努力!谨以此书献给我的妻儿。

再次特别感谢我的导师潘建寿教授和带我认识LabVIEW的寇小明博士,是他们让我与信号处理、机器视觉和LabVIEW结下了不解之缘,也教给了我严谨的工作作风,使我至今都受益匪浅。感谢所有关心本书的读者,以及国内外技术论坛上的朋友们,他们给予本书很多建设性的意见和建议,也提供了不少指导和灵感。

由于时间和篇幅的限制,很难在书中全面叙述虚拟仪器项目开发的各方面,同时书中内容难免存在不妥之处,请读者见谅。对本书内容的任何宝贵建议和意见,可发送至笔者电子邮箱(邮箱地址在本书资源包中)。

愿携手所有为初心和梦想努力并坚持着的同行,共同为虚拟仪器和机器视觉技术的发展添砖加瓦,也衷心祝愿虚拟仪器和机器视觉技术在LabVIEW的助力下长足发展!

杨高科

2022年3月于多伦多