我想用Ubuntu 13.04(Raring Ringtail)下的pyvisa來控制Agilent 33120A任意波形發生器。我已經安裝並設置了使用我們的實驗室NI GPIB-USB-B適配器與儀器進行通信所必需的一切。適配器固件已加載,而linux-gpib的內核模塊也是如此。pyvisa給出了錯誤,但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的倉庫中)
我希望得到一些建議。