1.概述
VXI总线自1987年推出以来,已成为仪器测试领域优秀的总线标准,保证了不同厂家VXI总线仪器模块级的互换性。为了使 VXI总线更易于使用,实现 VXI总线系统的互换性,并在系统级上使VXI总线系统成为一个真正开放的系统结构,NI,Tek,Racal等五家著名仪器公司于1993年9月成立了 VXI总线即插即用(VXIplug&play)联盟(简称 VPP联盟),随后发布了 VXI总线即插即用规范(简称 VPP规范)。
VPP规范是对 VXI总线标准的补充和发展,主要解决了 VXI总线系统级的软件标准问题。VPP规范制定了标准的系统软件结构框架,对操作系统、编程语言、I/O 程序库、仪器驱动程序和高级应用软件工具等作了原则性的规定,从而真正实现了 VXI总线系统的开放性、兼容性和互换性,进一步缩短 VXI系统的集成时间,降低系统成本。
目前 VPP联盟已制定了10个 VPP技术规范文件:
VPP1 章程文件
VPP2 系统框架规范
VPP3.1 仪器驱动程序结构与设计规范
VPP3.2 仪器驱动程序函数体规范
VPP3.3 仪器驱动程序交互式开发者接口规范
VPP3.4 仪器驱动程序编程式开发者接口规范
VPP4.3VISA 库
VPP4.3.2VISA 的文本语言实现规范
VPP4.3.3VISA 的图形语言实现规范
VPP4.3.4VISA 的 COM 实旋规范
VPP5VXI部件知识库规范
VPP6 安装与包装规范
VPP7 软面板规范
VPP8VXI模块/主机箱与接收器互连
VPP9 仪器厂商缩写规范
VPP10VXIplug&play图标规范与部件注册
2.VXI总线即插即用系统的特点
VPP规范提出的目的是解决生产厂家的 VXI系统的易操作性与互操作性问题,并提供给用户进行系统维护与再开发的能力,VPP的最大受益者是用户。符合 VXI即插即用规范的虚拟仪器系统,可简称为 VPP系统,它具有以下几个特点:
(1)系统性。VPP规范着眼的不仅仅是VXI仪器硬件模块与软件模块的设计,更注重整个结构化、模块化的虚拟仪器系统设计。图9.11为 VXI虚拟仪器系统结构框图。
其中,VXI仪器与其他各仪器一起,构成了虚拟仪器系统硬件结构。在这些仪器模块中,既可以是 VXI仪器、GPIB仪器、RS 232串行
通信仪器或 USB仪器等,也可以是消息基器件、寄存器 基 器 件、 存 储 器 基 器 件 等。I/O 接 口 软 件 VISA(VirtualInstrument SoftwareArchitecture)驻留于计算机系统之中,是计算机与仪器之间的软件层连接,它对于仪器驱动程序开发者来说是可调用的操作函数集。每个仪器模块都有自己的仪器驱动程序,它是应用程序实现对仪器控制的桥梁。自动测试系统应用程序通过人机界面操作完成特定的测试任务。I/O 接口软件、仪器驱动程序与应用程序自下而上构成了虚拟仪器系统软件。
(2)开放性。VPP不仅对仪器生产厂家是开放的,而且对于用户来说也开放,它不仅是VXI虚拟器系统的设计指导规范,也是 VXI虚拟仪器系统的应用指导规范。
(3)兼容性。VPP系统中的仪器可以是多种类型。为了达到新的测试目的,VPP系统的组建不需要将以前的测试系统完全抛弃,确保用户的投资在现在甚至将来也不被浪费。
(4)统一性。VPP系统中最核心的部分是提供了一个统一的I/O 接口软件(VISA)规范,从而为不同的软件在同一平台中运行提供了统一基础。在 VISA 基础上编写的仪器驱动程序以及软面板等也都成为了统一格式的标准模块,实现了仪器间的互操作性与互换性。
VPP的制定,为虚拟仪器系统的结构组建奠定了技术支持与指导,从而使组建一个统一的、开放的虚拟仪器系统成为了可能。VPP的出现,一方面是各种仪器总线发展到标准化要求的产物,另一方面也为新的仪器总线类型的产生与系统组建提供了理论与技术支持。
3.VPP规范的系统框架
为了实现虚拟仪器系统的互操作性与兼容性,真正实现虚拟仪器系统的开放性与统一性,在 VPP2中提出了系统框架的概念。
根据硬件平台、操作系统及语言风格的不同,VPP总共规定了10种系统框架,其中5种基本框架分别以其支持的操作系统命名,分别为 WIN,WIN95,WINNT,HP UX,SUN 系统框架,并在此基础上又分别派生出只采用 NI公司的图形化编程环境 LabVIEW 的系统框架,各在原基本框架名字前加上前缀G,即为GWIN,GWIN95,GWINNT,GHP UX,GSUN5种派生框架。
这10种框架结构也分别代表了当今流行的5种操作系统与2种语言 (文本语言与图形化语言)风格。当新的一种操作系统或语言风格成熟后,VPP也必将会考虑与之相对应的新的系统框架的规范标准。
组建一个 VPP系统,首先应根据实际需要与条件制约,选择一个合适的系统框架,然后再在这框架范围内选择必要的组成元素。在组建系统或设计模块时,必须完全符合一种以上系统框架的所有规范要求(有时模块设计可以同时满足多种框架规范),否则该产品将不是合格的VPP产品。
4.仪器驱动程序
在设计、组建自动测试系统中,仪器的编程是系统中最费时费力的部分。用户需要花费不少宝贵的时间学习系统中每台仪器的用户手册,并根据自己的需要一个个命令地编程调试。对于系统集成设计人员,不仅应是一个仪器专家,也应是一个编程专家,这大大地增加了系统集成人员的负担,使系统集成的效率和质量无法得到保证。仪器用户总是设法将仪器编程结构化、模块化以使控制特定仪器的程序能重复使用。因此,一方面对仪器编程语言提出了标准化的要求;另一方面需要定义一层具有模块化、独立性的仪器操作程序,即具有相对独立性的仪器驱动程序。人们将处理与特定仪器通讯的一层较抽象的软件定义为仪器驱动程序。仪器驱动程序是基于I/O 接口软件之上,并与应用程序进行通讯的中间纽带。
在 VPP规范中明确了仪器驱动程序的概念:仪器驱动程序是一套可被用户调用的子程序,利用它就不必了解每个仪器的编程协议和具体编程步骤,只须调用相应的一些函数就可以完成对仪器各种功能的操作,并且对仪器驱动程序的结构、功能及接口开发等作了详细规定。这样使用仪器驱动程序就可以大大简化仪器控制及测试程序的开发。VPP仪器驱动程序规范规定了仪器驱动程序开发者编写驱动程序的规范与要求,增强了系统级的开放性、兼容性和互换性。
VPP规范提出了驱动程序的外部接口模型和内部设计模型两个基本结构模型,VPP仪器驱动程序都是围绕这两个模型编写的。外部接口模型如图9.12所示,它表示了仪器驱动程序如何与外部软件的接口。内部设计模型定义了仪器驱动程序函数体的内部结构,如图9.13所示,内部设计模型对于仪器驱动程序的开发者和仪器用户来说都是非常重要的,因为所有VPP仪器驱动程序的源代码都是根据此设计模型而编写的,一旦用户理解了这一模型,并知道如何使用仪器驱动程序,就完全知道怎样使用所有的仪器驱动程序。
VPP仪器驱动程序的函数体主要由两个部分组成,一部分是部件函数,是一些控制仪器特定功能的软件模块;另一部分是应用函数,它们使用一些部件函数共同实现完整的测试和测量操作。
(1)部件函数。仪器的部件函数将仪器的功能分成不同的类,包括初始化函数、配置函数、动作/状态函数、数据函数、实用函数和关闭函数。
1)初始化函数。初始化函数是访问仪器驱动程序时调用的第一个函数,用于初始化软件连接,也可执行一些必要的操作,使仪器处于默认的上电状态或其他特定状态。
2)配置函数。配置函数对仪器进行配置,以便执行所希望的操作。
3)作用/状态函数。该函数使仪器执行一项操作或者报告正在执行或已挂起的操作的状态,这些操作包括激励输出信号或报告测量结果等。
4)数据函数。用来从仪器取回数据或向仪器发送数据。例如具有这些函数的仪器将测量结果传送到计算机,波形数据传送到任意波形合成器以及数据传送到数据信号发生器等。
5)实用函数。该函数包括许多标准的仪器操作,如复位、自检、错误查询、错误处理、驱动程序及仪器硬件版本信息,实用函数也可包括开发者自己定义的仪器驱动程序函数,如校准、存储和重新设定值等。
6)关闭函数。该函数是最后调用的,只是简单地关闭仪器与软件的连接。
在部件函数中,初始化函数、关闭函数以及实用函数是所有 VPP仪器驱动程序都必须包含的,属于仪器的通用函数部分,而配置函数、动作/状态函数以及数据函数是每个仪器驱动程序的不同部分,属于仪器的特定函数部分。
(2)应用函数。应用函数是一组以源代码提供的面向测试任务的高级函数,在大部分情况下,这些例行程序通过配置、触发和从仪器读取数据来完成整个测试操作。这些函数不仅提供了如何使用部件函数的实例,而且当用户仅需要仪器的单个函数接口而不是使用部件函数时,它们是非常有用的。应用函数本身是基于部件函数之上的。
5.I/O 接口软件 VISA
VISA,即虚拟仪器软件结构,是 VPP系统联盟制定的I/O 接口软件标准及其相关规范的总称。
随着 VXI总线技术的日益发展,当硬件实现标准化后,软件的标准化已成为 VXI总线技术发展的热点问题。而I/O接口软件作为VXI总线系统软件结构中承上启下的一层,其标准化显得特别重要,如何解决I/O 接口软件的统一性与兼容性,成为组建 VXI总线系统的关键。
在 VISA 出现之前许多仪器厂家在推出控制器硬件的同时,也推出了不同结构的I/O 接口软件,有的只针对某一类仪器,如NI公司用于控制GPIB仪器的NI-488及用于控制VXI仪器的NI-VXI,有的在向统一化的方向靠扰,如 HP公司的SICL——— 标准仪器控制语言,这些都是行业内优秀的I/O接口软件,但这些I/O接口软件没有一个是可互换的,针对某一厂家的某种控制器编写的软件无法适用于另一厂商的同类控制器。为了使预先编写的仪器驱动程序适用于任何情况,就必须有标准的I/O 接口软件以实现 VXI即插即用的仪器驱动程序在使用各个厂商控制器的 VXI系统中正常运行,这种标准也能确保用户的测试应用程序适用于各种控制器。作为迈向工业界软件兼容性的一步,VPP系统联盟制定了新一代的I/O 接口软件规范,也就是 VPP规范中的 VPP4.x系列规范,称为虚拟仪器软件结构(VISA)规范。
对于驱动程序和应用程序开发者而言,VISA 库函数是一套可方便调用的函数,其中核心函数可控制各种类型器件,而不用考虑器件的接口类型,VISA 也包含部分特定接口函数。这样,VXI用户可以用同一套函数为 GPIB器件、VXI器件等各种类型器件编写软件,而不必再学习不同厂家、不同接口类型的不同I/O接口软件的使用方法,并且因为 VISA 可工作在各厂商的多种平台上,可以对不同接口类型的器件调用相同的 VISA 函数,用户利用 VISA 开发的软件具有更好的适应性。
6.软面板规范
一***立的仪器,往往具有一个操作面板,用户可以通过操作面板上的旋钮、开关、按键等来控制仪器,或可以通过面板上的显示屏幕作为图形化输出(如示波器)。虚拟仪器的最大特点就是抛弃了传统的操作面板,仪器的操作与显示需借助计算机强大的计算与显示能力来实现,用户与仪器的交互界面变为由计算机软件实现,也即软面板。VXI总线即插即用系统联盟对软面板的设计提出了统一设计方法与规范,并将符合 VXI总线即插即用规范的虚拟仪器软面板简称为 VPP软面板。
软面板是一个特殊的测试应用程序,它为仪器模块提供一个替代前面板的控制接口,利用软面板可用人机交互方式控制仪器,如采用图形用户接口技术显示等效的旋钮、按键及控制器,用户通过鼠标或计算机键盘操纵这些控制接口,图形显示具有同传统前面板方式相似的测量结果和仪器状态。
在系统集成过程中,软面板可用于检验仪器的功能。当用户对仪器进行编程时,可以通过观察面板上的指示器和显示器来检验仪器是否被正确设置。当系统集成完之后,软面板可用于执行仪器功能,以便用户熟悉仪器的功能和特性。
因此,有了 VPP软面板,用户不必编写测试程序就可以检验仪器的通信和操作,并能大大减少组建和检验一个 VXI总线系统的时间。
7.VPP知识库文件
为了将VXI产品更有效地集成到虚拟仪器系统中去,VPP联盟定义了一种VXI产品的配置描述文件格式,这种文件格式类似于 WINDOWS环境下的系统配置文件(.ini文件),作用与专家系统中的知识库描述是一致的,故定义为 VPP知识库文件。VPP知识库文件描述的是VXI产品相关信息,为系统设计、系统集成与系统检验都可提供有用的帮助。在系统设计时,设计人员通过研究 VXI产品的知识库文件得到 VXI产品设计的参考知识,以便确定该产品是否满足所设计的系统要求;在系统集成时,又可以根据知识库文件提供的配置信息来正确配置产品;在进行系统检验时,通过对照知识库文件信息与当前配置情况,来检验 VXI仪器系统是否已经正确配置。同时,对于用户来说,通过阅读知识库文件也可以熟悉系统配置与 VXI产品的相关知识,从而可以正确地使用 VXI产品与维护 VXI仪器系统。在知识库文件描述的 VXI产品包括VXI仪器模块、VXI主机箱、VXI0槽模块等硬件产品,也可以包括仪器驱动程序、软面板、应用程序、应用程序开发平台等软件产品。
总之,VPP规范是 VXI仪器系统集成与接口技术的基本指导范本,一方面从系统的角度定义和描述了 VXI仪器系统的集成技术,另一方面从仪器的角度定义与描述了 VXI仪器设计技术,其中的关键是虚拟仪器软件结构与接口技术。无论是 VXI系统集成人员、模块设计人员还是 VXI系统或模块的用户,通过 VPP规范都将得到十分有用的信息与帮助。从体系上说,VPP规范的结构是完整的,但随着虚拟仪器技术的不断发展,它也处于一个不断发展与完善的过程中,VPP规范本身也提供了自我发展的接口机制,它是一个超越了仪器类型、系统环境等限制的产物。VPP规范不仅对于现在虚拟仪器及系统的设计有着重要的指导意义,同时也可对于将来的虚拟仪器及系统的设计指出了合理的设想。VPP规范已被越来越多的仪器生产厂家所遵循,必将成为自动测试领域的一个重要规范标准。
购线网 gooxian.com专业定制各类测试线(同轴线、香蕉头测试线,低噪线等)