LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"Not Enough Memory" Error when programming Keithley 2400 using LabView 6i

I'm trying to use LabView 6i drivers to control a keithley 2400 via GPIB interface. Most of the drivers work fine but the high level operations such as a the sweep functions or even functions that perform a single measurement gives a "Not enough memory" driver error. What doesn't have enough memory? A single measurement can't overload the PC's or Keithley's memory buffer so why am I getting the error?

Thanks for any help you can offer...
Evan
0 Kudos
Message 1 of 6
(3,220 Views)
Evan,

Unfortunately, I need a little bit more information. First, is the "Not Enough Memory" error something that is coming through an error cluster, or is it on a dialog that pops-up? If it is a dialog, can you give the full text / title / etc of the dialog? Also, if from an error cluster, could you let me know the name of the function that generates the error, as well as the full text and error code returned? Also, what operating system are you using?

Regards,
Greg Caesar
National Instruments
0 Kudos
Message 2 of 6
(3,220 Views)
I'm sending the error cluster to the general error handler and get the following message:

"Error -1073997554 occurred at ke24xx Perform DC VI.vi.
Possible reasons:
DriverStatus: (Hex 0xBFFC190E) ERROR: Not Enough Memory."

I'm using LabView 6i running on Windows2000Pro. The name of the function generating the error is Ke24xx Perform DC VI.vi which was installed by a file a downloaded from Keithley called "24xx-850A01.exe". I can attach this library installation package as well as my code if it would help.

Thanks for the feedback...I'm really banging my head against the wall on this one.
Evan
0 Kudos
Message 3 of 6
(3,220 Views)
Evan,

That's not a LabVIEW, GPIB, or NI-VISA error code - that error is generated by the instrument driver. I went ahead and downloaded this driver from keithley.com to take a look at this Perform DC VI.vi function's source. But unfortunately, the heart of the Perform DC VI function is a "Call Library Node" call to a keithley DLL, so that is a black box. Also, no c-source included that I could find, so I could not look at that either. And since I don't have a Keithley 2400 to play with, that brings me to the end of the rope on my system.

A couple of more things you could try, however, since you actually have the instrument.

(1) Definately build a simple VI to eliminate other aspects of your program. In this case, the most simple
VI would be an Init, Perform DC VI.vi, and then a close. Make sure this simple program reproduces the error. If it doesn't, then the problem is likely introduced in your code, not the driver.

(2) If #1 reproduces the problem, then check that you have all the driver pre-requisites correct (ie, that NI-VISA is installed, that the GPIB board is working properly, etc).

(3) If #1 and #2 do not result in any discoveries, then you will have to enter the black box of that DLL. Primary method to do that, to be honest, is to contact Keithley and ask for help, since they developed the driver. Second method is to use our NI-SPY utility, which can capture all calls to VISA drivers, (since this is a VXIpnp driver, it should be fundamentally using VISA within the DLL). Within NI-SPY, you will be able to see the individual function calls, and which ones are returning errors. That may help point in the right direction.

Regards,
Greg Caesar
National Instruments
Applications Engineer

0 Kudos
Message 4 of 6
(3,220 Views)
One last thing - I played around with the VI even without the instrument and got the same "Out of Memory" error. To fix it, try setting the "Size of Reading" input to "4" (if that does not work, try 2, 4, 8, 16, 32 as well). The "Reading" they take is a float, so I think they want 4 bytes. When I do that I get an error that my instrument handle is invalid, which is the error I suspect since I don't actually have the instrument. The documentation for the driver is silent on this parameter, which is what got me looking at it more closely.

Regards,
Greg Caesar
National Instruments,
Applications Engineer
0 Kudos
Message 5 of 6
(3,220 Views)
Hi,
I don't want to disturb your discussion, but I use
K2400 from Keithley since some time with LabVIEW.
Find attached a generated .exe file for voltage sweep-operation.
It does not use the internal memory of K2400 - my intention is - I want to see what happens during sweep.
If my Device under test fails - I can stop immidiately via STOP? - button.
This sweep.exe was created with 6.0.2 - version. If you need the sourcecode - you can have it. I have prepared some different sweep programs..... for Voltage- & current-sweeps. In this example you can see the curves of two ZENER-Diodes ; second one is done with append function. The same progam is available for not using GPIB , but serial interface - I have made it for a KEITHLEY-sales-man, who wanted to show t
his functionality with his Notebook to customers without GPIB-card.
One comment: please change the save path to your needs - sweep values will be saved in spreadsheet format.
(now C:\Documents\voltage_sweep.txt ); the .exe does not start immidiately, when opened - you can trust it....

Regards
wha
0 Kudos
Message 6 of 6
(3,220 Views)