12-05-2006 09:19 AM
12-05-2006 04:45 PM
Hello,
Thanks for the help. I think that I have found the problem --- and it was actually with some of the SCPI code going to the picoammeter. I've redone it, and now a couple of the previous suggestions are working to convert the data. I've attached images of two different ways that I've tried. VI 14 takes two subsets of the buffer string -- one for the current and the other for the time -- and then type casts them separately to SGL. They are then sent to an array and written to a spreadsheet. (For this VI I've also included an image of the front panel indicators with the data.) The second way that I tried (VI 18) is running faster. In this I unbundled the data and type cast the current and time portions as SGL, then built the array, and sent it to a spreadsheet.
I apologize that it took me so long to realize that the problem was not with the LabView code!!!
The only problem I am having now is that the data is still only transmitting at 40 Hz (VI 14) to 70 Hz (VI 18) even though I have reproduced the example code for 900 Hz readings from the picoammeter manual. I'm thinking that I may have to try the previous suggestion of writing all the data to a front panel indicator, and then copying it out to save it after all the data has been collected. Perhaps writing the spreadsheet file is slowing it down?
Thanks again for everyone's help and patience!
Michelle
12-06-2006 01:42 AM
12-06-2006 02:43 PM
Hi,
Thanks for the suggestion. I've attached an image of what I tried, to make sure it's what you intended.
This was somewhat faster than opening the file for each reading: 80 Hz instead of 70 Hz. But still much slower than expected.
One of the LabView application engineers has suggested that I use a producer-consumer set-up so that as the data is read, it goes into a queue to be saved. I am working on figuring how to set this up now, but I'm definitely open to any other suggestions.
Thanks,
Michelle
P.S. Ton, I tried using the Code Capture tool from your signature, but the arrow on the VI is broken. When I click on it, it says no VIs with errors were found. I'm not sure what I need to do to remedy this? I apologize for the grainy screen snap attached!
12-06-2006 02:50 PM
12-07-2006 11:07 AM
Hello,
Ok, have taken the other half of the advice! ![]()
I switched the number of bytes to be erad from 100 to 14. However, the VI still only records at 80 Hz.
I've also tried the producer-consumer loop template. I got it working, but the VI still only runs at 70 Hz. (Image of block diagram attached.)
Michelle
12-07-2006 11:30 AM
12-07-2006 11:46 AM
Hello,
The instrument specs are for a maximum rate for the buffer of 900 Hz. The instrument manual, as well as Keithley tech support, suggests the following settings:
0.01 NPLC (the number of power line cycles between readings)
digital filters off
front panel display off
auto-zero off
binary transfer
language = IEEE-488.1
All of these are being set appropriately by the SCPI code sent via the VISA before the while loop.
We're using a GPIB-USB-1 connection. We actually bought the cable from Keithley, and they sell it for just this purpose. So I don't think it is a connection problem. The only other USB connections to the computer are the keyboard and the mouse.
I'm going to try to reach Keithley support this afternoon to see if there are any other settings that may need to be changed.
Thanks for the help,
Michelle