Agilent B1500 VXIplug&play Driver User’s Guide, Edition 3 2-75
Driver Functions
agb1500_sweepPbias
Example ViSession vi;
ViStatus ret;
ViInt32 pch = 1; /* SMU1 for pulse source channel */
ViInt32 om = 2; /* output mode: voltage */
ViReal64 or = 0; /* output range: auto */
ViReal64 th = 0; /* hold time */
ViReal64 tw = 0.001; /* pulse width */
ViReal64 tp = 0.01; /* pulse period */
ViReal64 v1 = 0; /* pulse base voltage */
ViReal64 v2 = 1.5; /* pulse peak voltage */
ViReal64 ic = 0.05; /* pulse source current compliance */
ret = agb1500_setSwitch(vi, pch, 1);
ret = agb1500_setPbias(vi, pch, om, or, v1, v2, tw, tp, th, ic);
ViInt32 sch = 2; /* SMU2 for sweep source channel */
ViInt32 sm = 1; /* sweep mode: voltage-single-linear */
ViInt32 pts = 11; /* number of sweep steps */
ViReal64 td = 0; /* delay time */
ViReal64 ts = 0; /* step delay time */
ViReal64 s1 = 0; /* sweep start voltage */
ViReal64 s2 = 3; /* sweep stop voltage */
ViReal64 icomp = 0.1; /* sweep source current compliance */
ViReal64 pcomp = 0.5; /* sweep source power compliance */
ret = agb1500_setSwitch(vi, sch, 1);
ret = agb1500_setIv(vi, sch, sm, or, s1, s2, pts, th, td, ts,
icomp, pcomp);
ViInt32 mm = 1; /* measurement mode: current */
ViReal64 mr = 0; /* measurement range: auto */
ViInt32 mpts; /* number of measurement steps */
ViReal64 sc[11]; /* source data */
ViReal64 md[11]; /* measurement data */
ViInt32 st[11]; /* status */
ViInt32 tm[11]; /* time stamp data */
ret = agb1500_resetTimestamp(vi);
ret = agb1500_sweepPbias(vi, sch, mm, mr, &mpts, &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[n]: Measurement data (current).
st[n]: Status for the md[n] data.
tm[n]: Time stamp data (measurement start time) for the md[n] data.
where, n = 0 to 10 (integer).