608
Agilent 6000 Series Oscilloscopes Programmer's Reference
9
Programming Examples
' available for measurement.
If DIGITIZE is used with single mode,
' the completion criteria may never be met.
The number of points
' gathered in Single mode is related to the sweep speed, memory
' depth, and maximum sample rate.
For example, take an oscilloscope
' with a 1000-point memory, a sweep speed of 10 us/div (100 us
' total time across the screen), and a 20 MSa/s maximum sample rate.
' 1000 divided by 100 us equals 10 MSa/s.
Because this number is
' less than or equal to the maximum sample rate, the full 1000 points
' will be digitized in a single acquisition.
Now, use 1 us/div
' (10 us across the screen).
1000 divided by 10 us equals 100 MSa/s;
' because this is greater than the maximum sample rate by 5 times,
' only 400 points (or 1/5 the points) can be gathered on a single
' trigger.
Keep in mind when the oscilloscope is running,
' communication with the computer interrupts data acquisition.
' Setting up the oscilloscope over the bus causes the data buffers
' to be cleared and internal hardware to be reconfigured.
If a
' measurement is immediately requested, there may have not been
' enough time for the data acquisition process to collect data,
' and the results may not be accurate.
An error value of 9.9E+37
' may be returned over the bus in this situation.
'
err = viVPrintf(vi, ":DIGITIZE CHAN1" + vbLf, 0)
End Sub
'
' Analyze
' -------------------------------------------------------------------
' In analyze, we will do the following:
'
- Save the system setup to a file and restore it.
'
- Save the waveform data to a file on the computer.
'
- Make single channel measurements.
'
- Save the oscilloscope display to a file that can be sent to a
'
printer.
' -------------------------------------------------------------------
Private Sub Analyze()
' Set up arrays for multiple parameter query returning an array
' with viVScanf/viVQueryf.
Set retCount to the maximum number
' of elements that the array can hold.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(byteArray(0))
' SAVE_SYSTEM_SETUP - The :SYSTEM:SETUP? query returns a program
' message that contains the current state of the instrument.
Its
' format is a definite-length binary block, for example,
'
#800002204<setup string><NL>
' where the setup string is 2204 bytes in length.
Dim lngSetupStringSize As Long
err = viVPrintf(vi, ":SYSTEM:SETUP?" + vbLf, 0)
retCount = ByteArraySize
' Unsigned integer bytes.
err = viVScanf(vi, "%#b\n" + vbLf, paramsArray(0))
lngSetupStringSize = retCount
Содержание DSO6014A/L
Страница 1: ...A Agilent 6000 Series Oscilloscopes Programmer s Reference...
Страница 16: ...16 Agilent 6000 Series Oscilloscopes Programmer s Reference...
Страница 30: ...30 Agilent 6000 Series Oscilloscopes Programmer s Reference 1 What s New...
Страница 540: ...540 Agilent 6000 Series Oscilloscopes Programmer s Reference 6 Error Messages...
Страница 562: ...562 Agilent 6000 Series Oscilloscopes Programmer s Reference 7 Status Reporting...
Страница 584: ...584 Agilent 6000 Series Oscilloscopes Programmer s Reference 8 More About Oscilloscope Commands...
Страница 624: ...624 Agilent 6000 Series Oscilloscopes Programmer s Reference 9 Programming Examples...