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-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)。