原创 仪器控制(3)之VISA编程

2008-6-27 20:06 4393 8 8 分类: 测试测量

VISA编程


            VISA是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称。VISA是在所有LabVIEW工作平台上控制VXI、GPIB、RS-232以及其他种类仪器的单接口程序库。VISA是由组成VXI plug&play系统联盟的35家最大的仪器仪表公司所统一采用的标准。采用了VISA标准,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互相容使用。VISA包含的功能模块在Instrument I/O>VISA子模板中。大多数的VISA功能模块使用了VISA session参数,该参数在Control模板的Path and Refnum子模板中。
       VISA session是每次程序操作过程的唯一逻辑标识符。它标识了与之通讯的设备名称以及进行I/O操作必需的配置信息。它由VISA Open功能模块产生,提供给VISA主功能模块使用。VISA Open功能模块产生标识信息,然后把它传送给下一个VISA功能模块。这样简化了数据流编程。它相似于文件I/O模块的参考名功能。       VISA session的缺省值是Instr。如果需要,可以打开VISA session选择如下值:Instr、 GPIB Instr、 Serial Instr和VISA/GPIB-VXI RBD Instr。下面介绍常用的VISA功能模块:VISA Open、VISA Write、VISA Read和VISA Close。       VISA Open根据Resource Name和VISA session与指定的设备建立通讯。模块返回VISA session标识值,使用该标识值就可以调用此设备的任何其他的操作功能。Error in和Error out字符串包含出错信息。      Resource Name包含I/O接口类型以及设备地址等信息。其编程语法如下表所示:接口程序语句SERIALASRL[board][::INSTR]GPIBGPIB[board]::primary address [::secondary address][::INSTR]VXIVXI [board]::VXI logical address [::INSTR]GPIB-VXIGPIB-VXI [board][::GPIB-VXI primary address]::VXI logical address [::INSTR]        关键词GPIB用于同GPIB设备建立通讯,关健词VXI通过嵌入式或MXI总线控制器同VXI仪器建立通讯,关键词GPIB-VXI用于GPIB-VXI控制器,关键词SERIAL用于异步串行设备通讯。50f9c91e-7dcf-41b9-918e-bb213ea36e90.jpg


         在上例中,VISA open模块通过仪器描述字符串“GPIB::2::0::INSTR”与主地址=2的GPIB设备建立通讯。       VISA Write模块把write buffer中的字符串写入VISA session指定的设备。dup VISA session向下传送相同的session值。在UNIX工作平台上,数据同步写入;在其他工作平台上,数据异步写入。return count返回实际传送的字节数。error in和error out字串包含出错状况。       VISA Read读取由VISA session指定设备中的数据。byte count指明读入read buffer中的字节数。磅VISA session向下传送相同的session值。在UNIX工作平台上,数据同步读入;在其他工作平台上的数据异步读入。return count返回实际传送的字节数。error in和error out字串包含出错状况。VISA Close关闭由VISA session指定设备的通讯过程,释放系统资源,error in和error out字串包含出错状况。


应用练习


目的:用VISA模块与GPIB设备或者串行设备通讯。       本练习使用VISA功能模块向指定设备(GPIB或者串行设备)读写数据。命令参数“*idn?”适用于大多数仪器,无论是GPIB通讯或者串行通讯。它返回仪器的标识字串。本课中所有VISA练习都是根据Fluke 45万用表编程。前面板:


35c6d520-d0d2-4d59-98a4-08b7b276e73b.jpg


1.打开一个新的前面板,并且照上图建立控制和指示件。VISA session控制件可以在CONTROLS模板中的Path&Refnum子模板中找到。也可以通过VISA Open功能模块创建。 2.Resource Name控制件应包含下列值:*对于地址=2的GPIB仪器:“GPIB::2::0::INSTR”*对于COM1上的串行仪器:“ASRL 1::INSTR” 3.在Write Buffer字串控制栏中输入“*idn?”,在Byte Count控制栏中输入100。 程序框图:1. 打开框图窗口。


点击开大图


2.按照上图选择创建框图对象并连接线。调用了下面的模块: VISA Open功能模块(在Instrument I/O::VISA子模板)。此模块打开通讯过程,并产生VISA session参数。VISA Write功能模块(在Instrument I/O::VISA子模板)。此模块把数据串写入指定设备。 VISA Read功能模块(在Instrument I/O::VISA子模板)。此模块从指定设备中读入数据。 VISA Close功能模块(在Instrument I/O::VISA子模板)。此模块关闭VISA Session。 3.返回前面板并运行该程序。VISA session控制件保持为设置值INSTR。如果要修改此参数,可以打开VISA session控制件,选择VISA Class值。根据Resource name的设置值,可以选择与GPIB或者串行设备进行通讯。 4.以VISA.vi文件名保存该程序,并关闭程序。  

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条