我尝试使用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仪器并可以与它们通信。我也可以毫无问题地与乐器进行交流。
所以当我尝试用线路连接到乐器时:
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(X,Y)2.7.9.0和Python版本2.7.9 32位
pyVISA版本是1.6.3 NI位数是32
我非常感谢任何指导。
由于
答案 0 :(得分:0)
您可能需要使用以下命令启动资源管理器:
rm = ResourceManager('Path to library')
其中Path to library是NI Vista Library的位置。
还可以尝试:
python -m visa info
确保安装的文件长度与正在运行的python版本相同。
答案 1 :(得分:0)
我遇到了同样的问题,并设法通过将路径地址设置为:'C:/ Program Files / IVI Foundation / VISA / WinNT / agvisa / agbin / visa32.dll'来修复它。如果您还没有找到解决方案,我希望它也适合您。
答案 2 :(得分:0)
我有完全相同的问题 - 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安装进行任何自定义以使其正常工作。哪个好。
希望这有帮助!
答案 3 :(得分:0)
我有同样的问题(在64位win7上运行32位python 2.7),我使用
修复了它 rm = ResourceManager('C:/Program Files (x86)/IVI Foundation/VISA/WinNT/agvisa/agbin/visa32.dll')
这是"关于Agilent IO Control"中给出的32位VISA路径。信息。
答案 4 :(得分:0)
我的计算机上安装了ni-visa
和安捷伦visa
。但是,由于指向错误的库,pyvisa
无法访问Agilent 82357B设备。
我使用此命令指定了正确的库,它对我有用。几个笔记:
rm = visa.ResourceManager('c:/....')
答案 5 :(得分:0)
我有同样的问题。问题是自动安装的Windows驱动程序错误,我的设备在 NI MAX 中显示为USB0::0x3923::0x702A::010A65AB::RAW
。
通过更新C:\Program Files\National Instruments\NI-488.2
(或安装了驱动程序的驱动程序)的驱动程序(设备管理器 - >属性)解决了这个问题。
现在GPIB也可以从python中运行。
答案 6 :(得分:-1)
我在Keysight签证库的PC上运行时发现了相同的错误报告。用National Instruments取代签证dll解决了这个问题。