Technical data
Sample Programs 35
Agilent Infiniium 90000 Series Oscilloscopes Programmer's Reference 995
End Function
Private Function DoQueryNumber(query As String) As Variant
Dim dblResult As Double
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%lf" + vbLf, VarPtr(dblResult))
If (err <> VI_SUCCESS) Then HandleVISAError vi
DoQueryNumber = dblResult
CheckInstrumentErrors
End Function
Private Function DoQueryNumbers(query As String) As Long
Dim dblResult As Double
' Send query.
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(dblArray(0))
' Set retCount to max number of elements array can hold.
retCount = DblArraySize
' Read numbers.
err = viVScanf(vi, "%,#lf" + vbLf, paramsArray(0))
If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of values returned by query.
DoQueryNumbers = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryIEEEBlock_Bytes(query As String) As Long
' Send query.
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(byteArray(0))
' Set retCount to max number of elements array can hold.
retCount = ByteArraySize