LabWindows/CVI是美国NI(NationalInstruments)公司开发的面向计算机测控领域的虚拟仪器软件开发平台,可以在多种操作系统(WindowsXP/Vista/7、MacOS和Unix)下运行,允许程序员采用C语言进行开发。在此开发环境中可以利用C语言及其提供的库函数来实现程序的设计、编辑、编译、链接、调试,并可通过LabWindows/CVI提供的库完成功能强大的软件开发的任务。
LabWindows/CVI是个使用C语言开发程序以及驱动的利器,可是国内了解LabWindows/CVI的人却是少之又少,市面上仅有的几本关于LabWindows/CVI的书也大致雷同,没有考虑到基地同学的基础与实际情况,其内容主要是LabWindows/CVI相关的知识的介绍而对提升用户的兴趣的内容却很少提及,不适合给初学者使用。考虑到这种现状,本人从2012年11月份起,便隐隐约约有了一丝想要靠自己以及周围人的力量一起编写一本适合初学者的LabWindows/CVI教程的想法。
因此,有了明确的定位——CVI初学者,本教程在编写的过程中也便有了更多的针对性。在知识的介绍方面,除了基本的知识之外,更强调LabWindows/CVI的兴趣的引导与培养;在选材方面,对于读者可能有陌生感的代码与领域均予以详细介绍,避免一开始便对LabWindows/CVI保持着神秘感,要知道刚开始学习一个开发环境时“亲近感”是非常重要的;在示例程序方面,尽量采用可以直接运行的控制台程序并且示例程序除了实现完整功能外减少无关的功能;在难度控制方面,尽量的减少新知识的Demo程序的难度以使得读者可以在最短时间内入门;在学习方式方面,“授之以鱼不如授之以渔”,更注重引导读者参照官方帮助文档自行开发程序避免了入门之后仍然对中文资料的依赖;在知识增长的梯度方面,在读者对CVI入门之后便让读者尽可能多的接触一些实例与应用避免读者产生“学此开发环境无用”的理念。此外,在学习C语言时,大部分读者可能使用VC而入门的。可是VC的很多内容都不标准,学习LabWindows/CVI可以使读者脱离微软的生态环境,以一定的高度去俯瞰自己所学的知识。
在内容安排方面,本教程一共设计了7次课程。
第一节“LabWindows/CVI开发环境”主要让读者了解LabWindows/CVI开发环境的特色,解除读者对于C语言的偏见并让读者对什么是开发环境有一个明确的认识,并能够在LabWindows/CVI下运行自己的第一个Demo程序。
第二节“GUI开发”通过一个示例程序引领读者迅速开发出自己的第一个应用程序,并且在其中培养读者遇到问题之后,学会利用官方帮助文档解决问题的习惯。
第三节“计算机外设开发”通过LabWindows/CVI强大的库,让用户了解到LabWindows/CVI的强大功能,并且具备在LabWindows/CVI开发具 有实用功能的具有美观的GUI界面的程序的能力。
第四节“库文件”通过在LabWindows/CVI下生成、使用静态库、动态链接库的过程,让读者掌握跨开发环境进行编程的能力,通过调用外部的DLL文件在LabWindows/CVI下可以更加随心所欲的编写程序。
第五节“外设驱动开发”主要通过VISA库教会大家使用NI-VISA开发计算机外设的驱动,并且编写硬件设备的驱动程序。
第六节“综合实例:远程监控系统”采用一个实例展示了使用LabWindows/CVI开发一个完整的项目的历程,并在开发的过程中让读者了解参与项目与参与比赛时不同的信念不同的解决问题的思路。
第七节“探索与实验”提供了11个参考题目,读者可以根据自己的兴趣爱好去实现其中的一个或多个。这些参考题目均需要读者具备一定的LabWindows/CVI功底并且适当延伸,进而使得读者可以通过完成这些作品而充分的体会了解LabWindows/CVI开发环境。
本教程由本人(HZKJ大学-LWH)执笔编写,此外HZKJ大学的YL同学也参与了编写工作,在此表示感谢。编写一套像模像样的LabWindows/CVI教程是本人2013年的一个小梦想,希望没让读者失望。本教程也会在修改完善之后将电子版以及相关工程代码放到网络上供大家学习交流使用。
本教程在编写过程中参考了不少市面上已有的LabWindows/CVI资料与书籍,尤其是机械工业出版社的《LabWindows/CVI逐步开发与深入实例》,在此一并表示感谢。
由于本教程篇幅较多,内容庞杂,涉及内容广泛,加上本人水平有限、时间仓促,书中必然存在大量的低级错误或疏漏之处,若发现,欢迎跟我们联系指正。
LWH(lwh9005@163.com)
2013-03-26于武汉