文章详情

虚拟仪器将走向何方?

日期:2024-05-06 04:10
浏览次数:1563
摘要:

当1983年NI公司的开拓者们决定开始着手开发一款测量软件的时候,谁也没有想到由JeffKodosky领导的这群年轻人会在3年后推出一款划时代的**产品。今天,在LabVIEW1.0推出后的20年后,该技术依然保持着**的发展历程。2006年,NI公司推出了20周年纪念版LabVIEW8.20,并**次同步推出了包括界面、菜单、函数库、帮助文档等在内的全中文软件环境的中文版LabVIEW。而在不久前上海举行的一年一度的NIDays上,LabVIEW之父也令我们看到了虚拟仪器技术的未来发展蓝图。

回首历史

LabVIEW之父JeffKodosky谈到了刚开始起步时的情景。“在LabVIEW1.0发布之后,我们并不确定接下来会发生什么,但事情的发展的确出乎意料。”他说,当时既定的目标市场(纯粹的仪器控制领域)并不看重LabVIEW的出现。但购买和使用LabVIEW的用户却来自于测试测量、监控、建模到仿真等各行各业。受到LabVIEW图形化概念的启发,这些行业很快地开始尝试各种**的理念和具有挑战性的应用项目。

不过,新兴的应用需要更高性能,因此必须发明一种用于LabVIEW结构化数据流语言的编译器。Kodosky他们立即投入到LabVIEW2.0的开发。多功能模拟/数字插入式板卡被快速推出并打入了数据采集市场。但是由于编辑器和图形显示以及其他细节都需要重大改进,*后开发人们几乎是将全部代码重新写了一遍。并在时隔4年后才推出LabVIEW2.0。

“回顾这些,我们感到十分庆幸的是,由于当时的目标市场并不看重LabVIEW,反而没有让我们陷入在一个单一的领域,而且通过与更多领域工程师和科学家的接触、交流,让我们发现这个工具可以比预想的具有更强大的功能和更广泛的应用。”Kodosky说。

接下来LabVIEW便走上了持续**之路,并一直保持着高效、强大和开放这三个*基本的特性。1992年,支持Sun和PC的LabVIEW面世。而LabVIEW5在推出之时,就为多核设备预先设置了多线程功能。1999年,头个实时(RT)版本诞生。在LabVIEW7中,引入了波形数据类型。当FPGA出现时,NI在1997年展示了初步原型后,6年后才发布了**个LabVIEWFPGA。而LabVIEW8的出现则为分布式应用提供了支持。

8.20的新特性

一直以来,电子系统复杂度都在不断提高。为了在产品中集成更多的功能,人们必须在同一个项目中使用到不同领域的设计和仿真工具。通过添加MathScript功能,NI在这个20周年的新版本中赋予了工程师集成现有以及在MATLAB中创建m文件的能力。这使得他们在自定义开发应用系统时,除图形化数据流编程之外有了新的选择,可以选择文本编程方式、图形化方式或者是两者的结合。

具体而言,MathScript可以通过两种渠道发挥作用。一种是在MathScript交互式窗口中加载、保存、设计和执行m文件脚本。另外一种由于引入了**的“MathScript节点”概念,开发人员可以将自有的m文件脚本(文本数学命令)同图形化编程结合在一起。通过节点边界上定义已经命名的输入和输出,数据可以在图形化LabVIEW数据流编程和文本MathScript之间传送。

NI公司提供了数百个包括图形、图表、刻度盘和温度计在内的用户界面元素以供MathScript与其相连。该公司称:“使用MathScript*大的好处是从此可以方便地‘执行你的数据算法’,并同时充分利用虚拟仪器(VI)的优势。”其次,由于LabVIEW还包含了600多个图形化的VI程序信号处理、分析和数**算,这为使用MathScript节点插入m文件脚本提供了庞大的图形化数据库。另外,在MathScript节点中执行的m文件脚本可以使用在LabVIEW开发环境中普遍应用的硬件控制功能,从而简化了数据采集、信号生成和仪器控制任务。*后,开发人员还可以利用MathScript节点连接m文件脚本和外部软件/数据之间的接口——由于LabVIEW被广泛应用在各种应用和学科,与第三方设计和仿真工具连接非常重要,广泛的软件集成、运行库和文件格式是站在这些功能身后的强大支持。

此外,纪念版LabVIEW还在FPGA模块方面增加了新特性。包括用于DC/RMS均值、周期测量和巴特沃斯滤波器的IP以及FPGA向导,前者还可提供与第三方IP工具连接,而后者则能够用于设计FPGAI/O和时序,以创建自定义的智能数据采集设备。此外,DMA还赋予FPGA同主机间更加快速的数据流交换的特性。

此外,除了在实时模块、仿真模块以及嵌入式开发模块之间的改进外,值得一提的还有*新的射频和通信软件调制工具包。它包括了用于信号和比特流的产生、调制、编码、分析、可视化和通信信号等处理的软件。当然,其*大的特性就是包含了可下载的OFDM技术示例。

未来之路:图形化的系统设计平台

一个已被验证的规律是,任何一门计算机编程语言的寿命都不超过50年。LabVIEW已经走过了20个年头,接下来的30年它会朝着哪个方向发展?

“我们看到,不论在测试、设计还是控制领域,技术上的复杂性正在日益提高。工程师正在面临越来越多的压力。”NI中国市场部经理朱君表示,“他们需要一个新的平台,以简化各种复杂的技术,从设计到原型,从测试到验证,以及到*后的发布和制造。从而让他们变得*高效,*快地将产品投放市场,并*具竞争力。”

这个平台就是NI一直在推广的新概念,以LabVIEW为核心的图形化系统设计平台的概念。它的起点就是*新的LabVIEW8.20。“LabVIEW8.20已经形成了这个平台的初步雏形。”Kodosky表示,他指的是上文中提到的仿真工具和MathScript。

在LabVIEW8.0中已经出现了初步的仿真工具。不过其应用范围比较窄,仅有一些客户才能用到。新的LabVIEW8.20中,仿真工具已经成为一个完整的工具包。另外,MathScript的出现使得客户可以重新利用他们的自有代码。“这两点在设计中是非常重要的。它能将设计和测试联系在一起。”他强调。不过,或许还应该再加上一条,因为在随后关于FPGA的重要性阐述中,Kodosky指出,不同于单线程的C语言,并行LabVIEW和并行的FPGA的结合将推动LabVIEW未来的发展。

LabVIEW还在不断完善。多内核技术正在深入人心,LabVIEW早已开始支持多线程功能,不过,Kodosky希望在接下来能更进一步简化并行程序的构架。此外,尽管图形Diff在LabVIEW5中就已出现,但为了团队合作开发环境的需要,还需要完成合并求补运算。当然,在已经得到简化的分布式应用上,继续降低复杂性也是大势所趋。Kodosky透露,NI正在致力于研发一个伴随窗口(companionwindow),它可以显示项目的图解视图,包括描述项目组件之间的逻辑和物理连接。另外他还指出,尽管在定时循环和序列等新的结构上取得了很大进步,但LabVIEW在FPGA上要做的仍然有很多,对定时和触发的表述是主要研究重点。

尽管有可能无法取得*终的结果,但是NI仍然在不断进行**。Kodosky介绍了一个名为“自动程序框图验证”的研究,以期能将“正确性证明(correctnessproof)”加入到虚拟仪器程序框图源代码之中。用户可以通过名为定理模块的图形结构用正确性断言(correctnessassertion)来评注他的程序框图。用LabVIEW编译程序框图时,特定的插件把定理模块断言解析成逻辑形式的中间层,通过归纳试探法(inductionheuristics),插件程序能将对象级(object-level)程序框图和元层(meta-level)断言译为符合一阶数学逻辑的归纳证明法则(proofobligation)。然后证明法则被传递到一个试图得到证明的**定理证明器。

如果得到证明,则验证了程序框图与它的特殊定理相吻合。如果不能得到证明,则用户能得到关于定理中所缺少信息的提示或是程序框图中哪里出错的提示。用户能够在自己的设计中纠正错误,修改正确性断言,并引导定理证明器试图找到证明。

NI正在同德州大学Austin分校的科学家们共同开发这个项目。目前该项目还处于初级阶段。Kodosky表示,可能还需要很长时间该特性才会在LabVIEW中出现。