Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

VISA lib parallel poll for old 488 instrument

Solved!
Go to solution

I've looked around to see if there is an answer for this, but I can't seem to find any. I want to use the VISA library to communicate with a Scientific Atlanta 1780 Phase Amplitude Receiver, and I need to be able to read its status byte over parallel poll (a special status byte is made available only through parallel poll, not serial poll). I haven't been able to find a function in the VISA library that can do this. Is there a function I am missing, or is there some other way to do it?

 

Thank you,

Victor

0 Kudos
Message 1 of 8
(5,356 Views)

@vpantski wrote:

I've looked around to see if there is an answer for this, but I can't seem to find any. I want to use the VISA library to communicate with a Scientific Atlanta 1780 Phase Amplitude Receiver, and I need to be able to read its status byte over parallel poll (a special status byte is made available only through parallel poll, not serial poll). I haven't been able to find a function in the VISA library that can do this. Is there a function I am missing, or is there some other way to do it?

 

Thank you,

Victor


With an instrument of that era, you may want to use NI-488.2 instead.

 

You'll need to post the programmer's manual about this special parallel poll.

0 Kudos
Message 2 of 8
(5,333 Views)

Thanks for your reply. Maybe I should have written a little bit more about my setup. I am using the NI GPIB-USB-HS right now. Previously I was using a NI GPIB PCI card and the python gpib-devices 0.0.4 library. The gpib-devices 0.0.4 library exposes a parallel poll function (using the ibrpp low level function), and I have been successful with this method. However, now I am using a newer computer without an extra PCI slot, so I wanted to try the GPIB-USB-HS. I wasn't sure if the linux-gpib would work with it, so I opted to try using PyVISA and go through the official VISA library. That was when I noticed no documentation for the parallel poll function.

 

I do not think the programmer's manual for the SA1780 is necessary, since GPIB supports parallel poll in hardware, regardless of the connected devices. 

 

I will try the gpib-devices 0.0.4 library with the GPIB-USB-HS and post back with the result.

0 Kudos
Message 3 of 8
(5,308 Views)

@vpantski wrote:

Thanks for your reply. Maybe I should have written a little bit more about my setup. I am using the NI GPIB-USB-HS right now. Previously I was using a NI GPIB PCI card and the python gpib-devices 0.0.4 library. The gpib-devices 0.0.4 library exposes a parallel poll function (using the ibrpp low level function), and I have been successful with this method. However, now I am using a newer computer without an extra PCI slot, so I wanted to try the GPIB-USB-HS. I wasn't sure if the linux-gpib would work with it, so I opted to try using PyVISA and go through the official VISA library. That was when I noticed no documentation for the parallel poll function.

 

I do not think the programmer's manual for the SA1780 is necessary, since GPIB supports parallel poll in hardware, regardless of the connected devices. 

 

I will try the gpib-devices 0.0.4 library with the GPIB-USB-HS and post back with the result.


I have no experience with Python.

 

I suggest in the future that you ask your Python questions elsewhere at a Python forum.

It isn't NI software.

 

 

0 Kudos
Message 4 of 8
(5,290 Views)

The problem isn't really with python, but with the VISA library. If I was writing code in C, I would have the same problem. What I want to know is if the VISA library supports parallel poll or not, and if not, where I could get an API that does support it. I've read the VISA documentation and it seems to support every other GPIB function besides parallel poll. In the description of the GPIB-USB-HS it says it supports parallel poll, so I assume NI has some library I can use to do so. Do you know of any NI libraries that have parallel poll?

 

I also checked my old setup, and it looks like I was using a library from NI called gpib-32.dll (not VISA), but I can't find any references to it on NI's website for documentation.

0 Kudos
Message 5 of 8
(5,274 Views)
Solution
Accepted by vpantski
Documentation for it should have been included when you installed the NI-488.2 driver.

Since, in my experience, the parallel poll is a seldom used, very low level function, it's possible it did not make it into VISA. Converting to serial poll for your instrument list is a possible workaround.
0 Kudos
Message 6 of 8
(5,272 Views)

@vpantski wrote:

The problem isn't really with python, but with the VISA library. If I was writing code in C, I would have the same problem. What I want to know is if the VISA library supports parallel poll or not, and if not, where I could get an API that does support it. I've read the VISA documentation and it seems to support every other GPIB function besides parallel poll. In the description of the GPIB-USB-HS it says it supports parallel poll, so I assume NI has some library I can use to do so. Do you know of any NI libraries that have parallel poll?

 

I also checked my old setup, and it looks like I was using a library from NI called gpib-32.dll (not VISA), but I can't find any references to it on NI's website for documentation.


I am confused.  What VISA library?  Why do you care?  You say that you are writing your software with Python.

0 Kudos
Message 7 of 8
(5,261 Views)

I see. So ni4882.dll is the new version of the gpib-32.dll. I was able to find documentation with the driver for it. It makes sense that parallel poll didn't make it into VISA, I just couldn't find anything that offered an alternative. I was able to get everything working with the gpib-32.dll (I had an additional problem that my python was 64-bit, and so wouldn't load the gpib-32.dll, but that was a different problem altogether). In the future I'll check for compatibility of the python gpib-devices 0.0.4 library with ni4882.dll. That project has been dead for a while, so I might need to update it in case there are some compatibility issues.

 

Unfortunately, the Scientific Atlanta 1780 that I am using uses both serial and parallel poll for different statuses, so I don't have the option of switching it to just serial. I'll just have to stick to the low-level libraries for that device (the rest of my GPIB devices work fine with VISA).

 

Thank you so much for your help, Dennis_Knutson and nyc! 

0 Kudos
Message 8 of 8
(5,228 Views)