自动测试系统 VISA

上传人:飞*** 文档编号:54209109 上传时间:2018-09-09 格式:PPT 页数:51 大小:265.50KB
返回 下载 相关 举报
自动测试系统 VISA_第1页
第1页 / 共51页
自动测试系统 VISA_第2页
第2页 / 共51页
自动测试系统 VISA_第3页
第3页 / 共51页
自动测试系统 VISA_第4页
第4页 / 共51页
自动测试系统 VISA_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《自动测试系统 VISA》由会员分享,可在线阅读,更多相关《自动测试系统 VISA(51页珍藏版)》请在金锄头文库上搜索。

1、自动测试系统,VISA,VISA简介,VISAVirtual Instrumentation Software Architecture 虚拟仪器软件结构,是VPP系统联盟制订的I/O接口软件标准及其相关规范的总称。随着虚拟仪器系统,特别是VXI总线技术的发展,当硬件实现标准化后,软件的标准化已成为VXI总线技术发展的热点问题。I/O接口软件作为VXI总线系统软件结构中承上启下的一层,其标准化非常重要。如何解决I/O接口软件的统一性与兼容性,成为组建VXI总线的关键。,VXI虚拟仪器系统结构,VXI虚拟仪器系统结构说明,VXI零槽模块与其它模块一起,构成了虚拟仪器系统硬件结构。在这些仪器模块中

2、,既可以是VXI仪器、GPIB仪器、异步串行通信仪器等,也可以是消息基器件、寄存器基器件、存储器基器件等。,VXI虚拟仪器系统结构说明,I/O接口软件驻留于计算机系统之中,是计算机于仪器之间的软件层连接,对于仪器驱动器来说是一个可调用的操作函数。每个仪器模块都有自己的仪器驱动程序,它是应用程序实现对仪器控制的桥梁。自动测试系统应用程序直接面对的是操作用户,通过直观友好的测控操作与显示界面、丰富的数据分析与处理能力,完成工业领域的自动测试任务。I/O接口软件、仪器驱动程序与应用程序自下而上构成了虚拟仪器系统软件结构。,VISA的发展,VISA出现之前已有过不少I/O软件,如NI公司用于控制GPI

3、B仪器的NI488及用于控制VXI仪器的NI-VXI,还有HP公司的SICL(标准仪器控制语言)。这些都是比较优秀的I/O接口软件,但针对某一厂家的某种控制器编写的软件无法适用于另一厂家的另一种控制器,也就是说,它们都是不可互换的。因此,必须有标准的I/O接口软件以实现VXI即插即用的仪器驱动程序和软面板在使用各个厂商控制器的VXI系统中正常运行,这种标准也能确保用户的测试应用程序适用于各种控制器。,VISA的发展,作为迈向工业界软件兼容性的一步,VPP系统联盟制定了新一代的I/O接口软件规范,称为虚拟仪器软件结构(VISA)规范。把标准I/O接口软件称为VISA库。它为整个工业界提供统一的软

4、件基础。全世界的VXI模块生产厂家将以该接口软件作为I/O控制的的底层函数库开发VXI模块的驱动程序。在通用的接口软件基础上,不同厂商的软件可以在同一平台上协调运行,这大大减少工业界的软件重复开发,缩短测试应用程序的开发周期,极大的推动了VXI软件标准化进程。,VISA的概况,对于驱动程序,应用程序开发者而言,VISA库函数是一套可方便调用的函数,其中核心函数可控制各种类型器件,而不用考虑器件的接口类型。用户不必因厂家的不同而重新学习VISA,其开发的器件也具有更好的适应性。,VISA的概况,但对于厂商,VISA规范仅规定了该函数库应该向用户提供的标准函数、参数形式、返回代码等,但并未说明如何

5、实现。VISA与硬件密切相关,厂商必须根据自己的硬件设计提供相应的VISA库,增大了软件开发难度。作为I/O接口软件,VISA库一般用于编写符合VPP规范的仪器驱动程序,完成计算机与仪器间的命令和数据传输,以实现对仪器的程控。VXI零槽与其它仪器一起构成了VXI总线系统的硬件结构,VXI库作为底层I/O接口软件驻留在系统管理器计算机中,是实现计算机系统与仪器之间命令与数据传输的桥梁与纽带。,VISA的结构,VISA采用自底向上的结构,与自顶向下的结构不同的是VISA库首先定义了一个管理所有资源的资源资源管理器,这个资源称为VISA资源管理器,用于管理、控制和分配VISA资源的操作能力。各种操作

6、功能主要包括:资源寻址、资源创建与删除、资源属性的读取与修改、操作激活、事件报告、并行与存取控制、缺省值设置等。,VISA的结构,与自上而下的结构相比,VISA的结构模型是从仪器操作本身开始的,它实现的统一是深入到操作功能中去而不是停留在仪器类型之上。在VISA结构中,仪器类型的区别体现在统一格式的资源中操作的选取,对于VISA使用者来说,形式与用法上是单一的。从而,来自不同厂家的不同的仪器软件可以在统一的平台上进行。,VISA的结构,VISA的结构,VISA结构自下而上构成一个金字塔结构,最底层为资源管理层,其上为I/O资源层、仪器资源层与用户自定义资源层。其中,用户自定义资源层的定义,在规

7、范中没有定义,是VISA的可变层,实现了扩展性和灵活性。在金字塔顶的用户应用程序,是用户利用VISA资源实现的应用程序,其本身并不属于VISA资源。,VISA的特点,VISA的自下而上的结构模型创造了统一的I/O控制函数库,形式上与其它的I/O接口软件非常相似。对于初学者来说,VISA提供了简单易学的控制函数集,应用形式十分简单;对于复杂组建者来说,VISA提供了非常强大的仪器控制功能。,VISA的特点,与现存I/O接口软件相比较,VISA具有以下特点:VISA的I/O控制功能适用于各种类型仪器,如VXI仪器、GPIB仪器、RS-232仪器等,既可用于VXI消息基器件,也可用于VXI寄存器基器

8、件 与仪器硬件接口无关的特性,即利用VISA编写的模块驱动程序既可以用于嵌入式计算机VXI系统,也可用于通过GPIB等接口控制的系统中。更换不同厂家的接口卡时,无须改动模块驱动程序。,VISA的特点,VISA的I/O控制功能适用于单处理器系统结构,也适于多处理器结构或分布式网络结构 VISA的I/O控制功能适用于多种网络机制由于VISA考虑了多种仪器接口类型与网络机 制的兼容性,以VISA为基础的VXI总线系统,不 仅可以与过去已有的仪器系统结合,可以将仪器 系统从过去的集中式结构过渡到分布结构,还保 证新一代的仪器完全可以加入到VXI总线系统中。,VISA的现状,要全部实现VISA标准,对控

9、制器厂商来说是一项非常复杂的工作,如HP公司1996年5月为用户提供的HP VISA库基本实现了VISA库函数,但也没有完全考虑标准中的全部参数和功能。HP、NI等各大公司都正在逐步完善各自的VISA库。,VISA的应用举例,下面通过分别调用非VISA的I/O接口软件库与VISA库函数,对GPIB器件与VXI消息基器件进行简单的读/写操作,以比较VISA和其它I/O接口软件的异同点。首先讨论用非VISA的I/O接口软件库(NI公司的NI488)实现对GPIB仪器的读/写操作。,例一 用非VISA的I/O接口软件库NI488实现对GPIB仪器的读/写操作,int main(void) char

10、rdResponseRESPONSE_LENGTH; /*响应返回值*/int status; /*返回状态值*/short id; /*器件软件句柄*/id=ibfind(“devl”); /*开启GPIB器件*/status=ibpad(5); /*器件主地址为5*/status=ibwrt(id, “*IDN?”,5); /*发送查询标识符命令*/status=ibrd(id,rdResponse,RESPONSE_LENGTH); /*读回响应值*/return 0; ,例一 程序说明,程序分为四个区: 声明区:声明程序中的所有变量的数据类型 开启区:进行GPIB初始化,确定器件地址,

11、并为每个器件返回一个对应的软件句柄 器件I/O区:主要完成命令发送,并从GPIB器件中读回响应数据,通过对软件句柄的处理,完成对仪器的一对一操作 关闭区:GPIB的I/O软件库将本身的数据结构存于内存中,当系统关闭时,所有仪器全部自动关闭,即,GPIB的I/O软件库无关闭机制,例二 用非VISA的I/O接口软件库(NI-VXI)实现对VXI消息基仪器的读/写操作,int main(void) char rdResponseRESPONSE_LENGTH; /*响应返回值*/int16 status; /*返回状态值*/uint32 retCount; /*实际传送字节数*/int16 logi

12、cal Addr; /*器件逻辑地址*/int16 mode; /*数据传送模式*/status=InitVXILibrary(); /*开启GPIB器件*/logicalAddr=5; /*逻辑主地址为5*/status=WSwrt(logicalAddr, “*IDN?”,5,mode,例二 程序说明,程序分为四个区: 声明区:声明程序中的所有变量的数据类型 开启区:进行VXI消息基器件初始化,确定VXI消息基器件的逻辑地址。 器件I/O区:主要完成命令发送,并从VXI消息基器件读回响应数据,通过对逻辑地址的处理,完成对器件的一对一操作 关闭区:对于VXI器件,存在着一个关闭机制,要求在结

13、束器件操作的时候,同时关闭I/O接口软件库,例三 用VISA I/O接口软件库实现对GPIB仪器与VXI消息基仪器的读/写操作,int main(void) VIchar rdResponseRESPONSE_LENGTH; /*响应返回值*/Vistatus status; /*返回状态值*/ViUint32 retCount; /*实际传送字节数*/ViSession vi; /*器件软件句柄*/status=viOpen(viDefaultRM, “:natinst.con:VICO(GPIBI:5)”,0,0,例三 程序说明,程序分为四个区: 声明区:声明程序中的所有变量的数据类型 开

14、启区:进行消息基器件初始化,建立器件与VISA库的通信关系 器件I/O区:主要完成对消息基器件发送命令,并从消息基器件读回响应数据。对于GPIB器件的读/写操作与VXI消息基器件的读/写操作,调用的VISA函数是一样的 关闭区:在器件结束操作时,均需调用viClose()函数,关闭器件与VISA库的联系,例程总结,通过三个实例,我们可以得到两个结论: VISA库函数的调用与其它I/O接口软件库函数的调用形式基本相同,易学,且VISA的函数参数意义明确,结构一致,在理解与应用仪器程序时,效率较高 VISA库用户只需学习VISA函数应用格式,就可以对多种仪器实现统一控制,它所体现的多种结构与类型的

15、统一性,使不同仪器软件运行在同一平台上,为虚拟仪器系统软件结构提供了坚实的基础,VISA资源类与资源,VISA最基本的软件模块是定义在资源类上的资源 VISA的资源类概念类似于面向对象程序设计方法中的概念,类是一个实例外观和行为的描述,是一种抽象化的器件特点功能描述 VISA的资源概念类似于面向对象程序设计方法中对象的概念 VISA中的资源由三个要素组成,属性集 包括结束字符串,超时值及协议等事件集 包括用户退出事件操作集 包括各种端口读取操作,以读资 源为例,VISA资源描述格式,VISA资源独立于编程语言与操作系统,接口软件库的源程序唯一,为不同的操作系统提供不同的操作系统编程语言提供了不

16、同的API接口。VISA资源类分为5大类: VISA资源模板 VISA资源管理器 VISA仪器控制资源 VISA仪器控制组织器 VISA特定接口仪器控制资源,VISA资源描述格式表,注:X、Y为各自对应的标号,VISA资源定义表,VISA资源定义表续,VISA中事件的分析与处理,VISA中定义了VISA资源事件的处理机制 在仪器设备中,通常会遇到如下情况: 硬件设备请求系统给予处理,如GPIB设备发出的SRQ 硬件设备产生的需要系统立即响应,如VXI设备中SYSFAIL 程序有时需要知道一个系统服务程序是否在线 产生非正常状态,如设备资源进入非正常状态,需要终止程序执行 程序执行过程中出现错误,VISA事件模型,VISA事件模型包含3个部分: 捕获/通知设置一个VISA的源,使其进入能接收事件的状态 事件处理对VISA已经捕获到的事件进行相应处理 确认指事件处理完成后需要返回信息,用以确认是否已成功 的执行了事件处理任务,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号