- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC6.0的GPIB仪器控制实现方法
基于VC++?6.0的GPIB仪器控制实现方法?(2008-12-08 18:16:33)标签:?gpib?labview?通信?it分类:?射频引言基于GPIB(Gerneral Purpose Interface Bus)的自动测试系统是计算机技术和自动测试技术相结合的产物,目前仍广泛地应用于众多领域。GPIB标准接口总线是命令级兼容的外总线,主要用来连接各种仪器,组建由微机控制的自动测试系统。各种仪器只要配备了这种接口,就可以按要求灵活组建自动测试系统[1]。控制GPIB仪器的过程就是给仪器发送指令,然后从仪器接收数据的过程[2]。在VC++ 6.0编程环境下,可以利用Agilent VISA transition library(VTL)直接对仪器的参数设置进行控制,程序直观、可读性较强。由于不同的仪器回传的波形长度不同,且仪器回传的波形数据是ASCII码或二进制码,需通过算法进行波形数据解析,将其转换为十进制数组。LABVIEW8.0作为一个图形化编程软件,为实现仪器编程和数据采集系统提供便捷途径,其仪器I/O助手可以自动对波形长度和波形数据进行解析。在VC++6.0环境下将Agilent VTL与LabVIEW结合使用,即利用Agilent VTL直接对仪器的参数进行设置,利用LabVIEW生成的动态链接库(DLL)来读取仪器波形,这样可以节省时间,以便将更多的精力投入到优化测试算法、提高测试准确性上。1 GPIB仪器控制的硬件平台GPIB仪器控制的硬件平台由计算机、GPIB电缆、USB-GPIB控制器、GPIB仪器组成,如图1所示。其中,USB-GPIB控制器是一个USB与GPIB的接口转换控制器。使用USB-GPIB控制器时,不需要打开计算机主机箱,避免了计算机的内部噪声,且支持即插即用,使用起来较GPIB卡方便。同时,无需GPIB电缆即可直接将USB-GPIB控制器与仪器相连。?图1 GPIB仪器控制的硬件平台2 GPIB仪器控制的软件平台GPIB仪器控制的软件平台为VC++ 6.0,其底层将Agilent VTL与LabVIEW生成的DLL相结合。软件平台如图2 所示。?图2 GPIB仪器控制的软件平台2.1?调用Agilent VTLAgilent I/O Library中包含VISA transition library(VTL),只要安装I/O library就可通过VC++对仪器进行控制。VISA(虚拟仪器软件架构,Virtual Instrument System Architecture)是VXIplugplay系统联盟的35家最大的仪器仪表公司所统一采用的标准。GPIB、VXI、RS-232、LAN等接口均支持VISA。使用VISA编写仪器控制程序的好处在于,不需要了解底层的实际接口的类型是什么,无论对于GPIB还是其他接口,只需要掌握VISA I/O这一套函数库,程序在运行时VISA就会根据实际接口类型自动调用相应的接口驱动程序例程,完成与仪器间的通信操作[3]。利用VISA接口库提供的丰富的函数指令来建立计算机与仪器之间的控制指令、测试参数的互传,主要用到下述几个VISA函数[4-5]:(1)viOpenDefaultRM(session),用于初始化并定位VISA系统。其中,session表示一个VISA库函数中专用的与仪器之间进行通讯的ViSession数据类型对象,在调用VISA库时,这是第一条必须使用的语句,表明VISA库函数已经启动。(2)viOpen(*session,rsrcName,accessMode,timeout,*vi),用于建立计算机与仪器之间联系的会话。本函数紧跟在viOpenDefaultRM(session)函数后,作为第二条命令使用,共有五个参数。*session表示指向第一条语句中ViSession数据类型对象的指针;rsrcName表示要控制的仪器的参数值,包括其总线结构样式、地址,使VISA库能定位此设备;accesssMode表示VISA系统对仪器的访问模式,有完全访问、命令只发不收、只收不发等几种方式,一般情况下,都直接取默认值为VINULL,表示对设备完全访问;timeout表示超时时间,表明当多少时间延迟后,仪器无反应,则认为此次命令发送失败,单位为ms,一般取默认值VI_NULL,表示不设超时控制;*vi是一个指针,指向与被控仪器相关的ViSession对象,访问它可随时获得设备任何时刻的被程控状态,一般预先定义一个vi与当前设备相关的ViSession对象,写为vi。(3)viPrintf(vi,writef rm),用于发送仪器控制指令,设置其初始参数值或指示其进行某项操作,使仪器动作或查询仪器状态。其中,vi表示与当前控制设备相关的V
文档评论(0)