12
Programming Examples
Private Function DoQueryNumbers(query As String) As Long
End Function
Private Function DoQueryIEEEBlock_Bytes(query As String) As Long
End Function
862
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
' 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
' Get unsigned integer bytes.
Sleep 2000
' Delay before reading data.
err = viVScanf(vi, "%#b" + vbLf, paramsArray(0))
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_READ_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_WRITE_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of bytes returned by query.
DoQueryIEEEBlock_Bytes = retCount
CheckInstrumentErrors
Agilent InfiniiVision 7000A Series Oscilloscopes Programmer's Guide