4-26 Agilent B1500 VXIplug&play Driver User’s Guide, Edition 3
Programming Examples for C++ Users
Multi Channel Sweep Measurement
Table 4-9 uses the multi channel sweep measurement mode to perform the same
measurement as the previous example (Table 4-8, Ic-Vb, Ib-Vb).
Table 4-9 Multi Channel Sweep Measurement Example 2
void perform_meas (ViSession vi, ViStatus ret) /* 1 */
{
ViInt32 emitter = 1; /* SMU1 */ /* 3 */
ViInt32 base = 2; /* SMU2 */
ViInt32 collector = 4; /* SMU4 */
ViReal64 vb1 = 0.25;
ViReal64 vb2 = 0.75;
ViReal64 vc = 3;
ViReal64 ve = 0;
ViReal64 ibcomp = 0.01;
ViReal64 iccomp = 0.1;
ViReal64 iecomp = 0.1;
ViReal64 pcomp = 0;
ViInt32 nop = 11;
ViReal64 hold = 0;
ViReal64 delay = 0;
ViReal64 s_delay = 0;
ViReal64 p_comp = 0;
ViInt32 smpl = 5;
ViInt32 mch[3];
ViInt32 mode[2];
ViReal64 range[2];
ViInt32 rep;
ViReal64 sc[11];
ViReal64 md[22];
ViInt32 st[22];
ViReal64 tm[22];
mch[0] = collector;
mch[1] = base;
mch[2] = 0;
mode[0] = 1;
mode[1] = 1;
range[0] = -0.1;
range[1] = -0.0001; /* 34 */
ret = agb1500_setSwitch(vi, emitter, 1); /* 36 */
ret = agb1500_setSwitch(vi, base, 1);
ret = agb1500_setSwitch(vi, collector, 1);
check_err (vi, ret); /* 39 */
Line Description
1 Beginning of the perform_meas subprogram.
3 to 34 Declares variables, and defines the value.
36 to 39 Enables measurement channels.