14.9 Sample Program (Output of Harmonic Measurement Data)
Sleep 1000
List1.Clear
'Read and display the harmonics data
For cnt = 1 To 10
'Clear the extended event register (Read and trash the response)
msg = "STATUS:EESR?" + term
sts = ilwrt(Dev, msg, Len(msg))
If (sts < 0) Then
GoTo GPIBError
End If
sts = ilrd(Dev, qry, Len(qry))
If (sts < 0) Then
GoTo GPIBError
End If
'Wait for the completion of the data updating
msg = "COMMUNICATE:WAIT 1" + term
sts = ilwrt(Dev, msg, Len(msg))
If (sts < 0) Then
GoTo GPIBError
End If
'Read out the harmonics data
msg = "MEASURE:HARMONICS:VALUE?" + term
sts = ilwrt(Dev, msg, Len(msg))
If (sts < 0) Then
GoTo GPIBError
End If
sts = ilrd(Dev, qry, Len(qry))
If (sts < 0) Then
GoTo GPIBError
End If
'Extract items that are separated by commas(,) from the received data
List1.AddItem "Measurement - " + CStr(cnt)
List1.ListIndex = List1.ListIndex + 1
For item = 1 To 53
length = Len(qry)
comma = InStr(qry, ",")
If (comma = 0) Then comma = InStr(qry, term)
Query(item) = Left(qry, comma - 1)
If (item = 1) Then
ElseIf (item = 2) Then
ElseIf (item = 3) Then
ElseIf (item = 4) Then
ElseIf (item < 13) Then
Else
End If
qry = Mid(qry, comma + 1)
List1.ListIndex = List1.ListIndex + 1
Next item
List1.AddItem ""
List1.ListIndex = List1.ListIndex + 1
qry = Space$(1000)
Dummy = DoEvents()
Next cnt
List1.AddItem "
List1.ListIndex = List1.ListIndex + 1
Call ibonl(Dev, 0)
GpibHarmonics = 0
Exit Function
GPIBError:
Call DisplayGPIBError(sts, msg)
GpibHarmonics = 1
End Function
---------------------------------------------------------------------------------------------------
14-58
List1.AddItem "FREQ (V1)" + " " + Query(item)
List1.AddItem "A1 THD
List1.AddItem "A1 Total " + " " + Query(item)
List1.AddItem "A1 Or.1
List1.AddItem "
" + CStr(item - 3) + "
List1.AddItem "
" + CStr(item - 3) + "
All end"
(It is repeated 10 times in this program)
'Receive Query
" + " " + Query(item)
" + " " + Query(item)
" + Query(item)
" + Query(item)
IM 760401-01E