我正在尝试在Ubuntu 13.04(Raring Ringtail)下使用 pyvisa 控制 Agilent 33120A 任意波形发生器。我已经使用我们实验室的 NI GPIB-USB-B 适配器安装并设置了与仪器通信所需的一切。适配器固件已加载,来自 linux-gpib 的内核模块也已加载。
我可以成功地进行一些试运行,例如通过运行# ibtest
(命令行工具),我可以写入*IDN?
设备,并收到设备 ID 'HEWLETT-PACKARD,33120A,0,8.0-5.0-1.0'
:。我还成功测试了其他命令,例如设置电压和频率等。有用。
问题是,pyvisa 总是抛出一个VisaIOError
......我不知道如何让它工作。我以 root 身份运行 python-2.7,因此(现在)我不必处理任何访问权限。这是代码和输出:
import visa
>>> visa.vpp43.visa_library.load_library("/usr/lib/x86_64-linux-gnu/libvisa.so.0")
>>> visa.get_instruments_list()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/pyvisa/visa.py", line 254, in get_instruments_list
vpp43.find_resources(resource_manager.session, "?*::INSTR")
File "/usr/lib/python2.7/dist-packages/pyvisa/vpp43.py", line 583, in find_resources
instrument_description)
File "/usr/lib/python2.7/dist-packages/pyvisa/vpp43.py", line 398, in check_status
raise visa_exceptions.VisaIOError, status
pyvisa.visa_exceptions.VisaIOError: VI_ERROR_RSRC_NFOUND: Insufficient location information or the requested device or resource is not present in the system.
库正确加载。甚至没有必要,但为了安全起见,我明确地加载了库。显然,pyvisa 没有找到任何工具。我还尝试board=0, pad=10, sad=0
使用以下任一命令显式打开我的仪器:
visa.instrument("GPIB::10")
visa.instrument("GPIB0::10")
visa.instrument("GPIB::10::0")
visa.instrument("GPIB0::10::0")
但是会抛出与上面相同的异常。
基本上,一切都设置好了,但是 pyvisa 什么也看不到。
使用的版本:
- pyvisa-1.4
- python-2.7
- linux-gpib-3.2.20
- libvisa-0.0.20130812-1 ( https://launchpad.net/ubuntu/trusty/amd64/libvisa0/ ) Ubuntu 14.04 (Trusty Tahr) 的最新版本,因为该库不在 Ubuntu 13.04 的存储库中)
我希望得到一些建议。