第九章虚拟测试系统第九章虚拟测试系统虚拟仪器的基本概念虚拟仪器的硬件9.2虚拟仪器的软件9.19.39.4虚拟仪器的应用第九章虚拟测试系统现代汽车测试仪器仪表技术是计算机技术和多种基础学科紧密结合的产物。随着微电子技术、计算机技术、软件技术、网络技术的飞速发展,新的测试理论、测试方法、测试领域以及新的仪器结构不断出现,在许多方面已经冲破了传统仪器的概念,电子测量仪器的功能和作用发生了质的变化。在此背景下,1986年美国国家仪器公司(NationalInstruments,NI)开发出了虚拟仪器。虚拟仪器(VirtualInstrument,VI)是现代计算机技术和仪器技术深层次结合的产物,是当今计算机辅助测试(CAT)领域的一项重要技术。9.1虚拟仪器的基本概念所谓虚拟仪器,是在通用计算机为核心的硬件平台上,用户设计定义可视化虚拟面板,测试功能由计算机上的测试软件和硬件来实现的仪器系统。使用者用鼠标或键盘操作虚拟面板进行测量操作,就如同使用一台专用测量仪器。虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达检测结果,利用计算机强大的软件功能实现数据的运算、分析和处理,利用I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机仪器系统。“虚拟”主要包含以下两方面的含义,即:虚拟仪器的面板由软件编程来实现的虚拟仪器测量功能1、虚拟仪器的面板虚拟仪器面板上显示的各种“控件”与传统仪器面板上的各种“器件”所完成的功能是相同的。如由各种开关、按键、显示器等实现仪器电源的“通”、“断”,被测信号“输入通道”、“输出通道”、“放大倍数”等参数设置,测量结果的“数位显示”、“图形显示”等。用户不必设计,只要选用代表该种软件程序的图形控件即可,通过计算机的鼠标或键盘来对其进行操作。因此,设计虚拟仪器面板的过程就是在面板设计窗口中摆放所需的控件,然后编写相应的程序。大多数初学者可以利用虚拟仪器的软件开发工具,如LabWindows/CVI,LabView等编程语言,在短时间内轻松完成美观而又实用的虚拟仪器面板的设计。2、由软件编程来实现的虚拟仪器测量功能在以PC为核心组成的硬件平台支持下,虚拟仪器不仅可以通过软件编程设计来实现仪器的测试功能,而且可以通过不同测试功能的软件模块的组合来实现多种测试功能。3、虚拟仪器的构成及其分类虚拟仪器由两大部分构成,即:通用仪器硬件平台(简称硬件平台)应用软件1、通用仪器硬件平台1)计算机一般为一台PC机或工作站,它是测试硬件平台的核心。2)I/O接口设备它主要完成被测输入信号的采集、放大、模/数转换。根据采用的总线及其相应的I/O接口硬件设备(如利用PC机总线的数据采集卡板(DAQ)、GPIB总线仪器、VXI总线仪器模块、串口总线仪器)等的不同,虚拟仪器的构成方式有PC—DAQ系统、GPIB系统、VXI系统、PXI系统、串口系统等5种类型。PC—DAQ系统它是以数据采集板、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统主要采用PCI或ISA计算机本身的总线,故将数据采集卡/板(DAQ)插入计算机的空槽中即可。GPIB系统以GPIB标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。VXI系统以VXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。PXI系统以PXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。串口系统以serial标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。2、软件结构应用程序I/O接口仪器驱动程序1)应用程序实现虚拟面板功能的前面板软件程序定义测试功能的流程图软件程序2)I/O接口仪器驱动程序I/O接口仪器驱动程序完成特定外部硬件设备的扩展、驱动与通信。开发虚拟仪器需用到合适的软件工具,目前的虚拟仪器软件开发工具有如下两类:①文本式编程语言,如visuaIC++、VisualBASIC、labWindows/CVI等;②图形化编程语言如LabvIEW、HPVEE等。这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。3、虚拟仪器的特点软件是虚拟仪器的核心虚拟仪器的性价比高仪器厂商与用户之间的距离小虚拟仪器具有良好的人机界面虚拟仪器具有和其它设备互联的能力虚拟仪器的硬、软件具有开放性、模块化、可重复使用及互换性9.2虚拟仪器的硬件虚拟仪器的硬件平台由计算机和I/O接口设备两部分组成。I/O接口设备主要执行信号的输入采集、放大、模/数转换的任务。对于单台的虚拟仪器而言,系统所涉及的I/O接口设备是数据采集卡;对于多台虚拟仪器组成仪器测量控制系统,所涉及的I/O接口设备为总线,常用的总线类型有GPIB/GPIB488.2总线、RS232总线、VISA总线和VXI总线。一、PC-DAQ方式以PC机为基础的虚拟仪器中,通过插入数据采集卡获取数据,在虚拟仪器中又称为PC-DAQ(DataAcquisition,数据采集)卡式仪器。其功能是将现场数据采集到计算机,或将计算机数据输出给受控对象。用数据采集卡配以计算机平台和虚拟仪器软件,便可构成各种数据采集控制仪器系统,如信号发生器、电路和器件测试仪等。目前,DAQ技术主要应用于高采样速率及直接控制方面。二、串口通讯串口通信采用的是RS-232通用串行总线,最初用于数据通信,随着测控技术的发展,许多测量仪器都带有RS-232串口总线接口。通过RS-232串口总线与PC计算机组成虚拟仪器系统,适用于速度较低的测试系统。与其他总线相比,它的接口简单,使用方便。三、GPIB总线GPIB(GeneralPurposeInterfaceBus)可以把各种可编程仪器与计算机紧密地联系起来。GPIB的硬件规范和软件协议先后被纳入两个国际工业标准:ANSI/IEEE488.1和ANSI/IEEE488.2。通过GPIB接口,可以将若干台基本仪器和计算机搭成积木式的测试系统,在计算机的控制下完成复杂的测量。GPIB仪器系统可以利用计算机增强和扩展传统仪器的功能,组成大型柔性自动测试系统,技术易于升级,维护方便,仪器功能和面板自定义,开发和使用容易。四、VISA总线在早期的虚拟仪器中,I/O接口设备驱动控制软件的开发没有统一的规范。不同类型或不同厂家生产的I/O接口设备都必须专门来设计其驱动程序。为了推动虚拟仪器软件标准化的进程,VXIpIug&play联盟于1996年完成了对VISA规范的开发工作,并将各个函数的原型以标准的形式发布。API(ApplicationProgramInterface)是应用软件开发接口,实质是一组函数集,通过它可以直接访问计算机的硬件设备。VISA是用于虚拟仪器系统标准的API。VISA本身不具备编程功能,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程。其层次如下图所示。五、VXI总线VXI是一种高速计算机总线——VME(VMEbusExtensionforInstrumention)在仪器领域的扩展。由于它的标准开放,结构紧凑,具有数据吞吐能力强、定时和同步精确、模块可重复利用等优点,在近十年时间内,VXI规范不断完善和发展,迅速在仪器测量和工业控制等领域应用开来,表现出很强的发展潜力。1993年由多家公司组成VXIplug&play系统联盟,致力于来自各厂商的VXI模块的规范化,为最终用户集成VXI系统提供最大的便利。6、PXI总线PXI总线是NationalInstruments公司1997年下半年推出的总线标准,并作为开放式规范提供仪器业界使用,对模块式测量仪器有着重要的影响。PXI总线与VXI总线有很多相似之处,同时又具有不少自己的特点。VXI总线是VME计算机总线的仪器扩展,PXI总线是PCI计算机总线的仪器扩展,它是PCIeXtentionforInstrumentation(PCI仪器扩展)的简写。PXI总线综合了计算机总线(VME和PCI)、插件(compactPCI)、软件(Windows98和NT)以及仪器总线(GPIB和VXI)和开发工具等方面的特点,具有坚实的硬件、软件基础。PXI总线把PCI计算机外设总线与专用仪器总线结合在母板上。使机箱能够安装PCI微机和PXI仪器模块。机箱有11个插槽,左边3槽接系统控制器或系统扩展器。右边7槽接仪器模块,中间还有1个系统控制器插槽。模块尺寸有3U和6U两种。3U只有一个PCI接口,而6U可有两个PCI接口。PXI总线的仪器专用总线有时钟、本地、触发、电源等4种。机箱电源功率300w,有良好通风和电磁屏蔽,可在苛刻的环境运行。9.3虚拟仪器的软件在虚拟仪器技术中,软件是实现仪器功能的关键因素,能否方便快捷地设计出界面友好、功能强大的虚拟仪器软件,直接关系到仪器功能的实现和仪器的性能的好坏。使用传统的编程语言,如C语言、VisualC++、VisualBasic等,虽然可以编出比较友好的用户界面,但数据采集、按钮、指针、曲线显示等仪器所需的功能模块的编程非常烦琐,不易开发。因此,现在大多采用专用的虚拟仪器设计软件来开发用户应用程序,目前应用较多的有美国NI公司开发的LabWindows/CVI、LabVIEW等虚拟仪器专用开发软件。这些软件中不仅包括诸如菜单、对话框、按钮和图形这样的通用用户接口属性,而且还有像旋钮、开关、滑动控制条、表头、可编程光标、纸带记录仿真窗和数字显示窗等虚拟仪器应用接口属性。一、文本式编程软件LabWindows/CVILabWindows/CVI是NI公司提供给用户的虚拟仪器软件之一,它是用户开发数据采集、仪器控制及自动测试和过程监控的一个开发平台。它采用标准的C语言格式,将功能强大、使用灵活的C语言开发平台与用于数据采集、分析和表达的测控专业工具有机地结合起来。LabWindows/CVI借助自动编码产生工具和易于使用的GUI开发工具来提供一种交互环境,它包含有强大的仪器库、32位ANSIC编译器、连接器、调试器、编辑器等。1、LabWindows/CVI的功能LabWindows/CVI可运行于Win95/Win98/WinNT/Win2000/WinX/UNIX等系统,包含大部分基于Windows风格的软件技术,具有像VB一样丰富的控件回调功能,并有极强的数据处理、数据分析功能。同时还提供了多种总线通信控制和网络传输控制协议接口库。2、LabWindows/CVI的特点1)将数据采集、数据分析以及数据表达一体化,这样就不必为完成数据处理不同阶段的任务而辗转于不同软件中。2)实现对GPIB、VXI、RS-232和数据采集卡等硬件的有效控制,从而使其与硬件的接口变得十分简单。由于LabWindows/CVI对数据采集卡驱动非常方便,因此它使得实验或测试的数据可以实时显示。3)提供了可交互使用的高级分析库函数达150多个,其中包括信号处理、曲线拟合、数字滤波、统计分析、数值分析及一维、二维数组操作的函数。在此开放的开发环境下,可将需完成的特殊功能自行编制成函数加入仪器库函数,并能编译成32位DLL,供与其兼容的其他软件随时调用。4)支持“所见即所得”的可视化交互技术,具有灵活多样的数据显示方式,使用功能强大的图形用户接口(GUI),很容易建立起符合要求与习惯的数据显示模式和数据表达框架。为此可以更多地采用图形化显示方式,使得数据变化情况直观明了。二、图形化编程软件应用软件最流行的趋势之一是图形化编程环境。最早应用图形化编程技术开发虚拟仪器始于NI公司1986年推出的LabVIEW软件包。目前面市的图形化虚拟仪器框架有NI公司的LabVIEW和HP公司的VEE。9.4虚拟仪器的应用虚拟仪器系统开放、灵活,可与计算机技术保持同步发展,将之应用在测试方面可以提高测量精确度,降低成本,并大大节省用户的开发时间,因此在现代汽车测试领域得到了广泛的应用。VXI仪器是目前高端测试领域中较为常用的一类仪器,基于VXI的虚拟仪器是虚拟仪器的重要组成部分。本节将以一个