仪器驱动器-自动测试系统课件_第1页
仪器驱动器-自动测试系统课件_第2页
仪器驱动器-自动测试系统课件_第3页
仪器驱动器-自动测试系统课件_第4页
仪器驱动器-自动测试系统课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动测试系统仪器驱动器自动测试系统仪器驱动器1VXI总线即插即用规范的提出VXI总线测试平台是公认的21世纪仪器总线系统和自动测试系统的优秀平台,自1987年推出以来,已成为仪器测试领域的总线标准。为了使VXI总线更易于使用,实现VXI总线系统的互换性,并在系统级上使VXI总线系统成为一个真正开放的系统结构,NI等著名仪器公司于1993年成立了VXI总线即插即用联盟(VXIplug&play),简称VPP联盟,随后发布了VXI即插即用规范。VXI总线即插即用规范的提出VXI总线测试平台是公认的21世2VXI总线即插即用规范的提出VPP是对VXI总线标准的补充和发展,主要解决了VXI总线系统级的软件标准问题。VPP规范制订了标准的系统软件结构框架,对操作系统、编程语言、I/O程序库、仪器驱动程序和高级应用软件工具等作了原则性的规定,从而真正实现了VXI总线系统的开放性、兼容性和互换性,进一步缩短了VXI系统的集成时间,降低了系统成本。VXI总线即插即用规范的提出VPP是对VXI总线标准的补充和310个VPP技术规范文件目前VPP联盟已制订了10个技术规范文件:VPP1章程文件VPP2系统框架规范VPP3.1仪器驱动程序结构与设计规范VPP3.2仪器驱动程序函数体规范VPP3.3仪器驱动程序交互式开发者接口规范VPP3.4仪器驱动程序编程式开发者接口规范VPP4.3VISA库10个VPP技术规范文件目前VPP联盟已制订了10个技术规范410个VPP技术规范文件续VPP5VXI部件知识库规范VPP6安装与包装规范VPP7软面板规范VPP8VXI模块、主机箱与接收器互连VPP9仪器厂商缩写规范VPP10VXIplug&play图标规范与部件注册下面主要介绍VPP3仪器驱动器10个VPP技术规范文件续VPP5VXI部件知识库规范5仪器驱动程序的由来在设计、续建自动测试系统时,仪器的编程是一个系统中最费时费力的部分。用户需要花较多的时间来学习系统中每台仪器的特定编程要求、仪器操作命令集。若系统中的各种器件由不同的厂家提供,用户就需要学习所有集成到系统中的仪器的用户手册,并根据自己的需要对一个个的命令加以编程调试。所有的仪器既需要完成底层的仪器I/O操作,又需要完成高层的仪器交互能力。所有这些都大大增加了系统集成人员的负担。仪器驱动程序的由来在设计、续建自动测试6仪器驱动程序的由来由于上述问题,仪器用户设法将仪器编程结构化、模块化以使控制特定仪器的程序能重复使用。由此,一方面对仪器编程语言提出了标准化的要求,另一方面,需要定义一层具有模块化、独立性的仪器操作程序,也即具有相对独立的仪器驱动程序。仪器驱动程序的由来由于上述问题,仪器用户设7仪器驱动程序的由来随着虚拟仪器的出现,软件在仪器中的地位越来越重要,将仪器的编程留给用户的传统方法也越来越与仪器的标准化、模块化趋势不相符。I/O接口软件作为一层独立软件的出现,也使仪器编程任务可划分。人们将处理与一特定仪器进行控制和通信的一层较抽象的软件定义为仪器驱动器。仪器驱动器是基于I/O接口软件之上,并与应用程序进行通信的中间纽带。仪器驱动程序的由来随着虚拟仪器的出现,软件在仪器中的地位越来8仪器驱动程序的由来VXI仪器的出现,为仪器驱动器的发展带来了契机。但VXI仪器驱动程序的编写比GPIB仪器要复杂得多,因此,VXI即插即用系统联盟在定义虚拟仪器系统结构时,也详细规定了符合VXI即插即用规范的虚拟仪器系统的仪器驱动程序的结构和设计,即VXI即插即用规范中的VPP3.1~VPP3.4。这些规范明确了仪器驱动器的概念:仪器驱动器是一套可被用户调用的子程序,使用时只需调用相应的一些函数就可以完成对仪器各种功能的操作。仪器驱动程序的由来VXI仪器的出现,9VPP仪器驱动程序的特点仪器驱动程序由仪器供应厂家提供

仪器驱动程序是一个完整的软件模块,由仪器模块供应厂家提供仪器模块的同时提供给用户所有仪器驱动程序都必须提供程序源代码,而不是只提供可调用函数

用户通过阅读与理解仪器驱动程序源代码,根据自己的需要来修改与优化驱动程序。仪器供应厂家不完全限定仪器功能,仪器具有扩展性与修正性,可以方便的将仪器集成到系统中去,也可以方便的实现虚拟仪器系统的优化。VPP仪器驱动程序的特点仪器驱动程序由仪器供应厂家提供10VPP仪器驱动程序的特点仪器驱动程序结构的模块化与层次化

仪器驱动程序并不是I/O级的底层操作,而是较抽象的仪器测试与控制。所有仪器程序的设计都遵循外部接口模型与内部设计模型的双重结构仪器驱动程序的一致性

仪器驱动程序的设计与实现机制都是统一的。用户在理解了一个仪器驱动器后,可以利用仪器驱动器程序的一致性,方便而有效的理解另一个仪器驱动程序。甚至可在一个仪器驱动程序的基础上,进行适当修改,为新的仪器模块开发出一个符合VPP规范的仪器驱动程序。VPP仪器驱动程序的特点仪器驱动程序结构的模块化与层次化11VPP仪器驱动程序的特点仪器驱动程序的兼容性与开放性VPP规范对于仪器驱动程序的要求,不仅适用于VXI仪器,也同样适用于GPIB仪器,串行接口仪器的驱动程序的开发。同样,VPP规范也不仅适用于消息基器件驱动程序的开发,也适用于寄存器基器件驱动程序的开发。在虚拟仪器系统中,所有类型的虚拟仪器具有同样结构与形式的仪器驱动程序,从而大大提高仪器系统的集成与调试过程,非常有利于虚拟仪器系统的维护与发展。VPP仪器驱动程序的特点仪器驱动程序的兼容性与开放性12仪器驱动程序的结构模型 VPP仪器驱动程序规范规定了仪器驱动程序开发者编写驱动程序的规范和要求,它可使多个厂家仪器驱动程序共同使用,增强了系统级的开放性,兼容性和互换性。VPP规范提出了两个基本结构模型,其仪器驱动程序都是围绕这两个模型编写的,第一个模型是仪器驱动程序的外部接口模型,它表示了仪器驱动程序如何与外部软件系统接口。仪器驱动程序的结构模型 VPP仪器驱动程序规范规定了仪器驱动13仪器驱动程序的外部接口模型应用程序仪器驱动程序(函数体)子程序接口VISAI/O接口编程式开发者接口交互式开发者接口外部接口模型仪器驱动程序的外部接口模型应用程序仪器驱动程序(函数体)子程14外部接口模型的五大部分函数体--是仪器驱动程序的主体,为仪器驱动程序的实际源代码。VPP规范定义了两种源代码形式:语言代码形式(C语言)和G(图形)语言形式。交互式开发者接口--通常为一个图形化的功能面板,用户可在这个图形接口上管理各种控制、改变每一个功能调用的参数值外部接口模型的五大部分函数体--是仪器驱动程序的主体,为仪器15外部接口模型的五大部分编程式开发者接口--是应用程序调用驱动程序的软件接口,通过本接口可以方便的调用仪器驱动程序中定义的所有功能函数VISAI/O接口--标准的I/O接口程序库,通过调用本接口可以实现仪器驱动程序与仪器的通信问题子程序接口--是为仪器驱动程序调用其它器件模块(如数据库、FFT等软件)而提供的软件接口外部接口模型的五大部分编程式开发者接口--是应用程序调用驱动16内部接口模型仪器驱动程序的第二个模型是内部设计模型,它定义了仪器驱动程序函数体的内部结构,并作了详细描述。所有的VPP仪器驱动程序的源代码根据此设计模型编写。因此,该模型对于仪器驱动程序的开发者来说非常重要。用户一旦理解了这一模型,且知道如何使用仪器驱动程序,那么,用户就完全知道怎样使用所有的仪器驱动程序。内部接口模型仪器驱动程序的第二个模型是内部设计模型,它定义了17仪器驱动程序的内部设计模型用户程序编程式开发者接口交互式开发者接口函数体应用函数初始化函数初始化函数配置函数作用/状态函数数据函数实用函数部件函数子程序接口VISAI/O接口仪器驱动程序的内部设计模型用户程序编程式开发者接口交互式开发18内部设计模型仪器驱动程序的函数体主要由两个部分组成:部件函数应用函数其中,部件函数是一些控制仪器特定功能的软件模块,包括初始化、配置、作用/状态、数据、实用和关闭功能。应用函数使用一些部件函数共同实现完整的测试和测量操作。内部设计模型仪器驱动程序的函数体主要由两个19部件函数从部件函数的类型看出,初始化函数、关闭函数以及实用函数是所有VPP仪器驱动程序都必须包含的,属于仪器的通用函数部分,而配置函数、动作/状态函数以及数据函数是每个仪器驱动程序的不同部分,属于仪器的特定函数部分,即:

初始化函数 关闭函数 实用函数 配置函数 动作/状态函数 数据函数特定函数通用函数部件函数从部件函数的类型看出,初始化函数、20应用函数应用函数是一组以源代码提供的面向测试任务的高级函数,在大多数情况下,这些例行程序通过配置、触发和从仪器读取数据来完成整个测试操作。这些函数不仅提供了如何使用部件函数的实例,而且当用户仅需要一个面向测试的函数接口而不是使用单个部件函数时,它们非常有用。应用函数本身是基于部件函数之上的。应用函数应用函数是一组以源代码提供的面向测21仪器驱动程序函数简介-通用函数初始化函数--建立驱动程序与仪器的通信联系参数表:输入参数描述类型rsrcName仪器描述ViRsrcidquery系统确认是否执行ViBooleanResetinstr复位操作是否执行ViBoolean输出参数描述类型vi仪器句柄Visession仪器驱动程序函数简介-通用函数初始化函数--建立驱动程序与仪22仪器驱动程序函数简介-通用函数返回状态值表:返回状态值描述VI_SUCCESS初始化完成VI_WARN_NSUP_ID_QUERY标识查询不支持VI_WARN_NSUP_RESET复位不支持VI_ERROR_FAIL_ID_RESET仪器标识查询失败仪器驱动程序函数简介-通用函数返回状态值表:返回状态值描述V23仪器驱动程序函数简介-通用函数复位函数将仪器置为初态自检函数对仪器进行自检错误查询函数?仪器错误的查询版本查询函数对仪器驱动程序的版本与固体版本进行查询关闭函数终止软件与仪器的通信联系,并释放系统资源仪器驱动程序函数简介-通用函数复位函数将仪器置为初态24仪器驱动程序函数简介-特定函数 每个仪器不仅具有通用功能,也具有自己的特定功能。按功能类别函数的定义的仪器类型,从其功能上划分,分为测量仪器、源类仪器以及开关类仪器。整个仪器驱动程序的结构是树型结构,仪器作为树结构的根节点,包括的功能类别函数按类别分为子结点,再向下分解所包括的子功能为孙结点,一直分解到所有子功能都能对应到一个仪器功能操作函数为止。仪器驱动程序函数简介-特定函数 每个仪器不仅具25三种功能类别函数 1.测量类功能类别函数--完成对一特定测量任务进行仪器配置,初始化测量过程并读取测量值。这些函数一般包括在测量类仪器模块中(如万用表模块)的仪器驱动程序中,它包含多个参数,且不需要与其它驱动函数操作进行交互。三种功能类别函数 1.测量类功能类别函数--完成对一特定26测量类功能类别函数取数函数初始化函数读函数配置函数测量类函数测量类功能类别结构模型 配置函数--为测量类仪器提供一个高级抽象接口,为一个特定的测量任务配置仪器,但不进行测量初始化,不提供返回结果 读函数--完成一个完整的测量操作。从测量的初始化到提供测量结果测量类功能类别函数取数初始化函数读函数配置测量类函数测量类功27三种功能类别函数2.源类功能类别函数--该类函数在单一操作中,完成对一个特定的激励输出的仪器配置,并进行初始化。这些函数一般包含在源输出类模块(如信号发生器等)的仪器驱动程序中。初始化函数配置函数源类函数源类功能类别结构图为源类仪器提供一个高级抽象的功能接口,不进行器件初始化,不提供返回结果进行源操作登录,完成激励输出操作初始化三种功能类别函数2.源类功能类别函数--该类函数在单一操作中28三种功能类别函数3.开关类功能类别函数在单一操作中,本函数完成对信号的开关选通。这些功能函数一般包括在各类开关模块的仪器驱动程序中。这些功能函数包括多个参数,且不需要与其它驱动函数操作进行交互。初始化函数配置函数开关类函数开关类功能类型结构模型为开关类仪器提供一个高级抽象的功能接口,不进行器件初始化,不提供返回结果进行开关操作登录,完成开关选通操作初始化三种功能类别函数3.开关类功能类别函数初始化函数配置函数开关29仪器驱动程序函数将仪器分为以上三大类相对模糊。有些仪器本身既有测量功能,同时具有源输出功能,因此,它必须同时符合VPP规范对于测量类功能类别函数与源类功能类别函数的要求。仪器驱动程序函数将仪器分为以上三大类30仪器驱动程序功能面板 仪器驱动程序外部接口模型中定义了交互式开发者接口,实质上是功能面板文件。功能面板文件是对仪器驱动程序的图形化描述,为每一个由C语言源代码形式提供的功能操作函数提供了图形化的表达。利用功能面板文件,用户可以交互式的理解整个仪器驱动程序的结构、操作函数的组成与使用,了解仪器的功能与仪器驱动程序各个函数及函数中各个参数的意义与作用,使仪器驱动程序的设计与使用都变得直观、方便。仪器驱动程序功能面板 仪器驱动程序外部接口模型31仪器驱动程序的设计仪器驱动程序的设计步骤可分为七步:确定仪器模块的应用目标及功能指标选择系统框架选择一个现存的仪器驱动程序作参考确定树结构设计各个操作函数的函数面板调试与完善仪器驱动程序编写仪器驱动程序相关文档仪器驱动程序的设计仪器驱动程序的设计步骤可分为七步:32确定仪器模块的应用目标及功能指标 与仪器硬件模块开发所关注的侧重点不同:

仪器硬件模块所关心:硬件性能指标,包括精度、灵敏度、线性度、动态响应、使用环境温度范围以及可靠性指标等动、静态指标

仪器驱动程序关心:仪器的功能指标确定仪器模块的应用目标及功能指标 与仪器硬件模块开发所关33选择系统框架

根据外部接口模型定义,仪器驱动程序必须包括如下文件:功能体:源代码(.c与.h文件)应用程序开发者接口:动态链接库文件(.dll,.lib,.def文件)交互式开发者接口:功能面板文件(.fp文件)和WINDOWS帮助文件(.hlp文件)VISAI/O接口:必须包括32位VISA动态链接库文件(VISA32.dll)子程序接口:必须可以引入其它库函数其它:包括说明档,VB函数原理文件等选择系统框架 根据外部接口模型定义,仪器驱动程序必须包括如下34选择一个现有的仪器驱动程序作参考选择一个现存、与所要设计模块类似的仪器驱动程序作为设计面板,尽可能在已有的基础上进行修改设计,而不要进行重复性劳动。还有一种方法是采用在仪器驱动程序核心结构上进行扩充设计,这个核心结构被称为仪器驱动程序的必需内核文件,也同样包括源代码与功能面板文件。选择一个现有的仪器驱动程序作参考选择一个现35确定树结构在参考对用模块的基础上,确定仪器驱动程序的组成结构,即设计功能面板的树型结构,从上到下由仪器结点(根结点)与函数结点(叶结点)层次化构成。功能面板树型结构的确定,也就确定了驱动程序所需要包括的所有功能函数,也是仪器驱动程序内部设计模型的表达。确定树结构在参考对用模块的基础上,确定仪器36设计各个操作函数的函数面板仪器驱动程序源代码的编写必须符合规范:所有函数都基于VISAI/O接口库所有函数定义的数据类型都必须是VISA库中定义的数据类型所有函数必须包含一个返回状态值,且类型唯一,为ViStatus函数名不能超过31个字符,并在定义函数名之前,应带宏定义名_VI_FUNC,定义函数中数组类型参数与输出参数时,参数前必须带宏定义名_VI_FAR。避免引出全局变量,避免声明大型数组结构,不采用屏幕输入/输出方式在仪器驱动程序实现的函数应避免包括高级的、复杂的数学分析库函数,而将复杂的分析运算交给应用程序完成设计各个操作函数的函数面板仪器驱动程序源代码的编写必须符合规37调试与完善仪器驱动程序在应用程序开发平台上运行、调试与完善仪器驱动程序。通过调试与完善的仪器驱动程序中的函数与其它控制一起,在程序开发平台进行组态与集成。应用程序通过对多个仪器的控制与管理,并可加上高级的分析与处理功能、多种形式数据存储与交换功能,实现自动测试系统的集成。调试与完善仪器驱动程序在应用程序开发平台上38编写仪器驱动程序相关文档仪器驱动程序的功能及函数均已通过之后,需编写仪器驱动程序相关文档,包括进行功能函数说明的文本帮助文件、VB函数原形描述文件等,从而使仪器驱动程序真正成为一个统一封装形式的软件模块,易于使用和修改。编写仪器驱动程序相关文档仪器驱动程序39自动测试系统仪器驱动器自动测试系统仪器驱动器40VXI总线即插即用规范的提出VXI总线测试平台是公认的21世纪仪器总线系统和自动测试系统的优秀平台,自1987年推出以来,已成为仪器测试领域的总线标准。为了使VXI总线更易于使用,实现VXI总线系统的互换性,并在系统级上使VXI总线系统成为一个真正开放的系统结构,NI等著名仪器公司于1993年成立了VXI总线即插即用联盟(VXIplug&play),简称VPP联盟,随后发布了VXI即插即用规范。VXI总线即插即用规范的提出VXI总线测试平台是公认的21世41VXI总线即插即用规范的提出VPP是对VXI总线标准的补充和发展,主要解决了VXI总线系统级的软件标准问题。VPP规范制订了标准的系统软件结构框架,对操作系统、编程语言、I/O程序库、仪器驱动程序和高级应用软件工具等作了原则性的规定,从而真正实现了VXI总线系统的开放性、兼容性和互换性,进一步缩短了VXI系统的集成时间,降低了系统成本。VXI总线即插即用规范的提出VPP是对VXI总线标准的补充和4210个VPP技术规范文件目前VPP联盟已制订了10个技术规范文件:VPP1章程文件VPP2系统框架规范VPP3.1仪器驱动程序结构与设计规范VPP3.2仪器驱动程序函数体规范VPP3.3仪器驱动程序交互式开发者接口规范VPP3.4仪器驱动程序编程式开发者接口规范VPP4.3VISA库10个VPP技术规范文件目前VPP联盟已制订了10个技术规范4310个VPP技术规范文件续VPP5VXI部件知识库规范VPP6安装与包装规范VPP7软面板规范VPP8VXI模块、主机箱与接收器互连VPP9仪器厂商缩写规范VPP10VXIplug&play图标规范与部件注册下面主要介绍VPP3仪器驱动器10个VPP技术规范文件续VPP5VXI部件知识库规范44仪器驱动程序的由来在设计、续建自动测试系统时,仪器的编程是一个系统中最费时费力的部分。用户需要花较多的时间来学习系统中每台仪器的特定编程要求、仪器操作命令集。若系统中的各种器件由不同的厂家提供,用户就需要学习所有集成到系统中的仪器的用户手册,并根据自己的需要对一个个的命令加以编程调试。所有的仪器既需要完成底层的仪器I/O操作,又需要完成高层的仪器交互能力。所有这些都大大增加了系统集成人员的负担。仪器驱动程序的由来在设计、续建自动测试45仪器驱动程序的由来由于上述问题,仪器用户设法将仪器编程结构化、模块化以使控制特定仪器的程序能重复使用。由此,一方面对仪器编程语言提出了标准化的要求,另一方面,需要定义一层具有模块化、独立性的仪器操作程序,也即具有相对独立的仪器驱动程序。仪器驱动程序的由来由于上述问题,仪器用户设46仪器驱动程序的由来随着虚拟仪器的出现,软件在仪器中的地位越来越重要,将仪器的编程留给用户的传统方法也越来越与仪器的标准化、模块化趋势不相符。I/O接口软件作为一层独立软件的出现,也使仪器编程任务可划分。人们将处理与一特定仪器进行控制和通信的一层较抽象的软件定义为仪器驱动器。仪器驱动器是基于I/O接口软件之上,并与应用程序进行通信的中间纽带。仪器驱动程序的由来随着虚拟仪器的出现,软件在仪器中的地位越来47仪器驱动程序的由来VXI仪器的出现,为仪器驱动器的发展带来了契机。但VXI仪器驱动程序的编写比GPIB仪器要复杂得多,因此,VXI即插即用系统联盟在定义虚拟仪器系统结构时,也详细规定了符合VXI即插即用规范的虚拟仪器系统的仪器驱动程序的结构和设计,即VXI即插即用规范中的VPP3.1~VPP3.4。这些规范明确了仪器驱动器的概念:仪器驱动器是一套可被用户调用的子程序,使用时只需调用相应的一些函数就可以完成对仪器各种功能的操作。仪器驱动程序的由来VXI仪器的出现,48VPP仪器驱动程序的特点仪器驱动程序由仪器供应厂家提供

仪器驱动程序是一个完整的软件模块,由仪器模块供应厂家提供仪器模块的同时提供给用户所有仪器驱动程序都必须提供程序源代码,而不是只提供可调用函数

用户通过阅读与理解仪器驱动程序源代码,根据自己的需要来修改与优化驱动程序。仪器供应厂家不完全限定仪器功能,仪器具有扩展性与修正性,可以方便的将仪器集成到系统中去,也可以方便的实现虚拟仪器系统的优化。VPP仪器驱动程序的特点仪器驱动程序由仪器供应厂家提供49VPP仪器驱动程序的特点仪器驱动程序结构的模块化与层次化

仪器驱动程序并不是I/O级的底层操作,而是较抽象的仪器测试与控制。所有仪器程序的设计都遵循外部接口模型与内部设计模型的双重结构仪器驱动程序的一致性

仪器驱动程序的设计与实现机制都是统一的。用户在理解了一个仪器驱动器后,可以利用仪器驱动器程序的一致性,方便而有效的理解另一个仪器驱动程序。甚至可在一个仪器驱动程序的基础上,进行适当修改,为新的仪器模块开发出一个符合VPP规范的仪器驱动程序。VPP仪器驱动程序的特点仪器驱动程序结构的模块化与层次化50VPP仪器驱动程序的特点仪器驱动程序的兼容性与开放性VPP规范对于仪器驱动程序的要求,不仅适用于VXI仪器,也同样适用于GPIB仪器,串行接口仪器的驱动程序的开发。同样,VPP规范也不仅适用于消息基器件驱动程序的开发,也适用于寄存器基器件驱动程序的开发。在虚拟仪器系统中,所有类型的虚拟仪器具有同样结构与形式的仪器驱动程序,从而大大提高仪器系统的集成与调试过程,非常有利于虚拟仪器系统的维护与发展。VPP仪器驱动程序的特点仪器驱动程序的兼容性与开放性51仪器驱动程序的结构模型 VPP仪器驱动程序规范规定了仪器驱动程序开发者编写驱动程序的规范和要求,它可使多个厂家仪器驱动程序共同使用,增强了系统级的开放性,兼容性和互换性。VPP规范提出了两个基本结构模型,其仪器驱动程序都是围绕这两个模型编写的,第一个模型是仪器驱动程序的外部接口模型,它表示了仪器驱动程序如何与外部软件系统接口。仪器驱动程序的结构模型 VPP仪器驱动程序规范规定了仪器驱动52仪器驱动程序的外部接口模型应用程序仪器驱动程序(函数体)子程序接口VISAI/O接口编程式开发者接口交互式开发者接口外部接口模型仪器驱动程序的外部接口模型应用程序仪器驱动程序(函数体)子程53外部接口模型的五大部分函数体--是仪器驱动程序的主体,为仪器驱动程序的实际源代码。VPP规范定义了两种源代码形式:语言代码形式(C语言)和G(图形)语言形式。交互式开发者接口--通常为一个图形化的功能面板,用户可在这个图形接口上管理各种控制、改变每一个功能调用的参数值外部接口模型的五大部分函数体--是仪器驱动程序的主体,为仪器54外部接口模型的五大部分编程式开发者接口--是应用程序调用驱动程序的软件接口,通过本接口可以方便的调用仪器驱动程序中定义的所有功能函数VISAI/O接口--标准的I/O接口程序库,通过调用本接口可以实现仪器驱动程序与仪器的通信问题子程序接口--是为仪器驱动程序调用其它器件模块(如数据库、FFT等软件)而提供的软件接口外部接口模型的五大部分编程式开发者接口--是应用程序调用驱动55内部接口模型仪器驱动程序的第二个模型是内部设计模型,它定义了仪器驱动程序函数体的内部结构,并作了详细描述。所有的VPP仪器驱动程序的源代码根据此设计模型编写。因此,该模型对于仪器驱动程序的开发者来说非常重要。用户一旦理解了这一模型,且知道如何使用仪器驱动程序,那么,用户就完全知道怎样使用所有的仪器驱动程序。内部接口模型仪器驱动程序的第二个模型是内部设计模型,它定义了56仪器驱动程序的内部设计模型用户程序编程式开发者接口交互式开发者接口函数体应用函数初始化函数初始化函数配置函数作用/状态函数数据函数实用函数部件函数子程序接口VISAI/O接口仪器驱动程序的内部设计模型用户程序编程式开发者接口交互式开发57内部设计模型仪器驱动程序的函数体主要由两个部分组成:部件函数应用函数其中,部件函数是一些控制仪器特定功能的软件模块,包括初始化、配置、作用/状态、数据、实用和关闭功能。应用函数使用一些部件函数共同实现完整的测试和测量操作。内部设计模型仪器驱动程序的函数体主要由两个58部件函数从部件函数的类型看出,初始化函数、关闭函数以及实用函数是所有VPP仪器驱动程序都必须包含的,属于仪器的通用函数部分,而配置函数、动作/状态函数以及数据函数是每个仪器驱动程序的不同部分,属于仪器的特定函数部分,即:

初始化函数 关闭函数 实用函数 配置函数 动作/状态函数 数据函数特定函数通用函数部件函数从部件函数的类型看出,初始化函数、59应用函数应用函数是一组以源代码提供的面向测试任务的高级函数,在大多数情况下,这些例行程序通过配置、触发和从仪器读取数据来完成整个测试操作。这些函数不仅提供了如何使用部件函数的实例,而且当用户仅需要一个面向测试的函数接口而不是使用单个部件函数时,它们非常有用。应用函数本身是基于部件函数之上的。应用函数应用函数是一组以源代码提供的面向测60仪器驱动程序函数简介-通用函数初始化函数--建立驱动程序与仪器的通信联系参数表:输入参数描述类型rsrcName仪器描述ViRsrcidquery系统确认是否执行ViBooleanResetinstr复位操作是否执行ViBoolean输出参数描述类型vi仪器句柄Visession仪器驱动程序函数简介-通用函数初始化函数--建立驱动程序与仪61仪器驱动程序函数简介-通用函数返回状态值表:返回状态值描述VI_SUCCESS初始化完成VI_WARN_NSUP_ID_QUERY标识查询不支持VI_WARN_NSUP_RESET复位不支持VI_ERROR_FAIL_ID_RESET仪器标识查询失败仪器驱动程序函数简介-通用函数返回状态值表:返回状态值描述V62仪器驱动程序函数简介-通用函数复位函数将仪器置为初态自检函数对仪器进行自检错误查询函数?仪器错误的查询版本查询函数对仪器驱动程序的版本与固体版本进行查询关闭函数终止软件与仪器的通信联系,并释放系统资源仪器驱动程序函数简介-通用函数复位函数将仪器置为初态63仪器驱动程序函数简介-特定函数 每个仪器不仅具有通用功能,也具有自己的特定功能。按功能类别函数的定义的仪器类型,从其功能上划分,分为测量仪器、源类仪器以及开关类仪器。整个仪器驱动程序的结构是树型结构,仪器作为树结构的根节点,包括的功能类别函数按类别分为子结点,再向下分解所包括的子功能为孙结点,一直分解到所有子功能都能对应到一个仪器功能操作函数为止。仪器驱动程序函数简介-特定函数 每个仪器不仅具64三种功能类别函数 1.测量类功能类别函数--完成对一特定测量任务进行仪器配置,初始化测量过程并读取测量值。这些函数一般包括在测量类仪器模块中(如万用表模块)的仪器驱动程序中,它包含多个参数,且不需要与其它驱动函数操作进行交互。三种功能类别函数 1.测量类功能类别函数--完成对一特定65测量类功能类别函数取数函数初始化函数读函数配置函数测量类函数测量类功能类别结构模型 配置函数--为测量类仪器提供一个高级抽象接口,为一个特定的测量任务配置仪器,但不进行测量初始化,不提供返回结果 读函数--完成一个完整的测量操作。从测量的初始化到提供测量结果测量类功能类别函数取数初始化函数读函数配置测量类函数测量类功66三种功能类别函数2.源类功能类别函数--该类函数在单一操作中,完成对一个特定的激励输出的仪器配置,并进行初始化。这些函数一般包含在源输出类模块(如信号发生器等)的仪器驱动程序中。初始化函数配置函数源类函数源类功能类别结构图为源类仪器提供一个高级抽象的功能接口,不进行器件初始化,不提供返回结果进行源操作登录,完成激励输出操作初始化三种功能类别函数2.源类功能类别函数--该类函数在单一操作中67三种功能类别函数3.开关类功能类别函数在单一操作中,本函数完成对信号的开关选通。这些功能函数一般包括在各类开关模块的仪器驱动程序中。这些功能函数包括多个参数,且不需要与其它驱动函数操作进行交互。初始化函数配置函数开关类函数开关类功能类型结构模型为开关类仪器提供一个高级抽象的功能接口,不进行器件初始化,不提供返回结果进行开关操作登录,完成开关选通操作初始化三种功能类别函数3.开关类功能类别函数初始化函数配置函数开关68仪器驱动程序函数将仪器分为以上三大类相对模糊。有些仪器本身既有测量功能,同时具有源输出功能,因此,它必须同时符合VPP规范对于测量类功能类别函数与源类功能类别函数的要求。仪器驱动程序函数将仪器分为以上三大类69仪器驱动程序功能面板 仪器驱动程序外部接口模型中定义了交互式开发者接口,实质上是功能面板文件。功能面板文件是对仪器驱动程序的图形化描述,为每一个由C语言源代码形式提供的功能操作函数提供了图形化的表达。利用功能面板文件,用户可以交互式的理解整个仪器驱动程序的结构、操作函数的组成与使用,了解仪器的功能与仪器驱动程序各个函数及函数中各个参数的意义与作用,使仪器驱动程序的设计与使用都变得直观、方便。仪器驱动程序功能面板 仪器驱动程序外部接口模型70仪器驱动程序的设计仪器驱动程序的设计步骤可分为七步:确定仪器模块的应用目标及功能指标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论