PyVisa是用來控制各種各樣的測量儀器的Python包,適用諸如GPIB、RS232、USB、Ethernet等接口。通過GPIB(GPIB number:12)讀取Keithley萬用表ID信息的Python代碼清單如下:
>>> import visa
>>> rm = visa.ResourceManager()
>>> rm.list_resources()
('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::12::INSTR')
>>> inst = rm.open_resource('GPIB0::12::INSTR')
>>> print(inst.query("*IDN?"))
它可以自由的運行在Windows,Linux和Mac上,適用於不同儀器廠家(如National Instruments,Agilent,Tektronix,Standard Research Systems)的儀器。
安裝
PyVisa是VSIA庫的一種前端實現,可運行在Python 2.7或Python 3.4以上版本。可以通過pip命令安裝(http://www.pip-installer.org/)。
$ pip install -U pyvisa
後臺
爲了PyVisa可靠工作,需要安裝一個兼容的後臺。PyVisa包含了封裝NI-Visa庫(http://ni.com/visa/)的後端。因此,需要下載安裝NI-Visa(見NI-Visa安裝)。有來自不同公司或組織的不同Visa實現,PyVisa只支持NI-Visa(http://ni.com/visa/)。
PyVisa有32-和64-bit版本,分別適用於Python的32-或64-bit版本,無需更多設置。32-bit版本VISA庫不能運行在64-bit的Python上,同理64-bit版本的VISA庫也不能運行在32-bit的Python上。需要確認Python和VISA庫具有相同的版本。
可以按照Python實現的VISA規範庫PyVISA-Py(http://pyvisa-py.readthedocs.io/en/latest/),也可以通過pip命令安裝(http://www.pip-installer.org/)。
$ pip install -U pyvisa-py
目前,PyVISA-Py僅實現了VISA標準的部分功能,不能全部支持所有總線的所有協議。請參考文檔獲得更多詳細信息。
驗證安裝
OK!可以打開Python,創建ResourceManager驗證安裝:
>>> import visa
>>> rm = visa.ResourceManager()
>>> print(rm.list_resources())
如果遇到問題,請參閱常見問題章節,找到解決問題的方法和調試技術。如果還有問題,請在Github上反饋問題(https://github.com/pyvisa/pyvisa/issues)。
使用開發板
可以從Github下載,並安裝最新的開發版本(https://github.com/pyvisa/pyvisa)。
|
如果有老版本的Python,並且想保留,可以試試Anaconda CE(https://store.continuum.io/cshop/anaconda)。Anaconda CE是Continuum Analytics出品的開源Python發行版,包含許多第三方科學運算庫。
設置後臺
有兩種後臺可用:一個是採用NI庫的PyVisa,另一個是pyvisa-py提供的後臺,其中後者採用python實現。PyVisa默認採用NI後臺,如果失敗則選用pyvisa-py後臺。
>>> visa.ResourceManager('@py')
可以設置Resource Manager的參數進行選擇,下面爲選擇pyvisa-py的代碼:
也可以通過設置變量PYVISA_LIBRARY進行選擇,跟上述方法效果相同。
設置NI後臺
NI後臺,需要首先安裝NI-VISA庫,詳見NI-VISA安裝章節。
多數情況下,PyVisa可以找到visa共享庫的路徑,如果想採用其他的路徑,需要通過pyvisa.highlevel.ResourceManager設置庫路徑。
>>> rm = ResourceManager('Path to library')
可以修改主目錄下(http://en.wikipedia.org/wiki/Home_directory)的設置文件.pyvisarc(注意開頭的點),使所有的PyVisa應用使用該路徑。
Windows NT |
|
Windows 2000, XP and 2003 |
|
Windows Vista, 7 or 8 |
|
Mac OS X |
|
Linux |
|
例如在Windows XP中,定位到用戶目錄”Documents and Settings“,如”C:\Documents and Settings\smith\.pyvisarc“(smith是登錄名)。
該文件的格式跟ini文件一致,如果庫文件在”/usr/lib/libvisa.so.7
“,文件.pyvisarc需要包含:
[Paths]
VISA library: /usr/lib/libvisa.so.7
注意,[Paths]是大小寫敏感的。
也可以定義站點範圍的設置,/usr/share/pyvisa/.pyvisarc(也可能在/usr/local/...,取決於python的安裝位置
)。在Windows下,一般存在於C:\Python27\share\pyvisa\.pyvisarc。
如果遇到問題,請參閱常見問題章節,找到解決問題的方法和調試技術。如果還有問題,請在Github上反饋問題(https://github.com/pyvisa/pyvisa/issues)。