labview的优势与缺点_LabVIEW类的动态类型处理

嵌入式软件/开发板

71人已加入

描述

  labview的优势与缺点

  优势:

  LabVIEW的优势体现在以下几个方面:

  1.跨平台特性

  LabVIEW支持Windows、Mac OS X、Linux等多种计算机操作系统,这种跨平台特性在当今的网络化时代是非常重要的。试想在Linux 操作系统下设计的VI,通过网络传递到其它平台上无需改变任何代码,即可使用或调试是一件多么爽快的事情。这大大改善了使用者之间的交流、沟通及评估的灵活性。

  同时,它还可以充分利用不同平台自身所具有的优异性能,例如:Windows系统的广泛性;Mac OS X系统的美观、时尚;Linux系统的安全性等等。

  随着,计算机操作系统的不断升级和改进,使LabVIEW的开发环境也同样得以不断的改善。举一个简单的例子:我从网上下载升级了IE 7.0浏览器(英文版),它的界面风格变得更加美观、时尚。而它正是来自Microsoft 最新的操作系统Vista。可以想象的到,未来在新的操作系统上使用LabVIEW,它的GUI一定会同样美观、时尚。

  2.对其它编程语言的支持

  尽管LabVIEW已是一个独立的图形化软件编程开发环境,但是为了照顾到已习惯使用其它的高级编程语言的编程者,它还提供了兼顾其它高级编程语言的开发环境,使已习惯于其它编程语言的使用者也能够充分利用LabVIEW的强大的自动化测试、测量及分析、处理能力。

  LabWindows/CVI提供了对ANSI C 的支持。

  Measurement Studio 提供了对Visual Basic、Visual C++# 及Visual C++的支持。

  3.开放的开发平台

  LabVIEW还是一个开放的开发平台,提供广泛的软件集成工具、运行库和文件格式,可以方便的与第三方设计和仿真连接,例如:

  DLL、共享库

  ActivcX、COM和.NET(微软)

  DDE、TCP/IP、UDP、以太网、蓝牙

  CAN、DeviceNet、Modbus、OPC

  高速USB、IEEE1394、GPIB、RS232/485

  数据库(ADO、SQL等)

  4.对便携式及嵌入式开发

  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系列模块的自定义功能。

  5.图形化的强大的分析、处理能力

  LabVIEW提供了无比强大的分析、处理VI库及许多专业的工具包,例如:高级信号处理工具包、数字滤波器设计工具包、调制工具包、谱分析工具包、声音振动工具包、阶次分析工具包等(当然都是要花钱购买的),这是任何其它高级编程语言无法提供的。结合LabVIEW独特的数据结构(波形数据、簇、动态数据类型等)使得测量数据的分析、处理非常简单、方便、并且实用性很强。很难想象,如果使用代码编程进行数字滤波设计或功率谱分析会增加多少工作量,甚至能否设计完成都值得去考虑。

  特别是:NI新近推出的LabVIEW MathScript,将面向数学的文本编程扩展加入到了图形化的LabVIEW中来,提供了除图形化数据流编程以外的另一种自定义开发应用系统的方法,为使用者提供了获得最佳方案设计选择的机会。 LabVIEW最大的优势就在于图形化的分析处理方法。从应用角度看,LabVIEW的分析处理能力绝对是超级的,它使得设计者会更加专注于应用项目的设计,而不是如何进行数据的分析、处理。从而给设计者带来更多的是工作中的快乐和工作中的成就感。这一点我的体会是极为深刻的。 LabVIEW的另一个优势就是仿真能力,在设计原型阶段可通过仿真来评估设计的合理性和正确性。由于使用的是图形化的编程方法,这样的工作很快就可以实施并及时得到真实的仿真结果。

  做了电力质量分析的项目:要求测试分析电网各相电压、电流中的25次谐波内的全部谐波含量(THD)。同时,还要求对各次谐波含量以百分数和柱状图形分别显示出来。使用LabVIEW很快就完成了,真不知道如果使用其它编程语言会搞到什么时候。

LabVIEW

  6.编程效率极高

  最后,要谈谈图形化编程的最大特点。使用LabVIEW图形化编程的最大特点就是编程效率极高。关于图形化编程可以减少编程时间、缩短开发周期、降低开发成本等说法,已在很多介绍 LabVIEW的书中进行了表述,我不准备再进行复述。这里,从另外一个角度仅谈谈自己对这方面的体会。

  作为应用项目的设计开发者,通常的关注点是:设计的合理性和最终结果的正确性。当然,他们也会注意到编程过程的效率。实际上,减少编程时间、缩短开发周期、降低开发成本等大多都是从整体经济利益方面来考虑的。我个人认为:在提高效率这方面,人们往往忽略了“人——设计者”的效率得到提高这个要素。由于LabVIEW采用的是图形化编程的方法,所以大大降低了编程过程的复杂度,请看下图1中一个有效值测量的程序框图。这里仅仅使用几个VI就可以非常简单、迅捷的完成程序设计,实现分析和对结果的处理。如果在此基础上还要进行其它分析,比如:谐波分析、频率测量、功率谱分析等,最多就是再添加三个图标(VI),以及连接到相应的图形指示器和数字指示器。对于多通道测试几乎无须添加任何分析,仅添加几个通道VI而已。

LabVIEW

  图1连续有效值测量

  举这个例子要说明的问题是:图形化编程简单、方便、非常灵活的实现程序设计,立即运行就可以看到分析处理结果。特别是LabVIEW的即时编译能力,可以在编程的同时进行检查,及时发现错误代码。正是因为编程效率高,改动及替换方便,程序代码直易懂,所以会更加激发设计者的创造性思维及成就感,自然就会把设计工作重点放在如何更好的分析、处理上,而不是如何编程上。换句话说,当一个新的设计思想出现后,马上就可以得到实验验证或改进,甚至是边设计边改进。其它高级编程语言都不会如此的快速、方便(因为要写许多代码和进行编译后才能运行)。所以,我们说:增强设计者的创新效率和信心是LabVIEW不可忽视的内在特点,其价值是无法估量的。

  缺点:

  LabVIEW是图知形化编程语言,更直观,适合图形化仿真。Matlab是工具,其中仿真模块已经被LabVIEW收购。仿真的话使用LabVIEW更方便,直观,其自带的功能模块可以满足大部分的常道规仿真的需要。

  典型的应用就是工厂的控制系统尤其在汽车等全自动领域应用很广,LabVIEW主要是其自己研制的板卡兼容性很好,比如有些手机代理生产商使用回的测试手段基本上就是基于LabVIEW的板卡完成的,其次对串答口等接口也有很好的支持,就是那个大大的驱动程序包让人很头疼的。另外还不能跨平台;不同版本兼容性较差。

  LabVIEW类的动态类型处理

  1.父类使用自己的Method,连线默认为父类自己的控件

LabVIEW

  2.如果子类没有重写父类的Method,则子类使用父类方法时,直接创建出来即自己的数据类型

LabVIEW

  3.如果子类重写了父类的Method,则子类使用自己的Method,端子也是自己的

  4.如果孙类的调用链上对同一个方法重写,则使用的是距离最近的一个祖先方法,但是端子仍然是自己的类型

LabVIEW

  5.如果输入是动态调用的,而输出不是动态的,则最后的输出都是根祖先的数据类型

LabVIEW

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
gao123231 2020-05-13
1 回复 举报
看看                                               2条回复 收起回复
惯看秋月冬风 0
MATLAB的前车之鉴,LabVIEW到时候是否也会是被禁用的对象,据了解华为内部已经在去LabVIEW化,最近看到国产测试测量软件纳米软件的ATE-CLOUD智能云测试平台也是在去LabVIEW化,自助研发,自力更生,做科技自主创新的探路者,国内有这样的公司好样的。
惯看秋月冬风 0
软件功能确实强大,就是担心会不会跟MATLAB一样不让科研机构使用,随着国家之间科技力之间的竞争,还是需要居安思危意识

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分