2011-11-15 156 views
6

您是否知道Virtual Instrument Software Architecture的任何Linux实现?即使简单和受限制?免费和开源实现是首选。VISA API的Linux实现

我知道的唯一实现是NI VISA,它是非自由和闭源的。此外,它运行在非常有限的Linux发行版上。例如,我不知道是否有可能在Debian上运行它。

谢谢。

+0

如果您需要它来控制gpib设备,请查看[linux-gpib](http://linux-gpib.sourceforge.net/)。 – P3trus

回答

0

您是否听说过PyVisa?这是一个开放源代码的跨平台VISA实现,用于Python。

http://pyvisa.sourceforge.net/

这似乎依赖于与你的设备 未来一个VISA动态链接库(在这里看到:http://pyvisa.sourceforge.net/vpp43.html#about-the-vpp43-module) 所以它可能不会解决你的问题,但它是值得一试。

+2

PyVisa是Python和VISA之间的绑定,对吗?我需要VISA本身。 – Andrey

+0

是的,它只是一个绑定。这里有一些Linux工具示例(http://www.home.agilent.com/agilent/editorial.jspx?cc=US&lc=eng&ckey=1189290&nid=-34952.0.00&id=1189290&cmpid=20586),但是,这也是不适用于Linux的VISA。虽然可能是一个工作。这些示例显示了通过TCPIP和SCPI进行的通信等。 – Terrabits

3

那么,你需要做什么?我一直在研究一个纯Python仪器库,它可以通过几种不同的协议(串行,VXI-11(LXI),GPIB(linux-gpib)和PyVISA)进行通信,称为python-ivi,位于:http://www.github.com/alexforencich/python-ivi。它是可互换虚拟仪器规范的解释。不过,这不是VISA,所以如果你特别需要VISA,它不会帮你。

它是用python 3编写的,在linux中测试过,但它应该是跨平台的,因为它是纯Python。在python-vxi11中实现VXI-11也是纯python,因此也应该是跨平台的。

该项目在较高层次的驱动程序和抽象方面仍处于较早的发展阶段,但它基本上确实符合PyVISA在低级接口方面的所有功能。

+0

我不熟悉IVI。它不是基于COM接口,因此不是跨平台的? – Andrey

+0

基本上,python-ivi是IVI标准文档中指定的API的Python化解释。这不是一个实现,因为IVI只支持.NET和COM类。 python-ivi的目标不是使用现有的IVI驱动程序,而是为编写纯Python驱动程序提供标准框架。有关更多信息,请参阅Github页面。 –