为了满足更快地革新和传递观念与产品这个不断增长的需要,科学家和工程师正转向先进的电子元件、处理器和软件。以现代的手机为例,大多数具有上一代的最新特性,包括音频、电话本和文本消息性能。新的版本包括摄像机、MP3播放器、蓝牙网络和因特网浏览功能。
由于设备变得越来越以软件为中心,所以先进的电子元件提高功能是可能的。工程师和科学家无需改变硬件就可以给设备添加新功能,这就造成了无需花费昂贵的硬件成本就可以提高观念和产品。这延长了产品的生命和使用期限并且减少了产品交付时间。工程师和科学家可以通过软件提高功能而不用为了一个特定的工作开发专门的电子元件。然而,这种功能的提高却付出了代价。升级的功能引入了不可见的相互作用或错误的可能性。因此,正如设备级的软件有助于快速开发和扩展功能一样,设计和测试仪器也必须改变以检验改进的性能。
满足这些需要的唯一方式就是利用测试和控制体系结构(也是软件为中心的)。由于虚拟仪器使用了软件、模块化I/O和商用平台,它使得仪器格外的符合保持与当今观念和产品开发同步的要求。
一、简介
使用虚拟仪器,基于用户需求的软件定义了通用目的的测量和控制硬件功能。虚拟仪器将主流的商用技术如PC和灵活性的软件以及广泛的测量和控制硬件结合到一起,因此工程师和科学家能够创建完全满足他们需要的用户定义的系统。利用虚拟仪器,工程师和科学家缩短了开发时间,设计出了更高质量的产品并且减少了设计成本。
1、虚拟仪器的技术特点
虚拟仪器技术通过提供一种建立测量和自动系统的崭新模型而得到主流的采用。它成功的关键包括迅速的PC发展,爆炸性的低成本、高性能的数据转换发展(半导体)以及系统设计软件的出现。这些因素使得虚拟仪器系统能够接近广泛的用户。
尤其是PC性能在过去的20年间增长了10000多倍。通过使用每个新一代的PC 处理器、显示和I/O总线分析测量和解决新的应用挑战,虚拟仪器充分利用了PC性能的提高。这些快速的发展,以及学校更早地开始专业技术和计算机知识的普及这一普遍趋势,都促成了基于计算机的虚拟仪器的成功应用。
虚拟仪器另一个驱动器是高性能、低成本的模拟—数字(ADC)和数字—模拟(DAC)转换器的发展。诸如无线通信和高清晰度视频的应用不断地影响着这些技术。当传统专有转换技术趋于缓慢发展时,商用半导体技术却趋于遵从摩尔定律——每18个月性能翻一番。虚拟仪器硬件使用广泛可得的半导体来提供高性能的测量前沿产品。
最后,提供了设计自定义仪器系统直观界面的系统设计软件进一步促进了虚拟仪器的发展。LabVIEW正是这类软件的一个例子。LabVIEW图形化开发环境提供了编程语言的性能和灵活性,以及专为测量和自动化应用设计的高层功能和配置功能。
2、虚拟仪器的核心——软件
任一虚拟仪器的核心就是灵活的软件,其中NI的LabVIEW是目前应用最普遍的虚拟仪器软件平台之一。LabVIEW是一个强大的图形化开发环境,用于信号采集、测量分析和数据显示,无需传统开发工具的复杂性就给予了编程语言的灵活性。自1986年NI引入适用Macintosh操作系统的LabVIEW以来,它就迅速且始终如一地吸引那些寻求一种高效且强大的编程语言来用于测试、控制和设计应用的工程师和科学家。今天,LabVIEW是数以千计的工程师和科学家首选的图形化开发环境。
虽然软件是每个虚拟仪器的核心,然而几乎所有的虚拟仪器都需要测量硬件精确地取得测量结果。由于独立于所选择的编程环境,所以虚拟仪器软件必须提供出色的与系统测量硬件的结合。NI的软件,包括LabVIEW,提供了与来自上千家第三方硬件厂商数以万计产品的开放式连接,如传感器、摄像机、执行器、传统仪器和插入式设备(USB、PCI等)。
二、虚拟仪器和传统仪器的比较
1、虚拟仪器和传统仪器的区别
虚拟仪器是由用户定义,而传统仪器的功能是固定的且由厂商定义。
每一个虚拟仪器都由两部分组成——软件和硬件。对于当前的测量任务,虚拟仪器的标价与具有相似功能的传统仪器相差无几,甚至比它少许多倍。然而,由于虚拟仪器在测量任务改变时具有更大的灵活性,因而随着时间的流逝,节省的成本不断累计。
通过不使用厂商定义的、预封装好的软件和硬件,工程师和科学家获得了最大的用户定义的灵活性。传统仪器把所有软件和测量电路封装在一起的产品提供给他们,这是以使用仪器前面板而损失一定固定功能作为代价的。而虚拟仪器则是提供完成测量或控制任务所需的所有软件和硬件。此外,利用虚拟仪器,工程师和科学家可以使用高效且强大的软件来自定义采集、分析、存储、共享和显示功能。
下面是实际中显现灵活性的一些例子:
(1)一个应用程序,不同的设备考虑这样一个特殊的例子,一位工程师正在实验室的台式计算机PCI总线上使用LabVIEW和M系列DAQ设备开发一个应用程序,以创建一个直流(DC)电压和温度测量应用。在完成了系统构建之后,他需要在一个生产层PXI系统上配置应用程序以完成新产品的测试。或者,他可能需要应用程序具有便携性,所以他选择了NI USB DAQ产品来完成任务。在这个例子中,无论是何种选择,在这三种情况下,他都可以仅在一个程序中使用虚拟仪器而无需改变代码。
(2)许多应用程序,一个设备考虑另外一个工程师,刚刚完成了一个利用最新的M系列DAQ设备和积分编码器测量电机位置的项目。他的下一个项目是监视和记录这个电机的功率。即使任务完全不同她也可以重用同样的M系列DAQ 设备。他所需要做的就是使用虚拟仪器软件开发出新的应用程序。此外,如果需要的话,项目既可以与一个单一的应用程序结合也可以运行在一个单一的M系列DAQ设备。
2、虚拟仪器和传统仪器硬件性能的比较
虚拟仪器的重要概念就是驱使实际虚拟仪器软件和硬件设备加速的策略。NI致力于适应或使用诸如Microsoft、Intel、Analog Devices、Xilinx以及其他公司的高投入技术。NI使用Microsoft在操作系统(OS)和开发工具方面的巨大投资。在硬件方面,NI基于Analog Devices在A/D转换器方面的投资。
由于虚拟仪器是基于软件的,所以基本上如果你可以对它数字化,就可以对它进行测量。因此,测量硬件可在两个坐标轴上观察,即分辨率(位)和频率。
3、虚拟仪器和传统仪器的兼容性
许多工程师和科学家都在实验室里将虚拟仪器和传统仪器相结合。除此之外,一些传统仪器提供了特定的测量,即工程师和科学家宁愿厂商定义而不愿自定义的测量。这就引出了一个问题,“虚拟仪器和传统仪器兼容吗?”
虚拟仪器无一例外地与传统仪器相兼容。虚拟仪器软件通常提供了与常用普通仪器总线相连接的库,例如GPIB、串行总线和以太网。
除了提供库之外,200多家仪器厂商向NI仪器驱动库提供了4000余种的仪器驱动。仪器驱动提供了一套高层且人工可读的函数以与仪器接口。每一个仪器驱动都专为仪器某一特定的模型而设计,从而为它独特的性能提供接口。
4、虚拟仪器和综合性仪器的区别
自动测试工业里一个基本的趋势就是向基于软件的测试系统的重大转变。例如,美国国防部(DoD)是世界上最大的自动测试设备(ATE)客户之一。为了减少测试系统的成本并提高重用率,DoD通过海军的NxTest计划已经确定:将来的ATE要使用建立在模块化硬件和可重复配置的软件之上的体系结构,称为综合性仪器。采用综合性仪器代表了将来军用ATE系统标准和规范的重大发展,并且反映出可重复配置的软件处于将来系统核心地位这一基本转变。基于软件测试系统的成功应用,例如综合性仪器,需要对硬件平台和市场上软件工具的理解,以及对系统级体系结构和仪器级体系结构之间区别的理解。
综合性仪器执行团体将综合性仪器定义为“一个可重复配置的系统,它通过标准化的接口连接一系列基本硬件和软件组件,从而产生信号或者使用数值处理技术进行测量”。这与虚拟仪器的许多性质相同,虚拟仪器是“一个软件定义的系统,其中基于用户需要的软件定义了通用测量硬件的功能”。两种定义享有共同的性质,即运行于商用硬件之上的可自定义软件的仪器。通过将测量功能转向用户可接触并可重复配置的硬件,那些采用这种体系结构的仪器从具有更大灵活性和可重复配置功能的系统中受益,而且这些系统反过来又提高了性能同时减少了成本。
三、虚拟仪器应用领域
1、虚拟仪器的发展
虚拟仪器技术一直在测试和测量领域广泛使用。而且,通过不断的LabVIEW革新和数以百计的测量硬件设备,虚拟仪器技术逐渐扩大了它所触及的应用范围。今天,NI率先将这一技术扩展到控制和设计部分。曾促进了测试发展的益处正开始加速控制和设计的发展。工程师和科学家不断提高对虚拟仪器的要求,以希望有效地满足世界范围的需要,他们正是这一加速背后的驱动力。
近来NI 加速测试、控制和设计创新的一个例子就是使用LabVIEW FPGA进行编程的基于FPGA的硬件。如果工程师需要一个新的硬件性能,如板载DSP,或者新的触发模式,您甚至可以在同样的软件中定义这种性能并且将它应用在板载的FPGA上。工程师和科学家一直可以通过使用LabVIEW和模块化I/O来创建高度集成的用户自定义系统,而现在他们也可以将可自定义配置能力扩展至硬件本身。这种用户可配置能力和透明度将会改变工程师建立测试系统的方式。
2、虚拟仪器给自动测试应用带来的益处
测试一直是虚拟仪器长期应用的领域。超过25,000家公司(大部分是测试和测量公司)使用NI的虚拟仪器。现在,许多公司都迅速地采用了具有高达200MS/s数字化性能的产品。PXI系统联盟拥有60多个成员,提供了数以百计的产品,而且数以万计的R&D、验证和产品测试工程师和科学家正在使用成千上万的仪器驱动。
而且,现在对于测试的需要越来越大。随着创新的步伐越来越快,希望新的不同的产品更快地进入市场的压力越来越大。消费者的期望在不断的增加。以电子市场为例,消费者要求不同的功能可以更低的成本在一个更小的空间得到集成。近年来经济的低迷并没有阻止革新的需要,但是却要求使用更少资源。满足这些需要是商业成功的一个因素——能够快速、一贯并且最可靠地满足这些需要的公司一定能在竞争中占有决定性的优势。
所有这些条件都驱使新的验证、检验和生产测试需要。一个能与创新保持同步的测试平台不是或有或无的,而是必需的。这个平台必须包含具有足够适应能力的快速测试开发工具以在整个产品开发流程中使用。产品快速上市和高效生产产品的需要要求高吞吐量的测试。为了测试消费者所要求的复杂多功能产品需要精确的同步测量能力,而且随着公司不断地结合创新以提供不同的产品,测试系统必须快速地调整以测试这些新特性。
虚拟仪器是对这些挑战的一种革新性解决方案。它将快速软件开发和模块化、灵活的硬件结合在一起从而创建用户定义的测试系统。虚拟仪器提供了:
(1)用于快速测试开发的直观软件工具
(2)基于创新商用技术的快速、精确的模块化I/O
(3)具有集成同步功能的基于PC的平台,以实现高精确度和高吞吐量
3、在控制和工业应用中使用虚拟仪器
PC和PLC在控制和工业应用中都发挥着十分重要的作用。PC带来了更大的软件灵活性和更多的性能,而PLC则提供了优良的稳定性和可靠性。但是随着控制需求越来越复杂,加速性能并同时保持稳定性和可靠性就成为公认的需要。
独立的工业专家已经意识到了对工具的需要,这种工具应该能够满足不断增长的对更加复杂、动态、自适应和基于算法控制的需要。PAC正是工业的需求也是虚拟仪器的回答。
一个独立的研究公司定义了可编程自动控制器(PAC)来解决这个问题。ARC研究机构的Craig Resnick将PAC定义成:
(1)多领域功能(逻辑、运动、驱动和过程)——这个概念支持多种I/O类型。逻辑、运动和其他功能的集成是不断增长的负责控制方法的要求。
(2)单一的多学科开发平台——单一的开发环境必须能支持各种I/O和控制方案。
(3)用于设计贯穿多个机器或处理单元的应用程序的软件工具——这个软件工具必须能适应分布式操作。
(4)组de facto网络和语言标准——这个技术必须利用高投入技术。
(5)开放式、模块化体系结构——设计和技术标准与规范必须是在实现中开放的、模块化的和可结合的。
PAC给PC软件的灵活性增添了PLC的稳定性和可靠性。LabVIEW软件和稳定、实时的控制硬件平台对于创建PAC是十分完美的。
4、虚拟仪器给设计带来的益处
使用各种软件设计工具的设计工程师必须使用硬件来测试原型。通常,在设计阶段和测试/验证阶段之间没有一个良好的接口,这就意味着设计必须经历一个完成阶段而后进入测试/验证阶段。测试阶段发现的问题需要不断反复设计阶段。
事实上,开发过程有两个完全不同且分离的阶段——设计和测试是两个单独的实体。在设计方面,EDA工具厂商承受着巨大的压力与不断增长的半导体设计和生产集团复杂要求相互作用。工程师和科学家要求随着产品从原理图设计到仿真再到物理层,EDA应具有从一个工具到其他的工具可重复使用设计的能力。相似地,测试系统开发正朝模块化方式发展。这两个世界之间的间隙在传统上一直被忽视,直到在新的产品原型设计阶段才第一次引起注意。传统上,这一阶段是产品设计者使用台式仪器将物理原型与他们的设计对照,进行完整性检查以获得正确性。设计者手工地进行测量,在他们的仪器上探测电路并监测信号以发现问题或性能局限。随着设计反复地经历建立-测量-调整-重建立这个过程,设计者再次需要同样的测量。此外,这些测量可能十分复杂——需要频率、幅值和温度自始至终地随所采集和分析的数据而变动。由于工程师注重于设计工具,所以他们不愿意学习如何将他们的测试自动化。
具有内在集成属性的系统容易扩展并且能适应不断增长的产品功能。一旦需要新的测试,工程师只需要简单地给平台添加新的模块以完成测量。虚拟仪器软件的灵活性和虚拟仪器硬件的模块化使得虚拟仪器成为加速开发周期的必需。
四、虚拟仪器软件问题
每一个虚拟仪器都建立在灵活和强大的软件之上,这是通过具有创新精神的工程师或科学家应用所在领域的专业知识来自定义测量和控制应用来实现。
虚拟仪器软件可以划分成几种不同的类别。大部分人马上想到就是应用软件层。这是为建立一个应用所需的首要开发环境。它所包含的软件诸如LabVIEW、NI LabWindows/CVI(ANSI C)和NI Measurement Studio(Visual Studio 编程语言)。在此之上是测试执行层,一个集成了应用程序层开发的所有功能并提供系统范围数据管理的环境。下一层通常被忽略但是对于维持软件开发效率却十分重要。测量和控制服务层包括与所有硬件通信的驱动。它必须能存取和保存硬件功能和性能,也必须是可交互操作的——它必须与所有其他的驱动和可能成为解决方案一部分的众多模块化I/O类型协同工作。
其中,LabVIEW是虚拟仪器的重要部分因为它提供了一个易于使用的应用程序开发环境,专门为工程师和科学家而设计。LabVIEW提供了许多强大的特性使得它与广泛的硬件和其他软件轻松连接。这一易于使用和其他特性提供了虚拟仪器软件开发环境所需的灵活性。结果就是用户定义的界面和用户定义的应用程序功能。
LabVIEW提供的众多强大特性之一就是图形化编程环境。利用LabVIEW,工程师和科学家可以通过在计算机屏幕上创建一个图形化的用户界面设计自定义的虚拟仪器。通过计算机屏幕,他们可以:
• 操作仪器程序
• 控制所选择的硬件
• 分析所采集的数据
• 显示结果
他们可以使用旋钮、按钮、表盘和图表自定义LabVIEW用户界面,或者前面板,从而仿效传统仪器的控制面板、创建自定义的测试面板或者可视化地表示过程控制和操作。
通过连接图标来创建方块图(对于工程师和科学家来说是自然设计符号)即可决定虚拟仪器的行为。利用图形化编程,工程师和科学家可以比通常的编程语言更快地开发系统,同时保持了创建各种应用程序所需的灵活性。LabVIEW是一个开放式环境,它包含了即时使用的库,从串行总线、以太网和GPIB通信到运动控制,数据采集和图像采集。
五、虚拟仪器硬件问题
1、虚拟仪器软件的硬件I/O和运行平台
I/O在虚拟仪器中发挥着重要作用。为了加速测试、控制和设计,I/O硬件必须快速适应新的观念和产品。虚拟仪器以在可扩展的硬件平台里的模块化的形式提供了这种能力。
NI模块化I/O涵盖了各种不同的I/O类型,因此工程师和科学家可以在众多种类中选择I/O,包括模拟、数字、计数/计时、图像和运动。模块化I/O也包括模块化仪器,例如示波器、仪表、任意波形发生器、LCR仪表等等。利用各种出色的I/O,工程师可以随意选择任意应用程序所要求的I/O类型。细心的工程师确保了这些不同类型的I/O可以无缝地一起工作,这意味着他们可以有效地共享底板和定时资源。
包含I/O的标准硬件平台对于I/O模块化十分重要。手提和台式电脑提供了一个出色的平台,在这个平台上虚拟仪器可以使用已有的大部分标准,如USB、PCI、以太网和PCMCIA总想。通过使用这些标准总线,NI可以致力于测量硬件革新同时从不可避免的PC平台革新中受益(例如,USB2.0和PCI Express)。
除了使用标准平台之外,NI作为65个厂商联盟的一部分,极力推动用于虚拟仪器的PXI硬件平台。PXI是一个建立在PC技术之上的模块化I/O标准。它在基于PC的体系结构上增加了集成定时和同步、工业稳定性和增强的通道计数。今天,为PXI平台而创建的1000余种产品正在世界范围内为数以千计的公司使用。
选择合适的平台来创建虚拟仪器依赖于特定的应用要求。例如,便携性、精确的同步和采集速率都在选择平台时起到作用。
2、通过新一代总线技术提高虚拟仪器的性能
与传统仪器相比,虚拟仪器利用了商业上可得的计算机技术进步来以更低的代价进行更快的、更高性能的测量。其中的一个例子就是利用PC数据总线。在仪器通信接口如串口和GPIB数十年几乎保持不变的时候,新的PC总线在带宽和易用性上提供了巨大的提高。从20世纪60年代中期开始,根据摩尔定律,PC处理能力几乎每18个月翻一番。现在,数据总线如PCI Express和USB 2.0正在速度上进行相似的跳跃。良好的虚拟仪器软件利用了这些最新的技术同时将对虚拟仪器应用的影响最小化。
32位、33MHz的PCI总线所提供的132MB/s的带宽仍然存在于大多数台式PC,这正好与10年前的插入式外设形成对照,但是现在可以被单一的设备所垄断,例如串行ATA驱动器。而且1G网卡—1000mb/s—使用了大约95%的可从PCI总线获得的带宽。PCI总线体系结构要求总线上所有的设备共享可得的132MB/s的带宽,因此高带宽设备如串行ATA驱动器和1G网卡将抑制PCI总线上的其他设备。为了弥补这些局限,一个成为PCI Express的新串行总线近来开始应用在新PC上。PCI Express保持了与PCI的软件兼容性,但是用高速(2.5Gb/s)的串行总线替代了物理总线。数据在被成为“信道”的发射和接收信号对以数据包的形式传送,具有大约单向每信道200MB/s的带宽。多信道可以结合在一起构成x1(乘1)、x2、x4和 x8的信道带宽,而且与总线上所有设备共享带宽的PCI不同,这个带宽是提供给系统中每个设备的。PCI Express给虚拟仪器带来的益处是显而易见的。插入式设备如数据采集设备和抓帧器可以利用提高的带宽来实现更快的采集和更高的吞吐量,而且多系统设备可从有保障的带宽可用性中受益。
现已作为所有新的台式和便携式PC上标准的USB 2.0也为虚拟仪器提供了显著的益处。最初时为诸如键盘和鼠标等外设与PC的连接而创建的USB迅速地成为普遍的标准,用来向PC和电子设备(包括数字照相机、MP3播放器甚至数据采集设备)中发送和接收数据。USB即插即用的特性使得可用性和设备的移动性十分简单。PC在一个新设备插入时自动检测,寻找设备识别,并且适当地配置所需的驱动。此外,USB是热插拔的,所以不同于其他数据总线,在添加或去除设备之前无需关机。与USB 1.1相比,USB 2.0的高速度提高了数据吞吐量,将带宽增加至480Mb/s。
所有的PC都装有USB 2.0端口,而且PCI Express正在成为一种全新的插入式总线标准。正如Intel、Dell、HP和其他厂商继续开发基于这些技术的系统和组件,规模经济将会继续提高性能并减少成本。虚拟仪器和NI产品将继续利用这些总线技术的发展来提供更低价格但更快速的测试和测量产品。
3、以太网对虚拟仪器的益处
虚拟仪器系统频繁地使用以太网用于远程测试系统控制、分布式I/O和企业数据共享。使用以太网的首要益处就是成本。几乎在所有的情况下,以太网都处于测量系统之上,所以通常它只给测量系统本身增添极少成本。以太网提供了一个低成本、适中吞吐量的方法来实现交换数据和远程控制命令。然而,由于基于数据包的体系结构,以太网不是确定性的而且相对高的等待时间。对于某些应用如仪器系统,缺乏确定性和高等待时间使得以太网成为集成邻近I/O模块的拙劣选择。这些情形最好使用专有总线如PXI、VXI和GPIB来实现。
通常,一个虚拟仪器系统使用其他总线与以太网配合。典型地,一个网络节点包含模块化I/O簇。每个簇使用高速、低等待时间的总线在不同I/O模块之间交换数据。为了与相邻节点通信、向远程地点传输数据或者从远程地点接受命令,网络节点使用以太网。
本文根据美国国家仪器有限公司(National Instruments)的《虚拟仪器白皮书》整理。进一步信息,请联系:
免费咨询电话: 800 820-3622
http://www.ni.com/china
Email:china.info@ni.com