Agilent B1500 VXIplug&play Driver User’s Guide, Edition 3 2-37
Driver Functions
agb1500_msweepMiv
Example ViSession vi;
ViStatus ret;
ViInt32 emitter = 1; /* SMU1 */
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.01;
ViInt32 nop = 11;
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; /* current measurement */
mode[1] = 1; /* current measurement */
range[0] = -0.1; /* 100 mA fixed range */
range[1] = -0.0001; /* 100 uA fixed range */
ret = agb1500_setSwitch(vi, emitter, 1);
ret = agb1500_setSwitch(vi, base, 1);
ret = agb1500_setSwitch(vi, collector, 1);
ret = agb1500_resetTimestamp(vi);
ret = agb1500_force(vi, emitter, 2, 0, ve, iecomp, 0);
ret = agb1500_force(vi, collector, 2, 0, vc, iccomp, 0);
ret = agb1500_setIv(vi, base, 1, 0, vb1, vb2, nop, 0, 0, 0, ibcomp,
pcomp);
ret = agb1500_msweepMiv(vi, mch, mode, range, &rep, &sc[0],
&md[0], &st[0], &tm[0]);
For the above example, the array variables sc[], md[], st[], and tm[] will contain the
following data.
sc[n]: Sweep source setup data (voltage).
md[2*n]: Data (current) measured by the mch[0] channel.
md[2*n+1]: Data (current) measured by the mch[1] channel.
st[2*n]: Status for the md[2*n] data.
st[2*n+1]: Status for the md[2*n+1] data.
tm[2*n]: Time stamp data (measurement start time) for the md[2*n] data.
tm[2*n+1]: Time stamp data (measurement start time) for the md[2*n+1] data.
where, n = 0 to 10 (integer).