IV tracing from C# via IVI

Models 2400, 2401, 2410, 2420, 2425, 2430, 2440, 6430

IV tracing from C# via IVI

Postby Brinkand » July 14th, 2011, 4:03 pm

I am trying to make a C# program do IV-tracing on a 2400. I need C# as my software reuses many components from other test systems.

I found a C# wrapper for the IVI library at http://forums.ni.com/t5/Measurement-Stu ... -p/1246780
In the principle it should not matter whether I use Visual Basic or C#. The dll-file is the same.

The problem is that I cannot find information on which calls to make to do the IV-trace. Currently my code looks like this:

Code: Select all
double[] IVresult;   
 IVresult = new double[1001];    // Array for results
 int Read_points;  // Read back actual number of measurements.
 int error_meas;  // Read out error codes for debugging at break points
           
error_meas = Keithley2400.Keith.Configure_Sweep_VI(ke2400Constants.SweepRangeAuto, ke2400Constants.Linear, ke2400Constants.SweepDirUp, 1, 20, -10, 10, 1001, 0.1, 1);
error_meas = Keithley2400.Keith.ConfigureMultiPoint(1,1,ke2400Constants.Immediate,0);
error_meas = Keithley2400.Keith.ReadMultiPoint(20000, 1001, IVresult, out Read_points);
 

The code generates an exception in the third line saying that the compliance level is too small for the measurement range. I do not know how to change the level since it is set to autolevel.

My questions are:
- where is the documentation for the IVI-driver - in particular:
- where do I find a list of calls which must be carried out in order to perform a measurement like IV-tracing.
- how do I set the range if using fixed range instead of autorange?
- can You provide me with sample code for an IV-tracer using the IVI driver.

I include the Agilent IO monitor log, so You may see which commands are actually flowing. The log stops where the exception is thrown.

I should note that the 2400 is running firmware C22. It will not upgrade to C32 over GPIB.
Attachments
IOMonitorLog.xml
(151.34 KiB) Downloaded 47 times
Brinkand
 
Posts: 1
Joined: July 13th, 2011, 7:53 am
Country: Denmark

Re: IV tracing from C# via IVI

Postby Gabriele V » July 15th, 2011, 9:57 am

Hello Brinkand,

following are some answers to your questions:

- where is the documentation for the IVI-driver - in particular:

The only one documentation available is installed with the IVI drivers.
After installation you should have a "Keithley Instruments" folder into your start menu.
Inside this you should have the link to the help file: Keithley 2400 Driver Help

- where do I find a list of calls which must be carried out in order to perform a measurement like IV-tracing.

The command KE2400_Configure_Sweep_VI (..) set immediately the instrument to perform a sweep, you should not need to send the ConfigureMultiPoint command.

For portability issues, you can work with following commands:
KE2400_ConfigureMeasurement
KE2400_ConfigureSourceRamp
KE2400_ConfigureSourceTrigger

end so on.

A possible command sequence could be:
KE2400_Configure_Sweep_VI (..)
KE2400_Read (..)

- how do I set the range if using fixed range instead of autorange?

To configure the source and measurement range use following commands:
KE2400_ConfigureMeasurement (..) with appropriate parameter (see in the help file)

- can You provide me with sample code for an IV-tracer using the IVI driver.

Unfortunately I don't have any example for IVI communication.
Please have a look a the following link to check if you can get some idea from the existing examples.

http://www.keithley.com/support/keidoc_ ... le+Program


Regards
Gabriele

Gabriele Vittori
Application Engineer
Keithley Instruments (Italy)
Gabriele V
Keithley Applications
Keithley Applications
 
Posts: 38
Joined: November 2nd, 2010, 9:51 am
Country: Italy


Return to 2400 Series SourceMeter

Who is online

Users browsing this forum: Yahoo [Bot] and 2 guests

cron