9Programming Examples

'CStr(lngXReference) + vbCrLf 'strOutput = strOutput + "Y increment = " + _

'FormatNumber(sngYIncrement * 1000) + _

'" mV" + vbCrLf

'strOutput = strOutput + "Y origin = " + _

'FormatNumber(sngYOrigin) + " V" + vbCrLf 'strOutput = strOutput + "Y reference = " + _

'CStr(lngYReference) + vbCrLf

strOutput = strOutput + "Volts/Div = " + _ FormatNumber(lngVSteps * sngYIncrement / 8) + _ " V" + vbCrLf

strOutput = strOutput + "Offset = " + _ FormatNumber(sngYOrigin) + " V" + vbCrLf

strOutput = strOutput + "Sec/Div = " + _ FormatNumber(lngPoints * dblXIncrement / 10 * _ 1000000) + " us" + vbCrLf

strOutput = strOutput + "Delay = " + _ FormatNumber(((lngPoints / 2) * _

dblXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf

'QUERY_WAVE_DATA - Outputs waveform data that is stored in a buffer.

'Query the oscilloscope for the waveform data.

err = viVPrintf(vi, ":WAV:DATA?" + vbLf, 0)

'READ_WAVE_DATA - The wave data consists of two parts: the header,

'and the actual waveform data followed by a new line (NL) character.

'The query data has the following format:

'

'<header><waveform_data><NL>

'Where:

'

'<header> = #800001000 (This is an example header)

'The "#8" may be stripped off of the header and the remaining

'numbers are the size, in bytes, of the waveform data block. The

'size can vary depending on the number of points acquired for the

'waveform. You can then read that number of bytes from the

'oscilloscope and the terminating NL character.

'

'Dim lngI As Long

Dim lngDataValue As Long

paramsArray(1) = VarPtr(byteArray(0))

retCount =

ByteArraySize

 

' Unsigned integer bytes.

 

err = viVScanf(vi, "%#b"

+ vbLf, paramsArray(0))

' retCount is now actual

number of bytes returned by query.

For lngI = 0 To retCount

- 1 Step (retCount / 20) ' 20 points.

If intBytesPerData = 2

Then

lngDataValue = CLng(byteArray(lngI)) * 256 + _ CLng(byteArray(lngI + 1)) ' 16-bit value.

Else

lngDataValue = CLng(byteArray(lngI)) ' 8-bit value. End If

strOutput = strOutput + "Data point " + _

576

Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Reference

Page 576
Image 576
Agilent Technologies 5000 Series manual 576