虚拟仪器导论PPT电子教案第3章虚拟仪器软件标准_第1页
虚拟仪器导论PPT电子教案第3章虚拟仪器软件标准_第2页
虚拟仪器导论PPT电子教案第3章虚拟仪器软件标准_第3页
虚拟仪器导论PPT电子教案第3章虚拟仪器软件标准_第4页
虚拟仪器导论PPT电子教案第3章虚拟仪器软件标准_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

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)减少类似测试功能的控制方法是保证编程相容)减少类似测试功能的控制方法是保证编程相容性的关键性的关键.scpi基本原则:用同一scpi命令控制相同的仪器功能(3)在与通信物理连接层硬件无关的高层次上定义)在与通信物理连接层硬件无关的高层次上定义程控消息程控消息.scpi基于ieee-488.2(gpib总线标准),支持vxi、rs-232等总线。sc

6、pi的目标(4)与编程手段和程序语言无关,)与编程手段和程序语言无关,scpi用户用户测试程序模块易于移植测试程序模块易于移植. 使用各种编程语言:c、delphi等都能把scpi命令传送给scpi仪器(5)具有可缩性,可适应不同规模的测量控)具有可缩性,可适应不同规模的测量控制制 简单测量命令:提供容易、快速的scpi仪器控制 详细测量命令:提供传统仪器控制(6)scpi的可扩性的可扩性. scpi允许用新命令扩充程控命令集。 3.1.2 scpi仪器模型n针对针对scpi命令是描述测试功能,而不是仪器命令是描述测试功能,而不是仪器硬件组成、技术手段和前面板控制,硬件组成、技术手段和前面板控

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

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

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

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

11、键词的其余部分。关键词的书写形式要求不严格,可以与长形助记符完全相同,求不严格,可以与长形助记符完全相同,也可以只把第一个字母大写。也可以只把第一个字母大写。 助记符形成实例1. 语法和样式scpi命令中除了命令中除了”:”之外,还使用的标点符号之外,还使用的标点符号(1)“;”用来分隔同一命令字串中的两个用来分隔同一命令字串中的两个命令命令(2)“,”用于分隔命令参数用于分隔命令参数(3)“ ”空格用来分隔命令助记符和参数空格用来分隔命令助记符和参数2. 命令标记nscpi命令标记主要给出命令标记主要给出scpi要求的和可供要求的和可供选择的命令。选择的命令。scpi命令分为两类:仪器公命令

12、分为两类:仪器公用命令和用命令和scpi主干命令。主干命令。scpi把把ieee-488.2要求仪器必须执行的公用命令作为要求仪器必须执行的公用命令作为scpi仪器公用命令,这些公用命令用于控仪器公用命令,这些公用命令用于控制仪器的某些基本功能操作,其句法和语义制仪器的某些基本功能操作,其句法和语义遵循遵循ieee-488.2的规定。的规定。 scpi仪器公用命令 scpi主干命令关键字与基本功能scpi主干命令关键字与基本功能3. 数据交换格式n数据交换格式主要描述了一种仪器与应用之间、应数据交换格式主要描述了一种仪器与应用之间、应用与应用之间、仪器与仪器之间可以使用的数据集用与应用之间、仪

13、器与仪器之间可以使用的数据集的标准方法。的标准方法。scpi的交换格式语法与的交换格式语法与ieee-488.2语法是兼容的,分为标准参数格式和数据交换格式语法是兼容的,分为标准参数格式和数据交换格式两部分两部分。 n标准参数格式标准参数格式 :数值参数、离散参数、布尔参数、:数值参数、离散参数、布尔参数、字符串参数字符串参数n数据交换格式数据交换格式 :scpi的数据交换格式主要描述了的数据交换格式主要描述了一种数据结构,它用来作为仪器与仪器之间以及不一种数据结构,它用来作为仪器与仪器之间以及不同应用场合情况下交换特征数据。同应用场合情况下交换特征数据。 3.1.4 常用scpi命令简介1.

14、 常用仪器公用命令常用仪器公用命令(1)*idn?仪器标识查询命令。每台?仪器标识查询命令。每台vxi仪器都指仪器都指定了一个仪器标识代码。如对定了一个仪器标识代码。如对hp1411b模块,该模块,该命令实际返回标识码命令实际返回标识码hewlett packard,e1411b,0,g.06.03。(2)*rst复位命令。复位仪器到初始上电状态。在复位命令。复位仪器到初始上电状态。在仪器工作过程中,当发生程序出错或其他死机情况仪器工作过程中,当发生程序出错或其他死机情况时,经常需要复位仪器。一般情况下先用命令时,经常需要复位仪器。一般情况下先用命令*cls清仪器,然后再复位。清仪器,然后再复

15、位。常用仪器公用命令(3)*tst?自检命令。该命令复位仪器,完成自检,?自检命令。该命令复位仪器,完成自检,返回自检代码。返回返回自检代码。返回“0”表示仪器正常,否则仪器表示仪器正常,否则仪器存在故障需维修。自检命令是确定仪器操作过程是存在故障需维修。自检命令是确定仪器操作过程是否出现问题的一个有效手段。否出现问题的一个有效手段。(4)*cls清除命令。中断正在执行的命令,清除在清除命令。中断正在执行的命令,清除在命令缓冲区等待的命令。例如当数字表正在等待外命令缓冲区等待的命令。例如当数字表正在等待外部触发信号时,此时输入的命令将在缓冲区等待,部触发信号时,此时输入的命令将在缓冲区等待,直

16、至触发信号接收到后才执行。命令直至触发信号接收到后才执行。命令*cls将清除在将清除在缓冲区等待的命令。缓冲区等待的命令。(5)*err?错误信息查询命令。当仪器操作过程中?错误信息查询命令。当仪器操作过程中发生错误时,错误代码和解释信息储存在错误队列发生错误时,错误代码和解释信息储存在错误队列中,用下述命令可以读出错误代码和解释信息:中,用下述命令可以读出错误代码和解释信息:syst:err?2. scpi主干命令(1)measure:测量命令:测量命令measure命令的一般形式为:命令的一般形式为:measure: ? ,n完成交流电压测量的命令形式为:完成交流电压测量的命令形式为: m

17、easure:voltage:ac?,(2)configure:配置命令configure命令的一般形式为:命令的一般形式为:configure: , n该命令完成仪器配置,其参数意义及用法与该命令完成仪器配置,其参数意义及用法与measure命令一致。例如,对于数字万用表,命令一致。例如,对于数字万用表,该命令用指定参数设置数字万用表。该命令用指定参数设置数字万用表。(3)read?:读命令read?命令的一般形式为:命令的一般形式为:read: ? , n读命令通常与读命令通常与configure命令配合使用。例如,对命令配合使用。例如,对于数字万用表,该命令主要完成如下两个功能。于数字万

18、用表,该命令主要完成如下两个功能。置数字万用表在等待触发状态(执行置数字万用表在等待触发状态(执行initiate命命令)。令)。触发后,直接将读数送入输出缓冲区。触发后,直接将读数送入输出缓冲区。(4)fetch?:取命令fetch?命令的一般形式为:命令的一般形式为:fetch? ? , n该命令取出由最近的该命令取出由最近的initiate命令放在内存命令放在内存中的读数值,并将这些读数送到输出缓冲区。中的读数值,并将这些读数送到输出缓冲区。在送在送fetch?命令前,必须先执行命令前,必须先执行init命令,命令,否则将产生错误。否则将产生错误。 3.1.5 scpi编程方法 初始化状

19、态 复 位 设定触发方式 测 量 读数据到缓冲器 结果处理 到主机 *cls *rst configure: trigger: measure: calculate: scpiscpi的编程步骤的编程步骤 3.2 虚拟仪器软件结构(visa)n虚拟仪器软件结构虚拟仪器软件结构(virtual instrumentation software architecture,visa),是),是vxi即插即用即插即用(vxi plug &play,vpp)系统联盟制定的系统联盟制定的i/o函数库函数库及其相关规范的总称,一般及其相关规范的总称,一般称这个称这个i/o 函数库为函数库为visa

20、库。这些库函数用来编写仪库。这些库函数用来编写仪器驱动程序,完成计算机与器驱动程序,完成计算机与仪器间的命令和数据传输。仪器间的命令和数据传输。 测试编程环境 测试应用软件 仪器软面板 仪器驱动器 i/o 接口驱动软件(visa) gpib vxi 其他 虚拟仪器的软件体系结构虚拟仪器的软件体系结构 3.2.1 visa的结构与特点nvisa的结构模型为金字塔结构的结构模型为金字塔结构 ,如图,如图 visa的特点 (1)visa的的i/o控制功能适用于各种类型仪器,包控制功能适用于各种类型仪器,包括括vxi仪器、仪器、gpib仪器和仪器和rs-232c接口仪器等,接口仪器等,既可用于既可用于

21、vxi消息基器件,也可用于消息基器件,也可用于vxi寄存器基寄存器基器件。器件。(2)visa具有与仪器硬件接口无关的特性,采用具有与仪器硬件接口无关的特性,采用visa编写的模块驱动程序既可以用于嵌入式计算编写的模块驱动程序既可以用于嵌入式计算机机vxi系统,也可以用于基于系统,也可以用于基于mxi、gpib-vxi或或1394接口的系统中。当需要更换接口的系统中。当需要更换vxi总线系统控总线系统控制器时,模块驱动程序无须改动。制器时,模块驱动程序无须改动。(3)visa的的i/o控制功能适用于单处理器系统结构,控制功能适用于单处理器系统结构,也适于多处理器结构或分布式网络结构。也适于多处

22、理器结构或分布式网络结构。 3.2.2 visa的现状n1995年年12月颁布的月颁布的visa库规范中规定了库规范中规定了visa资资源模板、源模板、visa资源管理器、资源管理器、visa仪器管理器、仪器管理器、visa仪器控制资源四类函数,共仪器控制资源四类函数,共54个。个。vpp规范规范在在1997年年1月、月、1997年年12月、月、1998年年12月的月的visa规定修订版中,陆续作了新的补充与更新,规定修订版中,陆续作了新的补充与更新,如增加了一些新的如增加了一些新的visa类型、错误代码、事件、类型、错误代码、事件、格式化格式化i/o修饰符等。修饰符等。n要全部实现要全部实现

23、visa标准,对仪器厂商是一项非常复标准,对仪器厂商是一项非常复杂的工作,如杂的工作,如hp公司公司1996年年5月为用户提供的月为用户提供的hp visa库基本实现了库基本实现了visa库函数,但也没有考虑到库函数,但也没有考虑到标准中的全部参数和功能。标准中的全部参数和功能。hp、ni等各大公司都等各大公司都正在逐步完善各自的正在逐步完善各自的visa库。库。3.2.3 visa的资源结构 应用程序 应用程序 资源管理者 仪器控制 资源组织者资源 仪器控制资源 接口专用的 仪器控制资源 接口专用的 仪器控制资源 visavisa的资源结构的资源结构 visa中的3种机制的作用 资源通道 应

24、用程序 写资源 仪器 锁定机制 事件 机制 捕获事件 回调事件处理 属性 机制: 设置写 的方式 3.2.4 visa的应用nc语言例程语言例程#include “visa.h”void main() visession defaultrm,vi; vistring buffer; viuint32 retcnt; vistatus status; status=viopendefaultrm(&defaultrm); /打开与默认资源管理器的通话打开与默认资源管理器的通话 status=viopen(defaultrm,”gpib0:1:instr”, ,vi_ null,vi_nu

25、ll, &vi); / 打开与特定器件的通话打开与特定器件的通话 status=viwrite(vi,”*idn? n”,6,&retcnt); /向特定器件写字符串向特定器件写字符串 status=viread(vi,buffer,80,&retcnt); /从特定器件读字符串从特定器件读字符串 status=viclose(vi); / 关闭与特定器件的通话关闭与特定器件的通话 status=viclose(defaultrm); /关闭与默认资源管理器的通话关闭与默认资源管理器的通话3.3 虚拟仪器驱动程序n仪器驱动程序是完成对某一特定仪器的控制与通信仪器驱动程序

26、是完成对某一特定仪器的控制与通信的软件程序。是连接仪器与用户界面的桥梁。的软件程序。是连接仪器与用户界面的桥梁。n每个仪器模块均有自己的仪器驱动程序。仪器驱动每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的。对于应用程序设作是通过仪器驱动程序来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十计人员来说,一旦有了仪器驱动程序,在不是十分了解仪器内部操作过程的情况下,也可以进行虚分了解

27、仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。仪器驱动程序是连接上层拟仪器系统的设计工作。仪器驱动程序是连接上层应用软件与底层输入应用软件与底层输入/输出软件的纽带和桥梁,是输出软件的纽带和桥梁,是虚拟仪器软件的核心,是系统设计的关键。虚拟仪器软件的核心,是系统设计的关键。vpp与ivinvxi即插即用即插即用(vxi plug&play, vpp)规范的制规范的制定为不同厂家仪器驱动程序的开发提供了一个可定为不同厂家仪器驱动程序的开发提供了一个可依托的标准,该规范定义了系统的互操作性,把依托的标准,该规范定义了系统的互操作性,把虚拟仪器软件体系结构虚拟仪器软件体系结构v

28、isa确定为一种标准的确定为一种标准的i/o接口,用于在接口,用于在vxi、gpib和串行总线上传输和串行总线上传输命令;命令;nivi基金会基金会(interchangeable virtual instrument fundation)制定的制定的ivi规范,比规范,比vpp规范又向前迈进了一步,这一可互换式虚拟规范又向前迈进了一步,这一可互换式虚拟仪器规范给出的驱动程序结构模型仪器规范给出的驱动程序结构模型ivi模型,模型,在没有增加系统资源操作复杂性的前提下,把互在没有增加系统资源操作复杂性的前提下,把互操作性的概念推广到仪器级,成为开发虚拟仪器操作性的概念推广到仪器级,成为开发虚拟仪

29、器驱动程序的标准规范。驱动程序的标准规范。3.3.1 vpp仪器驱动程序n20世纪世纪90年代,随着年代,随着vxi总线的建立和总线的建立和vxi仪器的仪器的发展,程控仪器驱动软件与编程环境的标准化成为发展,程控仪器驱动软件与编程环境的标准化成为测试与仪器领域人们关注的问题。由世界上几十家测试与仪器领域人们关注的问题。由世界上几十家最有实力的仪器厂商最有实力的仪器厂商(包括包括hp,tek和和recal等公司等公司)联 合 成 立 了联 合 成 立 了 v x i 即 插 即 用 系 统 联 盟即 插 即 用 系 统 联 盟 ( v x i plug&play systems alli

30、ance)。作为测试与仪器。作为测试与仪器软件兼容性工业标准发展的第一步,该联盟提出了软件兼容性工业标准发展的第一步,该联盟提出了vxi即插即用即插即用(vpp)标准。标准。nvpp标准的设计目标是使任何满足该标准的计算机标准的设计目标是使任何满足该标准的计算机i/o设备、仪器和软件能够一起工作,实现多个系设备、仪器和软件能够一起工作,实现多个系统供应商提供的软件和软件产品的互操作性,为用统供应商提供的软件和软件产品的互操作性,为用户提供一体化测试与测量系统解决方案。户提供一体化测试与测量系统解决方案。1. vpp主要规范内容nvpp规范包括规范包括vpp1vpp10等十几个规范等十几个规范v

31、pp-1 联盟章程文件联盟章程文件vpp-2 系统框架技术规范,规定了系统框架技术规范,规定了dos,win(dows)等五种构架平台等五种构架平台vpp-3.1 仪器驱动器结构和设计技术规范仪器驱动器结构和设计技术规范 vpp-3.2 仪器驱动函数体技术规范仪器驱动函数体技术规范 vpp-3.3 仪器驱动器交互式开发者接口技术规范仪器驱动器交互式开发者接口技术规范 vpp-3.4 仪器驱动器编程开发者接口技术规范仪器驱动器编程开发者接口技术规范 vpp-4.1 visa-1虚拟仪器软件结构规范虚拟仪器软件结构规范 vpp-4.2.1 visa-2虚拟仪器软件结构转换库规范虚拟仪器软件结构转换

32、库规范vpp规范 vpp-4.2.2 visa-2虚拟仪器软件结构转换库虚拟仪器软件结构转换库(vtl)对于对于wtl构架的执行规范构架的执行规范 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 标志和注册标志和注

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

34、仪器驱动程序与系统其他软件的接口。件的接口。n第二个模型第二个模型是仪器驱动程序内部设计模是仪器驱动程序内部设计模型,描述了仪器驱动程序软件模块的内型,描述了仪器驱动程序软件模块的内部组建结构,该结构与具体的仪器驱动部组建结构,该结构与具体的仪器驱动程序开发工具无关。程序开发工具无关。仪器驱动程序外部接口模型 交互式开 发者接口 应用程序 编程开 发者接口 子程序 接 口 visa i/o 接 口 仪器驱动程序 (驱动程序体) 仪器驱动程序由一系列软件模块组成,这些软件模块和整仪器驱动程序由一系列软件模块组成,这些软件模块和整个系统里的其他软件进行交互,一方面和具体仪器通信;个系统里的其他软件

35、进行交互,一方面和具体仪器通信;另一方面和更高层的软件或使用仪器驱动程序的用户通信另一方面和更高层的软件或使用仪器驱动程序的用户通信。仪器驱动程序内部设计模型用户程序编程式开发者接口交互式开发者接口函数体应用函数初始化函数关闭函数配置函数作用/状态函数数据函数实用函数部件函数子程序接口visa i/o接口4. 仪器驱动程序的函数体规范n所有所有vpp仪器驱动程序文件和必备函数名称都有一仪器驱动程序文件和必备函数名称都有一个规范化的前缀。该前缀以个规范化的前缀。该前缀以vpp-9规范定义的仪器规范定义的仪器厂商的两个缩写字符开头,再加上仪器型号的描述厂商的两个缩写字符开头,再加上仪器型号的描述字

36、符组成。字符组成。n例如,例如,tektronix公司的公司的vx4750模块化的仪器驱模块化的仪器驱动程序动程序ansi.c源文件名为源文件名为tkvx4750.c,由,由tektronix的缩写字符的缩写字符“tk”与模块名称与模块名称“vx4750”组合而成。为了方便起见,以下都用组合而成。为了方便起见,以下都用prefix来表来表示该前缀。示该前缀。仪器驱动程序的必备函数初始化函数初始化函数初始化函数用于建立与仪器的通信连接。初始化函数用于建立与仪器的通信连接。 ansi c联编的初始化函数原型为:联编的初始化函数原型为: vistatus vi_func prefix_init (

37、virsrc rsrcname, viboolean id_query,viboolean reset_instr, vipsession vi ); 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初始化函数的参数与返回值表复

38、位函数复位函数用于将仪器置于默认状态。复位函数用于将仪器置于默认状态。ansi c联编的复位函数原型为:联编的复位函数原型为:vistatus_vi_func prefix_reset ( visession vi );visual basic联编的复位函数原型为:联编的复位函数原型为:declare function prefix_reset lib prefix.dll ( byval vi as long ) as long复位函数的参数与返回值表:复位函数的参数与返回值表:自检函数自检函数实现仪器的自检并返回自检结果。自检函数实现仪器的自检并返回自检结果。ansi c联编的自检函数原型

39、为:联编的自检函数原型为:vistatus_vi_func prefix_self_ test (visession vi,viint16 test_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自检函数的参数与返回值表错误查询函数 错误查询函数对仪器进行查询并返

40、回与仪器相关错误查询函数对仪器进行查询并返回与仪器相关的错误信息。的错误信息。ansi c联编的错误查询函数原型为:联编的错误查询函数原型为:vistatus_vi_func prefix_error_query (visession vi,viint32 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, byv

41、al error_merrage as string ) as long错误查询函数的参数与返回值表错误消息函数 错误消息函数将仪器驱动程序函数返回的错误代错误消息函数将仪器驱动程序函数返回的错误代码转换为用户可读的字符串。码转换为用户可读的字符串。ansi c联编的错误消息函数原型为:联编的错误消息函数原型为:vistatus_vi_func prefix_error_message (visession vi, vistatus status_code, vichar_vi_far message);visual basic联编的错误消息函数原型为:联编的错误消息函数原型为:declare

42、 function prefix_error_message lib prefix.dll (byval vi as long, byval status_code as long, byval merrage as string ) as long错误消息函数的参数与返回值表版本查询函数 版本查询函数返回仪器驱动程序和仪器固件的版本号。如版本查询函数返回仪器驱动程序和仪器固件的版本号。如果仪器不支持固件版本查询,版本查询函数将在输出参数果仪器不支持固件版本查询,版本查询函数将在输出参数instr_rev中返回字符串中返回字符串“not available”,并返回警告代码并返回警告代码vi_

43、warn_nsup_rev_que。ansi c联编的版本查询函数原型为:联编的版本查询函数原型为:vistatus_vi_func prefix_revision_query (visession vi,vichar_vi_far driver_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 in

44、str_rev as string ) as long版本查询函数的参数与返回值表 关闭函数 关闭函数终止与仪器的软件连接,并释放与该仪关闭函数终止与仪器的软件连接,并释放与该仪器相关的系统资源。器相关的系统资源。ansi c联编的关闭函数原型为:联编的关闭函数原型为:vistatus_vi_func prefix_close(visession vi);visual basic联编的版本查询函数原型为:联编的版本查询函数原型为:declare function prefix_close lib prefix.dll (byval vi as long) as long关闭函数的参数与返回值表

45、:关闭函数的参数与返回值表:5. vpp仪器驱动程序的设计方法(1)应确定需要研制的仪器模块的类型,确定其属于)应确定需要研制的仪器模块的类型,确定其属于vxi仪仪器、器、gpib仪器还是串行接口仪器。仪器还是串行接口仪器。 (2)应确定仪器模块的应用目标及功能指标。)应确定仪器模块的应用目标及功能指标。 (3)在基本清楚了设计目标之后,应选择虚拟仪器系统的系)在基本清楚了设计目标之后,应选择虚拟仪器系统的系统框架,确定模块设计的软、硬件环境。统框架,确定模块设计的软、硬件环境。 (4)应选择一个可作参考的现有的)应选择一个可作参考的现有的vpp仪器驱动程序,尽量仪器驱动程序,尽量在现有的仪器

46、驱动程序基础上进行设计,不必要从头开始进在现有的仪器驱动程序基础上进行设计,不必要从头开始进行重复劳动。行重复劳动。 (5)在对应参考模块的研究基础上,确定仪器驱动程序应包)在对应参考模块的研究基础上,确定仪器驱动程序应包括的功能函数,也即仪器驱动程序的内部设计模型。括的功能函数,也即仪器驱动程序的内部设计模型。 (6)将所定义的所有功能函数用)将所定义的所有功能函数用c语言实现。语言实现。 (7)在图形化平台上运行调试仪器驱动程序。)在图形化平台上运行调试仪器驱动程序。 (8)编写仪器驱动程序相关文件。)编写仪器驱动程序相关文件。 3.3.2 ivi仪器驱动器n1998年美国年美国ni公司最先提出了一种新的基于状态公司最先提出了一种新的基于状态管理的仪器驱动器体系结构,即可互换虚拟仪器驱管理的仪器驱动器体系结构,即可互换虚拟仪器驱动器动器(interchangeable virtual instruments,ivi)模型和规范,并开发了基于虚拟仪器软件平台模型和规范,并开发了基于虚拟仪器软件平台的的ivi驱动程序库。驱动程序库。nivi是在是在vpp技术上发展而来的一项新技术,主要技术上发展而来的一项新技术,主要研

温馨提示

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

评论

0/150

提交评论