12-30-2013 01:36 PM
Can someone explain why do I get a error code -110 in Keithley 2400?
12-30-2013 01:51 PM
Please provide complete information. Are you using a driver? Which one? If you are using the project-style driver, do you get the error from one of the examples? If so, which one? Where in the example is the instrument generating the error? Note that you might have to execute one function at a time and call the Error Query after every function.
12-30-2013 02:04 PM
According to the Keithley 2400 manual, error code -110 is a Command Header Error. So you have something wrong with one of your commands. Did you develop your own driver for this? If so, this is usually a stupid typo type of error. You need to single step through your code to figure out which command is causing the error.
12-31-2013 01:27 AM
Hello,
I used IVI driver from Keithley (2400-854B01). Actually the program does not show any error. I'm measuring the IV Characteristic of a resistor (used a while loop). So every time a Voltage is supplied, the instrument shows an Error code -110 (during GPIB Write). and the measured current seems to be too low. Where I can expect current of 10^-3, I observe only 10^-8.
The block diagram is attached. The GPIB Write takes in Voltage value through fromat string.
12-31-2013 09:09 AM
You've got that silly GPIB Write function in there so you are not using the driver or the supported VISA functions. As far as I can tell, you are just sending a numeric without any header at all. You MUST use the proper command listed in the manual. You just can't make up things to send.
Why are you using the driver from Keithley instead of the supported NI driver (Help>Find Instrument Drivers)?
01-01-2014 08:56 AM
I use a Keithley 2400 over GPIB for photovoltaic J-V measurements and I've not used the drivers. I use the basic VISA functions and send the commands myself (the manual is extremely well documented with all the commands you need).
Attached please find an example vi with 3 subvi (4th file in following post). These set up a linear voltage sweep and a buffer of user defined size (number of points in sweep). It then initiates the sweep measuring voltage and current. The wait vi probes the SRQ bit of a registry (also documented in the manual) to determine when the 2400 buffer is full. Then I read the values; using the buffer prevents reading an incomplete data set. NOTE: The source2 ttl output in my code is simply for a mechanical shutter in my system.
I'm not suggesting you replace your code with mine, I just wanted to show you something that works. In regards to the -110 error. I've often seen this when sending a command that is out of the specified range OR a command is formatted improperly (such as a missing/etra spaces/comma). In regards to the range issue.
For the voltage source, the keithley 2400 has two voltage ranges (+/- 2V and +/-20V) if you want to exceed the 2V value (i can't see that actual voltage value in your picture), you MUST first specify that you are using the 20V range. Note that this higher voltage range corresponds to a lower current range (see manual). Another point is that the "current protection" MUST be LARGER than the "current range" (a common oversight).
01-01-2014 08:56 AM
4th file I promised....
01-01-2014 03:41 PM
Damn it! I know that driver has a badly formed command in it (I forget where but I've fixed it multiple times and cannot find a post where I exactly place it on the forums)
Place breakpoints in your code to isolate the exact vi that generates the BEEP on the instrument. Attach that vi and a screenshot of the FP (so we can see values in) Let us spot the bad command and get the fix public on the forums.
01-02-2014 11:33 PM
Thanks for your replies.
I managed to rectify the mistake with the help of your suggestions. The problem was with syntax that I tried to write to the instrument.
Thank you.
Pradeep