Agilent B1500 VXIplug&play Driver User’s Guide, Edition 3 4-29
Programming Examples for C++ Users
Pulsed Sweep Measurement
Pulsed Sweep Measurement
Table 4-10 explains an example subprogram that performs the pulsed sweep
measurement and saves the measurement results (bipolar transistor Ic-Vc
characteristics) into a file.
Table 4-10 Pulsed Sweep Measurement Example
void perform_meas (ViSession vi, ViStatus ret) /* 1 */
{
ViInt32 emitter = 1; /* SMU1 */
ViInt32 base = 2; /* SMU2 */
ViInt32 collector = 4; /* SMU4 */
ViReal64 vc = 3;
ViReal64 ib = 150E-6;
ViReal64 iccomp = 0.05;
ViReal64 vbcomp = 5;
ViReal64 hold = 0.1;
ViReal64 width = 0.001;
ViReal64 period = 0.01;
ViInt32 nop1 = 11;
ViInt32 nop2 = 3;
ViInt32 rep;
ViReal64 sc[33];
ViReal64 md[33];
ViInt32 st[33];
ViReal64 tm[33];
ViReal64 dib[3];
ViInt32 i = 0;
ViInt32 j;
ViInt32 n;
ViInt32 smpl = 5;
ViChar f_name[] = "C:\\Agilent\\ex\\data6.txt";
ViChar head1[] = "Ib (uA), Vc (V), Ic (mA), Time (sec), St
atus";
ViChar msg1[] = "Saving data...";
ViChar msg2[] = "Data save completed.";
ViChar c = ’\n’;
ret = agb1500_setSwitch(vi, emitter, 1); /* 31 */
ret = agb1500_setSwitch(vi, base, 1);
ret = agb1500_setSwitch(vi, collector, 1);
check_err (vi, ret); /* 34 */
Line Description
1 Beginning of the perform_meas subprogram.
3 to 29 Declares variables, and defines the value.
31 to 33 Enables measurement channels.