原创 LabVIEW与VEE的比较

2008-12-2 02:28 4204 7 7 分类: 测试测量
Adilent 出的VEE与NI出的LabVIEW是面向同一用户群的两个图形化软件开发系统,也是图形化语言中最好的两种语言,在市场上占有率也是最高。近些日子,身边的朋友,还有网上的朋友,也都有问,到底使用那种语言来开发系统最好?接下来就我所知给大家粗略的分析一下LabVIEW和VEE。关于什么是LabVIEW和VEE,本文就不谈了,如果你不知道,可以去别的地方去查查,类似的文章很多,这里只是谈谈我对这两种语言的理解以及他们的相似点和差异性。

      VEE Pro和LabVIEW是同级的产品,前者面向团队开发,后者则单打独斗,而且两者似乎把自己的定位不同,前者更像一个应用工具,面向对象也比较窄,主要用来做仪器控制而且主要是Agilent的仪器,它的功能LabVIEW现在也都能做,据说现在agilent内部人员也在使用LabVIEW,而NI的野心比较大哈!他把LabVIEW定位为编程语言,不仅用与仪器控制,各行各业都有它的身影,可以说LabVIEW无处不在。它的目标就是帮助科学家和工程师最快速的实现他们的想法。之所以,现在VEE还有生存的空间,本人认为是因为Agilent在仪器行业的龙头老大地位,虽然NI也很厉害,但是就全球销售额来说,Agilent2006销售60亿美元,而NI仅仅6亿,相比来说,还是逊色了很多。但就技术来说NI绝不逊色Agilent,这可能是由于是文化和经营理念上的差异化吧!NI更看重于技术,我认为!从NI的CEOJames Truchard博士身上就可以看出,70岁左右的人现在整天在搞技术,可想NI其他员工,说实话我非常的欣赏NI,欣赏NI的文化,NI的服务........,haha!扯远了!
    相似点


      两者同为graphical programming language,因此开发环境结构差异不大,一个Unit都是由一个block diagram窗口和一个panel窗口组成,Panel提供GUI,而block diagram则是流程图式语言编码的地方。但是,VEE的元件实在是太巨大了,在缺省大小下,放上两三个fuctiongenerator和XY Tracer就挤满了,这就逼着你将他们做成subFunction,这样占的地方就小了很多,但是和LabVIEW的subVI(32*32)比起来,仍然大的不像话。相比之下,LabVIEW的方式更容易接受:Panel上放面向用户的控件,而block diagram上只放对应控件表征数据类型的小图标。在稍上规模的VI开发中,屏幕空间就是氧气,相信各位都有将block diagram拖来拖去不胜其烦的经历吧。
差异性
      在控件选取方式上,LabVIEW使用了浮动工具栏的图标Stack的形式,而VEE则是菜单+Function & Object Browser的方式,是纯文字的。相比之下,不够LabVIEW直观方便,大多数时候只凭图标就可以猜出控件的用途。
      在连线方面,VEE做的不错,会自动排布出美观的布线。但是VEE中object的terminal安排显得有些晦涩,比起LabVIEW的有tips显示稍逊一筹。但是其好处是,可以自由的安排terminal的位置和分布(object size够大嘛),避免了LabVIEW中多terminalsubVI的拥挤现象。在VEE中,稍微复杂一点的运算(如FFT等)都是交给外挂的Matlab库来进行的,我还没有测试过是否比LabVIEW的库要快,但我猜测是如此。
       在对外界仪器和版卡的支持上,暂时还分不出高下,两者都提供了对串口、GPIB、VXI、DAQ卡的DLL、driver等接口的支持,VEE还支持对仪器的direct access。两家公司都有出品相关的硬件,但是就LabVIEW的经验来看,使用非NI的DAQ board通常意味着一场恶梦。

       在panel object的外观上,VEE的差距无疑是巨大的,尤其是相对LabVIEW的6i系列来说,一眼就能分出高下。但是LabVIEW美观的控件的代价是兼容性和速度,这点相信从6.1升级到8.5的用户有深刻的体会....(本人就是其中之一)
       在debug层面上,两者是非常相似的,都提供了单步执行、察看连线上的即时数据,察看caller等工具,但在程序的结构显示上,VEE采用的是类似CAD软件装配树的浏览窗口,而LabVIEW使用的是用图标表征的树状图,两者相比,似乎VEE的更符合我们的习惯。


以下是网上某些人做的关于LabVIEW和VEE与其他软件的对比。



各项指标


LabVIEW


其他软件


编译成执行档




编译成DLL



X


工程数学分析,小波理论,FFT




资料撷取DAQ




完整的教育训练及认证




多样化的人机界面



???


支持全世界 200 多家仪器厂商 5000 台仪器 [ RS-232, GPIB, USB, LAN, VXI, PXI ]



???


协力厂商硬件提供软件函式库支持



???


Math Script [ Signal Processing, Sound & Vibration ]



???


通讯分析例如调变,解调变



???


连结数据库ADO,ODBC Database



X


SPC品管分析例如六个标准差



X


Microsoft Office Report [ Word,Excel]



???


马达控制



X


支持FPGA,控制与设计,



X


机器视觉



X


嵌入式系统支持例如 Microprocessor,PDA [ Windows Mobile ],TouchPanel [ Win CE ]



X


透过 OPC 整合 PLC, PAC



X


出版商提供中文,英文书籍



X


网络论坛



X


提供英文,法文,德文,日文,韩文,简体中文版本



X


提供Windows,Mac,Linux OS



X


工程师现场技术支持



???


Agilent VEE


其他软件


容易连接且快速



  • 测试程序的开发时间更为快速
  • 容易连接、量测、分析与报告结果
  • 以较少的程序代码来简化程序设计,而且很容易学习

使用较低阶的图示(这会衍生更多对象,且处理上会更为复杂)


完整的开放式测试软件



  • Agilent Open 策略
  • 可完美搭配安捷伦及其它厂商所提供的硬件和软件使用
  • 弹性、可扩充、与工业标准接口兼容

只能搭配NI 驱动程序和硬件,且无法独立完成连接和数据撷取工作


Agilent VEE 8. 0 的新增功能



  • Watch Window -强大的除错工具(此为VEE的独特功能,可让使用者查看及编辑变量)
  • Code Completion 和Code Insight -使程序设计变得更快速且容易,毋须记 忆程序代码语法
  • 程序化对象特性( Programmatic Object Properties )-轻松建立更完善的GUI
  • 迷你地图( Minimap )可让您在工作区内轻易地浏览

需投入较多的时间和金钱(必须接受训练课程来学习如何操作


      综上所述,  HP VEE是一种工程可视化编程语言。它对整个语言做了彻底的图形化处理 ,并提供了模块式的编程工具。同时还提供了数据流显示和程序流显示,非常适合于构成测试和测量应用程序。HP VEE提供的软面板使用方式是LabVIEW中没有的,用起来非常的方面,在仪器控制方面,得到了广泛的应用。LabVIEW的图形化程序设计是基于现代软件的面向对象技术和数据流技术而发展起来的。用户能够通过连接功能模块来快速开发自己的应用程序,甚至能够使用多路数据通道,实现同步操作。直观的前面板与流程图式编程方法的结合,是构建虚拟仪器的理想工具。


    十年前你可能会经常看到这样的字眼:HP VEE 比LabVIEW and C/C++ 做的好,例如10年前某个新闻上的一段话:"Hewlett-Packard Company today announces that a usability study published by American Institutes for Research (AIR) has found that engineers can perform many typical manufacturing-test applications faster using HP VEE than with either National Instruments' LabVIEW or Microsoft(R)'s C/C++ software."但是如今,你还能看到这些字眼吗?反正我是没有看到过,为什么呢?10年以后,又会是一个什么状况,现在我们还在那VEE和LabVIEW作比较,他们两个就像金庸先生《天龙八部》里的南慕容北乔峰一样,想当年是旗鼓相当,但是在少林寺一战之后却变得不再势均力敌了,不知道VEE和LabVIEW的命运会不会这样?我的看法是,这是迟早的事情,其实现在已经初见端倪,就像上面提到的一样,十年前如日中天,但十年后,我估计....


      因此我建议如果做仪器控制,尤其是Agilent的仪器,最好使用VEE,其他的我建议还是使用LabVIEW,以下是一位网友的建议,可以看出这是个热血青年,和我一样,对LabVIEW有种痴迷哈哈!大家可以参考一下啊。


1.强烈不建议学习VEE,因为会的人太少,遇到问题都很难找到解答,而且Agilent的仪器支持非常有限。别忘了,Agilent的特色就是什么服务都要收很多钱钱~~~一旦被绑上.....嘿嘿嘿.....而且上表所列的缺点,其实似是而非,应该都是Agilent所释出的言论。


1.使用较低阶的图示(这会衍生更多对象,且处理上会更为复杂)-->这是Agilent自己说的吧,高阶低阶根本很难定义。


2.只能搭配NI 驱动程序和硬件,且无法独立完成连接和数据撷取工作.NI是以软件为主力的公司,其实在LabVIEW的驱动程序支持上,几乎都会有范例程序可以用,不论是Agilent, R&S, dvantest....等,但Agilent几乎只支持它们自己家的。所谓独立完成连接和数据撷取工作,这更是胡诌。因为安捷伦的仪器都有实体面板,而LabVIEW强调的是虚拟仪控,就应用的灵活度而言,您说那个好呢?


3.需投入较多的时间和金钱(必须接受训练课程来学习如何操作),如果以入门来说,LabVIEW自己买本书看就可以有基础的功力了。但是VEE的书市面上有多少呢?目前为止好像只有一本--AdlemwE虚拟仪器工程设计与开发-听雨轩工作室编著.一北京:国防工业出版社(2004.4)。而且,NI教育训练中心的课,每个月都有,但是Agilent的课,几乎要一季才排一次,而且还常常开不成.......所以啰~~~~~


*提醒您,千万不要被Sales Talk给骗了。                 ~~~ 一个与双方都很熟的工程师留

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /6 下一条