《电子技术应用》
您所在的位置:首页 > 测试测量 > 解决方案 > LabVIEW2010是如何与时俱进的

LabVIEW2010是如何与时俱进的

2010-11-09
来源:电子产品世界

IP模块众所周知,对于工程师而言,时间在任何方面都是宝贵的因素。无论您是需要更快地采集数据,从而利用软件更精准地反映真实世界的信号、同步远程系统、还是仅仅更快速地完成您的工作,时间都是非常重要的。

作为图形化的编程语言,NI公司的LabVIEW软件有助于节省您的时间和编译G语言的时间。图形化的编程方法可以让您只需关注数据以及对数据的操作,并且抽象出了诸如内存分配和语法规则等大量复杂的计算机编程工作,从而进一步提高您的工作效率。此外,LabVIEW也包括了高级的定时机LabVIEW2010提升了高达20%的应用程序运行性能制和应用程序API函数,来定义硬件和软件之间时间约束的参数和关系。

LabVIEW最新版软件LabVIEW2010,其最显著的新功能就是针对各种时间实现的优化。最新的版本是整个软件平台的综合更新,包括直接被客户需求推动的新功能、新的FPGAIP模块、增强的定时和同步功能,以及改进的用于产生优化机器码的后端编译器,总体可提升高达20%的应用程序运行性能。

编译器的优化

LabVIEW编译器在提升编程效率方面是一个关键的技术。编译器用于处理复杂的任务如内存分配和线程管理等,并在编辑时,当程序框图代码不可执行的情况下提供反馈给用户。最终,复杂的编译器和优化线程解析您高层次设计并返回高效率的机器代码。

在过去的数十年中,编译器已经愈加智能化和优化,加入了内嵌法(inplaceness)、类型传播法、聚丛法、虚拟寄存器、文本编译器优化以及其他来自于NI编译器研发者智囊团的智能化处理方法。无论是一个新增功能,修正漏洞,还是编译器的改进,每一次发布都引入了更新的编译器,让您的代码性能更优化。LabVIEW2010版本关注的焦点之一就是VI运行时的性能—也就是说,无需改变源代码本身,提升您的VI运行性能。

为了更快地提高您的代码执行效率同时无须更改您的代码,研发者引入了2个“层”到编译器层次关系中。LabVIEW2009引入了数据流的中间代码表示(DFIR),一个高层次的架构用于转换从您的程序框图中产生的数据流驱动的图形化代码。LabVIEW2010加入了基于底层虚拟机(LLVM)的后端,提供了一种新的标准编译器的优化(图2)。DFIR和LLVM协同工作提供高层次和低层次的中间代码表示,以便于编译器使用中间代码细分和优化LabVIEW程序。在LabVIEW2010中,采用了中间代码表示意味着编译器优化线程并未影响实际的程序框图,但由于产生了优化的机器代码,这就为您的应用程序提升了高达20%的运行时执行效率。

LabVIEW2010通过帮助您管理源代码和开发更多模块化的软件架构,提供了助力于大型应用程序开发这一新功能。通过从LabVIEW编写出的源代码中分离出已经编译过的对象,LabVIEW2010可以明显提高开发者的工作流程。当这一新的VI属性选项设置打开时,一个VI在重新编译后并不显示为已经修改,除非开发人员修改了图形化的源程序,这就避免了重新保存和重新提交文件到源代码控制的需要。

新的打包项目库提供了更加模块化的软件设计和开发过程,更短的生成时间和更简便的部署方法。LabVIEW打包项目库文件是一个新的LabVIEW文件类型,由一个项目库和所有涉及的子程序组合而成一个单独的文件。导出的VI包含在这个文件中,就如同其它的VI保存为不带程序框图的形式,但是它们的层次已经完全被隐藏。它们遵循一个生成规范,现有的lvlib后缀文件被选择用于确定哪些VI正在被生成到打包的项目库中以及哪些VI是公共的或导出的。

 

 内置的定时和同步

大部分计算机应用程序必须要满足和它们交互的计算机物理系统所需求的时间约束参数。如果您所使用的系统环境并没有一个明确的时间概念,您将会不大容易写出一个可以定时的程序。幸运的是,LabVIEW拥有很多独特的处理时间的机制。举例来说,定时循环结构是在您的应用程序之中用于指定时间约束参数的一个定义很好的API函数节点。另外,您还可以使用定时循环来配置优先级,处理器分配,和定时源。您可以在一个单一的系统中或者在一个分布式实时系统的部分中实现多个定时循环之间的同步。

在LabVIEW2010中,引入了一种新的基于时间的同步技术,从而更进一步地扩展了LabVIEW应用程序的功能,使得LabVIEW可以将不同的LabVIEW实时目标平台通过标准的以太网实现同步功能。LabVIEW2010已经合并了该软件IEEE1588协议的执行情况作为定时循环的另一个定时源,从而提供了分辨率为1ms的绝对时间。另外,为了控制定时的基源和功能,LabVIEW2010引入了一种新的内部定时机制,帮助您在多个定时分辨率中进行衡量。借助于定时循环,您所开发的代码从台式机处理器的ms级系统到带有FPGA背板处理器的ns级系统进行移植时可以保留相同的应用程序代码段。

社区驱动的新功能

LabVIEW社区对于您使用LabVIEW所能到达的成功程度具有深远的影响。会员可以在NI论坛对他人提供技术支持,也可以上传范例代码到NI开发者社区,以及/或者用户组。另外,LabVIEW社区对于LabVIEW2010产生了决策性的影响。在2009年8月,NI设立了LabVIEWIdeaExchange,这是一个产品反馈的论坛,通过连接LabVIEW社区和LabVIEW开发团队,有助于确定每一个版本的新功能。LabVIEW2010包含了14个这样的功能,直接来源于社区会员的反馈。

社区同样也提供NI工程师日常处理的技术支持问题的反馈。鉴于LabVIEW常常是协同硬件使用的,最常见的技术支持问题就是分布式硬件的配置。您可以在分布式硬件上安装新的基于网页的监测和配置实用工具,然后可以直接通过浏览器利用类似配置路由器的方式来配置您的硬件。您也可以监测性能和内存信息,文件浏览器,以及直接与实时操作系统(RTOS)的交互。

为了加强第三方开发的附加软件的打包和发布功能,LabVIEW2010引入了很多的改进方法。对于代码开发,可以直接使用LabVIEWScripting,即一个可以自动创建LabVIEW代码的可编程应用程序接口函数(API)。另外,授权和激活帮助开发者创建评估版的软件,并确保使用LabVIEW开发的附件工具包和应用程序在授权后正常使用。对于打包生成一个附加软件,来自于JKI软件团队的VI打包管理器软件提供了一个流水线的打包过程,并紧密地集成了授权/激活的功能。

来源:JeffreyPhillipsNI产品经理,周斌NI中国技术市场工程师

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。