自动测试系统第九章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UESTC-ATSPage1自动测试系统第九章虚拟仪器软件架构Page2UESTC----ATSATS本章要点VISA构成VISA编程Page3UESTC----ATSATS第一节VISA概述VISA(VirtualInstrumentSoftwareArchitecture)VXIplug&play(VXI即插即用简称VPP)VPP系统联盟制定的I/O接口软件标准及其相关规范的总称为什么需要I/O接口软件标准?Page4UESTC----ATSATS第一节VISA概述虚拟仪器软件体系结构测试应用软件测试编程环境(AgilentVEE,NILabVIEW,NILabWindows/CVI等)仪器驱动器(ID)I/O接口驱动软件(VISA)仪器软面板GPIBVXI其它Page5UESTC----ATSATS第一节VISA概述I/O接口软件规范即VPP4.X系列规范VPP4.3:VISA库VPP4.3.2:文本语言的VISA实现规范VPP4.3.3:图形语言的VISA实现规范VISA库以动态链接库的形式提供visa.dllvisa.libvisa.hvisatype.hPage6UESTC----ATSATS第一节VISA概述常见VISA库AgilentVISANIVISAI/O接口标准化后,软件的通用性如何体现?如何使用AgilentVISA来访问NI的接口卡?Page7UESTC----ATSATS第一节VISA概述两种软件接口设计模型自顶向下的I/O接口软件设计模型自底向上的I/O接口软件设计模型VISA结构资源管理层I/O资源层仪器资源层用户自定义资源层用户层图VISA结构Page8UESTC----ATSATS第二节VISA库构成VISA库包括:VISA资源模板VISA资源管理VISA类VISA特殊操作Page9UESTC----ATSATS第二节VISA库构成VISA资源模板为什么要引入资源模板?资源模板提供的两类服务控制服务生命期控制服务属性控制服务异步操作控制服务访问控制服务通信服务Page10UESTC----ATSATS第二节VISA库构成VISA模板接口一览viClose(vi)viGetAttribute(vi,attribute,attrState)viSetAttribute(vi,attribute,attrState)viStatusDesc(vi,status,desc)viTerminate(vi,degree,jobId)viLock(vi,lockType,timeout,requestedKey,accessKey)viUnlock(vi)viEnableEvent(vi,eventType,mechanism,context)viDisableEvent(vi,eventType,mechanism)viDiscardEvents(vi,eventType,mechanism)viWaitOnEvent(vi,inEventType,timeout,outEventType,outContext)viInstallHandler(vi,eventType,handler,userHandle)viUninstallHandler(vi,eventType,handler,userHandle)Page11UESTC----ATSATS第二节VISA库构成VISA资源模板——生命期控制服务功能关闭已打开的会话释放所有已产生的数据结构如:释放由viFindRsrc()建立的资源查找表释放viWaitOnEvent()等待的事件相关模板函数viClose其他相关函数viOpen()viFindRsrc()viWaitOnEvent()Page12UESTC----ATSATS第二节VISA库构成VISA资源模板——属性控制服务功能设置或获得资源属性值获得状态代码的文本描述相关模板函数viSetAttribute()viGetAttribute()viStatusDesc()Page13UESTC----ATSATS第二节VISA库构成VISA资源模板——异步操作控制服务功能终止异步操作相关模板函数viTerminate()其他相关函数viReadAsync()viWriteAsync()Page14UESTC----ATSATS第二节VISA库构成VISA资源模板——访问控制服务功能通过“锁”机制提供对资源访问控制两种“锁”独占“锁”共享“锁”相关模板函数viLock()viUnLock()Page15UESTC----ATSATS第二节VISA库构成VISA资源模板——访问控制服务什么是共享锁?什么是独占锁?两类锁对资源访问权的限制?锁的嵌套Page16UESTC----ATSATS第二节VISA库构成Page17UESTC----ATSATS第二节VISA库构成Page18UESTC----ATSATS第二节VISA库构成VISA资源模板——事件服务功能通过“事件”提供应用和资源间的通信“事件”处理中的两种机制回调队列相关模板函数viEnableEvent()viDisableEvent()viDiscardEvents()viInstallHandler()viEventHandler()viWaitOnEvent()viUninstallHandler()Page19UESTC----ATSATS第二节VISA库构成Page20UESTC----ATSATS第二节VISA库构成Page21UESTC----ATSATS第二节VISA库构成Page22UESTC----ATSATS第二节VISA库构成VISA资源管理通过资源管理器对资源进行管理进行资源地址,资源ID的分配提供到VISA资源的所有连接,为应用提供对独立资源的控制和访问资源管理器提供的服务访问viOpen()查找viFindRsrc(),viFindNext()Page23UESTC----ATSATS第二节VISA库构成VISA资源管理函数接口一览viFindRsrc()viFindNext()viOpen()viParseRsrc()viParseRsrcEx()Page24UESTC----ATSATS第二节VISA库构成VISA资源管理——资源访问服务通过资源管理器对资源进行控制和管理,资源管理器以一种系统资源存在viOpenDefaultRM()在资源管理器会话建立起来后,可以通过与资源建立会话,对资源进行访问viOpen()Page25UESTC----ATSATS第二节VISA库构成Page26UESTC----ATSATSPage27UESTC----ATSATS第二节VISA库构成可选字段的缺省值如下表Page28UESTC----ATSATS第二节VISA库构成地址举例Page29UESTC----ATSATS第二节VISA库构成VISA资源管理——资源查找提供与资源位置无关的资源查找和定位服务viFindRsrc()viFindNext()Page30UESTC----ATSATS第二节VISA库构成Page31UESTC----ATSATS第二节VISA库构成Page32UESTC----ATSATS第二节VISA库构成Page33UESTC----ATSATS第二节VISA库构成Page34UESTC----ATSATS第二节VISA库构成VISA资源类仪器控制资源存储器访问资源GPIB总线接口资源VXI主机箱背板资源从者器件侧资源TCP/IP套接字资源Page35UESTC----ATSATS仪器控制资源使控制器和相关设备交互控制器可以发送数据块到设备,向设备请求数据向设备发送清除命令触发设备查找设备状态信息也允许控制器访问设备寄存器提供的服务包括基本I/O服务格式化I/O服务存储器I/O服务共享存储器服务Page36UESTC----ATSATS第二节VISA库构成通用的仪器控制资源属性VI_ATTR_INTF_TYPE给定会话的接口类型VI_ATTR_INTF_NUM给定接口的板号VI_ATTR_INTF_INST_NAME给定接口的文本描述VI_ATTR_TMO_VALUE等待的最小的时间值,VI_ATTR_TRIG_ID当前触发机制IDVI_ATTR_DMA_ALLOW_EN该属性规定是否I/O访问使用DMA或可编程I/O。在一些实现中,该属性有全局影响。Page37UESTC----ATSATS仪器控制资源事件VI_EVENT_SERVICE_REQ服务请求收到VI_EVENT_VXI_SIGPVXI总线信号或VXI总线中断收到VI_EVENT_TRIG触发中断收到,对VISA,唯一可以被感知的触发是VXI硬件触发。VI_EVENT_IO_COMPLETIO异步操作完成VI_EVENT_VXI_VME_INTRVXI总线中断收到VI_EVENT_USB_INTRvendor规定的USB中断收到VI_EVENT_PXI_INTRPCI中断收到Page38UESTC----ATSATS第二节VISA库构成VISA特殊操作基本I/O格式化I/O存储器I/O共享存储器服务特定接口服务Page39UESTC----ATSATS第二节VISA库构成基本I/OviRead(vi,buf,count,retCount)以同步方式从设备读数据viReadAsync(vi,buf,count,jobId)异步方式从设备读取数据viReadToFile(vi,filename,count,retCount)同步读取数据,并将数据存储到文件viWrite(vi,buf,count,retCount)同步写数据到设备viWriteAsync(vi,buf,count,jobId)异步写数据到设备viWriteFromFile(vi,filename,count,retCount)同步写数据到文件viAssertTrigger(vi,protocol)给出一个软件或者硬件触发viReadSTB(vi,status)读取服务请求状态字viClear(vi)清设备Page40UESTC----ATSATS第二节VISA库构成Page41UESTC----ATSATS第二节VISA库构成Page42UESTC----ATSATS第二节VISA库构成格式化I/OviSetBuf(vi,mask,size)设置格式化I/O或串行I/O通信缓冲大小viFlush(vi,mask)在格式化I/O操作或串行通信中清空特定缓冲viPrintf(vi,writeFmt,arg1,arg2,...)将参数根据格式化字串进行转换并发送viVPrintf(vi,writeFmt,params)按照格式化字串转换格式化参数,并将数据发送到设备viSPrintf(vi,buf,writeFmt,arg1,arg2,...)根据格式化字符串转换参数,并将数据写入用户指定的缓存而不是设备viVSPrintf(vi,buf,writeFmt,params)与viVPrintf()相似,不同在与数据写入到用户指定的缓存而不是设备viBufWrite(vi,buf,count,retCount)与viWrite()相似,不同在于数据写入到格式化I/O的写缓存而不是到设备Page43UESTC----ATSATS第二节VISA库构成格式化I/OviScanf(vi,readFmt,arg1,arg2,...)根据格式化规定读取并转换数据,并将数据存放到输入的参数

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功