
3-30 Agilent B1500A/B1505A Programming Guide, Edition 11
Programming Examples
Pulsed Sweep Measurements
session.WriteString("DV " & t(0) & ",0,0,0.1" & vbLf) ’out=0 V, comp=0.1 A ’38
Dim b_pt As String = "0.1,0.01,0.02" ’hold, width, period in sec
session.WriteString("PT " & b_pt & vbLf)
session.WriteString("MM 4," & t(2) & vbLf) ’4: pulsed sweep measurement
session.WriteString("CMM " & t(2) & ",1" & vbLf)
session.WriteString("RI " & t(2) & ",0" & vbLf)
session.WriteString("WT " & hold & "," & delay & "," & s_delay & vbLf)
session.WriteString("WM 2,1" & vbLf) ’stops any abnormal
session.WriteString("ERR? 1" & vbLf) : err = session.ReadString(4 + 2) ’46
If err <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
For j = 0 To nop2 - 1 ’49
session.WriteString("PWV " & t(2) & ",1,0," & v0 & "," & vc1 & "," & vc2 & ","
& nop1 & "," & iccomp & vbLf)
session.WriteString("DI " & t(1) & ",0," & ib & "," & vbcomp & vbLf)
session.WriteString("TSR" & vbLf)
session.WriteString("XE" & vbLf)
session.WriteString("*OPC?" & vbLf) : rep = session.ReadString(1 + 2)
session.WriteString("ERR? 1" & vbLf) : err = session.ReadString(4 + 2)
If err <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
session.WriteString("NUB?" & vbLf) : rep = session.ReadString(3 + 2) ’57
If rep <> nop1 * 3 Then session.WriteString("DZ" & vbLf) : GoTo Check_nop
mret = session.ReadString(16 * 3 * nop1 + 1) ’60
For i = 0 To nop1 - 1
tm(i) = Val(Mid(mret, 4 + 16 * 3 * i, 12))
st(i) = Mid(mret, 17 + 16 * 3 * i, 3)
md(i) = Val(Mid(mret, 20 + 16 * 3 * i, 12))
sc(i) = Val(Mid(mret, 36 + 16 * 3 * i, 12))
data(j, i) = Chr(13) & Chr(10) & ib * 1000 & ", " & sc(i) & ", " & md(i) *
1000 & ", " & tm(i) & ", " & st(i)
Next i
ib = ib + d_ib
Next j ’69
Line Description
38 to 45 Applies voltage to device. And sets the pulse timing parameters, measurement mode,
channel measurement mode, measurement range, and sweep mode.
46 to 47 Checks if an error occurred. If an error is detected, forces 0 V and goes to Check_err.
49 to 69 Sets the pulsed sweep source, applies voltage to device, resets time stamp, and
performs the pulsed sweep measurement. And stores the returned data into the mret
string variable. Finally, stores the measured data into the data array.
57 to 58 Checks number of returned data. If it is not correct, forces 0 V and goes to Check_nop.
Komentáře k této Příručce