Agilent Technologies B1500A Service Manual Page 276

  • Download
  • Add to my manuals
  • Print
  • Page
    / 598
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 275
3-98 Agilent B1500A/B1505A Programming Guide, Edition 11
Programming Examples
C-f Sweep Measurements
MsgBox("Connect DUT. Then click OK.", vbOKOnly, "") 71
session.WriteString("WMFC 2, 1" & vbLf)
session.WriteString("WTFC " & hold & "," & delay & "," & s_delay & vbLf)
session.WriteString("WFC " & t(1) & ",1," & f1 & "," & f2 & "," & nop1 & vbLf)
session.WriteString("MM 22," & t(1) & vbLf) ’Sets measurement mode
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) ’84
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 ’88
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) / 1000000
data(j, i) = data(j, 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)
data(j, i) = data(j, i) & "," & tm(i)
Next i ’108
Line Description
71 Displays a message box that asks you to connect the device to the measurement terminal.
Then the CMUH and CMUL must be connected to the gate terminal and the substrate
terminal respectively.
72 to 83 Sets the measurement condition, resets the time stamp, and performs the measurement.
84 to 88 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.
90 to 108 Stores the returned data into the mret string variable. Finally, stores the measured data into
the data array.
Page view 275
1 2 ... 271 272 273 274 275 276 277 278 279 280 281 ... 597 598

Comments to this Manuals

No comments