Table 3-18
Sub perform_meas(ByVal session As IMessage, ByVal t() As Integer)
Dim i As Integer = 0
Dim j As Integer = 0
Dim nop1 As Integer = 1
Dim nop2 As Integer = 1
Dim data(nop2 - 1, nop1 - 1) As String
Dim value As String = "Id (mA), Status"
Dim fname As String = "C:\Keysight\prog_ex\data16.txt"
Dim title As String = "Measurement Result"
Dim msg As String = "No error."
Dim err As Integer = 0
Dim vd As Double = 3
Dim vg As Double = 1
Dim idcomp As Double = 0.05
Dim igcomp As Double = 0.01
Dim orng As Integer = 0
Dim mrng As Integer = 0
session.WriteString("FMT 3" & vbLf)
session.WriteString("AV 10,1" & vbLf)
session.WriteString("FL 0" & vbLf)
session.WriteString("DV " & t(3) & ",0,0,0.1" & vbLf)
session.WriteString("DV " & t(2) & ",0,0,0.1" & vbLf)
session.WriteString("DV " & t(1) & "," & orng & "," & vg & "," & igcomp & vbLf)
session.WriteString("DV " & t(0) & "," & orng & "," & vd & "," & idcomp & vbLf)
session.WriteString("ERR? 1" & vbLf) : err = session.ReadString(4 + 2)
If err <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
session.WriteString("TI " & t(0) & "," & mrng & vbLf)
Dim dat() As Byte = session.Read(4 + 2) '4 byte data + terminator
Dim status As Integer = dat(3) And 224 : status = status / 32
If status <> 0 Then session.WriteString("DZ" & vbLf) : GoTo Check_err
Dim type As Integer = dat(0) And 128 : type = type / 128
Dim mode As Integer = dat(0) And 64 : mode = mode / 64
Dim sign As Integer = dat(0) And 1
Dim rng As Integer = dat(0) And 62 : rng = rng / 2
Dim count As Integer = dat(1) * 256 + dat(2)
Dim chan As Integer = dat(3) And 31
If sign = 1 Then count = count - 65536 '65536 = 10000000000000000 (17 bits)
Line
2 to 11
Declares variables used through the project. And sets the proper values.
13 to 18
Declares variables and sets the value.
20 to 22
Sets the data output format and A/D converter. Also sets the SMU filter off.
23 to 26
Applies voltage to device.
28 to 29
Checks if an error occurred. If an error is detected, forces 0 V and goes to Check_err.
30 to 31
Performs the high-speed spot measurement. And stores the returned binary data (four
bytes) into the dat array variable.
33 to 41
Picks up the elements, status, type, mode, sign, rng, count, and chan, included in the
returned binary data.
Programming Examples
Reading Binary Output Data
High-Speed Spot Measurement Example to read binary data
3- 70
Keysight E5260/E5270 Programming Guide, Edition 4
't(0): Drain
't(1): Gate
't(2): Source
't(3): Substrate
'sets number of samples for 1 data
'sets filter off
'out= 0 V, comp= 0.1 A
'out= 0 V, comp= 0.1 A
'0:source, 1:meas
'0:voltage, 1:current
'0:positive, 1:negative
'62=32+16+8+4+2
'31=16+8+4+2+1
Description
'1
'13
'28
'31
'224=128+64+32