Agilent B1500A/B1505A Programming Guide, Edition 11 3-93
Programming Examples
CV (AC Level) Sweep Measurements
session.WriteString("WMACV 2, 1" & vbLf) ’68
session.WriteString("WTACV " & hold & "," & delay & "," & s_delay & vbLf)
session.WriteString("WACV " & t(1) & ",1," & v1 & "," & v2 & "," & nop1 & vbLf)
session.WriteString("MM 23," & t(1) & vbLf)
session.WriteString("IMP 100" & vbLf)
session.WriteString("LMN 1" & vbLf)
session.WriteString("RC " & t(1) & "," & range & vbLf)
session.WriteString("ERR? 1" & vbLf) : err = session.ReadString(4 + 2)
If err <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
session.WriteString("DCV " & t(1) & "," & dc_bias & vbLf)
session.WriteString("TSR" & vbLf)
session.WriteString("XE" & vbLf)
session.WriteString("*OPC?" & vbLf) : rep = session.ReadString(1 + 2) ’80
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 * 6 Then session.WriteString("DZ" & vbLf) : GoTo Check_nop ’84
Dim mret As String = session.ReadString(16 * 6 * nop1 + 2) ’6*nop1 + terminator
For i = 0 To nop1 - 1
st(i * 2) = Mid(mret, i * 16 * 6 + 16 * 1 + 1, 3)
st(i * 2 + 1) = Mid(mret, i * 16 * 6 + 16 * 2 + 1, 3)
st_mon(i * 2) = Mid(mret, i * 16 * 6 + 16 * 3 + 1, 3)
st_mon(i * 2 + 1) = Mid(mret, i * 16 * 6 + 16 * 4 + 1, 3)
tm(i) = Val(Mid(mret, i * 16 * 6 + 4, 12))
md(i * 2) = Val(Mid(mret, i * 16 * 6 + 16 * 1 + 4, 12))
md(i * 2 + 1) = Val(Mid(mret, i * 16 * 6 + 16 * 2 + 4, 12))
mon(i * 2) = Val(Mid(mret, i * 16 * 6 + 16 * 3 + 4, 12))
mon(i * 2 + 1) = Val(Mid(mret, i * 16 * 6 + 16 * 4 + 4, 12))
sc(i) = Val(Mid(mret, i * 16 * 6 + 16 * 5 + 4, 12))
data(j, i) = Chr(13) & Chr(10) & sc(i) & "," & md(i * 2) * 1000000000000.0 & ","
& st(i * 2)
data(j, i) = data(j, i) & "," & md(i * 2 + 1) * 1000000.0 & "," & st(i * 2 + 1)
data(j, i) = data(j, i) & "," & mon(i * 2) * 1000 & "," & st_mon(i * 2)
data(j, i) = data(j, i) & "," & mon(i * 2 + 1) & "," & st_mon(i * 2 + 1) & ","
& tm(i)
Next i ’102
Line Description
68 to 79 Sets the measurement condition, resets the time stamp, and performs the measurement.
68 Sets the automatic abort function to ON, and sets the post measurement output value to v1.
69 Sets the MFCMU sweep output timing.
70 Sets the MFCMU AC level sweep output.
80 to 84 Waits until the measurement is completed. After that, if an error is detected, forces 0 V and
goes to Check_err. Also if the number of returned data is not correct, forces 0 V and goes to
Check_nop.
86 to 102 Stores the returned data into the mret string variable. Finally, stores the measured data into
the data array.
Comments to this Manuals