虚拟仪器课件:第3章虚拟仪器软件标准.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《虚拟仪器课件:第3章虚拟仪器软件标准.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 课件 软件 标准
- 资源描述:
-
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、有自己的仪器驱动程序。仪器驱动每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的。对于应用程序设作是通过仪器驱动程序来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十计人员来说,一旦有了仪器驱动程序,在不是十分了解仪器内部操作过程的情况下,也可以进行虚分了解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。仪器驱动程序是连接上层拟仪器系统的设计工作。仪器驱动程序是连接上层应
展开阅读全文