第2.6节 学习LabVIEW的理由
爱需要理由!
不爱需要借口!
难道学习还需要什么理由吗?
的确,学习任何知识都不需要找出一个理由。
但是,如果你置身于工业测试、测量领域,我还是建议你学习LabVIEW。
请关注这样一个事实:那种高级计算机语言可以让50多岁的人也能够开始学习计算机应用程序设计,并能够很快达到专业程序员的设计水平?谁能告诉我答案!可是LabVIEW确做到了,我就是答案。
不过还是先不要急着下决心,不妨先看看我学习LabVIEW的理由。
2.6.1 图形化编程的特点使得老少皆易
就工业自动化领域测试、测量方面的应用程序设计而言,LabVIEW的出现绝对是革命性、创造性的。原因就是它从根本上,改变了人们所习惯的、传统的基于文本撰写代码的编程方式,取而代之的是使用鼠标来点击、拖拽图形、图标、连线等方式来进行程序设计。而这些图形、图标所代表的“控件”或“函数(或方法)”是通过对高级语言进行高度抽象所获得的。所以使得整个编程的过程变得更加简单、方便、有效,从而彻底将编程人员从复杂的语法结构以及众多的数据类型和不停的编写代码、编译、查找错误的过程中解放出来,它为程序员的程序设计工作降低了复杂度,使程序设计者能够更加专注于应用程序的设计,而不用担心语法规则、指针等是否使用的正确。使许多人象我一样没有进行过专门程序设计学习的人,成为高生产力、高效率的程序设计者。
在我退休以后,或许会与我的孙子辈(目前没有)一起共享LabVIEW给我们带来的快乐,他玩弄他的机器人(图形化编程的乐高机器人),我仍然继续搞我的虚拟仪器项目学习、开发工作。
2.6.2 系统级的图形化编程环境
之所以说LabVIEW是系统级的图形化编程环境,就是因为它提供了一整套基于图形化的软件程序设计方法,包括从编译、调试、发布等等一整套技术环节。
系统级的意义还在于它还提供了相应的硬件体系架构和管理软件体系。
LabVIEW还支持Windows、Mac OS X、Linux等多种计算机操作系统,这种跨平台特性在当今的网络化时代是非常重要的。试想在Linux操作系统下设计的VI,通过网络传递到其它平台上无需改变任何代码,即可使用或调试是一件多么爽快的事情。这大大改善了使用者之间的交流、沟通及评估的灵活性。同时,它还可以充分发挥、利用不同平台自身所具有的优异性能,例如:Windows系统的广泛性;Mac OS X系统的美观、时尚;Linux系统的安全性等等。
随着,计算机操作系统的不断升级和改进,使LabVIEW的开发环境也同样得以不断的改善。举一个简单的例子:Microsoft 最新的操作系统Vista,界面风格进一步改善,在新的操作系统上使用LabVIEW,它的GUI一定会更加美观、时尚。
尽管LabVIEW已是一个独立的图形化软件编程开发环境,但是为了照顾到已习惯使用其它的高级编程语言的编程者,它还提供兼顾其它高级编程语言的开发环境,使已习惯于其它编程语言的使用者也能够充分利用LabVIEW的强大的自动化测试、测量及分析、处理能力。
LabWindows/CVI提供了对ANSI C 的支持。
Measurement Studio 提供了对Visual Basic、Visual C# 及Visual C++的支持。
2.6.3 简洁、高效的程序设计能力
使用LabVIEW图形化编程的最大特点就是:编程效率极高。 关于使用图形化编程手法可以减少编程时间、缩短开发周期、降低开发成本等说法,已在很多介绍LabVIEW的书中进行了充分的表述,我不准备再进行复述。这里,从另外一个角度仅谈谈自己对这方面的体会。
作为应用项目的设计开发者,通常的关注点是设计的合理性和最终结果的正确性。当然,他们也会注意到编程过程的效率。实际上,减少编程时间、缩短开发周期、降低开发成本等大多都是从整体经济利益方面来考虑的。我个人认为,在提高效率这方面,人们往往忽略了“人——设计者”效率得到提高这个要素。由于LabVIEW采用的是图形化编程的方法,所以大大降低了编程过程的复杂度,仅仅使用几个快速VI就可以非常简单、迅捷的完成程序设计,实现分析和对结果的处理。如果在此基础上还要进行其它分析,假如使用其它的编程语言能够做到这么简单、直截了当吗?
图形化编程可以简单、方便、非常灵活的实现程序设计,立即运行就可以看到分析处理结果。特别是LabVIEW的即时编译能力, 可以在编程的同时进行检查及时发现错误代码。正是因为编程效率高,改动及替换方便,程序代码直接易懂,所以会更加激发设计者的创造性思维及成就感,自然就会 把设计工作重点放在如何更好的分析、处理上,而不是如何编程上。换句话说,当一个新的设计思想出现后,马上就可以得到实验验证或改进,甚至是边设计边改进。而其它的任何高级编程语言都不会如此的快速、方便(因为要写许多代码和进行编译后才能运行)。所以我们说,增强设计者的创新效率和信心是 LabVIEW不可忽视的内在特点,其价值是无法估量的。
事实上,我们已经看到了LabVIEW的发展是迅速的,并且是紧跟时代科学技术的发展,比如:它对嵌入式的支持、对DSP的支持以及对FPGA的支持及多核技术。所以通过学习LabVIEW会同样保证我们技术的持续进步,而付出的代价相对是比较小的。
2.6.4 强大的图形化分析处理能力
LabVIEW提供了无比强大的分析、处理VI库函数及许多专业的工具包,例如:高级信号处理工具包、数字滤波器设计工具包、调制工具包、谱分析工具包、 声音振动工具包、阶次分析工具包等(当然都是要花钱购买的),这是任何其它高级编程语言无法提供的。结合LabVIEW独特的数据结构(波形数据、簇、动态数据类型等)使得测量数据的分析、处理非常简单、方便、并且实用性很强。很难想象,如果使用文本编程方式进行数字滤波设计或功率谱分析会增加多少工作量,甚至能否设计完成都值得去考虑。
特别是NI新近推出的LabVIEW MathScript,将面向数学的文本编程扩展加入到了图形化的LabVIEW中来,提供了除图形化数据流编程以外的另一种自定义开发应用系统的方法,为使用者提供了获得最佳方案设计选择的机会。
LabVIEW最大的优势就在于图形化的分析处理方法。从应用角度看,LabVIEW的分析处理能力绝对是超级的,它使得设计者会更加专注于应用项目的设计,而不是如何进行数据的分析、处理。从而给设计者带来更多的是工作中的快乐和工作中的成就感。这一点我是绝对认同的。
LabVIEW的另一个优势就是仿真能力,在设计原型阶段可通过仿真来评估设计的合理性和正确性。由于使用的是图形化的编程方法,这样的工作很快就可以实施并及时得到真实的仿真结果。
我曾经做过的一个电力质量分析的项目,要求测试分析电网各相电压、电流中的25次全部谐波含量(THD)及各次谐波含量的大小。同时,还要求对各次谐波含量以百分数和柱状图形分别显示出来。使用LabVIEW提供的例程,略加修改很快就完成了,真不知道如果使用其它编程语言会搞到什么时候。
2.6.5 灵活、开放的平台
LabVIEW还是一个开放的开发平台,提供广泛的软件集成工具、运行库和文件格式,可以方便的与第三方设计和仿真连接,例如:
DLL、共享库
ActivcX、COM和.NET(微软)
DDE、TCP/IP、UDP、以太网、蓝牙
CAN、DeviceNet、Modbus、OPC
高速USB、IEEE1394、GPIB、RS232/485
数据库(ADO、SQL等)
对于便携式及嵌入式开发:
LabVIEW PDA支持便携式手持系统PDA(个人数字处理器)的开发应用,还支持Pocket PC OSs 及Windows CE。使用LabVIEW可以创建自定义的便携式测试分系统。
LabVIEW嵌入式开发模块还支持对32位处理器的图形化开发,这应该是一个很了不起的创举。目前支持的目标处理器有:PowerPC、ARM、TI C6xx86架构;支持的嵌入式操作系统如:VxWors、eCos、Windows和嵌入式的Linux。
LabVIEW DSP工具包还支持TI的DSP设计开发。
LabVIEW FPGA 模块还支持FPGA设计。丰富了RIO系列模块的自定义功能。
这些特点完全可以使你始终保持着在技术上绝对领先于你的竞争者。
不管上述说法能否成为说服你的理由,从我个人的学习经历和体会来看,有机会还是值得一试的。
世界上好多东西都可以给我们带来快乐和享受,比如:汽车、高清电视、美食等等,但是在我的工作中能够为我带来快乐和享受的就是学习LabVIEW的过程。