Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB-ENET/100 Maximum readings per second

hi All,
 
I am using GPIB-ENET/100 to read data from a Keithley 182 sensitive digital voltmeter under Labview.
I am positive that i am using 16.6ms integration time in the voltmeter but in labview i don't get that many points.
So i start wondering if this GPIB card supports this speed. I tried the GPIB-ENET/100 specifications but it only gives me a 900KB/s maximum transfer rate. How do i know the readings i get in a second from this value?
 
Thanks,
 
Tai
0 Kudos
Message 1 of 15
(4,820 Views)
The time it takes for an instrument to take a measurement is only part of the overall throughput. It also has to respond to all of the commands you send to set it up, trigger, and then transfer the data. How many points are you able to get now? I'm not familiar with the instrument but you can post the VI you've written to see if anyone has any ideas on how it might be optimized. Please save the VI as an llb so as to include all of the driver functions.
0 Kudos
Message 2 of 15
(4,798 Views)

hi Dennis,

I am able to get around 500 points in 2 mins. Which is around 4.2 readings/second. I am using a 10ms interval but that is far away from the actual reading.

But the ideal speed is 18 readings/sec for my Gaussmeter thru GPIB. I have simplified my whole program into a working vi which does the essential work i want, but it still acts as before.

My computer is definitely fast enough to handle these codes, and i don't know where the problem might be.

Here is the simplified program (i am saving the data into a temporary location as you can see):

 

 

0 Kudos
Message 3 of 15
(4,781 Views)
Actually, I can't see anything. Could you save it as a 7.1 file?
0 Kudos
Message 4 of 15
(4,775 Views)

Oh, I am sorry, i don't have 7.1 here...

I hope a screenshot works for you.

 

0 Kudos
Message 5 of 15
(4,774 Views)
With 8.0, you have the option to do a save as 7.1. All of your instrument code is contained in a couple of Instrument I/O Assistants and that's the important part to see. You have two assistants. Do you have two instruments? Also, there is a driver available from Keithley at http://www.keithley.com/support/keidoc_searchresult?keyword=182&item_type=All. It's a bit old and doesn't use VISA but it might be faster. If you are doing any kind of instrument initialization inside either assistant, that should not be done inside the while loop. Do it once and then only do the command to get a reading inside the loop.
0 Kudos
Message 6 of 15
(4,766 Views)
I get the idea. Yes i have 2 devices so i need 2 instrument I/O s. I didn't do anything besides reading data inside the Instrument I/O.
If i do the initializations outside the loop, how do I get the reading inside? I don't get your "command" thing.
 
Thanks.
0 Kudos
Message 7 of 15
(4,761 Views)
The command is whatever you are sending to the instrument that instructs it to take a measurement. I had a look at the driver and for the latest reading, reading only (no prefix, time stamp, etc), and disable reading relative, the command is F0G0Z0X. This instrument has to be very old to be using such syntax. You might also want to look to see whether the GPIB transfer rate is specified in the instrument manual. It might actually be something pretty slow.
0 Kudos
Message 8 of 15
(4,754 Views)
hi again Dennis,
 
The only way i know to send a command is to get thru my instrument I/O. But, if, I put the instrument I/O outside of my loop, i won't be able to do it. I don't know if you meant by sending the command some other ways.
 
Thanks.
0 Kudos
Message 9 of 15
(4,752 Views)

I'm not telling you to do it outside the loop or not use the I/O Assistant. All I'm saying is that whatever is inside each I/O Assistant in the while loop should only be the commands you absolutely need to get a single measurement. Any commands you might be sending to setup range, resolution, whatever, should be done before you enter the while loop.

You might, though, have a bit better speed if you just use a VISA Write and VISA Read inside the while loop instead of the assistant. There may be code in there that you do not have to repeat with every iteration of the loop. For example, in the version 7.1 of the assistant, a VISA Open and VISA Close is called every time. You only need to do either once. These functions don't take a great deal of time but if you are trying to optimize, you should learn how to do things with the lower level functions and not rely on the assistant for everything.

Message 10 of 15
(4,749 Views)