Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4 4-29
Programming Examples for Visual Basic .NET Users
Staircase Sweep with Pulsed Bias Measurements
Ag415x.SetFilter(t(1), Hp4156b.StateEnum2.FilterOff) ’41
Ag415x.Force(t(3), Hp4156b.ModeEnum.VoltageOutput, 0, 0, 0.05, 0)
Ag415x.Force(t(2), Hp4156b.ModeEnum.VoltageOutput, 0, 0, 0.05, 0)
For j = 0 To nop2 - 1
Ag415x.SetPbias(t(1), Hp4156b.ModeEnum5.VoltagePulse, 0, 0, vg, width, period,
p_hold, igcomp) ’46
Ag415x.SetIv(t(0), Hp4156b.ModeEnum4.SingleLinearV, 0, vd1, vd2, nop1, hold,
delay, s_delay, idcomp, p_comp)
Ag415x.ErrorQuery(err, msg)
If err <> 0 Then Ag415x.ZeroOutput(0) : GoTo Check_err
Ag415x.SweepPbias(t(0), Hp4156b.ModeEnum1.CurrentMeasurement, 0, rep, sc, md,
st) ’51
If rep <> nop1 Then Ag415x.ZeroOutput(0) : GoTo Check_err
For i = 0 To nop1 - 1 ’54
data(j, i) = Chr(13) & Chr(10) & vg & "," & sc(i) & "," & md(i) * 1000 & "," &
st(i)
Next i
vg = vg + d_vg
Next j
Ag415x.ZeroOutput(0) ’61
save_data(fname, title, val, data, nop1, nop2, Ag415x)
Check_err: ’64
If err <> 0 Then MsgBox("Instrument error: " & err & Chr(10) & msg, vbOKOnly, "")
If rep <> nop1 Then MsgBox("No. of data: " & rep & " (not " & nop1 & ")", vbOKOnly,
"")
End Sub
Line Description
41 to 43 Sets the filter off for the pulse output channel and applies voltage to device.
46 to 49 Sets the pulse source and the primary sweep source, and checks if an error occurred. If an
error is detected, forces 0 V and goes to Check_err.
51 to 52 Performs sweep measurement. After that, checks the number of returned data. If it was not
rep= nop1, forces 0 V and goes to Check_err.
54 to 56 Stores the measured data into the data valiable.
61 to 62 Applies 0 V from the all channels. And transfers the data stored in the data variable to the
save_data subprogram (see Table 4-1). And the subprogram will save the data into the
C:\Agilent\data\data10.txt file (CSV) and displays the data on a message box.
64 to 66 Displays a message box to show an error message if the error is detected.