每年一度的NIWeek都是National Instruments(美国国家仪器公司)发布其最新产品并对测试测量技术的未来方向进行预测的最佳时机。在本年度的NIWeek中,来自全球的3000多名工程技术和管理人员汇聚一堂,不仅见证了NI在测试测量的最新进展,而且正在逐步涉足和拓展控制和设计两大领域,实践着公司的远景目标,即为工程师和科学家们提供一个从设计、原型到发布的统一平台。
作为NI的旗舰品牌,labview图形化开发平台8.5版本的推出是本届NIWeek最大的热点,针对多核处理器、多线程处理、FPGA、PXI Express等器件和应用的层次得到全面的提高。可以说,LabVIEW除了图形化的本质,它最大的特点在于帮助工程师集成和采用现今飞速发展的现成商业技术,他们无需深入了解各种技术的细节,只要通过统一的LabVIEW平台,即可简化学习和应用的复杂度。
本文将重点介绍NI在NIWeek中所展示的技术突破以及其对测试测量、控制和设计行业将带来的影响。
图形化系统设计(Graphical System Design)的灵魂:LabVIEW 8.5
NI在30多年前将虚拟仪器技术(Virtual Instrumentation)的概念引入到测试测量领域,并取得了巨大的成功。时至今日,虚拟仪器技术已经不能完全涵盖NI在测试测量、控制和设计三大领域的内容,因此,虚拟仪器技术正在演进到一个全新的“图形化系统设计” 时代。在NIWeek中,NI总裁和CEO James Truchard博士在其题为“通过图形化系统设计方式提高生产率”的主题演讲中,对NI的核心图形化编程软件平台LabVIEW,的发展进行了总结和展望。
“一个可编程语言需要15年的时间才能被广泛接受。”Truchard博士曾于1986年在介绍LabVIEW时表示。在经历了20多年的发展后,LabVIEW已得到业界的广泛认同。在2007年的NIWeek中,他给出了LabVIEW新的发展方向:“在下一个30年中,将LabVIEW扩展到系统设计中。”他分析了软件由机器代码、汇编语言、C/C++、直至系统设计平台的发展必然性,指出了图形化系统语言在系统设计语言中的优势。“传统的语言在目前创新环境下面临终结,这是一个需要新语言的世纪,而LabVIEW已为这些要求做好了准备。”他强调。
最新推出的LabVIEW 8.5直接体现出了NI在图形化系统设计上的发展思路,支持多内核平台、进行多线程并行计算、增强可编程能力是LabVIEW 8.5的三个关键词。
图1:NI总裁和CEO James Truchard在主题演讲中阐述虚拟仪器的未来方向。
LabVIEW 8.5构建在NI已投资10年的多线程编程技术之上,通过直觉的并行数据流语言,简化了多内核与FPGA架构的应用开发。随着处理器制造商寻求并行多内核架构提升性能,运行在新的处理器上的LabVIEW 8.5能提供更快的测试吞吐量、更有效率的处理和分析能力、以及更为可靠的实时系统。
LabVIEW 8.5在以图形化语言集成了包括数据流、C代码、计算公式、仿真、状态表等高级设计模式的同时,也通过新的状态图设计模块(Statechart Design Module),使得LabVIEW平台进一步增强大型事件驱动项目的开发效率。而且在支持台式机平台、实时系统、FPGA以及微处理器等领域都进行了升级支持。
“工程师与科学家必须依赖个人电脑处理器、操作系统及总线技术的持续提升,以增加测量与控制系统的性能,”Truchard博士如是说,“通过向个人电脑上的多内核处理器的转变,LabVIEW程序员可通过简化的图形化方法,进行多线程的设计,并让工程师与科学家将多内核技术的性能最大化,而他们所要做的仅仅是稍微改变、甚至不需改变其相关应用。”
多内核与多线程并行计算提高处理能力
多内核处理器和多线程处理已成为目前计算领域的主流,LabVIEW 8.5的关键新特性之一在于对两者的支持。新一代多内核处理器的广泛使用使工程师与科学家开始考虑如何在多核的性能优势与传统基于文本的串行编成语言之间的平衡。通过LabVIEW天生的并行数据流语言,用户可轻松通过并行编程构架来编写多线程程序,并映射至多内核架构。以早期版本的自动化多线程功能为基础,LabVIEW 8.5根据可用的内核数量,调整线程总数(total number of threads),并提供增强的线程安全驱动程序与链接库,从而提升处理性能,减少使用多核处理器的复杂性。
LabVIEW 8.5也可通LabVIEW Real-Time环境,提供对称多线程处理功能,让嵌入式与工业级系统的工程师不需牺牲特定系统性能,即可跨多重内核自动下载平衡任务。利用最新版本的LabVIEW,用户可手动指派部份程序代码至特定处理器内核,以微调实时系统或将时间重要的程序代码隔离到专用内核。为了满足多内核开发时日渐增多的除错与最优化程序代码的挑战,工程师与科学家现在可以使用新的 NI Real-Time Execution Trace Toolkit 2.0,以真实地显示程序代码区段之间的时序关系以及正在执行程序代码的个别线程与处理内核。
“从1998年开始,我们已经在LabVIEW中集成了多线程执行引擎,可以不改变任何代码进行并行计算,并将其应用到多线程或多内核处理器中。这非常适合于我们今天所处的多内核世界中。”NI资深研发副总裁Tim Dehne对NI正确地把握了LabVIEW的发展方向感到自豪。同时,有着“LabVIEW之父”之称的NI创始人之一Jeff Kodosky表示:“在一个多内核机器中要使每个应用都更快速地运作就必须将代码重写为多线程程序,这是一个令业界生畏的任务。LabVIEW 8.5允许你继续你以前的工作,但同时享受多线程带来的好处。”LabVIEW将自动或手动将每个应用分解到多执行线程中,并对处理进行优化。
图2:NI虚拟仪器组建的RF测试系统。
FPGA增加仪器配置的灵活性
LabVIEW的固有并行机制也使之成为开发FPGA应用的理想平台。LabVIEW 8.5通过增强的PFGA模块,持续简化FPGA的编程设计任务。该模块可自动进行I/O 配置、IP开发、通用I/O的整体设定、计数器/定时器和编码器的应用。利用FPGA模块,工程师与科学家可自动产生更复杂的高速DMA数据传输程序代码。此外,LabVIEW 8.5提供多信道滤波功能与机器自动化中广泛需要的PID控制函数,从而大幅减少高信道数应用的FPGA资源。目前,NI和其合作伙伴可提供超过60个可应用于LabVIEW FPGA的IP内核和实例。
这种利用简洁的LabVIEW图形界面直接进行FPGA配置,并实现不同I/O功能的创新对于使用LabVIEW的用户来说无疑会带来很多益处,最重要的就是领域专家可通过LabVIEW平台利用FPGA技术而无需花费时间去掌握硬件设计知识或VHDL编程语言。在这个模块中,NI考虑到了用户在使用过程中的特定应用编程需求和有代表性应用的高效率IP,在易用性和器件利用率上都有所考虑和折衷。
目前NI在其部分功能卡中集成了3百万和5百万系统门的FPGA。在谈及到今后FPGA在图形化系统设计中的发展时,“NI是一家充满创新活力的公司,我们将会将FPGA的门数在明年扩充到9至11百万门。”Truchard博士表示。
“LabVIEW to the pin”的思想使LabVIEW FPGA的终极目标是实现“在LabVIEW中将I/O作为一个语言概念”。无疑,对FPGA的重视加上LabVIEW的图形化特性,将使NI产品的适用性和灵活性得以进一步加强。
增强大型事件驱动项目的开发效率
状态图一般用于设计状态机,以创建实时与嵌入式系统的行为模型,并描述数字通讯协议、机器控制器以及系统保护应用的事件发生与响应。LabVIEW 8.5增加了新的状态图模块,利用基于统一模式语言(UML)标准的类似的高阶状态图符号,可协助工程师设计并仿真这些基于事件的系统。
因为LabVIEW Statechart Module是以LabVIEW图形化编程语言为基础,工程师可用单一平台迅速地设计、原型制作及发布他们的系统,以运行在实时或基于FPGA架构系统上的实际I/O来组合相似的状态图符号。
兼容不同I/O,支持不同平台
同时,通过LabVIEW,工程师可把现有基于可编程逻辑控制器(PLC)的工业级系统与更先进的可编程自动控制器(PAC)集成在一起,并把高速I/O与复杂的控制逻辑增加到工业级系统之中。LabVIEW 8.5新增多种I/O阵列、测量与显示增强功能,适于建立基于PAC的工业级系统,包含可为LabVIEW用户扩充工业级连接的OPC驱动程序,几乎把可兼容的PLC与工业级设备的数量翻了一番。
LabVIEW 8.5还为工业级机器监控系统新增了振动与顺序追踪测量及机器视觉算法。对于高信道数的系统,新的多重变量编辑软件通过简单的数据表接口,可让用户轻松并快速地配置或编辑数百种的I/O标签。此外,最新版本的LabVIEW具有新的弹性管线显示工具,以简化现实工业级用户接口的创建程序;而其互动的拖曳方式可直接将I/O标签直接固定于用户接口显示器,这种接口显示器运行在基于Windows CE的工业级触控面板及手持式PDA上。
图3:基于LabVIEW平台的LEGO益智玩具。
LabVIEW的应用实例
图形化软件支持的系统易用性在NIWeek中得到完美体现的是由一个十岁的美国中学生Samuel Majors实现的。这位小小年纪的工程爱好者在2007年初开始接触LabVIEW,便能在数月后的NIWeek上成功地演示了他利用LabVIEW设计的电动玩具,实在让人叹为观止。另一个成功的例子是简化版LabVIEW在益智玩具品牌LEGO(乐高)中的广泛使用,这些智能化的玩具机器人不但将对开发少年儿童的智力起到积极的促进作用,而且NI与LEGO的合作更是为了着眼于下一代的工程师的培养,因为2020年代的工程师们现在正是在小学低年级阶段。
在NIWeek的主题演讲中包括了多个成功使用LabVIEW进行科研,设计和生产测量的数十种实例,包括:残疾人利用颈部声带发声(无语音)直接控制轮椅动作的设计,体现了LabVIEW的算法工程能力;工程人员利用麦克风多通道阵列测量大型飞机飞行噪声,并加以数据分析,展示了LabVIEW实时同步触发和并行测量性能的强大;DVD等电子产品大批量生产测量系统,表示了LabVIEW快速配置和高速数据处理的能力等。此外,还包括强调高速数据流处理能力的PXIe总线控制RAID存储阵列、以及表现FPGA模块配置灵活性的基于CompactRIO平台的医疗设备等。