我正在尝试使用pyVISA连接到GPIB仪器,但出现错误。我遵循了pyVISA网站上的简单示例:http://pyvisa.readthedocs.org/en/master/
我在IPython控制台中键入以下代码:
import visa
rm = visa.ResourceManager()
rm.list_resources()
Out[4]:
(u'USB0::0x0957::0x0D0B::MY49431510::INSTR',
u'USB0::0x0957::0x17BC::MY52400338::INSTR',
u'ASRL1::INSTR',
u'ASRL2::INSTR',
u'ASRL5::INSTR',
u'ASRL6::INSTR',
u'ASRL7::INSTR',
u'ASRL8::INSTR',
u'ASRL9::INSTR',
u'ASRL10::INSTR')但是,我的GPIB仪器没有显示,只有串行端口和USB仪器。当我启动Agilent Connection Expert (或NI MAX)时,我可以看到我的所有GPIB仪器,并可以与它们通信。我也能够与仪器通信,而不会出现Matlab的问题。
所以当我尝试用这条线连接到仪器时:
inst = rm.open_resource('GPIB0::19::INSTR')它抛出一个错误:VisaIOError: VI_ERROR_INTF_NUM_NCONFIG (-1073807195): The interface type is valid but the specified interface number is not configured.
我还尝试与列出资源时显示的USB仪器连接,但它们没有抛出此错误。但是,当我尝试执行一个简单的查询时:
inst = rm.open_resource('USB0::0x0957::0x0D0B::MY49431510::INSTR')
inst.query("*IDN?")不会返回任何内容,也不会抛出错误。
我使用的是Python版本2.7.9 32位的Python(X,Y) 2.7.9.0
pyVISA版本为1.6.3 NI位数为32
感谢任何指导,因为我是Python的新手。
谢谢
发布于 2015-02-23 05:36:46
您可能需要使用以下命令启动资源管理器:
rm = ResourceManager('Path to library')其中,库的路径是NI Vista库的位置。
还可以尝试:
python -m visa info以确保您安装了与您正在运行的python版本相同的字长。
发布于 2015-08-19 19:25:06
我也遇到了同样的问题,并设法通过将路径地址设置为:'C:/Program Files/IVI Foundation/VISA/WinNT/agvisa/agbin/visa32.dll'.‘来修复它如果你还没有找到解决方案,我希望它也适用于你。
发布于 2015-11-08 20:28:04
我遇到了完全相同的问题-- USB资源出现了,GPIB资源没有出现。我试着像你一样打开资源,inst = rm.open_resource('GPIB0::22::INSTR') (把GPIB地址改为我的一个仪器的地址),结果完全一样。一些有灵感的随机猜测让我想到了
inst = rm.open_resource('GPIB1::22::INSTR')它完美地工作了!一旦仪器打开,它就会像预期的那样出现在资源列表中。我不知道为什么接口被视为GPIB1。
我使用Keysight/ Agilent /HP IO库套件作为VISA库(未安装NI库),并使用Agilent 82357B USB转GPIB接口。我不需要对我的pyVisa安装做任何定制就能让它工作。这很好。
希望这能有所帮助!
https://stackoverflow.com/questions/28663308
复制相似问题