292 Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Guide
5 Commands by Subsystem
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource.
Set myMgr = New VisaComLib.ResourceManager
Set myScope = New VisaComLib.FormattedIO488
Set myScope.IO = myMgr.Open("TCPIP0::130.29.70.228::inst0::INSTR")
' Initialize.
myScope.IO.Clear ' Clear the interface.
myScope.WriteString "*RST" ' Reset to the defaults.
myScope.WriteString "*CLS" ' Clear the status data structures.
myScope.WriteString ":AUToscale"
' Install some measurements.
myScope.WriteString ":MEASure:SOURce CHANnel1" ' Input source.
Dim MeasurementArray(3) As String
MeasurementArray(0) = "FREQuency"
MeasurementArray(1) = "DUTYcycle"
MeasurementArray(2) = "VAMPlitude"
MeasurementArray(3) = "VPP"
Dim Measurement As Variant
For Each Measurement In MeasurementArray
myScope.WriteString ":MEASure:" + Measurement
myScope.WriteString ":MEASure:" + Measurement + "?"
varQueryResult = myScope.ReadNumber ' Read measurement value.
Debug.Print Measurement + ": " + FormatNumber(varQueryResult, 4)
Next
myScope.WriteString ":MEASure:STATistics:RESet" ' Reset stats.
Sleep 5000 ' Wait for 5 seconds.
' Select the statistics results type.
Dim ResultsTypeArray(6) As String
ResultsTypeArray(0) = "CURRent"
ResultsTypeArray(1) = "MINimum"
ResultsTypeArray(2) = "MAXimum"
ResultsTypeArray(3) = "MEAN"
ResultsTypeArray(4) = "STDDev"
ResultsTypeArray(5) = "COUNt"
ResultsTypeArray(6) = "ON" ' All results.
Dim ResultType As Variant
Dim ResultsList()
Dim ValueColumnArray(6) As String
ValueColumnArray(0) = "Meas_Lbl"
ValueColumnArray(1) = "Current"
ValueColumnArray(2) = "Min"
ValueColumnArray(3) = "Max"
ValueColumnArray(4) = "Mean"