Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4 5-25
Programming Examples for C++ Users
Pulsed Sweep Measurements
Pulsed Sweep Measurements
This section explains an example subprogram that performs pulsed sweep
measurement and saves the measurement results (bipolar transistor Ic-Vc
characteristics) into a file.
Table 5-9 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 dib[3];
ViInt32 i = 0;
ViInt32 j;
ViInt32 n;
ViChar f_name[] = "C:\Agilent\data\data4.txt";
ViChar head1[] = "Ib (uA), Vc (V), Ic (mA), Status";
ViChar msg1[] = "Saving data...";
ViChar msg2[] = "Data save completed.";
ViChar c = ’\n’;
ret = hp4156b_setSwitch(vi, emitter, 1); /* 31 */
ret = hp4156b_setSwitch(vi, base, 1);
ret = hp4156b_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.