基于VPP规范的VXI总线模块的软件开发
1.概述
VXIbus联合体在制定VXIbus规范时,成功地定义了基于VME总线的模块化仪器的标准。它定义了VXIbus兼容部件如主机箱、背板、电源和模块之间互联的电气、机械接口协议和模块间的通讯协议,这些协议能使来自不同厂商的产品组成系统。然而,VXIbus规范没有涉及系统级的软件标准,如选用何种操作系统、应用开发环境和编程语言,何种计算机,何种I/O软件接口,而这些产品的一些组合是不兼容的,这使得用户在设计、组建、编程和使用一个由计算机控制的仪器系统时,仍面临着许多问题。
为了最大限度地提供VXI总线系统级的易用性、多厂商开放式结构和互操作性,在1992年由多家仪器厂商成立了VXIplugplay系统联盟。plugplay意为“即插即用”。联盟通过制定一系列规范,即VPP规范系列,指导厂商和用户的活动,提供一个开放的、多厂商共享的系统结构,使系统软件元素的开发、使用标准化,并最大限度地提高软件的可重用性,减少系统开发周期,降低系统成本,使VXI总线产品能真正做到“即插即用”。
VPP-1为联盟的章程文件,介绍了VXI plugplay的目标、指导原则和核心技术,使得联盟能够迅速制定、公布以下标准。VPP-2为系统框架规范,定义了VXI plugplay系统中应用软件的工作环境,及VXI plugplay系统中所包含的软件元素,即仪器驱动器、I/O接口库、软面板、知识库和安装程序,并针对不同框架对系统软、硬件提出了要求。VPP-3—VPP-7分别为上述软件元素的目标、构成、特性和实现做了详细、具体的规范定义。VPP-8为VXI模块/主机箱至接收装置的互连规范。VPP-9为仪器供应商的缩写。VPP-10为VXI plugplay标识规范和成员注册。
2.基于VPP规范的VXI总线模块的软件开发
由于符合VXI plugplay规范的产品和服务会更容易集成到系统中,用户会尽可能地选择这样的产品。所以厂家应尽可能地提供符合VXI plugplay规范的产品。按照VPP规范,厂家在提供模块化仪器的同时,还要提供仪器驱动器、软面板、知识库和安装程序等软件。下面就结合数字电压表的开发,讲述一下上述软件的开发过程。
在开发上述软件模块时,采用了下面的顺序:
●选择系统框架
●开发仪器驱动器
●开发软面板
●开发知识库
●制作安装程序
2.1选择系统框架
在开发仪器驱动器、软面板、知识库和安装程序之前,首先进行了系统框架的选择。系统框架是上述软件模块运行的环境,由操作系统和应用开发环境所构成,VPP-2定义了十种系统框架,即WIN、WIN95、WINNT、SUN、HP-UX、GWIN、GWIN95、GWINNT、GSUN、GHP-UX。前五种是由它们所支持的操作系统命名的,而在这五种操作系统下使用LabVIEW的G编程语言作为开发仪器驱动器和软面板的环境,则构成了后面五种系统框架。这当中最受欢迎的应是WIN和WIN95框架,因为它们可视窗操作并支持众多的开发工具。在这两种框架下,VPP-2列出了六种应用开发环境LabWindows/CVI,LabVIEW,HPVEE,Microsoft Visual C++,Borland C++和Microsoft Visual Basic,可选用其中的任何一种作为开发仪器驱动器和软面板的工具。在本文中所举的例子都是在WIN95框架和LabWindows/CVI环境下开发的。
2.2开发仪器驱动器
仪器驱动器即仪器驱动程序,是厂家随模块提供给用户的一组驱动函数,它将工作于用户所选择的系统框架下,负责对仪器进行控制和通信。VPP规范的一个重要成果就是将仪器驱动器作为仪器的一个组成部分,由厂家提供,从而缩短了用户的程序开发周期。VPP-3定义了仪器驱动器结构,见图1。
仪器驱动器的结构包括外部接口模型和内部设计模型。
仪器驱动器的外部接口模型表示它如何与系统中其它软件模块接口。其中,交互式开发者接口即函数面板是对驱动器交互式调用接口;编程开发者接口的目的是在用户应用程序中使用驱动器;函数主体描述仪器的功用,即驱动程序的实际代码;I/O接口完成驱动器与仪器间的通信;子进程接口用于调用其它软件模块。
内部设计模型定义了仪器驱动器的内部结构。理解了这一模型,就知道如何设计仪器驱动程序。仪器驱动程序的函数主体包括两级:第一级是一组部件函数,它们是控制仪器特定功能的软件模块;第二级是一组应用函数,它们表示如何使用部件函数来完成面向应用的仪器操作。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码