首页 » labview » 技术文章

LabVIEW 2011稳定性更强,效率更高

2014-01-14

核心提示:概要 每一个新版本的NI LabVIEW系统设计软件的发布都蕴含着许多开发者多年的努力。开发人员一方面开发出创新的功能,另一方面对
概要
 
每一个新版本的NI LabVIEW系统设计软件的发布都蕴含着许多开发者多年的努力。开发人员一方面开发出创新的功能,另一方面对现有的漏洞进行修复并提高稳定性,并且在两个方面要达到恰到好处的平衡。一般来讲,新开发出来的功能通常会在网页上、演讲中或者文章中高调宣布。但是,对于一些执行关键任务、产品级、或者关乎生命的LabVIEW应用来说,用户更应该关注软件的稳定性的提升或者漏洞的修复,而不仅仅是最新发布的功能。
 
 
目录
 
    
在过去的十年里,LabVIEW所应用的领域迅速扩展。随着于嵌入式控制器(例如FPGA和多核处理器)领域所取得的巨大进步,以及LabVIEW越来越多地被应用于大型、复杂、关键任务,对于LabVIEW的产品稳定性、代码有效性以及功能有效性的要求越来越高。因此,在LabVIEW的开发过程中,大多数的资源被用于改进产品的稳定性,以应对一些关键任务的严苛要求,并使得开发环境响应速度更好。这些努力的效果明显,体现在整个LabVIEW平台的方方面面。本文列举了一些NI R&D针对稳定性的提高所作出的改进,展示基准测试结果,并对LabVIEW 2011中用户所最关注的特性进行了讨论。
 
 
努力提高稳定性
 
NI通过一个纠正措施申请(Corrective action requests, CAR)数据库来追踪产品所发生的问题。以前,这些CARLabVIEW用户、合作伙伴甚至是内部开发人员通过网络上的NI论坛或者通过应用工程部门来提交。然后开发人员将这些问题划分优先级,进行追踪、维护并最终解决。一个LabVIEW CAR不必一定是导致软件崩溃的严重问题,它可以是产品所产生的任何问题,包括:文档、性能问题、错误的计算、外观的问题、未曾记载的错误,以及导致严重问题的软件崩溃或者响应中止。
 
 
追踪稳定性问题
 
没有调查就没有真相。NI R&D团队对LabVIEW的稳定性问题划分优先级,进行记录并予以改进。相比于在实验室内进行一些测试,追踪软件的稳定性增强或者减弱是一个耗时的过程。它需要收集用户提供的线索,和一些偶然事件以及定性的信息。然而,收集定量的信息从来都不是一件轻松的任务。NI一直关注用户论坛、在线讨论以及一些来自开发人员、市场人员和本地销售代表的一对一讨论,从而进一步确定问题所在。
图1展示了从2008年七月到2011年六月里,整个开发过程中所创建的CARLabVIEW的用户是CAR的主要提供者,而LabVIEW的开发团队则使用此数据库来追踪开发过程中所遇到的问题。可以看到其数字呈下降的趋势,这是因为对于一些新开发功能来说,所报告出来的问题较少。因此,NI开发人员可以花更多的是时间用于改进旧版本中的现存问题。
 
 
 
 
图1. 对于已经发布的四个版本的LabVIEW,其开发过程中所遇到的CAR的定量统计。
 
LabVIEW 2011还包括针对Linux和其它版本的Windows操作系统的自动测试套件,而且其中包含一些用户代码,用于帮助确定新版本的软件是否与这些操作系统存在冲突。
 
 
来自用户的反馈
 
LabVIEW冠军是一群高级的LabVIEW用户,他们与LabVIEW R&D团队密切协作,在整个开发周期内对软件功能的可用性以及CAR的修复划分优先级,并对LabVIEW进行大量的测试。在使用LabVIEW 2011 beta版本后,他们说道:
 
“对旧版本代码的兼容非常棒,以至于我都怀疑我使用的是否是一个新beta版本。”
– Urs Lauterburg,物理系,Bern大学,瑞士
 
“不好意思,这个beta版本对我的程序来说实在是好的有些过分,我找到的唯一一个漏洞也是我自己失误造成的。”
 – Albert GevenPhilips 研究中心,荷兰
 
“这个beta版本非常稳定。用户需要绞尽脑汁才能看到一些漏洞;即便如此,其中大部分也都是偶然事件。”
– Christian AltenbachUCLA大学Jules Stein 眼科研究院,美国
 
 
不只是稳定性
 
稳定性并非是唯一的焦点。改进整个LabVIEW平台在开发时的响应速度也非常重要。减少一些常规操作的响应时间,例如加载VI、打开属性对话框、加载帮助界面等,可以大大改进LabVIEW的开发体验。
 
LabVIEW 2011中,特别是在LabVIEW FPGA模块中,对此问题作了很多的改进。
 
 
LabVIEW
 
总的来说,针对一些影响LabVIEW启动和加载VI层次架构时间的因素都作了诸多改进。NI开发人员在9个不同的方面进行改进,以减少LabVIEW的冷启动时间。此外,作为包含所有NI核心函数库的vi.lib,默认将编译后的源代码和目标代码分别管理,从而缩短VI的加载时间。然而,这一改进所带来的时间上的缩减效果,直接取决于VI层次架构中有多少代码来自于vi.libNI 基准测试表明,与LabVIEW 2010相比,LabVIEW 2011加载vi.lib中整个层次架构内所有VI所需时间提高了2.5倍。表1中,即为LabVIEW 2011中加载时间缩减的一些示例。
 

 

特性
冷启动时间
冷启动时间改进(%)
热启动时间
热启动改进时间 (%)
图标编辑器
1.69
86.18
16 毫秒
73.33
LabVIEW范例查找器
6.70
56.38
2.02
35.46
波形图属性对话框
4.34
25.81
1.01
--

 

表1. LabVIEW 2011中加载时间的改进
 
 
LabVIEW实时模块
 
对于一些创新的工业和嵌入式应用来说,快速地、重复地执行程序非常重要。LabVIEW 2011实时模块中进行了一系列优化,用于减少在嵌入式硬件目标(例如:NI CompactRIO)上反复下载和运行代码所需时间。借助这一改进,你可以减少反复部署程序所需的时间,对于大型应用来说,只需几分钟时间即可完成,这对于以往的版本来说,减少了近70%
 
若要了解更多有关 LabVIEW 2011 实时模块所作改进,请阅读实时应用部署的改进一文。
 
 
LabVIEW FPGA 模块
 
在以往版本的LabVIEW中,如果LabVIEW FPGA VI中包含大量的元素,则进行一些常规操作时,例如加载、编辑、连线、保存等,都会非常耗时。同样,对于一些需要数字加密的应用来说,还需要处理器和FPGA之间在几个阶段分别进行的握手操作。在以往版本的LabVIEW中,包含大量主机界面元素的应用程序的响应速度非常差,以致无法正常工作。在LabVIEW 2011中,对这一接口的架构进行了优化,使得程序编辑过程中响应更灵敏,比之前快10倍以上。
 
若要了解更多有关 LabVIEW 2011 FPGA模块所作改进,请阅读NI LabVIEW 2011 FPGA开发环境性能提高5一文。
 
 
Beta版本测试
 
在每一个版本的LabVIEW中,NI都会进行大范围的beta公测,其间LabVIEW用户和合作伙伴可以获得一个稳定的beta版本的软件,并用以开发、测试或者升级他们的程序代码。Beta测试计划包含一个论坛,用户可以与开发人员针对一些关键特性进行沟通,与其它beta测试者讨论,并提供反馈意见,使得最终推出的LabVIEW能够最大限度地满足工程领域的实际需求。
 
 
NI错误报告器(NI Error Reporter, NIER)
 
虽然LabVIEW 2011比以往的版本更加稳定,但是它依然有可能意外崩溃。一旦出现这种状况,NI R&D需要知道崩溃发生的时间和原因。当发生软件崩溃时,NIER将会自动收集信息并创建一个详细描述出错原因的报告发送给NI,用于进一步的调查。NIER还提供可以选择报告导致出错的操作步骤并附带程序代码,由此NI可以更快地找到解决方案。发送给NI的报告的副本将保存在本地计算机中的LabVIEW Data文件夹中。
 
 
图2.为错误报告添加描述和代码,可以帮助NI更快找到解决方案。
 
除了所生成的错误报告以外,NIER还将为软件崩溃显示出响应的一个错误代码,你可以使用此代码在NI网站上搜索更多的信息。NIER所收集的信息将用于提高此问题的优先级,从而NI可以在后续的版本的LabVIEW中优先解决此问题。
 
 
CAR的优先级
 
在过去,CAR的优先级主要取决于以下三个方面因素:是否存在处理方法,对用户的潜在影响,以及解决此问题所需的时间。例如,LabVIEW的版本发布周期是一年,针对一个问题找到一个解决方案所需的时间将直接影响到这一方案是在下一版本中得到应用还是推迟到未来的版本。这三个方面的因素在决定一个CAR的优先级时同样重要。言归正传,NIER可以提供额外的信息,帮助确定有多少用户受到某一问题的影响。此外,一个问题给用户所造成的潜在影响的大小对于是否开发一个修复方案来说越来越重要。
 
 
最受关注的技术支持问题
 
每一年,NI都会通过分析应用工程部门所接到的电话统计以及论坛和LabVIEW社区中的用户反馈来追踪用户所遇到的挑战。对于一些反复需要较长时间和较多资源来解决的问题将被确定为最受关注的技术支持问题。对于这些问题,NI将予以额外的关注并提供解决方案,以提高LabVIEW的性能。在LabVIEW 2011中,借助于所收集到的详细反馈信息,NI针对应用程序生成器的性能进行了改进,并改善了部署更新时的操作体验。此外,LabVIEW开发人员添加了一个新的工具,用于展示LabVIEW内存当中所加载的.NET程序。在LabVIEW 2011将解决用户最常遇到的支持问题一文中,详细地描述了这些特性。
 
 
NI一直注重倾听用户的意见
 
National Instruments一直注重倾听那些使用NI产品的工程师们的意见,并着手解决问题。若有一个NI的老板说:公司成功与否掌握在用户手中,那么你应该相信他。在新发布的LabVIEW 想法交流论坛中,用户可以对LabVIEW需要哪些新特性提出建议(目前为止, R&D部门已经采纳并应用了其中25条新特性),可以说用户的反馈比以往更受到重视。与新添加特性同样重要的是,用户通过告知NI在使用LabVIEW过程中有哪些不便之处或者有待提高之处,可以帮助NI进一步改进产品。
 
目前,LabVIEW 2011已经发布,更多的改进将在LabVIEW 2011 Service Pack 1补丁包和LabVIEW 2012中实现。补丁包的发布将继续针对那些发生数量较多、影响较大的漏洞进行修复,而下一个版本的LabVIEW则继续着眼于产品的稳定性、编辑响应速度、以及其它可以帮助用户提高效率的特性。浏览ni.com/beta,参与到LabVIEW 2012的开发中来,这样你就可以影响未来LabVIEW的稳定性。
 

相关新闻

排行榜