5-36 Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4
Programming Examples for C++ Users
Sampling Measurements
Sampling Measurements
This section explains an example subprogram that measures current of a device with
two high terminals and a low terminal, and saves the measurement results data.
Table 5-12 Sampling Measurement Example
void perform_meas (ViSession vi, ViStatus ret) /* 1 */
{
ViInt32 t1 = 1; /* SMU1 */
ViInt32 t2 = 2; /* SMU2 */
ViInt32 low = 3; /* SMU3 */
ViReal64 base = 0;
ViReal64 bias = 0.1;
ViReal64 icomp = 0.1;
ViReal64 vlout = 0;
ViReal64 ilcomp = 0.1;
ViReal64 hold = 0.1;
ViReal64 interval = 0.05;
ViInt32 nop = 30;
ViInt32 mch[3];
ViInt32 mode[2];
ViReal64 range[2];
ViInt32 point;
ViInt32 index[30];
ViReal64 value[60];
ViInt32 status[60];
mch[0] = t1;
mch[1] = t2;
mch[2] = 0;
mode[0] = 1;
mode[1] = 1;
range[0] = 0;
range[1] = 0; /* 27 */
ret = hp4156b_setSwitch(vi, t1, 1);
ret = hp4156b_setSwitch(vi, t2, 1);
ret = hp4156b_setSwitch(vi, low, 1);
ret = hp4156b_setFilter(vi, hp4156b_CH_ALL, hp4156b_FLAG_ON);
ret = hp4156b_setInteg(vi, hp4156b_INTEG_TBL_SHORT, 0.0001, 2);
Line Description
1 Beginning of the perform_meas subprogram.
3 to 27 Declares variables, and defines the value.
28 to 30 Enables measurement channels.
31 Sets the filter on for the all SMUs.
32 Sets the A/D converter integration time.