session.WriteString("DV " & t(0) & ",0,0,0.1" & vbLf)
Dim b_pt As String = "0.1,0.01,0.02"
session.WriteString("PT " & b_pt & vbLf)
session.WriteString("MM 5," & t(2) & vbLf) '5: staircase sweep w/pulsed bias
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)
session.WriteString("ERR? 1" & vbLf) : err = session.ReadString(4 + 2)
If err <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
For j = 0 To nop2 - 1
session.WriteString("WV " & t(2) & ",1,0," & vc1 & "," & vc2 & "," & nop1 &
"," & iccomp & "," & pccomp & vbLf)
session.WriteString("PI " & t(1) & ",0," & i0 & "," & 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)
If rep <> nop1 * 3 Then session.WriteString("DZ" & vbLf) : GoTo Check_nop
mret = session.ReadString(16 * 3 * nop1 + 1)
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
Line
37 to 44
Applies voltage to device. And sets the pulse timing parameters, measurement mode,
channel measurement mode, measurement range, and sweep mode.
45 to 46
Checks if an error occurred. If an error is detected, forces 0 V and goes to Check_err.
48 to 68
Sets the sweep source and the pulsed bias source, resets time stamp, and performs the
staircase sweep with pulsed bias measurement. And stores the returned data into the
mret string variable. Finally, stores the measured data into the data array.
56 to 57
Checks number of returned data. If it is not correct, forces 0 V and goes to Check_nop.
Keysight E5260/E5270 Programming Guide, Edition 4
Staircase Sweep with Pulsed Bias Measurements
'hold, width, period in sec
Description
Programming Examples
'37
'45
'48
'56
'59
'68
3- 35