虚拟仪器课件:第3章虚拟仪器软件标准.ppt

上传人(卖家):罗嗣辉 文档编号:2040763 上传时间:2022-01-19 格式:PPT 页数:60 大小:479.50KB
下载 相关 举报
虚拟仪器课件:第3章虚拟仪器软件标准.ppt_第1页
第1页 / 共60页
虚拟仪器课件:第3章虚拟仪器软件标准.ppt_第2页
第2页 / 共60页
虚拟仪器课件:第3章虚拟仪器软件标准.ppt_第3页
第3页 / 共60页
虚拟仪器课件:第3章虚拟仪器软件标准.ppt_第4页
第4页 / 共60页
虚拟仪器课件:第3章虚拟仪器软件标准.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、虚拟仪器虚拟仪器软件标准软件标准 InstrumentDriver第第3 3章章 虚拟仪器软件标准虚拟仪器软件标准教学内容 可编程仪器标准命令可编程仪器标准命令(SCPI) 虚拟仪器软件结构虚拟仪器软件结构(VISA) 虚拟仪器驱动程序虚拟仪器驱动程序InstrumentDriver3.1 可编程仪器标准命令(SCPI)SCPI:Standard Commands for Programmable Instruments 可编程仪器标准命令是为解决程控仪可编程仪器标准命令是为解决程控仪器编程进一步标准化而制定的标准程序语器编程进一步标准化而制定的标准程序语言,目前已经成为重要的程控仪器软件标言

2、,目前已经成为重要的程控仪器软件标准之一。准之一。SCPI的产生背景nIEEE488.1主要规定了仪器在电气上、机械上和功主要规定了仪器在电气上、机械上和功能上相容性的要求,保证了系统部件间正确的电气、能上相容性的要求,保证了系统部件间正确的电气、机械连接。机械连接。nIEEE488.2使程控仪器器件消息的数据编码和格式、使程控仪器器件消息的数据编码和格式、命令功能元素和编码句法、消息交换控制等方面实命令功能元素和编码句法、消息交换控制等方面实现了标准化。它仅仅定义了程控仪器的少数公用命现了标准化。它仅仅定义了程控仪器的少数公用命令语义,用于器件内部基本操作控制,并未解决器令语义,用于器件内部

3、基本操作控制,并未解决器件消息标准化的问题,而器件消息的非标准化给编件消息标准化的问题,而器件消息的非标准化给编程人员造成很大的困难。程人员造成很大的困难。n为 了 解 决 这 个 问 题 ,为 了 解 决 这 个 问 题 , 1 9 9 0 年年 4 月 , 建 立 在月 , 建 立 在IEEE488.2基础上的可程控仪器标准命令基础上的可程控仪器标准命令SCPI应应运而生。运而生。3.1.1 SCPI的目标nSCPI的总目标是节省自动测试设备程序开发的总目标是节省自动测试设备程序开发时间,保护设备制造者和使用者双方的硬件时间,保护设备制造者和使用者双方的硬件和软件投资,为仪器控制和数据利用

4、提供广和软件投资,为仪器控制和数据利用提供广泛兼容的编码环境。泛兼容的编码环境。n这个广泛兼容的编码环境是指:这个广泛兼容的编码环境是指:SCPI仪器程仪器程控消息、响应消息、状态报告结构和数据格控消息、响应消息、状态报告结构和数据格式均有标准化的定义,其使用只与仪器测试式均有标准化的定义,其使用只与仪器测试功能及仪器性能、精度相关。而不考虑仪器功能及仪器性能、精度相关。而不考虑仪器硬件组成、制造厂家、通信物理连接硬件环硬件组成、制造厂家、通信物理连接硬件环境和测试程序编制环境。境和测试程序编制环境。SCPI的目标(1)程控命令面向测试功能(信号),而不是描述)程控命令面向测试功能(信号),而

5、不是描述仪器操作仪器操作.(2)减少类似测试功能的控制方法是保证编程相容)减少类似测试功能的控制方法是保证编程相容性的关键性的关键.(3)在与通信物理连接层硬件无关的高层次上定义)在与通信物理连接层硬件无关的高层次上定义程控消息程控消息.(4)与编程手段和程序语言无关,)与编程手段和程序语言无关,SCPI用户测试程用户测试程序模块易于移植序模块易于移植.(5)具有可缩性,可适应不同规模的测量控制)具有可缩性,可适应不同规模的测量控制.(6)SCPI的可扩性的可扩性.3.1.2 SCPI仪器模型n针对针对SCPI命令是描述测试功能,而不是仪器命令是描述测试功能,而不是仪器硬件组成、技术手段和前面

6、板控制,硬件组成、技术手段和前面板控制,SCPI提提出了一个描述仪器测试功能的通用仪器模型,出了一个描述仪器测试功能的通用仪器模型,如图如图: 信号路由选择 信号路由选择 测量功能 格式化 数据总线 触发 存储器 信号产生 格式化 数据总线 信号路由选择信号路由选择用来控制信号输入通道与用来控制信号输入通道与内部功能间的路径内部功能间的路径格式化格式化用来转换数据的表达式,当数据需要用来转换数据的表达式,当数据需要向外部接口传送时,必须格式化向外部接口传送时,必须格式化3.1.3 SCPI命令句法nSCPI程控命令标准由程控命令标准由3部分内容组成:部分内容组成:n第一部分第一部分“语语法和样

7、式法和样式”,描述,描述SCPI命令的产命令的产生规则以及基本的命令结构;生规则以及基本的命令结构;n第二部分第二部分“命令标记命令标记”,主要给出,主要给出SCPI要求或要求或可供选择的命令;可供选择的命令;n第三部分第三部分“数据交换格式数据交换格式”描述了一种数据采描述了一种数据采集的标准表示方法,用于实现仪器与仪器之间集的标准表示方法,用于实现仪器与仪器之间及其他应用场合中的数据交换。及其他应用场合中的数据交换。 1. 语法和样式nSCPI命令由程控题头、程控参数和注释命令由程控题头、程控参数和注释3部分组成。部分组成。SCPI程控题头有两种形式,如图所示程控题头有两种形式,如图所示.

8、 程控助记符 * ? : : : ? 短形助记符 长形助记符 数字后缀 短形助记符的规则(1)如果关键词不多于)如果关键词不多于4个英语字母,则关键词就个英语字母,则关键词就是短形助记符。是短形助记符。(2)如果关键词多于)如果关键词多于4个英语字母,则通常保留关个英语字母,则通常保留关键词的前键词的前4个字母作为短形助记符。但是在这种情个字母作为短形助记符。但是在这种情况下,如果第况下,如果第4个字母是元音,则把这个元音去掉,个字母是元音,则把这个元音去掉,用用3个字母作短形助记符。个字母作短形助记符。(3)所有长形、短形助记符均允许有数字后缀,以)所有长形、短形助记符均允许有数字后缀,以区

9、别类似结构的多种应用场合。例如使用不同触区别类似结构的多种应用场合。例如使用不同触发源时可用不同的数字后缀区别它们。在使用数发源时可用不同的数字后缀区别它们。在使用数字后缀时,短形助记符仍允许使用字后缀时,短形助记符仍允许使用4个不包括数字个不包括数字的字母。的字母。 长形助记符的规则n长形助记符与关键词的字母完全相同,只长形助记符与关键词的字母完全相同,只不过长形助记符的书写格式有一定要求,不过长形助记符的书写格式有一定要求,它被分成两部分,第一部分用大写字母表它被分成两部分,第一部分用大写字母表示短形助记符,第二部分用小写字母表示示短形助记符,第二部分用小写字母表示关键词的其余部分。关键词

10、的书写形式要关键词的其余部分。关键词的书写形式要求不严格,可以与长形助记符完全相同,求不严格,可以与长形助记符完全相同,也可以只把第一个字母大写。也可以只把第一个字母大写。 助记符形成实例2. 命令标记nSCPI命令标记主要给出命令标记主要给出SCPI要求的和可供要求的和可供选择的命令。选择的命令。SCPI命令分为两类:仪器公命令分为两类:仪器公用命令和用命令和SCPI主干命令。主干命令。SCPI把把IEEE-488.2要求仪器必须执行的公用命令作为要求仪器必须执行的公用命令作为SCPI仪器公用命令,这些公用命令用于控仪器公用命令,这些公用命令用于控制仪器的某些基本功能操作,其句法和语义制仪器

11、的某些基本功能操作,其句法和语义遵循遵循IEEE-488.2的规定。的规定。 SCPI仪器公用命令 SCPI主干命令关键字与基本功能SCPI主干命令关键字与基本功能3. 数据交换格式n数据交换格式主要描述了一种仪器与应用之间、应数据交换格式主要描述了一种仪器与应用之间、应用与应用之间、仪器与仪器之间可以使用的数据集用与应用之间、仪器与仪器之间可以使用的数据集的标准方法。的标准方法。SCPI的交换格式语法与的交换格式语法与IEEE-488.2语法是兼容的,分为标准参数格式和数据交换格式语法是兼容的,分为标准参数格式和数据交换格式两部分两部分。 n标准参数格式标准参数格式 :数值参数、离散参数、布

12、尔参数、:数值参数、离散参数、布尔参数、字符串参数字符串参数n数据交换格式数据交换格式 :SCPI的数据交换格式主要描述了的数据交换格式主要描述了一种数据结构,它用来作为仪器与仪器之间以及不一种数据结构,它用来作为仪器与仪器之间以及不同应用场合情况下交换特征数据。同应用场合情况下交换特征数据。 3.1.4 常用SCPI命令简介1. 常用仪器公用命令常用仪器公用命令(1)*IDN?仪器标识查询命令。每台?仪器标识查询命令。每台VXI仪器都指仪器都指定了一个仪器标识代码。如对定了一个仪器标识代码。如对HP1411B模块,该模块,该命令实际返回标识码命令实际返回标识码Hewlett Packard,

13、E1411B,0,G.06.03。(2)RST复位命令。复位仪器到初始上电状态。在复位命令。复位仪器到初始上电状态。在仪器工作过程中,当发生程序出错或其他死机情况仪器工作过程中,当发生程序出错或其他死机情况时,经常需要复位仪器。一般情况下先用命令时,经常需要复位仪器。一般情况下先用命令*CLS清仪器,然后再复位。清仪器,然后再复位。常用仪器公用命令(3)*TST?自检命令。该命令复位仪器,完成自检,?自检命令。该命令复位仪器,完成自检,返回自检代码。返回返回自检代码。返回“0”表示仪器正常,否则仪器表示仪器正常,否则仪器存在故障需维修。自检命令是确定仪器操作过程是存在故障需维修。自检命令是确定

14、仪器操作过程是否出现问题的一个有效手段。否出现问题的一个有效手段。(4)*CLS清除命令。中断正在执行的命令,清除在清除命令。中断正在执行的命令,清除在命令缓冲区等待的命令。例如当数字表正在等待外命令缓冲区等待的命令。例如当数字表正在等待外部触发信号时,此时输入的命令将在缓冲区等待,部触发信号时,此时输入的命令将在缓冲区等待,直至触发信号接收到后才执行。命令直至触发信号接收到后才执行。命令*CLS将清除在将清除在缓冲区等待的命令。缓冲区等待的命令。(5)*ERR?错误信息查询命令。当仪器操作过程中?错误信息查询命令。当仪器操作过程中发生错误时,错误代码和解释信息储存在错误队列发生错误时,错误代

15、码和解释信息储存在错误队列中,用下述命令可以读出错误代码和解释信息:中,用下述命令可以读出错误代码和解释信息:SYST:ERR?2. SCPI主干命令(1)MEASure:测量命令:测量命令MEASure命令的一般形式为:命令的一般形式为:MEASure: ? ,n完成交流电压测量的命令形式为:完成交流电压测量的命令形式为: MEASure:VOLTage:AC?,(2)CONFigure:配置命令CONFigure命令的一般形式为:命令的一般形式为:CONFigure: , n该命令完成仪器配置,其参数意义及用法与该命令完成仪器配置,其参数意义及用法与MEASure命令一致。例如,对于数字万

16、用表,命令一致。例如,对于数字万用表,该命令用指定参数设置数字万用表。该命令用指定参数设置数字万用表。(3)Read?:读命令Read?命令的一般形式为:命令的一般形式为:Read: ? , n读命令通常与读命令通常与CONFigure命令配合使用。例如,对命令配合使用。例如,对于数字万用表,该命令主要完成如下两个功能。于数字万用表,该命令主要完成如下两个功能。置数字万用表在等待触发状态(执行置数字万用表在等待触发状态(执行INITiate命命令)。令)。触发后,直接将读数送入输出缓冲区。触发后,直接将读数送入输出缓冲区。(4)FEtch?:取命令FEtch?命令的一般形式为:命令的一般形式为

17、:FEtch? ? , n该命令取出由最近的该命令取出由最近的INITiate命令放在内存命令放在内存中的读数值,并将这些读数送到输出缓冲区。中的读数值,并将这些读数送到输出缓冲区。在送在送FETch?命令前,必须先执行命令前,必须先执行INIT命令,命令,否则将产生错误。否则将产生错误。 3.1.5 SCPI编程方法 初始化状态 复 位 设定触发方式 测 量 读数据到缓冲器 结果处理 到主机 *CLS *RST CONFigure: TRIGger: MEASure: CALCulate: SCPISCPI的编程步骤的编程步骤 3.2 虚拟仪器软件结构(VISA)n虚拟仪器软件结构虚拟仪器软

18、件结构(Virtual Instrumentation Software Architecture,VISA),是),是VXI即插即用即插即用(VXI Plug &Play,VPP)系统联盟制定的系统联盟制定的I/O函数库函数库及其相关规范的总称,一般及其相关规范的总称,一般称这个称这个I/O 函数库为函数库为VISA 库。库。 测试编程环境 测试应用软件 仪器软面板 仪器驱动器 I/O 接口驱动软件(VISA) GPIB VXI 其他 虚拟仪器的软件体系结构虚拟仪器的软件体系结构 3.2.1 VISA的结构与特点nVISA的结构模型为金字塔结构的结构模型为金字塔结构 ,如图,如图 VISA的

19、特点 (1)VISA的的I/O控制功能适用于各种类型仪器,包控制功能适用于各种类型仪器,包括括VXI仪器、仪器、GPIB仪器和仪器和RS-232C接口仪器等,接口仪器等,既可用于既可用于VXI消息基器件,也可用于消息基器件,也可用于VXI寄存器基寄存器基器件。器件。(2)VISA具有与仪器硬件接口无关的特性,采用具有与仪器硬件接口无关的特性,采用VISA编写的模块驱动程序既可以用于嵌入式计算编写的模块驱动程序既可以用于嵌入式计算机机VXI系统,也可以用于基于系统,也可以用于基于MXI、GPIB-VXI或或1394接口的系统中。当需要更换接口的系统中。当需要更换VXI总线系统控总线系统控制器时,

20、模块驱动程序无须改动。制器时,模块驱动程序无须改动。(3)VISA的的I/O控制功能适用于单处理器系统结构,控制功能适用于单处理器系统结构,也适于多处理器结构或分布式网络结构。也适于多处理器结构或分布式网络结构。 3.2.2 VISA的现状n1995年年12月颁布的月颁布的VISA库规范中规定了库规范中规定了VISA资资源模板、源模板、VISA资源管理器、资源管理器、VISA仪器管理器、仪器管理器、VISA仪器控制资源四类函数,共仪器控制资源四类函数,共54个。个。VPP规范规范在在1997年年1月、月、1997年年12月、月、1998年年12月的月的VISA规定修订版中,陆续作了新的补充与更

21、新,规定修订版中,陆续作了新的补充与更新,如增加了一些新的如增加了一些新的VISA类型、错误代码、事件、类型、错误代码、事件、格式化格式化I/O修饰符等。修饰符等。n要全部实现要全部实现VISA标准,对仪器厂商是一项非常复标准,对仪器厂商是一项非常复杂的工作,如杂的工作,如HP公司公司1996年年5月为用户提供的月为用户提供的HP VISA库基本实现了库基本实现了VISA库函数,但也没有考虑到库函数,但也没有考虑到标准中的全部参数和功能。标准中的全部参数和功能。HP、NI等各大公司都等各大公司都正在逐步完善各自的正在逐步完善各自的VISA库。库。3.2.3 VISA的资源结构 应用程序 应用程

22、序 资源管理者 仪器控制 资源组织者资源 仪器控制资源 接口专用的 仪器控制资源 接口专用的 仪器控制资源 VISAVISA的资源结构的资源结构 VISA中的3种机制的作用 资源通道 应用程序 写资源 仪器 锁定机制 事件 机制 捕获事件 回调事件处理 属性 机制: 设置写 的方式 3.2.4 VISA的应用nC语言例程语言例程#include “visa.h”void main() ViSession defaultRM,vi; ViString buffer; ViUint32 retCnt; ViStatus status; status=viOpenDefaultRM(&default

23、RM); status=viOpen(defaultRM,”GPIB0:1:INSTR”, ,VI_ NULL,VI_NULL, &vi); Status=viWrite(vi,”*IDN? n”,6,&retCnt); Status=viRead(vi,buffer,80,&retCnt); Status=viClose(vi); Status=viClose(defaultRM); 3.3 虚拟仪器驱动程序n仪器驱动程序是完成对某一特定仪器的控制与通信仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序。是连接仪器与用户界面的桥梁。的软件程序。是连接仪器与用户界面的桥梁。n每个仪器模块均

24、有自己的仪器驱动程序。仪器驱动每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的。对于应用程序设作是通过仪器驱动程序来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十计人员来说,一旦有了仪器驱动程序,在不是十分了解仪器内部操作过程的情况下,也可以进行虚分了解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。仪器驱动程序是连接上层拟仪器系统的设计工作。仪器驱动程序是连接上层应

25、用软件与底层输入应用软件与底层输入/输出软件的纽带和桥梁,是输出软件的纽带和桥梁,是虚拟仪器软件的核心,是系统设计的关键。虚拟仪器软件的核心,是系统设计的关键。VPP与IVInVXI即插即用即插即用(VXI plug&Play, VPP)规定的制规定的制定为不同厂家仪器驱动程序的开发提供了一个可定为不同厂家仪器驱动程序的开发提供了一个可依托的标准,该规范定义了系统的互操作性,把依托的标准,该规范定义了系统的互操作性,把虚拟仪器软件体系结构虚拟仪器软件体系结构VISA确定为一种标准的确定为一种标准的I/O接口,用于在接口,用于在VXI、GPIB和串行总线上传输和串行总线上传输命令;命令;nIVI

26、基金会基金会(Interchangeable Virtual Instrument Fundation)制定的制定的IVI规范,比规范,比VPP规范又向前迈进了一步,这一可互换式虚拟规范又向前迈进了一步,这一可互换式虚拟仪器规范给出的驱动程序结构模型仪器规范给出的驱动程序结构模型IVI模型,模型,在没有增加系统资源操作复杂性的前提下,把互在没有增加系统资源操作复杂性的前提下,把互操作性的概念推广到仪器级,成为开发虚拟仪器操作性的概念推广到仪器级,成为开发虚拟仪器驱动程序的标准规范。驱动程序的标准规范。3.3.1 VPP仪器驱动程序n20世纪世纪90年代,随着年代,随着VXI总线的建立和总线的建

27、立和VXI仪器的仪器的发展,程控仪器驱动软件与编程环境的标准化成为发展,程控仪器驱动软件与编程环境的标准化成为测试与仪器领域人们关注的问题。由世界上几十家测试与仪器领域人们关注的问题。由世界上几十家最有实力的仪器厂商最有实力的仪器厂商(包括包括HP,Tek和和Recal等公司等公司)联 合 成 立 了联 合 成 立 了 V X I 即 插 即 用 系 统 联 盟即 插 即 用 系 统 联 盟 ( V X I Plug&Play Systems Alliance)。作为测试与仪器。作为测试与仪器软件兼容性工业标准发展的第一步,该联盟提出了软件兼容性工业标准发展的第一步,该联盟提出了VXI即插即用

28、即插即用(VPP)标准。标准。nVPP标准的设计目标是使任何满足该标准的计算机标准的设计目标是使任何满足该标准的计算机I/O设备、仪器和软件能够一起工作,实现多个系设备、仪器和软件能够一起工作,实现多个系统供应商提供的软件和软件产品的互操作性,为用统供应商提供的软件和软件产品的互操作性,为用户提供一体化测试与测量系统解决方案。户提供一体化测试与测量系统解决方案。1. VPP主要规范内容nVPP规范包括规范包括VPP1VPP10等十几个规范等十几个规范VPP-1 联盟章程文件联盟章程文件VPP-2 系统框架技术规范,规定了系统框架技术规范,规定了DOS,WIN(dows)等五种构架平台等五种构架

29、平台VPP-3.1 仪器驱动器结构和设计技术规范仪器驱动器结构和设计技术规范 VPP-3.2 仪器驱动函数体技术规范仪器驱动函数体技术规范 VPP-3.3 仪器驱动器交互式开发者接口技术规范仪器驱动器交互式开发者接口技术规范 VPP-3.4 仪器驱动器编程开发者接口技术规范仪器驱动器编程开发者接口技术规范 VPP-4.1 VISA-1虚拟仪器软件结构规范虚拟仪器软件结构规范 VPP-4.2.1 VISA-2虚拟仪器软件结构转换库规范虚拟仪器软件结构转换库规范VPP规范 VPP-4.2.2 VISA-2虚拟仪器软件结构转换库虚拟仪器软件结构转换库(VTL)对于对于WTL构架的执行规范构架的执行规

30、范 VPP-4.3.1 VISA库库 VPP-4.3.2 VISA文本语言实现规范文本语言实现规范 VPP-4.3.3 VISA G语言实现规范语言实现规范 VPP-5. VXI部件知识库技术规范部件知识库技术规范 VPP-6 安装和包装技术规范安装和包装技术规范 VPP-7 软面板技术规范软面板技术规范 VPP-8 VXI模块模块/主机箱与连接器互连主机箱与连接器互连 VPP-9 仪器制造商缩写规则仪器制造商缩写规则 VPP-10 标志和注册标志和注册2. VPP仪器驱动程序的特点(1)仪器驱动程序一般由仪器供应厂家提供)仪器驱动程序一般由仪器供应厂家提供 (2)以原代码与预编译库的形式提供

31、驱动程序)以原代码与预编译库的形式提供驱动程序 (3)程序结构化与模块化)程序结构化与模块化 (4)设计与实现的一致性)设计与实现的一致性 (5)兼容性与开放性)兼容性与开放性 3. VPP仪器驱动程序的结构模型n为了制定仪器驱动器软件设计和开发标为了制定仪器驱动器软件设计和开发标准,准,VPP联盟提出了联盟提出了两个结构模型两个结构模型。n第一个模型第一个模型是仪器驱动程序外部接口模是仪器驱动程序外部接口模型,描述了仪器驱动程序与系统其他软型,描述了仪器驱动程序与系统其他软件的接口。件的接口。n第二个模型第二个模型是仪器驱动程序内部设计模是仪器驱动程序内部设计模型,描述了仪器驱动程序软件模块

32、的内型,描述了仪器驱动程序软件模块的内部组建结构,该结构与具体的仪器驱动部组建结构,该结构与具体的仪器驱动程序开发工具无关。程序开发工具无关。仪器驱动程序外部接口模型 交互式开 发者接口 应用程序 编程开 发者接口 子程序 接 口 VISA I/O 接 口 仪器驱动程序 (驱动程序体) 仪器驱动程序由一系列软件模块组成,这些软件模块和整仪器驱动程序由一系列软件模块组成,这些软件模块和整个系统里的其他软件进行交互,一方面和具体仪器通信;个系统里的其他软件进行交互,一方面和具体仪器通信;另一方面和更高层的软件或使用仪器驱动程序的用户通信另一方面和更高层的软件或使用仪器驱动程序的用户通信。仪器驱动程

33、序内部模型用户程序编程式开发者接口交互式开发者接口函数体应用函数初始化函数初始化函数配置函数作用/状态函数数据函数实用函数部件函数子程序接口VISA I/O接口4. 仪器驱动程序的函数体规范n所有所有VPP仪器驱动程序文件和必备函数名称都有一仪器驱动程序文件和必备函数名称都有一个规范化的前缀。该前缀以个规范化的前缀。该前缀以VPP-9规范定义的仪器规范定义的仪器厂商的两个缩写字符开头,再加上仪器型号的描述厂商的两个缩写字符开头,再加上仪器型号的描述字符组成。字符组成。n例如,例如,Tektronix公司的公司的VX4750模块化的仪器驱模块化的仪器驱动程序动程序ANSI.C源文件名为源文件名为

34、tkvx4750.C,由,由Tektronix的缩写字符的缩写字符“tk”与模块名称与模块名称“vx4750”组合而成。为了方便起见,以下都用组合而成。为了方便起见,以下都用PREFIX来表来表示该前缀。示该前缀。仪器驱动程序的必备函数初始化函数初始化函数初始化函数用于建立与仪器的通信连接。初始化函数用于建立与仪器的通信连接。 ANSI C联编的初始化函数原型为:联编的初始化函数原型为: ViStatus VI_FUNC PREFIX_init ( ViRsrc rsrcName, ViBoolean id_query,ViBoolean reset_instr, ViPSession vi

35、); Visual Basic联编的初始化函数原型为:联编的初始化函数原型为:Declare Function PREFIX_init Lib PREFIX.dll ( ByVal r s r c N a m e A s s t r i n g , B y V a l i d _ q u e r y A s Integer,ByVail reset_instr As Integer,vi As Long ) As Long初始化函数的参数与返回值表复位函数复位函数用于将仪器置于默认状态。复位函数用于将仪器置于默认状态。ANSI C联编的复位函数原型为:联编的复位函数原型为:ViStatus_V

36、I_FUNC PREFIX_reset ( ViSession vi );Visual Basic联编的复位函数原型为:联编的复位函数原型为:Declare Function PREFIX_reset Lib PREFIX.dll ( ByVal vi As Long ) As Long复位函数的参数与返回值表:复位函数的参数与返回值表:自检函数自检函数实现仪器的自检并返回自检结果。自检函数实现仪器的自检并返回自检结果。ANSI C联编的自检函数原型为:联编的自检函数原型为:ViStatus_VI_FUNC PREFIX_self_ test (ViSession Vi,ViPInt16 te

37、st_result,ViChar_VI_FAR test_message);Visual Basic联编的自检函数原型为:联编的自检函数原型为:Declare Function PREFIX_self_test Lib PREFIX.dll (ByVal vi As Long,test_result Long,ByVal test_merrage As String ) As Long自检函数的参数与返回值表错误查询函数 错误查询函数对仪器进行查询并返回与仪器相关错误查询函数对仪器进行查询并返回与仪器相关的错误信息。的错误信息。ANSI C联编的错误查询函数原型为:联编的错误查询函数原型为:V

38、iStatus_VI_FUNC PREFIX_error_query (ViSession vi,ViPInt32 error_code,ViChar_VI_FAR error_message);Visual Basic联编的错误查询函数原型为:联编的错误查询函数原型为:Declare Function PREFIX_error_query Lib PREFIX.dll (ByVal vi As Long, error_code As Long, ByVal error_merrage As String ) As Long错误查询函数的参数与返回值表错误消息函数 错误消息函数将仪器驱动程序函

39、数返回的错误代错误消息函数将仪器驱动程序函数返回的错误代码转换为用户可读的字符串。码转换为用户可读的字符串。ANSI C联编的错误消息函数原型为:联编的错误消息函数原型为:ViStatus_VI_FUNC PREFIX_error_message (ViSession vi, ViStatus status_code, ViChar_VI_FAR message);Visual Basic联编的错误消息函数原型为:联编的错误消息函数原型为:Declare Function PREFIX_error_message Lib PREFIX.dll (ByVal vi As Long, ByVal

40、status_code As Long, ByVal merrage As String ) As Long错误消息函数的参数与返回值表版本查询函数 版本查询函数返回仪器驱动程序和仪器固件的版本号。如版本查询函数返回仪器驱动程序和仪器固件的版本号。如果仪器不支持固件版本查询,版本查询函数将在输出参数果仪器不支持固件版本查询,版本查询函数将在输出参数instr_rev中返回字符串中返回字符串“Not Available”,并返回警告代码并返回警告代码VI_WARN_NSUP_REV_QUE。ANSI C联编的版本查询函数原型为:联编的版本查询函数原型为:ViStatus_VI_FUNC PREF

41、IX_revision_query (ViSession vi,ViChar_VI_FAR dyiver_rev, ViChar_VI_FAR instr_rev);Visual Basic联编的版本查询函数原型为:联编的版本查询函数原型为:Declare Function PREFIX_revision_query Lib PREFIX.dll (ByVal vi As Long,ByVal driver_rev As String, ByVal instr_rev As String ) As Long版本查询函数的参数与返回值表 关闭函数 关闭函数终止与仪器的软件连接,并释放与该仪关闭函

42、数终止与仪器的软件连接,并释放与该仪器相关的系统资源。器相关的系统资源。ANSI C联编的关闭函数原型为:联编的关闭函数原型为:ViStatus_VI_FUNC PREFIX_close(ViSession vi);Visual Basic联编的版本查询函数原型为:联编的版本查询函数原型为:Declare Function PREFIX_close Lib PREFIX.dll (ByVal vi As Long) As Long关闭函数的参数与返回值表:关闭函数的参数与返回值表:5. VPP仪器驱动程序的设计方法(1)应确定需要研制的仪器模块的类型,确定其属于)应确定需要研制的仪器模块的类型

43、,确定其属于VXI仪仪器、器、GPIB仪器还是串行接口仪器。仪器还是串行接口仪器。 (2)应确定仪器模块的应用目标及功能指标。)应确定仪器模块的应用目标及功能指标。 (3)在基本清楚了设计目标之后,应选择虚拟仪器系统的系)在基本清楚了设计目标之后,应选择虚拟仪器系统的系统框架,确定模块设计的软、硬件环境。统框架,确定模块设计的软、硬件环境。 (4)应选择一个可作参考的现有的)应选择一个可作参考的现有的VPP仪器驱动程序,尽量仪器驱动程序,尽量在现有的仪器驱动程序基础上进行设计,不必要从头开始进在现有的仪器驱动程序基础上进行设计,不必要从头开始进行重复劳动。行重复劳动。 (5)在对应参考模块的研

44、究基础上,确定仪器驱动程序应包)在对应参考模块的研究基础上,确定仪器驱动程序应包括的功能函数,也即仪器驱动程序的内部设计模型。括的功能函数,也即仪器驱动程序的内部设计模型。 (6)将所定义的所有功能函数用)将所定义的所有功能函数用C语言实现。语言实现。 (7)在图形化平台上运行与调试仪器驱动程序。)在图形化平台上运行与调试仪器驱动程序。 (8)编写仪器驱动程序相关文件。)编写仪器驱动程序相关文件。 3.3.2 IVI仪器驱动器n1998年美国年美国NI公司最先提出了一种新的基于状态公司最先提出了一种新的基于状态管理的仪器驱动器体系结构,即可互换虚拟仪器驱管理的仪器驱动器体系结构,即可互换虚拟仪

45、器驱动器动器(Interchangeable Virtual Instruments,IVI)模型和规范,并开发了基于虚拟仪器软件平台模型和规范,并开发了基于虚拟仪器软件平台的的IVI驱动程序库。驱动程序库。nIVI是在是在VPP技术上发展而来的一项新技术,主要技术上发展而来的一项新技术,主要研究仪器驱动器的互换性,测试性能,开发灵活性研究仪器驱动器的互换性,测试性能,开发灵活性及测试品质保证,其特有的状态管理结构,可以不及测试品质保证,其特有的状态管理结构,可以不重新优化设计硬件系统,在现有测试系统的基础上,重新优化设计硬件系统,在现有测试系统的基础上,从测试系统软件结构出发,消除测试冗余,

46、提高测从测试系统软件结构出发,消除测试冗余,提高测试速度。试速度。1. IVI的技术特点1)通过仪器的可互换性,节省测试系统的开发费用通过仪器的可互换性,节省测试系统的开发费用2)通过状态缓冲,改善测试性能)通过状态缓冲,改善测试性能 在在IVI属性模型中,驱动器能够自动地对仪器的属性模型中,驱动器能够自动地对仪器的当前状态进行缓冲。当前状态进行缓冲。3)通过仿真,使测试开发更容易、更经济)通过仿真,使测试开发更容易、更经济 利用利用IVI仪器驱动器的仿真功能,用户可以在仪仪器驱动器的仿真功能,用户可以在仪器还不能用的条件下,输入所需参数来仿真特定的器还不能用的条件下,输入所需参数来仿真特定的

47、环境,就像仪器已被连接好一样,处理所有输入参环境,就像仪器已被连接好一样,处理所有输入参数,进行越界检查和越界处理,返回仿真数据。数,进行越界检查和越界处理,返回仿真数据。IVI仪器驱动器分类 n仪器测试界在仪器测试界在1998年年9月成立了月成立了IVI(Interchangeable Virtnal Instrument)基金会。目前,基金会。目前,IVI基金会已经制订了基金会已经制订了8类仪器规范:类仪器规范: 示波器示波器 (IVISCope) 数字多用表数字多用表(IVIDmm) 信号发生器信号发生器(IVIFGen) 开关矩阵开关矩阵/多路复用器多路复用器 (IVISwitch)

48、电源电源(IVIPower) 功率表功率表(IVIPwrmeter) 频谱分析仪频谱分析仪(IVISpecan) 射频信号发生器射频信号发生器(IVIRfsiggen)2. IVI规范及体系结构 IVI 类驱动 用户测试程序 IVI 特定驱动 VISA HP 34401DMM Fluke DMM45 IVI 配置管理 IVI 引擎 IVI 配置文件 从图中可以看出,从图中可以看出,IVIIVI驱动程序比驱动程序比VPPVPP联盟制订的联盟制订的VISAVISA规范更高一层。规范更高一层。它扩展了它扩展了VPPVPP仪器驱动程序的标准,并加上了仪器的可互换性、仿真和仪器驱动程序的标准,并加上了仪

49、器的可互换性、仿真和状态缓存等特点,使得仪器厂商可以继续使用它们的仪器特征和新增状态缓存等特点,使得仪器厂商可以继续使用它们的仪器特征和新增功能。因此功能。因此IVIIVI基金会是对基金会是对VPPVPP系统联盟的一个很好的补充。系统联盟的一个很好的补充。3. 仪器互换性的实现测试程序测试程序IVI数字万用表(数字万用表(DMM)类驱动器)类驱动器(IviDmm_Configure)HP34401特定仪器驱动器特定仪器驱动器(hp34401_Configure)FLUKE45特定仪器驱动器特定仪器驱动器(fl45_Configure)类驱动器需将测试类驱动器需将测试程序中对它的函数程序中对它的函数调用映射到具体的调用映射到具体的特定仪器驱动器中特定仪器驱动器中相应的函数上,而相应的函数上,而具体的特定仪器是具体的特定仪器是根据需要可随时更根据需要可随时更改的,即类驱动器改的,即类驱动器中不能出现具体的中不能出现具体的特定仪器前缀,为特定仪器前缀,为实现互换性,类驱实现互换性,类驱动器只能采用动态动器只能采用动态链接库的显示调用链接库的显示调用方式来实现。方式来实现。本章结束Thank You !

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(虚拟仪器课件:第3章虚拟仪器软件标准.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|