8

Do you know any Linux implementations of Virtual Instrument Software Architecture? Even simple and restricted? Free and open-source implementations are preferred.

Only implementation I know is NI VISA which is non-free and closed-source. Moreover, it runs on very limited number of Linux distributions. I don't know whether it is possible to run it on Debian, for instance.

Thanks.

CharlesB
  • 86,532
  • 28
  • 194
  • 218
Andrey
  • 3,667
  • 6
  • 27
  • 36
  • If you need it to control a gpib device, check out [linux-gpib](http://linux-gpib.sourceforge.net/). – P3trus Mar 11 '13 at 08:03

3 Answers3

4

Well, what do you need it to do? I have been working on a pure Python instrument library that can communicate over several different protocols (serial, VXI-11 (LXI), GPIB (linux-gpib), and PyVISA) called python-ivi, located here: http://www.github.com/alexforencich/python-ivi . It is an interpretation of the Interchangeable Virtual Instruments specification. It's not VISA, though, so if you specifically need VISA, it's not going to help you.

It's written in python 3 and tested in linux, but it should be cross-platform as it is pure python. The implementation of VXI-11 in python-vxi11 is also pure python and therefore should also be cross-platform.

The project is still in relatively early development in terms of the higher-level drivers and abstractions, but it does basically everything PyVISA does for low-level interfacing.

alex.forencich
  • 1,355
  • 11
  • 16
  • I'm not familiar with IVI. Isn't it based on COM interfaces and thus is not cross-platform? – Andrey Dec 27 '12 at 18:38
  • Basically, python-ivi is a Pythonized interpretation of the API specified in the IVI standards documentation. It's not an implementation, because IVI only supports .NET and COM classes. The goal of python-ivi is not to enable use of existing IVI drivers, but to provide standard framework for writing pure Python drivers. See the Github page for more information. – alex.forencich Dec 30 '12 at 02:55
0

Have you heard of PyVisa? It's an open source, cross-platform VISA implementation written in/for Python.

http://pyvisa.sourceforge.net/

It seems to rely on a VISA dynamically-linked library coming with your equipment (see here: http://pyvisa.sourceforge.net/vpp43.html#about-the-vpp43-module) so it may not solve your problem, but it's worth a look.

Terrabits
  • 997
  • 2
  • 15
  • 19
  • 2
    PyVisa is a binding between Python and VISA, correct? I need VISA itself. – Andrey Dec 27 '12 at 18:35
  • Yeah, it's just a binding. There are some Linux instrumentation examples here (http://www.home.agilent.com/agilent/editorial.jspx?cc=US&lc=eng&ckey=1189290&nid=-34952.0.00&id=1189290&cmpid=20586), but, again, this is not VISA for linux. Might be a work around though. The examples show communication via TCPIP and SCPI, among other things. – Terrabits Feb 05 '13 at 08:35
  • 1
    PyVisa provides bindings to NI-VISA and _also_ works with the [PyVISA-py](https://pyvisa-py.readthedocs.io/en/latest/) provider. If Python is your thing, this may work for you. – bfris May 15 '19 at 17:33
  • @bfris You should create another answer. I think PyVISA-py is what the OP is looking for. – Terrabits May 17 '19 at 00:13
0

I have the same issue. Googling this for a bit only yields the 7 year old (2005) Open Visa which I haven't tried.

NI VISA is tricky to get to work with Debian and Ubuntu, but I have seen post with people claiming success at least for kernels before 3.x see eg: http://ubuntuforums.org/showthread.php?t=1665036 and https://decibel.ni.com/content/thread/7232

Good luck to you. I will probably try Open Visa and perhaps give NI VISA a shot and report back if it works.

HansHarhoff
  • 1,917
  • 2
  • 22
  • 32