欢迎来到天天文库
浏览记录
ID:8828670
大小:18.81 KB
页数:8页
时间:2018-04-08
《基于vc6.0的gpib仪器控制实现方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于VC++ 6.0的GPIB仪器控制实现方法 (2008-12-0818:16:33)标签: gpib labview 通信 it分类: 射频引言基于GPIB(GerneralPurposeInterfaceBus)的自动测试系统是计算机技术和自动测试技术相结合的产物,目前仍广泛地应用于众多领域。GPIB标准接口总线是命令级兼容的外总线,主要用来连接各种仪器,组建由微机控制的自动测试系统。各种仪器只要配备了这种接口,就可以按要求灵活组建自动测试系统[1]。控制GPIB仪器的过程就是给仪器发送指令,然后从仪器接收数据的过程[2]。在VC++6.
2、0编程环境下,可以利用AgilentVISAtransitionlibrary(VTL)直接对仪器的参数设置进行控制,程序直观、可读性较强。由于不同的仪器回传的波形长度不同,且仪器回传的波形数据是ASCII码或二进制码,需通过算法进行波形数据解析,将其转换为十进制数组。LABVIEW8.0作为一个图形化编程软件,为实现仪器编程和数据采集系统提供便捷途径,其仪器I/O助手可以自动对波形长度和波形数据进行解析。在VC++6.0环境下将AgilentVTL与LabVIEW结合使用,即利用AgilentVTL直接对仪器的参数进行设置,利用LabVIEW
3、生成的动态链接库(DLL)来读取仪器波形,这样可以节省时间,以便将更多的精力投入到优化测试算法、提高测试准确性上。1GPIB仪器控制的硬件平台GPIB仪器控制的硬件平台由计算机、GPIB电缆、USB-GPIB控制器、GPIB仪器组成,如图1所示。其中,USB-GPIB控制器是一个USB与GPIB的接口转换控制器。使用USB-GPIB控制器时,不需要打开计算机主机箱,避免了计算机的内部噪声,且支持即插即用,使用起来较GPIB卡方便。同时,无需GPIB电缆即可直接将USB-GPIB控制器与仪器相连。 图1GPIB仪器控制的硬件平台2GPIB仪器控制
4、的软件平台GPIB仪器控制的软件平台为VC++6.0,其底层将AgilentVTL与LabVIEW生成的DLL相结合。软件平台如图2所示。 图2GPIB仪器控制的软件平台2.1 调用AgilentVTLAgilentI/OLibrary中包含VISAtransitionlibrary(VTL),只要安装I/Olibrary就可通过VC++对仪器进行控制。VISA(虚拟仪器软件架构,VirtualInstrumentSystemArchitecture)是VXIplug&play系统联盟的35家最大的仪器仪表公司所统一采用的标准。GPIB、VXI
5、、RS-232、LAN等接口均支持VISA。使用VISA编写仪器控制程序的好处在于,不需要了解底层的实际接口的类型是什么,无论对于GPIB还是其他接口,只需要掌握VISAI/O这一套函数库,程序在运行时VISA就会根据实际接口类型自动调用相应的接口驱动程序例程,完成与仪器间的通信操作[3]。利用VISA接口库提供的丰富的函数指令来建立计算机与仪器之间的控制指令、测试参数的互传,主要用到下述几个VISA函数[4-5]:(1)viOpenDefaultRM(session),用于初始化并定位VISA系统。其中,session表示一个VISA库函数中
6、专用的与仪器之间进行通讯的ViSession数据类型对象,在调用VISA库时,这是第一条必须使用的语句,表明VISA库函数已经启动。(2)viOpen(*session,rsrcName,accessMode,timeout,*vi),用于建立计算机与仪器之间联系的会话。本函数紧跟在viOpenDefaultRM(session)函数后,作为第二条命令使用,共有五个参数。*session表示指向第一条语句中ViSession数据类型对象的指针;rsrcName表示要控制的仪器的参数值,包括其总线结构样式、地址,使VISA库能定位此设备;acce
7、sssMode表示VISA系统对仪器的访问模式,有完全访问、命令只发不收、只收不发等几种方式,一般情况下,都直接取默认值为VINULL,表示对设备完全访问;timeout表示超时时间,表明当多少时间延迟后,仪器无反应,则认为此次命令发送失败,单位为ms,一般取默认值VI_NULL,表示不设超时控制;*vi是一个指针,指向与被控仪器相关的ViSession对象,访问它可随时获得设备任何时刻的被程控状态,一般预先定义一个vi与当前设备相关的ViSession对象,写为&vi。(3)viPrintf(vi,writefrm),用于发送仪器控制指令,设
8、置其初始参数值或指示其进行某项操作,使仪器动作或查询仪器状态。其中,vi表示与当前控制设备相关的ViSession对象;writefrm,是字符串参数
此文档下载收益归作者所有