时间,对于工程师而言,是多么多么的宝贵,这种宝贵普通人甚至完全无法体会。无论您是需要更快地采集数据,从而利用软件更精准地反映真实世界的信号、同步远程系统、还是仅仅更快速地完成您的工作,时间都是非常重要的。
数百万工程师和科学家可使用NI LabVIEW图形化编程环境,借由直观的图标和连线,开发复杂且类似流程图的测量、测试和控制系统。 它既能无可比拟地集成数千款硬件设备,也能通过上百个内置库实现分析和数据的可视化--两者都能创建虚拟仪器。 NI LabVIEW平台可在多种终端和操作系统中扩展,并且自1986年推出便成为行业。
作为图形化的编程语言,NI公司的LabVIEW软件有助于节省您的时间和编译G语言的时间。 图形化的编程方法可以让您只需关注数据以及对数据的操作,并且抽象出了诸如内存分配和语法规则等大量复杂的计算机编程工作,从而进一步提高您的工作效率。此外,LabVIEW也包括了的定时机制和应用程序API函数,来定义硬件和软件之间时间约束的参数和关系。
什么事NI LabVIEW,让我们来大致了解下它的功能
快速编程
图形化编程
无需编写多行文本, 而通过拖放式图形化功能块编程
数据流显示
借助直观流程图, 轻松开发、维护和理解代码
LabVIEW的硬件集成
I/O和通信
通过内置库和数千种仪器驱动, 连接任何仪器或传感器
即插即用的硬件
无缝集成NI即插即用设备, 包括:USB、PCI、PXI、Wi-Fi、以太网、GPIB等接口
内置分析和信号处理
内置分析
访问数千种工程专用函数, 如: 频率分析、曲线拟合……
在线信号处理
交互式测量; 对采获的信号进行实时在线分析
数据显示和用户界面
内置控件
通过数百个拖放式输入控件、图形和三维可视化工具, 与数据进行交互
自定义输入控件
轻松自定义内置控件的位置、大小和颜色, 或数秒内自行创建内置控件
多种终端和操作系统
桌面操作系统和实时操作系统
在Windows、Mac、Linux以及实时OS (如: VxWorks)上开发和复用代码
FPGA和微处理器
借助相同的图形化方法, 将各类嵌入式架构 (包括: ARM微控制器和FPGA)作为目标
多种编程方法
代码复用
在VI中使用文本代码、DLL,以及使用自带的或通过第三方软件创建的。m文件
各类设计模式
纳入更多运算模型 (如: 动态仿真图和状态图)
多核编程 (Multicore Programming)
自动多线程
更快地处理大量数据和复杂算法, 因为LabVIEW本身在多线程上运行
高亮显示执行过程
使用内置调试与视觉化工具轻松优化代码, 继而实现并行执行
数据存储和
为工程数据专门设计的文件I/O
支持多种文件类型,只关注数据本身,而无需转换数据格式
灵活的工具
借由采集的数据生成, 继而共享结果
软件服务、培训和支持
软件维护和支持
接受软件更新、获得世界一流的支持、查看随需应变的培训资源
了解NI服务项目的更多信息
培训与
通过各类培训和项目, 提升并和验证NI LabVIEW使用技巧
与LabVIEW用户的文件共享协作
论坛和文件共享
与超过110,000名活跃的LabVIEW在线用户合作, 获得需要的技术内容
技术支持网络
涉足包含LabVIEW用户组、产品合作伙伴和集成商的用户社区
LabVIEW版软件LabVIEW 2010,其显着的新功能就是针对各种时间实现的优化。的版本是整个软件平台的综合更新,包括直接被客户需求推动的新功能,新的FPGA IP模块,增强的定时和同步功能,以及改进的用于产生优化机器码的后端编译器,总体可提升高达20%的应用程序运行性能。

图1. 相比LabVIEW2009,LabVIEW 2010提升了高达20%的应用程序运行性能
本文将通过编译器的优化、内置的定时与同步以及用户自身提出的新特性,三个方面,为您全面介绍LabVIEW 2010.
编译器的优化
LabVIEW编译器在提升编程效率方面是一个关键的技术。编译器用于处理复杂的任务如内存分配和线程管理等,并在编辑时,当程序框图代码不可执行的情况下提供反馈给用户。终,复杂的编译器和优化线程解析您高层次设计并返回高效率的机器代码。
在过去的数十年中, 编译器已经愈加地智能化和化, 加入了内嵌法(inplaceness),类型传播法,聚丛法,虚拟寄存器,文本编译器优化以及其他来自于NI编译器研发者智囊团的智能化处理方法。无论是一个新增功能,修正漏洞,还是编译器的改进,每发布都引入了更新的编译器,让您的代码性能更优化。LabVIEW 2010版本关注的焦点之一就是VI 运行时的性能–也就是说,无需改变源代码本身,提升您的VI运行性能。
为了更快地提高您的代码执行效率同时无须更改您的代码,研发者引入了2个 "层"到编译器层次关系中。LabVIEW 2009 引入了数据流的中间代码表示(DFIR),一个高层次的架构用于转换从您的程序框图中产生的数据流驱动的图形化代码。 LabVIEW 2010加入了基于底层虚拟机(LLVM)的后端 ,提供了一种新的标准编译器的优化(图2) . DFIR和LLVM协同工作提供高层次和低层次的中间代码表示,以便于编译器使用中间代码细分和优化LabVIEW程序。 在LabVIEW 2010中,采用了中间代码表示意味着编译器优化线程并未影响实际的程序框图,但由于产生了优化的机器代码,这就为您的应用程序提升了高达20%的运行时执行效率。

图2. 全新的 LabVIEW 编译流程
LabVIEW 2010通过帮助您管理源代码和开发更多模块化的软件架构,提供了助力于大型应用程序开发这一新功能。 通过从LabVIEW编写出的源代码中分离出已经编译过的对象,LabVIEW 2010可以明显提高开发者的工作流程。 当这一新的VI属性选项设置打开时,一个VI在重新编译后并不显示为已经修改,除非开发人员修改了图形化的源程序;这就避免了重新保存和重新提交文件到源代码控制的需要。
新的打包项目库提供了更加模块化的软件设计和开发过程,更短的生成时间和更简便的部署方法。 LabVIEW打包项目库文件是一个新的LabVIEW文件类型,由一个项目库和所有涉及的子程序组合而成一个单独的文件。 导出的VI包含在这个文件中,就如同其它的VI保存为不带程序框图的形式,但是它们的层次已经完全被隐藏。它们遵循一个生成规范,现有的lvlib后缀文件被选择用于确定哪些VI正在被生成到打包的项目库中以及哪些VI是公共的或导出的。
内置的定时和同步
大部分计算机应用程序必须要满足和它们交互的计算机物理系统所需求的时间约束参数。如果您所使用的系统环境并没有一个明确的时间概念,您将会不大容易写出一个可以定时的程序。
幸运的是,LabVIEW拥有很多独特的处理时间的机制。举例来说,定时循环结构是在您的应用程序之中用于指定时间约束参数的一个定义很好的API函数节点。另外,您还可以使用定时循环来配置优先级,处理器分配,和定时源。您可以在一个单一的系统中或者在一个分布式实时系统的部分中实现多个定时循环之间的同步。
在LabVIEW 2010 中,引入了一种新的基于时间的同步技术,从而更进一步地扩展了LabVIEW应用程序的功能,使得LabVIEW可以将不同的LabVIEW实时目标平台通过标准的以太网实现同步功能。LabVIEW 2010已经合并了该软件IEEE 1588协议的执行情况作为定时循环的另一个定时源,从而提供了分辨率为1ms的时间。另外,为了控制定时的基源和功能,LabVIEW 2010 引入了一种新的内部定时机制,帮助您在多个定时分辨率中进行衡量。借助于定时循环,您所开发的代码从台式机处理器的ms级系统到带有FPGA背板处理器的ns级系统进行移植时可以保留相同的应用程序代码段。
社区驱动的新功能
LabVIEW社区对于您使用LabVIEW所能到达的成功程度具有深远的影响。 会员可以在NI论坛对他人提供技术支持,也可以上传范例代码到NI 开发者社区,以及/或者用户组。 另外,LabVIEW 社区对于LabVIEW2010产生了决策性的影响。
LabVIEW Idea Exchange–在2009年8月,NI 设立了LabVIEW Idea Exchange,这是一个产品反馈的论坛,通过连接LabVIEW社区和LabVIEW开发团队, 有助于确定每一个版本的新功能。 LabVIEW 2010包含了14个这样的功能,直接来源于社区会员的反馈。
的技术支持 – 社区同样也提供NI工程师日常处理的技术支持问题的反馈。鉴于LabVIEW常常是协同硬件使用的,常见的技术支持问题就是分布式硬件的配置。您可以在分布式硬件上安装新的基于网页的监测和配置实用工具,然后可以直接通过浏览器利用类似配置路由器的方式来配置您的硬件。您也可以监测性能和内存信息,文件浏览器,以及直接与实时操作系统(RTOS)的交互。

图3.基于网络的监测和配置实用工具简化了远程硬件的管理
LabVIEW开发的第三方附加软件 –为了加强第三方开发的附加软件的打包和发布功能,LabVIEW 2010 引入了很多的改进方法。 对于代码开发,可以直接使用LabVIEW Scripting, 即一个可以自动创建LabVIEW代码的可编程应用程序接口函数(API)。另外,授权和激活帮助开发者创建评估版的软件,并确保使用LabVIEW开发的附件工具包和应用程序在授权后正常使用。 对于打包生成一个附加软件,来自于JKI软件团队的VI打包管理器软件提供了一个流水线的打包过程,并紧密地集成了授权/激活的功能。
结语
LabVIEW 作为工程师与科学家们的编程语言,在20多年来不断地实现自我突破与进步,融合了前沿的商业可用技术,全新的2010版本进一步让您实现与时俱进,实现各种工程应用创新!
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。