-SCS Parameter Analyzer Reference Manual Section 8: Keithley Use
4200A-901-01 Rev. C / February 2017 8-29
Entering the VSweep user-module code
In the module code-entry area, enter the C code below for the VSweep user module. Open the KULT
dialog box to full screen view to simplify code entry.
/* VSweep module
--------------
Sweeps through specified V range & measures I, using specified number of points.
Places forced voltage & measured current values (Vforce and Imeas) in output
arrays.
NOTE For n increments, specify n+1 array size (for both NumIPoints and NumVPoints).
*/
double vstep, v; /* Declaration of module internal variables. */
int i;
if ( (Vstart == Vstop) ) /* Stops execution and returns -1 if */
return( -1 ); /* sweep range is zero. */
if ( (NumIPoints != NumVPoints) ) /* Stops execution and returns -2 if */
return( -2 ); /* V and I array sizes do not match. */
vstep = (Vstop-Vstart) / (NumVPoints -1); /* Calculates V-increment size. */
for(i=0, v = Vstart; i < NumIPoints; i++) /* Loops through specified number of */
/* data points. */
{
forcev(SMU1, v); /* LPTLib function forceX, which forces a V or I. */
measi(SMU1, &Imeas[i]); /* LPTLib function measX, which measures a V or I. */
/* Be sure to specify the *address* of the array. */
Vforce[i] = v; /* Returns Vforce array for display in UTM Sheet. */
v = v + vstep; /* Increments the forced voltage. */
}
return( 0 ); /* Returns zero if execution Ok.*/
Continue with Entering the VSweep user-module parameters (on page 8-30).