内容简介
本书对LabWindows/CVI的开发平台、技术更新进行了详细介绍,作者以局外人的视角重新审视,结合了多年的教学与工程实践经验,对这个开发平台提出了进一步改进的渴望与憧憬,希望能看到NI更加的性能和功能改进,并对NI的企业战略和决策制定提出了一些个人看法。本书使用了大量的第三方工具、检测方法,并附有作者对一些学术观点的看法以及程序设计思路和代码实现,适用于虚拟仪器工程开发、架构设计人员和自学者学习使用。
目录
第1章 虚拟仪器杂谈..1
1.1 LabWindows/CVI概述...................... 1
1.2 读书的彷徨........ 3
1.3 LabWindows/CVI的成名之作.......... 5
1.4 C编译器之争..... 7
1.5 工控市场............ 9
1.6 NI公司简历...... 12
1.7 Dr. T.................. 16
1.8 Dr. T的摩尔定律............................ 18
1.9 图形化的冲击.. 21
1.10 我眼中的LabWindows/CUI.......... 22
1.11 用户的一点体会.................. 23
第2章 虚拟仪器是非之争.............25
2.1 老程序员之痛.. 25
2.2 LabWindows与CVI......................... 27
2.3 组态软件.......... 29
2.4 价格之痒.......... 31
2.5 工控病毒.......... 35
2.6 创意Logo.......... 38
2.7 后进的LabWindows/CVI................ 40
2.8 数据采集技术趋势展望................ 42
2.9 国内早期的LabWindows之一....... 44
2.10 国内早期的LabWindows之二..... 45
2.11 高山流水——转眼一瞬间......... 48
第3章 虚拟仪器时代55
3.1 精彩的周志祥.. 55
3.2 数据库大战...... 57
3.3 五行与八卦...... 62
3.4 全国虚拟仪器大会历史................ 65
3.5 令人尊敬的应怀樵教授................ 68
3.6 开发平台之乱.. 71
3.7 老旧的DataSocket.......................... 79
3.8 可惜的国产虚拟仪器——LabScene................ 85
3.9 易语言.............. 88
3.10 畅想中国的虚拟仪器.................. 91
3.11 语言的轮转.... 92
第4章 虚拟仪器的技术分析.........94
4.1 程序执行依赖性分析.................... 94
4.2 窗口类名说明.. 96
4.3 有趣的函数面板............................ 97
4.4 我的大学........ 103
4.5 句柄与对象.... 109
4.6 回调函数之我见.......................... 111
4.7 含羞的hpp文件............................ 116
4.8 残缺的C99标准........................... 120
4.9 大神丁晨........ 126
4.10 绿色程序...... 133
第5章 虚拟仪器的尘封往事.....................................144
5.1 追忆历史........ 144
5.2 Bug与Debug.... 149
5.3 C语言混乱代码大赛........... 151
5.4 我的OpenCV.. 157
5.5 数据采集卡制造技术.................. 162
5.6 信息安全技术 164
5.7 Visual FoxPro漫谈........................ 166
5.8 Visual Basic漫谈.......................... 171
5.9 地震预测........ 178
5.10 CPUBBS站长 186
第6章 虚拟仪器的理论与实践...190
6.1 界面汉化........ 190
6.2 Clang编译器... 194
6.3 升级史............ 197
6.4 科技论文综述 207
6.5 论文分类总结 223
6.6 论文分析........ 230
6.7 交叉编程........ 232
6.8 Visual Basic与DLL调用问题....... 238
6.9 渴望与憧憬.... 243
6.10 虚拟小强...... 245
后记.........................252
参考文献..................257
摘要与插图
用了多年虚拟仪器,如果说一点感想都没有,恐怕是不现实的。自从开始接触到LabWindows/CVI,我就一直执迷于它那类似于C又仿佛脱胎于VisualBasic的语法规则,十多年来我一直使用,算是忠诚的用户。大约在2004年,我就萌生了要写一本LabWindows/CVI书的想法,也是在那个时候,我还在天津科技大学念博士,学习之余,写书全当是娱乐了。其实,那个时候的LabVIEW已经很火爆了,但是,LabWindows/CVI在高校中的人气还是很高的,一批知名学者、专家教授的教材还能买到。我想,他们写的书理论性太强了,程序设计的内容并不多,当时的教材大多围绕LabWindows/CVI5.5和6.0来写,实际上已经是有点落伍的了。我想从程序员角度重新解读这个开发工具,想让大家知道,其实,LabWindows/CVI除了能做测控程序,还能做更多的事。
于是,我开始做如计算机驱蚊程序、板球游戏等一些好玩的小实例,一来可以自娱自乐,二来呢,天津的蚊子着实厉害,一到夏天,我通常满腿都是大包,类似于南市食品街的小包子“狗不理”,估计这些蚊子享用大餐之后,要好好消化几天了。也经常遇到回头客,刚落在身上,我“啪”的一拍,还有半肚子的血,那间屋子平时只有我一个人,还能是谁的血呢,打死了它,却流下了我的血。
直到2012年,我的博士后工作终于完成,从北京科技大学控制科学与工程流动站出站,时间上也终于有了保证,开始将我从十多年前积累的一些小程序陆续拿了出来,累积成册,这一个过程连我自己都感觉很奇怪,感觉平时没做什么,怎么会留下这么多痕迹呢?
对于程序设计,我有自己的看法。通常来说,教材都是侧重于理论的,所以,大家如果学完谭浩强教授的C语言教程,至少还需要一本专业级的教材,才能真正入门。基础的C语言教程是以基本原理为主的,而专业级的教材应该以程序设计的思路与技巧为主,这些思路与技巧可能也都是基础的东西。但是,在实现中却又千差万别,这也是我在书中喜欢以代码来描述逻辑思路的原因。
读书破万卷,下笔如有神,当你读了太多的代码,并且能逐步转化为自己的编程思路时,写代码也是一件水到渠成的事。有人说写代码太难,我以一个“码农”的身份认为,代码读得多,理解程序设计的方法是很自然的。
谈到学习LabWindows/CVI的期望,我希望大家在学习时不要太急,应从代码入手,先仔细分析代码编写方法,然后上机调试,而不是直接把书中附带的光盘代码拿过来运行,再做囫囵吞枣式的浏览,这将导致事与愿违,学习的时间会显著加长而非缩短,并且对于技术细节的把握过于粗糙,之后程序设计时反而会不断遇到各种问题。
一开始,我将书中的一部分内容以随笔的方式,每天放一点到vihome的论坛,涉及感觉、思路、想法、技术、专业性的东西。网友看了部分文档后觉得还好,于是,我鼓起勇气,把内容扩展了出来,把小问题拓展开,谈一谈自己的感受。作为教师,职业的关系,养成了经常写些文字的习惯。文字与体会多了,便也想集结成册,把多年珍藏的家珍也悉数奉上,以飧读者。由于作者水平有限,错误及不妥之处在所难免,恳请读者批评指正。
作者
2013年8月于北京