Skip to content

Keithley4200AtvCvu

The LPT commands for the 4210-CVU or 4215-CVU


adelay(int,double[])#

This command specifies an array of delay points to use with asweepX command calls

Name Description
numberOfPoints: The number of separate delay points defined in the array
delays: The array defining the delay points; this is a single-dimension floating-point array that is delaypoints long and contains the individual dela times; units of the delays are seconds

This command is used to define an array of delay values for the points in a voltage array sweep (asweepv). Each delay in the array is added to the delay time specified in asweepv. For example, if the array contained four delays (0.04 s, 0.05 s, 0.06 s, and 0.07 s) and the delay time specified in asweepv is 0.1 s, then the resulting delays are (0.14 s, 0.15 s, 0.16 s, and 0.17 s). The number of delay values must match the number of points in the voltage array sweep.


asweepv(int,int,double,double[])#

This command does a dc voltage sweep using an array of voltage values.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
numberOfPoints: Total number of sweep points (1 to 4096)
delay: Delay time before each measurement (0 to 999 s)
forceArray: Array of dc voltage values

The delayTime parameter sets the user-programmed delay before each measurement. Note that there is an additional inherent system delay that occurs at the start of each step. If different delay times are needed in the sweep, an array of delay time values can be set to adjust the delay times at each step (see adelay for details). Use the setfreq and setlevel commands to set the ac drive frequency and voltage for the sweep.


bsweepv(int,double,double,int,double,double@)#

This command supplies a series of ascending or descending voltages and shuts down the source when a trigger condition is encountered.

Name Description
instrId: The instrument identification code of the sourcing instrument
startVal: The initial voltage level applied as the first step in the sweep; this value can be positive or negative
endVal: The final voltage level applied as the last step in the sweep; this value can be positive or negative
numPoints: The number of separate voltage force points between the startval and endval parameters(1 to 32,767)
delayTime: The delay in seconds between each step and the measurements defined by the active measure list
result: Assigned to the result of the trigger; this value represents the source value applied at the time of the trigger or breakdown
Returns
result : double Assigned to the result of the trigger; this value represents the source value applied at the time of the trigger or breakdown

devclr()#

This command sets all sources to a zero state

This command clears all sources sequentially in the reverse order from which they were originally forced.


devint#

This command resets all active instruments in the system to their default states.

Resets all active instruments, including the 4200A-CVIV, in the system to their default states. It clears the system by opening all relays and disconnecting the pathways. Meters and sources are reset to their default states. Refer to the hardware manuals for the instruments in your system for listings of available ranges and the default conditions and ranges. The devint command is implicitly called by the execut and tstdsl commands.


dsweepf(int,double,double,int@,double)#

This command performs a dual frequency sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
startf: Initial frequency for the sweep
stopf: Final frequency for the first sweep
numPts: Variable to receive the number of points sourced during the sweep
delaytime: Delay before each measurement (0 to 999 s)
Returns
numPts : int Variable to receive the number of points sourced during the sweep

This command is used to perform a dual frequency sweep (see Example). The CVU provides test frequencies from 1 kHz to 10 MHz in the following steps:

• 1 kHz through 10 kHz in 1 kHz steps

• 10 kHz to 100 kHz in 10 kHz steps

• 100 kHz to 1 MHz in 100 kHz steps

• 1 MHz to 10 MHz in 1 MHz steps

The frequency points to sweep are set using the startf and stopf parameters. If an entered value is not a supported frequency, the closest supported frequency is selected (for example, 15 kHz input selects 20 kHz). If a specified frequency is equidistant from two adjacent frequencies, it is rounded up to the higher frequency. The sweep can step forward (low frequency to high frequency) or it can step in reverse (high frequency to low frequency).

When the sweep is started, the CVU will step through all the supported frequency points from start to stop for the first sweep, and then repeat (in the reverse direction) from stop to start for the second sweep. For example, if the start frequency is 800 kHz and the stop frequency is 3 MHz, the CVU steps through the frequency points 800 kHz, 900 kHz, 1 MHz, 2 MHz, 3 MHz, 3 MHz, 2 MHz, 1 MHz, 900 kHz, 800 kHz.

If you are using a 4215-CVU, you can apply a resolution of 1 kHz to frequency values within the 1 kHz to 10 MHz limits. To set a frequency step size, set the setmode KI_CVU_FREQ_STEPSIZE modifier before calling sweepf(). If KI_CVU_FREQ_STEPSIZE, is set to 0, sweepf() uses the discrete frequencies.

The total number of sweep points is returned in the NumPts parameter. For the above example, NumPts is assigned a value of 10.

The delayTime parameter sets the delay that occurs before each measurement. Note that there is an inherent system overhead delay on each frequency step of the sweep. Use the forcev command to set the dc bias level and setlevel command to set the ac drive voltage.


dsweepv(int,double,double,int,double)#

This command performs a dual linear staircase voltage sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
startval: Initial force value for the sweep (−30 V to 30 V)
endval: Final force value for the first sweep (−30 V to 30 V)
stepno: Sets the number of points in the sweep (1 to 4096);
stepdelay: Delay before each measurement (0 to 999 s)

This command is used to perform a dual staircase sweep (see the figure below). The linear step size to sweep is set using the startv, stopv, and NumSteps parameters. The linear step size for the sweep is then calculated as follows:

StepSize (in volts) = (stopv – startv) / (numSteps)
numSteps describes the first half of the sweep. For example, to do a dual sweep from 1 V to 10 V and back down in 1 V steps, set numSteps to 10. The result is a 20-point sweep (10 up and 10 down).

The first sweep can step forward (low voltage to high voltage) or it can step in reverse (high voltage to low voltage). After performing the first sweep, the second sweep will repeat in the reverse direction. For example, if configured to sweep from 1 V to 10 V, the second sweep will start at 10 V and step down to 1 V.

The delayTime parameter sets the delay that occurs before each measurement. Note that there is an inherent system overhead delay on each step of the sweep. Use the setfreq and setlevel commands to set the ac drive frequency and voltage for the sweep.


forcev(int,double)#

This command sets the dc bias voltage level.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
val: The dc bias voltage level (−30 V to 30 V)

This command sets a dc bias level for a single impedance measurement and a frequency sweep. Use the setfreq and setlevel commands to set the ac drive frequency and ac voltage for the sweep. The dc source operates independently of the ac source. Changes to the level and state of the dc source take effect immediately; the ac frequency and source value are only used during measz operations.

Example
# get instrument id
cvuId = k4200.getinstid("CVU1", 0)

# force 5 volts
k4200.forcev(cvuId, 5)

measf(int,double@)#

This command returns the frequency sourced during a single measurement.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
val: Returned frequency
Returns
val : double Returned frequency

This command returns the present test frequency being used for a single impedance measurement. Use the measz command to make a single measurement.


meast(int,double@)#

This command returns a timestamp referenced to a measurement or a system timer

Name Description
instrId: The instrument identification code: CVU1, TIMER1, TIMER2, and so on
val: Returned timestamp
Returns
val : double Returned timestamp

This command is used acquire the timestamp of the last single measurement, or return a timestamp referenced to a system timer.

When the timerID parameter is set for CVU1, calling the meast command after the call to perform a measurement (measz command) will return the timestamp for that measurement.

When the timerID parameter is set for a timer, the meast command can be called at any time and will return a timestamp that is referenced to a system timer. The enable command is used to start the timer (starts at zero when called).


measv(int,double@)#

This command returns the dc bias voltage sourced during a single measurement.

Name Description
instrId: The instrument identification code
val: Returned dc bias voltage
Returns
val : double dc bias voltage

This command returns the dc bias voltage presently being used for a single measurement. Use the measz command to make a single measurement


measz(int,int,int,double@,double@)#

This command makes an impedance measurement.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
model: Measurement model
speed: Measure speed:
▪ KI_CVU_SPEED_FAST: Fast measurements (higher noise)
▪ KI_CVU_SPEED_NORMAL: Selects a balance between speedand low noise
▪ KI_CVU_SPEED_QUIET: Low-noise measurements
▪ KI_CVU_SPEED_CUSTOM: Selects custom settings; the delay factor, filter factor, and aperture are set using the setmode comman
result1: First result of the selected measure model
result2: Second result of the selected measure model
Returns
result1:double First result of the selected measure model
result2:double Second result of the selected measure model

This command makes a single impedance measurement. Before calling measz, use the forcev command to set the dc bias level, the setfreq command to set the ac drive frequency, and the setlevel command to set the ac drive voltage. The parameter values for the measurement model are listed in the following table.

Model Parameter value
ZTH - Impedance (Z) and phase (θ in degrees) KI_CVU_TYPE_ZTH or 0
RjX - Resistance and reactance KI_CVU_TYPE_RJX or 1
CpGp - Parallel capacitance and conductance KI_CVU_TYPE_CPGP or 2
CsRs - Series capacitance and resistance KI_CVU_TYPE_CSRS or 3
CpD - Parallel capacitance and dissipation factor KI_CVU_TYPE_CPD or 4
CsD - Series capacitance and dissipation factor KI_CVU_TYPE_CSD or 5
Y - YTH Admittance (1/Z) and phase (θ in degrees) KI_CVU_TYPE_YTH or 7
Example
from Atv.Framework.Devices.ParameterAnalyzer.Keithley4200.Enumerations import LptConstants as param

# get instrument id
cvuId = k4200.getinstid("CVU1", 0)

speed = param.KI_CVU_SPEED_QUIET
model = param.KI_CVU_TYPE_CSRS

dummy, cp, gp = k4200.measz(cvuId, model, speed, 0.0, 0.0)

rangei(int,double)#

This command selects an impedance measurement range.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
val: Impedance measure range (0, 1 μA, 30 μA, or 1 mA)

Use this command to set the CVU to a current measure range for impedance measurements. Setting range to 0 selects autorange. The CVU automatically goes to the most sensitive (optimum) range to make the measurement. This is the same as calling the setauto command.

The other range parameter values select a fixed measure range. The CVU remains on the fixed range until autorange is enabled or the CVU is reset (devint called).


rtfary(double[]@)#

This command returns the array of force values used during the subsequent voltage or frequency sweep.

Name Description
arr: Array of force values for voltage or frequency
Returns
arr : double[] Array of force values for voltage or frequency

This command is used to return an array of voltage or frequency force values for a sweep. Send this command before calling any sweep command.


setauto(int)#

This command re-enables autoranging and cancels any previous rangeX command for the specified instrument.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1

This command sets the CVU for autorange measurements. When setauto is called, the CVU goes to the most sensitive range to make the measurement. Calling devint also selects autorange. You can also use the rangei command to enable autorange or select a fixed measurement range. Autorange remains enabled until a fixed range is selected.


setlevel(int,double)#

This command sets the ac drive voltage level.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
signalLevel: Voltage level of the ac drive (10 mV to 100 mVRMS)

This command is used to set the voltage of the ac drive. The ac drive(ac voltage level and frequency) does not turn on until a measurement is performed.The ac drive turns off after the measurement is completed.Note that the dc voltage source stays on for the whole test.


setmode(int,int,double)#

This command sets operating modes specific to the 4210-CVU or 4215-CVU.

Name Description
instrId: The instrument identification code of the CVU: CVU1
mode: Specific operating characteristic to change; see table in Details
val: Parameter value for the modifier

The setmode command allows control over the following CVU operating characteristics:

• Connection compensation control for open, short and load. When disabled, saved compensation constants are not applied to the measurements. Whenever the connection setup has changed, connection compensation needs to be performed to acquire and save new compensation constants. Connection compensation is performed from Clarius.

• Setting for cable length compensation (0 m, 1.5 m, or 3 m). This setting is made from the window that is used to enable compensation.

• 4215-CVU only: Setting the step size for a frequency sweep. Must be called before sweepf() or dsweepf().

• Settings (delay factor, filter factor and aperture) for KI_CUSTOM measurement speed, which is set by measz, smeasz, or smeaszRT.
For detail on connection compensation, refer to “Connection compensation” in the Model 4200A-SCS Capacitance-Voltage Unit (CVU) User's Manual.

modifier value                    comment
KI_CVU_OPEN_COMPENSATE 0 = OFF
1 = ON
Enable or disable compensation constants for open.
KI_CVU_SHORT_COMPENSATE 0 = OFF
1 = ON
Enable or disable compensation constants for short.
KI_CVU_LOAD_COMPENSATE 0 = OFF
1 = ON
Enable or disable compensation constants for load.
KI_CVU_SET_CONSTANT_FILE 0 to 1000 The number in the file name that contains the open, short, and load compensation values for the CVU.
KI_CVU_CABLE_CORRECT 0.0 No cable compensation
1.5 1.5 m CVU cable
3.0 3.0 m CVU cable
5.0 1.5 m CVIV cable; 2-wire mode
6.0 1.5 m CVU to CVIV cable with 0.75 m CVIV to DUT cable; 4-wire mode
7.0 1.5 m CVU to CVIV cable with 0.61 m CVIV to DUT cable; 4-wire mode
KI_CVU_MEASURE_SPEED KI_CVU_SPEED_FAST Fast measurements (higher noise).
KI_CVU_SPEED_NORMAL Balance between speed and low-noise.
KI_CVU_SPEED_QUIET Low-noise measurements.
KI_CVU_SPEED_CUSTOM Custom settings (see next modifiers).
KI_CVU_APERTURE
KI_CVU_DELAY_FACTOR
KI_CVU_DELAY_FACTOR
0.006 to 10.002 PLCs
0 to 100
0 to 707
Settings for the CUSTOM speedsetting (see previous modifier).
KI_CVU_AC_SRC_HI
KI_CVU_AC_MEAS_LO
1 or 2(setting HI side to 1 sets LO side to 2, and vice versa) Use to specify the ac source HI slice and ac source LO side.
KI_CVU_DC_SRC_HI
KI_CVU_DC_SRC_LO
1 or 2(setting HI side to 1 sets LO side to 2, and vice versa) Use to specify the dc source HI slice and dc source LO side.
KI_CVU_DCV_OFFSET −30 to +30 (default is 0) Sets the dc bias offset (in volts).
KI_CVU_FREQ_STEPSIZE 0 to use discrete frequencies 1000 to 9.999e6 215-CVU only. A devint() call resets the size to the default. If setmode() is not called before sweepf(), ,weepf() uses the discrete frequencies.
KI_CVU_MEASURE_MODEL KI_CVU_TYPE_ZTH Impedance and phase (degrees).
KI_CVU_TYPE_RJX Resistance and reactance.
KI_CVU_TYPE_CPGP Parallel capacitance and conductance.
KI_CVU_TYPE_CSRS Series capacitance and resistance.
KI_CVU_TYPE_CPD Parallel capacitance and dissipation factor.
KI_CVU_TYPE_CSD Series capacitance and dissipation factor.
KI_CVU_TYPE_YTH 1/X.
Example
    # import constants for modes:
    from Atv.Framework.Devices.ParameterAnalyzer.Keithley4200.Enumerations import LptConstants as param

    # get instrument id
    cvuId = k4200.getinstid("CVU1", 0)

    # Enable open compensation 
    k4200.setmode(cvuId, param.KI_CVU_OPEN_COMPENSATE, 1)

smeasf(int,int)#

This command returns the frequencies used for a sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
arraySize:
Returns: Returned array of test frequencies

This command returns the present test frequencies used for a sweep. The frequency values are returned in an array. The frequency values are posted to Clarius in Analyze after the test has finished.


smeasfrt(int,double[]@,string)#

This command returns the sourced frequencies (in real time) for a sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
freqArr: Returned array of test frequencies
colName: Column name (character string) to pass into Clarius for the data sheet column
Returns
freqArr : double[] Returned array of test frequencies

Like the smeasf command, the test frequencies for a sweep are returned in an array. However, the frequency values are posted to the Clarius Analyze sheet and graph in real time (after each step of the sweep is executed).

Note that the values are only available in real time if Clarius is running. Otherwise, they are stored in an array in the usual fashion.


smeast(int,int)#

This command returns timestamps referenced to sweep measurements or a system timer.

Name Description
instrId: The ID of the 4210-CVU, 4215-CVU, or timer: CVU1, TIMER1, TIMER2, and so on
arraySize:
Returns
result : double[] Returned array of timestamps

This command acquires the timestamp for each measurement step of a sweep. The timestamps are returned in an array. The timestamps are posted to Clarius Analyze after the test has finished.

The timestamp can be referenced to the CVU (timerID = CVU1) or to a system timer (for example, timerID = TIMER1). This command is similar to the meast command, but is synchronized with a sweep to return a timestamp referenced to each measurement. If you need a timestamp for a single measurement, use the meast command.


smeastrt(int,double[]@,string)#

This command returns timestamps (in real time) referenced to sweep measurements or a system timer

Name Description
timerId: The ID of the 4210-CVU, 4215-CVU, or timer: CVU1, TIMER1, TIMER2, and so on
tarray: Returned array of timestamps
colName: Column name to pass into Clarius (case-sensitive character string)
Returns
tarray : double[] Returned array of timestamps

Returns the timestamps are returned in an array and posts the timestamps to the Clarius Analyze sheet and graph in real time. Each timestamp appears in the sheet and graph after each measurement is made.

Note that the values are only available in real time if Clarius is running. Otherwise, they are stored in an array.

The colname parameter specifies the name for the data sheet column in Clarius


smeasvrt(int,double[]@,string)#

This command returns the sourced dc bias voltages (in real time) for a sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
varray: Returned array of dc bias voltages
colName: Column name to pass into Clarius (character string)
Returns
varray : double[] dc bias voltages

This command is similar to smeasv command. It returns the sourced dc bias voltages for a sweep in an array. However, the voltage values are posted to the Clarius Analyze sheet and graph in real time. Each voltage value appears in the sheet and graph after each step of the sweep is executed.

Note that the values are only available in real time if Clarius is running. Otherwise, they are stored in an array.

The colname parameter specifies a name for the data sheet column in Clarius.


smeaszrt(int,int,int,double[]@,string,double[]@,string)#

Führt Impedanzmessung mit Spannuns- oder Frequenzdurchlauf aus

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
model: Measure model (see "Measurement model parameter values" table in Details)
speed: Measure speed:
▪ KI_CVU_SPEED_FAST: Fast measurements (higher noise)
▪ KI_CVU_SPEED_NORMAL: Selects a balance between speedand low noise
▪ KI_CVU_SPEED_QUIET: Low-noise measurements
▪ KI_CVU_SPEED_CUSTOM: Selects custom settings; the delay factor, filter factor, and aperture are set using the setmode comman
result1: Array of the first result of the selected measure model
colName1: Column name to pass into Clarius for result1 array (character string)
result2: Array of the second result of the selected measure model
colName2: Column name to pass into Clarius for result2 array (character string)
Returns
result1 : double[] Array of the first result of the selected measure model
result2 : double[] Array of the second result of the selected measure model

This command is similar to the smeasz command; both commands return the measured impedance readings for a sweep returned in arrays. However, the readings from smeaszRT are posted to the Clarius Analyze sheet and graph in real time. Two measurement results appear in the sheet and graph after each step of the sweep is executed.

Note that the values are only available in real-time if Clarius is running. Otherwise, they are stored in an array.

The colname1 and colname2 parameters specify names for data sheet columns in Clarius.

Model Parameter value
ZTH - Impedance (Z) and phase (θ in degrees) KI_CVU_TYPE_ZTH or 0
RjX - Resistance and reactance KI_CVU_TYPE_RJX or 1
CpGp - Parallel capacitance and conductance KI_CVU_TYPE_CPGP or 2
CsRs - Series capacitance and resistance KI_CVU_TYPE_CSRS or 3
CpD - Parallel capacitance and dissipation factor KI_CVU_TYPE_CPD or 4
CsD - Series capacitance and dissipation factor KI_CVU_TYPE_CSD or 5
Y - YTH Admittance (1/Z) and phase (θ in degrees) KI_CVU_TYPE_YTH or 7

sweepf(int,double,double,int@,double)#

This command performs a frequency sweep.

Name Description
instrId: The instrument identification code of the 4210-CVU or 4215-CVU: CVU1
startf: Initial frequency for the sweep
stopf: Final frequency for the sweep
numPts: Query the number of sweep points
delaytime: Delay before each measurement (0 to 999 s)
Returns
numPts : int Query the number of sweep points

This command is used to perform a frequency sweep. The CVU provides test frequencies from 1 kHz to 10 MHz in the following steps:

• 1 kHz through 10 kHz in 1 kHz steps
• 10 kHz to 100 kHz in 10 kHz steps
• 100 kHz to 1 MHz in 100 kHz steps
• 1 MHz to 10 MHz in 1 MHz steps

The frequency points to sweep are set using the startf and stopf parameters. If an entered value is not a supported frequency, the closest supported frequency is selected (for example, 15 kHz input selects 20 kHz). The sweep can step forward from low frequency to high frequency or it can step in reverse from high frequency to low frequency.

When the sweep is started, the CVU steps through all the supported frequency points from start to stop. For example, if the start frequency is 800 kHz and the stop frequency is 3 MHz, the CVU steps through the following frequency points: 800 kHz, 900 kHz, 1 MHz, 2 MHz, 3 MHz.

If you are using a 4215-CVU, you can apply a resolution of 1 kHz to frequency values within the 1 kHz to 10 MHz limits. To set a frequency step size, set the setmode KI_CVU_FREQ_STEPSIZE modifier before calling sweepf(). If KI_CVU_FREQ_STEPSIZE is set to 0, sweepf() uses the discrete frequencies.

The NumPts query returns the total number of sweep points. For the above example, NumPts returns 5.

The delayTime parameter sets the delay that occurs before each measurement. Note that there is an inherent system overhead delay on each frequency step of the sweep. Use the forcev command to set the dc bias level and setlevel command to set the ac drive voltage.